From 90285e7c223faf93f1a483eaf1cb83ff1cabe10e Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 10:17:00 +0200 Subject: [PATCH 01/42] Proto/Michelson: Add regression test for logging of IOpt_map. --- .../test/regression/contracts/opt_map.tz | 12 +++ .../expected/test_logging.ml/opt_map.out | 82 +++++++++++++++++++ .../test/regression/test_logging.ml | 6 ++ 3 files changed, 100 insertions(+) create mode 100644 src/proto_alpha/lib_protocol/test/regression/contracts/opt_map.tz create mode 100644 src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/opt_map.out diff --git a/src/proto_alpha/lib_protocol/test/regression/contracts/opt_map.tz b/src/proto_alpha/lib_protocol/test/regression/contracts/opt_map.tz new file mode 100644 index 000000000000..51feb91f44ac --- /dev/null +++ b/src/proto_alpha/lib_protocol/test/regression/contracts/opt_map.tz @@ -0,0 +1,12 @@ +{ + parameter int; + storage (option int); + code { + UNPAIR; + SWAP ; + MAP { DIP { DUP } ; ADD ; } ; + DIP { DROP } ; + NIL operation ; + PAIR ; + } +} diff --git a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/opt_map.out b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/opt_map.out new file mode 100644 index 000000000000..e46a51e6dc9b --- /dev/null +++ b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/opt_map.out @@ -0,0 +1,82 @@ + +trace + - UNPAIR (interp) @ location: 8 + [ (Pair 7 (Some 3)) ] + - UNPAIR (entry) @ location: 8 + [ (Pair 7 (Some 3)) ] + - log/SWAP (exit) @ location: 8 + [ 7 + (Some 3) ] + - SWAP (entry) @ location: 9 + [ 7 + (Some 3) ] + - log/MAP (exit) @ location: 9 + [ (Some 3) + 7 ] + - MAP (entry) @ location: 11 + [ (Some 3) + 7 ] + - log/DIP (exit) @ location: 11 + [ 3 + 7 ] + - DIP (entry) @ location: 12 + [ 3 + 7 ] + - log/DUP (exit) @ location: 12 + [ 7 ] + - DUP (entry) @ location: 14 + [ 7 ] + - log/[halt] (exit) @ location: 14 + [ 7 + 7 ] + - [halt] (entry) @ location: 14 + [ 7 + 7 ] + - control: KUndip + - control: KCons + - log/ADD (exit) @ location: 12 + [ 3 + 7 + 7 ] + - ADD (entry) @ location: 15 + [ 3 + 7 + 7 ] + - log/[halt] (exit) @ location: 15 + [ 10 + 7 ] + - [halt] (entry) @ location: 11 + [ 10 + 7 ] + - control: KMap_head + - log/DIP (exit) @ location: 11 + [ (Some 10) + 7 ] + - DIP (entry) @ location: 16 + [ (Some 10) + 7 ] + - log/DROP (exit) @ location: 16 + [ 7 ] + - DROP (entry) @ location: 18 + [ 7 ] + - log/[halt] (exit) @ location: 18 + [ ] + - [halt] (entry) @ location: 18 + [ ] + - control: KUndip + - control: KCons + - log/NIL (exit) @ location: 16 + [ (Some 10) ] + - NIL (entry) @ location: 19 + [ (Some 10) ] + - log/PAIR (exit) @ location: 19 + [ {} + (Some 10) ] + - PAIR (entry) @ location: 21 + [ {} + (Some 10) ] + - log/[halt] (exit) @ location: 21 + [ (Pair {} (Some 10)) ] + - [halt] (entry) @ location: 7 + [ (Pair {} (Some 10)) ] + - control: KNil diff --git a/src/proto_alpha/lib_protocol/test/regression/test_logging.ml b/src/proto_alpha/lib_protocol/test/regression/test_logging.ml index 2a79d955f06b..bd3484c9ff53 100644 --- a/src/proto_alpha/lib_protocol/test/regression/test_logging.ml +++ b/src/proto_alpha/lib_protocol/test/regression/test_logging.ml @@ -406,4 +406,10 @@ let () = parameter = "Left (Pair True False)"; storage = "None"; }; + { + filename = "opt_map"; + amount = Tez.zero; + parameter = "7"; + storage = "Some 3"; + }; |] -- GitLab From 94a48cb58c533e08264fdeb3a61d1c5263f4f96e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Cauderlier?= Date: Wed, 2 Mar 2022 17:25:07 +0100 Subject: [PATCH 02/42] Proto/Michelson/IR GADT: Restrict some instructions to operate on non-empty stacks Without this, we have for example that `SOME` is allowed on the empty stack (of type (empty_cell, empty_cell) stack_ty) to produce an (empty_cell option, empty_cell) stack_ty. This is currently prevented by the stack_type argument of the kinfo but we want to remove it soon. --- .../lib_protocol/script_interpreter.ml | 17 +- .../lib_protocol/script_ir_translator.ml | 203 ++++++++++-------- .../lib_protocol/script_typed_ir.ml | 106 ++++----- .../lib_protocol/script_typed_ir.mli | 110 +++++----- 4 files changed, 235 insertions(+), 201 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 221d8ecace7f..5a86cd568e0c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1369,8 +1369,9 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (step [@ocaml.tailcall]) g gas k ks check stack | IComb (_, _, witness, k) -> let rec aux : - type before after. - (before, after) comb_gadt_witness -> before -> after = + type a b s c d t. + (a, b, s, c, d, t) comb_gadt_witness -> a * (b * s) -> c * (d * t) + = fun witness stack -> match (witness, stack) with | Comb_one, stack -> stack @@ -1383,8 +1384,10 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (step [@ocaml.tailcall]) g gas k ks accu stack | IUncomb (_, _, witness, k) -> let rec aux : - type before after. - (before, after) uncomb_gadt_witness -> before -> after = + type a b s c d t. + (a, b, s, c, d, t) uncomb_gadt_witness -> + a * (b * s) -> + c * (d * t) = fun witness stack -> match (witness, stack) with | Uncomb_one, stack -> stack @@ -1424,8 +1427,10 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (step [@ocaml.tailcall]) g gas k ks accu stack | IDup_n (_, _, witness, k) -> let rec aux : - type before after. - (before, after) dup_n_gadt_witness -> before -> after = + type a b before after. + (a, b, before, after) dup_n_gadt_witness -> + a * (b * before) -> + after = fun witness stack -> match (witness, stack) with | Dup_n_zero, (a, _) -> a diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 58f525f87417..0fe5d544b432 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -38,7 +38,7 @@ module Tc_context = Script_tc_context type ex_stack_ty = Ex_stack_ty : ('a, 's) stack_ty -> ex_stack_ty -(** Equality witnesses *) +(* Equality witnesses *) type ('ta, 'tb) eq = Eq : ('same, 'same) eq (* @@ -1603,15 +1603,15 @@ type (_, _) dropn_proof_argument = * ('fa, 'fs) stack_ty -> ('a, 's) dropn_proof_argument -type 'before comb_proof_argument = +type (_, _, _) comb_proof_argument = | Comb_proof_argument : - ('a * 's, 'b * 'u) comb_gadt_witness * ('b, 'u) stack_ty - -> ('a * 's) comb_proof_argument + ('a, 'b, 's, 'c, 'd, 't) comb_gadt_witness * ('c, 'd * 't) stack_ty + -> ('a, 'b, 's) comb_proof_argument -type 'before uncomb_proof_argument = +type (_, _, _) uncomb_proof_argument = | Uncomb_proof_argument : - ('a * 's, 'b * 'u) uncomb_gadt_witness * ('b, 'u) stack_ty - -> ('a * 's) uncomb_proof_argument + ('a, 'b, 's, 'c, 'd, 't) uncomb_gadt_witness * ('c, 'd * 't) stack_ty + -> ('a, 'b, 's) uncomb_proof_argument type 'before comb_get_proof_argument = | Comb_get_proof_argument : @@ -1623,10 +1623,10 @@ type ('rest, 'before) comb_set_proof_argument = ('rest, 'before, 'after) comb_set_gadt_witness * ('after, _) ty -> ('rest, 'before) comb_set_proof_argument -type 'before dup_n_proof_argument = +type (_, _, _) dup_n_proof_argument = | Dup_n_proof_argument : - ('before, 'a) dup_n_gadt_witness * ('a, _) ty - -> 'before dup_n_proof_argument + ('a, 'b, 's, 't) dup_n_gadt_witness * ('t, _) ty + -> ('a, 'b, 's) dup_n_proof_argument let rec make_dug_proof_argument : type a s x xc. @@ -2976,36 +2976,44 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun ctxt -> let dup = {apply = (fun kinfo k -> IDup (kinfo, k))} in typed ctxt loc dup (Item_t (v, stack)) - | Prim (loc, I_DUP, [n], v_annot), stack_ty -> - check_var_annot loc v_annot >>?= fun () -> - let rec make_proof_argument : - type a s. - int -> (a, s) stack_ty -> (a * s) dup_n_proof_argument tzresult = - fun n (stack_ty : (a, s) stack_ty) -> - match (n, stack_ty) with - | 1, Item_t (hd_ty, _) -> ok @@ Dup_n_proof_argument (Dup_n_zero, hd_ty) - | n, Item_t (_, tl_ty) -> - make_proof_argument (n - 1) tl_ty - >|? fun (Dup_n_proof_argument (dup_n_witness, b_ty)) -> - Dup_n_proof_argument (Dup_n_succ dup_n_witness, b_ty) - | _ -> - let whole_stack = serialize_stack_for_error ctxt stack_ty in - error (Bad_stack (loc, I_DUP, 1, whole_stack)) + | Prim (loc, I_DUP, [n], v_annot), stack_ty -> ( + let bad_stack_error () = + let whole_stack = serialize_stack_for_error ctxt stack_ty in + error (Bad_stack (loc, I_DUP, 1, whole_stack)) in - parse_uint10 n >>?= fun n -> - Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> - error_unless (Compare.Int.( > ) n 0) (Dup_n_bad_argument loc) - >>?= fun () -> - record_trace (Dup_n_bad_stack loc) (make_proof_argument n stack_ty) - >>?= fun (Dup_n_proof_argument (witness, after_ty)) -> - record_trace_eval - (fun () -> - let t = serialize_ty_for_error after_ty in - Non_dupable_type (loc, t)) - (check_dupable_ty ctxt loc after_ty) - >>?= fun ctxt -> - let dupn = {apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} in - typed ctxt loc dupn (Item_t (after_ty, stack_ty)) + match stack_ty with + | Bot_t -> Lwt.return @@ bad_stack_error () + | Item_t _ as stack_ty -> + check_var_annot loc v_annot >>?= fun () -> + let rec make_proof_argument : + type a b s. + int -> + (a, b * s) stack_ty -> + (a, b, s) dup_n_proof_argument tzresult = + fun n (stack_ty : (a, b * s) stack_ty) -> + match (n, stack_ty) with + | 1, Item_t (hd_ty, _) -> + ok @@ Dup_n_proof_argument (Dup_n_zero, hd_ty) + | n, Item_t (_, (Item_t (_, _) as tl_ty)) -> + make_proof_argument (n - 1) tl_ty + >|? fun (Dup_n_proof_argument (dup_n_witness, b_ty)) -> + Dup_n_proof_argument (Dup_n_succ dup_n_witness, b_ty) + | _ -> bad_stack_error () + in + parse_uint10 n >>?= fun n -> + Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> + error_unless (Compare.Int.( > ) n 0) (Dup_n_bad_argument loc) + >>?= fun () -> + record_trace (Dup_n_bad_stack loc) (make_proof_argument n stack_ty) + >>?= fun (Dup_n_proof_argument (witness, after_ty)) -> + record_trace_eval + (fun () -> + let t = serialize_ty_for_error after_ty in + Non_dupable_type (loc, t)) + (check_dupable_ty ctxt loc after_ty) + >>?= fun ctxt -> + let dupn = {apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} in + typed ctxt loc dupn (Item_t (after_ty, stack_ty))) | Prim (loc, I_DIG, [n], result_annot), stack -> let rec make_proof_argument : type a s. int -> (a, s) stack_ty -> (a, s) dig_proof_argument tzresult @@ -3151,58 +3159,75 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let stack_ty = Item_t (ty, rest) in let cons_pair = {apply = (fun kinfo k -> ICons_pair (kinfo, k))} in typed ctxt loc cons_pair stack_ty - | Prim (loc, I_PAIR, [n], annot), stack_ty -> - check_var_annot loc annot >>?= fun () -> - let rec make_proof_argument : - type a s. - int -> (a, s) stack_ty -> (a * s) comb_proof_argument tzresult = - fun n stack_ty -> - match (n, stack_ty) with - | 1, Item_t (a_ty, tl_ty) -> - ok (Comb_proof_argument (Comb_one, Item_t (a_ty, tl_ty))) - | n, Item_t (a_ty, tl_ty) -> - make_proof_argument (n - 1) tl_ty - >>? fun (Comb_proof_argument (comb_witness, Item_t (b_ty, tl_ty'))) - -> - pair_t loc a_ty b_ty >|? fun (Ty_ex_c pair_t) -> - Comb_proof_argument (Comb_succ comb_witness, Item_t (pair_t, tl_ty')) - | _ -> - let whole_stack = serialize_stack_for_error ctxt stack_ty in - error (Bad_stack (loc, I_PAIR, 1, whole_stack)) + | Prim (loc, I_PAIR, [n], annot), stack_ty -> ( + let bad_stack_error () = + let whole_stack = serialize_stack_for_error ctxt stack_ty in + error (Bad_stack (loc, I_PAIR, 1, whole_stack)) in - parse_uint10 n >>?= fun n -> - Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> - error_unless (Compare.Int.( > ) n 1) (Pair_bad_argument loc) - >>?= fun () -> - make_proof_argument n stack_ty - >>?= fun (Comb_proof_argument (witness, after_ty)) -> - let comb = {apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in - typed ctxt loc comb after_ty - | Prim (loc, I_UNPAIR, [n], annot), stack_ty -> - error_unexpected_annot loc annot >>?= fun () -> - let rec make_proof_argument : - type a s. - int -> (a, s) stack_ty -> (a * s) uncomb_proof_argument tzresult = - fun n stack_ty -> - match (n, stack_ty) with - | 1, stack -> ok @@ Uncomb_proof_argument (Uncomb_one, stack) - | n, Item_t (Pair_t (a_ty, b_ty, _, _), tl_ty) -> - make_proof_argument (n - 1) (Item_t (b_ty, tl_ty)) - >|? fun (Uncomb_proof_argument (uncomb_witness, after_ty)) -> - Uncomb_proof_argument - (Uncomb_succ uncomb_witness, Item_t (a_ty, after_ty)) - | _ -> - let whole_stack = serialize_stack_for_error ctxt stack_ty in - error (Bad_stack (loc, I_UNPAIR, 1, whole_stack)) + match stack_ty with + | Bot_t -> Lwt.return @@ bad_stack_error () + | Item_t _ -> + check_var_annot loc annot >>?= fun () -> + let rec make_proof_argument : + type a b s. + int -> + (a, b * s) stack_ty -> + (a, b, s) comb_proof_argument tzresult = + fun n stack_ty -> + match (n, stack_ty) with + | 1, Item_t _ -> ok (Comb_proof_argument (Comb_one, stack_ty)) + | n, Item_t (a_ty, (Item_t _ as tl_ty)) -> + make_proof_argument (n - 1) tl_ty + >>? fun (Comb_proof_argument + (comb_witness, Item_t (b_ty, tl_ty'))) -> + pair_t loc a_ty b_ty >|? fun (Ty_ex_c pair_t) -> + Comb_proof_argument + (Comb_succ comb_witness, Item_t (pair_t, tl_ty')) + | _ -> bad_stack_error () + in + parse_uint10 n >>?= fun n -> + Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> + error_unless (Compare.Int.( > ) n 1) (Pair_bad_argument loc) + >>?= fun () -> + make_proof_argument n stack_ty + >>?= fun (Comb_proof_argument (witness, after_ty)) -> + let comb = {apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in + typed ctxt loc comb after_ty) + | Prim (loc, I_UNPAIR, [n], annot), stack_ty -> ( + let bad_stack_error () = + let whole_stack = serialize_stack_for_error ctxt stack_ty in + error (Bad_stack (loc, I_UNPAIR, 1, whole_stack)) in - parse_uint10 n >>?= fun n -> - Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> - error_unless (Compare.Int.( > ) n 1) (Unpair_bad_argument loc) - >>?= fun () -> - make_proof_argument n stack_ty - >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> - let uncomb = {apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} in - typed ctxt loc uncomb after_ty + match stack_ty with + | Bot_t -> Lwt.return @@ bad_stack_error () + | Item_t _ -> + error_unexpected_annot loc annot >>?= fun () -> + let rec make_proof_argument : + type a b s. + int -> + (a, b * s) stack_ty -> + (a, b, s) uncomb_proof_argument tzresult = + fun n stack_ty -> + match (n, stack_ty) with + | 1, (Item_t _ as stack) -> + ok @@ Uncomb_proof_argument (Uncomb_one, stack) + | n, Item_t (Pair_t (a_ty, b_ty, _, _), tl_ty) -> + make_proof_argument (n - 1) (Item_t (b_ty, tl_ty)) + >|? fun (Uncomb_proof_argument (uncomb_witness, after_ty)) -> + Uncomb_proof_argument + (Uncomb_succ uncomb_witness, Item_t (a_ty, after_ty)) + | _ -> bad_stack_error () + in + parse_uint10 n >>?= fun n -> + Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> + error_unless (Compare.Int.( > ) n 1) (Unpair_bad_argument loc) + >>?= fun () -> + make_proof_argument n stack_ty + >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> + let uncomb = + {apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} + in + typed ctxt loc uncomb after_ty) | Prim (loc, I_GET, [n], annot), Item_t (comb_ty, rest_ty) -> ( check_var_annot loc annot >>?= fun () -> parse_uint11 n >>?= fun n -> diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index f3731a442d3f..d9b7b30f13a8 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -476,11 +476,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('a, 'b * 's) kinfo * ('b, 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IDup : - ('a, 's) kinfo * ('a, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISwap : - ('a, 'b * 's) kinfo * ('b, 'a * 's, 'r, 'f) kinstr + ('a, 'b * 's) kinfo * ('a, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr + | ISwap : + ('a, 'b * ('c * 's)) kinfo * ('b, 'a * ('c * 's), 'r, 'f) kinstr + -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | IConst : ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr @@ -489,8 +489,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ----- *) | ICons_pair : - ('a, 'b * 's) kinfo * ('a * 'b, 's, 'r, 'f) kinstr - -> ('a, 'b * 's, 'r, 'f) kinstr + ('a, 'b * ('c * 's)) kinfo * ('a * 'b, 'c * 's, 'r, 'f) kinstr + -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | ICar : ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr @@ -505,8 +505,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------- *) | ICons_some : - ('v, 's) kinfo * ('v option, 's, 'r, 'f) kinstr - -> ('v, 's, 'r, 'f) kinstr + ('v, 'a * 's) kinfo * ('v option, 'a * 's, 'r, 'f) kinstr + -> ('v, 'a * 's, 'r, 'f) kinstr | ICons_none : ('a, 's) kinfo * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr @@ -528,11 +528,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------ *) | ICons_left : - ('a, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + ('a, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + -> ('a, 'c * 's, 'r, 'f) kinstr | ICons_right : - ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr - -> ('b, 's, 'r, 'f) kinstr + ('b, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + -> ('b, 'c * 's, 'r, 'f) kinstr | IIf_left : { kinfo : (('a, 'b) union, 's) kinfo; branch_if_left : ('a, 's, 'c, 't) kinstr; @@ -858,8 +858,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ---------- *) | ICompare : - ('a, 'a * 's) kinfo * 'a comparable_ty * (z num, 's, 'r, 'f) kinstr - -> ('a, 'a * 's, 'r, 'f) kinstr + ('a, 'a * ('b * 's)) kinfo + * 'a comparable_ty + * (z num, 'b * 's, 'r, 'f) kinstr + -> ('a, 'a * ('b * 's), 'r, 'f) kinstr (* Comparators ----------- @@ -896,10 +898,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('a typed_contract option, 's, 'r, 'f) kinstr -> (address, 's, 'r, 'f) kinstr | IView : - ('a, address * 's) kinfo + ('a, address * ('c * 's)) kinfo * ('a, 'b) view_signature - * ('b option, 's, 'r, 'f) kinstr - -> ('a, address * 's, 'r, 'f) kinstr + * ('b option, 'c * 's, 'r, 'f) kinstr + -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : ('a, Tez.t * ('a typed_contract * 's)) kinfo * (operation, 's, 'r, 'f) kinstr @@ -908,12 +910,12 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = (public_key_hash, 's) kinfo * (unit typed_contract, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr | ICreate_contract : { - kinfo : (public_key_hash option, Tez.t * ('a * 's)) kinfo; + kinfo : (public_key_hash option, Tez.t * ('a * ('c * 's))) kinfo; storage_type : ('a, _) ty; code : Script.expr; - k : (operation, address * 's, 'r, 'f) kinstr; + k : (operation, address * ('c * 's), 'r, 'f) kinstr; } - -> (public_key_hash option, Tez.t * ('a * 's), 'r, 'f) kinstr + -> (public_key_hash option, Tez.t * ('a * ('c * 's)), 'r, 'f) kinstr | ISet_delegate : (public_key_hash option, 's) kinfo * (operation, 's, 'r, 'f) kinstr -> (public_key_hash option, 's, 'r, 'f) kinstr @@ -936,8 +938,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = (public_key, 's) kinfo * (public_key_hash, 's, 'r, 'f) kinstr -> (public_key, 's, 'r, 'f) kinstr | IPack : - ('a, 's) kinfo * ('a, _) ty * (bytes, 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + ('a, 'b * 's) kinfo * ('a, _) ty * (bytes, 'b * 's, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | IUnpack : (bytes, 's) kinfo * ('a, _) ty * ('a option, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr @@ -1071,35 +1073,35 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * (bool, 's, 'r, 'f) kinstr -> ((Script_bls.G1.t, Script_bls.G2.t) pair boxed_list, 's, 'r, 'f) kinstr | IComb : - ('a, 's) kinfo + ('a, 'b * 's) kinfo * int - * ('a * 's, 'b * 'u) comb_gadt_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + * ('a, 'b, 's, 'c, 'd, 't) comb_gadt_witness + * ('c, 'd * 't, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | IUncomb : - ('a, 's) kinfo + ('a, 'b * 's) kinfo * int - * ('a * 's, 'b * 'u) uncomb_gadt_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + * ('a, 'b, 's, 'c, 'd, 't) uncomb_gadt_witness + * ('c, 'd * 't, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | IComb_get : - ('t, 's) kinfo + ('t, 'a * 's) kinfo * int * ('t, 'v) comb_get_gadt_witness - * ('v, 's, 'r, 'f) kinstr - -> ('t, 's, 'r, 'f) kinstr + * ('v, 'a * 's, 'r, 'f) kinstr + -> ('t, 'a * 's, 'r, 'f) kinstr | IComb_set : - ('a, 'b * 's) kinfo + ('a, 'b * ('d * 's)) kinfo * int * ('a, 'b, 'c) comb_set_gadt_witness - * ('c, 's, 'r, 'f) kinstr - -> ('a, 'b * 's, 'r, 'f) kinstr + * ('c, 'd * 's, 'r, 'f) kinstr + -> ('a, 'b * ('d * 's), 'r, 'f) kinstr | IDup_n : - ('a, 's) kinfo + ('a, 'b * 's) kinfo * int - * ('a * 's, 't) dup_n_gadt_witness - * ('t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + * ('a, 'b, 's, 't) dup_n_gadt_witness + * ('t, 'a * ('b * 's), 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | ITicket : ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr -> ('a, n num * 's, 'r, 'f) kinstr @@ -1325,17 +1327,17 @@ and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = stack_prefix_preservation_witness | KRest : ('a, 's, 'b, 'u, 'a, 's, 'b, 'u) stack_prefix_preservation_witness -and ('before, 'after) comb_gadt_witness = - | Comb_one : ('a * ('x * 'before), 'a * ('x * 'before)) comb_gadt_witness +and (_, _, _, _, _, _) comb_gadt_witness = + | Comb_one : ('a, 'x, 'before, 'a, 'x, 'before) comb_gadt_witness | Comb_succ : - ('before, 'b * 'after) comb_gadt_witness - -> ('a * 'before, ('a * 'b) * 'after) comb_gadt_witness + ('b, 'c, 's, 'd, 'e, 't) comb_gadt_witness + -> ('a, 'b, 'c * 's, 'a * 'd, 'e, 't) comb_gadt_witness -and ('before, 'after) uncomb_gadt_witness = - | Uncomb_one : ('rest, 'rest) uncomb_gadt_witness +and (_, _, _, _, _, _) uncomb_gadt_witness = + | Uncomb_one : ('a, 'x, 'before, 'a, 'x, 'before) uncomb_gadt_witness | Uncomb_succ : - ('b * 'before, 'after) uncomb_gadt_witness - -> (('a * 'b) * 'before, 'a * 'after) uncomb_gadt_witness + ('b, 'c, 's, 'd, 'e, 't) uncomb_gadt_witness + -> ('a * 'b, 'c, 's, 'a, 'd, 'e * 't) uncomb_gadt_witness and ('before, 'after) comb_get_gadt_witness = | Comb_get_zero : ('b, 'b) comb_get_gadt_witness @@ -1352,11 +1354,11 @@ and ('value, 'before, 'after) comb_set_gadt_witness = -> ('value, 'a * 'before, 'a * 'after) comb_set_gadt_witness [@@coq_force_gadt] -and (_, _) dup_n_gadt_witness = - | Dup_n_zero : ('a * 'rest, 'a) dup_n_gadt_witness +and (_, _, _, _) dup_n_gadt_witness = + | Dup_n_zero : ('a, _, _, 'a) dup_n_gadt_witness | Dup_n_succ : - ('stack, 'b) dup_n_gadt_witness - -> ('a * 'stack, 'b) dup_n_gadt_witness + ('b, 'c, 'stack, 'd) dup_n_gadt_witness + -> ('a, 'b, 'c * 'stack, 'd) dup_n_gadt_witness and ('input, 'output) view_signature = | View_signature : { diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index e677f8ce2858..adbcf6bd1e62 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -433,11 +433,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('a, 'b * 's) kinfo * ('b, 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IDup : - ('a, 's) kinfo * ('a, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISwap : - ('a, 'b * 's) kinfo * ('b, 'a * 's, 'r, 'f) kinstr + ('a, 'b * 's) kinfo * ('a, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr + | ISwap : + ('a, 'b * ('c * 's)) kinfo * ('b, 'a * ('c * 's), 'r, 'f) kinstr + -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | IConst : ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr @@ -446,8 +446,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ----- *) | ICons_pair : - ('a, 'b * 's) kinfo * ('a * 'b, 's, 'r, 'f) kinstr - -> ('a, 'b * 's, 'r, 'f) kinstr + ('a, 'b * ('c * 's)) kinfo * ('a * 'b, 'c * 's, 'r, 'f) kinstr + -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | ICar : ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr @@ -462,8 +462,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------- *) | ICons_some : - ('v, 's) kinfo * ('v option, 's, 'r, 'f) kinstr - -> ('v, 's, 'r, 'f) kinstr + ('v, 'a * 's) kinfo * ('v option, 'a * 's, 'r, 'f) kinstr + -> ('v, 'a * 's, 'r, 'f) kinstr | ICons_none : ('a, 's) kinfo * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr @@ -485,11 +485,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------ *) | ICons_left : - ('a, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + ('a, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + -> ('a, 'c * 's, 'r, 'f) kinstr | ICons_right : - ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr - -> ('b, 's, 'r, 'f) kinstr + ('b, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + -> ('b, 'c * 's, 'r, 'f) kinstr | IIf_left : { kinfo : (('a, 'b) union, 's) kinfo; branch_if_left : ('a, 's, 'c, 't) kinstr; @@ -811,8 +811,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ---------- *) | ICompare : - ('a, 'a * 's) kinfo * 'a comparable_ty * (z num, 's, 'r, 'f) kinstr - -> ('a, 'a * 's, 'r, 'f) kinstr + ('a, 'a * ('b * 's)) kinfo + * 'a comparable_ty + * (z num, 'b * 's, 'r, 'f) kinstr + -> ('a, 'a * ('b * 's), 'r, 'f) kinstr (* Comparators ----------- @@ -849,10 +851,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('a typed_contract option, 's, 'r, 'f) kinstr -> (address, 's, 'r, 'f) kinstr | IView : - ('a, address * 's) kinfo + ('a, address * ('c * 's)) kinfo * ('a, 'b) view_signature - * ('b option, 's, 'r, 'f) kinstr - -> ('a, address * 's, 'r, 'f) kinstr + * ('b option, 'c * 's, 'r, 'f) kinstr + -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : ('a, Tez.t * ('a typed_contract * 's)) kinfo * (operation, 's, 'r, 'f) kinstr @@ -861,12 +863,12 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = (public_key_hash, 's) kinfo * (unit typed_contract, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr | ICreate_contract : { - kinfo : (public_key_hash option, Tez.t * ('a * 's)) kinfo; + kinfo : (public_key_hash option, Tez.t * ('a * ('c * 's))) kinfo; storage_type : ('a, _) ty; code : Script.expr; - k : (operation, address * 's, 'r, 'f) kinstr; + k : (operation, address * ('c * 's), 'r, 'f) kinstr; } - -> (public_key_hash option, Tez.t * ('a * 's), 'r, 'f) kinstr + -> (public_key_hash option, Tez.t * ('a * ('c * 's)), 'r, 'f) kinstr | ISet_delegate : (public_key_hash option, 's) kinfo * (operation, 's, 'r, 'f) kinstr -> (public_key_hash option, 's, 'r, 'f) kinstr @@ -889,8 +891,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = (public_key, 's) kinfo * (public_key_hash, 's, 'r, 'f) kinstr -> (public_key, 's, 'r, 'f) kinstr | IPack : - ('a, 's) kinfo * ('a, _) ty * (bytes, 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + ('a, 'b * 's) kinfo * ('a, _) ty * (bytes, 'b * 's, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | IUnpack : (bytes, 's) kinfo * ('a, _) ty * ('a option, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr @@ -1065,35 +1067,35 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * (bool, 's, 'r, 'f) kinstr -> ((Script_bls.G1.t, Script_bls.G2.t) pair boxed_list, 's, 'r, 'f) kinstr | IComb : - ('a, 's) kinfo + ('a, 'b * 's) kinfo * int - * ('a * 's, 'b * 'u) comb_gadt_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + * ('a, 'b, 's, 'c, 'd, 't) comb_gadt_witness + * ('c, 'd * 't, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | IUncomb : - ('a, 's) kinfo + ('a, 'b * 's) kinfo * int - * ('a * 's, 'b * 'u) uncomb_gadt_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + * ('a, 'b, 's, 'c, 'd, 't) uncomb_gadt_witness + * ('c, 'd * 't, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | IComb_get : - ('t, 's) kinfo + ('t, 'a * 's) kinfo * int * ('t, 'v) comb_get_gadt_witness - * ('v, 's, 'r, 'f) kinstr - -> ('t, 's, 'r, 'f) kinstr + * ('v, 'a * 's, 'r, 'f) kinstr + -> ('t, 'a * 's, 'r, 'f) kinstr | IComb_set : - ('a, 'b * 's) kinfo + ('a, 'b * ('d * 's)) kinfo * int * ('a, 'b, 'c) comb_set_gadt_witness - * ('c, 's, 'r, 'f) kinstr - -> ('a, 'b * 's, 'r, 'f) kinstr + * ('c, 'd * 's, 'r, 'f) kinstr + -> ('a, 'b * ('d * 's), 'r, 'f) kinstr | IDup_n : - ('a, 's) kinfo + ('a, 'b * 's) kinfo * int - * ('a * 's, 't) dup_n_gadt_witness - * ('t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr + * ('a, 'b, 's, 't) dup_n_gadt_witness + * ('t, 'a * ('b * 's), 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr | ITicket : ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr -> ('a, n num * 's, 'r, 'f) kinstr @@ -1443,17 +1445,17 @@ and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = stack_prefix_preservation_witness | KRest : ('a, 's, 'b, 'u, 'a, 's, 'b, 'u) stack_prefix_preservation_witness -and ('before, 'after) comb_gadt_witness = - | Comb_one : ('a * ('x * 'before), 'a * ('x * 'before)) comb_gadt_witness +and (_, _, _, _, _, _) comb_gadt_witness = + | Comb_one : ('a, 'x, 'before, 'a, 'x, 'before) comb_gadt_witness | Comb_succ : - ('before, 'b * 'after) comb_gadt_witness - -> ('a * 'before, ('a * 'b) * 'after) comb_gadt_witness + ('b, 'c, 's, 'd, 'e, 't) comb_gadt_witness + -> ('a, 'b, 'c * 's, 'a * 'd, 'e, 't) comb_gadt_witness -and ('before, 'after) uncomb_gadt_witness = - | Uncomb_one : ('rest, 'rest) uncomb_gadt_witness +and (_, _, _, _, _, _) uncomb_gadt_witness = + | Uncomb_one : ('a, 'x, 'before, 'a, 'x, 'before) uncomb_gadt_witness | Uncomb_succ : - ('b * 'before, 'after) uncomb_gadt_witness - -> (('a * 'b) * 'before, 'a * 'after) uncomb_gadt_witness + ('b, 'c, 's, 'd, 'e, 't) uncomb_gadt_witness + -> ('a * 'b, 'c, 's, 'a, 'd, 'e * 't) uncomb_gadt_witness and ('before, 'after) comb_get_gadt_witness = | Comb_get_zero : ('b, 'b) comb_get_gadt_witness @@ -1472,19 +1474,19 @@ and ('value, 'before, 'after) comb_set_gadt_witness = (* - [dup_n_gadt_witness ('s, 't)] ensures that there exists at least - [n] elements in ['s] and that the [n]-th element of ['s] is of type + [dup_n_gadt_witness ('a, 'b, 's, 't)] ensures that there exists at least + [n] elements in ['a, 'b, 's] and that the [n]-th element is of type ['t]. Here [n] follows Peano's encoding (0 and successor). Besides, [0] corresponds to the topmost element of ['s]. This relational predicate is defined by induction on [n]. *) -and (_, _) dup_n_gadt_witness = - | Dup_n_zero : ('a * 'rest, 'a) dup_n_gadt_witness +and (_, _, _, _) dup_n_gadt_witness = + | Dup_n_zero : ('a, _, _, 'a) dup_n_gadt_witness | Dup_n_succ : - ('stack, 'b) dup_n_gadt_witness - -> ('a * 'stack, 'b) dup_n_gadt_witness + ('b, 'c, 'stack, 'd) dup_n_gadt_witness + -> ('a, 'b, 'c * 'stack, 'd) dup_n_gadt_witness and ('input, 'output) view_signature = | View_signature : { -- GitLab From 32cf772534d43c854f6270b02bd56607eefa6cbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Cauderlier?= Date: Wed, 2 Mar 2022 23:32:26 +0100 Subject: [PATCH 03/42] Proto/Michelson/IR GADT: keep some more types from the elaboration --- .../interpreter_benchmarks.ml | 45 ++++--- .../interpreter_workload.ml | 20 ++-- .../lib_protocol/script_interpreter.ml | 83 ++++++------- .../lib_protocol/script_interpreter_defs.ml | 24 ++-- .../lib_protocol/script_ir_translator.ml | 44 +++---- .../lib_protocol/script_typed_ir.ml | 110 +++++++++++------- .../lib_protocol/script_typed_ir.mli | 39 +++++-- .../lib_protocol/script_typed_ir_size.ml | 45 ++++--- .../michelson/test_interpretation.ml | 3 +- 9 files changed, 252 insertions(+), 161 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index 2dd1e1f53065..26699e044676 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -696,7 +696,7 @@ module Registration_section = struct simple_benchmark ~amplification:100 ~name:Interpreter_workload.N_IConst - ~kinstr:(IConst (kinfo_unit, (), halt_unitunit)) + ~kinstr:(IConst (kinfo_unit, unit, (), halt_unitunit)) () (* deep stack manipulation *) @@ -984,7 +984,8 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ICons_none - ~kinstr:(ICons_none (kinfo_unit, halt (option unit @$ unit @$ bot))) + ~kinstr: + (ICons_none (kinfo_unit, unit, halt (option unit @$ unit @$ bot))) () let () = @@ -1033,13 +1034,13 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ILeft - ~kinstr:(ICons_left (kinfo_unit, halt (cunion unit unit @$ bot))) + ~kinstr:(ICons_left (kinfo_unit, unit, halt (cunion unit unit @$ bot))) () let () = simple_benchmark ~name:Interpreter_workload.N_IRight - ~kinstr:(ICons_right (kinfo_unit, halt (cunion unit unit @$ bot))) + ~kinstr:(ICons_right (kinfo_unit, unit, halt (cunion unit unit @$ bot))) () let () = @@ -1067,7 +1068,7 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_INil - ~kinstr:(INil (kinfo_unit, halt (list unit @$ unit @$ bot))) + ~kinstr:(INil (kinfo_unit, unit, halt (list unit @$ unit @$ bot))) () let () = @@ -1126,7 +1127,8 @@ module Registration_section = struct ~name:Interpreter_workload.N_IList_iter ~stack:(Script_list.empty, ((), eos)) ~kinstr: - (IList_iter (kinfo1, IDrop (kinfo_unitunit, halt_unit), halt_unit)) + (IList_iter + (kinfo1, unit, IDrop (kinfo_unitunit, halt_unit), halt_unit)) () end @@ -1140,6 +1142,7 @@ module Registration_section = struct let set_iter_code = ISet_iter ( kinfo (set int @$ unit @$ bot), + int, IDrop (kinfo (int @$ unit @$ bot), halt_unit), halt_unit ) @@ -1256,7 +1259,8 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IEmpty_map ~kinstr: - (IEmpty_map (kinfo_unit, unit, halt (map unit unit @$ unit @$ bot))) + (IEmpty_map + (kinfo_unit, unit, unit, halt (map unit unit @$ unit @$ bot))) () (* @@ -1270,6 +1274,7 @@ module Registration_section = struct let map_map_code = IMap_map ( kinfo (map int unit @$ unit @$ bot), + int, IFailwith (kinfo (cpair int unit @$ unit @$ bot), 0, cpair int unit), halt (map int unit @$ unit @$ bot) ) @@ -1291,6 +1296,7 @@ module Registration_section = struct let kmap_iter_code = IMap_iter ( kinfo (map int unit @$ unit @$ bot), + cpair int unit, IDrop (kinfo (cpair int unit @$ unit @$ bot), halt_unit), halt_unit ) @@ -1974,7 +1980,9 @@ module Registration_section = struct - IHalt (false on top of stack) - IConst false ; IHalt (true on top of stack) *) - let push_false = IConst (kinfo_unit, false, halt (bool @$ unit @$ bot)) in + let push_false = + IConst (kinfo_unit, bool, false, halt (bool @$ unit @$ bot)) + in simple_benchmark ~name:Interpreter_workload.N_ILoop ~kinstr:(ILoop (kinfo (bool @$ unit @$ bot), push_false, halt_unit)) @@ -1986,7 +1994,9 @@ module Registration_section = struct ICons_right -> IHalt *) - let cons_r = ICons_right (kinfo_unit, halt (cunion unit unit @$ bot)) in + let cons_r = + ICons_right (kinfo_unit, unit, halt (cunion unit unit @$ bot)) + in simple_benchmark ~name:Interpreter_workload.N_ILoop_left ~kinstr: @@ -2759,7 +2769,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ITicket ~kinstr: - (ITicket (kinfo (unit @$ nat @$ bot), halt (ticket unit @$ bot))) + (ITicket (kinfo (unit @$ nat @$ bot), unit, halt (ticket unit @$ bot))) () let () = @@ -2768,6 +2778,7 @@ module Registration_section = struct ~kinstr: (IRead_ticket ( kinfo (ticket unit @$ bot), + unit, halt (cpair address (cpair unit nat) @$ ticket unit @$ bot) )) () @@ -3003,7 +3014,8 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = KLoop_in - (IConst (kinfo_unit, false, halt (bool @$ unit @$ bot)), KNil) + ( IConst (kinfo_unit, bool, false, halt (bool @$ unit @$ bot)), + KNil ) in let stack = (false, ((), eos)) in fun () -> Ex_stack_and_cont {stack; cont}) @@ -3020,7 +3032,8 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = KLoop_in_left - (ICons_right (kinfo_unit, halt (cunion unit unit @$ bot)), KNil) + ( ICons_right (kinfo_unit, unit, halt (cunion unit unit @$ bot)), + KNil ) in let stack = (R (), eos) in fun () -> Ex_stack_and_cont {stack; cont}) @@ -3050,7 +3063,9 @@ module Registration_section = struct ~name:Interpreter_workload.N_KIter ~salt:"_empty" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KIter (IDrop (kinfo_unitunit, halt_unit), [], KNil) in + let cont = + KIter (IDrop (kinfo_unitunit, halt_unit), unit, [], KNil) + in let stack = ((), eos) in fun () -> Ex_stack_and_cont {stack; cont}) () @@ -3068,7 +3083,9 @@ module Registration_section = struct ~name:Interpreter_workload.N_KIter ~salt:"_nonempty" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KIter (IDrop (kinfo_unitunit, halt_unit), [()], KNil) in + let cont = + KIter (IDrop (kinfo_unitunit, halt_unit), unit, [()], KNil) + in let stack = ((), eos) in fun () -> Ex_stack_and_cont {stack; cont}) () diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml index 2b4e2e3f2790..13ffb400996b 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml @@ -1153,22 +1153,22 @@ let extract_ir_sized_step : | IDrop (_, _), _ -> Instructions.drop | IDup (_, _), _ -> Instructions.dup | ISwap (_, _), _ -> Instructions.swap - | IConst (_, _, _), _ -> Instructions.const + | IConst (_, _, _, _), _ -> Instructions.const | ICons_pair (_, _), _ -> Instructions.cons_pair | ICar (_, _), _ -> Instructions.car | ICdr (_, _), _ -> Instructions.cdr | IUnpair (_, _), _ -> Instructions.unpair | ICons_some (_, _), _ -> Instructions.cons_some - | ICons_none (_, _), _ -> Instructions.cons_none + | ICons_none (_, _, _), _ -> Instructions.cons_none | IIf_none _, _ -> Instructions.if_none | IOpt_map _, _ -> Instructions.opt_map - | ICons_left (_, _), _ -> Instructions.left - | ICons_right (_, _), _ -> Instructions.right + | ICons_left (_, _, _), _ -> Instructions.left + | ICons_right (_, _, _), _ -> Instructions.right | IIf_left _, _ -> Instructions.if_left | ICons_list (_, _), _ -> Instructions.cons_list - | INil (_, _), _ -> Instructions.nil + | INil (_, _, _), _ -> Instructions.nil | IIf_cons _, _ -> Instructions.if_cons - | IList_iter (_, _, _), _ -> Instructions.list_iter + | IList_iter (_, _, _, _), _ -> Instructions.list_iter | IList_map (_, _, _), _ -> Instructions.list_map | IList_size (_, _), (list, _) -> Instructions.list_size (Size.list list) | IEmpty_set (_, _, _), _ -> Instructions.empty_set @@ -1182,7 +1182,7 @@ let extract_ir_sized_step : let sz = S.OPS.elt_size v in Instructions.set_update sz (Size.set set) | ISet_size (_, _), (set, _) -> Instructions.set_size (Size.set set) - | IEmpty_map (_, _, _), _ -> Instructions.empty_map + | IEmpty_map (_, _, _, _), _ -> Instructions.empty_map | IMap_map _, (map, _) -> Instructions.map_map (Size.map map) | IMap_iter _, (map, _) -> Instructions.map_iter (Size.map map) | IMap_mem (_, _), (v, (map, _)) -> @@ -1406,8 +1406,8 @@ let extract_ir_sized_step : | IComb_get (_, n, _, _), _ -> Instructions.comb_get (Size.of_int n) | IComb_set (_, n, _, _), _ -> Instructions.comb_set (Size.of_int n) | IDup_n (_, n, _, _), _ -> Instructions.dupn (Size.of_int n) - | ITicket (_, _), _ -> Instructions.ticket - | IRead_ticket (_, _), _ -> Instructions.read_ticket + | ITicket (_, _, _), _ -> Instructions.ticket + | IRead_ticket (_, _, _), _ -> Instructions.read_ticket | ISplit_ticket (_, _), (_ticket, ((amount_a, amount_b), _)) -> Instructions.split_ticket (Size.integer amount_a) (Size.integer amount_b) | IJoin_tickets (_, cmp_ty, _), ((ticket1, ticket2), _) -> @@ -1436,7 +1436,7 @@ let extract_control_trace (type bef_top bef aft_top aft) | KUndip _ -> Control.undip | KLoop_in _ -> Control.loop_in | KLoop_in_left _ -> Control.loop_in_left - | KIter (_, xs, _) -> Control.iter (Size.of_int (List.length xs)) + | KIter (_, _, xs, _) -> Control.iter (Size.of_int (List.length xs)) | KList_enter_body (_, xs, ys, _, _) -> Control.list_enter_body (Size.of_int (List.length xs)) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 5a86cd568e0c..f533fdf1021c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -301,12 +301,12 @@ and kloop_in : type a b c r f s. (a, b, c, r, f, s) kloop_in_type = else (next [@ocaml.tailcall]) g gas ks' accu' stack' [@@inline] -and kiter : type a b s r f. (a, b, s, r, f) kiter_type = - fun mk g gas body xs ks accu stack -> +and kiter : type a b s r f c. (a, b, s, r, f, c) kiter_type = + fun mk g gas body ty xs ks accu stack -> match xs with | [] -> (next [@ocaml.tailcall]) g gas ks accu stack | x :: xs -> - let ks = mk (KIter (body, xs, ks)) in + let ks = mk (KIter (body, ty, xs, ks)) in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] @@ -334,8 +334,8 @@ and next : | KLoop_in_left (ki, ks') -> (kloop_in_left [@ocaml.tailcall]) g gas ks0 ki ks' accu stack | KUndip (x, ks) -> (next [@ocaml.tailcall]) g gas ks x (accu, stack) - | KIter (body, xs, ks) -> - (kiter [@ocaml.tailcall]) id g gas body xs ks accu stack + | KIter (body, ty, xs, ks) -> + (kiter [@ocaml.tailcall]) id g gas body ty xs ks accu stack | KList_enter_body (body, xs, ys, len, ks) -> (klist_enter [@ocaml.tailcall]) id g gas body xs ys len ks accu stack | KList_exit_body (body, xs, ys, len, ks) -> @@ -373,19 +373,20 @@ and ilist_map : type a b c d e f g h. (a, b, c, d, e, f, g, h) ilist_map_type = (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] -and ilist_iter : type a b c d e f g. (a, b, c, d, e, f, g) ilist_iter_type = - fun log_if_needed g gas body k ks accu stack -> +and ilist_iter : + type a b c d e f g cmp. (a, b, c, d, e, f, g, cmp) ilist_iter_type = + fun log_if_needed g gas body ty k ks accu stack -> let xs = accu.elements in - let ks = log_if_needed (KIter (body, xs, KCons (k, ks))) in + let ks = log_if_needed (KIter (body, ty, xs, KCons (k, ks))) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and iset_iter : type a b c d e f g. (a, b, c, d, e, f, g) iset_iter_type = - fun log_if_needed g gas body k ks accu stack -> + fun log_if_needed g gas body ty k ks accu stack -> let set = accu in let l = List.rev (Script_set.fold (fun e acc -> e :: acc) set []) in - let ks = log_if_needed (KIter (body, l, KCons (k, ks))) in + let ks = log_if_needed (KIter (body, ty, l, KCons (k, ks))) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -401,11 +402,12 @@ and imap_map : type a b c d e f g h i. (a, b, c, d, e, f, g, h, i) imap_map_type (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] -and imap_iter : type a b c d e f g h. (a, b, c, d, e, f, g, h) imap_iter_type = - fun log_if_needed g gas body k ks accu stack -> +and imap_iter : + type a b c d e f g h cmp. (a, b, c, d, e, f, g, h, cmp) imap_iter_type = + fun log_if_needed g gas body kvty k ks accu stack -> let map = accu in let l = List.rev (Script_map.fold (fun k v a -> (k, v) :: a) map []) in - let ks = log_if_needed (KIter (body, l, KCons (k, ks))) in + let ks = log_if_needed (KIter (body, kvty, l, KCons (k, ks))) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -483,11 +485,12 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | ISwap (_, k) -> let top, stack = stack in (step [@ocaml.tailcall]) g gas k ks top (accu, stack) - | IConst (_, v, k) -> (step [@ocaml.tailcall]) g gas k ks v (accu, stack) + | IConst (_, _ty, v, k) -> + (step [@ocaml.tailcall]) g gas k ks v (accu, stack) (* options *) | ICons_some (_, k) -> (step [@ocaml.tailcall]) g gas k ks (Some accu) stack - | ICons_none (_, k) -> + | ICons_none (_, _ty, k) -> (step [@ocaml.tailcall]) g gas k ks None (accu, stack) | IIf_none {branch_if_none; branch_if_some; k; _} -> ( match accu with @@ -528,8 +531,10 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let _, b = accu in (step [@ocaml.tailcall]) g gas k ks b stack (* unions *) - | ICons_left (_, k) -> (step [@ocaml.tailcall]) g gas k ks (L accu) stack - | ICons_right (_, k) -> (step [@ocaml.tailcall]) g gas k ks (R accu) stack + | ICons_left (_, _tyb, k) -> + (step [@ocaml.tailcall]) g gas k ks (L accu) stack + | ICons_right (_, _tya, k) -> + (step [@ocaml.tailcall]) g gas k ks (R accu) stack | IIf_left {branch_if_left; branch_if_right; k; _} -> ( match accu with | L v -> @@ -553,7 +558,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let tl, stack = stack in let accu = Script_list.cons accu tl in (step [@ocaml.tailcall]) g gas k ks accu stack - | INil (_, k) -> + | INil (_, _ty, k) -> let stack = (accu, stack) in let accu = Script_list.empty in (step [@ocaml.tailcall]) g gas k ks accu stack @@ -583,15 +588,15 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let list = accu in let len = Script_int.(abs (of_int list.length)) in (step [@ocaml.tailcall]) g gas k ks len stack - | IList_iter (_, body, k) -> - (ilist_iter [@ocaml.tailcall]) id g gas body k ks accu stack + | IList_iter (_, ty, body, k) -> + (ilist_iter [@ocaml.tailcall]) id g gas body ty k ks accu stack (* sets *) | IEmpty_set (_, ty, k) -> let res = Script_set.empty ty in let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack - | ISet_iter (_, body, k) -> - (iset_iter [@ocaml.tailcall]) id g gas body k ks accu stack + | ISet_iter (_, ty, body, k) -> + (iset_iter [@ocaml.tailcall]) id g gas body ty k ks accu stack | ISet_mem (_, k) -> let set, stack = stack in let res = Script_set.mem accu set in @@ -604,13 +609,13 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let res = Script_set.size accu in (step [@ocaml.tailcall]) g gas k ks res stack (* maps *) - | IEmpty_map (_, ty, k) -> - let res = Script_map.empty ty and stack = (accu, stack) in + | IEmpty_map (_, kty, _vty, k) -> + let res = Script_map.empty kty and stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack - | IMap_map (_, body, k) -> + | IMap_map (_, _, body, k) -> (imap_map [@ocaml.tailcall]) id g gas body k ks accu stack - | IMap_iter (_, body, k) -> - (imap_iter [@ocaml.tailcall]) id g gas body k ks accu stack + | IMap_iter (_, kvty, body, k) -> + (imap_iter [@ocaml.tailcall]) id g gas body kvty k ks accu stack | IMap_mem (_, k) -> let map, stack = stack in let res = Script_map.mem accu map in @@ -1239,7 +1244,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = fun w accu stack -> match w with | KRest -> (accu, stack) - | KPrefix (_, w) -> + | KPrefix (_, _ty, w) -> let accu, stack = stack in aux w accu stack in @@ -1440,12 +1445,12 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let accu = aux witness stack in (step [@ocaml.tailcall]) g gas k ks accu stack (* Tickets *) - | ITicket (_, k) -> + | ITicket (_, _, k) -> let contents = accu and amount, stack = stack in let ticketer = Contract.Originated sc.self in let accu = {ticketer; contents; amount} in (step [@ocaml.tailcall]) g gas k ks accu stack - | IRead_ticket (_, k) -> + | IRead_ticket (_, _, k) -> let {ticketer; contents; amount} = accu in let stack = (accu, stack) in let destination : Destination.t = Contract ticketer in @@ -1540,14 +1545,14 @@ and log : match k with | IList_map (_, body, k) -> (ilist_map [@ocaml.tailcall]) with_log g gas body k ks accu stack - | IList_iter (_, body, k) -> - (ilist_iter [@ocaml.tailcall]) with_log g gas body k ks accu stack - | ISet_iter (_, body, k) -> - (iset_iter [@ocaml.tailcall]) with_log g gas body k ks accu stack - | IMap_map (_, body, k) -> + | IList_iter (_, ty, body, k) -> + (ilist_iter [@ocaml.tailcall]) with_log g gas body ty k ks accu stack + | ISet_iter (_, ty, body, k) -> + (iset_iter [@ocaml.tailcall]) with_log g gas body ty k ks accu stack + | IMap_map (_, _ty, body, k) -> (imap_map [@ocaml.tailcall]) with_log g gas body k ks accu stack - | IMap_iter (_, body, k) -> - (imap_iter [@ocaml.tailcall]) with_log g gas body k ks accu stack + | IMap_iter (_, kvty, body, k) -> + (imap_iter [@ocaml.tailcall]) with_log g gas body kvty k ks accu stack | ILoop (_, body, k) -> let ks = with_log (KLoop_in (body, KCons (k, ks))) in (next [@ocaml.tailcall]) g gas ks accu stack @@ -1607,10 +1612,10 @@ and klog : let ks' = mk ks' in let ks = KUndip (x, ks') in (next [@ocaml.tailcall]) g gas ks accu stack - | KIter (body, xs, ks') -> + | KIter (body, ty, xs, ks') -> let ks' = mk ks' in let body = enable_log body in - (kiter [@ocaml.tailcall]) mk g gas body xs ks' accu stack + (kiter [@ocaml.tailcall]) mk g gas body ty xs ks' accu stack | KList_enter_body (body, xs, ys, len, ks') -> let ks' = mk ks' in (klist_enter [@ocaml.tailcall]) mk g gas body xs ys len ks' accu stack diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 5353189d61f3..862ae06c6364 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -368,7 +368,7 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = | KUndip (_, _) -> Interp_costs.Control.undip | KLoop_in (_, _) -> Interp_costs.Control.loop_in | KLoop_in_left (_, _) -> Interp_costs.Control.loop_in_left - | KIter (_, _, _) -> Interp_costs.Control.iter + | KIter (_, _, _, _) -> Interp_costs.Control.iter | KList_enter_body (_, xs, _, len, _) -> Interp_costs.Control.list_enter_body xs len | KList_exit_body (_, _, _, _, _) -> Interp_costs.Control.list_exit_body @@ -469,8 +469,8 @@ let rec kundip : a * s * (e, z, b, t) kinstr = fun w accu stack k -> match w with - | KPrefix (kinfo, w) -> - let k = IConst (kinfo, accu, k) in + | KPrefix (kinfo, ty, w) -> + let k = IConst (kinfo, ty, accu, k) in let accu, stack = stack in kundip w accu stack k | KRest -> (accu, stack, k) @@ -500,7 +500,11 @@ let apply ctxt gas capture_ty capture lam = kstack_ty = Item_t (capture_ty, arg_stack_ty); } in - IConst (kinfo_const, capture, ICons_pair (kinfo_pair, descr.kinstr))); + IConst + ( kinfo_const, + capture_ty, + capture, + ICons_pair (kinfo_pair, descr.kinstr) )); } in let full_expr = @@ -714,7 +718,7 @@ let rec interp_stack_prefix_preserving_operation : (d * w) * result = fun f n accu stk -> match (n, stk) with - | KPrefix (_, n), rest -> + | KPrefix (_, _, n), rest -> interp_stack_prefix_preserving_operation f n (fst rest) (snd rest) |> fun ((v, rest'), result) -> ((accu, (v, rest')), result) | KRest, v -> f accu v @@ -808,11 +812,12 @@ type ('a, 'b, 'c, 'r, 'f, 's) kloop_in_type = 'a * 's -> ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 's, 'r, 'f) kiter_type = +type ('a, 'b, 's, 'r, 'f, 'c) kiter_type = (('a, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('b, 'a * 's, 'a, 's) kinstr -> + ('b, 'c) ty -> 'b list -> ('a, 's, 'r, 'f) continuation -> 'a -> @@ -830,11 +835,12 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) ilist_map_type = 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g) ilist_iter_type = +type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'cmp) ilist_iter_type = (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'a, 'b) kinstr -> + ('e, 'cmp) ty -> ('a, 'b, 'f, 'g) kinstr -> ('f, 'g, 'c, 'd) continuation -> 'e boxed_list -> @@ -846,6 +852,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type = outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'a, 'b) kinstr -> + 'e comparable_ty -> ('a, 'b, 'f, 'g) kinstr -> ('f, 'g, 'c, 'd) continuation -> 'e set -> @@ -863,11 +870,12 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) imap_map_type = 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) imap_iter_type = +type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'cmp) imap_iter_type = (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e * 'f, 'a * 'b, 'a, 'b) kinstr -> + ('e * 'f, 'cmp) ty -> ('a, 'b, 'g, 'h) kinstr -> ('g, 'h, 'c, 'd) continuation -> ('e, 'f) map -> diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 0fe5d544b432..ab94b208738a 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -1642,7 +1642,7 @@ let rec make_dug_proof_argument : make_dug_proof_argument loc (n - 1) x rest |> Option.map @@ fun (Dug_proof_argument (n', aft')) -> let kinfo = {iloc = loc; kstack_ty = aft'} in - Dug_proof_argument (KPrefix (kinfo, n'), Item_t (v, aft')) + Dug_proof_argument (KPrefix (kinfo, v, n'), Item_t (v, aft')) | _, _ -> None let rec make_comb_get_proof_argument : @@ -1866,7 +1866,7 @@ let parse_uint10 = parse_uint ~nb_bits:10 let parse_uint11 = parse_uint ~nb_bits:11 -(* This type is used to: +(* The type returned by this function is used to: - serialize and deserialize tickets when they are stored or transferred, - type the READ_TICKET instruction. *) let opened_ticket_type loc ty = comparable_pair_3_t loc address_t ty nat_t @@ -2948,11 +2948,11 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : fun n stk -> match (Compare.Int.(n = 0), stk) with | true, rest -> ok @@ Dropn_proof_argument (KRest, rest) - | false, Item_t (_, rest) -> + | false, Item_t (a, rest) -> make_proof_argument (n - 1) rest >|? fun (Dropn_proof_argument (n', stack_after_drops)) -> let kinfo = {iloc = loc; kstack_ty = rest} in - Dropn_proof_argument (KPrefix (kinfo, n'), stack_after_drops) + Dropn_proof_argument (KPrefix (kinfo, a, n'), stack_after_drops) | _, _ -> let whole_stack = serialize_stack_for_error ctxt whole_stack in error (Bad_stack (loc, I_DROP, whole_n, whole_stack)) @@ -3025,7 +3025,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : make_proof_argument (n - 1) rest >|? fun (Dig_proof_argument (n', x, aft')) -> let kinfo = {iloc = loc; kstack_ty = aft'} in - Dig_proof_argument (KPrefix (kinfo, n'), x, Item_t (v, aft')) + Dig_proof_argument (KPrefix (kinfo, v, n'), x, Item_t (v, aft')) | _, _ -> let whole_stack = serialize_stack_for_error ctxt stack in error (Bad_stack (loc, I_DIG, 3, whole_stack)) @@ -3074,11 +3074,11 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : t d >>=? fun (v, ctxt) -> - let const = {apply = (fun kinfo k -> IConst (kinfo, v, k))} in + let const = {apply = (fun kinfo k -> IConst (kinfo, t, v, k))} in typed ctxt loc const (Item_t (t, stack)) | Prim (loc, I_UNIT, [], annot), stack -> check_var_type_annot loc annot >>?= fun () -> - let const = {apply = (fun kinfo k -> IConst (kinfo, (), k))} in + let const = {apply = (fun kinfo k -> IConst (kinfo, unit_t, (), k))} in typed ctxt loc const (Item_t (unit_t, stack)) (* options *) | Prim (loc, I_SOME, [], annot), Item_t (t, rest) -> @@ -3089,7 +3089,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy t >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let cons_none = {apply = (fun kinfo k -> ICons_none (kinfo, k))} in + let cons_none = {apply = (fun kinfo k -> ICons_none (kinfo, t, k))} in option_t loc t >>?= fun ty -> let stack_ty = Item_t (ty, stack) in typed ctxt loc cons_none stack_ty @@ -3271,7 +3271,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tr >>?= fun (Ex_ty tr, ctxt) -> check_constr_annot loc annot >>?= fun () -> - let cons_left = {apply = (fun kinfo k -> ICons_left (kinfo, k))} in + let cons_left = {apply = (fun kinfo k -> ICons_left (kinfo, tr, k))} in union_t loc tl tr >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in typed ctxt loc cons_left stack_ty @@ -3279,7 +3279,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tl >>?= fun (Ex_ty tl, ctxt) -> check_constr_annot loc annot >>?= fun () -> - let cons_right = {apply = (fun kinfo k -> ICons_right (kinfo, k))} in + let cons_right = {apply = (fun kinfo k -> ICons_right (kinfo, tl, k))} in union_t loc tl tr >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in typed ctxt loc cons_right stack_ty @@ -3324,7 +3324,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy t >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let nil = {apply = (fun kinfo k -> INil (kinfo, k))} in + let nil = {apply = (fun kinfo k -> INil (kinfo, t, k))} in list_t loc t >>?= fun ty -> typed ctxt loc nil (Item_t (ty, stack)) | ( Prim (loc, I_CONS, [], annot), Item_t (tv, (Item_t (List_t (t, _), _) as stack)) ) -> @@ -3421,7 +3421,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let hinfo = {iloc = loc; kstack_ty = rest} in let binfo = kinfo_of_descr ibody in let ibody = ibody.instr.apply binfo (IHalt hinfo) in - IList_iter (kinfo, ibody, k)); + IList_iter (kinfo, elt, ibody, k)); } in Lwt.return @@ -3465,7 +3465,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let hinfo = {iloc = loc; kstack_ty = rest} in let binfo = kinfo_of_descr ibody in let ibody = ibody.instr.apply binfo (IHalt hinfo) in - ISet_iter (kinfo, ibody, k)); + ISet_iter (kinfo, elt, ibody, k)); } in Lwt.return @@ -3507,13 +3507,13 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tv >>?= fun (Ex_ty tv, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEmpty_map (kinfo, tk, k))} in + let instr = {apply = (fun kinfo k -> IEmpty_map (kinfo, tk, tv, k))} in map_t loc tk tv >>?= fun ty -> typed ctxt loc instr (Item_t (ty, stack)) - | Prim (loc, I_MAP, [body], annot), Item_t (Map_t (k, elt, _), starting_rest) + | Prim (loc, I_MAP, [body], annot), Item_t (Map_t (kt, elt, _), starting_rest) -> ( check_kind [Seq_kind] body >>?= fun () -> check_var_type_annot loc annot >>?= fun () -> - pair_t loc k elt >>?= fun (Ty_ex_c ty) -> + pair_t loc kt elt >>?= fun (Ty_ex_c ty) -> non_terminal_recursion ?type_logger tc_context @@ -3540,10 +3540,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let binfo = kinfo_of_descr ibody in let hinfo = {iloc = loc; kstack_ty = aft} in let ibody = ibody.instr.apply binfo (IHalt hinfo) in - IMap_map (kinfo, ibody, k)); + IMap_map (kinfo, kt, ibody, k)); } in - map_t loc k ret >>? fun ty -> + map_t loc kt ret >>? fun ty -> let stack = Item_t (ty, rest) in typed_no_lwt ctxt loc instr stack ) | Typed {aft; _} -> @@ -3570,7 +3570,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let hinfo = {iloc = loc; kstack_ty = rest} in let binfo = kinfo_of_descr ibody in let ibody = ibody.instr.apply binfo (IHalt hinfo) in - IMap_iter (kinfo, ibody, k)); + IMap_iter (kinfo, ty, ibody, k)); } in Lwt.return @@ -3961,7 +3961,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : make_proof_argument (n - 1) rest >|=? fun (Dipn_proof_argument (n', ctxt, descr, aft')) -> let kinfo' = {iloc = loc; kstack_ty = aft'} in - let w = KPrefix (kinfo', n') in + let w = KPrefix (kinfo', v, n') in Dipn_proof_argument (w, ctxt, descr, Item_t (v, aft')) | _, _ -> Lwt.return @@ -4679,7 +4679,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> check_comparable loc t >>?= fun Eq -> ticket_t loc t >>?= fun res_ty -> - let instr = {apply = (fun kinfo k -> ITicket (kinfo, k))} in + let instr = {apply = (fun kinfo k -> ITicket (kinfo, t, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack | ( Prim (loc, I_READ_TICKET, [], annot), @@ -4687,7 +4687,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> let () = check_dupable_comparable_ty t in opened_ticket_type loc t >>?= fun result -> - let instr = {apply = (fun kinfo k -> IRead_ticket (kinfo, k))} in + let instr = {apply = (fun kinfo k -> IRead_ticket (kinfo, t, k))} in let stack = Item_t (result, full_stack) in typed ctxt loc instr stack | ( Prim (loc, I_SPLIT_TICKET, [], annot), diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index d9b7b30f13a8..152d3d3ae286 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -482,7 +482,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('a, 'b * ('c * 's)) kinfo * ('b, 'a * ('c * 's), 'r, 'f) kinstr -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | IConst : - ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo * ('ty, _) ty * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* Pairs @@ -508,7 +508,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('v, 'a * 's) kinfo * ('v option, 'a * 's, 'r, 'f) kinstr -> ('v, 'a * 's, 'r, 'f) kinstr | ICons_none : - ('a, 's) kinfo * ('b option, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo * ('b, _) ty * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_none : { kinfo : ('a option, 'b * 's) kinfo; @@ -528,10 +528,14 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------ *) | ICons_left : - ('a, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + ('a, 'c * 's) kinfo + * ('b, _) ty + * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('a, 'c * 's, 'r, 'f) kinstr | ICons_right : - ('b, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + ('b, 'c * 's) kinfo + * ('a, _) ty + * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('b, 'c * 's, 'r, 'f) kinstr | IIf_left : { kinfo : (('a, 'b) union, 's) kinfo; @@ -548,7 +552,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('a, 'a boxed_list * 's) kinfo * ('a boxed_list, 's, 'r, 'f) kinstr -> ('a, 'a boxed_list * 's, 'r, 'f) kinstr | INil : - ('a, 's) kinfo * ('b boxed_list, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo * ('b, _) ty * ('b boxed_list, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_cons : { kinfo : ('a boxed_list, 'b * 's) kinfo; @@ -564,6 +568,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : ('a boxed_list, 'b * 's) kinfo + * ('a, _) ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr @@ -579,6 +584,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | ISet_iter : ('a set, 'b * 's) kinfo + * 'a comparable_ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a set, 'b * 's, 'r, 'f) kinstr @@ -596,15 +602,20 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ---- *) | IEmpty_map : - ('a, 's) kinfo * 'b comparable_ty * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo + * 'b comparable_ty + * ('c, _) ty + * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IMap_map : (('a, 'b) map, 'd * 's) kinfo + * 'a comparable_ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr | IMap_iter : (('a, 'b) map, 'c * 's) kinfo + * ('a * 'b, _) ty * ('a * 'b, 'c * 's, 'c, 's) kinstr * ('c, 's, 'r, 'f) kinstr -> (('a, 'b) map, 'c * 's, 'r, 'f) kinstr @@ -1103,10 +1114,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('t, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | ITicket : - ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr + ('a, n num * 's) kinfo * 'a comparable_ty * ('a ticket, 's, 'r, 'f) kinstr -> ('a, n num * 's, 'r, 'f) kinstr | IRead_ticket : ('a ticket, 's) kinfo + * 'a comparable_ty * (address * ('a * n num), 'a ticket * 's, 'r, 'f) kinstr -> ('a ticket, 's, 'r, 'f) kinstr | ISplit_ticket : @@ -1173,7 +1185,10 @@ and (_, _, _, _) continuation = ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) continuation -> (('a, 'b) union, 's, 'r, 'f) continuation | KIter : - ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation + ('a, 'b * 's, 'b, 's) kinstr + * ('a, _) ty + * 'a list + * ('b, 's, 'r, 'f) continuation -> ('b, 's, 'r, 'f) continuation | KList_enter_body : ('a, 'c * 's, 'b, 'c * 's) kinstr @@ -1315,6 +1330,7 @@ and ('a, 's) kinfo = {iloc : Script.location; kstack_ty : ('a, 's) stack_ty} and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : ('y, 'u) kinfo + * ('a, _) ty * ('c, 'v, 'd, 'w, 'x, 's, 'y, 'u) stack_prefix_preservation_witness -> ( 'c, 'v, @@ -1441,32 +1457,32 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = | IDrop (kinfo, _) -> kinfo | IDup (kinfo, _) -> kinfo | ISwap (kinfo, _) -> kinfo - | IConst (kinfo, _, _) -> kinfo + | IConst (kinfo, _, _, _) -> kinfo | ICons_pair (kinfo, _) -> kinfo | ICar (kinfo, _) -> kinfo | ICdr (kinfo, _) -> kinfo | IUnpair (kinfo, _) -> kinfo | ICons_some (kinfo, _) -> kinfo - | ICons_none (kinfo, _) -> kinfo + | ICons_none (kinfo, _, _) -> kinfo | IIf_none {kinfo; _} -> kinfo | IOpt_map {kinfo; _} -> kinfo - | ICons_left (kinfo, _) -> kinfo - | ICons_right (kinfo, _) -> kinfo + | ICons_left (kinfo, _, _) -> kinfo + | ICons_right (kinfo, _, _) -> kinfo | IIf_left {kinfo; _} -> kinfo | ICons_list (kinfo, _) -> kinfo - | INil (kinfo, _) -> kinfo + | INil (kinfo, _, _) -> kinfo | IIf_cons {kinfo; _} -> kinfo | IList_map (kinfo, _, _) -> kinfo - | IList_iter (kinfo, _, _) -> kinfo + | IList_iter (kinfo, _, _, _) -> kinfo | IList_size (kinfo, _) -> kinfo | IEmpty_set (kinfo, _, _) -> kinfo - | ISet_iter (kinfo, _, _) -> kinfo + | ISet_iter (kinfo, _, _, _) -> kinfo | ISet_mem (kinfo, _) -> kinfo | ISet_update (kinfo, _) -> kinfo | ISet_size (kinfo, _) -> kinfo - | IEmpty_map (kinfo, _, _) -> kinfo - | IMap_map (kinfo, _, _) -> kinfo - | IMap_iter (kinfo, _, _) -> kinfo + | IEmpty_map (kinfo, _, _, _) -> kinfo + | IMap_map (kinfo, _, _, _) -> kinfo + | IMap_iter (kinfo, _, _, _) -> kinfo | IMap_mem (kinfo, _) -> kinfo | IMap_get (kinfo, _) -> kinfo | IMap_update (kinfo, _) -> kinfo @@ -1587,8 +1603,8 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = | IComb_get (kinfo, _, _, _) -> kinfo | IComb_set (kinfo, _, _, _) -> kinfo | IDup_n (kinfo, _, _, _) -> kinfo - | ITicket (kinfo, _) -> kinfo - | IRead_ticket (kinfo, _) -> kinfo + | ITicket (kinfo, _, _) -> kinfo + | IRead_ticket (kinfo, _, _) -> kinfo | ISplit_ticket (kinfo, _) -> kinfo | IJoin_tickets (kinfo, _, _) -> kinfo | IHalt kinfo -> kinfo @@ -1607,13 +1623,13 @@ let kinstr_rewritek : | IDrop (kinfo, k) -> IDrop (kinfo, f.apply k) | IDup (kinfo, k) -> IDup (kinfo, f.apply k) | ISwap (kinfo, k) -> ISwap (kinfo, f.apply k) - | IConst (kinfo, x, k) -> IConst (kinfo, x, f.apply k) + | IConst (kinfo, ty, x, k) -> IConst (kinfo, ty, x, f.apply k) | ICons_pair (kinfo, k) -> ICons_pair (kinfo, f.apply k) | ICar (kinfo, k) -> ICar (kinfo, f.apply k) | ICdr (kinfo, k) -> ICdr (kinfo, f.apply k) | IUnpair (kinfo, k) -> IUnpair (kinfo, f.apply k) | ICons_some (kinfo, k) -> ICons_some (kinfo, f.apply k) - | ICons_none (kinfo, k) -> ICons_none (kinfo, f.apply k) + | ICons_none (kinfo, ty, k) -> ICons_none (kinfo, ty, f.apply k) | IIf_none {kinfo; branch_if_none; branch_if_some; k} -> IIf_none { @@ -1626,8 +1642,8 @@ let kinstr_rewritek : let body = f.apply body in let k = f.apply k in IOpt_map {kinfo; body; k} - | ICons_left (kinfo, k) -> ICons_left (kinfo, f.apply k) - | ICons_right (kinfo, k) -> ICons_right (kinfo, f.apply k) + | ICons_left (kinfo, ty, k) -> ICons_left (kinfo, ty, f.apply k) + | ICons_right (kinfo, ty, k) -> ICons_right (kinfo, ty, f.apply k) | IIf_left {kinfo; branch_if_left; branch_if_right; k} -> IIf_left { @@ -1637,7 +1653,7 @@ let kinstr_rewritek : k = f.apply k; } | ICons_list (kinfo, k) -> ICons_list (kinfo, f.apply k) - | INil (kinfo, k) -> INil (kinfo, f.apply k) + | INil (kinfo, ty, k) -> INil (kinfo, ty, f.apply k) | IIf_cons {kinfo; branch_if_cons; branch_if_nil; k} -> IIf_cons { @@ -1647,16 +1663,20 @@ let kinstr_rewritek : k = f.apply k; } | IList_map (kinfo, body, k) -> IList_map (kinfo, f.apply body, f.apply k) - | IList_iter (kinfo, body, k) -> IList_iter (kinfo, f.apply body, f.apply k) + | IList_iter (kinfo, ty, body, k) -> + IList_iter (kinfo, ty, f.apply body, f.apply k) | IList_size (kinfo, k) -> IList_size (kinfo, f.apply k) | IEmpty_set (kinfo, ty, k) -> IEmpty_set (kinfo, ty, f.apply k) - | ISet_iter (kinfo, body, k) -> ISet_iter (kinfo, f.apply body, f.apply k) + | ISet_iter (kinfo, ty, body, k) -> + ISet_iter (kinfo, ty, f.apply body, f.apply k) | ISet_mem (kinfo, k) -> ISet_mem (kinfo, f.apply k) | ISet_update (kinfo, k) -> ISet_update (kinfo, f.apply k) | ISet_size (kinfo, k) -> ISet_size (kinfo, f.apply k) - | IEmpty_map (kinfo, cty, k) -> IEmpty_map (kinfo, cty, f.apply k) - | IMap_map (kinfo, body, k) -> IMap_map (kinfo, f.apply body, f.apply k) - | IMap_iter (kinfo, body, k) -> IMap_iter (kinfo, f.apply body, f.apply k) + | IEmpty_map (kinfo, cty, ty, k) -> IEmpty_map (kinfo, cty, ty, f.apply k) + | IMap_map (kinfo, kty, body, k) -> + IMap_map (kinfo, kty, f.apply body, f.apply k) + | IMap_iter (kinfo, kvty, body, k) -> + IMap_iter (kinfo, kvty, f.apply body, f.apply k) | IMap_mem (kinfo, k) -> IMap_mem (kinfo, f.apply k) | IMap_get (kinfo, k) -> IMap_get (kinfo, f.apply k) | IMap_update (kinfo, k) -> IMap_update (kinfo, f.apply k) @@ -1795,8 +1815,8 @@ let kinstr_rewritek : | IComb_get (kinfo, n, p, k) -> IComb_get (kinfo, n, p, f.apply k) | IComb_set (kinfo, n, p, k) -> IComb_set (kinfo, n, p, f.apply k) | IDup_n (kinfo, n, p, k) -> IDup_n (kinfo, n, p, f.apply k) - | ITicket (kinfo, k) -> ITicket (kinfo, f.apply k) - | IRead_ticket (kinfo, k) -> IRead_ticket (kinfo, f.apply k) + | ITicket (kinfo, ty, k) -> ITicket (kinfo, ty, f.apply k) + | IRead_ticket (kinfo, ty, k) -> IRead_ticket (kinfo, ty, f.apply k) | ISplit_ticket (kinfo, k) -> ISplit_ticket (kinfo, f.apply k) | IJoin_tickets (kinfo, ty, k) -> IJoin_tickets (kinfo, ty, f.apply k) | IHalt kinfo -> IHalt kinfo @@ -1900,6 +1920,8 @@ let pair_t : let (Ex_dand cmp) = dand (is_comparable l) (is_comparable r) in Ty_ex_c (Pair_t (l, r, {size}, cmp)) +let pair_3_t loc l m r = pair_t loc m r >>? fun (Ty_ex_c r) -> pair_t loc l r + let comparable_pair_t loc l r = Type_size.compound2 loc (ty_size l) (ty_size r) >|? fun size -> Pair_t (l, r, {size}, YesYes) @@ -2043,35 +2065,35 @@ let kinstr_traverse i init f = | IDrop (_, k) -> (next [@ocaml.tailcall]) k | IDup (_, k) -> (next [@ocaml.tailcall]) k | ISwap (_, k) -> (next [@ocaml.tailcall]) k - | IConst (_, _, k) -> (next [@ocaml.tailcall]) k + | IConst (_, _, _, k) -> (next [@ocaml.tailcall]) k | ICons_pair (_, k) -> (next [@ocaml.tailcall]) k | ICar (_, k) -> (next [@ocaml.tailcall]) k | ICdr (_, k) -> (next [@ocaml.tailcall]) k | IUnpair (_, k) -> (next [@ocaml.tailcall]) k | ICons_some (_, k) -> (next [@ocaml.tailcall]) k - | ICons_none (_, k) -> (next [@ocaml.tailcall]) k + | ICons_none (_, _, k) -> (next [@ocaml.tailcall]) k | IIf_none {kinfo = _; branch_if_none = k1; branch_if_some = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k | IOpt_map {kinfo = _; body; k} -> (next2 [@ocaml.tailcall]) body k - | ICons_left (_, k) -> (next [@ocaml.tailcall]) k - | ICons_right (_, k) -> (next [@ocaml.tailcall]) k + | ICons_left (_, _, k) -> (next [@ocaml.tailcall]) k + | ICons_right (_, _, k) -> (next [@ocaml.tailcall]) k | IIf_left {kinfo = _; branch_if_left = k1; branch_if_right = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k | ICons_list (_, k) -> (next [@ocaml.tailcall]) k - | INil (_, k) -> (next [@ocaml.tailcall]) k + | INil (_, _, k) -> (next [@ocaml.tailcall]) k | IIf_cons {kinfo = _; branch_if_nil = k1; branch_if_cons = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k | IList_map (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 - | IList_iter (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 + | IList_iter (_, _, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IList_size (_, k) -> (next [@ocaml.tailcall]) k | IEmpty_set (_, _, k) -> (next [@ocaml.tailcall]) k - | ISet_iter (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 + | ISet_iter (_, _, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | ISet_mem (_, k) -> (next [@ocaml.tailcall]) k | ISet_update (_, k) -> (next [@ocaml.tailcall]) k | ISet_size (_, k) -> (next [@ocaml.tailcall]) k - | IEmpty_map (_, _, k) -> (next [@ocaml.tailcall]) k - | IMap_map (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 - | IMap_iter (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 + | IEmpty_map (_, _, _, k) -> (next [@ocaml.tailcall]) k + | IMap_map (_, _, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 + | IMap_iter (_, _, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IMap_mem (_, k) -> (next [@ocaml.tailcall]) k | IMap_get (_, k) -> (next [@ocaml.tailcall]) k | IMap_update (_, k) -> (next [@ocaml.tailcall]) k @@ -2193,8 +2215,8 @@ let kinstr_traverse i init f = | IComb_get (_, _, _, k) -> (next [@ocaml.tailcall]) k | IComb_set (_, _, _, k) -> (next [@ocaml.tailcall]) k | IDup_n (_, _, _, k) -> (next [@ocaml.tailcall]) k - | ITicket (_, k) -> (next [@ocaml.tailcall]) k - | IRead_ticket (_, k) -> (next [@ocaml.tailcall]) k + | ITicket (_, _, k) -> (next [@ocaml.tailcall]) k + | IRead_ticket (_, _, k) -> (next [@ocaml.tailcall]) k | ISplit_ticket (_, k) -> (next [@ocaml.tailcall]) k | IJoin_tickets (_, _, k) -> (next [@ocaml.tailcall]) k | IOpen_chest (_, k) -> (next [@ocaml.tailcall]) k diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index adbcf6bd1e62..f06591a38ebc 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -439,7 +439,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('a, 'b * ('c * 's)) kinfo * ('b, 'a * ('c * 's), 'r, 'f) kinstr -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | IConst : - ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo * ('ty, _) ty * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* Pairs @@ -465,7 +465,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('v, 'a * 's) kinfo * ('v option, 'a * 's, 'r, 'f) kinstr -> ('v, 'a * 's, 'r, 'f) kinstr | ICons_none : - ('a, 's) kinfo * ('b option, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo * ('b, _) ty * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_none : { kinfo : ('a option, 'b * 's) kinfo; @@ -485,10 +485,14 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------ *) | ICons_left : - ('a, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + ('a, 'c * 's) kinfo + * ('b, _) ty + * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('a, 'c * 's, 'r, 'f) kinstr | ICons_right : - ('b, 'c * 's) kinfo * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + ('b, 'c * 's) kinfo + * ('a, _) ty + * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('b, 'c * 's, 'r, 'f) kinstr | IIf_left : { kinfo : (('a, 'b) union, 's) kinfo; @@ -505,7 +509,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ('a, 'a boxed_list * 's) kinfo * ('a boxed_list, 's, 'r, 'f) kinstr -> ('a, 'a boxed_list * 's, 'r, 'f) kinstr | INil : - ('a, 's) kinfo * ('b boxed_list, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo * ('b, _) ty * ('b boxed_list, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_cons : { kinfo : ('a boxed_list, 'b * 's) kinfo; @@ -521,6 +525,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : ('a boxed_list, 'b * 's) kinfo + * ('a, _) ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr @@ -536,6 +541,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | ISet_iter : ('a set, 'b * 's) kinfo + * 'a comparable_ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a set, 'b * 's, 'r, 'f) kinstr @@ -553,15 +559,20 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ---- *) | IEmpty_map : - ('a, 's) kinfo * 'b comparable_ty * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr + ('a, 's) kinfo + * 'b comparable_ty + * ('c, _) ty + * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IMap_map : (('a, 'b) map, 'd * 's) kinfo + * 'a comparable_ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr | IMap_iter : (('a, 'b) map, 'c * 's) kinfo + * ('a * 'b, _) ty * ('a * 'b, 'c * 's, 'c, 's) kinstr * ('c, 's, 'r, 'f) kinstr -> (('a, 'b) map, 'c * 's, 'r, 'f) kinstr @@ -1097,10 +1108,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('t, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | ITicket : - ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr + ('a, n num * 's) kinfo * 'a comparable_ty * ('a ticket, 's, 'r, 'f) kinstr -> ('a, n num * 's, 'r, 'f) kinstr | IRead_ticket : ('a ticket, 's) kinfo + * 'a comparable_ty * (address * ('a * n num), 'a ticket * 's, 'r, 'f) kinstr -> ('a ticket, 's, 'r, 'f) kinstr | ISplit_ticket : @@ -1232,7 +1244,10 @@ and (_, _, _, _) continuation = (* This continuation is executed at each iteration of a traversal. (Used in List, Map and Set.) *) | KIter : - ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation + ('a, 'b * 's, 'b, 's) kinstr + * ('a, _) ty + * 'a list + * ('b, 's, 'r, 'f) continuation -> ('b, 's, 'r, 'f) continuation (* This continuation represents each step of a List.map. *) | KList_enter_body : @@ -1433,6 +1448,7 @@ and ('a, 's) kinfo = {iloc : Script.location; kstack_ty : ('a, 's) stack_ty} and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : ('y, 'u) kinfo + * ('a, _) ty * ('c, 'v, 'd, 'w, 'x, 's, 'y, 'u) stack_prefix_preservation_witness -> ( 'c, 'v, @@ -1606,6 +1622,13 @@ val bool_t : bool comparable_ty val pair_t : Script.location -> ('a, _) ty -> ('b, _) ty -> ('a, 'b) pair ty_ex_c tzresult +val pair_3_t : + Script.location -> + ('a, _) ty -> + ('b, _) ty -> + ('c, _) ty -> + ('a, ('b, 'c) pair) pair ty_ex_c tzresult + val comparable_pair_t : Script.location -> 'a comparable_ty -> diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 0ae56ce6e9f3..a2f5de399f87 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -348,37 +348,49 @@ and kinstr_size : | IDrop (kinfo, _) -> ret_succ_adding accu (base kinfo) | IDup (kinfo, _) -> ret_succ_adding accu (base kinfo) | ISwap (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IConst (kinfo, x, k) -> + | IConst (kinfo, ty, x, _) -> let accu = ret_succ_adding accu (base kinfo +! word_size) in - let (Ty_ex_c top_ty) = stack_top_ty (kinfo_of_kinstr k).kstack_ty in - (value_size [@ocaml.tailcall]) ~count_lambda_nodes accu top_ty x + (value_size [@ocaml.tailcall]) + ~count_lambda_nodes + (accu ++ ty_size ty) + ty + x | ICons_pair (kinfo, _) -> ret_succ_adding accu (base kinfo) | ICar (kinfo, _) -> ret_succ_adding accu (base kinfo) | ICdr (kinfo, _) -> ret_succ_adding accu (base kinfo) | IUnpair (kinfo, _) -> ret_succ_adding accu (base kinfo) | ICons_some (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICons_none (kinfo, _) -> ret_succ_adding accu (base kinfo) + | ICons_none (kinfo, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo) | IIf_none {kinfo; _} -> ret_succ_adding accu (base kinfo) | IOpt_map {kinfo; _} -> ret_succ_adding accu (base kinfo) - | ICons_left (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICons_right (kinfo, _) -> ret_succ_adding accu (base kinfo) + | ICons_left (kinfo, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo) + | ICons_right (kinfo, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo) | IIf_left {kinfo; _} -> ret_succ_adding accu (base kinfo) | ICons_list (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INil (kinfo, _) -> ret_succ_adding accu (base kinfo) + | INil (kinfo, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base kinfo) | IIf_cons {kinfo; _} -> ret_succ_adding accu (base kinfo) | IList_map (kinfo, _, _) -> ret_succ_adding accu (base kinfo) - | IList_iter (kinfo, _, _) -> ret_succ_adding accu (base kinfo) + | IList_iter (kinfo, ty, _, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo) | IList_size (kinfo, _) -> ret_succ_adding accu (base kinfo) | IEmpty_set (kinfo, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) - | ISet_iter (kinfo, _, _) -> ret_succ_adding accu (base kinfo) + | ISet_iter (kinfo, ty, _, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo) | ISet_mem (kinfo, _) -> ret_succ_adding accu (base kinfo) | ISet_update (kinfo, _) -> ret_succ_adding accu (base kinfo) | ISet_size (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEmpty_map (kinfo, cty, _) -> - ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) - | IMap_map (kinfo, _, _) -> ret_succ_adding accu (base kinfo +! word_size) - | IMap_iter (kinfo, _, _) -> ret_succ_adding accu (base kinfo +! word_size) + | IEmpty_map (kinfo, cty, vty, _) -> + ret_succ_adding + (accu ++ ty_size cty ++ ty_size vty) + (base kinfo +! word_size) + | IMap_map (kinfo, ty, _, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo +! word_size) + | IMap_iter (kinfo, pty, _, _) -> + ret_succ_adding (accu ++ ty_size pty) (base kinfo +! word_size) | IMap_mem (kinfo, _) -> ret_succ_adding accu (base kinfo) | IMap_get (kinfo, _) -> ret_succ_adding accu (base kinfo) | IMap_update (kinfo, _) -> ret_succ_adding accu (base kinfo) @@ -552,8 +564,10 @@ and kinstr_size : ret_succ_adding accu (base kinfo +! (word_size *? 2) +! dup_n_gadt_witness_size n) - | ITicket (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IRead_ticket (kinfo, _) -> ret_succ_adding accu (base kinfo) + | ITicket (kinfo, cty, _) -> + ret_succ_adding (accu ++ ty_size cty) (base kinfo) + | IRead_ticket (kinfo, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base kinfo) | ISplit_ticket (kinfo, _) -> ret_succ_adding accu (base kinfo) | IJoin_tickets (kinfo, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) @@ -587,6 +601,7 @@ let rec kinstr_extra_size : type a s r f. (a, s, r, f) kinstr -> nodes_and_size | IComb_get (_, n, _, _) -> comb (n / 2) | IComb_set (_, n, _, _) -> comb (n / 2) | IDup_n (_, n, _, _) -> dup_n_gadt_witness_size n + | ICompare (_, ty, _) -> ty_size ty (* Other extra *) | ILambda (_, lambda, _) -> lambda_extra_size lambda | _ -> zero diff --git a/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml index e945c8c20bf4..20aa86d50d13 100644 --- a/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml @@ -128,7 +128,7 @@ let test_stack_overflow () = let enorme_et_seq n = let rec aux n acc = if n = 0 then acc - else aux (n - 1) (IConst (kinfo, true, IDrop (kinfo', acc))) + else aux (n - 1) (IConst (kinfo, Bool_t, true, IDrop (kinfo', acc))) in aux n (IHalt kinfo) in @@ -173,6 +173,7 @@ let test_stack_overflow_in_lwt () = ( kinfo stack1, IConst ( kinfo stack2, + Unit_t, (), IBig_map_mem (kinfo stack3, IDrop (kinfo stack4, acc)) ) )) in -- GitLab From 509fdf89c163348d9090d10fd4847b9e3442cff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Cauderlier?= Date: Wed, 2 Mar 2022 17:11:31 +0100 Subject: [PATCH 04/42] Proto/Michelson: Remove stack types from kinfos --- .../interpreter_benchmarks.ml | 889 ++++++++-------- .../interpreter_workload.ml | 4 + src/proto_alpha/lib_plugin/RPC.ml | 3 +- .../lib_protocol/script_interpreter.ml | 245 ++--- .../lib_protocol/script_interpreter.mli | 2 + .../lib_protocol/script_interpreter_defs.ml | 48 +- .../lib_protocol/script_ir_translator.ml | 36 +- .../lib_protocol/script_typed_ir.ml | 980 ++++++++++++++---- .../lib_protocol/script_typed_ir.mli | 26 +- .../lib_protocol/script_typed_ir_size.ml | 4 +- .../michelson/test_interpretation.ml | 26 +- 11 files changed, 1383 insertions(+), 880 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index 26699e044676..ff58c4aa2c42 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -31,6 +31,7 @@ open Protocol type ex_stack_and_kinstr = | Ex_stack_and_kinstr : { stack : 'a * 'b; + stack_type : ('a, 'b) Script_typed_ir.stack_ty; kinstr : ('a, 'b, 'c, 'd) Script_typed_ir.kinstr; } -> ex_stack_and_kinstr @@ -38,6 +39,7 @@ type ex_stack_and_kinstr = type ex_stack_and_continuation = | Ex_stack_and_cont : { stack : 'a * 'b; + stack_type : ('a, 'b) Script_typed_ir.stack_ty; cont : ('a, 'b, 'c, 'd) Script_typed_ir.continuation; } -> ex_stack_and_continuation @@ -170,7 +172,7 @@ let benchmark_from_kinstr_and_stack : fun ?amplification ctxt step_constants stack_kinstr -> let ctxt = Gas_helpers.set_limit ctxt in match stack_kinstr with - | Ex_stack_and_kinstr {stack = bef_top, bef; kinstr} -> + | Ex_stack_and_kinstr {stack = bef_top, bef; stack_type; kinstr} -> let workload, closure = match amplification with | None -> @@ -178,6 +180,7 @@ let benchmark_from_kinstr_and_stack : Interpreter_workload.extract_deps ctxt step_constants + stack_type kinstr (bef_top, bef) in @@ -201,6 +204,7 @@ let benchmark_from_kinstr_and_stack : Interpreter_workload.extract_deps ctxt step_constants + stack_type kinstr (bef_top, bef) in @@ -294,19 +298,30 @@ let make_simple_benchmark : ?salt:string -> ?check:(unit -> unit) -> name:Interpreter_workload.instruction_name -> + stack_type:(bef_top, bef) Script_typed_ir.stack_ty -> kinstr:(bef_top, bef, res_top, res) Script_typed_ir.kinstr -> unit -> Benchmark.t = - fun ?amplification ?intercept ?more_tags ?salt ?check ~name ~kinstr () -> - let kinfo = Script_typed_ir.kinfo_of_kinstr kinstr in - let stack_ty = kinfo.kstack_ty in + fun ?amplification + ?intercept + ?more_tags + ?salt + ?check + ~name + ~stack_type + ~kinstr + () -> let kinstr_and_stack_sampler config rng_state = let _, (module Samplers) = make_default_samplers config.Default_config.sampler in fun () -> Ex_stack_and_kinstr - {stack = Samplers.Random_value.stack stack_ty rng_state; kinstr} + { + stack = Samplers.Random_value.stack stack_type rng_state; + stack_type; + kinstr; + } in make_benchmark ?amplification @@ -334,10 +349,10 @@ let benchmark ?amplification ?intercept ?more_tags ?salt ?check ~name Registration_helpers.register bench let benchmark_with_stack_sampler ?amplification ?intercept ?more_tags ?salt - ?check ~name ~kinstr ~stack_sampler () = + ?check ~stack_type ~name ~kinstr ~stack_sampler () = let kinstr_and_stack_sampler config rng_state = let stack_sampler = stack_sampler config rng_state in - fun () -> Ex_stack_and_kinstr {stack = stack_sampler (); kinstr} + fun () -> Ex_stack_and_kinstr {stack = stack_sampler (); stack_type; kinstr} in let bench = make_benchmark @@ -366,7 +381,7 @@ let benchmark_with_fixed_stack ?amplification ?intercept ?more_tags ?salt ?check () let simple_benchmark_with_stack_sampler ?amplification ?intercept_stack ?salt - ?more_tags ?check ~name ~kinstr ~stack_sampler () = + ?more_tags ?check ~name ~stack_type ~kinstr ~stack_sampler () = benchmark_with_stack_sampler ?amplification ~intercept:false @@ -374,6 +389,7 @@ let simple_benchmark_with_stack_sampler ?amplification ?intercept_stack ?salt ?more_tags ?check ~name + ~stack_type ~kinstr ~stack_sampler () ; @@ -386,13 +402,14 @@ let simple_benchmark_with_stack_sampler ?amplification ?intercept_stack ?salt ?salt ?check ~name + ~stack_type ~stack ~kinstr ()) intercept_stack let simple_benchmark ?amplification ?intercept_stack ?more_tags ?salt ?check - ~name ~kinstr () = + ~name ~stack_type ~kinstr () = let bench = make_simple_benchmark ?amplification @@ -401,6 +418,7 @@ let simple_benchmark ?amplification ?intercept_stack ?more_tags ?salt ?check ?salt ?check ~name + ~stack_type ~kinstr () in @@ -414,6 +432,7 @@ let simple_benchmark ?amplification ?intercept_stack ?more_tags ?salt ?check ?salt ?check ~name + ~stack_type ~stack ~kinstr ()) @@ -431,7 +450,7 @@ let benchmark_from_continuation : fun ?amplification ctxt step_constants stack_cont -> let ctxt = Gas_helpers.set_limit ctxt in match stack_cont with - | Ex_stack_and_cont {stack = bef_top, bef; cont} -> + | Ex_stack_and_cont {stack = bef_top, bef; cont; stack_type} -> let workload, closure = match amplification with | None -> @@ -439,6 +458,7 @@ let benchmark_from_continuation : Interpreter_workload.extract_deps_continuation ctxt step_constants + stack_type cont (bef_top, bef) in @@ -452,6 +472,7 @@ let benchmark_from_continuation : None (outdated_ctxt, step_constants) (Local_gas_counter 9_999_999_999) + stack_type cont bef_top bef) @@ -463,6 +484,7 @@ let benchmark_from_continuation : Interpreter_workload.extract_deps_continuation ctxt step_constants + stack_type cont (bef_top, bef) in @@ -480,6 +502,7 @@ let benchmark_from_continuation : None (outdated_ctxt, step_constants) (Local_gas_counter 9_999_999_999) + stack_type cont bef_top bef) @@ -604,24 +627,17 @@ module Registration_section = struct let sf = Printf.sprintf - let kinfo kstack_ty = {iloc = 0; kstack_ty} - - let halt stack_ty = IHalt (kinfo stack_ty) + let dummy_kinfo () = {iloc = 0} - let halt_unit = halt (unit @$ bot) - - let halt_unitunit = halt (unit @$ unit @$ bot) - - let kinfo_unit = kinfo (unit @$ bot) - - let kinfo_unitunit = kinfo (unit @$ unit @$ bot) + let halt () = IHalt (dummy_kinfo ()) let () = (* KHalt *) simple_benchmark ~amplification:100 ~name:Interpreter_workload.N_IHalt - ~kinstr:halt_unit + ~stack_type:(unit @$ bot) + ~kinstr:(halt ()) () module Amplification = struct @@ -674,7 +690,8 @@ module Registration_section = struct simple_benchmark ~amplification:100 ~name:Interpreter_workload.N_IDrop - ~kinstr:(IDrop (kinfo_unitunit, halt_unit)) + ~stack_type:(unit @$ unit @$ bot) + ~kinstr:(IDrop (dummy_kinfo (), halt ())) () let () = @@ -682,21 +699,24 @@ module Registration_section = struct simple_benchmark ~amplification:100 ~name:Interpreter_workload.N_IDup - ~kinstr:(IDup (kinfo_unit, halt_unitunit)) + ~stack_type:(unit @$ unit @$ bot) + ~kinstr:(IDup (dummy_kinfo (), halt ())) () let () = simple_benchmark ~amplification:100 ~name:Interpreter_workload.N_ISwap - ~kinstr:(ISwap (kinfo_unitunit, halt_unitunit)) + ~stack_type:(unit @$ unit @$ bot) + ~kinstr:(ISwap (dummy_kinfo (), halt ())) () let () = simple_benchmark ~amplification:100 ~name:Interpreter_workload.N_IConst - ~kinstr:(IConst (kinfo_unit, unit, (), halt_unitunit)) + ~stack_type:(unit @$ unit @$ bot) + ~kinstr:(IConst (dummy_kinfo (), unit, (), halt ())) () (* deep stack manipulation *) @@ -734,10 +754,14 @@ module Registration_section = struct >>=? fun (judgement, _) -> match judgement with | Script_ir_translator.Typed descr -> - let kinfo = {iloc = 0; kstack_ty = descr.bef} in - let kinfo' = {iloc = 0; kstack_ty = descr.aft} in - let kinstr = descr.instr.apply kinfo (IHalt kinfo') in - return (Ex_stack_and_kinstr {stack; kinstr}) + let kinstr = + descr.instr.apply + (dummy_kinfo ()) + (IHalt (dummy_kinfo ())) + in + return + (Ex_stack_and_kinstr + {stack; kinstr; stack_type = descr.bef}) | Script_ir_translator.Failed _ -> assert false )) open Protocol.Michelson_v1_primitives @@ -952,25 +976,29 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ICons_pair - ~kinstr:(ICons_pair (kinfo_unitunit, halt (cpair unit unit @$ bot))) + ~stack_type:(unit @$ unit @$ bot) + ~kinstr:(ICons_pair (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ICar - ~kinstr:(ICar (kinfo (cpair unit unit @$ bot), halt_unit)) + ~stack_type:(cpair unit unit @$ bot) + ~kinstr:(ICar (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ICdr - ~kinstr:(ICdr (kinfo (cpair unit unit @$ bot), halt_unit)) + ~stack_type:(cpair unit unit @$ bot) + ~kinstr:(ICdr (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IUnpair - ~kinstr:(IUnpair (kinfo (cpair unit unit @$ bot), halt_unitunit)) + ~stack_type:(cpair unit unit @$ bot) + ~kinstr:(IUnpair (dummy_kinfo (), halt ())) () end @@ -978,26 +1006,28 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ICons_some - ~kinstr:(ICons_some (kinfo_unit, halt (option unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ICons_some (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ICons_none - ~kinstr: - (ICons_none (kinfo_unit, unit, halt (option unit @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ICons_none (dummy_kinfo (), unit, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IIf_none + ~stack_type:(option unit @$ bot) ~kinstr: (IIf_none { - kinfo = kinfo (option unit @$ unit @$ bot); - branch_if_none = halt_unit; - branch_if_some = IDrop (kinfo_unitunit, halt_unit); - k = halt_unit; + kinfo = dummy_kinfo (); + branch_if_none = halt (); + branch_if_some = IDrop (dummy_kinfo (), halt ()); + k = halt (); }) () @@ -1006,13 +1036,8 @@ module Registration_section = struct ~name:Interpreter_workload.N_IOpt_map ~salt:"none" ~stack:(None, ((), eos)) - ~kinstr: - (IOpt_map - { - kinfo = kinfo (option unit @$ unit @$ bot); - body = halt_unitunit; - k = halt (option unit @$ unit @$ bot); - }) + ~stack_type:(option unit @$ unit @$ bot) + ~kinstr:(IOpt_map {kinfo = dummy_kinfo (); body = halt (); k = halt ()}) () let () = @@ -1020,13 +1045,8 @@ module Registration_section = struct ~name:Interpreter_workload.N_IOpt_map ~salt:"some" ~stack:(Some (), ((), eos)) - ~kinstr: - (IOpt_map - { - kinfo = kinfo (option unit @$ unit @$ bot); - body = halt_unitunit; - k = halt (option unit @$ unit @$ bot); - }) + ~stack_type:(option unit @$ unit @$ bot) + ~kinstr:(IOpt_map {kinfo = dummy_kinfo (); body = halt (); k = halt ()}) () end @@ -1034,25 +1054,28 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ILeft - ~kinstr:(ICons_left (kinfo_unit, unit, halt (cunion unit unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ICons_left (dummy_kinfo (), unit, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IRight - ~kinstr:(ICons_right (kinfo_unit, unit, halt (cunion unit unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ICons_right (dummy_kinfo (), unit, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IIf_left + ~stack_type:(cunion unit unit @$ bot) ~kinstr: (IIf_left { - kinfo = kinfo (cunion unit unit @$ bot); - branch_if_left = halt_unit; - branch_if_right = halt_unit; - k = halt_unit; + kinfo = dummy_kinfo (); + branch_if_left = halt (); + branch_if_right = halt (); + k = halt (); }) () end @@ -1061,37 +1084,33 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ICons_list - ~kinstr: - (ICons_list (kinfo (unit @$ list unit @$ bot), halt (list unit @$ bot))) + ~stack_type:(unit @$ list unit @$ bot) + ~kinstr:(ICons_list (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_INil - ~kinstr:(INil (kinfo_unit, unit, halt (list unit @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(INil (dummy_kinfo (), unit, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IIf_cons + ~stack_type:(list unit @$ unit @$ bot) ~kinstr: (IIf_cons { - kinfo = kinfo (list unit @$ unit @$ bot); + kinfo = dummy_kinfo (); branch_if_cons = - IDrop - ( kinfo (unit @$ list unit @$ unit @$ bot), - IDrop (kinfo (list unit @$ unit @$ bot), halt_unit) ); - branch_if_nil = halt_unit; - k = halt_unit; + IDrop (dummy_kinfo (), IDrop (dummy_kinfo (), halt ())); + branch_if_nil = halt (); + k = halt (); }) () module Mapping = struct - let kinfo_enter_body = kinfo_unit - - let kinfo_exit_body = kinfo_unitunit - let () = (* IList_map -> @@ -1101,19 +1120,17 @@ module Registration_section = struct benchmark_with_fixed_stack ~name:Interpreter_workload.N_IList_map ~stack:(Script_list.empty, ((), eos)) + ~stack_type:(list unit @$ unit @$ bot) ~kinstr: - (IList_map - ( kinfo (list unit @$ unit @$ bot), - halt_unitunit, - halt (list unit @$ unit @$ bot) )) + (IList_map (dummy_kinfo (), halt (), Some (list unit), halt ())) () end let () = - let kinfo = kinfo (list unit @$ bot) in simple_benchmark ~name:Interpreter_workload.N_IList_size - ~kinstr:(IList_size (kinfo, halt (nat @$ bot))) + ~stack_type:(list unit @$ bot) + ~kinstr:(IList_size (dummy_kinfo (), halt ())) () let () = @@ -1122,13 +1139,13 @@ module Registration_section = struct IIter (empty case) -> IHalt *) - let kinfo1 = kinfo (list unit @$ unit @$ bot) in benchmark_with_fixed_stack ~name:Interpreter_workload.N_IList_iter ~stack:(Script_list.empty, ((), eos)) + ~stack_type:(list unit @$ unit @$ bot) ~kinstr: (IList_iter - (kinfo1, unit, IDrop (kinfo_unitunit, halt_unit), halt_unit)) + (dummy_kinfo (), unit, IDrop (dummy_kinfo (), halt ()), halt ())) () end @@ -1136,15 +1153,12 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IEmpty_set - ~kinstr:(IEmpty_set (kinfo_unit, unit, halt (set unit @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(IEmpty_set (dummy_kinfo (), unit, halt ())) () let set_iter_code = - ISet_iter - ( kinfo (set int @$ unit @$ bot), - int, - IDrop (kinfo (int @$ unit @$ bot), halt_unit), - halt_unit ) + ISet_iter (dummy_kinfo (), int, IDrop (dummy_kinfo (), halt ()), halt ()) let () = (* @@ -1160,15 +1174,15 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ISet_iter ~intercept_stack:(Script_set.empty int, ((), eos)) + ~stack_type:(set int @$ unit @$ bot) ~kinstr:set_iter_code () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISet_mem - ~kinstr: - (ISet_mem - (kinfo (int @$ set int @$ unit @$ bot), halt (bool @$ unit @$ bot))) + ~stack_type:(int @$ set int @$ unit @$ bot) + ~kinstr:(ISet_mem (dummy_kinfo (), halt ())) ~intercept_stack:(Script_int.zero, (Script_set.empty int, ((), eos))) ~stack_sampler:(fun cfg rng_state () -> assert (cfg.sampler.set_size.min >= 1) ; @@ -1194,9 +1208,8 @@ module Registration_section = struct let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISet_update - ~kinstr: - (ISet_update - (kinfo (int @$ bool @$ set int @$ bot), halt (set int @$ bot))) + ~stack_type:(int @$ bool @$ set int @$ bot) + ~kinstr:(ISet_update (dummy_kinfo (), halt ())) ~intercept_stack:(Script_int.zero, (false, (Script_set.empty int, eos))) ~stack_sampler:(fun cfg rng_state () -> assert (cfg.sampler.set_size.min >= 2) ; @@ -1232,7 +1245,8 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ISet_size - ~kinstr:(ISet_size (kinfo (set unit @$ bot), halt (nat @$ bot))) + ~stack_type:(set unit @$ bot) + ~kinstr:(ISet_size (dummy_kinfo (), halt ())) () end @@ -1258,25 +1272,24 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IEmpty_map - ~kinstr: - (IEmpty_map - (kinfo_unit, unit, unit, halt (map unit unit @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(IEmpty_map (dummy_kinfo (), unit, unit, halt ())) () (* let map_map_code = IMap_map - ( kinfo (map int unit @$ unit @$ bot), - ICdr (kinfo (cpair int unit @$ unit @$ bot), halt_unitunit), - halt (map int unit @$ unit @$ bot) ) + ( dummy_kinfo (), + ICdr (dummy_kinfo (), halt_unitunit), + halt ) *) - let map_map_code = + let map_map_code () = IMap_map - ( kinfo (map int unit @$ unit @$ bot), - int, - IFailwith (kinfo (cpair int unit @$ unit @$ bot), 0, cpair int unit), - halt (map int unit @$ unit @$ bot) ) + ( dummy_kinfo (), + map int unit, + IFailwith (dummy_kinfo (), cpair int unit), + halt () ) let () = (* @@ -1290,15 +1303,16 @@ module Registration_section = struct ~intercept_stack: (let map = Script_map.empty int in (map, ((), eos))) - ~kinstr:map_map_code + ~stack_type:(map int unit @$ unit @$ bot) + ~kinstr:(map_map_code ()) () let kmap_iter_code = IMap_iter - ( kinfo (map int unit @$ unit @$ bot), + ( dummy_kinfo (), cpair int unit, - IDrop (kinfo (cpair int unit @$ unit @$ bot), halt_unit), - halt_unit ) + IDrop (dummy_kinfo (), halt ()), + halt () ) let () = (* @@ -1312,6 +1326,7 @@ module Registration_section = struct ~intercept_stack: (let map = Script_map.empty int in (map, ((), eos))) + ~stack_type:(map int unit @$ unit @$ bot) ~kinstr:kmap_iter_code () @@ -1323,10 +1338,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_mem - ~kinstr: - (IMap_mem - ( kinfo (int @$ map int unit @$ unit @$ bot), - halt (bool @$ unit @$ bot) )) + ~stack_type:(int @$ map int unit @$ unit @$ bot) + ~kinstr:(IMap_mem (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (map, ((), eos)))) @@ -1343,10 +1356,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_get - ~kinstr: - (IMap_get - ( kinfo (int @$ map int unit @$ unit @$ bot), - halt (option unit @$ unit @$ bot) )) + ~stack_type:(int @$ map int unit @$ unit @$ bot) + ~kinstr:(IMap_get (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (map, ((), eos)))) @@ -1363,10 +1374,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_update - ~kinstr: - (IMap_update - ( kinfo (int @$ option unit @$ map int unit @$ bot), - halt (map int unit @$ bot) )) + ~stack_type:(int @$ option unit @$ map int unit @$ bot) + ~kinstr:(IMap_update (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (None, (map, eos)))) @@ -1384,10 +1393,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_get_and_update - ~kinstr: - (IMap_get_and_update - ( kinfo (int @$ option unit @$ map int unit @$ bot), - halt (option unit @$ map int unit @$ bot) )) + ~stack_type:(int @$ option unit @$ map int unit @$ bot) + ~kinstr:(IMap_get_and_update (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (None, (map, eos)))) @@ -1405,7 +1412,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_size - ~kinstr:(IMap_size (kinfo (map int unit @$ bot), halt (nat @$ bot))) + ~stack_type:(map int unit @$ bot) + ~kinstr:(IMap_size (dummy_kinfo (), halt ())) ~stack_sampler:(fun _cfg _rng_state -> let map = Script_map.empty int in fun () -> (map, eos)) @@ -1449,9 +1457,8 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IEmpty_big_map - ~kinstr: - (IEmpty_big_map - (kinfo_unit, unit, unit, halt (big_map unit unit @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(IEmpty_big_map (dummy_kinfo (), unit, unit, halt ())) () let () = @@ -1463,10 +1470,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_mem - ~kinstr: - (IBig_map_mem - ( kinfo (int @$ big_map int unit @$ unit @$ bot), - halt (bool @$ unit @$ bot) )) + ~stack_type:(int @$ big_map int unit @$ unit @$ bot) + ~kinstr:(IBig_map_mem (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state () -> let key, map = generate_big_map_and_key_in_map cfg rng_state in (key, (map, ((), eos)))) @@ -1480,10 +1485,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_get - ~kinstr: - (IBig_map_get - ( kinfo (int @$ big_map int unit @$ unit @$ bot), - halt (option unit @$ unit @$ bot) )) + ~stack_type:(int @$ big_map int unit @$ unit @$ bot) + ~kinstr:(IBig_map_get (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_big_map.empty int unit in (Script_int.zero, (map, ((), eos)))) @@ -1500,10 +1503,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_update - ~kinstr: - (IBig_map_update - ( kinfo (int @$ option unit @$ big_map int unit @$ bot), - halt (big_map int unit @$ bot) )) + ~stack_type:(int @$ option unit @$ big_map int unit @$ bot) + ~kinstr:(IBig_map_update (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_big_map.empty int unit in (Script_int.zero, (None, (map, eos)))) @@ -1521,10 +1522,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_get_and_update - ~kinstr: - (IBig_map_get_and_update - ( kinfo (int @$ option unit @$ big_map int unit @$ bot), - halt (option unit @$ big_map int unit @$ bot) )) + ~stack_type:(int @$ option unit @$ big_map int unit @$ bot) + ~kinstr:(IBig_map_get_and_update (dummy_kinfo (), halt ())) ~intercept_stack: (let map = Script_big_map.empty int unit in (Script_int.zero, (None, (map, eos)))) @@ -1541,25 +1540,23 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IConcat_string ~intercept_stack:(Script_list.empty, eos) - ~kinstr: - (IConcat_string (kinfo (list string @$ bot), halt (string @$ bot))) + ~stack_type:(list string @$ bot) + ~kinstr:(IConcat_string (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IConcat_string_pair ~intercept_stack:(empty, (empty, eos)) - ~kinstr: - (IConcat_string_pair - (kinfo (string @$ string @$ bot), halt (string @$ bot))) + ~stack_type:(string @$ string @$ bot) + ~kinstr:(IConcat_string_pair (dummy_kinfo (), halt ())) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISlice_string - ~kinstr: - (ISlice_string - (kinfo (nat @$ nat @$ string @$ bot), halt (option string @$ bot))) + ~stack_type:(nat @$ nat @$ string @$ bot) + ~kinstr:(ISlice_string (dummy_kinfo (), halt ())) ~intercept_stack: (let z = Script_int.zero_n in (z, (z, (empty, eos)))) @@ -1577,7 +1574,8 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IString_size - ~kinstr:(IString_size (kinfo (string @$ bot), halt (nat @$ bot))) + ~stack_type:(string @$ bot) + ~kinstr:(IString_size (dummy_kinfo (), halt ())) () end @@ -1588,24 +1586,23 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IConcat_bytes ~intercept_stack:(Script_list.empty, eos) - ~kinstr:(IConcat_bytes (kinfo (list bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(list bytes @$ bot) + ~kinstr:(IConcat_bytes (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IConcat_bytes_pair ~intercept_stack:(Bytes.empty, (Bytes.empty, eos)) - ~kinstr: - (IConcat_bytes_pair - (kinfo (bytes @$ bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(bytes @$ bytes @$ bot) + ~kinstr:(IConcat_bytes_pair (dummy_kinfo (), halt ())) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISlice_bytes - ~kinstr: - (ISlice_bytes - (kinfo (nat @$ nat @$ bytes @$ bot), halt (option bytes @$ bot))) + ~stack_type:(nat @$ nat @$ bytes @$ bot) + ~kinstr:(ISlice_bytes (dummy_kinfo (), halt ())) ~intercept_stack: (let z = Script_int.zero_n in (z, (z, (Bytes.empty, eos)))) @@ -1623,7 +1620,8 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IBytes_size - ~kinstr:(IBytes_size (kinfo (bytes @$ bot), halt (nat @$ bot))) + ~stack_type:(bytes @$ bot) + ~kinstr:(IBytes_size (dummy_kinfo (), halt ())) () end @@ -1636,36 +1634,32 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IAdd_seconds_to_timestamp ~intercept_stack:(zero_int, (zero_timestamp, eos)) - ~kinstr: - (IAdd_seconds_to_timestamp - (kinfo (int @$ timestamp @$ bot), halt (timestamp @$ bot))) + ~stack_type:(int @$ timestamp @$ bot) + ~kinstr:(IAdd_seconds_to_timestamp (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAdd_timestamp_to_seconds ~intercept_stack:(zero_timestamp, (zero_int, eos)) - ~kinstr: - (IAdd_timestamp_to_seconds - (kinfo (timestamp @$ int @$ bot), halt (timestamp @$ bot))) + ~stack_type:(timestamp @$ int @$ bot) + ~kinstr:(IAdd_timestamp_to_seconds (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISub_timestamp_seconds ~intercept_stack:(zero_timestamp, (zero_int, eos)) - ~kinstr: - (ISub_timestamp_seconds - (kinfo (timestamp @$ int @$ bot), halt (timestamp @$ bot))) + ~stack_type:(timestamp @$ int @$ bot) + ~kinstr:(ISub_timestamp_seconds (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IDiff_timestamps ~intercept_stack:(zero_timestamp, (zero_timestamp, eos)) - ~kinstr: - (IDiff_timestamps - (kinfo (timestamp @$ timestamp @$ bot), halt (int @$ bot))) + ~stack_type:(timestamp @$ timestamp @$ bot) + ~kinstr:(IDiff_timestamps (dummy_kinfo (), halt ())) () end @@ -1673,14 +1667,15 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IAdd_tez - ~kinstr:(IAdd_tez (kinfo (mutez @$ mutez @$ bot), halt (mutez @$ bot))) + ~stack_type:(mutez @$ mutez @$ bot) + ~kinstr:(IAdd_tez (dummy_kinfo (), halt ())) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISub_tez - ~kinstr: - (ISub_tez (kinfo (mutez @$ mutez @$ bot), halt (option mutez @$ bot))) + ~stack_type:(mutez @$ mutez @$ bot) + ~kinstr:(ISub_tez (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.Default_config.sampler @@ -1698,8 +1693,8 @@ module Registration_section = struct let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISub_tez_legacy - ~kinstr: - (ISub_tez_legacy (kinfo (mutez @$ mutez @$ bot), halt (mutez @$ bot))) + ~stack_type:(mutez @$ mutez @$ bot) + ~kinstr:(ISub_tez_legacy (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.Default_config.sampler @@ -1728,7 +1723,8 @@ module Registration_section = struct let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMul_teznat - ~kinstr:(IMul_teznat (kinfo (mutez @$ nat @$ bot), halt (mutez @$ bot))) + ~stack_type:(mutez @$ nat @$ bot) + ~kinstr:(IMul_teznat (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, samplers = make_default_samplers cfg.sampler in fun () -> @@ -1739,7 +1735,8 @@ module Registration_section = struct let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMul_nattez - ~kinstr:(IMul_nattez (kinfo (nat @$ mutez @$ bot), halt (mutez @$ bot))) + ~stack_type:(nat @$ mutez @$ bot) + ~kinstr:(IMul_nattez (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, samplers = make_default_samplers cfg.sampler in fun () -> @@ -1751,10 +1748,8 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IEdiv_teznat ~intercept_stack:(Alpha_context.Tez.zero, (Script_int.zero_n, eos)) - ~kinstr: - (IEdiv_teznat - ( kinfo (mutez @$ nat @$ bot), - halt (option (cpair mutez mutez) @$ bot) )) + ~stack_type:(mutez @$ nat @$ bot) + ~kinstr:(IEdiv_teznat (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, samplers = make_default_samplers cfg.sampler in fun () -> @@ -1766,10 +1761,8 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IEdiv_tez ~intercept_stack:(Alpha_context.Tez.zero, (Alpha_context.Tez.zero, eos)) - ~kinstr: - (IEdiv_tez - ( kinfo (mutez @$ mutez @$ bot), - halt (option (cpair nat mutez) @$ bot) )) + ~stack_type:(mutez @$ mutez @$ bot) + ~kinstr:(IEdiv_tez (dummy_kinfo (), halt ())) () end @@ -1777,25 +1770,29 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IOr - ~kinstr:(IOr (kinfo (bool @$ bool @$ bot), halt (bool @$ bot))) + ~stack_type:(bool @$ bool @$ bot) + ~kinstr:(IOr (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAnd - ~kinstr:(IAnd (kinfo (bool @$ bool @$ bot), halt (bool @$ bot))) + ~stack_type:(bool @$ bool @$ bot) + ~kinstr:(IAnd (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IXor - ~kinstr:(IXor (kinfo (bool @$ bool @$ bot), halt (bool @$ bot))) + ~stack_type:(bool @$ bool @$ bot) + ~kinstr:(IXor (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_INot - ~kinstr:(INot (kinfo (bool @$ bot), halt (bool @$ bot))) + ~stack_type:(bool @$ bot) + ~kinstr:(INot (dummy_kinfo (), halt ())) () end @@ -1808,20 +1805,23 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IIs_nat ~intercept_stack:(zero, eos) - ~kinstr:(IIs_nat (kinfo (int @$ bot), halt (option nat @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(IIs_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_INeg ~intercept_stack:(zero, eos) - ~kinstr:(INeg (kinfo (int @$ bot), halt (int @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(INeg (dummy_kinfo (), halt ())) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IAbs_int - ~kinstr:(IAbs_int (kinfo (int @$ bot), halt (nat @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(IAbs_int (dummy_kinfo (), halt ())) ~intercept_stack:(zero, eos) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in @@ -1835,67 +1835,72 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IInt_nat ~intercept_stack:(zero_n, eos) - ~kinstr:(IInt_nat (kinfo (nat @$ bot), halt (int @$ bot))) + ~stack_type:(nat @$ bot) + ~kinstr:(IInt_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAdd_int ~intercept_stack:(zero, (zero, eos)) - ~kinstr:(IAdd_int (kinfo (int @$ int @$ bot), halt (int @$ bot))) + ~stack_type:(int @$ int @$ bot) + ~kinstr:(IAdd_int (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAdd_nat ~intercept_stack:(zero_n, (zero_n, eos)) - ~kinstr:(IAdd_nat (kinfo (nat @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(nat @$ nat @$ bot) + ~kinstr:(IAdd_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISub_int ~intercept_stack:(zero, (zero, eos)) - ~kinstr:(ISub_int (kinfo (int @$ int @$ bot), halt (int @$ bot))) + ~stack_type:(int @$ int @$ bot) + ~kinstr:(ISub_int (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IMul_int ~intercept_stack:(zero, (zero, eos)) - ~kinstr:(IMul_int (kinfo (int @$ int @$ bot), halt (int @$ bot))) + ~stack_type:(int @$ int @$ bot) + ~kinstr:(IMul_int (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IMul_nat ~intercept_stack:(zero_n, (zero, eos)) - ~kinstr:(IMul_nat (kinfo (nat @$ int @$ bot), halt (int @$ bot))) + ~stack_type:(nat @$ int @$ bot) + ~kinstr:(IMul_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IEdiv_int ~intercept_stack:(zero, (zero, eos)) - ~kinstr: - (IEdiv_int - (kinfo (int @$ int @$ bot), halt (option (cpair int nat) @$ bot))) + ~stack_type:(int @$ int @$ bot) + ~kinstr:(IEdiv_int (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IEdiv_nat ~intercept_stack:(zero_n, (zero, eos)) - ~kinstr: - (IEdiv_nat - (kinfo (nat @$ int @$ bot), halt (option (cpair int nat) @$ bot))) + ~stack_type:(nat @$ int @$ bot) + ~kinstr:(IEdiv_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ILsl_nat ~intercept_stack:(zero_n, (zero_n, eos)) - ~kinstr:(ILsl_nat (kinfo (nat @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(nat @$ nat @$ bot) + ~kinstr:(ILsl_nat (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in fun () -> @@ -1911,7 +1916,8 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ILsr_nat ~intercept_stack:(zero_n, (zero_n, eos)) - ~kinstr:(ILsr_nat (kinfo (nat @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(nat @$ nat @$ bot) + ~kinstr:(ILsr_nat (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in fun () -> @@ -1927,35 +1933,40 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IOr_nat ~intercept_stack:(zero_n, (zero_n, eos)) - ~kinstr:(IOr_nat (kinfo (nat @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(nat @$ nat @$ bot) + ~kinstr:(IOr_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAnd_nat ~intercept_stack:(zero_n, (zero_n, eos)) - ~kinstr:(IAnd_nat (kinfo (nat @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(nat @$ nat @$ bot) + ~kinstr:(IAnd_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAnd_int_nat ~intercept_stack:(zero, (zero_n, eos)) - ~kinstr:(IAnd_int_nat (kinfo (int @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(int @$ nat @$ bot) + ~kinstr:(IAnd_int_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IXor_nat ~intercept_stack:(zero_n, (zero_n, eos)) - ~kinstr:(IXor_nat (kinfo (nat @$ nat @$ bot), halt (nat @$ bot))) + ~stack_type:(nat @$ nat @$ bot) + ~kinstr:(IXor_nat (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_INot_int ~intercept_stack:(zero, eos) - ~kinstr:(INot_int (kinfo (int @$ bot), halt (int @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(INot_int (dummy_kinfo (), halt ())) () end @@ -1963,13 +1974,14 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IIf + ~stack_type:(bool @$ unit @$ bot) ~kinstr: (IIf { - kinfo = kinfo (bool @$ unit @$ bot); - branch_if_true = halt_unit; - branch_if_false = halt_unit; - k = halt_unit; + loc = dummy_kinfo (); + branch_if_true = halt (); + branch_if_false = halt (); + k = halt (); }) () @@ -1980,12 +1992,11 @@ module Registration_section = struct - IHalt (false on top of stack) - IConst false ; IHalt (true on top of stack) *) - let push_false = - IConst (kinfo_unit, bool, false, halt (bool @$ unit @$ bot)) - in + let push_false = IConst (dummy_kinfo (), bool, false, halt ()) in simple_benchmark ~name:Interpreter_workload.N_ILoop - ~kinstr:(ILoop (kinfo (bool @$ unit @$ bot), push_false, halt_unit)) + ~stack_type:(bool @$ bot) + ~kinstr:(ILoop (dummy_kinfo (), push_false, halt ())) () let () = @@ -1994,13 +2005,11 @@ module Registration_section = struct ICons_right -> IHalt *) - let cons_r = - ICons_right (kinfo_unit, unit, halt (cunion unit unit @$ bot)) - in + let cons_r = ICons_right (dummy_kinfo (), unit, halt ()) in simple_benchmark ~name:Interpreter_workload.N_ILoop_left - ~kinstr: - (ILoop_left (kinfo (cunion unit unit @$ bot), cons_r, halt_unit)) + ~stack_type:(cunion unit unit @$ bot) + ~kinstr:(ILoop_left (dummy_kinfo (), cons_r, halt ())) () let () = @@ -2012,13 +2021,14 @@ module Registration_section = struct *) simple_benchmark ~name:Interpreter_workload.N_IDip - ~kinstr:(IDip (kinfo (unit @$ unit @$ bot), halt_unit, halt_unitunit)) + ~stack_type:(unit @$ unit @$ bot) + ~kinstr:(IDip (dummy_kinfo (), halt (), Some unit, halt ())) () let dummy_lambda = let open Script_typed_ir in let descr = - {kloc = 0; kbef = unit @$ bot; kaft = unit @$ bot; kinstr = halt_unit} + {kloc = 0; kbef = unit @$ bot; kaft = unit @$ bot; kinstr = halt ()} in Lam (descr, Micheline.Int (0, Z.zero)) @@ -2031,7 +2041,8 @@ module Registration_section = struct *) simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IExec - ~kinstr:(IExec (kinfo (unit @$ lambda unit unit @$ bot), halt_unit)) + ~stack_type:(unit @$ lambda unit unit @$ bot) + ~kinstr:(IExec (dummy_kinfo (), halt ())) ~stack_sampler:(fun _cfg _rng_state () -> ((), (dummy_lambda, eos))) () @@ -2050,18 +2061,15 @@ module Registration_section = struct kloc = 0; kbef = cpair unit unit @$ bot; kaft = unit @$ bot; - kinstr = ICdr (kinfo (cpair unit unit @$ bot), halt_unit); + kinstr = ICdr (dummy_kinfo (), halt ()); } in Lam (descr, Micheline.Int (0, Z.zero)) in simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IApply - ~kinstr: - (IApply - ( kinfo (unit @$ lambda (cpair unit unit) unit @$ bot), - unit, - halt (lambda unit unit @$ bot) )) + ~stack_type:(unit @$ lambda (cpair unit unit) unit @$ bot) + ~kinstr:(IApply (dummy_kinfo (), unit, halt ())) ~stack_sampler:(fun _cfg _rng_state () -> ((), (code, eos))) () @@ -2072,9 +2080,8 @@ module Registration_section = struct *) simple_benchmark ~name:Interpreter_workload.N_ILambda - ~kinstr: - (ILambda - (kinfo_unit, dummy_lambda, halt (lambda unit unit @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ILambda (dummy_kinfo (), dummy_lambda, halt ())) () let () = @@ -2087,7 +2094,8 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IFailwith ~amplification:100 - ~kinstr:(IFailwith (kinfo_unit, 0, unit)) + ~stack_type:(unit @$ bot) + ~kinstr:(IFailwith (dummy_kinfo (), 0, unit)) () end @@ -2107,10 +2115,13 @@ module Registration_section = struct Samplers.Random_type.m_comparable_type ~size rng_state in let value = Samplers.Random_value.comparable ty rng_state in - let kinstr = - ICompare (kinfo (ty @$ ty @$ bot), ty, halt (int @$ bot)) - in - Ex_stack_and_kinstr {stack = (value, (value, eos)); kinstr}) + let kinstr = ICompare (dummy_kinfo (), ty, halt ()) in + Ex_stack_and_kinstr + { + stack = (value, (value, eos)); + stack_type = ty @$ ty @$ bot; + kinstr; + }) () end @@ -2118,37 +2129,43 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IEq - ~kinstr:(IEq (kinfo (int @$ bot), halt (bool @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(IEq (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_INeq - ~kinstr:(INeq (kinfo (int @$ bot), halt (bool @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(INeq (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ILt - ~kinstr:(ILt (kinfo (int @$ bot), halt (bool @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(ILt (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IGt - ~kinstr:(IGt (kinfo (int @$ bot), halt (bool @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(IGt (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ILe - ~kinstr:(ILe (kinfo (int @$ bot), halt (bool @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(ILe (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IGe - ~kinstr:(IGe (kinfo (int @$ bot), halt (bool @$ bot))) + ~stack_type:(int @$ bot) + ~kinstr:(IGe (dummy_kinfo (), halt ())) () end @@ -2156,47 +2173,44 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IAddress - ~kinstr:(IAddress (kinfo (contract unit @$ bot), halt (address @$ bot))) + ~stack_type:(contract unit @$ bot) + ~kinstr:(IAddress (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IContract + ~stack_type:(address @$ bot) ~kinstr: (IContract - ( kinfo (address @$ bot), - unit, - Alpha_context.Entrypoint.default, - halt (option (contract unit) @$ bot) )) + (dummy_kinfo (), unit, Alpha_context.Entrypoint.default, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ITransfer_tokens - ~kinstr: - (ITransfer_tokens - ( kinfo (unit @$ mutez @$ contract unit @$ bot), - halt (operation @$ bot) )) + ~stack_type:(unit @$ mutez @$ contract unit @$ bot) + ~kinstr:(ITransfer_tokens (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IImplicit_account - ~kinstr: - (IImplicit_account - (kinfo (key_hash @$ bot), halt (contract unit @$ bot))) + ~stack_type:(key_hash @$ bot) + ~kinstr:(IImplicit_account (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ICreate_contract + ~stack_type:(option key_hash @$ mutez @$ unit @$ bot) ~kinstr: (ICreate_contract { - kinfo = kinfo (option key_hash @$ mutez @$ unit @$ bot); + kinfo = dummy_kinfo (); storage_type = unit; code = Micheline.(strip_locations @@ Seq (0, [])); - k = halt (operation @$ address @$ bot); + k = halt (); }) () @@ -2208,43 +2222,47 @@ module Registration_section = struct in simple_benchmark ~name:Interpreter_workload.N_IView + ~stack_type:(unit @$ address @$ bot) ~kinstr: (IView - ( kinfo (unit @$ address @$ bot), + ( dummy_kinfo (), View_signature {name; input_ty = unit; output_ty = unit}, - halt (option unit @$ bot) )) + halt () )) () let () = simple_benchmark ~name:Interpreter_workload.N_ISet_delegate - ~kinstr: - (ISet_delegate - (kinfo (option key_hash @$ bot), halt (operation @$ bot))) + ~stack_type:(option key_hash @$ bot) + ~kinstr:(ISet_delegate (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_INow - ~kinstr:(INow (kinfo (unit @$ bot), halt (timestamp @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(INow (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IMin_block_time - ~kinstr:(IMin_block_time (kinfo bot, halt (nat @$ bot))) + ~stack_type:bot + ~kinstr:(IMin_block_time (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IBalance - ~kinstr:(IBalance (kinfo (unit @$ bot), halt (mutez @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(IBalance (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ILevel - ~kinstr:(ILevel (kinfo (unit @$ bot), halt (nat @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ILevel (dummy_kinfo (), halt ())) () let check_signature (algo : Signature.algo) ~for_intercept = @@ -2258,10 +2276,8 @@ module Registration_section = struct benchmark_with_stack_sampler ~intercept:for_intercept ~name - ~kinstr: - (ICheck_signature - ( kinfo (public_key @$ signature @$ bytes @$ bot), - halt (bool @$ bot) )) + ~stack_type:(public_key @$ signature @$ bytes @$ bot) + ~kinstr:(ICheck_signature (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let (module Crypto_samplers), (module Samplers) = make_default_samplers ~algo:(`Algo algo) cfg.Default_config.sampler @@ -2290,15 +2306,18 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_IHash_key - ~kinstr:(IHash_key (kinfo (public_key @$ bot), halt (key_hash @$ bot))) + ~stack_type:(public_key @$ bot) + ~kinstr:(IHash_key (dummy_kinfo (), halt ())) () let () = benchmark ~name:Interpreter_workload.N_IPack ~kinstr_and_stack_sampler:(fun _cfg _rng_state -> - let kinstr = IPack (kinfo (unit @$ bot), unit, halt (bytes @$ bot)) in - fun () -> Ex_stack_and_kinstr {stack = ((), eos); kinstr}) + let kinstr = IPack (dummy_kinfo (), unit, halt ()) in + fun () -> + Ex_stack_and_kinstr + {stack = ((), eos); stack_type = unit @$ bot; kinstr}) () let () = @@ -2313,100 +2332,108 @@ module Registration_section = struct >|= Environment.wrap_tzresult >>=? fun (bytes, _) -> return bytes )) in - let kinstr = - IUnpack (kinfo (bytes @$ bot), unit, halt (option unit @$ bot)) - in - fun () -> Ex_stack_and_kinstr {stack = (b, eos); kinstr}) + let kinstr = IUnpack (dummy_kinfo (), unit, halt ()) in + fun () -> + Ex_stack_and_kinstr + {stack = (b, eos); stack_type = bytes @$ bot; kinstr}) () let () = simple_benchmark ~name:Interpreter_workload.N_IBlake2b ~intercept_stack:(Environment.Bytes.empty, eos) - ~kinstr:(IBlake2b (kinfo (bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(bytes @$ bot) + ~kinstr:(IBlake2b (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISha256 ~intercept_stack:(Environment.Bytes.empty, eos) - ~kinstr:(ISha256 (kinfo (bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(bytes @$ bot) + ~kinstr:(ISha256 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISha512 ~intercept_stack:(Environment.Bytes.empty, eos) - ~kinstr:(ISha512 (kinfo (bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(bytes @$ bot) + ~kinstr:(ISha512 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IKeccak ~intercept_stack:(Environment.Bytes.empty, eos) - ~kinstr:(IKeccak (kinfo (bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(bytes @$ bot) + ~kinstr:(IKeccak (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISha3 ~intercept_stack:(Environment.Bytes.empty, eos) - ~kinstr:(ISha3 (kinfo (bytes @$ bot), halt (bytes @$ bot))) + ~stack_type:(bytes @$ bot) + ~kinstr:(ISha3 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISource - ~kinstr:(ISource (kinfo (unit @$ bot), halt (address @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ISource (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISender - ~kinstr:(ISender (kinfo (unit @$ bot), halt (address @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ISender (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISelf + ~stack_type:(unit @$ bot) ~kinstr: (ISelf - ( kinfo (unit @$ bot), - unit, - Alpha_context.Entrypoint.default, - halt (contract unit @$ unit @$ bot) )) + (dummy_kinfo (), unit, Alpha_context.Entrypoint.default, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ISelf_address - ~kinstr: - (ISelf_address (kinfo (unit @$ bot), halt (address @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ISelf_address (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IAmount - ~kinstr:(IAmount (kinfo (unit @$ bot), halt (mutez @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(IAmount (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IChainId - ~kinstr:(IChainId (kinfo (unit @$ bot), halt (chain_id @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(IChainId (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IVoting_power - ~kinstr:(IVoting_power (kinfo (key_hash @$ bot), halt (nat @$ bot))) + ~stack_type:(key_hash @$ bot) + ~kinstr:(IVoting_power (dummy_kinfo (), halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_ITotal_voting_power - ~kinstr: - (ITotal_voting_power (kinfo (unit @$ bot), halt (nat @$ unit @$ bot))) + ~stack_type:(unit @$ bot) + ~kinstr:(ITotal_voting_power (dummy_kinfo (), halt ())) () end @@ -2418,11 +2445,8 @@ module Registration_section = struct in simple_benchmark ~name:Interpreter_workload.N_ISapling_empty_state - ~kinstr: - (ISapling_empty_state - ( kinfo (unit @$ bot), - memo_size, - halt (sapling_state memo_size @$ unit @$ bot) )) + ~stack_type:(unit @$ bot) + ~kinstr:(ISapling_empty_state (dummy_kinfo (), memo_size, halt ())) () module type Type_transaction = sig @@ -2460,16 +2484,12 @@ module Registration_section = struct Interpreter_model.make_model (Some (Instr_name Interpreter_workload.N_ISapling_verify_update)) - let kinstr = + let stack_type = let spl_state = sapling_state memo_size in let spl_tx = sapling_transaction memo_size in - let (Ty_ex_c pair_int_spl_state) = pair int spl_state in - let (Ty_ex_c pair_bytes_pair_int_spl_state) = - pair bytes pair_int_spl_state - in - ISapling_verify_update - ( kinfo (spl_tx @$ spl_state @$ bot), - halt (option pair_bytes_pair_int_spl_state @$ bot) ) + spl_tx @$ spl_state @$ bot + + let kinstr = ISapling_verify_update (dummy_kinfo (), halt ()) let prepare_sapling_execution_environment sapling_forge_rng_seed sapling_transition = @@ -2551,7 +2571,11 @@ module Registration_section = struct in let stack_instr = Ex_stack_and_kinstr - {stack = (transition.sapling_tx, (state, eos)); kinstr} + { + stack = (transition.sapling_tx, (state, eos)); + stack_type; + kinstr; + } in benchmark_from_kinstr_and_stack ctxt @@ -2614,69 +2638,56 @@ module Registration_section = struct simple_benchmark ~check ~name:Interpreter_workload.N_IAdd_bls12_381_g1 - ~kinstr: - (IAdd_bls12_381_g1 - ( kinfo (bls12_381_g1 @$ bls12_381_g1 @$ bot), - halt (bls12_381_g1 @$ bot) )) + ~stack_type:(bls12_381_g1 @$ bls12_381_g1 @$ bot) + ~kinstr:(IAdd_bls12_381_g1 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_IAdd_bls12_381_g2 - ~kinstr: - (IAdd_bls12_381_g2 - ( kinfo (bls12_381_g2 @$ bls12_381_g2 @$ bot), - halt (bls12_381_g2 @$ bot) )) + ~stack_type:(bls12_381_g2 @$ bls12_381_g2 @$ bot) + ~kinstr:(IAdd_bls12_381_g2 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_IAdd_bls12_381_fr - ~kinstr: - (IAdd_bls12_381_fr - ( kinfo (bls12_381_fr @$ bls12_381_fr @$ bot), - halt (bls12_381_fr @$ bot) )) + ~stack_type:(bls12_381_fr @$ bls12_381_fr @$ bot) + ~kinstr:(IAdd_bls12_381_fr (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_IMul_bls12_381_g1 - ~kinstr: - (IMul_bls12_381_g1 - ( kinfo (bls12_381_g1 @$ bls12_381_fr @$ bot), - halt (bls12_381_g1 @$ bot) )) + ~stack_type:(bls12_381_g1 @$ bls12_381_fr @$ bot) + ~kinstr:(IMul_bls12_381_g1 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_IMul_bls12_381_g2 - ~kinstr: - (IMul_bls12_381_g2 - ( kinfo (bls12_381_g2 @$ bls12_381_fr @$ bot), - halt (bls12_381_g2 @$ bot) )) + ~stack_type:(bls12_381_g2 @$ bls12_381_fr @$ bot) + ~kinstr:(IMul_bls12_381_g2 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_IMul_bls12_381_fr - ~kinstr: - (IMul_bls12_381_fr - ( kinfo (bls12_381_fr @$ bls12_381_fr @$ bot), - halt (bls12_381_fr @$ bot) )) + ~stack_type:(bls12_381_fr @$ bls12_381_fr @$ bot) + ~kinstr:(IMul_bls12_381_fr (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_IMul_bls12_381_z_fr - ~kinstr: - (IMul_bls12_381_z_fr - (kinfo (bls12_381_fr @$ int @$ bot), halt (bls12_381_fr @$ bot))) + ~stack_type:(bls12_381_fr @$ int @$ bot) + ~kinstr:(IMul_bls12_381_z_fr (dummy_kinfo (), halt ())) () let () = @@ -2684,9 +2695,8 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_z_fr ~intercept:true - ~kinstr: - (IMul_bls12_381_z_fr - (kinfo (bls12_381_fr @$ int @$ bot), halt (bls12_381_fr @$ bot))) + ~stack_type:(bls12_381_fr @$ int @$ bot) + ~kinstr:(IMul_bls12_381_z_fr (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in let fr_sampler = Samplers.Random_value.value bls12_381_fr in @@ -2698,9 +2708,8 @@ module Registration_section = struct simple_benchmark ~check ~name:Interpreter_workload.N_IMul_bls12_381_fr_z - ~kinstr: - (IMul_bls12_381_fr_z - (kinfo (int @$ bls12_381_fr @$ bot), halt (bls12_381_fr @$ bot))) + ~stack_type:(int @$ bls12_381_fr @$ bot) + ~kinstr:(IMul_bls12_381_fr_z (dummy_kinfo (), halt ())) () let () = @@ -2708,9 +2717,8 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_fr_z ~intercept:true - ~kinstr: - (IMul_bls12_381_fr_z - (kinfo (int @$ bls12_381_fr @$ bot), halt (bls12_381_fr @$ bot))) + ~stack_type:(int @$ bls12_381_fr @$ bot) + ~kinstr:(IMul_bls12_381_fr_z (dummy_kinfo (), halt ())) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in let fr_sampler = Samplers.Random_value.value bls12_381_fr in @@ -2722,45 +2730,41 @@ module Registration_section = struct simple_benchmark ~check ~name:Interpreter_workload.N_IInt_bls12_381_z_fr - ~kinstr: - (IInt_bls12_381_fr (kinfo (bls12_381_fr @$ bot), halt (int @$ bot))) + ~stack_type:(bls12_381_fr @$ bot) + ~kinstr:(IInt_bls12_381_fr (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_INeg_bls12_381_g1 - ~kinstr: - (INeg_bls12_381_g1 - (kinfo (bls12_381_g1 @$ bot), halt (bls12_381_g1 @$ bot))) + ~stack_type:(bls12_381_g1 @$ bot) + ~kinstr:(INeg_bls12_381_g1 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_INeg_bls12_381_g2 - ~kinstr: - (INeg_bls12_381_g2 - (kinfo (bls12_381_g2 @$ bot), halt (bls12_381_g2 @$ bot))) + ~stack_type:(bls12_381_g2 @$ bot) + ~kinstr:(INeg_bls12_381_g2 (dummy_kinfo (), halt ())) () let () = simple_benchmark ~check ~name:Interpreter_workload.N_INeg_bls12_381_fr - ~kinstr: - (INeg_bls12_381_fr - (kinfo (bls12_381_fr @$ bot), halt (bls12_381_fr @$ bot))) + ~stack_type:(bls12_381_fr @$ bot) + ~kinstr:(INeg_bls12_381_fr (dummy_kinfo (), halt ())) () let () = - let (Ty_ex_c pair_bls12_381_g1_g2) = pair bls12_381_g1 bls12_381_g2 in + let (Ty_ex_c p) = pair bls12_381_g1 bls12_381_g2 in simple_benchmark ~check ~name:Interpreter_workload.N_IPairing_check_bls12_381 - ~kinstr: - (IPairing_check_bls12_381 - (kinfo (list pair_bls12_381_g1_g2 @$ bot), halt (bool @$ bot))) + ~stack_type:(list p @$ bot) + ~kinstr:(IPairing_check_bls12_381 (dummy_kinfo (), halt ())) () end @@ -2768,28 +2772,20 @@ module Registration_section = struct let () = simple_benchmark ~name:Interpreter_workload.N_ITicket - ~kinstr: - (ITicket (kinfo (unit @$ nat @$ bot), unit, halt (ticket unit @$ bot))) + ~stack_type:(unit @$ nat @$ bot) + ~kinstr:(ITicket (dummy_kinfo (), unit, halt ())) () let () = simple_benchmark ~name:Interpreter_workload.N_IRead_ticket - ~kinstr: - (IRead_ticket - ( kinfo (ticket unit @$ bot), - unit, - halt (cpair address (cpair unit nat) @$ ticket unit @$ bot) )) + ~stack_type:(ticket unit @$ bot) + ~kinstr:(IRead_ticket (dummy_kinfo (), unit, halt ())) () - let split_ticket_instr = - let ticket_unit = ticket unit in - let (Ty_ex_c pair_ticket_unit_ticket_unit) = - pair ticket_unit ticket_unit - in - ISplit_ticket - ( kinfo (ticket_unit @$ cpair nat nat @$ bot), - halt (option pair_ticket_unit_ticket_unit @$ bot) ) + let split_ticket_instr = ISplit_ticket (dummy_kinfo (), halt ()) + + let stack_type = ticket unit @$ cpair nat nat @$ bot let () = let zero = Script_int.zero_n in @@ -2805,6 +2801,7 @@ module Registration_section = struct benchmark_with_fixed_stack ~intercept:true ~name:Interpreter_workload.N_ISplit_ticket + ~stack_type ~stack:(ticket, ((zero, zero), eos)) ~kinstr:split_ticket_instr () @@ -2824,17 +2821,18 @@ module Registration_section = struct Ex_stack_and_kinstr { stack = (ticket, ((half_amount, half_amount), eos)); + stack_type; kinstr = split_ticket_instr; }) () - let join_tickets_instr = - let ticket_str = ticket string in - let (Ty_ex_c pair_ticket_str_ticket_str) = pair ticket_str ticket_str in - IJoin_tickets - ( kinfo (pair_ticket_str_ticket_str @$ bot), - string, - halt (option ticket_str @$ bot) ) + let join_tickets_instr = IJoin_tickets (dummy_kinfo (), string, halt ()) + + let ticket_str = ticket string + + let stack_type = + let (Ty_ex_c p) = pair ticket_str ticket_str in + p @$ bot let () = benchmark @@ -2856,7 +2854,11 @@ module Registration_section = struct } in Ex_stack_and_kinstr - {stack = ((ticket, ticket), eos); kinstr = join_tickets_instr}) + { + stack = ((ticket, ticket), eos); + stack_type; + kinstr = join_tickets_instr; + }) () let () = @@ -2873,18 +2875,21 @@ module Registration_section = struct let alt_amount = Samplers.Random_value.value nat rng_state in let ticket' = {ticket with amount = alt_amount} in Ex_stack_and_kinstr - {stack = ((ticket, ticket'), eos); kinstr = join_tickets_instr}) + { + stack = ((ticket, ticket'), eos); + stack_type; + kinstr = join_tickets_instr; + }) () end module Timelock = struct let name = Interpreter_workload.N_IOpen_chest - let kinstr = - IOpen_chest - ( kinfo - (Michelson_types.chest_key @$ Michelson_types.chest @$ nat @$ bot), - halt (cunion bytes bool @$ bot) ) + let stack_type = + Michelson_types.chest_key @$ Michelson_types.chest @$ nat @$ bot + + let kinstr = IOpen_chest (dummy_kinfo (), halt ()) let resulting_stack chest chest_key time = let chest = Script_timelock.make_chest chest in @@ -2900,6 +2905,7 @@ module Registration_section = struct ~intercept:true ~name ~kinstr + ~stack_type ~stack_sampler:(fun _ rng_state () -> let chest, chest_key = Timelock_samplers.chest_sampler ~plaintext_size:1 ~time:0 ~rng_state @@ -2911,6 +2917,7 @@ module Registration_section = struct benchmark_with_stack_sampler ~name ~kinstr + ~stack_type ~stack_sampler:(fun _ rng_state () -> let log_time = Base_samplers.sample_in_interval @@ -2942,7 +2949,8 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = KNil in let stack = eos in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -2955,9 +2963,10 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KCons ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KCons (halt_unit, KNil) in + let cont = KCons (halt (), KNil) in let stack = ((), eos) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -2969,9 +2978,10 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KReturn ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KReturn (halt_unit, KNil) in + let cont = KReturn (eos, KNil) in let stack = ((), eos) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3000,7 +3010,8 @@ module Registration_section = struct in let cont = KView_exit (step_constants, KNil) in let stack = ((), eos) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3013,12 +3024,11 @@ module Registration_section = struct ~name:Interpreter_workload.N_KLoop_in ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = - KLoop_in - ( IConst (kinfo_unit, bool, false, halt (bool @$ unit @$ bot)), - KNil ) + KLoop_in (IConst (dummy_kinfo (), bool, false, halt ()), KNil) in let stack = (false, ((), eos)) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = bool @$ unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3031,12 +3041,11 @@ module Registration_section = struct ~name:Interpreter_workload.N_KLoop_in_left ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = - KLoop_in_left - ( ICons_right (kinfo_unit, unit, halt (cunion unit unit @$ bot)), - KNil ) + KLoop_in_left (ICons_right (dummy_kinfo (), unit, halt ()), KNil) in let stack = (R (), eos) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = cunion unit unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3050,7 +3059,8 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = KUndip ((), KNil) in let stack = eos in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3063,11 +3073,10 @@ module Registration_section = struct ~name:Interpreter_workload.N_KIter ~salt:"_empty" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = - KIter (IDrop (kinfo_unitunit, halt_unit), unit, [], KNil) - in + let cont = KIter (IDrop (dummy_kinfo (), halt ()), unit, [], KNil) in let stack = ((), eos) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3084,10 +3093,11 @@ module Registration_section = struct ~salt:"_nonempty" ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = - KIter (IDrop (kinfo_unitunit, halt_unit), unit, [()], KNil) + KIter (IDrop (dummy_kinfo (), halt ()), unit, [()], KNil) in let stack = ((), eos) in - fun () -> Ex_stack_and_cont {stack; cont}) + let stack_type = unit @$ bot in + fun () -> Ex_stack_and_cont {stack; cont; stack_type}) () let () = @@ -3104,10 +3114,11 @@ module Registration_section = struct ~name:Interpreter_workload.N_KList_enter_body ~salt:"_singleton_list" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let kbody = halt_unitunit in + let kbody = halt () in fun () -> let cont = KList_enter_body (kbody, [()], [], 1, KNil) in - Ex_stack_and_cont {stack = ((), eos); cont}) + Ex_stack_and_cont + {stack = ((), eos); stack_type = unit @$ bot; cont}) () let () = @@ -3122,13 +3133,14 @@ module Registration_section = struct ~salt:"_terminal" ~cont_and_stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in - let kbody = halt_unitunit in + let kbody = halt () in fun () -> let ys = Samplers.Random_value.value (list unit) rng_state in let cont = KList_enter_body (kbody, [], ys.elements, ys.length, KNil) in - Ex_stack_and_cont {stack = ((), eos); cont}) + Ex_stack_and_cont + {stack = ((), eos); stack_type = unit @$ bot; cont}) () let () = @@ -3143,10 +3155,11 @@ module Registration_section = struct ~name:Interpreter_workload.N_KList_enter_body ~salt:"_terminal" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let kbody = halt_unitunit in + let kbody = halt () in fun () -> let cont = KList_enter_body (kbody, [], [], 1, KNil) in - Ex_stack_and_cont {stack = ((), eos); cont}) + Ex_stack_and_cont + {stack = ((), eos); stack_type = unit @$ bot; cont}) () let () = @@ -3162,13 +3175,17 @@ module Registration_section = struct ~name:Interpreter_workload.N_KList_exit_body ~salt:"_terminal" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let kbody = halt_unitunit in + let kbody = halt () in let cont = KList_exit_body (kbody, [], [], 1, KNil) in - fun () -> Ex_stack_and_cont {stack = ((), ((), eos)); cont}) + fun () -> + Ex_stack_and_cont + {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) () + let stack_type = cpair int unit @$ unit @$ bot + let map_enter_body_code = - let kbody = ICdr (kinfo (cpair int unit @$ unit @$ bot), halt_unitunit) in + let kbody = ICdr (dummy_kinfo (), halt ()) in fun accu -> KMap_enter_body (kbody, accu, Script_map.empty int, KNil) let () = @@ -3181,7 +3198,12 @@ module Registration_section = struct ~salt:"_empty" ~name:Interpreter_workload.N_KMap_enter_body ~cont_and_stack_sampler:(fun _cfg _rng_state () -> - Ex_stack_and_cont {stack = ((), eos); cont = map_enter_body_code []}) + Ex_stack_and_cont + { + stack = ((), eos); + stack_type = unit @$ bot; + cont = map_enter_body_code []; + }) () let () = @@ -3202,6 +3224,7 @@ module Registration_section = struct Ex_stack_and_cont { stack = ((), eos); + stack_type = unit @$ bot; cont = map_enter_body_code [(Script_int.zero, ())]; }) () @@ -3217,13 +3240,12 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KMap_exit_body ~cont_and_stack_sampler:(fun cfg rng_state -> - let kbody = - ICdr (kinfo (cpair int unit @$ unit @$ bot), halt_unitunit) - in + let kbody = ICdr (dummy_kinfo (), halt ()) in fun () -> let key, map = Maps.generate_map_and_key_in_map cfg rng_state in let cont = KMap_exit_body (kbody, [], map, key, KNil) in - Ex_stack_and_cont {stack = ((), ((), eos)); cont}) + Ex_stack_and_cont + {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) () let () = @@ -3233,7 +3255,8 @@ module Registration_section = struct ~name:Interpreter_workload.N_KMap_head ~cont_and_stack_sampler:(fun _cfg _rng_state () -> let cont = KMap_head (Option.some, KNil) in - Ex_stack_and_cont {stack = ((), ((), eos)); cont}) + Ex_stack_and_cont + {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) () end end diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml index 13ffb400996b..80bacbe3eb84 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml @@ -1463,6 +1463,7 @@ let extract_control_trace (type bef_top bef aft_top aft) exception Stop_bench let extract_deps (type bef_top bef aft_top aft) ctxt step_constants + (sty : (bef_top, bef) Script_typed_ir.stack_ty) (kinstr : (bef_top, bef, aft_top, aft) Script_typed_ir.kinstr) (stack : bef_top * bef) = let trace = ref [] in @@ -1485,6 +1486,7 @@ let extract_deps (type bef_top bef aft_top aft) ctxt step_constants (Some logger) ctxt step_constants + sty kinstr (fst stack) (snd stack)) @@ -1499,6 +1501,7 @@ let extract_deps (type bef_top bef aft_top aft) ctxt step_constants with Stop_bench -> List.rev !trace let extract_deps_continuation (type bef_top bef aft_top aft) ctxt step_constants + (stack_type : (bef_top, bef) stack_ty) (cont : (bef_top, bef, aft_top, aft) Script_typed_ir.continuation) (stack : bef_top * bef) = let trace = ref [] in @@ -1524,6 +1527,7 @@ let extract_deps_continuation (type bef_top bef aft_top aft) ctxt step_constants (Some logger) (outdated_ctxt, step_constants) (Local_gas_counter 0xFF_FF_FF_FF) + stack_type cont (fst stack) (snd stack)) diff --git a/src/proto_alpha/lib_plugin/RPC.ml b/src/proto_alpha/lib_plugin/RPC.ml index 1ba874d8ef80..89c04a82a010 100644 --- a/src/proto_alpha/lib_plugin/RPC.ml +++ b/src/proto_alpha/lib_plugin/RPC.ml @@ -802,7 +802,8 @@ module Scripts = struct | IJoin_tickets _ -> pp_print_string fmt "JOIN_TICKETS" | IOpen_chest _ -> pp_print_string fmt "OPEN_CHEST" | IHalt _ -> pp_print_string fmt "[halt]" - | ILog (_, _, _, instr) -> Format.fprintf fmt "log/%a" pp_instr_name instr + | ILog (_, _, _, _, instr) -> + Format.fprintf fmt "log/%a" pp_instr_name instr let run_operation_service ctxt () ({shell; protocol_data = Operation_data protocol_data}, chain_id) = diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index f533fdf1021c..96f57c93964e 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -246,43 +246,45 @@ let () = group ends with the definition of [next], which dispatches evaluation rules depending on the continuation at stake. + Some of these functions generate fresh continuations. As such, they + expect a constructor [instrument] which inserts a [KLog] if the + evaluation is logged. + *) -let rec kmap_exit : - type a b c d e f g h m n o. (a, b, c, d, e, f, g, h, m, n, o) kmap_exit_type - = - fun mk g gas body xs ys yk ks accu stack -> +let rec kmap_exit : type a b e f m n o. (a, b, e, f, m, n, o) kmap_exit_type = + fun g gas body xs ys yk ks accu stack -> let ys = Script_map.update yk (Some accu) ys in - let ks = mk (KMap_enter_body (body, xs, ys, ks)) in + let ks = KMap_enter_body (body, xs, ys, ks) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and kmap_enter : type a b c d i j k. (a, b, c, d, i, j, k) kmap_enter_type = - fun mk g gas body xs ys ks accu stack -> + fun g gas body xs ys ks accu stack -> match xs with | [] -> (next [@ocaml.tailcall]) g gas ks ys (accu, stack) | (xk, xv) :: xs -> - let ks = mk (KMap_exit_body (body, xs, ys, xk, ks)) in + let ks = KMap_exit_body (body, xs, ys, xk, ks) in let res = (xk, xv) in let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas body ks res stack [@@inline] and klist_exit : type a b c d i j. (a, b, c, d, i, j) klist_exit_type = - fun mk g gas body xs ys len ks accu stack -> - let ks = mk (KList_enter_body (body, xs, accu :: ys, len, ks)) in + fun g gas body xs ys len ks accu stack -> + let ks = KList_enter_body (body, xs, accu :: ys, len, ks) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and klist_enter : type a b c d e j. (a, b, c, d, e, j) klist_enter_type = - fun mk g gas body xs ys len ks' accu stack -> + fun g gas body xs ys len ks' accu stack -> match xs with | [] -> let ys = {elements = List.rev ys; length = len} in (next [@ocaml.tailcall]) g gas ks' ys (accu, stack) | x :: xs -> - let ks = mk (KList_exit_body (body, xs, ys, len, ks')) in + let ks = KList_exit_body (body, xs, ys, len, ks') in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] @@ -302,11 +304,11 @@ and kloop_in : type a b c r f s. (a, b, c, r, f, s) kloop_in_type = [@@inline] and kiter : type a b s r f c. (a, b, s, r, f, c) kiter_type = - fun mk g gas body ty xs ks accu stack -> + fun g gas body ty xs ks accu stack -> match xs with | [] -> (next [@ocaml.tailcall]) g gas ks accu stack | x :: xs -> - let ks = mk (KIter (body, ty, xs, ks)) in + let ks = KIter (body, ty, xs, ks) in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] @@ -323,8 +325,8 @@ and next : | None -> fail Gas.Operation_quota_exceeded | Some gas -> ( match ks0 with - | KLog (ks, logger) -> - (klog [@ocaml.tailcall]) logger g gas ks0 ks accu stack + | KLog (ks, _, logger) -> + (klog [@ocaml.tailcall]) logger g gas ks accu stack | KNil -> Lwt.return (Ok (accu, stack, ctxt, gas)) | KCons (k, ks) -> (step [@ocaml.tailcall]) g gas k ks accu stack | KLoop_in (ki, ks') -> @@ -335,15 +337,15 @@ and next : (kloop_in_left [@ocaml.tailcall]) g gas ks0 ki ks' accu stack | KUndip (x, ks) -> (next [@ocaml.tailcall]) g gas ks x (accu, stack) | KIter (body, ty, xs, ks) -> - (kiter [@ocaml.tailcall]) id g gas body ty xs ks accu stack + (kiter [@ocaml.tailcall]) g gas body ty xs ks accu stack | KList_enter_body (body, xs, ys, len, ks) -> - (klist_enter [@ocaml.tailcall]) id g gas body xs ys len ks accu stack + (klist_enter [@ocaml.tailcall]) g gas body xs ys len ks accu stack | KList_exit_body (body, xs, ys, len, ks) -> - (klist_exit [@ocaml.tailcall]) id g gas body xs ys len ks accu stack + (klist_exit [@ocaml.tailcall]) g gas body xs ys len ks accu stack | KMap_enter_body (body, xs, ys, ks) -> - (kmap_enter [@ocaml.tailcall]) id g gas body xs ys ks accu stack + (kmap_enter [@ocaml.tailcall]) g gas body xs ys ks accu stack | KMap_exit_body (body, xs, ys, yk, ks) -> - (kmap_exit [@ocaml.tailcall]) id g gas body xs ys yk ks accu stack + (kmap_exit [@ocaml.tailcall]) g gas body xs ys yk ks accu stack | KView_exit (orig_step_constants, ks) -> let g = (fst g, orig_step_constants) in (next [@ocaml.tailcall]) g gas ks accu stack) @@ -355,59 +357,57 @@ and next : The following functions define evaluation rules for instructions that generate fresh continuations. As such, they expect a constructor - [log_if_needed] which inserts a [KLog] if the evaluation is logged. + [instrument] which inserts a [KLog] if the evaluation is logged. The [step] function is taking care of the evaluation of the other instructions. *) and ilist_map : type a b c d e f g h. (a, b, c, d, e, f, g, h) ilist_map_type = - fun log_if_needed g gas body k ks accu stack -> + fun g gas body k ks accu stack -> let xs = accu.elements in let ys = [] in let len = accu.length in - let ks = - log_if_needed (KList_enter_body (body, xs, ys, len, KCons (k, ks))) - in + let ks = KList_enter_body (body, xs, ys, len, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and ilist_iter : type a b c d e f g cmp. (a, b, c, d, e, f, g, cmp) ilist_iter_type = - fun log_if_needed g gas body ty k ks accu stack -> + fun g gas body ty k ks accu stack -> let xs = accu.elements in - let ks = log_if_needed (KIter (body, ty, xs, KCons (k, ks))) in + let ks = KIter (body, ty, xs, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and iset_iter : type a b c d e f g. (a, b, c, d, e, f, g) iset_iter_type = - fun log_if_needed g gas body ty k ks accu stack -> + fun g gas body ty k ks accu stack -> let set = accu in let l = List.rev (Script_set.fold (fun e acc -> e :: acc) set []) in - let ks = log_if_needed (KIter (body, ty, l, KCons (k, ks))) in + let ks = KIter (body, ty, l, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and imap_map : type a b c d e f g h i. (a, b, c, d, e, f, g, h, i) imap_map_type = - fun log_if_needed g gas body k ks accu stack -> + fun g gas body k ks accu stack -> let map = accu in let xs = List.rev (Script_map.fold (fun k v a -> (k, v) :: a) map []) in let ys = Script_map.empty_from map in - let ks = log_if_needed (KMap_enter_body (body, xs, ys, KCons (k, ks))) in + let ks = KMap_enter_body (body, xs, ys, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and imap_iter : type a b c d e f g h cmp. (a, b, c, d, e, f, g, h, cmp) imap_iter_type = - fun log_if_needed g gas body kvty k ks accu stack -> + fun g gas body ty k ks accu stack -> let map = accu in let l = List.rev (Script_map.fold (fun k v a -> (k, v) :: a) map []) in - let ks = log_if_needed (KIter (body, kvty, l, KCons (k, ks))) in + let ks = KIter (body, ty, l, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -463,7 +463,7 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = let code = match logger with | None -> code.kinstr - | Some logger -> log_kinstr logger code.kinstr + | Some logger -> log_kinstr logger code.kbef code.kinstr in let ks = KReturn (stack, KCons (k, ks)) in (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) @@ -474,8 +474,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | None -> fail Gas.Operation_quota_exceeded | Some gas -> ( match i with - | ILog (_, event, logger, k) -> - (log [@ocaml.tailcall]) (logger, event) g gas k ks accu stack + | ILog (_, sty, event, logger, k) -> + (log [@ocaml.tailcall]) (logger, event) sty g gas k ks accu stack | IHalt _ -> (next [@ocaml.tailcall]) g gas ks accu stack (* stack ops *) | IDrop (_, k) -> @@ -583,20 +583,20 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = hd (tl, stack)) | IList_map (_, body, k) -> - (ilist_map [@ocaml.tailcall]) id g gas body k ks accu stack + (ilist_map [@ocaml.tailcall]) g gas body k ks accu stack | IList_size (_, k) -> let list = accu in let len = Script_int.(abs (of_int list.length)) in (step [@ocaml.tailcall]) g gas k ks len stack | IList_iter (_, ty, body, k) -> - (ilist_iter [@ocaml.tailcall]) id g gas body ty k ks accu stack + (ilist_iter [@ocaml.tailcall]) g gas body ty k ks accu stack (* sets *) | IEmpty_set (_, ty, k) -> let res = Script_set.empty ty in let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | ISet_iter (_, ty, body, k) -> - (iset_iter [@ocaml.tailcall]) id g gas body ty k ks accu stack + (iset_iter [@ocaml.tailcall]) g gas body ty k ks accu stack | ISet_mem (_, k) -> let set, stack = stack in let res = Script_set.mem accu set in @@ -613,9 +613,9 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let res = Script_map.empty kty and stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | IMap_map (_, _, body, k) -> - (imap_map [@ocaml.tailcall]) id g gas body k ks accu stack + (imap_map [@ocaml.tailcall]) g gas body k ks accu stack | IMap_iter (_, kvty, body, k) -> - (imap_iter [@ocaml.tailcall]) id g gas body kvty k ks accu stack + (imap_iter [@ocaml.tailcall]) g gas body kvty k ks accu stack | IMap_mem (_, k) -> let map, stack = stack in let res = Script_map.mem accu map in @@ -1097,38 +1097,37 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = match eq with | Error Inconsistent_types_fast -> (return_none [@ocaml.tailcall]) ctxt - | Ok (Eq, Eq) -> ( - let kkinfo = kinfo_of_kinstr k in - match kkinfo.kstack_ty with - | Item_t (_, s) -> - let kstack_ty = Item_t (output_ty, s) in - let kkinfo = {kkinfo with kstack_ty} in - let ks = KCons (ICons_some (kkinfo, k), ks) in - Contract.get_balance_carbonated ctxt c - >>=? fun (ctxt, balance) -> - let gas, ctxt = - local_gas_counter_and_outdated_context ctxt - in - (step [@ocaml.tailcall]) - ( ctxt, - { - source = Contract.Originated sc.self; - self = contract_hash; - amount = Tez.zero; - balance; - (* The following remain unchanged, but let's - list them anyway, so that we don't forget - to update something added later. *) - payer = sc.payer; - chain_id = sc.chain_id; - now = sc.now; - level = sc.level; - } ) - gas - kinstr - (KView_exit (sc, KReturn (stack, ks))) - (input, storage) - (EmptyCell, EmptyCell)))))) + | Ok (Eq, Eq) -> + let kkinfo = + let {iloc} = kinfo_of_kinstr k in + {iloc} + in + let ks = KCons (ICons_some (kkinfo, k), ks) in + Contract.get_balance_carbonated ctxt c + >>=? fun (ctxt, balance) -> + let gas, ctxt = + local_gas_counter_and_outdated_context ctxt + in + (step [@ocaml.tailcall]) + ( ctxt, + { + source = Contract.Originated sc.self; + self = contract_hash; + amount = Tez.zero; + balance; + (* The following remain unchanged, but let's + list them anyway, so that we don't forget + to update something added later. *) + payer = sc.payer; + chain_id = sc.chain_id; + now = sc.now; + level = sc.level; + } ) + gas + kinstr + (KView_exit (sc, KReturn (stack, ks))) + (input, storage) + (EmptyCell, EmptyCell))))) | ICreate_contract {storage_type; code; k; kinfo = _} -> (* Removed the instruction's arguments manager, spendable and delegatable *) let delegate = accu in @@ -1534,31 +1533,16 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = *) and log : - type a s b t r f. logger * logging_event -> (a, s, b, t, r, f) step_type = - fun (logger, event) ((ctxt, _) as g) gas k ks accu stack -> + type a s b t r f. + logger * logging_event -> (a, s) stack_ty -> (a, s, b, t, r, f) step_type = + fun (logger, event) sty ((ctxt, _) as g) gas k ks accu stack -> (match (k, event) with | ILog _, LogEntry -> () - | _, LogEntry -> log_entry logger ctxt gas k accu stack - | _, LogExit prev_kinfo -> log_exit logger ctxt gas prev_kinfo k accu stack) ; - let k = log_next_kinstr logger k in - let with_log k = match k with KLog _ -> k | _ -> KLog (k, logger) in + | _, LogEntry -> log_entry logger ctxt gas k sty accu stack + | _, LogExit prev_kinfo -> + log_exit logger ctxt gas prev_kinfo k sty accu stack) ; + log_next_kinstr logger sty k >>?= fun k -> match k with - | IList_map (_, body, k) -> - (ilist_map [@ocaml.tailcall]) with_log g gas body k ks accu stack - | IList_iter (_, ty, body, k) -> - (ilist_iter [@ocaml.tailcall]) with_log g gas body ty k ks accu stack - | ISet_iter (_, ty, body, k) -> - (iset_iter [@ocaml.tailcall]) with_log g gas body ty k ks accu stack - | IMap_map (_, _ty, body, k) -> - (imap_map [@ocaml.tailcall]) with_log g gas body k ks accu stack - | IMap_iter (_, kvty, body, k) -> - (imap_iter [@ocaml.tailcall]) with_log g gas body kvty k ks accu stack - | ILoop (_, body, k) -> - let ks = with_log (KLoop_in (body, KCons (k, ks))) in - (next [@ocaml.tailcall]) g gas ks accu stack - | ILoop_left (_, bl, br) -> - let ks = with_log (KLoop_in_left (bl, KCons (br, ks))) in - (next [@ocaml.tailcall]) g gas ks accu stack | IMul_teznat (kinfo, k) -> (imul_teznat [@ocaml.tailcall]) (Some logger) g gas kinfo k ks accu stack | IMul_nattez (kinfo, k) -> @@ -1570,9 +1554,7 @@ and log : | IFailwith (_, kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu - | IExec (_, k) -> - (iexec [@ocaml.tailcall]) (Some logger) g gas k ks accu stack - | _ -> (step [@ocaml.tailcall]) g gas k (with_log ks) accu stack + | _ -> (step [@ocaml.tailcall]) g gas k ks accu stack [@@inline] and klog : @@ -1581,61 +1563,13 @@ and klog : outdated_context * step_constants -> local_gas_counter -> (a, s, r, f) continuation -> - (a, s, r, f) continuation -> a -> s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = - fun logger g gas ks0 ks accu stack -> + fun logger g gas ks accu stack -> (match ks with KLog _ -> () | _ -> log_control logger ks) ; - let enable_log ki = log_kinstr logger ki in - let mk k = match k with KLog _ -> k | _ -> KLog (k, logger) in - match ks with - | KCons (ki, ks') -> - let log = enable_log ki in - let ks = mk ks' in - (step [@ocaml.tailcall]) g gas log ks accu stack - | KNil -> (next [@ocaml.tailcall]) g gas ks accu stack - | KLoop_in (ki, ks') -> - let ks' = mk ks' in - let ki = enable_log ki in - (kloop_in [@ocaml.tailcall]) g gas ks0 ki ks' accu stack - | KReturn (stack', ks') -> - let ks' = mk ks' in - let ks = KReturn (stack', ks') in - (next [@ocaml.tailcall]) g gas ks accu stack - | KMap_head (f, ks) -> (next [@ocaml.tailcall]) g gas ks (f accu) stack - | KLoop_in_left (ki, ks') -> - let ks' = mk ks' in - let ki = enable_log ki in - (kloop_in_left [@ocaml.tailcall]) g gas ks0 ki ks' accu stack - | KUndip (x, ks') -> - let ks' = mk ks' in - let ks = KUndip (x, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack - | KIter (body, ty, xs, ks') -> - let ks' = mk ks' in - let body = enable_log body in - (kiter [@ocaml.tailcall]) mk g gas body ty xs ks' accu stack - | KList_enter_body (body, xs, ys, len, ks') -> - let ks' = mk ks' in - (klist_enter [@ocaml.tailcall]) mk g gas body xs ys len ks' accu stack - | KList_exit_body (body, xs, ys, len, ks') -> - let ks' = mk ks' in - (klist_exit [@ocaml.tailcall]) mk g gas body xs ys len ks' accu stack - | KMap_enter_body (body, xs, ys, ks') -> - let ks' = mk ks' in - (kmap_enter [@ocaml.tailcall]) mk g gas body xs ys ks' accu stack - | KMap_exit_body (body, xs, ys, yk, ks') -> - let ks' = mk ks' in - (kmap_exit [@ocaml.tailcall]) mk g gas body xs ys yk ks' accu stack - | KView_exit (orig_step_constants, ks') -> - let g = (fst g, orig_step_constants) in - (next [@ocaml.tailcall]) g gas ks' accu stack - | KLog (_, _) -> - (* This case should never happen. *) - (next [@ocaml.tailcall]) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] - (* Entrypoints @@ -1652,7 +1586,12 @@ let step_descr ~log_now logger (ctxt, sc) descr accu stack = let kinfo = kinfo_of_kinstr descr.kinstr in logger.log_interp descr.kinstr ctxt kinfo.iloc descr.kbef (accu, stack)) ; let log = - ILog (kinfo_of_kinstr descr.kinstr, LogEntry, logger, descr.kinstr) + ILog + ( kinfo_of_kinstr descr.kinstr, + descr.kbef, + LogEntry, + logger, + descr.kinstr ) in step (outdated_ctxt, sc) gas log KNil accu stack) >>=? fun (accu, stack, ctxt, gas) -> @@ -1662,11 +1601,11 @@ let interp logger g (Lam (code, _)) arg = step_descr ~log_now:true logger g code arg (EmptyCell, EmptyCell) >|=? fun (ret, (EmptyCell, EmptyCell), ctxt) -> (ret, ctxt) -let kstep logger ctxt step_constants kinstr accu stack = +let kstep logger ctxt step_constants sty kinstr accu stack = let kinstr = match logger with | None -> kinstr - | Some logger -> ILog (kinfo_of_kinstr kinstr, LogEntry, logger, kinstr) + | Some logger -> ILog (kinfo_of_kinstr kinstr, sty, LogEntry, logger, kinstr) in let gas, outdated_ctxt = local_gas_counter_and_outdated_context ctxt in step (outdated_ctxt, step_constants) gas kinstr KNil accu stack @@ -1866,9 +1805,9 @@ let execute ?logger ctxt ~cached_script mode step_constants ~script ~entrypoint *) module Internals = struct - let next logger g gas ks accu stack = + let next logger g gas sty ks accu stack = let ks = - match logger with None -> ks | Some logger -> KLog (ks, logger) + match logger with None -> ks | Some logger -> KLog (ks, sty, logger) in next g gas ks accu stack diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index 2825ac2ff426..3d2581922755 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -146,6 +146,7 @@ module Internals : sig logger option -> Local_gas_counter.outdated_context * step_constants -> Local_gas_counter.local_gas_counter -> + ('a, 's) stack_ty -> ('a, 's, 'r, 'f) continuation -> 'a -> 's -> @@ -189,6 +190,7 @@ module Internals : sig logger option -> context -> step_constants -> + ('a, 's) stack_ty -> ('a, 's, 'r, 'f) Script_typed_ir.kinstr -> 'a -> 's -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 862ae06c6364..0423884a6964 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -405,15 +405,15 @@ let consume_control local_gas_counter ks = *) -let log_entry logger ctxt gas k accu stack = +let log_entry logger ctxt gas k sty accu stack = let kinfo = kinfo_of_kinstr k in let ctxt = update_context gas ctxt in - logger.log_entry k ctxt kinfo.iloc kinfo.kstack_ty (accu, stack) + logger.log_entry k ctxt kinfo.iloc sty (accu, stack) -let log_exit logger ctxt gas kinfo_prev k accu stack = - let kinfo = kinfo_of_kinstr k in +let log_exit logger ctxt gas kinfo_prev k sty accu stack = + let _kinfo = kinfo_of_kinstr k in let ctxt = update_context gas ctxt in - logger.log_exit k ctxt kinfo_prev.iloc kinfo.kstack_ty (accu, stack) + logger.log_exit k ctxt kinfo_prev.iloc sty (accu, stack) let log_control logger ks = logger.log_control ks @@ -424,7 +424,7 @@ let get_log = function (* [log_kinstr logger i] emits an instruction to instrument the execution of [i] with [logger]. *) -let log_kinstr logger i = ILog (kinfo_of_kinstr i, LogEntry, logger, i) +let log_kinstr logger sty i = ILog (kinfo_of_kinstr i, sty, LogEntry, logger, i) (* [log_next_kinstr logger i] instruments the next instruction of [i] with the [logger]. @@ -438,15 +438,16 @@ let log_kinstr logger i = ILog (kinfo_of_kinstr i, LogEntry, logger, i) non-instrumented execution is not impacted by the ability to instrument it, not that the logging itself has no cost. *) -let log_next_kinstr logger i = - let apply k = +let log_next_kinstr logger sty i = + let apply sty k = ILog ( kinfo_of_kinstr k, + sty, LogExit (kinfo_of_kinstr i), logger, - log_kinstr logger k ) + log_kinstr logger sty k ) in - kinstr_rewritek i {apply} + kinstr_rewritek sty i {apply} (* We pass the identity function when no instrumentation is needed. *) let id x = x [@@inline] @@ -493,13 +494,8 @@ let apply ctxt gas capture_ty capture lam = kbef = arg_stack_ty; kaft = descr.kaft; kinstr = - (let kinfo_const = {iloc = descr.kloc; kstack_ty = arg_stack_ty} in - let kinfo_pair = - { - iloc = descr.kloc; - kstack_ty = Item_t (capture_ty, arg_stack_ty); - } - in + (let kinfo_const = {iloc = descr.kloc} in + let kinfo_pair = {iloc = descr.kloc} in IConst ( kinfo_const, capture_ty, @@ -741,21 +737,19 @@ type ('a, 's, 'b, 't, 'r, 'f) step_type = 's -> ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'm, 'n, 'o) kmap_exit_type = - (('c, 'd, 'e, 'f) continuation -> ('a, 'b, 'g, 'h) continuation) -> +type ('a, 'b, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = outdated_context * step_constants -> local_gas_counter -> - ('m * 'n, 'c * 'd, 'o, 'c * 'd) kinstr -> + ('m * 'n, 'a * 'b, 'o, 'a * 'b) kinstr -> ('m * 'n) list -> ('m, 'o) map -> 'm -> - (('m, 'o) map, 'c * 'd, 'e, 'f) continuation -> + (('m, 'o) map, 'a * 'b, 'e, 'f) continuation -> 'o -> 'a * 'b -> - ('g * 'h * outdated_context * local_gas_counter) tzresult Lwt.t + ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'j, 'k) kmap_enter_type = - (('a, 'b * 'c, 'd, 'e) continuation -> ('a, 'b * 'c, 'd, 'e) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('j * 'k, 'b * 'c, 'a, 'b * 'c) kinstr -> @@ -767,7 +761,6 @@ type ('a, 'b, 'c, 'd, 'e, 'j, 'k) kmap_enter_type = ('d * 'e * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'i, 'j) klist_exit_type = - (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('i, 'a * 'b, 'j, 'a * 'b) kinstr -> @@ -780,7 +773,6 @@ type ('a, 'b, 'c, 'd, 'i, 'j) klist_exit_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'j) klist_enter_type = - (('b, 'a * 'c, 'd, 'e) continuation -> ('b, 'a * 'c, 'd, 'e) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('j, 'a * 'c, 'b, 'a * 'c) kinstr -> @@ -813,7 +805,6 @@ type ('a, 'b, 'c, 'r, 'f, 's) kloop_in_type = ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 's, 'r, 'f, 'c) kiter_type = - (('a, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('b, 'a * 's, 'a, 's) kinstr -> @@ -825,7 +816,6 @@ type ('a, 'b, 's, 'r, 'f, 'c) kiter_type = ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) ilist_map_type = - (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'f, 'a * 'b) kinstr -> @@ -836,7 +826,6 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) ilist_map_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'cmp) ilist_iter_type = - (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'a, 'b) kinstr -> @@ -848,7 +837,6 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'cmp) ilist_iter_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type = - (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'a, 'b) kinstr -> @@ -860,7 +848,6 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) imap_map_type = - (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e * 'f, 'a * 'b, 'g, 'a * 'b) kinstr -> @@ -871,7 +858,6 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) imap_map_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'cmp) imap_iter_type = - (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> outdated_context * step_constants -> local_gas_counter -> ('e * 'f, 'a * 'b, 'a, 'b) kinstr -> diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index ab94b208738a..9a381cb5a618 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -71,12 +71,12 @@ type ('a, 's, 'b, 'u) descr = { } let close_descr {loc; bef; aft; instr} = - let kinfo = {iloc = loc; kstack_ty = aft} in - let kinfo' = {iloc = loc; kstack_ty = bef} in + let kinfo = {iloc = loc} in + let kinfo' = {iloc = loc} in let kinstr = instr.apply kinfo' (IHalt kinfo) in {kloc = loc; kbef = bef; kaft = aft; kinstr} -let kinfo_of_descr {loc; bef; _} = {iloc = loc; kstack_ty = bef} +let kinfo_of_descr {loc; _} = {iloc = loc} let compose_descr : type a s b u c v. @@ -1641,7 +1641,7 @@ let rec make_dug_proof_argument : | n, Item_t (v, rest) -> make_dug_proof_argument loc (n - 1) x rest |> Option.map @@ fun (Dug_proof_argument (n', aft')) -> - let kinfo = {iloc = loc; kstack_ty = aft'} in + let kinfo = {iloc = loc} in Dug_proof_argument (KPrefix (kinfo, v, n'), Item_t (v, aft')) | _, _ -> None @@ -2951,7 +2951,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | false, Item_t (a, rest) -> make_proof_argument (n - 1) rest >|? fun (Dropn_proof_argument (n', stack_after_drops)) -> - let kinfo = {iloc = loc; kstack_ty = rest} in + let kinfo = {iloc = loc} in Dropn_proof_argument (KPrefix (kinfo, a, n'), stack_after_drops) | _, _ -> let whole_stack = serialize_stack_for_error ctxt whole_stack in @@ -3024,7 +3024,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | false, Item_t (v, rest) -> make_proof_argument (n - 1) rest >|? fun (Dig_proof_argument (n', x, aft')) -> - let kinfo = {iloc = loc; kstack_ty = aft'} in + let kinfo = {iloc = loc} in Dig_proof_argument (KPrefix (kinfo, v, n'), x, Item_t (v, aft')) | _, _ -> let whole_stack = serialize_stack_for_error ctxt stack in @@ -3117,7 +3117,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : ( stack_eq loc ctxt 1 aft_rest rest >>? fun (Eq, ctxt) -> option_t loc ret >>? fun opt_ty -> let final_stack = Item_t (opt_ty, rest) in - let hinfo = {iloc = loc; kstack_ty = Item_t (ret, aft_rest)} in + let hinfo = {iloc = loc} in let cinfo = kinfo_of_descr kibody in let body = kibody.instr.apply cinfo (IHalt hinfo) in let apply kinfo k = IOpt_map {kinfo; body; k} in @@ -3391,7 +3391,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : invalid_map_body ( stack_eq loc ctxt 1 rest starting_rest >>? fun (Eq, ctxt) -> let binfo = kinfo_of_descr kibody in - let hinfo = {iloc = loc; kstack_ty = aft} in + let hinfo = {iloc = loc} in let ibody = kibody.instr.apply binfo (IHalt hinfo) in let list_map = {apply = (fun kinfo k -> IList_map (kinfo, ibody, k))} @@ -3418,7 +3418,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun kinfo k -> - let hinfo = {iloc = loc; kstack_ty = rest} in + let hinfo = {iloc = loc} in let binfo = kinfo_of_descr ibody in let ibody = ibody.instr.apply binfo (IHalt hinfo) in IList_iter (kinfo, elt, ibody, k)); @@ -3462,7 +3462,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun kinfo k -> - let hinfo = {iloc = loc; kstack_ty = rest} in + let hinfo = {iloc = loc} in let binfo = kinfo_of_descr ibody in let ibody = ibody.instr.apply binfo (IHalt hinfo) in ISet_iter (kinfo, elt, ibody, k)); @@ -3538,7 +3538,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : apply = (fun kinfo k -> let binfo = kinfo_of_descr ibody in - let hinfo = {iloc = loc; kstack_ty = aft} in + let hinfo = {iloc = loc} in let ibody = ibody.instr.apply binfo (IHalt hinfo) in IMap_map (kinfo, kt, ibody, k)); } @@ -3567,7 +3567,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun kinfo k -> - let hinfo = {iloc = loc; kstack_ty = rest} in + let hinfo = {iloc = loc} in let binfo = kinfo_of_descr ibody in let ibody = ibody.instr.apply binfo (IHalt hinfo) in IMap_iter (kinfo, ty, ibody, k)); @@ -3891,8 +3891,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Item_t (arg, Item_t (Lambda_t (param, ret, _), rest)) ) -> check_item_ty ctxt arg param loc I_EXEC 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IExec (kinfo, k))} in let stack = Item_t (ret, rest) in + let instr = {apply = (fun kinfo k -> IExec (kinfo, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_APPLY, [], annot), Item_t @@ -3923,8 +3923,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun kinfo k -> - let binfo = {iloc = descr.loc; kstack_ty = descr.bef} in - let kinfoh = {iloc = descr.loc; kstack_ty = descr.aft} in + let binfo = {iloc = descr.loc} in + let kinfoh = {iloc = descr.loc} in let b = descr.instr.apply binfo (IHalt kinfoh) in IDip (kinfo, b, k)); } @@ -3960,7 +3960,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | false, Item_t (v, rest) -> make_proof_argument (n - 1) rest >|=? fun (Dipn_proof_argument (n', ctxt, descr, aft')) -> - let kinfo' = {iloc = loc; kstack_ty = aft'} in + let kinfo' = {iloc = loc} in let w = KPrefix (kinfo', v, n') in Dipn_proof_argument (w, ctxt, descr, Item_t (v, aft')) | _, _ -> @@ -3971,8 +3971,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n stack >>=? fun (Dipn_proof_argument (n', ctxt, descr, aft)) -> - let kinfo = {iloc = descr.loc; kstack_ty = descr.bef} in - let kinfoh = {iloc = descr.loc; kstack_ty = descr.aft} in + let kinfo = {iloc = descr.loc} in + let kinfoh = {iloc = descr.loc} in let b = descr.instr.apply kinfo (IHalt kinfoh) in let res = {apply = (fun kinfo k -> IDipn (kinfo, n, n', b, k))} in typed ctxt loc res aft diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 152d3d3ae286..5d046308320b 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -609,7 +609,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | IMap_map : (('a, 'b) map, 'd * 's) kinfo - * 'a comparable_ty + * ('a, _) ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr @@ -1144,7 +1144,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = *) | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr | ILog : - ('a, 's) kinfo * logging_event * logger * ('a, 's, 'r, 'f) kinstr + ('a, 's) kinfo + * ('a, 's) stack_ty + * logging_event + * logger + * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr and logging_event = @@ -1221,7 +1225,7 @@ and (_, _, _, _) continuation = step_constants * ('a, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KLog : - ('a, 's, 'r, 'f) continuation * logger + ('a, 's, 'r, 'f) continuation * ('a, 's) stack_ty * logger -> ('a, 's, 'r, 'f) continuation and ('a, 's, 'b, 'f, 'c, 'u) logging_function = @@ -1325,7 +1329,7 @@ and ('a, 's, 'r, 'f) kdescr = { kinstr : ('a, 's, 'r, 'f) kinstr; } -and ('a, 's) kinfo = {iloc : Script.location; kstack_ty : ('a, 's) stack_ty} +and ('a, 's) kinfo = {iloc : Script.location} and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : @@ -1608,221 +1612,9 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = | ISplit_ticket (kinfo, _) -> kinfo | IJoin_tickets (kinfo, _, _) -> kinfo | IHalt kinfo -> kinfo - | ILog (kinfo, _, _, _) -> kinfo + | ILog (kinfo, _, _, _, _) -> kinfo | IOpen_chest (kinfo, _) -> kinfo -type kinstr_rewritek = { - apply : 'b 'u 'r 'f. ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; -} - -let kinstr_rewritek : - type a s r f. (a, s, r, f) kinstr -> kinstr_rewritek -> (a, s, r, f) kinstr - = - fun i f -> - match i with - | IDrop (kinfo, k) -> IDrop (kinfo, f.apply k) - | IDup (kinfo, k) -> IDup (kinfo, f.apply k) - | ISwap (kinfo, k) -> ISwap (kinfo, f.apply k) - | IConst (kinfo, ty, x, k) -> IConst (kinfo, ty, x, f.apply k) - | ICons_pair (kinfo, k) -> ICons_pair (kinfo, f.apply k) - | ICar (kinfo, k) -> ICar (kinfo, f.apply k) - | ICdr (kinfo, k) -> ICdr (kinfo, f.apply k) - | IUnpair (kinfo, k) -> IUnpair (kinfo, f.apply k) - | ICons_some (kinfo, k) -> ICons_some (kinfo, f.apply k) - | ICons_none (kinfo, ty, k) -> ICons_none (kinfo, ty, f.apply k) - | IIf_none {kinfo; branch_if_none; branch_if_some; k} -> - IIf_none - { - kinfo; - branch_if_none = f.apply branch_if_none; - branch_if_some = f.apply branch_if_some; - k = f.apply k; - } - | IOpt_map {kinfo; body; k} -> - let body = f.apply body in - let k = f.apply k in - IOpt_map {kinfo; body; k} - | ICons_left (kinfo, ty, k) -> ICons_left (kinfo, ty, f.apply k) - | ICons_right (kinfo, ty, k) -> ICons_right (kinfo, ty, f.apply k) - | IIf_left {kinfo; branch_if_left; branch_if_right; k} -> - IIf_left - { - kinfo; - branch_if_left = f.apply branch_if_left; - branch_if_right = f.apply branch_if_right; - k = f.apply k; - } - | ICons_list (kinfo, k) -> ICons_list (kinfo, f.apply k) - | INil (kinfo, ty, k) -> INil (kinfo, ty, f.apply k) - | IIf_cons {kinfo; branch_if_cons; branch_if_nil; k} -> - IIf_cons - { - kinfo; - branch_if_cons = f.apply branch_if_cons; - branch_if_nil = f.apply branch_if_nil; - k = f.apply k; - } - | IList_map (kinfo, body, k) -> IList_map (kinfo, f.apply body, f.apply k) - | IList_iter (kinfo, ty, body, k) -> - IList_iter (kinfo, ty, f.apply body, f.apply k) - | IList_size (kinfo, k) -> IList_size (kinfo, f.apply k) - | IEmpty_set (kinfo, ty, k) -> IEmpty_set (kinfo, ty, f.apply k) - | ISet_iter (kinfo, ty, body, k) -> - ISet_iter (kinfo, ty, f.apply body, f.apply k) - | ISet_mem (kinfo, k) -> ISet_mem (kinfo, f.apply k) - | ISet_update (kinfo, k) -> ISet_update (kinfo, f.apply k) - | ISet_size (kinfo, k) -> ISet_size (kinfo, f.apply k) - | IEmpty_map (kinfo, cty, ty, k) -> IEmpty_map (kinfo, cty, ty, f.apply k) - | IMap_map (kinfo, kty, body, k) -> - IMap_map (kinfo, kty, f.apply body, f.apply k) - | IMap_iter (kinfo, kvty, body, k) -> - IMap_iter (kinfo, kvty, f.apply body, f.apply k) - | IMap_mem (kinfo, k) -> IMap_mem (kinfo, f.apply k) - | IMap_get (kinfo, k) -> IMap_get (kinfo, f.apply k) - | IMap_update (kinfo, k) -> IMap_update (kinfo, f.apply k) - | IMap_get_and_update (kinfo, k) -> IMap_get_and_update (kinfo, f.apply k) - | IMap_size (kinfo, k) -> IMap_size (kinfo, f.apply k) - | IEmpty_big_map (kinfo, cty, ty, k) -> - IEmpty_big_map (kinfo, cty, ty, f.apply k) - | IBig_map_mem (kinfo, k) -> IBig_map_mem (kinfo, f.apply k) - | IBig_map_get (kinfo, k) -> IBig_map_get (kinfo, f.apply k) - | IBig_map_update (kinfo, k) -> IBig_map_update (kinfo, f.apply k) - | IBig_map_get_and_update (kinfo, k) -> - IBig_map_get_and_update (kinfo, f.apply k) - | IConcat_string (kinfo, k) -> IConcat_string (kinfo, f.apply k) - | IConcat_string_pair (kinfo, k) -> IConcat_string_pair (kinfo, f.apply k) - | ISlice_string (kinfo, k) -> ISlice_string (kinfo, f.apply k) - | IString_size (kinfo, k) -> IString_size (kinfo, f.apply k) - | IConcat_bytes (kinfo, k) -> IConcat_bytes (kinfo, f.apply k) - | IConcat_bytes_pair (kinfo, k) -> IConcat_bytes_pair (kinfo, f.apply k) - | ISlice_bytes (kinfo, k) -> ISlice_bytes (kinfo, f.apply k) - | IBytes_size (kinfo, k) -> IBytes_size (kinfo, f.apply k) - | IAdd_seconds_to_timestamp (kinfo, k) -> - IAdd_seconds_to_timestamp (kinfo, f.apply k) - | IAdd_timestamp_to_seconds (kinfo, k) -> - IAdd_timestamp_to_seconds (kinfo, f.apply k) - | ISub_timestamp_seconds (kinfo, k) -> - ISub_timestamp_seconds (kinfo, f.apply k) - | IDiff_timestamps (kinfo, k) -> IDiff_timestamps (kinfo, f.apply k) - | IAdd_tez (kinfo, k) -> IAdd_tez (kinfo, f.apply k) - | ISub_tez (kinfo, k) -> ISub_tez (kinfo, f.apply k) - | ISub_tez_legacy (kinfo, k) -> ISub_tez_legacy (kinfo, f.apply k) - | IMul_teznat (kinfo, k) -> IMul_teznat (kinfo, f.apply k) - | IMul_nattez (kinfo, k) -> IMul_nattez (kinfo, f.apply k) - | IEdiv_teznat (kinfo, k) -> IEdiv_teznat (kinfo, f.apply k) - | IEdiv_tez (kinfo, k) -> IEdiv_tez (kinfo, f.apply k) - | IOr (kinfo, k) -> IOr (kinfo, f.apply k) - | IAnd (kinfo, k) -> IAnd (kinfo, f.apply k) - | IXor (kinfo, k) -> IXor (kinfo, f.apply k) - | INot (kinfo, k) -> INot (kinfo, f.apply k) - | IIs_nat (kinfo, k) -> IIs_nat (kinfo, f.apply k) - | INeg (kinfo, k) -> INeg (kinfo, f.apply k) - | IAbs_int (kinfo, k) -> IAbs_int (kinfo, f.apply k) - | IInt_nat (kinfo, k) -> IInt_nat (kinfo, f.apply k) - | IAdd_int (kinfo, k) -> IAdd_int (kinfo, f.apply k) - | IAdd_nat (kinfo, k) -> IAdd_nat (kinfo, f.apply k) - | ISub_int (kinfo, k) -> ISub_int (kinfo, f.apply k) - | IMul_int (kinfo, k) -> IMul_int (kinfo, f.apply k) - | IMul_nat (kinfo, k) -> IMul_nat (kinfo, f.apply k) - | IEdiv_int (kinfo, k) -> IEdiv_int (kinfo, f.apply k) - | IEdiv_nat (kinfo, k) -> IEdiv_nat (kinfo, f.apply k) - | ILsl_nat (kinfo, k) -> ILsl_nat (kinfo, f.apply k) - | ILsr_nat (kinfo, k) -> ILsr_nat (kinfo, f.apply k) - | IOr_nat (kinfo, k) -> IOr_nat (kinfo, f.apply k) - | IAnd_nat (kinfo, k) -> IAnd_nat (kinfo, f.apply k) - | IAnd_int_nat (kinfo, k) -> IAnd_int_nat (kinfo, f.apply k) - | IXor_nat (kinfo, k) -> IXor_nat (kinfo, f.apply k) - | INot_int (kinfo, k) -> INot_int (kinfo, f.apply k) - | IIf {kinfo; branch_if_true; branch_if_false; k} -> - IIf - { - kinfo; - branch_if_true = f.apply branch_if_true; - branch_if_false = f.apply branch_if_false; - k = f.apply k; - } - | ILoop (kinfo, kbody, k) -> ILoop (kinfo, f.apply kbody, f.apply k) - | ILoop_left (kinfo, kl, kr) -> ILoop_left (kinfo, f.apply kl, f.apply kr) - | IDip (kinfo, body, k) -> IDip (kinfo, f.apply body, f.apply k) - | IExec (kinfo, k) -> IExec (kinfo, f.apply k) - | IApply (kinfo, ty, k) -> IApply (kinfo, ty, f.apply k) - | ILambda (kinfo, l, k) -> ILambda (kinfo, l, f.apply k) - | IFailwith (kinfo, i, ty) -> IFailwith (kinfo, i, ty) - | ICompare (kinfo, ty, k) -> ICompare (kinfo, ty, f.apply k) - | IEq (kinfo, k) -> IEq (kinfo, f.apply k) - | INeq (kinfo, k) -> INeq (kinfo, f.apply k) - | ILt (kinfo, k) -> ILt (kinfo, f.apply k) - | IGt (kinfo, k) -> IGt (kinfo, f.apply k) - | ILe (kinfo, k) -> ILe (kinfo, f.apply k) - | IGe (kinfo, k) -> IGe (kinfo, f.apply k) - | IAddress (kinfo, k) -> IAddress (kinfo, f.apply k) - | IContract (kinfo, ty, code, k) -> IContract (kinfo, ty, code, f.apply k) - | ITransfer_tokens (kinfo, k) -> ITransfer_tokens (kinfo, f.apply k) - | IView (kinfo, view_signature, k) -> IView (kinfo, view_signature, f.apply k) - | IImplicit_account (kinfo, k) -> IImplicit_account (kinfo, f.apply k) - | ICreate_contract {kinfo; storage_type; code; k} -> - let k = f.apply k in - ICreate_contract {kinfo; storage_type; code; k} - | ISet_delegate (kinfo, k) -> ISet_delegate (kinfo, f.apply k) - | INow (kinfo, k) -> INow (kinfo, f.apply k) - | IMin_block_time (kinfo, k) -> IMin_block_time (kinfo, f.apply k) - | IBalance (kinfo, k) -> IBalance (kinfo, f.apply k) - | ILevel (kinfo, k) -> ILevel (kinfo, f.apply k) - | ICheck_signature (kinfo, k) -> ICheck_signature (kinfo, f.apply k) - | IHash_key (kinfo, k) -> IHash_key (kinfo, f.apply k) - | IPack (kinfo, ty, k) -> IPack (kinfo, ty, f.apply k) - | IUnpack (kinfo, ty, k) -> IUnpack (kinfo, ty, f.apply k) - | IBlake2b (kinfo, k) -> IBlake2b (kinfo, f.apply k) - | ISha256 (kinfo, k) -> ISha256 (kinfo, f.apply k) - | ISha512 (kinfo, k) -> ISha512 (kinfo, f.apply k) - | ISource (kinfo, k) -> ISource (kinfo, f.apply k) - | ISender (kinfo, k) -> ISender (kinfo, f.apply k) - | ISelf (kinfo, ty, s, k) -> ISelf (kinfo, ty, s, f.apply k) - | ISelf_address (kinfo, k) -> ISelf_address (kinfo, f.apply k) - | IAmount (kinfo, k) -> IAmount (kinfo, f.apply k) - | ISapling_empty_state (kinfo, s, k) -> - ISapling_empty_state (kinfo, s, f.apply k) - | ISapling_verify_update (kinfo, k) -> - ISapling_verify_update (kinfo, f.apply k) - | ISapling_verify_update_deprecated (kinfo, k) -> - ISapling_verify_update_deprecated (kinfo, f.apply k) - | IDig (kinfo, n, p, k) -> IDig (kinfo, n, p, f.apply k) - | IDug (kinfo, n, p, k) -> IDug (kinfo, n, p, f.apply k) - | IDipn (kinfo, n, p, k1, k2) -> IDipn (kinfo, n, p, f.apply k1, f.apply k2) - | IDropn (kinfo, n, p, k) -> IDropn (kinfo, n, p, f.apply k) - | IChainId (kinfo, k) -> IChainId (kinfo, f.apply k) - | INever kinfo -> INever kinfo - | IVoting_power (kinfo, k) -> IVoting_power (kinfo, f.apply k) - | ITotal_voting_power (kinfo, k) -> ITotal_voting_power (kinfo, f.apply k) - | IKeccak (kinfo, k) -> IKeccak (kinfo, f.apply k) - | ISha3 (kinfo, k) -> ISha3 (kinfo, f.apply k) - | IAdd_bls12_381_g1 (kinfo, k) -> IAdd_bls12_381_g1 (kinfo, f.apply k) - | IAdd_bls12_381_g2 (kinfo, k) -> IAdd_bls12_381_g2 (kinfo, f.apply k) - | IAdd_bls12_381_fr (kinfo, k) -> IAdd_bls12_381_fr (kinfo, f.apply k) - | IMul_bls12_381_g1 (kinfo, k) -> IMul_bls12_381_g1 (kinfo, f.apply k) - | IMul_bls12_381_g2 (kinfo, k) -> IMul_bls12_381_g2 (kinfo, f.apply k) - | IMul_bls12_381_fr (kinfo, k) -> IMul_bls12_381_fr (kinfo, f.apply k) - | IMul_bls12_381_z_fr (kinfo, k) -> IMul_bls12_381_z_fr (kinfo, f.apply k) - | IMul_bls12_381_fr_z (kinfo, k) -> IMul_bls12_381_fr_z (kinfo, f.apply k) - | IInt_bls12_381_fr (kinfo, k) -> IInt_bls12_381_fr (kinfo, f.apply k) - | INeg_bls12_381_g1 (kinfo, k) -> INeg_bls12_381_g1 (kinfo, f.apply k) - | INeg_bls12_381_g2 (kinfo, k) -> INeg_bls12_381_g2 (kinfo, f.apply k) - | INeg_bls12_381_fr (kinfo, k) -> INeg_bls12_381_fr (kinfo, f.apply k) - | IPairing_check_bls12_381 (kinfo, k) -> - IPairing_check_bls12_381 (kinfo, f.apply k) - | IComb (kinfo, n, p, k) -> IComb (kinfo, n, p, f.apply k) - | IUncomb (kinfo, n, p, k) -> IUncomb (kinfo, n, p, f.apply k) - | IComb_get (kinfo, n, p, k) -> IComb_get (kinfo, n, p, f.apply k) - | IComb_set (kinfo, n, p, k) -> IComb_set (kinfo, n, p, f.apply k) - | IDup_n (kinfo, n, p, k) -> IDup_n (kinfo, n, p, f.apply k) - | ITicket (kinfo, ty, k) -> ITicket (kinfo, ty, f.apply k) - | IRead_ticket (kinfo, ty, k) -> IRead_ticket (kinfo, ty, f.apply k) - | ISplit_ticket (kinfo, k) -> ISplit_ticket (kinfo, f.apply k) - | IJoin_tickets (kinfo, ty, k) -> IJoin_tickets (kinfo, ty, f.apply k) - | IHalt kinfo -> IHalt kinfo - | ILog (kinfo, event, logger, k) -> ILog (kinfo, event, logger, k) - | IOpen_chest (kinfo, k) -> IOpen_chest (kinfo, f.apply k) - let meta_basic = {size = Type_size.one} let ty_metadata : type a ac. (a, ac) ty -> a ty_metadata = function @@ -2221,7 +2013,7 @@ let kinstr_traverse i init f = | IJoin_tickets (_, _, k) -> (next [@ocaml.tailcall]) k | IOpen_chest (_, k) -> (next [@ocaml.tailcall]) k | IHalt _ -> (return [@ocaml.tailcall]) () - | ILog (_, _, _, k) -> (next [@ocaml.tailcall]) k + | ILog (_, _, _, _, k) -> (next [@ocaml.tailcall]) k in aux init i (fun accu -> accu) @@ -2369,3 +2161,755 @@ let value_traverse (type t tc) (ty : (t, tc) ty) (x : t) init f = let stack_top_ty : type a b s. (a, b * s) stack_ty -> a ty_ex_c = function | Item_t (ty, _) -> Ty_ex_c ty + +type kinstr_rewritek = { + apply : + 'b 'u 'r 'f. + ('b, 'u) stack_ty -> ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; +} + +type ('a, 's) failed_kinstr_cast = {cast : 'b 'u. ('a, 's, 'b, 'u) kinstr} + +type ('a, 's, 'r, 'f) ex_splitted_kinstr = + | Ex_splitted_kinstr : + ('b, 'u) stack_ty + * ('b, 'u, 'r, 'f) kinstr + * (('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr) + -> ('a, 's, 'r, 'f) ex_splitted_kinstr + | Ex_splitted_log : + ('a, 's) stack_ty + * ('a, 's, 'r, 'f) kinstr + * (('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr) + -> ('a, 's, 'r, 'f) ex_splitted_kinstr + | Ex_splitted_loop_may_fail : + ('b, 'u) stack_ty + * ('b, 'u, 'r, 'f) kinstr + * ('c, 'v) stack_ty + * ('c, 'v, 't, 'g) kinstr + * (('b, 'u, 'r, 'f) kinstr -> + ('c, 'v, 't, 'g) kinstr -> + ('a, 's, 't, 'g) kinstr) + -> ('a, 's, 't, 'g) ex_splitted_kinstr + | Ex_splitted_loop_may_not_fail : + ('b, 'u) stack_ty + * ('b, 'u, 'r, 'f) kinstr + * ('c, 'v, 't, 'g) kinstr + * (('r, 'f) stack_ty -> ('c, 'v) stack_ty tzresult) + * (('b, 'u, 'r, 'f) kinstr -> + ('c, 'v, 't, 'g) kinstr -> + ('a, 's, 't, 'g) kinstr) + -> ('a, 's, 't, 'g) ex_splitted_kinstr + | Ex_splitted_if : + ('b, 'u) stack_ty + * ('b, 'u, 'r, 'f) kinstr + * ('c, 'v) stack_ty + * ('c, 'v, 'r, 'f) kinstr + * ('r, 'f, 't, 'g) kinstr + * (('b, 'u, 'r, 'f) kinstr -> + ('c, 'v, 'r, 'f) kinstr -> + ('r, 'f, 't, 'g) kinstr -> + ('a, 's, 't, 'g) kinstr) + -> ('a, 's, 't, 'g) ex_splitted_kinstr + | Ex_splitted_halt : ('a, 's) kinfo -> ('a, 's, 'a, 's) ex_splitted_kinstr + | Ex_splitted_failwith : + ('a, 's) kinfo + * Script.location + * ('a, _) ty + * ('a, 's) failed_kinstr_cast + -> ('a, 's, 'r, 'f) ex_splitted_kinstr + +let rec stack_prefix_preservation_witness_split_input : + type a s b t c u d v. + (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> + (a, s) stack_ty -> + (b, t) stack_ty = + fun w s -> + match (w, s) with + | KPrefix (_, _, w), Item_t (_, s) -> + stack_prefix_preservation_witness_split_input w s + | KRest, s -> s + +let rec stack_prefix_preservation_witness_split_output : + type a s b t c u d v. + (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> + (c, u) stack_ty -> + (d, v) stack_ty = + fun w s -> + match (w, s) with + | KPrefix (_, a, w), s -> + Item_t (a, stack_prefix_preservation_witness_split_output w s) + | KRest, s -> s + +let kinstr_split : + type a s r f. + (a, s) stack_ty -> + (a, s, r, f) kinstr -> + (a, s, r, f) ex_splitted_kinstr tzresult = + fun s i -> + let loc = Micheline.dummy_location in + match (i, s) with + | IDrop (kinfo, k), Item_t (_a, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDrop (kinfo, k)) + | IDup (kinfo, k), Item_t (a, s) -> + let s = Item_t (a, Item_t (a, s)) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDup (kinfo, k)) + | ISwap (kinfo, k), Item_t (a, Item_t (b, s)) -> + let s = Item_t (b, Item_t (a, s)) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISwap (kinfo, k)) + | IConst (kinfo, a, x, k), s -> + let s = Item_t (a, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IConst (kinfo, a, x, k)) + | ICons_pair (kinfo, k), Item_t (a, Item_t (b, s)) -> + pair_t loc a b >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_splitted_kinstr (s, k, fun k -> ICons_pair (kinfo, k)) + | ICar (kinfo, k), Item_t (Pair_t (a, _b, _meta, _), s) -> + let s = Item_t (a, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ICar (kinfo, k)) + | ICdr (kinfo, k), Item_t (Pair_t (_a, b, _meta, _), s) -> + let s = Item_t (b, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ICdr (kinfo, k)) + | IUnpair (kinfo, k), Item_t (Pair_t (a, b, _meta, _), s) -> + let s = Item_t (a, Item_t (b, s)) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IUnpair (kinfo, k)) + | ICons_some (kinfo, k), Item_t (a, s) -> + option_t loc a >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> ICons_some (kinfo, k)) + | ICons_none (kinfo, a, k), s -> + option_t loc a >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> ICons_none (kinfo, a, k)) + | ( IIf_none {kinfo; branch_if_none; branch_if_some; k}, + Item_t (Option_t (a, _meta, _), s) ) -> + ok + @@ Ex_splitted_if + ( s, + branch_if_none, + Item_t (a, s), + branch_if_some, + k, + fun branch_if_none branch_if_some k -> + IIf_none {kinfo; branch_if_none; branch_if_some; k} ) + | IOpt_map {kinfo; body; k}, Item_t (Option_t (a, _meta, _), s) -> + let s = Item_t (a, s) in + ok + @@ Ex_splitted_loop_may_not_fail + ( s, + body, + k, + (function + | Item_t (b, s) -> option_t loc b >|? fun o -> Item_t (o, s)), + fun body k -> IOpt_map {kinfo; body; k} ) + | ICons_left (kinfo, b, k), Item_t (a, s) -> + union_t loc a b >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_splitted_kinstr (s, k, fun k -> ICons_left (kinfo, b, k)) + | ICons_right (kinfo, a, k), Item_t (b, s) -> + union_t loc a b >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_splitted_kinstr (s, k, fun k -> ICons_right (kinfo, a, k)) + | ( IIf_left {kinfo; branch_if_left; branch_if_right; k}, + Item_t (Union_t (a, b, _meta, _), s) ) -> + ok + @@ Ex_splitted_if + ( Item_t (a, s), + branch_if_left, + Item_t (b, s), + branch_if_right, + k, + fun branch_if_left branch_if_right k -> + IIf_left {kinfo; branch_if_left; branch_if_right; k} ) + | ICons_list (kinfo, k), Item_t (_a, Item_t (l, s)) -> + let s = Item_t (l, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ICons_list (kinfo, k)) + | INil (kinfo, a, k), s -> + list_t loc a >|? fun l -> + let s = Item_t (l, s) in + Ex_splitted_kinstr (s, k, fun k -> INil (kinfo, a, k)) + | ( IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}, + Item_t ((List_t (a, _meta) as l), s) ) -> + ok + @@ Ex_splitted_if + ( Item_t (a, Item_t (l, s)), + branch_if_cons, + s, + branch_if_nil, + k, + fun branch_if_cons branch_if_nil k -> + IIf_cons {kinfo; branch_if_cons; branch_if_nil; k} ) + | IList_map (kinfo, body, k), Item_t (List_t (a, _meta), s) -> + let s = Item_t (a, s) in + ok + @@ Ex_splitted_loop_may_not_fail + ( s, + body, + k, + (function + | Item_t (b, s) -> list_t loc b >|? fun l -> Item_t (l, s)), + fun body k -> IList_map (kinfo, body, k) ) + | IList_iter (kinfo, ty, body, k), Item_t (List_t (a, _meta), s) -> + let s' = Item_t (a, s) in + ok + @@ Ex_splitted_loop_may_fail + (s', body, s, k, fun body k -> IList_iter (kinfo, ty, body, k)) + | IList_size (kinfo, k), Item_t (_l, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IList_size (kinfo, k)) + | IEmpty_set (kinfo, a, k), s -> + set_t loc a >|? fun b -> + let s = Item_t (b, s) in + Ex_splitted_kinstr (s, k, fun k -> IEmpty_set (kinfo, a, k)) + | ISet_iter (kinfo, a, body, k), Item_t (_b, s) -> + let s' = Item_t (a, s) in + ok + @@ Ex_splitted_loop_may_fail + (s', body, s, k, fun body k -> ISet_iter (kinfo, a, body, k)) + | ISet_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_mem (kinfo, k)) + | ISet_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_update (kinfo, k)) + | ISet_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_size (kinfo, k)) + | IEmpty_map (kinfo, cty, vty, k), s -> + map_t loc cty vty >|? fun m -> + let s = Item_t (m, s) in + Ex_splitted_kinstr (s, k, fun k -> IEmpty_map (kinfo, cty, vty, k)) + | IMap_map (kinfo, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> + pair_t loc key_ty vty >|? fun (Ty_ex_c p) -> + let s = Item_t (p, s) in + Ex_splitted_loop_may_not_fail + ( s, + body, + k, + (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)), + fun body k -> IMap_map (kinfo, key_ty, body, k) ) + | IMap_iter (kinfo, pair_ty, body, k), Item_t (_, s) -> + let s' = Item_t (pair_ty, s) in + ok + @@ Ex_splitted_loop_may_fail + (s', body, s, k, fun body k -> IMap_iter (kinfo, pair_ty, body, k)) + | IMap_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_mem (kinfo, k)) + | IMap_get (kinfo, k), Item_t (_, Item_t (Map_t (_kty, vty, _meta), s)) -> + option_t loc vty >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> IMap_get (kinfo, k)) + | IMap_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_update (kinfo, k)) + | IMap_get_and_update (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_get_and_update (kinfo, k)) + | IMap_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_size (kinfo, k)) + | IEmpty_big_map (kinfo, cty, ty, k), s -> + big_map_t loc cty ty >|? fun b -> + let s = Item_t (b, s) in + Ex_splitted_kinstr (s, k, fun k -> IEmpty_big_map (kinfo, cty, ty, k)) + | IBig_map_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IBig_map_mem (kinfo, k)) + | IBig_map_get (kinfo, k), Item_t (_, Item_t (Big_map_t (_kty, vty, _meta), s)) + -> + option_t loc vty >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> IBig_map_get (kinfo, k)) + | IBig_map_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IBig_map_update (kinfo, k)) + | IBig_map_get_and_update (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_splitted_kinstr (s, k, fun k -> IBig_map_get_and_update (kinfo, k)) + | IConcat_string (kinfo, k), Item_t (_, s) -> + let s = Item_t (string_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_string (kinfo, k)) + | IConcat_string_pair (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_string_pair (kinfo, k)) + | ISlice_string (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (option_string_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISlice_string (kinfo, k)) + | IString_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IString_size (kinfo, k)) + | IConcat_bytes (kinfo, k), Item_t (_, s) -> + let s = Item_t (bytes_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_bytes (kinfo, k)) + | IConcat_bytes_pair (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_bytes_pair (kinfo, k)) + | ISlice_bytes (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (option_bytes_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISlice_bytes (kinfo, k)) + | IBytes_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IBytes_size (kinfo, k)) + | IAdd_seconds_to_timestamp (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_seconds_to_timestamp (kinfo, k)) + | IAdd_timestamp_to_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (timestamp_t, s) in + ok + @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_timestamp_to_seconds (kinfo, k)) + | ISub_timestamp_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (timestamp_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_timestamp_seconds (kinfo, k)) + | IDiff_timestamps (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDiff_timestamps (kinfo, k)) + | IAdd_tez (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_tez (kinfo, k)) + | ISub_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_mutez_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_tez (kinfo, k)) + | ISub_tez_legacy (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_tez_legacy (kinfo, k)) + | IMul_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (mutez_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_teznat (kinfo, k)) + | IMul_nattez (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_nattez (kinfo, k)) + | IEdiv_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_pair_mutez_mutez_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IEdiv_teznat (kinfo, k)) + | IEdiv_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_pair_nat_mutez_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IEdiv_tez (kinfo, k)) + | IOr (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IOr (kinfo, k)) + | IAnd (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAnd (kinfo, k)) + | IXor (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IXor (kinfo, k)) + | INot (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> INot (kinfo, k)) + | IIs_nat (kinfo, k), Item_t (_, s) -> + let s = Item_t (option_nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IIs_nat (kinfo, k)) + | INeg (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg (kinfo, k)) + | IAbs_int (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAbs_int (kinfo, k)) + | IInt_nat (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IInt_nat (kinfo, k)) + | IAdd_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_int (kinfo, k)) + | IAdd_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_nat (kinfo, k)) + | ISub_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_int (kinfo, k)) + | IMul_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_int (kinfo, k)) + | IMul_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_nat (kinfo, k)) + | IEdiv_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_pair_int_nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IEdiv_int (kinfo, k)) + | IEdiv_nat (kinfo, k), Item_t (_, Item_t (a, s)) -> + pair_t loc a nat_t >>? fun (Ty_ex_c p) -> + option_t loc p >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> IEdiv_nat (kinfo, k)) + | ILsl_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ILsl_nat (kinfo, k)) + | ILsr_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ILsr_nat (kinfo, k)) + | IOr_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IOr_nat (kinfo, k)) + | IAnd_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAnd_nat (kinfo, k)) + | IAnd_int_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAnd_int_nat (kinfo, k)) + | IXor_nat (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IXor_nat (kinfo, k)) + | INot_int (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> INot_int (kinfo, k)) + | IIf {kinfo; branch_if_true; branch_if_false; k}, Item_t (_, s) -> + ok + @@ Ex_splitted_if + ( s, + branch_if_true, + s, + branch_if_false, + k, + fun branch_if_true branch_if_false k -> + IIf {kinfo; branch_if_true; branch_if_false; k} ) + | ILoop (kinfo, body, k), Item_t (_, s) -> + ok + @@ Ex_splitted_loop_may_fail + (s, body, s, k, fun body k -> ILoop (kinfo, body, k)) + | ILoop_left (kinfo, kl, kr), Item_t (Union_t (a, b, _meta, _), s) -> + ok + @@ Ex_splitted_loop_may_fail + ( Item_t (a, s), + kl, + Item_t (b, s), + kr, + fun kl kr -> ILoop_left (kinfo, kl, kr) ) + | IDip (kinfo, body, k), Item_t (a, s) -> + ok + @@ Ex_splitted_loop_may_not_fail + ( s, + body, + k, + (fun s -> ok @@ Item_t (a, s)), + fun body k -> IDip (kinfo, body, k) ) + | IExec (kinfo, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> + let s = Item_t (b, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IExec (kinfo, k)) + | ( IApply (kinfo, ty, k), + Item_t (_, Item_t (Lambda_t (Pair_t (_, a, _, _), b, _), s)) ) -> + lambda_t loc a b >|? fun l -> + let s = Item_t (l, s) in + Ex_splitted_kinstr (s, k, fun k -> IApply (kinfo, ty, k)) + | ILambda (kinfo, l, k), s -> + let (Lam (desc, _)) = l in + let (Item_t (a, Bot_t)) = desc.kbef in + let (Item_t (b, Bot_t)) = desc.kaft in + lambda_t loc a b >|? fun lam -> + let s = Item_t (lam, s) in + Ex_splitted_kinstr (s, k, fun k -> ILambda (kinfo, l, k)) + | IFailwith (kinfo, i, ty), _ -> + ok + @@ Ex_splitted_failwith (kinfo, i, ty, {cast = IFailwith (kinfo, i, ty)}) + | ICompare (kinfo, ty, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ICompare (kinfo, ty, k)) + | IEq (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IEq (kinfo, k)) + | INeq (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> INeq (kinfo, k)) + | ILt (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ILt (kinfo, k)) + | IGt (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IGt (kinfo, k)) + | ILe (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ILe (kinfo, k)) + | IGe (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IGe (kinfo, k)) + | IAddress (kinfo, k), Item_t (_, s) -> + let s = Item_t (address_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAddress (kinfo, k)) + | IContract (kinfo, ty, code, k), Item_t (_, s) -> + contract_t loc ty >>? fun c -> + option_t loc c >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> IContract (kinfo, ty, code, k)) + | ITransfer_tokens (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (operation_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ITransfer_tokens (kinfo, k)) + | ( IView (kinfo, (View_signature {output_ty; _} as view_signature), k), + Item_t (_, Item_t (_, s)) ) -> + option_t loc output_ty >|? fun b -> + let s = Item_t (b, s) in + Ex_splitted_kinstr (s, k, fun k -> IView (kinfo, view_signature, k)) + | IImplicit_account (kinfo, k), Item_t (_, s) -> + let s = Item_t (contract_unit_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IImplicit_account (kinfo, k)) + | ( ICreate_contract {kinfo; storage_type; code; k}, + Item_t (_, Item_t (_, Item_t (_, s))) ) -> + let s = Item_t (operation_t, Item_t (address_t, s)) in + ok + @@ Ex_splitted_kinstr + (s, k, fun k -> ICreate_contract {kinfo; storage_type; code; k}) + | ISet_delegate (kinfo, k), Item_t (_, s) -> + let s = Item_t (operation_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_delegate (kinfo, k)) + | INow (kinfo, k), s -> + let s = Item_t (timestamp_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> INow (kinfo, k)) + | IBalance (kinfo, k), s -> + let s = Item_t (mutez_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IBalance (kinfo, k)) + | ILevel (kinfo, k), s -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ILevel (kinfo, k)) + | ICheck_signature (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ICheck_signature (kinfo, k)) + | IHash_key (kinfo, k), Item_t (_, s) -> + let s = Item_t (key_hash_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IHash_key (kinfo, k)) + | IPack (kinfo, ty, k), Item_t (_, s) -> + let s = Item_t (bytes_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IPack (kinfo, ty, k)) + | IUnpack (kinfo, ty, k), Item_t (_, s) -> + option_t loc ty >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> IUnpack (kinfo, ty, k)) + | IBlake2b (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IBlake2b (kinfo, k)) + | ISha256 (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISha256 (kinfo, k)) + | ISha512 (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISha512 (kinfo, k)) + | ISource (kinfo, k), s -> + let s = Item_t (address_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISource (kinfo, k)) + | ISender (kinfo, k), s -> + let s = Item_t (address_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISender (kinfo, k)) + | ISelf (kinfo, ty, ep, k), s -> + contract_t loc ty >|? fun c -> + let s = Item_t (c, s) in + Ex_splitted_kinstr (s, k, fun k -> ISelf (kinfo, ty, ep, k)) + | ISelf_address (kinfo, k), s -> + let s = Item_t (address_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISelf_address (kinfo, k)) + | IAmount (kinfo, k), s -> + let s = Item_t (mutez_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAmount (kinfo, k)) + | ISapling_empty_state (kinfo, memo_size, k), s -> + let s = Item_t (sapling_state_t ~memo_size, s) in + ok + @@ Ex_splitted_kinstr + (s, k, fun k -> ISapling_empty_state (kinfo, memo_size, k)) + | ( ISapling_verify_update_deprecated (kinfo, k), + Item_t (_, Item_t (state_ty, s)) ) -> + pair_t loc int_t state_ty >>? fun (Ty_ex_c pair_ty) -> + option_t loc pair_ty >|? fun ty -> + let s = Item_t (ty, s) in + Ex_splitted_kinstr + (s, k, fun k -> ISapling_verify_update_deprecated (kinfo, k)) + | ISapling_verify_update (kinfo, k), Item_t (_, Item_t (state_ty, s)) -> + pair_t loc int_t state_ty >>? fun (Ty_ex_c int_state_ty) -> + pair_t loc bytes_t int_state_ty >>? fun (Ty_ex_c pair_ty) -> + option_t loc pair_ty >|? fun ty -> + let s = Item_t (ty, s) in + Ex_splitted_kinstr (s, k, fun k -> ISapling_verify_update (kinfo, k)) + | IDig (kinfo, n, p, k), s -> + let (Item_t (b, s)) = stack_prefix_preservation_witness_split_input p s in + let s = stack_prefix_preservation_witness_split_output p s in + let s = Item_t (b, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDig (kinfo, n, p, k)) + | IDug (kinfo, n, p, k), Item_t (a, s) -> + let s = stack_prefix_preservation_witness_split_input p s in + let s = Item_t (a, s) in + let s = stack_prefix_preservation_witness_split_output p s in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDug (kinfo, n, p, k)) + | IDipn (kinfo, n, p, k1, k2), s -> + let s = stack_prefix_preservation_witness_split_input p s in + ok + @@ Ex_splitted_loop_may_not_fail + ( s, + k1, + k2, + (fun s -> ok @@ stack_prefix_preservation_witness_split_output p s), + fun k1 k2 -> IDipn (kinfo, n, p, k1, k2) ) + | IDropn (kinfo, n, p, k), s -> + let s = stack_prefix_preservation_witness_split_input p s in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDropn (kinfo, n, p, k)) + | IChainId (kinfo, k), s -> + let s = Item_t (chain_id_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IChainId (kinfo, k)) + | INever kinfo, Item_t (a, _) -> + ok @@ Ex_splitted_failwith (kinfo, loc, a, {cast = INever kinfo}) + | IVoting_power (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IVoting_power (kinfo, k)) + | ITotal_voting_power (kinfo, k), s -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> ITotal_voting_power (kinfo, k)) + | IKeccak (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IKeccak (kinfo, k)) + | ISha3 (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> ISha3 (kinfo, k)) + | IAdd_bls12_381_g1 (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_bls12_381_g1 (kinfo, k)) + | IAdd_bls12_381_g2 (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_bls12_381_g2 (kinfo, k)) + | IAdd_bls12_381_fr (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_bls12_381_fr (kinfo, k)) + | IMul_bls12_381_g1 (kinfo, k), Item_t (g1, Item_t (_, s)) -> + let s = Item_t (g1, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_g1 (kinfo, k)) + | IMul_bls12_381_g2 (kinfo, k), Item_t (g2, Item_t (_, s)) -> + let s = Item_t (g2, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_g2 (kinfo, k)) + | IMul_bls12_381_fr (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_fr (kinfo, k)) + | IMul_bls12_381_z_fr (kinfo, k), Item_t (fr, Item_t (_, s)) -> + let s = Item_t (fr, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_z_fr (kinfo, k)) + | IMul_bls12_381_fr_z (kinfo, k), Item_t (_, s) -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_fr_z (kinfo, k)) + | IInt_bls12_381_fr (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IInt_bls12_381_fr (kinfo, k)) + | INeg_bls12_381_g1 (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg_bls12_381_g1 (kinfo, k)) + | INeg_bls12_381_g2 (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg_bls12_381_g2 (kinfo, k)) + | INeg_bls12_381_fr (kinfo, k), s -> + ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg_bls12_381_fr (kinfo, k)) + | IPairing_check_bls12_381 (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_splitted_kinstr (s, k, fun k -> IPairing_check_bls12_381 (kinfo, k)) + | IComb (kinfo, n, p, k), s -> + let rec aux : + type a b s c d t. + (a, b * s) stack_ty -> + (a, b, s, c, d, t) comb_gadt_witness -> + (c, d * t) stack_ty tzresult = + fun s w -> + match (w, s) with + | Comb_one, s -> ok s + | Comb_succ w, Item_t (a, s) -> + aux s w >>? fun (Item_t (c, t)) -> + pair_t loc a c >|? fun (Ty_ex_c p) -> Item_t (p, t) + in + aux s p >|? fun s -> + Ex_splitted_kinstr (s, k, fun k -> IComb (kinfo, n, p, k)) + | IUncomb (kinfo, n, p, k), s -> + let rec aux : + type a b s c d t. + (a, b * s) stack_ty -> + (a, b, s, c, d, t) uncomb_gadt_witness -> + (c, d * t) stack_ty = + fun s w -> + match (w, s) with + | Uncomb_one, s -> s + | Uncomb_succ w, Item_t (Pair_t (a, b, _meta, _), s) -> + let s = aux (Item_t (b, s)) w in + Item_t (a, s) + in + let s = aux s p in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IUncomb (kinfo, n, p, k)) + | IComb_get (kinfo, n, p, k), Item_t (c, s) -> + let rec aux : + type c cc a. (c, cc) ty -> (c, a) comb_get_gadt_witness -> a ty_ex_c = + fun c w -> + match (w, c) with + | Comb_get_zero, c -> Ty_ex_c c + | Comb_get_one, Pair_t (hd, _tl, _meta, _) -> Ty_ex_c hd + | Comb_get_plus_two w, Pair_t (_hd, tl, _meta, _) -> aux tl w + in + let s = + let (Ty_ex_c ty) = aux c p in + Item_t (ty, s) + in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IComb_get (kinfo, n, p, k)) + | IComb_set (kinfo, n, p, k), Item_t (a, Item_t (b, s)) -> + let rec aux : + type a b c ca cb. + (a, ca) ty -> + (b, cb) ty -> + (a, b, c) comb_set_gadt_witness -> + c ty_ex_c tzresult = + fun a b w -> + match (w, b) with + | Comb_set_zero, _ -> ok (Ty_ex_c a) + | Comb_set_one, Pair_t (_hd, tl, _meta, _) -> pair_t loc a tl + | Comb_set_plus_two w, Pair_t (hd, tl, _meta, _) -> + aux a tl w >>? fun (Ty_ex_c c) -> pair_t loc hd c + in + aux a b p >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_splitted_kinstr (s, k, fun k -> IComb_set (kinfo, n, p, k)) + | IDup_n (kinfo, n, p, k), s -> + let rec aux : + type a b s t. + (a, b * s) stack_ty -> (a, b, s, t) dup_n_gadt_witness -> t ty_ex_c = + fun s w -> + match (w, s) with + | Dup_n_succ w, Item_t (_, s) -> aux s w + | Dup_n_zero, Item_t (a, _) -> Ty_ex_c a + in + let s = + let (Ty_ex_c ty) = aux s p in + Item_t (ty, s) + in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IDup_n (kinfo, n, p, k)) + | ITicket (kinfo, cty, k), Item_t (_, Item_t (_, s)) -> + ticket_t loc cty >|? fun t -> + let s = Item_t (t, s) in + Ex_splitted_kinstr (s, k, fun k -> ITicket (kinfo, cty, k)) + | IRead_ticket (kinfo, a, k), s -> + pair_t loc a nat_t >>? fun (Ty_ex_c p) -> + pair_t loc address_t p >|? fun (Ty_ex_c t) -> + let s = Item_t (t, s) in + Ex_splitted_kinstr (s, k, fun k -> IRead_ticket (kinfo, a, k)) + | ISplit_ticket (kinfo, k), Item_t (t, Item_t (_, s)) -> + pair_t loc t t >>? fun (Ty_ex_c p) -> + option_t loc p >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> ISplit_ticket (kinfo, k)) + | IJoin_tickets (kinfo, ty, k), Item_t (Pair_t (t, _t, _meta, _), s) -> + option_t loc t >|? fun o -> + let s = Item_t (o, s) in + Ex_splitted_kinstr (s, k, fun k -> IJoin_tickets (kinfo, ty, k)) + | IOpen_chest (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (union_bytes_bool_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IOpen_chest (kinfo, k)) + | IMin_block_time (kinfo, k), s -> + let s = Item_t (nat_t, s) in + ok @@ Ex_splitted_kinstr (s, k, fun k -> IMin_block_time (kinfo, k)) + | IHalt kinfo, _s -> ok @@ Ex_splitted_halt kinfo + | ILog (kinfo, _stack_ty, event, logger, k), s -> + ok @@ Ex_splitted_log (s, k, fun k -> ILog (kinfo, s, event, logger, k)) + +let rec kinstr_final_stack_type : + type a s r f. + (a, s) stack_ty -> (a, s, r, f) kinstr -> (r, f) stack_ty option tzresult = + fun s i -> + kinstr_split s i >>? function + | Ex_splitted_kinstr (s, k, _) -> kinstr_final_stack_type s k + | Ex_splitted_log (s, k, _) -> kinstr_final_stack_type s k + | Ex_splitted_loop_may_fail (_s, _body, sk, k, _) -> + kinstr_final_stack_type sk k + | Ex_splitted_loop_may_not_fail (s, body, k, f, _) -> ( + kinstr_final_stack_type s body >>? function + | Some after_body -> + f after_body >>? fun before_k -> kinstr_final_stack_type before_k k + | None -> ok None) + | Ex_splitted_if (sa, branch_a, sb, branch_b, k, _ii) -> ( + kinstr_final_stack_type sa branch_a >>? function + | Some after_branch_a -> kinstr_final_stack_type after_branch_a k + | None -> ( + kinstr_final_stack_type sb branch_b >>? function + | Some after_branch_b -> kinstr_final_stack_type after_branch_b k + | None -> ok None)) + | Ex_splitted_halt _ -> ok @@ Some s + | Ex_splitted_failwith (_, _, _, {cast = _}) -> ok None + +let kinstr_rewritek : + type a s r f. + (a, s) stack_ty -> + (a, s, r, f) kinstr -> + kinstr_rewritek -> + (a, s, r, f) kinstr tzresult = + fun s i f -> + kinstr_split s i >>? function + | Ex_splitted_kinstr (s, k, ii) -> ok @@ ii (f.apply s k) + | Ex_splitted_log (_s, k, ii) -> ok @@ ii k + | Ex_splitted_loop_may_fail (s, body, sk, k, ii) -> + ok @@ ii (f.apply s body) (f.apply sk k) + | Ex_splitted_loop_may_not_fail (s, body, k, sf, ii) -> + (kinstr_final_stack_type s body >>? function + | Some after_body -> sf after_body >|? fun before_k -> f.apply before_k k + | None -> ok k) + >|? fun k -> ii (f.apply s body) k + | Ex_splitted_if (sa, branch_a, sb, branch_b, k, ii) -> + (kinstr_final_stack_type sa branch_a >>? function + | Some after_branch_a -> ok @@ f.apply after_branch_a k + | None -> ( + kinstr_final_stack_type sb branch_b >>? function + | Some after_branch_b -> ok @@ f.apply after_branch_b k + | None -> ok k)) + >|? fun k -> ii (f.apply sa branch_a) (f.apply sb branch_b) k + | Ex_splitted_halt kinfo -> ok @@ IHalt kinfo + | Ex_splitted_failwith (kinfo, loc, ty, _) -> ok @@ IFailwith (kinfo, loc, ty) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index f06591a38ebc..b383c3d3bca6 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -566,7 +566,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | IMap_map : (('a, 'b) map, 'd * 's) kinfo - * 'a comparable_ty + * ('a, _) ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr @@ -1142,7 +1142,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = *) | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr | ILog : - ('a, 's) kinfo * logging_event * logger * ('a, 's, 'r, 'f) kinstr + ('a, 's) kinfo + * ('a, 's) stack_ty + * logging_event + * logger + * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr and logging_event = @@ -1287,7 +1291,7 @@ and (_, _, _, _) continuation = -> ('a, 's, 'r, 'f) continuation (* This continuation instruments the execution with a [logger]. *) | KLog : - ('a, 's, 'r, 'f) continuation * logger + ('a, 's, 'r, 'f) continuation * ('a, 's) stack_ty * logger -> ('a, 's, 'r, 'f) continuation (* @@ -1419,7 +1423,7 @@ and ('a, 's, 'r, 'f) kdescr = { kinstr : ('a, 's, 'r, 'f) kinstr; } -and ('a, 's) kinfo = {iloc : Script.location; kstack_ty : ('a, 's) stack_ty} +and ('a, 's) kinfo = {iloc : Script.location} (* @@ -1581,11 +1585,21 @@ val manager_kind : 'kind manager_operation -> 'kind Kind.manager val kinfo_of_kinstr : ('a, 's, 'b, 'f) kinstr -> ('a, 's) kinfo type kinstr_rewritek = { - apply : 'b 'u 'r 'f. ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; + apply : + 'b 'u 'r 'f. + ('b, 'u) stack_ty -> ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; } val kinstr_rewritek : - ('a, 's, 'r, 'f) kinstr -> kinstr_rewritek -> ('a, 's, 'r, 'f) kinstr + ('a, 's) stack_ty -> + ('a, 's, 'r, 'f) kinstr -> + kinstr_rewritek -> + ('a, 's, 'r, 'f) kinstr tzresult + +val kinstr_final_stack_type : + ('a, 's) stack_ty -> + ('a, 's, 'r, 'f) kinstr -> + ('r, 'f) stack_ty option tzresult val ty_size : ('a, _) ty -> 'a Type_size.t diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index a2f5de399f87..207db31ebe6a 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -198,7 +198,7 @@ let chest_key_size _ = let proof_size = 256 in h2w +? (unlocked_value_size + proof_size) -let kinfo_size {iloc = _; kstack_ty = _} = h2w +let kinfo_size {iloc = _} = h2w (* The following mutually recursive functions are mostly tail-recursive and the only recursive call that is not a tailcall @@ -573,7 +573,7 @@ and kinstr_size : ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) | IOpen_chest (kinfo, _) -> ret_succ_adding accu (base kinfo) | IHalt kinfo -> ret_succ_adding accu (h1w +! kinfo_size kinfo) - | ILog (_, _, _, _) -> + | ILog _ -> (* This instruction is ignored because it is only used for testing. *) accu in diff --git a/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml index 20aa86d50d13..710d7adce4a1 100644 --- a/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml @@ -36,7 +36,6 @@ open Protocol open Alpha_context open Script_interpreter -open Error_monad_operators let test_context () = Context.init3 () >>=? fun (b, _cs) -> @@ -123,8 +122,8 @@ let test_stack_overflow () = in let stack = Bot_t in let descr kinstr = {kloc = 0; kbef = stack; kaft = stack; kinstr} in - let kinfo = {iloc = -1; kstack_ty = stack} in - let kinfo' = {iloc = -1; kstack_ty = Item_t (bool_t, stack)} in + let kinfo = {iloc = -1} in + let kinfo' = {iloc = -1} in let enorme_et_seq n = let rec aux n acc = if n = 0 then acc @@ -153,16 +152,9 @@ let test_stack_overflow_in_lwt () = @@ Gas.fp_of_milligas_int (Saturation_repr.saturated :> int) in let stack = Bot_t in - let item ty s = Item_t (ty, s) in - let bool_t = bool_t in - big_map_t (-1) unit_t unit_t >>??= fun big_map_t -> let descr kinstr = {kloc = 0; kbef = stack; kaft = stack; kinstr} in - let kinfo s = {iloc = -1; kstack_ty = s} in - let stack1 = item big_map_t Bot_t in - let stack2 = item big_map_t (item big_map_t Bot_t) in - let stack3 = item unit_t stack2 in - let stack4 = item bool_t stack1 in - let push_empty_big_map k = IEmpty_big_map (kinfo stack, unit_t, unit_t, k) in + let kinfo = {iloc = -1} in + let push_empty_big_map k = IEmpty_big_map (kinfo, unit_t, unit_t, k) in let large_mem_seq n = let rec aux n acc = if n = 0 then acc @@ -170,14 +162,12 @@ let test_stack_overflow_in_lwt () = aux (n - 1) (IDup - ( kinfo stack1, + ( kinfo, IConst - ( kinfo stack2, - Unit_t, - (), - IBig_map_mem (kinfo stack3, IDrop (kinfo stack4, acc)) ) )) + (kinfo, Unit_t, (), IBig_map_mem (kinfo, IDrop (kinfo, acc))) + )) in - aux n (IDrop (kinfo stack1, IHalt (kinfo stack))) + aux n (IDrop (kinfo, IHalt kinfo)) in let script = push_empty_big_map (large_mem_seq 1_000_000) in run_step ctxt (descr script) EmptyCell EmptyCell >>= function -- GitLab From e2e187464a164370c4852658349f8b3e227cd583 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 18 Mar 2022 16:48:35 +0100 Subject: [PATCH 05/42] Proto/Michelson: Refactor ex_split_kinstr for better readability. --- .../interpreter_benchmarks.ml | 11 +- .../lib_protocol/script_typed_ir.ml | 1537 +++++++++++++---- 2 files changed, 1229 insertions(+), 319 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index ff58c4aa2c42..3f6331ed37df 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -1121,8 +1121,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IList_map ~stack:(Script_list.empty, ((), eos)) ~stack_type:(list unit @$ unit @$ bot) - ~kinstr: - (IList_map (dummy_kinfo (), halt (), Some (list unit), halt ())) + ~kinstr:(IList_map (dummy_kinfo (), halt (), halt ())) () end @@ -1287,8 +1286,8 @@ module Registration_section = struct let map_map_code () = IMap_map ( dummy_kinfo (), - map int unit, - IFailwith (dummy_kinfo (), cpair int unit), + int, + IFailwith (dummy_kinfo (), 0, cpair int unit), halt () ) let () = @@ -1978,7 +1977,7 @@ module Registration_section = struct ~kinstr: (IIf { - loc = dummy_kinfo (); + kinfo = dummy_kinfo (); branch_if_true = halt (); branch_if_false = halt (); k = halt (); @@ -2022,7 +2021,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IDip ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IDip (dummy_kinfo (), halt (), Some unit, halt ())) + ~kinstr:(IDip (dummy_kinfo (), halt (), halt ())) () let dummy_lambda = diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 5d046308320b..72f3fee897e0 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -2168,55 +2168,71 @@ type kinstr_rewritek = { ('b, 'u) stack_ty -> ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; } +(* An existential wrapper around failed [kinstr], whose final stack type + is hidden as irrelevant. *) type ('a, 's) failed_kinstr_cast = {cast : 'b 'u. ('a, 's, 'b, 'u) kinstr} -type ('a, 's, 'r, 'f) ex_splitted_kinstr = - | Ex_splitted_kinstr : - ('b, 'u) stack_ty - * ('b, 'u, 'r, 'f) kinstr - * (('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr) - -> ('a, 's, 'r, 'f) ex_splitted_kinstr - | Ex_splitted_log : - ('a, 's) stack_ty - * ('a, 's, 'r, 'f) kinstr - * (('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr) - -> ('a, 's, 'r, 'f) ex_splitted_kinstr - | Ex_splitted_loop_may_fail : - ('b, 'u) stack_ty - * ('b, 'u, 'r, 'f) kinstr - * ('c, 'v) stack_ty - * ('c, 'v, 't, 'g) kinstr - * (('b, 'u, 'r, 'f) kinstr -> +(* This is a view on a deconstructed [kinstr]. It's type parameters refer to + the type of the viewed [kinstr], while existentials inside describe types of + [kinstr]'s components. The [reconstruct] field in each record stores a + function which reconstructs the original instruction from its components. *) +type ('a, 's, 'r, 'f) ex_split_kinstr = + | Ex_split_kinstr : { + cont_init_stack : ('b, 'u) stack_ty; + continuation : ('b, 'u, 'r, 'f) kinstr; + reconstruct : ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; + } + -> ('a, 's, 'r, 'f) ex_split_kinstr + | Ex_split_log : { + stack : ('a, 's) stack_ty; + continuation : ('a, 's, 'r, 'f) kinstr; + reconstruct : ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; + } + -> ('a, 's, 'r, 'f) ex_split_kinstr + | Ex_split_loop_may_fail : { + body_init_stack : ('b, 'u) stack_ty; + body : ('b, 'u, 'r, 'f) kinstr; + cont_init_stack : ('c, 'v) stack_ty; + continuation : ('c, 'v, 't, 'g) kinstr; + reconstruct : + ('b, 'u, 'r, 'f) kinstr -> ('c, 'v, 't, 'g) kinstr -> - ('a, 's, 't, 'g) kinstr) - -> ('a, 's, 't, 'g) ex_splitted_kinstr - | Ex_splitted_loop_may_not_fail : - ('b, 'u) stack_ty - * ('b, 'u, 'r, 'f) kinstr - * ('c, 'v, 't, 'g) kinstr - * (('r, 'f) stack_ty -> ('c, 'v) stack_ty tzresult) - * (('b, 'u, 'r, 'f) kinstr -> + ('a, 's, 't, 'g) kinstr; + } + -> ('a, 's, 't, 'g) ex_split_kinstr + | Ex_split_loop_may_not_fail : { + body_init_stack : ('b, 'u) stack_ty; + body : ('b, 'u, 'r, 'f) kinstr; + continuation : ('c, 'v, 't, 'g) kinstr; + aft_body_stack_transform : + ('r, 'f) stack_ty -> ('c, 'v) stack_ty tzresult; + reconstruct : + ('b, 'u, 'r, 'f) kinstr -> ('c, 'v, 't, 'g) kinstr -> - ('a, 's, 't, 'g) kinstr) - -> ('a, 's, 't, 'g) ex_splitted_kinstr - | Ex_splitted_if : - ('b, 'u) stack_ty - * ('b, 'u, 'r, 'f) kinstr - * ('c, 'v) stack_ty - * ('c, 'v, 'r, 'f) kinstr - * ('r, 'f, 't, 'g) kinstr - * (('b, 'u, 'r, 'f) kinstr -> + ('a, 's, 't, 'g) kinstr; + } + -> ('a, 's, 't, 'g) ex_split_kinstr + | Ex_split_if : { + left_init_stack : ('b, 'u) stack_ty; + left_branch : ('b, 'u, 'r, 'f) kinstr; + right_init_stack : ('c, 'v) stack_ty; + right_branch : ('c, 'v, 'r, 'f) kinstr; + continuation : ('r, 'f, 't, 'g) kinstr; + reconstruct : + ('b, 'u, 'r, 'f) kinstr -> ('c, 'v, 'r, 'f) kinstr -> ('r, 'f, 't, 'g) kinstr -> - ('a, 's, 't, 'g) kinstr) - -> ('a, 's, 't, 'g) ex_splitted_kinstr - | Ex_splitted_halt : ('a, 's) kinfo -> ('a, 's, 'a, 's) ex_splitted_kinstr - | Ex_splitted_failwith : - ('a, 's) kinfo - * Script.location - * ('a, _) ty - * ('a, 's) failed_kinstr_cast - -> ('a, 's, 'r, 'f) ex_splitted_kinstr + ('a, 's, 't, 'g) kinstr; + } + -> ('a, 's, 't, 'g) ex_split_kinstr + | Ex_split_halt : ('a, 's) kinfo -> ('a, 's, 'a, 's) ex_split_kinstr + | Ex_split_failwith : { + kinfo : ('a, 's) kinfo; + location : Script.location; + arg_ty : ('a, _) ty; + cast : ('a, 's) failed_kinstr_cast; + } + -> ('a, 's, 'r, 'f) ex_split_kinstr let rec stack_prefix_preservation_witness_split_input : type a s b t c u d v. @@ -2244,521 +2260,1307 @@ let kinstr_split : type a s r f. (a, s) stack_ty -> (a, s, r, f) kinstr -> - (a, s, r, f) ex_splitted_kinstr tzresult = + (a, s, r, f) ex_split_kinstr tzresult = fun s i -> let loc = Micheline.dummy_location in match (i, s) with | IDrop (kinfo, k), Item_t (_a, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDrop (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDrop (kinfo, k)); + } | IDup (kinfo, k), Item_t (a, s) -> let s = Item_t (a, Item_t (a, s)) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDup (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDup (kinfo, k)); + } | ISwap (kinfo, k), Item_t (a, Item_t (b, s)) -> let s = Item_t (b, Item_t (a, s)) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISwap (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISwap (kinfo, k)); + } | IConst (kinfo, a, x, k), s -> let s = Item_t (a, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IConst (kinfo, a, x, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConst (kinfo, a, x, k)); + } | ICons_pair (kinfo, k), Item_t (a, Item_t (b, s)) -> pair_t loc a b >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in - Ex_splitted_kinstr (s, k, fun k -> ICons_pair (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_pair (kinfo, k)); + } | ICar (kinfo, k), Item_t (Pair_t (a, _b, _meta, _), s) -> let s = Item_t (a, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ICar (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICar (kinfo, k)); + } | ICdr (kinfo, k), Item_t (Pair_t (_a, b, _meta, _), s) -> let s = Item_t (b, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ICdr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICdr (kinfo, k)); + } | IUnpair (kinfo, k), Item_t (Pair_t (a, b, _meta, _), s) -> let s = Item_t (a, Item_t (b, s)) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IUnpair (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IUnpair (kinfo, k)); + } | ICons_some (kinfo, k), Item_t (a, s) -> option_t loc a >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> ICons_some (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_some (kinfo, k)); + } | ICons_none (kinfo, a, k), s -> option_t loc a >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> ICons_none (kinfo, a, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_none (kinfo, a, k)); + } | ( IIf_none {kinfo; branch_if_none; branch_if_some; k}, Item_t (Option_t (a, _meta, _), s) ) -> ok - @@ Ex_splitted_if - ( s, - branch_if_none, - Item_t (a, s), - branch_if_some, - k, - fun branch_if_none branch_if_some k -> - IIf_none {kinfo; branch_if_none; branch_if_some; k} ) + @@ Ex_split_if + { + left_init_stack = s; + left_branch = branch_if_none; + right_init_stack = Item_t (a, s); + right_branch = branch_if_some; + continuation = k; + reconstruct = + (fun branch_if_none branch_if_some k -> + IIf_none {kinfo; branch_if_none; branch_if_some; k}); + } | IOpt_map {kinfo; body; k}, Item_t (Option_t (a, _meta, _), s) -> - let s = Item_t (a, s) in ok - @@ Ex_splitted_loop_may_not_fail - ( s, - body, - k, - (function - | Item_t (b, s) -> option_t loc b >|? fun o -> Item_t (o, s)), - fun body k -> IOpt_map {kinfo; body; k} ) + @@ Ex_split_loop_may_not_fail + { + body_init_stack = Item_t (a, s); + body; + continuation = k; + aft_body_stack_transform = + (function + | Item_t (b, s) -> option_t loc b >|? fun o -> Item_t (o, s)); + reconstruct = (fun body k -> IOpt_map {kinfo; body; k}); + } | ICons_left (kinfo, b, k), Item_t (a, s) -> union_t loc a b >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in - Ex_splitted_kinstr (s, k, fun k -> ICons_left (kinfo, b, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_left (kinfo, b, k)); + } | ICons_right (kinfo, a, k), Item_t (b, s) -> union_t loc a b >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in - Ex_splitted_kinstr (s, k, fun k -> ICons_right (kinfo, a, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_right (kinfo, a, k)); + } | ( IIf_left {kinfo; branch_if_left; branch_if_right; k}, Item_t (Union_t (a, b, _meta, _), s) ) -> ok - @@ Ex_splitted_if - ( Item_t (a, s), - branch_if_left, - Item_t (b, s), - branch_if_right, - k, - fun branch_if_left branch_if_right k -> - IIf_left {kinfo; branch_if_left; branch_if_right; k} ) + @@ Ex_split_if + { + left_init_stack = Item_t (a, s); + left_branch = branch_if_left; + right_init_stack = Item_t (b, s); + right_branch = branch_if_right; + continuation = k; + reconstruct = + (fun branch_if_left branch_if_right k -> + IIf_left {kinfo; branch_if_left; branch_if_right; k}); + } | ICons_list (kinfo, k), Item_t (_a, Item_t (l, s)) -> let s = Item_t (l, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ICons_list (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_list (kinfo, k)); + } | INil (kinfo, a, k), s -> list_t loc a >|? fun l -> let s = Item_t (l, s) in - Ex_splitted_kinstr (s, k, fun k -> INil (kinfo, a, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INil (kinfo, a, k)); + } | ( IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}, Item_t ((List_t (a, _meta) as l), s) ) -> ok - @@ Ex_splitted_if - ( Item_t (a, Item_t (l, s)), - branch_if_cons, - s, - branch_if_nil, - k, - fun branch_if_cons branch_if_nil k -> - IIf_cons {kinfo; branch_if_cons; branch_if_nil; k} ) + @@ Ex_split_if + { + left_init_stack = Item_t (a, Item_t (l, s)); + left_branch = branch_if_cons; + right_init_stack = s; + right_branch = branch_if_nil; + continuation = k; + reconstruct = + (fun branch_if_cons branch_if_nil k -> + IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}); + } | IList_map (kinfo, body, k), Item_t (List_t (a, _meta), s) -> let s = Item_t (a, s) in ok - @@ Ex_splitted_loop_may_not_fail - ( s, - body, - k, - (function - | Item_t (b, s) -> list_t loc b >|? fun l -> Item_t (l, s)), - fun body k -> IList_map (kinfo, body, k) ) + @@ Ex_split_loop_may_not_fail + { + body_init_stack = s; + body; + continuation = k; + aft_body_stack_transform = + (function + | Item_t (b, s) -> list_t loc b >|? fun l -> Item_t (l, s)); + reconstruct = (fun body k -> IList_map (kinfo, body, k)); + } | IList_iter (kinfo, ty, body, k), Item_t (List_t (a, _meta), s) -> - let s' = Item_t (a, s) in ok - @@ Ex_splitted_loop_may_fail - (s', body, s, k, fun body k -> IList_iter (kinfo, ty, body, k)) + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (a, s); + body; + cont_init_stack = s; + continuation = k; + reconstruct = (fun body k -> IList_iter (kinfo, ty, body, k)); + } | IList_size (kinfo, k), Item_t (_l, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IList_size (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IList_size (kinfo, k)); + } | IEmpty_set (kinfo, a, k), s -> set_t loc a >|? fun b -> let s = Item_t (b, s) in - Ex_splitted_kinstr (s, k, fun k -> IEmpty_set (kinfo, a, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEmpty_set (kinfo, a, k)); + } | ISet_iter (kinfo, a, body, k), Item_t (_b, s) -> - let s' = Item_t (a, s) in ok - @@ Ex_splitted_loop_may_fail - (s', body, s, k, fun body k -> ISet_iter (kinfo, a, body, k)) + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (a, s); + body; + cont_init_stack = s; + continuation = k; + reconstruct = (fun body k -> ISet_iter (kinfo, a, body, k)); + } | ISet_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_mem (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_mem (kinfo, k)); + } | ISet_update (kinfo, k), Item_t (_, Item_t (_, s)) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_update (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_update (kinfo, k)); + } | ISet_size (kinfo, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_size (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_size (kinfo, k)); + } | IEmpty_map (kinfo, cty, vty, k), s -> map_t loc cty vty >|? fun m -> let s = Item_t (m, s) in - Ex_splitted_kinstr (s, k, fun k -> IEmpty_map (kinfo, cty, vty, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEmpty_map (kinfo, cty, vty, k)); + } | IMap_map (kinfo, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> pair_t loc key_ty vty >|? fun (Ty_ex_c p) -> - let s = Item_t (p, s) in - Ex_splitted_loop_may_not_fail - ( s, - body, - k, - (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)), - fun body k -> IMap_map (kinfo, key_ty, body, k) ) - | IMap_iter (kinfo, pair_ty, body, k), Item_t (_, s) -> - let s' = Item_t (pair_ty, s) in - ok - @@ Ex_splitted_loop_may_fail - (s', body, s, k, fun body k -> IMap_iter (kinfo, pair_ty, body, k)) + Ex_split_loop_may_not_fail + { + body_init_stack = Item_t (p, s); + body; + continuation = k; + aft_body_stack_transform = + (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)); + reconstruct = (fun body k -> IMap_map (kinfo, key_ty, body, k)); + } + | IMap_iter (kinfo, pair_ty, body, k), Item_t (_, stack) -> + ok + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (pair_ty, stack); + body; + cont_init_stack = stack; + continuation = k; + reconstruct = (fun body k -> IMap_iter (kinfo, pair_ty, body, k)); + } | IMap_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_mem (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_mem (kinfo, k)); + } | IMap_get (kinfo, k), Item_t (_, Item_t (Map_t (_kty, vty, _meta), s)) -> option_t loc vty >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> IMap_get (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_get (kinfo, k)); + } | IMap_update (kinfo, k), Item_t (_, Item_t (_, s)) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_update (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_update (kinfo, k)); + } | IMap_get_and_update (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_get_and_update (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_get_and_update (kinfo, k)); + } | IMap_size (kinfo, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMap_size (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_size (kinfo, k)); + } | IEmpty_big_map (kinfo, cty, ty, k), s -> big_map_t loc cty ty >|? fun b -> let s = Item_t (b, s) in - Ex_splitted_kinstr (s, k, fun k -> IEmpty_big_map (kinfo, cty, ty, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEmpty_big_map (kinfo, cty, ty, k)); + } | IBig_map_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IBig_map_mem (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_mem (kinfo, k)); + } | IBig_map_get (kinfo, k), Item_t (_, Item_t (Big_map_t (_kty, vty, _meta), s)) -> option_t loc vty >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> IBig_map_get (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_get (kinfo, k)); + } | IBig_map_update (kinfo, k), Item_t (_, Item_t (_, s)) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IBig_map_update (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_update (kinfo, k)); + } | IBig_map_get_and_update (kinfo, k), Item_t (_, s) -> ok - @@ Ex_splitted_kinstr (s, k, fun k -> IBig_map_get_and_update (kinfo, k)) + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_get_and_update (kinfo, k)); + } | IConcat_string (kinfo, k), Item_t (_, s) -> let s = Item_t (string_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_string (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_string (kinfo, k)); + } | IConcat_string_pair (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_string_pair (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_string_pair (kinfo, k)); + } | ISlice_string (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (option_string_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISlice_string (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISlice_string (kinfo, k)); + } | IString_size (kinfo, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IString_size (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IString_size (kinfo, k)); + } | IConcat_bytes (kinfo, k), Item_t (_, s) -> let s = Item_t (bytes_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_bytes (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_bytes (kinfo, k)); + } | IConcat_bytes_pair (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IConcat_bytes_pair (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_bytes_pair (kinfo, k)); + } | ISlice_bytes (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (option_bytes_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISlice_bytes (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISlice_bytes (kinfo, k)); + } | IBytes_size (kinfo, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IBytes_size (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBytes_size (kinfo, k)); + } | IAdd_seconds_to_timestamp (kinfo, k), Item_t (_, s) -> ok - @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_seconds_to_timestamp (kinfo, k)) + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_seconds_to_timestamp (kinfo, k)); + } | IAdd_timestamp_to_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (timestamp_t, s) in ok - @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_timestamp_to_seconds (kinfo, k)) + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_timestamp_to_seconds (kinfo, k)); + } | ISub_timestamp_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (timestamp_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_timestamp_seconds (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_timestamp_seconds (kinfo, k)); + } | IDiff_timestamps (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDiff_timestamps (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDiff_timestamps (kinfo, k)); + } | IAdd_tez (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_tez (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_tez (kinfo, k)); + } | ISub_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_mutez_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_tez (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_tez (kinfo, k)); + } | ISub_tez_legacy (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_tez_legacy (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_tez_legacy (kinfo, k)); + } | IMul_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (mutez_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_teznat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_teznat (kinfo, k)); + } | IMul_nattez (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_nattez (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_nattez (kinfo, k)); + } | IEdiv_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_pair_mutez_mutez_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IEdiv_teznat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_teznat (kinfo, k)); + } | IEdiv_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_pair_nat_mutez_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IEdiv_tez (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_tez (kinfo, k)); + } | IOr (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IOr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IOr (kinfo, k)); + } | IAnd (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAnd (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAnd (kinfo, k)); + } | IXor (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IXor (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IXor (kinfo, k)); + } | INot (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> INot (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INot (kinfo, k)); + } | IIs_nat (kinfo, k), Item_t (_, s) -> let s = Item_t (option_nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IIs_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IIs_nat (kinfo, k)); + } | INeg (kinfo, k), Item_t (_, s) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg (kinfo, k)); + } | IAbs_int (kinfo, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAbs_int (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAbs_int (kinfo, k)); + } | IInt_nat (kinfo, k), Item_t (_, s) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IInt_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IInt_nat (kinfo, k)); + } | IAdd_int (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_int (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_int (kinfo, k)); + } | IAdd_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_nat (kinfo, k)); + } | ISub_int (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISub_int (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_int (kinfo, k)); + } | IMul_int (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_int (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_int (kinfo, k)); + } | IMul_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_nat (kinfo, k)); + } | IEdiv_int (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_pair_int_nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IEdiv_int (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_int (kinfo, k)); + } | IEdiv_nat (kinfo, k), Item_t (_, Item_t (a, s)) -> pair_t loc a nat_t >>? fun (Ty_ex_c p) -> option_t loc p >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> IEdiv_nat (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_nat (kinfo, k)); + } | ILsl_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ILsl_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILsl_nat (kinfo, k)); + } | ILsr_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ILsr_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILsr_nat (kinfo, k)); + } | IOr_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IOr_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IOr_nat (kinfo, k)); + } | IAnd_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAnd_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAnd_nat (kinfo, k)); + } | IAnd_int_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAnd_int_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAnd_int_nat (kinfo, k)); + } | IXor_nat (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IXor_nat (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IXor_nat (kinfo, k)); + } | INot_int (kinfo, k), Item_t (_, s) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> INot_int (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INot_int (kinfo, k)); + } | IIf {kinfo; branch_if_true; branch_if_false; k}, Item_t (_, s) -> ok - @@ Ex_splitted_if - ( s, - branch_if_true, - s, - branch_if_false, - k, - fun branch_if_true branch_if_false k -> - IIf {kinfo; branch_if_true; branch_if_false; k} ) + @@ Ex_split_if + { + left_init_stack = s; + left_branch = branch_if_true; + right_init_stack = s; + right_branch = branch_if_false; + continuation = k; + reconstruct = + (fun branch_if_true branch_if_false k -> + IIf {kinfo; branch_if_true; branch_if_false; k}); + } | ILoop (kinfo, body, k), Item_t (_, s) -> ok - @@ Ex_splitted_loop_may_fail - (s, body, s, k, fun body k -> ILoop (kinfo, body, k)) + @@ Ex_split_loop_may_fail + { + body_init_stack = s; + body; + cont_init_stack = s; + continuation = k; + reconstruct = (fun body k -> ILoop (kinfo, body, k)); + } | ILoop_left (kinfo, kl, kr), Item_t (Union_t (a, b, _meta, _), s) -> ok - @@ Ex_splitted_loop_may_fail - ( Item_t (a, s), - kl, - Item_t (b, s), - kr, - fun kl kr -> ILoop_left (kinfo, kl, kr) ) + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (a, s); + body = kl; + cont_init_stack = Item_t (b, s); + continuation = kr; + reconstruct = (fun kl kr -> ILoop_left (kinfo, kl, kr)); + } | IDip (kinfo, body, k), Item_t (a, s) -> ok - @@ Ex_splitted_loop_may_not_fail - ( s, - body, - k, - (fun s -> ok @@ Item_t (a, s)), - fun body k -> IDip (kinfo, body, k) ) + @@ Ex_split_loop_may_not_fail + { + body_init_stack = s; + body; + continuation = k; + aft_body_stack_transform = (fun s -> ok @@ Item_t (a, s)); + reconstruct = (fun body k -> IDip (kinfo, body, k)); + } | IExec (kinfo, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> let s = Item_t (b, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IExec (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IExec (kinfo, k)); + } | ( IApply (kinfo, ty, k), Item_t (_, Item_t (Lambda_t (Pair_t (_, a, _, _), b, _), s)) ) -> lambda_t loc a b >|? fun l -> let s = Item_t (l, s) in - Ex_splitted_kinstr (s, k, fun k -> IApply (kinfo, ty, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IApply (kinfo, ty, k)); + } | ILambda (kinfo, l, k), s -> let (Lam (desc, _)) = l in let (Item_t (a, Bot_t)) = desc.kbef in let (Item_t (b, Bot_t)) = desc.kaft in lambda_t loc a b >|? fun lam -> let s = Item_t (lam, s) in - Ex_splitted_kinstr (s, k, fun k -> ILambda (kinfo, l, k)) - | IFailwith (kinfo, i, ty), _ -> + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILambda (kinfo, l, k)); + } + | IFailwith (kinfo, location, arg_ty), _ -> ok - @@ Ex_splitted_failwith (kinfo, i, ty, {cast = IFailwith (kinfo, i, ty)}) + @@ Ex_split_failwith + { + kinfo; + location; + arg_ty; + cast = {cast = IFailwith (kinfo, location, arg_ty)}; + } | ICompare (kinfo, ty, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ICompare (kinfo, ty, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICompare (kinfo, ty, k)); + } | IEq (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IEq (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEq (kinfo, k)); + } | INeq (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> INeq (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeq (kinfo, k)); + } | ILt (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ILt (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILt (kinfo, k)); + } | IGt (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IGt (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IGt (kinfo, k)); + } | ILe (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ILe (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILe (kinfo, k)); + } | IGe (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IGe (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IGe (kinfo, k)); + } | IAddress (kinfo, k), Item_t (_, s) -> let s = Item_t (address_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAddress (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAddress (kinfo, k)); + } | IContract (kinfo, ty, code, k), Item_t (_, s) -> contract_t loc ty >>? fun c -> option_t loc c >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> IContract (kinfo, ty, code, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IContract (kinfo, ty, code, k)); + } | ITransfer_tokens (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (operation_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ITransfer_tokens (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ITransfer_tokens (kinfo, k)); + } | ( IView (kinfo, (View_signature {output_ty; _} as view_signature), k), Item_t (_, Item_t (_, s)) ) -> option_t loc output_ty >|? fun b -> let s = Item_t (b, s) in - Ex_splitted_kinstr (s, k, fun k -> IView (kinfo, view_signature, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IView (kinfo, view_signature, k)); + } | IImplicit_account (kinfo, k), Item_t (_, s) -> let s = Item_t (contract_unit_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IImplicit_account (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IImplicit_account (kinfo, k)); + } | ( ICreate_contract {kinfo; storage_type; code; k}, Item_t (_, Item_t (_, Item_t (_, s))) ) -> - let s = Item_t (operation_t, Item_t (address_t, s)) in ok - @@ Ex_splitted_kinstr - (s, k, fun k -> ICreate_contract {kinfo; storage_type; code; k}) + @@ Ex_split_kinstr + { + cont_init_stack = Item_t (operation_t, Item_t (address_t, s)); + continuation = k; + reconstruct = + (fun k -> ICreate_contract {kinfo; storage_type; code; k}); + } | ISet_delegate (kinfo, k), Item_t (_, s) -> let s = Item_t (operation_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISet_delegate (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_delegate (kinfo, k)); + } | INow (kinfo, k), s -> let s = Item_t (timestamp_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> INow (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INow (kinfo, k)); + } | IBalance (kinfo, k), s -> let s = Item_t (mutez_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IBalance (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBalance (kinfo, k)); + } | ILevel (kinfo, k), s -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ILevel (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILevel (kinfo, k)); + } | ICheck_signature (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ICheck_signature (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICheck_signature (kinfo, k)); + } | IHash_key (kinfo, k), Item_t (_, s) -> let s = Item_t (key_hash_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IHash_key (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IHash_key (kinfo, k)); + } | IPack (kinfo, ty, k), Item_t (_, s) -> let s = Item_t (bytes_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IPack (kinfo, ty, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IPack (kinfo, ty, k)); + } | IUnpack (kinfo, ty, k), Item_t (_, s) -> option_t loc ty >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> IUnpack (kinfo, ty, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IUnpack (kinfo, ty, k)); + } | IBlake2b (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IBlake2b (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBlake2b (kinfo, k)); + } | ISha256 (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISha256 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISha256 (kinfo, k)); + } | ISha512 (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISha512 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISha512 (kinfo, k)); + } | ISource (kinfo, k), s -> let s = Item_t (address_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISource (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISource (kinfo, k)); + } | ISender (kinfo, k), s -> let s = Item_t (address_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISender (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISender (kinfo, k)); + } | ISelf (kinfo, ty, ep, k), s -> contract_t loc ty >|? fun c -> let s = Item_t (c, s) in - Ex_splitted_kinstr (s, k, fun k -> ISelf (kinfo, ty, ep, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISelf (kinfo, ty, ep, k)); + } | ISelf_address (kinfo, k), s -> let s = Item_t (address_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISelf_address (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISelf_address (kinfo, k)); + } | IAmount (kinfo, k), s -> let s = Item_t (mutez_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAmount (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAmount (kinfo, k)); + } | ISapling_empty_state (kinfo, memo_size, k), s -> - let s = Item_t (sapling_state_t ~memo_size, s) in ok - @@ Ex_splitted_kinstr - (s, k, fun k -> ISapling_empty_state (kinfo, memo_size, k)) + @@ Ex_split_kinstr + { + cont_init_stack = Item_t (sapling_state_t ~memo_size, s); + continuation = k; + reconstruct = (fun k -> ISapling_empty_state (kinfo, memo_size, k)); + } | ( ISapling_verify_update_deprecated (kinfo, k), Item_t (_, Item_t (state_ty, s)) ) -> pair_t loc int_t state_ty >>? fun (Ty_ex_c pair_ty) -> option_t loc pair_ty >|? fun ty -> - let s = Item_t (ty, s) in - Ex_splitted_kinstr - (s, k, fun k -> ISapling_verify_update_deprecated (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = Item_t (ty, s); + continuation = k; + reconstruct = (fun k -> ISapling_verify_update_deprecated (kinfo, k)); + } | ISapling_verify_update (kinfo, k), Item_t (_, Item_t (state_ty, s)) -> pair_t loc int_t state_ty >>? fun (Ty_ex_c int_state_ty) -> pair_t loc bytes_t int_state_ty >>? fun (Ty_ex_c pair_ty) -> option_t loc pair_ty >|? fun ty -> let s = Item_t (ty, s) in - Ex_splitted_kinstr (s, k, fun k -> ISapling_verify_update (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISapling_verify_update (kinfo, k)); + } | IDig (kinfo, n, p, k), s -> let (Item_t (b, s)) = stack_prefix_preservation_witness_split_input p s in let s = stack_prefix_preservation_witness_split_output p s in let s = Item_t (b, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDig (kinfo, n, p, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDig (kinfo, n, p, k)); + } | IDug (kinfo, n, p, k), Item_t (a, s) -> let s = stack_prefix_preservation_witness_split_input p s in let s = Item_t (a, s) in let s = stack_prefix_preservation_witness_split_output p s in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDug (kinfo, n, p, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDug (kinfo, n, p, k)); + } | IDipn (kinfo, n, p, k1, k2), s -> - let s = stack_prefix_preservation_witness_split_input p s in ok - @@ Ex_splitted_loop_may_not_fail - ( s, - k1, - k2, - (fun s -> ok @@ stack_prefix_preservation_witness_split_output p s), - fun k1 k2 -> IDipn (kinfo, n, p, k1, k2) ) + @@ Ex_split_loop_may_not_fail + { + body_init_stack = stack_prefix_preservation_witness_split_input p s; + body = k1; + continuation = k2; + aft_body_stack_transform = + (fun s -> + ok @@ stack_prefix_preservation_witness_split_output p s); + reconstruct = (fun k1 k2 -> IDipn (kinfo, n, p, k1, k2)); + } | IDropn (kinfo, n, p, k), s -> let s = stack_prefix_preservation_witness_split_input p s in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDropn (kinfo, n, p, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDropn (kinfo, n, p, k)); + } | IChainId (kinfo, k), s -> let s = Item_t (chain_id_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IChainId (kinfo, k)) - | INever kinfo, Item_t (a, _) -> - ok @@ Ex_splitted_failwith (kinfo, loc, a, {cast = INever kinfo}) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IChainId (kinfo, k)); + } + | INever kinfo, Item_t (arg_ty, _) -> + ok + @@ Ex_split_failwith + {kinfo; location = loc; arg_ty; cast = {cast = INever kinfo}} | IVoting_power (kinfo, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IVoting_power (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IVoting_power (kinfo, k)); + } | ITotal_voting_power (kinfo, k), s -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> ITotal_voting_power (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ITotal_voting_power (kinfo, k)); + } | IKeccak (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IKeccak (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IKeccak (kinfo, k)); + } | ISha3 (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> ISha3 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISha3 (kinfo, k)); + } | IAdd_bls12_381_g1 (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_bls12_381_g1 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_bls12_381_g1 (kinfo, k)); + } | IAdd_bls12_381_g2 (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_bls12_381_g2 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_bls12_381_g2 (kinfo, k)); + } | IAdd_bls12_381_fr (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IAdd_bls12_381_fr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_bls12_381_fr (kinfo, k)); + } | IMul_bls12_381_g1 (kinfo, k), Item_t (g1, Item_t (_, s)) -> let s = Item_t (g1, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_g1 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_g1 (kinfo, k)); + } | IMul_bls12_381_g2 (kinfo, k), Item_t (g2, Item_t (_, s)) -> let s = Item_t (g2, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_g2 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_g2 (kinfo, k)); + } | IMul_bls12_381_fr (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_fr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_fr (kinfo, k)); + } | IMul_bls12_381_z_fr (kinfo, k), Item_t (fr, Item_t (_, s)) -> let s = Item_t (fr, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_z_fr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_z_fr (kinfo, k)); + } | IMul_bls12_381_fr_z (kinfo, k), Item_t (_, s) -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMul_bls12_381_fr_z (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_fr_z (kinfo, k)); + } | IInt_bls12_381_fr (kinfo, k), Item_t (_, s) -> let s = Item_t (int_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IInt_bls12_381_fr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IInt_bls12_381_fr (kinfo, k)); + } | INeg_bls12_381_g1 (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg_bls12_381_g1 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg_bls12_381_g1 (kinfo, k)); + } | INeg_bls12_381_g2 (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg_bls12_381_g2 (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg_bls12_381_g2 (kinfo, k)); + } | INeg_bls12_381_fr (kinfo, k), s -> - ok @@ Ex_splitted_kinstr (s, k, fun k -> INeg_bls12_381_fr (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg_bls12_381_fr (kinfo, k)); + } | IPairing_check_bls12_381 (kinfo, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok - @@ Ex_splitted_kinstr (s, k, fun k -> IPairing_check_bls12_381 (kinfo, k)) + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IPairing_check_bls12_381 (kinfo, k)); + } | IComb (kinfo, n, p, k), s -> let rec aux : type a b s c d t. @@ -2773,7 +3575,12 @@ let kinstr_split : pair_t loc a c >|? fun (Ty_ex_c p) -> Item_t (p, t) in aux s p >|? fun s -> - Ex_splitted_kinstr (s, k, fun k -> IComb (kinfo, n, p, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IComb (kinfo, n, p, k)); + } | IUncomb (kinfo, n, p, k), s -> let rec aux : type a b s c d t. @@ -2788,7 +3595,13 @@ let kinstr_split : Item_t (a, s) in let s = aux s p in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IUncomb (kinfo, n, p, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IUncomb (kinfo, n, p, k)); + } | IComb_get (kinfo, n, p, k), Item_t (c, s) -> let rec aux : type c cc a. (c, cc) ty -> (c, a) comb_get_gadt_witness -> a ty_ex_c = @@ -2802,7 +3615,13 @@ let kinstr_split : let (Ty_ex_c ty) = aux c p in Item_t (ty, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IComb_get (kinfo, n, p, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IComb_get (kinfo, n, p, k)); + } | IComb_set (kinfo, n, p, k), Item_t (a, Item_t (b, s)) -> let rec aux : type a b c ca cb. @@ -2819,7 +3638,12 @@ let kinstr_split : in aux a b p >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in - Ex_splitted_kinstr (s, k, fun k -> IComb_set (kinfo, n, p, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IComb_set (kinfo, n, p, k)); + } | IDup_n (kinfo, n, p, k), s -> let rec aux : type a b s t. @@ -2833,58 +3657,116 @@ let kinstr_split : let (Ty_ex_c ty) = aux s p in Item_t (ty, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IDup_n (kinfo, n, p, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDup_n (kinfo, n, p, k)); + } | ITicket (kinfo, cty, k), Item_t (_, Item_t (_, s)) -> ticket_t loc cty >|? fun t -> let s = Item_t (t, s) in - Ex_splitted_kinstr (s, k, fun k -> ITicket (kinfo, cty, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ITicket (kinfo, cty, k)); + } | IRead_ticket (kinfo, a, k), s -> pair_t loc a nat_t >>? fun (Ty_ex_c p) -> pair_t loc address_t p >|? fun (Ty_ex_c t) -> let s = Item_t (t, s) in - Ex_splitted_kinstr (s, k, fun k -> IRead_ticket (kinfo, a, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IRead_ticket (kinfo, a, k)); + } | ISplit_ticket (kinfo, k), Item_t (t, Item_t (_, s)) -> pair_t loc t t >>? fun (Ty_ex_c p) -> option_t loc p >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> ISplit_ticket (kinfo, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISplit_ticket (kinfo, k)); + } | IJoin_tickets (kinfo, ty, k), Item_t (Pair_t (t, _t, _meta, _), s) -> option_t loc t >|? fun o -> let s = Item_t (o, s) in - Ex_splitted_kinstr (s, k, fun k -> IJoin_tickets (kinfo, ty, k)) + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IJoin_tickets (kinfo, ty, k)); + } | IOpen_chest (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (union_bytes_bool_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IOpen_chest (kinfo, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IOpen_chest (kinfo, k)); + } | IMin_block_time (kinfo, k), s -> let s = Item_t (nat_t, s) in - ok @@ Ex_splitted_kinstr (s, k, fun k -> IMin_block_time (kinfo, k)) - | IHalt kinfo, _s -> ok @@ Ex_splitted_halt kinfo - | ILog (kinfo, _stack_ty, event, logger, k), s -> - ok @@ Ex_splitted_log (s, k, fun k -> ILog (kinfo, s, event, logger, k)) + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMin_block_time (kinfo, k)); + } + | IHalt kinfo, _s -> ok @@ Ex_split_halt kinfo + | ILog (kinfo, _stack_ty, event, logger, continuation), stack -> + ok + @@ Ex_split_log + { + stack; + continuation; + reconstruct = (fun k -> ILog (kinfo, s, event, logger, k)); + } let rec kinstr_final_stack_type : type a s r f. (a, s) stack_ty -> (a, s, r, f) kinstr -> (r, f) stack_ty option tzresult = fun s i -> kinstr_split s i >>? function - | Ex_splitted_kinstr (s, k, _) -> kinstr_final_stack_type s k - | Ex_splitted_log (s, k, _) -> kinstr_final_stack_type s k - | Ex_splitted_loop_may_fail (_s, _body, sk, k, _) -> - kinstr_final_stack_type sk k - | Ex_splitted_loop_may_not_fail (s, body, k, f, _) -> ( - kinstr_final_stack_type s body >>? function + | Ex_split_kinstr {cont_init_stack; continuation; _} -> + kinstr_final_stack_type cont_init_stack continuation + | Ex_split_log {stack; continuation; _} -> + kinstr_final_stack_type stack continuation + | Ex_split_loop_may_fail {cont_init_stack; continuation; _} -> + kinstr_final_stack_type cont_init_stack continuation + | Ex_split_loop_may_not_fail + {body_init_stack; body; continuation; aft_body_stack_transform; _} -> ( + kinstr_final_stack_type body_init_stack body >>? function | Some after_body -> - f after_body >>? fun before_k -> kinstr_final_stack_type before_k k + aft_body_stack_transform after_body >>? fun before_k -> + kinstr_final_stack_type before_k continuation | None -> ok None) - | Ex_splitted_if (sa, branch_a, sb, branch_b, k, _ii) -> ( - kinstr_final_stack_type sa branch_a >>? function - | Some after_branch_a -> kinstr_final_stack_type after_branch_a k + | Ex_split_if + { + left_init_stack; + left_branch; + right_init_stack; + right_branch; + continuation; + _; + } -> ( + kinstr_final_stack_type left_init_stack left_branch >>? function + | Some after_branch_a -> + kinstr_final_stack_type after_branch_a continuation | None -> ( - kinstr_final_stack_type sb branch_b >>? function - | Some after_branch_b -> kinstr_final_stack_type after_branch_b k + kinstr_final_stack_type right_init_stack right_branch >>? function + | Some after_branch_b -> + kinstr_final_stack_type after_branch_b continuation | None -> ok None)) - | Ex_splitted_halt _ -> ok @@ Some s - | Ex_splitted_failwith (_, _, _, {cast = _}) -> ok None + | Ex_split_halt _ -> ok @@ Some s + | Ex_split_failwith {cast = {cast = _}; _} -> ok None let kinstr_rewritek : type a s r f. @@ -2894,22 +3776,51 @@ let kinstr_rewritek : (a, s, r, f) kinstr tzresult = fun s i f -> kinstr_split s i >>? function - | Ex_splitted_kinstr (s, k, ii) -> ok @@ ii (f.apply s k) - | Ex_splitted_log (_s, k, ii) -> ok @@ ii k - | Ex_splitted_loop_may_fail (s, body, sk, k, ii) -> - ok @@ ii (f.apply s body) (f.apply sk k) - | Ex_splitted_loop_may_not_fail (s, body, k, sf, ii) -> - (kinstr_final_stack_type s body >>? function - | Some after_body -> sf after_body >|? fun before_k -> f.apply before_k k - | None -> ok k) - >|? fun k -> ii (f.apply s body) k - | Ex_splitted_if (sa, branch_a, sb, branch_b, k, ii) -> - (kinstr_final_stack_type sa branch_a >>? function - | Some after_branch_a -> ok @@ f.apply after_branch_a k + | Ex_split_kinstr {cont_init_stack; continuation; reconstruct} -> + ok @@ reconstruct (f.apply cont_init_stack continuation) + | Ex_split_log {continuation; reconstruct; _} -> + ok @@ reconstruct continuation + | Ex_split_loop_may_fail + {body_init_stack; body; cont_init_stack; continuation; reconstruct} -> + ok + @@ reconstruct + (f.apply body_init_stack body) + (f.apply cont_init_stack continuation) + | Ex_split_loop_may_not_fail + { + body_init_stack; + body; + continuation; + aft_body_stack_transform; + reconstruct; + } -> + (kinstr_final_stack_type body_init_stack body >>? function + | Some after_body -> + aft_body_stack_transform after_body >|? fun before_k -> + f.apply before_k continuation + | None -> ok continuation) + >|? fun k -> reconstruct (f.apply body_init_stack body) k + | Ex_split_if + { + left_init_stack; + left_branch; + right_init_stack; + right_branch; + continuation; + reconstruct; + } -> + (kinstr_final_stack_type left_init_stack left_branch >>? function + | Some after_left_branch -> ok @@ f.apply after_left_branch continuation | None -> ( - kinstr_final_stack_type sb branch_b >>? function - | Some after_branch_b -> ok @@ f.apply after_branch_b k - | None -> ok k)) - >|? fun k -> ii (f.apply sa branch_a) (f.apply sb branch_b) k - | Ex_splitted_halt kinfo -> ok @@ IHalt kinfo - | Ex_splitted_failwith (kinfo, loc, ty, _) -> ok @@ IFailwith (kinfo, loc, ty) + kinstr_final_stack_type right_init_stack right_branch >>? function + | Some after_right_branch -> + ok @@ f.apply after_right_branch continuation + | None -> ok continuation)) + >|? fun k -> + reconstruct + (f.apply left_init_stack left_branch) + (f.apply right_init_stack right_branch) + k + | Ex_split_halt kinfo -> ok @@ IHalt kinfo + | Ex_split_failwith {kinfo; location; arg_ty; _} -> + ok @@ IFailwith (kinfo, location, arg_ty) -- GitLab From 012848dc9170e63ada68c5206f2faa6701d040e2 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Tue, 22 Mar 2022 13:59:46 +0100 Subject: [PATCH 06/42] Proto/Interpreter: Extract logging module for the interpreter. --- src/proto_alpha/lib_protocol/TEZOS_PROTOCOL | 1 + src/proto_alpha/lib_protocol/dune | 5 + .../lib_protocol/script_interpreter.ml | 1 + .../lib_protocol/script_interpreter_defs.ml | 54 - .../script_interpreter_logging.ml | 1736 +++++++++++++++++ .../script_interpreter_logging.mli | 66 + .../lib_protocol/script_typed_ir.ml | 1663 ---------------- .../lib_protocol/script_typed_ir.mli | 17 - 8 files changed, 1809 insertions(+), 1734 deletions(-) create mode 100644 src/proto_alpha/lib_protocol/script_interpreter_logging.ml create mode 100644 src/proto_alpha/lib_protocol/script_interpreter_logging.mli diff --git a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL index f0e49e3602fb..544056b1783a 100644 --- a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL +++ b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL @@ -201,6 +201,7 @@ "Tx_rollup_ticket", "Script_interpreter_defs", + "Script_interpreter_logging", "Script_interpreter", "Sc_rollup_management_protocol", "Sc_rollup_operations", diff --git a/src/proto_alpha/lib_protocol/dune b/src/proto_alpha/lib_protocol/dune index 2fbd4b52fc8e..1bd086be3213 100644 --- a/src/proto_alpha/lib_protocol/dune +++ b/src/proto_alpha/lib_protocol/dune @@ -214,6 +214,7 @@ Ticket_accounting Tx_rollup_ticket Script_interpreter_defs + Script_interpreter_logging Script_interpreter Sc_rollup_management_protocol Sc_rollup_operations @@ -436,6 +437,7 @@ ticket_accounting.ml ticket_accounting.mli tx_rollup_ticket.ml tx_rollup_ticket.mli script_interpreter_defs.ml + script_interpreter_logging.ml script_interpreter_logging.mli script_interpreter.ml script_interpreter.mli sc_rollup_management_protocol.ml sc_rollup_management_protocol.mli sc_rollup_operations.ml sc_rollup_operations.mli @@ -644,6 +646,7 @@ ticket_accounting.ml ticket_accounting.mli tx_rollup_ticket.ml tx_rollup_ticket.mli script_interpreter_defs.ml + script_interpreter_logging.ml script_interpreter_logging.mli script_interpreter.ml script_interpreter.mli sc_rollup_management_protocol.ml sc_rollup_management_protocol.mli sc_rollup_operations.ml sc_rollup_operations.mli @@ -861,6 +864,7 @@ ticket_accounting.ml ticket_accounting.mli tx_rollup_ticket.ml tx_rollup_ticket.mli script_interpreter_defs.ml + script_interpreter_logging.ml script_interpreter_logging.mli script_interpreter.ml script_interpreter.mli sc_rollup_management_protocol.ml sc_rollup_management_protocol.mli sc_rollup_operations.ml sc_rollup_operations.mli @@ -1082,6 +1086,7 @@ ticket_accounting.ml ticket_accounting.mli tx_rollup_ticket.ml tx_rollup_ticket.mli script_interpreter_defs.ml + script_interpreter_logging.ml script_interpreter_logging.mli script_interpreter.ml script_interpreter.mli sc_rollup_management_protocol.ml sc_rollup_management_protocol.mli sc_rollup_operations.ml sc_rollup_operations.mli diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 96f57c93964e..d973c35e3003 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -84,6 +84,7 @@ open Alpha_context open Script_typed_ir +open Script_interpreter_logging open Script_ir_translator open Local_gas_counter open Script_interpreter_defs diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 0423884a6964..8215a02a1f3a 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -398,60 +398,6 @@ let consume_control local_gas_counter ks = consume_opt local_gas_counter cost [@@ocaml.inline always] -(* - - Auxiliary functions used by the instrumentation - =============================================== - -*) - -let log_entry logger ctxt gas k sty accu stack = - let kinfo = kinfo_of_kinstr k in - let ctxt = update_context gas ctxt in - logger.log_entry k ctxt kinfo.iloc sty (accu, stack) - -let log_exit logger ctxt gas kinfo_prev k sty accu stack = - let _kinfo = kinfo_of_kinstr k in - let ctxt = update_context gas ctxt in - logger.log_exit k ctxt kinfo_prev.iloc sty (accu, stack) - -let log_control logger ks = logger.log_control ks - -let get_log = function - | None -> Lwt.return (Ok None) - | Some logger -> logger.get_log () - [@@ocaml.inline always] - -(* [log_kinstr logger i] emits an instruction to instrument the - execution of [i] with [logger]. *) -let log_kinstr logger sty i = ILog (kinfo_of_kinstr i, sty, LogEntry, logger, i) - -(* [log_next_kinstr logger i] instruments the next instruction of [i] - with the [logger]. - - Notice that the instrumentation breaks the sharing of continuations - that is normally enforced between branches of conditionals. This - has a performance cost. Anyway, the instrumentation allocates many - new [ILog] instructions and [KLog] continuations which makes - the execution of instrumented code significantly slower than - non-instrumented code. "Zero-cost logging" means that the normal - non-instrumented execution is not impacted by the ability to - instrument it, not that the logging itself has no cost. -*) -let log_next_kinstr logger sty i = - let apply sty k = - ILog - ( kinfo_of_kinstr k, - sty, - LogExit (kinfo_of_kinstr i), - logger, - log_kinstr logger sty k ) - in - kinstr_rewritek sty i {apply} - -(* We pass the identity function when no instrumentation is needed. *) -let id x = x [@@inline] - (* Auxiliary functions used by the interpretation loop diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml new file mode 100644 index 000000000000..754c615cb571 --- /dev/null +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -0,0 +1,1736 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +open Alpha_context +open Script_typed_ir + +type kinstr_rewritek = { + apply : + 'b 'u 'r 'f. + ('b, 'u) stack_ty -> ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; +} +[@@ocaml.unboxed] + +(* An existential wrapper around failed [kinstr], whose final stack type + is hidden as it is irrelevant. *) +type ('a, 's) failed_kinstr_cast = {cast : 'b 'u. ('a, 's, 'b, 'u) kinstr} +[@@ocaml.unboxed] + +(* This is a view on a deconstructed [kinstr]. Its type parameters refer to + the type of the viewed [kinstr], while existentials inside describe types of + [kinstr]'s components. The [reconstruct] field in each record stores a + function which reconstructs the original instruction from its components. *) +type ('a, 's, 'r, 'f) ex_split_kinstr = + | Ex_split_kinstr : { + cont_init_stack : ('b, 'u) stack_ty; + continuation : ('b, 'u, 'r, 'f) kinstr; + reconstruct : ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; + } + -> ('a, 's, 'r, 'f) ex_split_kinstr + | Ex_split_log : { + stack : ('a, 's) stack_ty; + continuation : ('a, 's, 'r, 'f) kinstr; + reconstruct : ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; + } + -> ('a, 's, 'r, 'f) ex_split_kinstr + | Ex_split_loop_may_fail : { + body_init_stack : ('b, 'u) stack_ty; + body : ('b, 'u, 'r, 'f) kinstr; + cont_init_stack : ('c, 'v) stack_ty; + continuation : ('c, 'v, 't, 'g) kinstr; + reconstruct : + ('b, 'u, 'r, 'f) kinstr -> + ('c, 'v, 't, 'g) kinstr -> + ('a, 's, 't, 'g) kinstr; + } + -> ('a, 's, 't, 'g) ex_split_kinstr + | Ex_split_loop_may_not_fail : { + body_init_stack : ('b, 'u) stack_ty; + body : ('b, 'u, 'r, 'f) kinstr; + continuation : ('c, 'v, 't, 'g) kinstr; + aft_body_stack_transform : + ('r, 'f) stack_ty -> ('c, 'v) stack_ty tzresult; + reconstruct : + ('b, 'u, 'r, 'f) kinstr -> + ('c, 'v, 't, 'g) kinstr -> + ('a, 's, 't, 'g) kinstr; + } + -> ('a, 's, 't, 'g) ex_split_kinstr + | Ex_split_if : { + left_init_stack : ('b, 'u) stack_ty; + left_branch : ('b, 'u, 'r, 'f) kinstr; + right_init_stack : ('c, 'v) stack_ty; + right_branch : ('c, 'v, 'r, 'f) kinstr; + continuation : ('r, 'f, 't, 'g) kinstr; + reconstruct : + ('b, 'u, 'r, 'f) kinstr -> + ('c, 'v, 'r, 'f) kinstr -> + ('r, 'f, 't, 'g) kinstr -> + ('a, 's, 't, 'g) kinstr; + } + -> ('a, 's, 't, 'g) ex_split_kinstr + | Ex_split_halt : ('a, 's) kinfo -> ('a, 's, 'a, 's) ex_split_kinstr + | Ex_split_failwith : { + kinfo : ('a, 's) kinfo; + location : Script.location; + arg_ty : ('a, _) ty; + cast : ('a, 's) failed_kinstr_cast; + } + -> ('a, 's, 'r, 'f) ex_split_kinstr + +let rec stack_prefix_preservation_witness_split_input : + type a s b t c u d v. + (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> + (a, s) stack_ty -> + (b, t) stack_ty = + fun w s -> + match (w, s) with + | KPrefix (_, _, w), Item_t (_, s) -> + stack_prefix_preservation_witness_split_input w s + | KRest, s -> s + +let rec stack_prefix_preservation_witness_split_output : + type a s b t c u d v. + (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> + (c, u) stack_ty -> + (d, v) stack_ty = + fun w s -> + match (w, s) with + | KPrefix (_, a, w), s -> + Item_t (a, stack_prefix_preservation_witness_split_output w s) + | KRest, s -> s + +let kinstr_split : + type a s r f. + (a, s) stack_ty -> + (a, s, r, f) kinstr -> + (a, s, r, f) ex_split_kinstr tzresult = + fun s i -> + let loc = Micheline.dummy_location in + match (i, s) with + | IDrop (kinfo, k), Item_t (_a, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDrop (kinfo, k)); + } + | IDup (kinfo, k), Item_t (a, s) -> + let s = Item_t (a, Item_t (a, s)) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDup (kinfo, k)); + } + | ISwap (kinfo, k), Item_t (a, Item_t (b, s)) -> + let s = Item_t (b, Item_t (a, s)) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISwap (kinfo, k)); + } + | IConst (kinfo, a, x, k), s -> + let s = Item_t (a, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConst (kinfo, a, x, k)); + } + | ICons_pair (kinfo, k), Item_t (a, Item_t (b, s)) -> + pair_t loc a b >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_pair (kinfo, k)); + } + | ICar (kinfo, k), Item_t (Pair_t (a, _b, _meta, _), s) -> + let s = Item_t (a, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICar (kinfo, k)); + } + | ICdr (kinfo, k), Item_t (Pair_t (_a, b, _meta, _), s) -> + let s = Item_t (b, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICdr (kinfo, k)); + } + | IUnpair (kinfo, k), Item_t (Pair_t (a, b, _meta, _), s) -> + let s = Item_t (a, Item_t (b, s)) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IUnpair (kinfo, k)); + } + | ICons_some (kinfo, k), Item_t (a, s) -> + option_t loc a >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_some (kinfo, k)); + } + | ICons_none (kinfo, a, k), s -> + option_t loc a >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_none (kinfo, a, k)); + } + | ( IIf_none {kinfo; branch_if_none; branch_if_some; k}, + Item_t (Option_t (a, _meta, _), s) ) -> + ok + @@ Ex_split_if + { + left_init_stack = s; + left_branch = branch_if_none; + right_init_stack = Item_t (a, s); + right_branch = branch_if_some; + continuation = k; + reconstruct = + (fun branch_if_none branch_if_some k -> + IIf_none {kinfo; branch_if_none; branch_if_some; k}); + } + | IOpt_map {kinfo; body; k}, Item_t (Option_t (a, _meta, _), s) -> + ok + @@ Ex_split_loop_may_not_fail + { + body_init_stack = Item_t (a, s); + body; + continuation = k; + aft_body_stack_transform = + (function + | Item_t (b, s) -> option_t loc b >|? fun o -> Item_t (o, s)); + reconstruct = (fun body k -> IOpt_map {kinfo; body; k}); + } + | ICons_left (kinfo, b, k), Item_t (a, s) -> + union_t loc a b >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_left (kinfo, b, k)); + } + | ICons_right (kinfo, a, k), Item_t (b, s) -> + union_t loc a b >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_right (kinfo, a, k)); + } + | ( IIf_left {kinfo; branch_if_left; branch_if_right; k}, + Item_t (Union_t (a, b, _meta, _), s) ) -> + ok + @@ Ex_split_if + { + left_init_stack = Item_t (a, s); + left_branch = branch_if_left; + right_init_stack = Item_t (b, s); + right_branch = branch_if_right; + continuation = k; + reconstruct = + (fun branch_if_left branch_if_right k -> + IIf_left {kinfo; branch_if_left; branch_if_right; k}); + } + | ICons_list (kinfo, k), Item_t (_a, Item_t (l, s)) -> + let s = Item_t (l, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICons_list (kinfo, k)); + } + | INil (kinfo, a, k), s -> + list_t loc a >|? fun l -> + let s = Item_t (l, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INil (kinfo, a, k)); + } + | ( IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}, + Item_t ((List_t (a, _meta) as l), s) ) -> + ok + @@ Ex_split_if + { + left_init_stack = Item_t (a, Item_t (l, s)); + left_branch = branch_if_cons; + right_init_stack = s; + right_branch = branch_if_nil; + continuation = k; + reconstruct = + (fun branch_if_cons branch_if_nil k -> + IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}); + } + | IList_map (kinfo, body, k), Item_t (List_t (a, _meta), s) -> + let s = Item_t (a, s) in + ok + @@ Ex_split_loop_may_not_fail + { + body_init_stack = s; + body; + continuation = k; + aft_body_stack_transform = + (function + | Item_t (b, s) -> list_t loc b >|? fun l -> Item_t (l, s)); + reconstruct = (fun body k -> IList_map (kinfo, body, k)); + } + | IList_iter (kinfo, ty, body, k), Item_t (List_t (a, _meta), s) -> + ok + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (a, s); + body; + cont_init_stack = s; + continuation = k; + reconstruct = (fun body k -> IList_iter (kinfo, ty, body, k)); + } + | IList_size (kinfo, k), Item_t (_l, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IList_size (kinfo, k)); + } + | IEmpty_set (kinfo, a, k), s -> + set_t loc a >|? fun b -> + let s = Item_t (b, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEmpty_set (kinfo, a, k)); + } + | ISet_iter (kinfo, a, body, k), Item_t (_b, s) -> + ok + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (a, s); + body; + cont_init_stack = s; + continuation = k; + reconstruct = (fun body k -> ISet_iter (kinfo, a, body, k)); + } + | ISet_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_mem (kinfo, k)); + } + | ISet_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_update (kinfo, k)); + } + | ISet_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_size (kinfo, k)); + } + | IEmpty_map (kinfo, cty, vty, k), s -> + map_t loc cty vty >|? fun m -> + let s = Item_t (m, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEmpty_map (kinfo, cty, vty, k)); + } + | IMap_map (kinfo, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> + pair_t loc key_ty vty >|? fun (Ty_ex_c p) -> + Ex_split_loop_may_not_fail + { + body_init_stack = Item_t (p, s); + body; + continuation = k; + aft_body_stack_transform = + (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)); + reconstruct = (fun body k -> IMap_map (kinfo, key_ty, body, k)); + } + | IMap_iter (kinfo, pair_ty, body, k), Item_t (_, stack) -> + ok + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (pair_ty, stack); + body; + cont_init_stack = stack; + continuation = k; + reconstruct = (fun body k -> IMap_iter (kinfo, pair_ty, body, k)); + } + | IMap_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_mem (kinfo, k)); + } + | IMap_get (kinfo, k), Item_t (_, Item_t (Map_t (_kty, vty, _meta), s)) -> + option_t loc vty >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_get (kinfo, k)); + } + | IMap_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_update (kinfo, k)); + } + | IMap_get_and_update (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_get_and_update (kinfo, k)); + } + | IMap_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMap_size (kinfo, k)); + } + | IEmpty_big_map (kinfo, cty, ty, k), s -> + big_map_t loc cty ty >|? fun b -> + let s = Item_t (b, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEmpty_big_map (kinfo, cty, ty, k)); + } + | IBig_map_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_mem (kinfo, k)); + } + | IBig_map_get (kinfo, k), Item_t (_, Item_t (Big_map_t (_kty, vty, _meta), s)) + -> + option_t loc vty >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_get (kinfo, k)); + } + | IBig_map_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_update (kinfo, k)); + } + | IBig_map_get_and_update (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBig_map_get_and_update (kinfo, k)); + } + | IConcat_string (kinfo, k), Item_t (_, s) -> + let s = Item_t (string_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_string (kinfo, k)); + } + | IConcat_string_pair (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_string_pair (kinfo, k)); + } + | ISlice_string (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (option_string_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISlice_string (kinfo, k)); + } + | IString_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IString_size (kinfo, k)); + } + | IConcat_bytes (kinfo, k), Item_t (_, s) -> + let s = Item_t (bytes_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_bytes (kinfo, k)); + } + | IConcat_bytes_pair (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IConcat_bytes_pair (kinfo, k)); + } + | ISlice_bytes (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (option_bytes_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISlice_bytes (kinfo, k)); + } + | IBytes_size (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBytes_size (kinfo, k)); + } + | IAdd_seconds_to_timestamp (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_seconds_to_timestamp (kinfo, k)); + } + | IAdd_timestamp_to_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (timestamp_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_timestamp_to_seconds (kinfo, k)); + } + | ISub_timestamp_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (timestamp_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_timestamp_seconds (kinfo, k)); + } + | IDiff_timestamps (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDiff_timestamps (kinfo, k)); + } + | IAdd_tez (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_tez (kinfo, k)); + } + | ISub_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_mutez_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_tez (kinfo, k)); + } + | ISub_tez_legacy (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_tez_legacy (kinfo, k)); + } + | IMul_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (mutez_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_teznat (kinfo, k)); + } + | IMul_nattez (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_nattez (kinfo, k)); + } + | IEdiv_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_pair_mutez_mutez_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_teznat (kinfo, k)); + } + | IEdiv_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_pair_nat_mutez_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_tez (kinfo, k)); + } + | IOr (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IOr (kinfo, k)); + } + | IAnd (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAnd (kinfo, k)); + } + | IXor (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IXor (kinfo, k)); + } + | INot (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INot (kinfo, k)); + } + | IIs_nat (kinfo, k), Item_t (_, s) -> + let s = Item_t (option_nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IIs_nat (kinfo, k)); + } + | INeg (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg (kinfo, k)); + } + | IAbs_int (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAbs_int (kinfo, k)); + } + | IInt_nat (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IInt_nat (kinfo, k)); + } + | IAdd_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_int (kinfo, k)); + } + | IAdd_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_nat (kinfo, k)); + } + | ISub_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISub_int (kinfo, k)); + } + | IMul_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_int (kinfo, k)); + } + | IMul_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_nat (kinfo, k)); + } + | IEdiv_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (option_pair_int_nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_int (kinfo, k)); + } + | IEdiv_nat (kinfo, k), Item_t (_, Item_t (a, s)) -> + pair_t loc a nat_t >>? fun (Ty_ex_c p) -> + option_t loc p >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEdiv_nat (kinfo, k)); + } + | ILsl_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILsl_nat (kinfo, k)); + } + | ILsr_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILsr_nat (kinfo, k)); + } + | IOr_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IOr_nat (kinfo, k)); + } + | IAnd_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAnd_nat (kinfo, k)); + } + | IAnd_int_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAnd_int_nat (kinfo, k)); + } + | IXor_nat (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IXor_nat (kinfo, k)); + } + | INot_int (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INot_int (kinfo, k)); + } + | IIf {kinfo; branch_if_true; branch_if_false; k}, Item_t (_, s) -> + ok + @@ Ex_split_if + { + left_init_stack = s; + left_branch = branch_if_true; + right_init_stack = s; + right_branch = branch_if_false; + continuation = k; + reconstruct = + (fun branch_if_true branch_if_false k -> + IIf {kinfo; branch_if_true; branch_if_false; k}); + } + | ILoop (kinfo, body, k), Item_t (_, s) -> + ok + @@ Ex_split_loop_may_fail + { + body_init_stack = s; + body; + cont_init_stack = s; + continuation = k; + reconstruct = (fun body k -> ILoop (kinfo, body, k)); + } + | ILoop_left (kinfo, kl, kr), Item_t (Union_t (a, b, _meta, _), s) -> + ok + @@ Ex_split_loop_may_fail + { + body_init_stack = Item_t (a, s); + body = kl; + cont_init_stack = Item_t (b, s); + continuation = kr; + reconstruct = (fun kl kr -> ILoop_left (kinfo, kl, kr)); + } + | IDip (kinfo, body, k), Item_t (a, s) -> + ok + @@ Ex_split_loop_may_not_fail + { + body_init_stack = s; + body; + continuation = k; + aft_body_stack_transform = (fun s -> ok @@ Item_t (a, s)); + reconstruct = (fun body k -> IDip (kinfo, body, k)); + } + | IExec (kinfo, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> + let s = Item_t (b, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IExec (kinfo, k)); + } + | ( IApply (kinfo, ty, k), + Item_t (_, Item_t (Lambda_t (Pair_t (_, a, _, _), b, _), s)) ) -> + lambda_t loc a b >|? fun l -> + let s = Item_t (l, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IApply (kinfo, ty, k)); + } + | ILambda (kinfo, l, k), s -> + let (Lam (desc, _)) = l in + let (Item_t (a, Bot_t)) = desc.kbef in + let (Item_t (b, Bot_t)) = desc.kaft in + lambda_t loc a b >|? fun lam -> + let s = Item_t (lam, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILambda (kinfo, l, k)); + } + | IFailwith (kinfo, location, arg_ty), _ -> + ok + @@ Ex_split_failwith + { + kinfo; + location; + arg_ty; + cast = {cast = IFailwith (kinfo, location, arg_ty)}; + } + | ICompare (kinfo, ty, k), Item_t (_, Item_t (_, s)) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICompare (kinfo, ty, k)); + } + | IEq (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IEq (kinfo, k)); + } + | INeq (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeq (kinfo, k)); + } + | ILt (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILt (kinfo, k)); + } + | IGt (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IGt (kinfo, k)); + } + | ILe (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILe (kinfo, k)); + } + | IGe (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IGe (kinfo, k)); + } + | IAddress (kinfo, k), Item_t (_, s) -> + let s = Item_t (address_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAddress (kinfo, k)); + } + | IContract (kinfo, ty, code, k), Item_t (_, s) -> + contract_t loc ty >>? fun c -> + option_t loc c >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IContract (kinfo, ty, code, k)); + } + | ITransfer_tokens (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (operation_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ITransfer_tokens (kinfo, k)); + } + | ( IView (kinfo, (View_signature {output_ty; _} as view_signature), k), + Item_t (_, Item_t (_, s)) ) -> + option_t loc output_ty >|? fun b -> + let s = Item_t (b, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IView (kinfo, view_signature, k)); + } + | IImplicit_account (kinfo, k), Item_t (_, s) -> + let s = Item_t (contract_unit_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IImplicit_account (kinfo, k)); + } + | ( ICreate_contract {kinfo; storage_type; code; k}, + Item_t (_, Item_t (_, Item_t (_, s))) ) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = Item_t (operation_t, Item_t (address_t, s)); + continuation = k; + reconstruct = + (fun k -> ICreate_contract {kinfo; storage_type; code; k}); + } + | ISet_delegate (kinfo, k), Item_t (_, s) -> + let s = Item_t (operation_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISet_delegate (kinfo, k)); + } + | INow (kinfo, k), s -> + let s = Item_t (timestamp_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INow (kinfo, k)); + } + | IBalance (kinfo, k), s -> + let s = Item_t (mutez_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBalance (kinfo, k)); + } + | ILevel (kinfo, k), s -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ILevel (kinfo, k)); + } + | ICheck_signature (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ICheck_signature (kinfo, k)); + } + | IHash_key (kinfo, k), Item_t (_, s) -> + let s = Item_t (key_hash_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IHash_key (kinfo, k)); + } + | IPack (kinfo, ty, k), Item_t (_, s) -> + let s = Item_t (bytes_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IPack (kinfo, ty, k)); + } + | IUnpack (kinfo, ty, k), Item_t (_, s) -> + option_t loc ty >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IUnpack (kinfo, ty, k)); + } + | IBlake2b (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IBlake2b (kinfo, k)); + } + | ISha256 (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISha256 (kinfo, k)); + } + | ISha512 (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISha512 (kinfo, k)); + } + | ISource (kinfo, k), s -> + let s = Item_t (address_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISource (kinfo, k)); + } + | ISender (kinfo, k), s -> + let s = Item_t (address_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISender (kinfo, k)); + } + | ISelf (kinfo, ty, ep, k), s -> + contract_t loc ty >|? fun c -> + let s = Item_t (c, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISelf (kinfo, ty, ep, k)); + } + | ISelf_address (kinfo, k), s -> + let s = Item_t (address_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISelf_address (kinfo, k)); + } + | IAmount (kinfo, k), s -> + let s = Item_t (mutez_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAmount (kinfo, k)); + } + | ISapling_empty_state (kinfo, memo_size, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = Item_t (sapling_state_t ~memo_size, s); + continuation = k; + reconstruct = (fun k -> ISapling_empty_state (kinfo, memo_size, k)); + } + | ( ISapling_verify_update_deprecated (kinfo, k), + Item_t (_, Item_t (state_ty, s)) ) -> + pair_t loc int_t state_ty >>? fun (Ty_ex_c pair_ty) -> + option_t loc pair_ty >|? fun ty -> + Ex_split_kinstr + { + cont_init_stack = Item_t (ty, s); + continuation = k; + reconstruct = (fun k -> ISapling_verify_update_deprecated (kinfo, k)); + } + | ISapling_verify_update (kinfo, k), Item_t (_, Item_t (state_ty, s)) -> + pair_t loc int_t state_ty >>? fun (Ty_ex_c int_state_ty) -> + pair_t loc bytes_t int_state_ty >>? fun (Ty_ex_c pair_ty) -> + option_t loc pair_ty >|? fun ty -> + let s = Item_t (ty, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISapling_verify_update (kinfo, k)); + } + | IDig (kinfo, n, p, k), s -> + let (Item_t (b, s)) = stack_prefix_preservation_witness_split_input p s in + let s = stack_prefix_preservation_witness_split_output p s in + let s = Item_t (b, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDig (kinfo, n, p, k)); + } + | IDug (kinfo, n, p, k), Item_t (a, s) -> + let s = stack_prefix_preservation_witness_split_input p s in + let s = Item_t (a, s) in + let s = stack_prefix_preservation_witness_split_output p s in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDug (kinfo, n, p, k)); + } + | IDipn (kinfo, n, p, k1, k2), s -> + ok + @@ Ex_split_loop_may_not_fail + { + body_init_stack = stack_prefix_preservation_witness_split_input p s; + body = k1; + continuation = k2; + aft_body_stack_transform = + (fun s -> + ok @@ stack_prefix_preservation_witness_split_output p s); + reconstruct = (fun k1 k2 -> IDipn (kinfo, n, p, k1, k2)); + } + | IDropn (kinfo, n, p, k), s -> + let s = stack_prefix_preservation_witness_split_input p s in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDropn (kinfo, n, p, k)); + } + | IChainId (kinfo, k), s -> + let s = Item_t (chain_id_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IChainId (kinfo, k)); + } + | INever kinfo, Item_t (arg_ty, _) -> + ok + @@ Ex_split_failwith + {kinfo; location = loc; arg_ty; cast = {cast = INever kinfo}} + | IVoting_power (kinfo, k), Item_t (_, s) -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IVoting_power (kinfo, k)); + } + | ITotal_voting_power (kinfo, k), s -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ITotal_voting_power (kinfo, k)); + } + | IKeccak (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IKeccak (kinfo, k)); + } + | ISha3 (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISha3 (kinfo, k)); + } + | IAdd_bls12_381_g1 (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_bls12_381_g1 (kinfo, k)); + } + | IAdd_bls12_381_g2 (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_bls12_381_g2 (kinfo, k)); + } + | IAdd_bls12_381_fr (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IAdd_bls12_381_fr (kinfo, k)); + } + | IMul_bls12_381_g1 (kinfo, k), Item_t (g1, Item_t (_, s)) -> + let s = Item_t (g1, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_g1 (kinfo, k)); + } + | IMul_bls12_381_g2 (kinfo, k), Item_t (g2, Item_t (_, s)) -> + let s = Item_t (g2, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_g2 (kinfo, k)); + } + | IMul_bls12_381_fr (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_fr (kinfo, k)); + } + | IMul_bls12_381_z_fr (kinfo, k), Item_t (fr, Item_t (_, s)) -> + let s = Item_t (fr, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_z_fr (kinfo, k)); + } + | IMul_bls12_381_fr_z (kinfo, k), Item_t (_, s) -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMul_bls12_381_fr_z (kinfo, k)); + } + | IInt_bls12_381_fr (kinfo, k), Item_t (_, s) -> + let s = Item_t (int_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IInt_bls12_381_fr (kinfo, k)); + } + | INeg_bls12_381_g1 (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg_bls12_381_g1 (kinfo, k)); + } + | INeg_bls12_381_g2 (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg_bls12_381_g2 (kinfo, k)); + } + | INeg_bls12_381_fr (kinfo, k), s -> + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> INeg_bls12_381_fr (kinfo, k)); + } + | IPairing_check_bls12_381 (kinfo, k), Item_t (_, s) -> + let s = Item_t (bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IPairing_check_bls12_381 (kinfo, k)); + } + | IComb (kinfo, n, p, k), s -> + let rec aux : + type a b s c d t. + (a, b * s) stack_ty -> + (a, b, s, c, d, t) comb_gadt_witness -> + (c, d * t) stack_ty tzresult = + fun s w -> + match (w, s) with + | Comb_one, s -> ok s + | Comb_succ w, Item_t (a, s) -> + aux s w >>? fun (Item_t (c, t)) -> + pair_t loc a c >|? fun (Ty_ex_c p) -> Item_t (p, t) + in + aux s p >|? fun s -> + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IComb (kinfo, n, p, k)); + } + | IUncomb (kinfo, n, p, k), s -> + let rec aux : + type a b s c d t. + (a, b * s) stack_ty -> + (a, b, s, c, d, t) uncomb_gadt_witness -> + (c, d * t) stack_ty = + fun s w -> + match (w, s) with + | Uncomb_one, s -> s + | Uncomb_succ w, Item_t (Pair_t (a, b, _meta, _), s) -> + let s = aux (Item_t (b, s)) w in + Item_t (a, s) + in + let s = aux s p in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IUncomb (kinfo, n, p, k)); + } + | IComb_get (kinfo, n, p, k), Item_t (c, s) -> + let rec aux : + type c cc a. (c, cc) ty -> (c, a) comb_get_gadt_witness -> a ty_ex_c = + fun c w -> + match (w, c) with + | Comb_get_zero, c -> Ty_ex_c c + | Comb_get_one, Pair_t (hd, _tl, _meta, _) -> Ty_ex_c hd + | Comb_get_plus_two w, Pair_t (_hd, tl, _meta, _) -> aux tl w + in + let s = + let (Ty_ex_c ty) = aux c p in + Item_t (ty, s) + in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IComb_get (kinfo, n, p, k)); + } + | IComb_set (kinfo, n, p, k), Item_t (a, Item_t (b, s)) -> + let rec aux : + type a b c ca cb. + (a, ca) ty -> + (b, cb) ty -> + (a, b, c) comb_set_gadt_witness -> + c ty_ex_c tzresult = + fun a b w -> + match (w, b) with + | Comb_set_zero, _ -> ok (Ty_ex_c a) + | Comb_set_one, Pair_t (_hd, tl, _meta, _) -> pair_t loc a tl + | Comb_set_plus_two w, Pair_t (hd, tl, _meta, _) -> + aux a tl w >>? fun (Ty_ex_c c) -> pair_t loc hd c + in + aux a b p >|? fun (Ty_ex_c c) -> + let s = Item_t (c, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IComb_set (kinfo, n, p, k)); + } + | IDup_n (kinfo, n, p, k), s -> + let rec aux : + type a b s t. + (a, b * s) stack_ty -> (a, b, s, t) dup_n_gadt_witness -> t ty_ex_c = + fun s w -> + match (w, s) with + | Dup_n_succ w, Item_t (_, s) -> aux s w + | Dup_n_zero, Item_t (a, _) -> Ty_ex_c a + in + let s = + let (Ty_ex_c ty) = aux s p in + Item_t (ty, s) + in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IDup_n (kinfo, n, p, k)); + } + | ITicket (kinfo, cty, k), Item_t (_, Item_t (_, s)) -> + ticket_t loc cty >|? fun t -> + let s = Item_t (t, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ITicket (kinfo, cty, k)); + } + | IRead_ticket (kinfo, a, k), s -> + pair_t loc a nat_t >>? fun (Ty_ex_c p) -> + pair_t loc address_t p >|? fun (Ty_ex_c t) -> + let s = Item_t (t, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IRead_ticket (kinfo, a, k)); + } + | ISplit_ticket (kinfo, k), Item_t (t, Item_t (_, s)) -> + pair_t loc t t >>? fun (Ty_ex_c p) -> + option_t loc p >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> ISplit_ticket (kinfo, k)); + } + | IJoin_tickets (kinfo, ty, k), Item_t (Pair_t (t, _t, _meta, _), s) -> + option_t loc t >|? fun o -> + let s = Item_t (o, s) in + Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IJoin_tickets (kinfo, ty, k)); + } + | IOpen_chest (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + let s = Item_t (union_bytes_bool_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IOpen_chest (kinfo, k)); + } + | IMin_block_time (kinfo, k), s -> + let s = Item_t (nat_t, s) in + ok + @@ Ex_split_kinstr + { + cont_init_stack = s; + continuation = k; + reconstruct = (fun k -> IMin_block_time (kinfo, k)); + } + | IHalt kinfo, _s -> ok @@ Ex_split_halt kinfo + | ILog (kinfo, _stack_ty, event, logger, continuation), stack -> + ok + @@ Ex_split_log + { + stack; + continuation; + reconstruct = (fun k -> ILog (kinfo, s, event, logger, k)); + } + +let rec kinstr_final_stack_type : + type a s r f. + (a, s) stack_ty -> (a, s, r, f) kinstr -> (r, f) stack_ty option tzresult = + fun s i -> + kinstr_split s i >>? function + | Ex_split_kinstr {cont_init_stack; continuation; _} -> + kinstr_final_stack_type cont_init_stack continuation + | Ex_split_log {stack; continuation; _} -> + kinstr_final_stack_type stack continuation + | Ex_split_loop_may_fail {cont_init_stack; continuation; _} -> + kinstr_final_stack_type cont_init_stack continuation + | Ex_split_loop_may_not_fail + {body_init_stack; body; continuation; aft_body_stack_transform; _} -> ( + kinstr_final_stack_type body_init_stack body >>? function + | Some after_body -> + aft_body_stack_transform after_body >>? fun before_k -> + kinstr_final_stack_type before_k continuation + | None -> ok None) + | Ex_split_if + { + left_init_stack; + left_branch; + right_init_stack; + right_branch; + continuation; + _; + } -> ( + kinstr_final_stack_type left_init_stack left_branch >>? function + | Some after_branch_a -> + kinstr_final_stack_type after_branch_a continuation + | None -> ( + kinstr_final_stack_type right_init_stack right_branch >>? function + | Some after_branch_b -> + kinstr_final_stack_type after_branch_b continuation + | None -> ok None)) + | Ex_split_halt _ -> ok @@ Some s + | Ex_split_failwith {cast = {cast = _}; _} -> ok None + +let kinstr_rewritek : + type a s r f. + (a, s) stack_ty -> + (a, s, r, f) kinstr -> + kinstr_rewritek -> + (a, s, r, f) kinstr tzresult = + fun s i f -> + kinstr_split s i >>? function + | Ex_split_kinstr {cont_init_stack; continuation; reconstruct} -> + ok @@ reconstruct (f.apply cont_init_stack continuation) + | Ex_split_log {continuation; reconstruct; _} -> + ok @@ reconstruct continuation + | Ex_split_loop_may_fail + {body_init_stack; body; cont_init_stack; continuation; reconstruct} -> + ok + @@ reconstruct + (f.apply body_init_stack body) + (f.apply cont_init_stack continuation) + | Ex_split_loop_may_not_fail + { + body_init_stack; + body; + continuation; + aft_body_stack_transform; + reconstruct; + } -> + (kinstr_final_stack_type body_init_stack body >>? function + | Some after_body -> + aft_body_stack_transform after_body >|? fun before_k -> + f.apply before_k continuation + | None -> ok continuation) + >|? fun k -> reconstruct (f.apply body_init_stack body) k + | Ex_split_if + { + left_init_stack; + left_branch; + right_init_stack; + right_branch; + continuation; + reconstruct; + } -> + (kinstr_final_stack_type left_init_stack left_branch >>? function + | Some after_left_branch -> ok @@ f.apply after_left_branch continuation + | None -> ( + kinstr_final_stack_type right_init_stack right_branch >>? function + | Some after_right_branch -> + ok @@ f.apply after_right_branch continuation + | None -> ok continuation)) + >|? fun k -> + reconstruct + (f.apply left_init_stack left_branch) + (f.apply right_init_stack right_branch) + k + | Ex_split_halt kinfo -> ok @@ IHalt kinfo + | Ex_split_failwith {kinfo; location; arg_ty; _} -> + ok @@ IFailwith (kinfo, location, arg_ty) + +let log_entry logger ctxt gas k sty accu stack = + let kinfo = kinfo_of_kinstr k in + let ctxt = Local_gas_counter.update_context gas ctxt in + logger.log_entry k ctxt kinfo.iloc sty (accu, stack) + +let log_exit logger ctxt gas kinfo_prev k sty accu stack = + let _kinfo = kinfo_of_kinstr k in + let ctxt = Local_gas_counter.update_context gas ctxt in + logger.log_exit k ctxt kinfo_prev.iloc sty (accu, stack) + +let log_control logger ks = logger.log_control ks + +let get_log = function + | None -> Lwt.return (Ok None) + | Some logger -> logger.get_log () + [@@ocaml.inline always] + +(* [log_kinstr logger i] emits an instruction to instrument the + execution of [i] with [logger]. *) +let log_kinstr logger sty i = ILog (kinfo_of_kinstr i, sty, LogEntry, logger, i) + +(* [log_next_kinstr logger i] instruments the next instruction of [i] + with the [logger]. + + Notice that the instrumentation breaks the sharing of continuations + that is normally enforced between branches of conditionals. This + has a performance cost. Anyway, the instrumentation allocates many + new [ILog] instructions and [KLog] continuations which makes + the execution of instrumented code significantly slower than + non-instrumented code. "Zero-cost logging" means that the normal + non-instrumented execution is not impacted by the ability to + instrument it, not that the logging itself has no cost. +*) +let log_next_kinstr logger sty i = + let apply sty k = + ILog + ( kinfo_of_kinstr k, + sty, + LogExit (kinfo_of_kinstr i), + logger, + log_kinstr logger sty k ) + in + kinstr_rewritek sty i {apply} diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli new file mode 100644 index 000000000000..c19a1e349a6d --- /dev/null +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -0,0 +1,66 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Nomadic Labs *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +val get_log : + Script_typed_ir.logger option -> + (Script_typed_ir.execution_trace option, error trace) result Lwt.t + +val log_kinstr : + Script_typed_ir.logger -> + ('a, 'b) Script_typed_ir.stack_ty -> + ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> + ('a, 'b, 'c, 'd) Script_typed_ir.kinstr + +val log_entry : + Script_typed_ir.logger -> + Local_gas_counter.outdated_context -> + Local_gas_counter.local_gas_counter -> + ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> + ('a, 'b) Script_typed_ir.stack_ty -> + 'a -> + 'b -> + unit + +val log_exit : + Script_typed_ir.logger -> + Local_gas_counter.outdated_context -> + Local_gas_counter.local_gas_counter -> + ('a, 'b) Script_typed_ir.kinfo -> + ('c, 'd, 'e, 'f) Script_typed_ir.kinstr -> + ('g, 'h) Script_typed_ir.stack_ty -> + 'g -> + 'h -> + unit + +val log_next_kinstr : + Script_typed_ir.logger -> + ('a, 'b) Script_typed_ir.stack_ty -> + ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> + ('a, 'b, 'c, 'd) Script_typed_ir.kinstr tzresult + +val log_control : + Script_typed_ir.logger -> + ('a, 'b, 'c, 'd) Script_typed_ir.continuation -> + unit diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 72f3fee897e0..4ffd75223115 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -2161,1666 +2161,3 @@ let value_traverse (type t tc) (ty : (t, tc) ty) (x : t) init f = let stack_top_ty : type a b s. (a, b * s) stack_ty -> a ty_ex_c = function | Item_t (ty, _) -> Ty_ex_c ty - -type kinstr_rewritek = { - apply : - 'b 'u 'r 'f. - ('b, 'u) stack_ty -> ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; -} - -(* An existential wrapper around failed [kinstr], whose final stack type - is hidden as irrelevant. *) -type ('a, 's) failed_kinstr_cast = {cast : 'b 'u. ('a, 's, 'b, 'u) kinstr} - -(* This is a view on a deconstructed [kinstr]. It's type parameters refer to - the type of the viewed [kinstr], while existentials inside describe types of - [kinstr]'s components. The [reconstruct] field in each record stores a - function which reconstructs the original instruction from its components. *) -type ('a, 's, 'r, 'f) ex_split_kinstr = - | Ex_split_kinstr : { - cont_init_stack : ('b, 'u) stack_ty; - continuation : ('b, 'u, 'r, 'f) kinstr; - reconstruct : ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; - } - -> ('a, 's, 'r, 'f) ex_split_kinstr - | Ex_split_log : { - stack : ('a, 's) stack_ty; - continuation : ('a, 's, 'r, 'f) kinstr; - reconstruct : ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; - } - -> ('a, 's, 'r, 'f) ex_split_kinstr - | Ex_split_loop_may_fail : { - body_init_stack : ('b, 'u) stack_ty; - body : ('b, 'u, 'r, 'f) kinstr; - cont_init_stack : ('c, 'v) stack_ty; - continuation : ('c, 'v, 't, 'g) kinstr; - reconstruct : - ('b, 'u, 'r, 'f) kinstr -> - ('c, 'v, 't, 'g) kinstr -> - ('a, 's, 't, 'g) kinstr; - } - -> ('a, 's, 't, 'g) ex_split_kinstr - | Ex_split_loop_may_not_fail : { - body_init_stack : ('b, 'u) stack_ty; - body : ('b, 'u, 'r, 'f) kinstr; - continuation : ('c, 'v, 't, 'g) kinstr; - aft_body_stack_transform : - ('r, 'f) stack_ty -> ('c, 'v) stack_ty tzresult; - reconstruct : - ('b, 'u, 'r, 'f) kinstr -> - ('c, 'v, 't, 'g) kinstr -> - ('a, 's, 't, 'g) kinstr; - } - -> ('a, 's, 't, 'g) ex_split_kinstr - | Ex_split_if : { - left_init_stack : ('b, 'u) stack_ty; - left_branch : ('b, 'u, 'r, 'f) kinstr; - right_init_stack : ('c, 'v) stack_ty; - right_branch : ('c, 'v, 'r, 'f) kinstr; - continuation : ('r, 'f, 't, 'g) kinstr; - reconstruct : - ('b, 'u, 'r, 'f) kinstr -> - ('c, 'v, 'r, 'f) kinstr -> - ('r, 'f, 't, 'g) kinstr -> - ('a, 's, 't, 'g) kinstr; - } - -> ('a, 's, 't, 'g) ex_split_kinstr - | Ex_split_halt : ('a, 's) kinfo -> ('a, 's, 'a, 's) ex_split_kinstr - | Ex_split_failwith : { - kinfo : ('a, 's) kinfo; - location : Script.location; - arg_ty : ('a, _) ty; - cast : ('a, 's) failed_kinstr_cast; - } - -> ('a, 's, 'r, 'f) ex_split_kinstr - -let rec stack_prefix_preservation_witness_split_input : - type a s b t c u d v. - (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> - (a, s) stack_ty -> - (b, t) stack_ty = - fun w s -> - match (w, s) with - | KPrefix (_, _, w), Item_t (_, s) -> - stack_prefix_preservation_witness_split_input w s - | KRest, s -> s - -let rec stack_prefix_preservation_witness_split_output : - type a s b t c u d v. - (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> - (c, u) stack_ty -> - (d, v) stack_ty = - fun w s -> - match (w, s) with - | KPrefix (_, a, w), s -> - Item_t (a, stack_prefix_preservation_witness_split_output w s) - | KRest, s -> s - -let kinstr_split : - type a s r f. - (a, s) stack_ty -> - (a, s, r, f) kinstr -> - (a, s, r, f) ex_split_kinstr tzresult = - fun s i -> - let loc = Micheline.dummy_location in - match (i, s) with - | IDrop (kinfo, k), Item_t (_a, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDrop (kinfo, k)); - } - | IDup (kinfo, k), Item_t (a, s) -> - let s = Item_t (a, Item_t (a, s)) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDup (kinfo, k)); - } - | ISwap (kinfo, k), Item_t (a, Item_t (b, s)) -> - let s = Item_t (b, Item_t (a, s)) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISwap (kinfo, k)); - } - | IConst (kinfo, a, x, k), s -> - let s = Item_t (a, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IConst (kinfo, a, x, k)); - } - | ICons_pair (kinfo, k), Item_t (a, Item_t (b, s)) -> - pair_t loc a b >|? fun (Ty_ex_c c) -> - let s = Item_t (c, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICons_pair (kinfo, k)); - } - | ICar (kinfo, k), Item_t (Pair_t (a, _b, _meta, _), s) -> - let s = Item_t (a, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICar (kinfo, k)); - } - | ICdr (kinfo, k), Item_t (Pair_t (_a, b, _meta, _), s) -> - let s = Item_t (b, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICdr (kinfo, k)); - } - | IUnpair (kinfo, k), Item_t (Pair_t (a, b, _meta, _), s) -> - let s = Item_t (a, Item_t (b, s)) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IUnpair (kinfo, k)); - } - | ICons_some (kinfo, k), Item_t (a, s) -> - option_t loc a >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICons_some (kinfo, k)); - } - | ICons_none (kinfo, a, k), s -> - option_t loc a >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICons_none (kinfo, a, k)); - } - | ( IIf_none {kinfo; branch_if_none; branch_if_some; k}, - Item_t (Option_t (a, _meta, _), s) ) -> - ok - @@ Ex_split_if - { - left_init_stack = s; - left_branch = branch_if_none; - right_init_stack = Item_t (a, s); - right_branch = branch_if_some; - continuation = k; - reconstruct = - (fun branch_if_none branch_if_some k -> - IIf_none {kinfo; branch_if_none; branch_if_some; k}); - } - | IOpt_map {kinfo; body; k}, Item_t (Option_t (a, _meta, _), s) -> - ok - @@ Ex_split_loop_may_not_fail - { - body_init_stack = Item_t (a, s); - body; - continuation = k; - aft_body_stack_transform = - (function - | Item_t (b, s) -> option_t loc b >|? fun o -> Item_t (o, s)); - reconstruct = (fun body k -> IOpt_map {kinfo; body; k}); - } - | ICons_left (kinfo, b, k), Item_t (a, s) -> - union_t loc a b >|? fun (Ty_ex_c c) -> - let s = Item_t (c, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICons_left (kinfo, b, k)); - } - | ICons_right (kinfo, a, k), Item_t (b, s) -> - union_t loc a b >|? fun (Ty_ex_c c) -> - let s = Item_t (c, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICons_right (kinfo, a, k)); - } - | ( IIf_left {kinfo; branch_if_left; branch_if_right; k}, - Item_t (Union_t (a, b, _meta, _), s) ) -> - ok - @@ Ex_split_if - { - left_init_stack = Item_t (a, s); - left_branch = branch_if_left; - right_init_stack = Item_t (b, s); - right_branch = branch_if_right; - continuation = k; - reconstruct = - (fun branch_if_left branch_if_right k -> - IIf_left {kinfo; branch_if_left; branch_if_right; k}); - } - | ICons_list (kinfo, k), Item_t (_a, Item_t (l, s)) -> - let s = Item_t (l, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICons_list (kinfo, k)); - } - | INil (kinfo, a, k), s -> - list_t loc a >|? fun l -> - let s = Item_t (l, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INil (kinfo, a, k)); - } - | ( IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}, - Item_t ((List_t (a, _meta) as l), s) ) -> - ok - @@ Ex_split_if - { - left_init_stack = Item_t (a, Item_t (l, s)); - left_branch = branch_if_cons; - right_init_stack = s; - right_branch = branch_if_nil; - continuation = k; - reconstruct = - (fun branch_if_cons branch_if_nil k -> - IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}); - } - | IList_map (kinfo, body, k), Item_t (List_t (a, _meta), s) -> - let s = Item_t (a, s) in - ok - @@ Ex_split_loop_may_not_fail - { - body_init_stack = s; - body; - continuation = k; - aft_body_stack_transform = - (function - | Item_t (b, s) -> list_t loc b >|? fun l -> Item_t (l, s)); - reconstruct = (fun body k -> IList_map (kinfo, body, k)); - } - | IList_iter (kinfo, ty, body, k), Item_t (List_t (a, _meta), s) -> - ok - @@ Ex_split_loop_may_fail - { - body_init_stack = Item_t (a, s); - body; - cont_init_stack = s; - continuation = k; - reconstruct = (fun body k -> IList_iter (kinfo, ty, body, k)); - } - | IList_size (kinfo, k), Item_t (_l, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IList_size (kinfo, k)); - } - | IEmpty_set (kinfo, a, k), s -> - set_t loc a >|? fun b -> - let s = Item_t (b, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEmpty_set (kinfo, a, k)); - } - | ISet_iter (kinfo, a, body, k), Item_t (_b, s) -> - ok - @@ Ex_split_loop_may_fail - { - body_init_stack = Item_t (a, s); - body; - cont_init_stack = s; - continuation = k; - reconstruct = (fun body k -> ISet_iter (kinfo, a, body, k)); - } - | ISet_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISet_mem (kinfo, k)); - } - | ISet_update (kinfo, k), Item_t (_, Item_t (_, s)) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISet_update (kinfo, k)); - } - | ISet_size (kinfo, k), Item_t (_, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISet_size (kinfo, k)); - } - | IEmpty_map (kinfo, cty, vty, k), s -> - map_t loc cty vty >|? fun m -> - let s = Item_t (m, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEmpty_map (kinfo, cty, vty, k)); - } - | IMap_map (kinfo, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> - pair_t loc key_ty vty >|? fun (Ty_ex_c p) -> - Ex_split_loop_may_not_fail - { - body_init_stack = Item_t (p, s); - body; - continuation = k; - aft_body_stack_transform = - (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)); - reconstruct = (fun body k -> IMap_map (kinfo, key_ty, body, k)); - } - | IMap_iter (kinfo, pair_ty, body, k), Item_t (_, stack) -> - ok - @@ Ex_split_loop_may_fail - { - body_init_stack = Item_t (pair_ty, stack); - body; - cont_init_stack = stack; - continuation = k; - reconstruct = (fun body k -> IMap_iter (kinfo, pair_ty, body, k)); - } - | IMap_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMap_mem (kinfo, k)); - } - | IMap_get (kinfo, k), Item_t (_, Item_t (Map_t (_kty, vty, _meta), s)) -> - option_t loc vty >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMap_get (kinfo, k)); - } - | IMap_update (kinfo, k), Item_t (_, Item_t (_, s)) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMap_update (kinfo, k)); - } - | IMap_get_and_update (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMap_get_and_update (kinfo, k)); - } - | IMap_size (kinfo, k), Item_t (_, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMap_size (kinfo, k)); - } - | IEmpty_big_map (kinfo, cty, ty, k), s -> - big_map_t loc cty ty >|? fun b -> - let s = Item_t (b, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEmpty_big_map (kinfo, cty, ty, k)); - } - | IBig_map_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBig_map_mem (kinfo, k)); - } - | IBig_map_get (kinfo, k), Item_t (_, Item_t (Big_map_t (_kty, vty, _meta), s)) - -> - option_t loc vty >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBig_map_get (kinfo, k)); - } - | IBig_map_update (kinfo, k), Item_t (_, Item_t (_, s)) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBig_map_update (kinfo, k)); - } - | IBig_map_get_and_update (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBig_map_get_and_update (kinfo, k)); - } - | IConcat_string (kinfo, k), Item_t (_, s) -> - let s = Item_t (string_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IConcat_string (kinfo, k)); - } - | IConcat_string_pair (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IConcat_string_pair (kinfo, k)); - } - | ISlice_string (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> - let s = Item_t (option_string_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISlice_string (kinfo, k)); - } - | IString_size (kinfo, k), Item_t (_, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IString_size (kinfo, k)); - } - | IConcat_bytes (kinfo, k), Item_t (_, s) -> - let s = Item_t (bytes_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IConcat_bytes (kinfo, k)); - } - | IConcat_bytes_pair (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IConcat_bytes_pair (kinfo, k)); - } - | ISlice_bytes (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> - let s = Item_t (option_bytes_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISlice_bytes (kinfo, k)); - } - | IBytes_size (kinfo, k), Item_t (_, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBytes_size (kinfo, k)); - } - | IAdd_seconds_to_timestamp (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_seconds_to_timestamp (kinfo, k)); - } - | IAdd_timestamp_to_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (timestamp_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_timestamp_to_seconds (kinfo, k)); - } - | ISub_timestamp_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (timestamp_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISub_timestamp_seconds (kinfo, k)); - } - | IDiff_timestamps (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDiff_timestamps (kinfo, k)); - } - | IAdd_tez (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_tez (kinfo, k)); - } - | ISub_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (option_mutez_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISub_tez (kinfo, k)); - } - | ISub_tez_legacy (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISub_tez_legacy (kinfo, k)); - } - | IMul_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (mutez_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_teznat (kinfo, k)); - } - | IMul_nattez (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_nattez (kinfo, k)); - } - | IEdiv_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (option_pair_mutez_mutez_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEdiv_teznat (kinfo, k)); - } - | IEdiv_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (option_pair_nat_mutez_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEdiv_tez (kinfo, k)); - } - | IOr (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IOr (kinfo, k)); - } - | IAnd (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAnd (kinfo, k)); - } - | IXor (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IXor (kinfo, k)); - } - | INot (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INot (kinfo, k)); - } - | IIs_nat (kinfo, k), Item_t (_, s) -> - let s = Item_t (option_nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IIs_nat (kinfo, k)); - } - | INeg (kinfo, k), Item_t (_, s) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INeg (kinfo, k)); - } - | IAbs_int (kinfo, k), Item_t (_, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAbs_int (kinfo, k)); - } - | IInt_nat (kinfo, k), Item_t (_, s) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IInt_nat (kinfo, k)); - } - | IAdd_int (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_int (kinfo, k)); - } - | IAdd_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_nat (kinfo, k)); - } - | ISub_int (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISub_int (kinfo, k)); - } - | IMul_int (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_int (kinfo, k)); - } - | IMul_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_nat (kinfo, k)); - } - | IEdiv_int (kinfo, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (option_pair_int_nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEdiv_int (kinfo, k)); - } - | IEdiv_nat (kinfo, k), Item_t (_, Item_t (a, s)) -> - pair_t loc a nat_t >>? fun (Ty_ex_c p) -> - option_t loc p >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEdiv_nat (kinfo, k)); - } - | ILsl_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ILsl_nat (kinfo, k)); - } - | ILsr_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ILsr_nat (kinfo, k)); - } - | IOr_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IOr_nat (kinfo, k)); - } - | IAnd_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAnd_nat (kinfo, k)); - } - | IAnd_int_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAnd_int_nat (kinfo, k)); - } - | IXor_nat (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IXor_nat (kinfo, k)); - } - | INot_int (kinfo, k), Item_t (_, s) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INot_int (kinfo, k)); - } - | IIf {kinfo; branch_if_true; branch_if_false; k}, Item_t (_, s) -> - ok - @@ Ex_split_if - { - left_init_stack = s; - left_branch = branch_if_true; - right_init_stack = s; - right_branch = branch_if_false; - continuation = k; - reconstruct = - (fun branch_if_true branch_if_false k -> - IIf {kinfo; branch_if_true; branch_if_false; k}); - } - | ILoop (kinfo, body, k), Item_t (_, s) -> - ok - @@ Ex_split_loop_may_fail - { - body_init_stack = s; - body; - cont_init_stack = s; - continuation = k; - reconstruct = (fun body k -> ILoop (kinfo, body, k)); - } - | ILoop_left (kinfo, kl, kr), Item_t (Union_t (a, b, _meta, _), s) -> - ok - @@ Ex_split_loop_may_fail - { - body_init_stack = Item_t (a, s); - body = kl; - cont_init_stack = Item_t (b, s); - continuation = kr; - reconstruct = (fun kl kr -> ILoop_left (kinfo, kl, kr)); - } - | IDip (kinfo, body, k), Item_t (a, s) -> - ok - @@ Ex_split_loop_may_not_fail - { - body_init_stack = s; - body; - continuation = k; - aft_body_stack_transform = (fun s -> ok @@ Item_t (a, s)); - reconstruct = (fun body k -> IDip (kinfo, body, k)); - } - | IExec (kinfo, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> - let s = Item_t (b, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IExec (kinfo, k)); - } - | ( IApply (kinfo, ty, k), - Item_t (_, Item_t (Lambda_t (Pair_t (_, a, _, _), b, _), s)) ) -> - lambda_t loc a b >|? fun l -> - let s = Item_t (l, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IApply (kinfo, ty, k)); - } - | ILambda (kinfo, l, k), s -> - let (Lam (desc, _)) = l in - let (Item_t (a, Bot_t)) = desc.kbef in - let (Item_t (b, Bot_t)) = desc.kaft in - lambda_t loc a b >|? fun lam -> - let s = Item_t (lam, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ILambda (kinfo, l, k)); - } - | IFailwith (kinfo, location, arg_ty), _ -> - ok - @@ Ex_split_failwith - { - kinfo; - location; - arg_ty; - cast = {cast = IFailwith (kinfo, location, arg_ty)}; - } - | ICompare (kinfo, ty, k), Item_t (_, Item_t (_, s)) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICompare (kinfo, ty, k)); - } - | IEq (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IEq (kinfo, k)); - } - | INeq (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INeq (kinfo, k)); - } - | ILt (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ILt (kinfo, k)); - } - | IGt (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IGt (kinfo, k)); - } - | ILe (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ILe (kinfo, k)); - } - | IGe (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IGe (kinfo, k)); - } - | IAddress (kinfo, k), Item_t (_, s) -> - let s = Item_t (address_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAddress (kinfo, k)); - } - | IContract (kinfo, ty, code, k), Item_t (_, s) -> - contract_t loc ty >>? fun c -> - option_t loc c >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IContract (kinfo, ty, code, k)); - } - | ITransfer_tokens (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> - let s = Item_t (operation_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ITransfer_tokens (kinfo, k)); - } - | ( IView (kinfo, (View_signature {output_ty; _} as view_signature), k), - Item_t (_, Item_t (_, s)) ) -> - option_t loc output_ty >|? fun b -> - let s = Item_t (b, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IView (kinfo, view_signature, k)); - } - | IImplicit_account (kinfo, k), Item_t (_, s) -> - let s = Item_t (contract_unit_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IImplicit_account (kinfo, k)); - } - | ( ICreate_contract {kinfo; storage_type; code; k}, - Item_t (_, Item_t (_, Item_t (_, s))) ) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = Item_t (operation_t, Item_t (address_t, s)); - continuation = k; - reconstruct = - (fun k -> ICreate_contract {kinfo; storage_type; code; k}); - } - | ISet_delegate (kinfo, k), Item_t (_, s) -> - let s = Item_t (operation_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISet_delegate (kinfo, k)); - } - | INow (kinfo, k), s -> - let s = Item_t (timestamp_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INow (kinfo, k)); - } - | IBalance (kinfo, k), s -> - let s = Item_t (mutez_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBalance (kinfo, k)); - } - | ILevel (kinfo, k), s -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ILevel (kinfo, k)); - } - | ICheck_signature (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ICheck_signature (kinfo, k)); - } - | IHash_key (kinfo, k), Item_t (_, s) -> - let s = Item_t (key_hash_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IHash_key (kinfo, k)); - } - | IPack (kinfo, ty, k), Item_t (_, s) -> - let s = Item_t (bytes_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IPack (kinfo, ty, k)); - } - | IUnpack (kinfo, ty, k), Item_t (_, s) -> - option_t loc ty >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IUnpack (kinfo, ty, k)); - } - | IBlake2b (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IBlake2b (kinfo, k)); - } - | ISha256 (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISha256 (kinfo, k)); - } - | ISha512 (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISha512 (kinfo, k)); - } - | ISource (kinfo, k), s -> - let s = Item_t (address_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISource (kinfo, k)); - } - | ISender (kinfo, k), s -> - let s = Item_t (address_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISender (kinfo, k)); - } - | ISelf (kinfo, ty, ep, k), s -> - contract_t loc ty >|? fun c -> - let s = Item_t (c, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISelf (kinfo, ty, ep, k)); - } - | ISelf_address (kinfo, k), s -> - let s = Item_t (address_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISelf_address (kinfo, k)); - } - | IAmount (kinfo, k), s -> - let s = Item_t (mutez_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAmount (kinfo, k)); - } - | ISapling_empty_state (kinfo, memo_size, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = Item_t (sapling_state_t ~memo_size, s); - continuation = k; - reconstruct = (fun k -> ISapling_empty_state (kinfo, memo_size, k)); - } - | ( ISapling_verify_update_deprecated (kinfo, k), - Item_t (_, Item_t (state_ty, s)) ) -> - pair_t loc int_t state_ty >>? fun (Ty_ex_c pair_ty) -> - option_t loc pair_ty >|? fun ty -> - Ex_split_kinstr - { - cont_init_stack = Item_t (ty, s); - continuation = k; - reconstruct = (fun k -> ISapling_verify_update_deprecated (kinfo, k)); - } - | ISapling_verify_update (kinfo, k), Item_t (_, Item_t (state_ty, s)) -> - pair_t loc int_t state_ty >>? fun (Ty_ex_c int_state_ty) -> - pair_t loc bytes_t int_state_ty >>? fun (Ty_ex_c pair_ty) -> - option_t loc pair_ty >|? fun ty -> - let s = Item_t (ty, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISapling_verify_update (kinfo, k)); - } - | IDig (kinfo, n, p, k), s -> - let (Item_t (b, s)) = stack_prefix_preservation_witness_split_input p s in - let s = stack_prefix_preservation_witness_split_output p s in - let s = Item_t (b, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDig (kinfo, n, p, k)); - } - | IDug (kinfo, n, p, k), Item_t (a, s) -> - let s = stack_prefix_preservation_witness_split_input p s in - let s = Item_t (a, s) in - let s = stack_prefix_preservation_witness_split_output p s in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDug (kinfo, n, p, k)); - } - | IDipn (kinfo, n, p, k1, k2), s -> - ok - @@ Ex_split_loop_may_not_fail - { - body_init_stack = stack_prefix_preservation_witness_split_input p s; - body = k1; - continuation = k2; - aft_body_stack_transform = - (fun s -> - ok @@ stack_prefix_preservation_witness_split_output p s); - reconstruct = (fun k1 k2 -> IDipn (kinfo, n, p, k1, k2)); - } - | IDropn (kinfo, n, p, k), s -> - let s = stack_prefix_preservation_witness_split_input p s in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDropn (kinfo, n, p, k)); - } - | IChainId (kinfo, k), s -> - let s = Item_t (chain_id_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IChainId (kinfo, k)); - } - | INever kinfo, Item_t (arg_ty, _) -> - ok - @@ Ex_split_failwith - {kinfo; location = loc; arg_ty; cast = {cast = INever kinfo}} - | IVoting_power (kinfo, k), Item_t (_, s) -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IVoting_power (kinfo, k)); - } - | ITotal_voting_power (kinfo, k), s -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ITotal_voting_power (kinfo, k)); - } - | IKeccak (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IKeccak (kinfo, k)); - } - | ISha3 (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISha3 (kinfo, k)); - } - | IAdd_bls12_381_g1 (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_bls12_381_g1 (kinfo, k)); - } - | IAdd_bls12_381_g2 (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_bls12_381_g2 (kinfo, k)); - } - | IAdd_bls12_381_fr (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IAdd_bls12_381_fr (kinfo, k)); - } - | IMul_bls12_381_g1 (kinfo, k), Item_t (g1, Item_t (_, s)) -> - let s = Item_t (g1, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_bls12_381_g1 (kinfo, k)); - } - | IMul_bls12_381_g2 (kinfo, k), Item_t (g2, Item_t (_, s)) -> - let s = Item_t (g2, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_bls12_381_g2 (kinfo, k)); - } - | IMul_bls12_381_fr (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_bls12_381_fr (kinfo, k)); - } - | IMul_bls12_381_z_fr (kinfo, k), Item_t (fr, Item_t (_, s)) -> - let s = Item_t (fr, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_bls12_381_z_fr (kinfo, k)); - } - | IMul_bls12_381_fr_z (kinfo, k), Item_t (_, s) -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMul_bls12_381_fr_z (kinfo, k)); - } - | IInt_bls12_381_fr (kinfo, k), Item_t (_, s) -> - let s = Item_t (int_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IInt_bls12_381_fr (kinfo, k)); - } - | INeg_bls12_381_g1 (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INeg_bls12_381_g1 (kinfo, k)); - } - | INeg_bls12_381_g2 (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INeg_bls12_381_g2 (kinfo, k)); - } - | INeg_bls12_381_fr (kinfo, k), s -> - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> INeg_bls12_381_fr (kinfo, k)); - } - | IPairing_check_bls12_381 (kinfo, k), Item_t (_, s) -> - let s = Item_t (bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IPairing_check_bls12_381 (kinfo, k)); - } - | IComb (kinfo, n, p, k), s -> - let rec aux : - type a b s c d t. - (a, b * s) stack_ty -> - (a, b, s, c, d, t) comb_gadt_witness -> - (c, d * t) stack_ty tzresult = - fun s w -> - match (w, s) with - | Comb_one, s -> ok s - | Comb_succ w, Item_t (a, s) -> - aux s w >>? fun (Item_t (c, t)) -> - pair_t loc a c >|? fun (Ty_ex_c p) -> Item_t (p, t) - in - aux s p >|? fun s -> - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IComb (kinfo, n, p, k)); - } - | IUncomb (kinfo, n, p, k), s -> - let rec aux : - type a b s c d t. - (a, b * s) stack_ty -> - (a, b, s, c, d, t) uncomb_gadt_witness -> - (c, d * t) stack_ty = - fun s w -> - match (w, s) with - | Uncomb_one, s -> s - | Uncomb_succ w, Item_t (Pair_t (a, b, _meta, _), s) -> - let s = aux (Item_t (b, s)) w in - Item_t (a, s) - in - let s = aux s p in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IUncomb (kinfo, n, p, k)); - } - | IComb_get (kinfo, n, p, k), Item_t (c, s) -> - let rec aux : - type c cc a. (c, cc) ty -> (c, a) comb_get_gadt_witness -> a ty_ex_c = - fun c w -> - match (w, c) with - | Comb_get_zero, c -> Ty_ex_c c - | Comb_get_one, Pair_t (hd, _tl, _meta, _) -> Ty_ex_c hd - | Comb_get_plus_two w, Pair_t (_hd, tl, _meta, _) -> aux tl w - in - let s = - let (Ty_ex_c ty) = aux c p in - Item_t (ty, s) - in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IComb_get (kinfo, n, p, k)); - } - | IComb_set (kinfo, n, p, k), Item_t (a, Item_t (b, s)) -> - let rec aux : - type a b c ca cb. - (a, ca) ty -> - (b, cb) ty -> - (a, b, c) comb_set_gadt_witness -> - c ty_ex_c tzresult = - fun a b w -> - match (w, b) with - | Comb_set_zero, _ -> ok (Ty_ex_c a) - | Comb_set_one, Pair_t (_hd, tl, _meta, _) -> pair_t loc a tl - | Comb_set_plus_two w, Pair_t (hd, tl, _meta, _) -> - aux a tl w >>? fun (Ty_ex_c c) -> pair_t loc hd c - in - aux a b p >|? fun (Ty_ex_c c) -> - let s = Item_t (c, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IComb_set (kinfo, n, p, k)); - } - | IDup_n (kinfo, n, p, k), s -> - let rec aux : - type a b s t. - (a, b * s) stack_ty -> (a, b, s, t) dup_n_gadt_witness -> t ty_ex_c = - fun s w -> - match (w, s) with - | Dup_n_succ w, Item_t (_, s) -> aux s w - | Dup_n_zero, Item_t (a, _) -> Ty_ex_c a - in - let s = - let (Ty_ex_c ty) = aux s p in - Item_t (ty, s) - in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IDup_n (kinfo, n, p, k)); - } - | ITicket (kinfo, cty, k), Item_t (_, Item_t (_, s)) -> - ticket_t loc cty >|? fun t -> - let s = Item_t (t, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ITicket (kinfo, cty, k)); - } - | IRead_ticket (kinfo, a, k), s -> - pair_t loc a nat_t >>? fun (Ty_ex_c p) -> - pair_t loc address_t p >|? fun (Ty_ex_c t) -> - let s = Item_t (t, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IRead_ticket (kinfo, a, k)); - } - | ISplit_ticket (kinfo, k), Item_t (t, Item_t (_, s)) -> - pair_t loc t t >>? fun (Ty_ex_c p) -> - option_t loc p >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> ISplit_ticket (kinfo, k)); - } - | IJoin_tickets (kinfo, ty, k), Item_t (Pair_t (t, _t, _meta, _), s) -> - option_t loc t >|? fun o -> - let s = Item_t (o, s) in - Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IJoin_tickets (kinfo, ty, k)); - } - | IOpen_chest (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> - let s = Item_t (union_bytes_bool_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IOpen_chest (kinfo, k)); - } - | IMin_block_time (kinfo, k), s -> - let s = Item_t (nat_t, s) in - ok - @@ Ex_split_kinstr - { - cont_init_stack = s; - continuation = k; - reconstruct = (fun k -> IMin_block_time (kinfo, k)); - } - | IHalt kinfo, _s -> ok @@ Ex_split_halt kinfo - | ILog (kinfo, _stack_ty, event, logger, continuation), stack -> - ok - @@ Ex_split_log - { - stack; - continuation; - reconstruct = (fun k -> ILog (kinfo, s, event, logger, k)); - } - -let rec kinstr_final_stack_type : - type a s r f. - (a, s) stack_ty -> (a, s, r, f) kinstr -> (r, f) stack_ty option tzresult = - fun s i -> - kinstr_split s i >>? function - | Ex_split_kinstr {cont_init_stack; continuation; _} -> - kinstr_final_stack_type cont_init_stack continuation - | Ex_split_log {stack; continuation; _} -> - kinstr_final_stack_type stack continuation - | Ex_split_loop_may_fail {cont_init_stack; continuation; _} -> - kinstr_final_stack_type cont_init_stack continuation - | Ex_split_loop_may_not_fail - {body_init_stack; body; continuation; aft_body_stack_transform; _} -> ( - kinstr_final_stack_type body_init_stack body >>? function - | Some after_body -> - aft_body_stack_transform after_body >>? fun before_k -> - kinstr_final_stack_type before_k continuation - | None -> ok None) - | Ex_split_if - { - left_init_stack; - left_branch; - right_init_stack; - right_branch; - continuation; - _; - } -> ( - kinstr_final_stack_type left_init_stack left_branch >>? function - | Some after_branch_a -> - kinstr_final_stack_type after_branch_a continuation - | None -> ( - kinstr_final_stack_type right_init_stack right_branch >>? function - | Some after_branch_b -> - kinstr_final_stack_type after_branch_b continuation - | None -> ok None)) - | Ex_split_halt _ -> ok @@ Some s - | Ex_split_failwith {cast = {cast = _}; _} -> ok None - -let kinstr_rewritek : - type a s r f. - (a, s) stack_ty -> - (a, s, r, f) kinstr -> - kinstr_rewritek -> - (a, s, r, f) kinstr tzresult = - fun s i f -> - kinstr_split s i >>? function - | Ex_split_kinstr {cont_init_stack; continuation; reconstruct} -> - ok @@ reconstruct (f.apply cont_init_stack continuation) - | Ex_split_log {continuation; reconstruct; _} -> - ok @@ reconstruct continuation - | Ex_split_loop_may_fail - {body_init_stack; body; cont_init_stack; continuation; reconstruct} -> - ok - @@ reconstruct - (f.apply body_init_stack body) - (f.apply cont_init_stack continuation) - | Ex_split_loop_may_not_fail - { - body_init_stack; - body; - continuation; - aft_body_stack_transform; - reconstruct; - } -> - (kinstr_final_stack_type body_init_stack body >>? function - | Some after_body -> - aft_body_stack_transform after_body >|? fun before_k -> - f.apply before_k continuation - | None -> ok continuation) - >|? fun k -> reconstruct (f.apply body_init_stack body) k - | Ex_split_if - { - left_init_stack; - left_branch; - right_init_stack; - right_branch; - continuation; - reconstruct; - } -> - (kinstr_final_stack_type left_init_stack left_branch >>? function - | Some after_left_branch -> ok @@ f.apply after_left_branch continuation - | None -> ( - kinstr_final_stack_type right_init_stack right_branch >>? function - | Some after_right_branch -> - ok @@ f.apply after_right_branch continuation - | None -> ok continuation)) - >|? fun k -> - reconstruct - (f.apply left_init_stack left_branch) - (f.apply right_init_stack right_branch) - k - | Ex_split_halt kinfo -> ok @@ IHalt kinfo - | Ex_split_failwith {kinfo; location; arg_ty; _} -> - ok @@ IFailwith (kinfo, location, arg_ty) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index b383c3d3bca6..f222d05fc63d 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -1584,23 +1584,6 @@ val manager_kind : 'kind manager_operation -> 'kind Kind.manager val kinfo_of_kinstr : ('a, 's, 'b, 'f) kinstr -> ('a, 's) kinfo -type kinstr_rewritek = { - apply : - 'b 'u 'r 'f. - ('b, 'u) stack_ty -> ('b, 'u, 'r, 'f) kinstr -> ('b, 'u, 'r, 'f) kinstr; -} - -val kinstr_rewritek : - ('a, 's) stack_ty -> - ('a, 's, 'r, 'f) kinstr -> - kinstr_rewritek -> - ('a, 's, 'r, 'f) kinstr tzresult - -val kinstr_final_stack_type : - ('a, 's) stack_ty -> - ('a, 's, 'r, 'f) kinstr -> - ('r, 'f) stack_ty option tzresult - val ty_size : ('a, _) ty -> 'a Type_size.t val is_comparable : ('v, 'c) ty -> 'c dbool -- GitLab From e78e0a4dedda5ce83666f46e495151c0cbaa3c96 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 17 Mar 2022 12:20:54 +0100 Subject: [PATCH 07/42] Proto/Michelson: simplify arguments to IMap_iter instruction. --- src/proto_alpha/lib_protocol/script_interpreter_logging.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index 754c615cb571..d9149c069a70 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -406,15 +406,15 @@ let kinstr_split : (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)); reconstruct = (fun body k -> IMap_map (kinfo, key_ty, body, k)); } - | IMap_iter (kinfo, pair_ty, body, k), Item_t (_, stack) -> + | IMap_iter (kinfo, kvty, body, k), Item_t (_, stack) -> ok @@ Ex_split_loop_may_fail { - body_init_stack = Item_t (pair_ty, stack); + body_init_stack = Item_t (kvty, stack); body; cont_init_stack = stack; continuation = k; - reconstruct = (fun body k -> IMap_iter (kinfo, pair_ty, body, k)); + reconstruct = (fun body k -> IMap_iter (kinfo, kvty, body, k)); } | IMap_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in -- GitLab From 803f9b92026173de7efb4ca3683a0b3a7c5740b5 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 17 Mar 2022 11:40:39 +0100 Subject: [PATCH 08/42] Proto/Michelson/Translator: Simplify logic checking stack shapes. --- .../lib_protocol/script_ir_translator.ml | 183 ++++++++---------- 1 file changed, 79 insertions(+), 104 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 9a381cb5a618..dc6311608405 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -2933,6 +2933,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : script_instr stack_ty in + let bad_stack_error ctxt loc prim relevant_stack_portion = + let whole_stack = serialize_stack_for_error ctxt stack_ty in + error (Bad_stack (loc, prim, relevant_stack_portion, whole_stack)) + in match (script_instr, stack_ty) with (* stack ops *) | Prim (loc, I_DROP, [], annot), Item_t (_, rest) -> @@ -2976,44 +2980,35 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun ctxt -> let dup = {apply = (fun kinfo k -> IDup (kinfo, k))} in typed ctxt loc dup (Item_t (v, stack)) - | Prim (loc, I_DUP, [n], v_annot), stack_ty -> ( - let bad_stack_error () = - let whole_stack = serialize_stack_for_error ctxt stack_ty in - error (Bad_stack (loc, I_DUP, 1, whole_stack)) + | Prim (loc, I_DUP, [n], v_annot), (Item_t _ as stack_ty) -> + check_var_annot loc v_annot >>?= fun () -> + let rec make_proof_argument : + type a b s. + int -> (a, b * s) stack_ty -> (a, b, s) dup_n_proof_argument tzresult + = + fun n (stack_ty : (a, b * s) stack_ty) -> + match (n, stack_ty) with + | 1, Item_t (hd_ty, _) -> ok @@ Dup_n_proof_argument (Dup_n_zero, hd_ty) + | n, Item_t (_, (Item_t (_, _) as tl_ty)) -> + make_proof_argument (n - 1) tl_ty + >|? fun (Dup_n_proof_argument (dup_n_witness, b_ty)) -> + Dup_n_proof_argument (Dup_n_succ dup_n_witness, b_ty) + | _ -> bad_stack_error ctxt loc I_DUP 1 in - match stack_ty with - | Bot_t -> Lwt.return @@ bad_stack_error () - | Item_t _ as stack_ty -> - check_var_annot loc v_annot >>?= fun () -> - let rec make_proof_argument : - type a b s. - int -> - (a, b * s) stack_ty -> - (a, b, s) dup_n_proof_argument tzresult = - fun n (stack_ty : (a, b * s) stack_ty) -> - match (n, stack_ty) with - | 1, Item_t (hd_ty, _) -> - ok @@ Dup_n_proof_argument (Dup_n_zero, hd_ty) - | n, Item_t (_, (Item_t (_, _) as tl_ty)) -> - make_proof_argument (n - 1) tl_ty - >|? fun (Dup_n_proof_argument (dup_n_witness, b_ty)) -> - Dup_n_proof_argument (Dup_n_succ dup_n_witness, b_ty) - | _ -> bad_stack_error () - in - parse_uint10 n >>?= fun n -> - Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> - error_unless (Compare.Int.( > ) n 0) (Dup_n_bad_argument loc) - >>?= fun () -> - record_trace (Dup_n_bad_stack loc) (make_proof_argument n stack_ty) - >>?= fun (Dup_n_proof_argument (witness, after_ty)) -> - record_trace_eval - (fun () -> - let t = serialize_ty_for_error after_ty in - Non_dupable_type (loc, t)) - (check_dupable_ty ctxt loc after_ty) - >>?= fun ctxt -> - let dupn = {apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} in - typed ctxt loc dupn (Item_t (after_ty, stack_ty))) + parse_uint10 n >>?= fun n -> + Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> + error_unless (Compare.Int.( > ) n 0) (Dup_n_bad_argument loc) + >>?= fun () -> + record_trace (Dup_n_bad_stack loc) (make_proof_argument n stack_ty) + >>?= fun (Dup_n_proof_argument (witness, after_ty)) -> + record_trace_eval + (fun () -> + let t = serialize_ty_for_error after_ty in + Non_dupable_type (loc, t)) + (check_dupable_ty ctxt loc after_ty) + >>?= fun ctxt -> + let dupn = {apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} in + typed ctxt loc dupn (Item_t (after_ty, stack_ty)) | Prim (loc, I_DIG, [n], result_annot), stack -> let rec make_proof_argument : type a s. int -> (a, s) stack_ty -> (a, s) dig_proof_argument tzresult @@ -3159,75 +3154,55 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let stack_ty = Item_t (ty, rest) in let cons_pair = {apply = (fun kinfo k -> ICons_pair (kinfo, k))} in typed ctxt loc cons_pair stack_ty - | Prim (loc, I_PAIR, [n], annot), stack_ty -> ( - let bad_stack_error () = - let whole_stack = serialize_stack_for_error ctxt stack_ty in - error (Bad_stack (loc, I_PAIR, 1, whole_stack)) + | Prim (loc, I_PAIR, [n], annot), (Item_t _ as stack_ty) -> + check_var_annot loc annot >>?= fun () -> + let rec make_proof_argument : + type a b s. + int -> (a, b * s) stack_ty -> (a, b, s) comb_proof_argument tzresult = + fun n stack_ty -> + match (n, stack_ty) with + | 1, Item_t _ -> ok (Comb_proof_argument (Comb_one, stack_ty)) + | n, Item_t (a_ty, (Item_t _ as tl_ty)) -> + make_proof_argument (n - 1) tl_ty + >>? fun (Comb_proof_argument (comb_witness, Item_t (b_ty, tl_ty'))) + -> + pair_t loc a_ty b_ty >|? fun (Ty_ex_c pair_t) -> + Comb_proof_argument (Comb_succ comb_witness, Item_t (pair_t, tl_ty')) + | _ -> bad_stack_error ctxt loc I_PAIR 1 in - match stack_ty with - | Bot_t -> Lwt.return @@ bad_stack_error () - | Item_t _ -> - check_var_annot loc annot >>?= fun () -> - let rec make_proof_argument : - type a b s. - int -> - (a, b * s) stack_ty -> - (a, b, s) comb_proof_argument tzresult = - fun n stack_ty -> - match (n, stack_ty) with - | 1, Item_t _ -> ok (Comb_proof_argument (Comb_one, stack_ty)) - | n, Item_t (a_ty, (Item_t _ as tl_ty)) -> - make_proof_argument (n - 1) tl_ty - >>? fun (Comb_proof_argument - (comb_witness, Item_t (b_ty, tl_ty'))) -> - pair_t loc a_ty b_ty >|? fun (Ty_ex_c pair_t) -> - Comb_proof_argument - (Comb_succ comb_witness, Item_t (pair_t, tl_ty')) - | _ -> bad_stack_error () - in - parse_uint10 n >>?= fun n -> - Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> - error_unless (Compare.Int.( > ) n 1) (Pair_bad_argument loc) - >>?= fun () -> - make_proof_argument n stack_ty - >>?= fun (Comb_proof_argument (witness, after_ty)) -> - let comb = {apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in - typed ctxt loc comb after_ty) - | Prim (loc, I_UNPAIR, [n], annot), stack_ty -> ( - let bad_stack_error () = - let whole_stack = serialize_stack_for_error ctxt stack_ty in - error (Bad_stack (loc, I_UNPAIR, 1, whole_stack)) + parse_uint10 n >>?= fun n -> + Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> + error_unless (Compare.Int.( > ) n 1) (Pair_bad_argument loc) + >>?= fun () -> + make_proof_argument n stack_ty + >>?= fun (Comb_proof_argument (witness, after_ty)) -> + let comb = {apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in + typed ctxt loc comb after_ty + | Prim (loc, I_UNPAIR, [n], annot), (Item_t _ as stack_ty) -> + error_unexpected_annot loc annot >>?= fun () -> + let rec make_proof_argument : + type a b s. + int -> (a, b * s) stack_ty -> (a, b, s) uncomb_proof_argument tzresult + = + fun n stack_ty -> + match (n, stack_ty) with + | 1, (Item_t _ as stack) -> + ok @@ Uncomb_proof_argument (Uncomb_one, stack) + | n, Item_t (Pair_t (a_ty, b_ty, _, _), tl_ty) -> + make_proof_argument (n - 1) (Item_t (b_ty, tl_ty)) + >|? fun (Uncomb_proof_argument (uncomb_witness, after_ty)) -> + Uncomb_proof_argument + (Uncomb_succ uncomb_witness, Item_t (a_ty, after_ty)) + | _ -> bad_stack_error ctxt loc I_UNPAIR 1 in - match stack_ty with - | Bot_t -> Lwt.return @@ bad_stack_error () - | Item_t _ -> - error_unexpected_annot loc annot >>?= fun () -> - let rec make_proof_argument : - type a b s. - int -> - (a, b * s) stack_ty -> - (a, b, s) uncomb_proof_argument tzresult = - fun n stack_ty -> - match (n, stack_ty) with - | 1, (Item_t _ as stack) -> - ok @@ Uncomb_proof_argument (Uncomb_one, stack) - | n, Item_t (Pair_t (a_ty, b_ty, _, _), tl_ty) -> - make_proof_argument (n - 1) (Item_t (b_ty, tl_ty)) - >|? fun (Uncomb_proof_argument (uncomb_witness, after_ty)) -> - Uncomb_proof_argument - (Uncomb_succ uncomb_witness, Item_t (a_ty, after_ty)) - | _ -> bad_stack_error () - in - parse_uint10 n >>?= fun n -> - Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> - error_unless (Compare.Int.( > ) n 1) (Unpair_bad_argument loc) - >>?= fun () -> - make_proof_argument n stack_ty - >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> - let uncomb = - {apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} - in - typed ctxt loc uncomb after_ty) + parse_uint10 n >>?= fun n -> + Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> + error_unless (Compare.Int.( > ) n 1) (Unpair_bad_argument loc) + >>?= fun () -> + make_proof_argument n stack_ty + >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> + let uncomb = {apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} in + typed ctxt loc uncomb after_ty | Prim (loc, I_GET, [n], annot), Item_t (comb_ty, rest_ty) -> ( check_var_annot loc annot >>?= fun () -> parse_uint11 n >>?= fun n -> -- GitLab From 3a2665554c2655bec83be7ad10e445ed548dee43 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 17 Mar 2022 13:03:47 +0100 Subject: [PATCH 09/42] Proto/Michelson: Update kinfo size. --- .../lib_protocol/script_typed_ir_size.ml | 382 +++++++++--------- 1 file changed, 184 insertions(+), 198 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 207db31ebe6a..60abb0d355cd 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -198,7 +198,7 @@ let chest_key_size _ = let proof_size = 256 in h2w +? (unlocked_value_size + proof_size) -let kinfo_size {iloc = _} = h2w +let kinfo_size = !!0 (* The following mutually recursive functions are mostly tail-recursive and the only recursive call that is not a tailcall @@ -340,239 +340,225 @@ and kinstr_size : (a, s, r, f) kinstr -> nodes_and_size = fun ~count_lambda_nodes accu t -> - let base kinfo = h2w +! kinfo_size kinfo in + let base = h2w +! kinfo_size in let apply : type a s r f. nodes_and_size -> (a, s, r, f) kinstr -> nodes_and_size = fun accu t -> match t with - | IDrop (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IDup (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISwap (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IConst (kinfo, ty, x, _) -> - let accu = ret_succ_adding accu (base kinfo +! word_size) in + | IDrop (_, _) -> ret_succ_adding accu base + | IDup (_, _) -> ret_succ_adding accu base + | ISwap (_, _) -> ret_succ_adding accu base + | IConst (_, ty, x, _) -> + let accu = ret_succ_adding accu (base +! word_size) in (value_size [@ocaml.tailcall]) ~count_lambda_nodes (accu ++ ty_size ty) ty x - | ICons_pair (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICar (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICdr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IUnpair (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICons_some (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICons_none (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | IIf_none {kinfo; _} -> ret_succ_adding accu (base kinfo) - | IOpt_map {kinfo; _} -> ret_succ_adding accu (base kinfo) - | ICons_left (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | ICons_right (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | IIf_left {kinfo; _} -> ret_succ_adding accu (base kinfo) - | ICons_list (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INil (kinfo, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | IIf_cons {kinfo; _} -> ret_succ_adding accu (base kinfo) - | IList_map (kinfo, _, _) -> ret_succ_adding accu (base kinfo) - | IList_iter (kinfo, ty, _, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | IList_size (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEmpty_set (kinfo, cty, _) -> - ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) - | ISet_iter (kinfo, ty, _, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | ISet_mem (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISet_update (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISet_size (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEmpty_map (kinfo, cty, vty, _) -> - ret_succ_adding - (accu ++ ty_size cty ++ ty_size vty) - (base kinfo +! word_size) - | IMap_map (kinfo, ty, _, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo +! word_size) - | IMap_iter (kinfo, pty, _, _) -> - ret_succ_adding (accu ++ ty_size pty) (base kinfo +! word_size) - | IMap_mem (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMap_get (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMap_update (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMap_get_and_update (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMap_size (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEmpty_big_map (kinfo, cty, ty, _) -> + | ICons_pair (_, _) -> ret_succ_adding accu base + | ICar (_, _) -> ret_succ_adding accu base + | ICdr (_, _) -> ret_succ_adding accu base + | IUnpair (_, _) -> ret_succ_adding accu base + | ICons_some (_, _) -> ret_succ_adding accu base + | ICons_none (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | IIf_none _ -> ret_succ_adding accu base + | IOpt_map _ -> ret_succ_adding accu base + | ICons_left (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ICons_right (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | IIf_left _ -> ret_succ_adding accu base + | ICons_list (_, _) -> ret_succ_adding accu base + | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | IIf_cons _ -> ret_succ_adding accu base + | IList_map (_, _, _) -> ret_succ_adding accu base + | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) base + | IList_size (_, _) -> ret_succ_adding accu base + | IEmpty_set (_, cty, _) -> + ret_succ_adding (accu ++ ty_size cty) (base +! word_size) + | ISet_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ISet_mem (_, _) -> ret_succ_adding accu base + | ISet_update (_, _) -> ret_succ_adding accu base + | ISet_size (_, _) -> ret_succ_adding accu base + | IEmpty_map (_, cty, vty, _) -> + ret_succ_adding (accu ++ ty_size cty ++ ty_size vty) (base +! word_size) + | IMap_map (_, ty, _, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | IMap_iter (_, Pair_t (kty, pty, _, _), _, _) -> + ret_succ_adding (accu ++ ty_size kty ++ ty_size pty) (base +! word_size) + | IMap_mem (_, _) -> ret_succ_adding accu base + | IMap_get (_, _) -> ret_succ_adding accu base + | IMap_update (_, _) -> ret_succ_adding accu base + | IMap_get_and_update (_, _) -> ret_succ_adding accu base + | IMap_size (_, _) -> ret_succ_adding accu base + | IEmpty_big_map (_, cty, ty, _) -> ret_succ_adding (accu ++ ty_size cty ++ ty_size ty) - (base kinfo +! (word_size *? 2)) - | IBig_map_mem (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IBig_map_get (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IBig_map_update (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IBig_map_get_and_update (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IConcat_string (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IConcat_string_pair (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISlice_string (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IString_size (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IConcat_bytes (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IConcat_bytes_pair (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISlice_bytes (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IBytes_size (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_seconds_to_timestamp (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_timestamp_to_seconds (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISub_timestamp_seconds (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IDiff_timestamps (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_tez (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISub_tez (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISub_tez_legacy (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_teznat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_nattez (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEdiv_teznat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEdiv_tez (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IOr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAnd (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IXor (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INot (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IIs_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INeg (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAbs_int (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IInt_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_int (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISub_int (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_int (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEdiv_int (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IEdiv_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ILsl_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ILsr_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IOr_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAnd_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAnd_int_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IXor_nat (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INot_int (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IIf {kinfo; _} -> ret_succ_adding accu (base kinfo) - | ILoop (kinfo, _, _) -> ret_succ_adding accu (base kinfo) - | ILoop_left (kinfo, _, _) -> ret_succ_adding accu (base kinfo +! word_size) - | IDip (kinfo, _, _) -> ret_succ_adding accu (base kinfo +! word_size) - | IExec (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IApply (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo +! word_size) - | ILambda (kinfo, lambda, _) -> - let accu = ret_succ_adding accu (base kinfo +! word_size) in + (base +! (word_size *? 2)) + | IBig_map_mem (_, _) -> ret_succ_adding accu base + | IBig_map_get (_, _) -> ret_succ_adding accu base + | IBig_map_update (_, _) -> ret_succ_adding accu base + | IBig_map_get_and_update (_, _) -> ret_succ_adding accu base + | IConcat_string (_, _) -> ret_succ_adding accu base + | IConcat_string_pair (_, _) -> ret_succ_adding accu base + | ISlice_string (_, _) -> ret_succ_adding accu base + | IString_size (_, _) -> ret_succ_adding accu base + | IConcat_bytes (_, _) -> ret_succ_adding accu base + | IConcat_bytes_pair (_, _) -> ret_succ_adding accu base + | ISlice_bytes (_, _) -> ret_succ_adding accu base + | IBytes_size (_, _) -> ret_succ_adding accu base + | IAdd_seconds_to_timestamp (_, _) -> ret_succ_adding accu base + | IAdd_timestamp_to_seconds (_, _) -> ret_succ_adding accu base + | ISub_timestamp_seconds (_, _) -> ret_succ_adding accu base + | IDiff_timestamps (_, _) -> ret_succ_adding accu base + | IAdd_tez (_, _) -> ret_succ_adding accu base + | ISub_tez (_, _) -> ret_succ_adding accu base + | ISub_tez_legacy (_, _) -> ret_succ_adding accu base + | IMul_teznat (_, _) -> ret_succ_adding accu base + | IMul_nattez (_, _) -> ret_succ_adding accu base + | IEdiv_teznat (_, _) -> ret_succ_adding accu base + | IEdiv_tez (_, _) -> ret_succ_adding accu base + | IOr (_, _) -> ret_succ_adding accu base + | IAnd (_, _) -> ret_succ_adding accu base + | IXor (_, _) -> ret_succ_adding accu base + | INot (_, _) -> ret_succ_adding accu base + | IIs_nat (_, _) -> ret_succ_adding accu base + | INeg (_, _) -> ret_succ_adding accu base + | IAbs_int (_, _) -> ret_succ_adding accu base + | IInt_nat (_, _) -> ret_succ_adding accu base + | IAdd_int (_, _) -> ret_succ_adding accu base + | IAdd_nat (_, _) -> ret_succ_adding accu base + | ISub_int (_, _) -> ret_succ_adding accu base + | IMul_int (_, _) -> ret_succ_adding accu base + | IMul_nat (_, _) -> ret_succ_adding accu base + | IEdiv_int (_, _) -> ret_succ_adding accu base + | IEdiv_nat (_, _) -> ret_succ_adding accu base + | ILsl_nat (_, _) -> ret_succ_adding accu base + | ILsr_nat (_, _) -> ret_succ_adding accu base + | IOr_nat (_, _) -> ret_succ_adding accu base + | IAnd_nat (_, _) -> ret_succ_adding accu base + | IAnd_int_nat (_, _) -> ret_succ_adding accu base + | IXor_nat (_, _) -> ret_succ_adding accu base + | INot_int (_, _) -> ret_succ_adding accu base + | IIf _ -> ret_succ_adding accu base + | ILoop (_, _, _) -> ret_succ_adding accu base + | ILoop_left (_, _, _) -> ret_succ_adding accu (base +! word_size) + | IDip (_, _, _) -> ret_succ_adding accu (base +! word_size) + | IExec (_, _) -> ret_succ_adding accu base + | IApply (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | ILambda (_, lambda, _) -> + let accu = ret_succ_adding accu (base +! word_size) in (lambda_size [@ocaml.tailcall]) ~count_lambda_nodes accu lambda - | IFailwith (kinfo, _, ty) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo +! word_size) - | ICompare (kinfo, cty, _) -> - ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) - | IEq (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INeq (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ILt (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IGt (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ILe (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IGe (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAddress (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IContract (kinfo, ty, s, _) -> + | IFailwith (_, _, ty) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | ICompare (_, cty, _) -> + ret_succ_adding (accu ++ ty_size cty) (base +! word_size) + | IEq (_, _) -> ret_succ_adding accu base + | INeq (_, _) -> ret_succ_adding accu base + | ILt (_, _) -> ret_succ_adding accu base + | IGt (_, _) -> ret_succ_adding accu base + | ILe (_, _) -> ret_succ_adding accu base + | IGe (_, _) -> ret_succ_adding accu base + | IAddress (_, _) -> ret_succ_adding accu base + | IContract (_, ty, s, _) -> ret_succ_adding (accu ++ ty_size ty) - (base kinfo +! Entrypoint.in_memory_size s +! (word_size *? 2)) - | IView (kinfo, s, _) -> - ret_succ_adding (accu ++ view_signature_size s) (base kinfo +! word_size) - | ITransfer_tokens (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IImplicit_account (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICreate_contract {kinfo; storage_type; code; k = _} -> + (base +! Entrypoint.in_memory_size s +! (word_size *? 2)) + | IView (_, s, _) -> + ret_succ_adding (accu ++ view_signature_size s) (base +! word_size) + | ITransfer_tokens (_, _) -> ret_succ_adding accu base + | IImplicit_account (_, _) -> ret_succ_adding accu base + | ICreate_contract {loc = _; storage_type; code; k = _} -> ret_succ_adding (accu ++ ty_size storage_type ++ expr_size code) - (base kinfo +! (word_size *? 2)) - | ISet_delegate (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INow (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMin_block_time (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IBalance (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ILevel (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ICheck_signature (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IHash_key (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IPack (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo +! word_size) - | IUnpack (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo +! word_size) - | IBlake2b (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISha256 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISha512 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISource (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISender (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISelf (kinfo, ty, s, _) -> + (word_size *? 2) + | ISet_delegate (_, _) -> ret_succ_adding accu base + | INow (_, _) -> ret_succ_adding accu base + | IMin_block_time (_, _) -> ret_succ_adding accu base + | IBalance (_, _) -> ret_succ_adding accu base + | ILevel (_, _) -> ret_succ_adding accu base + | ICheck_signature (_, _) -> ret_succ_adding accu base + | IHash_key (_, _) -> ret_succ_adding accu base + | IPack (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | IUnpack (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | IBlake2b (_, _) -> ret_succ_adding accu base + | ISha256 (_, _) -> ret_succ_adding accu base + | ISha512 (_, _) -> ret_succ_adding accu base + | ISource (_, _) -> ret_succ_adding accu base + | ISender (_, _) -> ret_succ_adding accu base + | ISelf (_, ty, s, _) -> ret_succ_adding (accu ++ ty_size ty) - (base kinfo +! (word_size *? 2) +! Entrypoint.in_memory_size s) - | ISelf_address (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAmount (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISapling_empty_state (kinfo, _m, _) -> - ret_succ_adding accu (base kinfo +! word_size +! sapling_memo_size_size) - | ISapling_verify_update (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISapling_verify_update_deprecated (kinfo, _) -> - ret_succ_adding accu (base kinfo) - | IDig (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! Entrypoint.in_memory_size s) + | ISelf_address (_, _) -> ret_succ_adding accu base + | IAmount (_, _) -> ret_succ_adding accu base + | ISapling_empty_state (_, _m, _) -> + ret_succ_adding accu (base +! word_size +! sapling_memo_size_size) + | ISapling_verify_update (_, _) -> ret_succ_adding accu base + | ISapling_verify_update_deprecated (_, _) -> ret_succ_adding accu base + | IDig (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) - +! stack_prefix_preservation_witness_size n) - | IDug (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) + | IDug (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) - +! stack_prefix_preservation_witness_size n) - | IDipn (kinfo, n, _, _, _) -> + (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) + | IDipn (_, n, _, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) - +! stack_prefix_preservation_witness_size n) - | IDropn (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) + | IDropn (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) - +! stack_prefix_preservation_witness_size n) - | IChainId (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INever kinfo -> ret_succ_adding accu (kinfo_size kinfo) - | IVoting_power (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ITotal_voting_power (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IKeccak (kinfo, _) -> ret_succ_adding accu (base kinfo) - | ISha3 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_bls12_381_g1 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_bls12_381_g2 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IAdd_bls12_381_fr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_bls12_381_g1 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_bls12_381_g2 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_bls12_381_fr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_bls12_381_z_fr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IMul_bls12_381_fr_z (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IInt_bls12_381_fr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INeg_bls12_381_g1 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INeg_bls12_381_g2 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | INeg_bls12_381_fr (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IPairing_check_bls12_381 (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IComb (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) + | IChainId (_, _) -> ret_succ_adding accu base + | INever _ -> ret_succ_adding accu kinfo_size + | IVoting_power (_, _) -> ret_succ_adding accu base + | ITotal_voting_power (_, _) -> ret_succ_adding accu base + | IKeccak (_, _) -> ret_succ_adding accu base + | ISha3 (_, _) -> ret_succ_adding accu base + | IAdd_bls12_381_g1 (_, _) -> ret_succ_adding accu base + | IAdd_bls12_381_g2 (_, _) -> ret_succ_adding accu base + | IAdd_bls12_381_fr (_, _) -> ret_succ_adding accu base + | IMul_bls12_381_g1 (_, _) -> ret_succ_adding accu base + | IMul_bls12_381_g2 (_, _) -> ret_succ_adding accu base + | IMul_bls12_381_fr (_, _) -> ret_succ_adding accu base + | IMul_bls12_381_z_fr (_, _) -> ret_succ_adding accu base + | IMul_bls12_381_fr_z (_, _) -> ret_succ_adding accu base + | IInt_bls12_381_fr (_, _) -> ret_succ_adding accu base + | INeg_bls12_381_g1 (_, _) -> ret_succ_adding accu base + | INeg_bls12_381_g2 (_, _) -> ret_succ_adding accu base + | INeg_bls12_381_fr (_, _) -> ret_succ_adding accu base + | IPairing_check_bls12_381 (_, _) -> ret_succ_adding accu base + | IComb (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) +! comb_gadt_witness_size n) - | IUncomb (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! comb_gadt_witness_size n) + | IUncomb (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) +! uncomb_gadt_witness_size n) - | IComb_get (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! uncomb_gadt_witness_size n) + | IComb_get (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) +! comb_get_gadt_witness_size n) - | IComb_set (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! comb_get_gadt_witness_size n) + | IComb_set (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) +! comb_set_gadt_witness_size n) - | IDup_n (kinfo, n, _, _) -> + (base +! (word_size *? 2) +! comb_set_gadt_witness_size n) + | IDup_n (_, n, _, _) -> ret_succ_adding accu - (base kinfo +! (word_size *? 2) +! dup_n_gadt_witness_size n) - | ITicket (kinfo, cty, _) -> - ret_succ_adding (accu ++ ty_size cty) (base kinfo) - | IRead_ticket (kinfo, ty, _) -> - ret_succ_adding (accu ++ ty_size ty) (base kinfo) - | ISplit_ticket (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IJoin_tickets (kinfo, cty, _) -> - ret_succ_adding (accu ++ ty_size cty) (base kinfo +! word_size) - | IOpen_chest (kinfo, _) -> ret_succ_adding accu (base kinfo) - | IHalt kinfo -> ret_succ_adding accu (h1w +! kinfo_size kinfo) + (base +! (word_size *? 2) +! dup_n_gadt_witness_size n) + | ITicket (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) base + | IRead_ticket (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ISplit_ticket (_, _) -> ret_succ_adding accu base + | IJoin_tickets (_, cty, _) -> + ret_succ_adding (accu ++ ty_size cty) (base +! word_size) + | IOpen_chest (_, _) -> ret_succ_adding accu base + | IHalt _ -> ret_succ_adding accu (h1w +! kinfo_size) | ILog _ -> (* This instruction is ignored because it is only used for testing. *) accu -- GitLab From e04cea7cd1fa7c24c76df85a1f52118e08f8698b Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 17 Mar 2022 13:20:56 +0100 Subject: [PATCH 10/42] Proto/Michelson: Update modified instruction sizes. --- .../lib_protocol/script_typed_ir_size.ml | 45 +++++++++++-------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 60abb0d355cd..4c6c96f7b1c4 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -145,8 +145,7 @@ let peano_shape_proof = fun k -> scale *? k let stack_prefix_preservation_witness_size = - let kinfo_size = h2w in - let scale = header_size +! (h2w +! kinfo_size) in + let scale = h3w in fun k -> scale *? k let comb_gadt_witness_size = peano_shape_proof @@ -349,7 +348,7 @@ and kinstr_size : | IDup (_, _) -> ret_succ_adding accu base | ISwap (_, _) -> ret_succ_adding accu base | IConst (_, ty, x, _) -> - let accu = ret_succ_adding accu (base +! word_size) in + let accu = ret_succ_adding accu (base +! (word_size *? 2)) in (value_size [@ocaml.tailcall]) ~count_lambda_nodes (accu ++ ty_size ty) @@ -360,30 +359,37 @@ and kinstr_size : | ICdr (_, _) -> ret_succ_adding accu base | IUnpair (_, _) -> ret_succ_adding accu base | ICons_some (_, _) -> ret_succ_adding accu base - | ICons_none (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ICons_none (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_none _ -> ret_succ_adding accu base | IOpt_map _ -> ret_succ_adding accu base - | ICons_left (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base - | ICons_right (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ICons_left (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | ICons_right (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_left _ -> ret_succ_adding accu base | ICons_list (_, _) -> ret_succ_adding accu base - | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_cons _ -> ret_succ_adding accu base | IList_map (_, _, _) -> ret_succ_adding accu base - | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) base + | IList_iter (_, ty, _, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_size (_, _) -> ret_succ_adding accu base | IEmpty_set (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base +! word_size) - | ISet_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ISet_iter (_, ty, _, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | ISet_mem (_, _) -> ret_succ_adding accu base | ISet_update (_, _) -> ret_succ_adding accu base | ISet_size (_, _) -> ret_succ_adding accu base | IEmpty_map (_, cty, vty, _) -> - ret_succ_adding (accu ++ ty_size cty ++ ty_size vty) (base +! word_size) + ret_succ_adding + (accu ++ ty_size cty ++ ty_size vty) + (base +! (word_size *? 2)) | IMap_map (_, ty, _, _) -> - ret_succ_adding (accu ++ ty_size ty) (base +! word_size) - | IMap_iter (_, Pair_t (kty, pty, _, _), _, _) -> - ret_succ_adding (accu ++ ty_size kty ++ ty_size pty) (base +! word_size) + ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) + | IMap_iter (_, kvty, _, _) -> + ret_succ_adding (accu ++ ty_size kvty) (base +! (word_size *? 2)) | IMap_mem (_, _) -> ret_succ_adding accu base | IMap_get (_, _) -> ret_succ_adding accu base | IMap_update (_, _) -> ret_succ_adding accu base @@ -439,7 +445,7 @@ and kinstr_size : | IXor_nat (_, _) -> ret_succ_adding accu base | INot_int (_, _) -> ret_succ_adding accu base | IIf _ -> ret_succ_adding accu base - | ILoop (_, _, _) -> ret_succ_adding accu base + | ILoop (_, _, _) -> ret_succ_adding accu (base +! word_size) | ILoop_left (_, _, _) -> ret_succ_adding accu (base +! word_size) | IDip (_, _, _) -> ret_succ_adding accu (base +! word_size) | IExec (_, _) -> ret_succ_adding accu base @@ -448,8 +454,7 @@ and kinstr_size : | ILambda (_, lambda, _) -> let accu = ret_succ_adding accu (base +! word_size) in (lambda_size [@ocaml.tailcall]) ~count_lambda_nodes accu lambda - | IFailwith (_, _, ty) -> - ret_succ_adding (accu ++ ty_size ty) (base +! word_size) + | IFailwith (_, _, ty) -> ret_succ_adding (accu ++ ty_size ty) base | ICompare (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base +! word_size) | IEq (_, _) -> ret_succ_adding accu base @@ -514,7 +519,7 @@ and kinstr_size : accu (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) | IChainId (_, _) -> ret_succ_adding accu base - | INever _ -> ret_succ_adding accu kinfo_size + | INever _ -> ret_succ_adding accu h1w | IVoting_power (_, _) -> ret_succ_adding accu base | ITotal_voting_power (_, _) -> ret_succ_adding accu base | IKeccak (_, _) -> ret_succ_adding accu base @@ -552,8 +557,10 @@ and kinstr_size : ret_succ_adding accu (base +! (word_size *? 2) +! dup_n_gadt_witness_size n) - | ITicket (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) base - | IRead_ticket (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) base + | ITicket (_, cty, _) -> + ret_succ_adding (accu ++ ty_size cty) (base +! word_size) + | IRead_ticket (_, ty, _) -> + ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | ISplit_ticket (_, _) -> ret_succ_adding accu base | IJoin_tickets (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base +! word_size) -- GitLab From 1b3cd658aad8a8e4ccc013dfb63ffedc02e58429 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 17 Mar 2022 12:39:30 +0100 Subject: [PATCH 11/42] Proto/Michelson/IR GADT: unbox kinfo and failed_kinstr_cast. --- .../lib_protocol/script_typed_ir.ml | 38 +++++++++---------- .../lib_protocol/script_typed_ir.mli | 28 +++++++------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 4ffd75223115..8939bec09179 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -448,23 +448,7 @@ type 'arg entrypoints = { original_type_expr : Script.node; } -type ('arg, 'storage) script = - | Script : { - code : - (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; - arg_type : ('arg, _) ty; - storage : 'storage; - storage_type : ('storage, _) ty; - views : view_map; - entrypoints : 'arg entrypoints; - code_size : Cache_memory_helpers.sint; - (* This is an over-approximation of the value size in memory, in - bytes, of the contract's static part, that is its source - code. This includes the code of the contract as well as the code - of the views. The storage size is not taken into account by this - field as it has a dynamic size. *) - } - -> ('arg, 'storage) script +type ('a, 's) kinfo = {iloc : Script.location} [@@ocaml.unboxed] (* ---- Instructions --------------------------------------------------------*) and ('before_top, 'before, 'result_top, 'result) kinstr = @@ -1329,8 +1313,6 @@ and ('a, 's, 'r, 'f) kdescr = { kinstr : ('a, 's, 'r, 'f) kinstr; } -and ('a, 's) kinfo = {iloc : Script.location} - and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : ('y, 'u) kinfo @@ -1443,6 +1425,24 @@ and operation = { lazy_storage_diff : Lazy_storage.diffs option; } +type ('arg, 'storage) script = + | Script : { + code : + (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; + arg_type : ('arg, _) ty; + storage : 'storage; + storage_type : ('storage, _) ty; + views : view_map; + entrypoints : 'arg entrypoints; + code_size : Cache_memory_helpers.sint; + (* This is an over-approximation of the value size in memory, in + bytes, of the contract's static part, that is its source + code. This includes the code of the contract as well as the code + of the views. The storage size is not taken into account by this + field as it has a dynamic size. *) + } + -> ('arg, 'storage) script + type packed_manager_operation = | Manager : 'kind manager_operation -> packed_manager_operation [@@ocaml.unboxed] diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index f222d05fc63d..c24a30ee38cf 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -310,18 +310,7 @@ type 'arg entrypoints = { original_type_expr : Script.node; } -type ('arg, 'storage) script = - | Script : { - code : - (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; - arg_type : ('arg, _) ty; - storage : 'storage; - storage_type : ('storage, _) ty; - views : view_map; - entrypoints : 'arg entrypoints; - code_size : Cache_memory_helpers.sint; - } - -> ('arg, 'storage) script +type ('a, 's) kinfo = {iloc : Script.location} [@@ocaml.unboxed] (* ---- Instructions --------------------------------------------------------*) @@ -1423,8 +1412,6 @@ and ('a, 's, 'r, 'f) kdescr = { kinstr : ('a, 's, 'r, 'f) kinstr; } -and ('a, 's) kinfo = {iloc : Script.location} - (* Several instructions work under an arbitrary deep stack prefix @@ -1576,6 +1563,19 @@ and operation = { lazy_storage_diff : Lazy_storage.diffs option; } +type ('arg, 'storage) script = + | Script : { + code : + (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; + arg_type : ('arg, _) ty; + storage : 'storage; + storage_type : ('storage, _) ty; + views : view_map; + entrypoints : 'arg entrypoints; + code_size : Cache_memory_helpers.sint; + } + -> ('arg, 'storage) script + type packed_manager_operation = | Manager : 'kind manager_operation -> packed_manager_operation [@@ocaml.unboxed] -- GitLab From b495986181d645b64c1040f7760070630af13f1f Mon Sep 17 00:00:00 2001 From: Sventimir Date: Mon, 28 Mar 2022 13:59:47 +0200 Subject: [PATCH 12/42] Proto/Michelson/Translator: remove kinfo argument from cinstr. --- .../interpreter_benchmarks.ml | 6 +- .../lib_protocol/script_ir_translator.ml | 460 +++++++++--------- .../lib_protocol/script_ir_translator.mli | 2 +- 3 files changed, 219 insertions(+), 249 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index 3f6331ed37df..96560670f624 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -754,11 +754,7 @@ module Registration_section = struct >>=? fun (judgement, _) -> match judgement with | Script_ir_translator.Typed descr -> - let kinstr = - descr.instr.apply - (dummy_kinfo ()) - (IHalt (dummy_kinfo ())) - in + let kinstr = descr.instr.apply (IHalt (dummy_kinfo ())) in return (Ex_stack_and_kinstr {stack; kinstr; stack_type = descr.bef}) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index dc6311608405..5ec1ff765543 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -51,9 +51,9 @@ type ('ta, 'tb) eq = Eq : ('same, 'same) eq *) type ('a, 's, 'b, 'u) cinstr = { - apply : - 'r 'f. ('a, 's) kinfo -> ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; + apply : 'r 'f. ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; } +[@@ocaml.unboxed] (* @@ -72,12 +72,9 @@ type ('a, 's, 'b, 'u) descr = { let close_descr {loc; bef; aft; instr} = let kinfo = {iloc = loc} in - let kinfo' = {iloc = loc} in - let kinstr = instr.apply kinfo' (IHalt kinfo) in + let kinstr = instr.apply (IHalt kinfo) in {kloc = loc; kbef = bef; kaft = aft; kinstr} -let kinfo_of_descr {loc; _} = {iloc = loc} - let compose_descr : type a s b u c v. Script.location -> @@ -89,14 +86,7 @@ let compose_descr : loc; bef = d1.bef; aft = d2.aft; - instr = - { - apply = - (fun _ k -> - d1.instr.apply - (kinfo_of_descr d1) - (d2.instr.apply (kinfo_of_descr d2) k)); - }; + instr = {apply = (fun k -> d1.instr.apply (d2.instr.apply k))}; } type tc_context = Tc_context.t @@ -2941,7 +2931,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : (* stack ops *) | Prim (loc, I_DROP, [], annot), Item_t (_, rest) -> (error_unexpected_annot loc annot >>?= fun () -> - typed ctxt loc {apply = (fun kinfo k -> IDrop (kinfo, k))} rest + typed ctxt loc {apply = (fun k -> IDrop ({iloc = loc}, k))} rest : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_DROP, [n], result_annot), whole_stack -> parse_uint10 n >>?= fun whole_n -> @@ -2964,7 +2954,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument whole_n whole_stack >>?= fun (Dropn_proof_argument (n', stack_after_drops)) -> - let kdropn kinfo k = IDropn (kinfo, whole_n, n', k) in + let kdropn k = IDropn ({iloc = loc}, whole_n, n', k) in typed ctxt loc {apply = kdropn} stack_after_drops | Prim (loc, I_DROP, (_ :: _ :: _ as l), _), _ -> (* Technically, the arities 0 and 1 are allowed but the error only mentions 1. @@ -2978,7 +2968,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc v) >>?= fun ctxt -> - let dup = {apply = (fun kinfo k -> IDup (kinfo, k))} in + let dup = {apply = (fun k -> IDup ({iloc = loc}, k))} in typed ctxt loc dup (Item_t (v, stack)) | Prim (loc, I_DUP, [n], v_annot), (Item_t _ as stack_ty) -> check_var_annot loc v_annot >>?= fun () -> @@ -3007,7 +2997,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc after_ty) >>?= fun ctxt -> - let dupn = {apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} in + let dupn = {apply = (fun k -> IDup_n ({iloc = loc}, n, witness, k))} in typed ctxt loc dupn (Item_t (after_ty, stack_ty)) | Prim (loc, I_DIG, [n], result_annot), stack -> let rec make_proof_argument : @@ -3029,7 +3019,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n stack >>?= fun (Dig_proof_argument (n', x, aft)) -> - let dig = {apply = (fun kinfo k -> IDig (kinfo, n, n', k))} in + let dig = {apply = (fun k -> IDig ({iloc = loc}, n, n', k))} in typed ctxt loc dig (Item_t (x, aft)) | Prim (loc, I_DIG, (([] | _ :: _ :: _) as l), _), _ -> fail (Invalid_arity (loc, I_DIG, 1, List.length l)) @@ -3042,7 +3032,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let whole_stack = serialize_stack_for_error ctxt whole_stack in fail (Bad_stack (loc, I_DUG, whole_n, whole_stack)) | Some (Dug_proof_argument (n', aft)) -> - let dug = {apply = (fun kinfo k -> IDug (kinfo, whole_n, n', k))} in + let dug = {apply = (fun k -> IDug ({iloc = loc}, whole_n, n', k))} in typed ctxt loc dug aft) | Prim (loc, I_DUG, [_], result_annot), stack -> Lwt.return @@ -3053,7 +3043,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : fail (Invalid_arity (loc, I_DUG, 1, List.length l)) | Prim (loc, I_SWAP, [], annot), Item_t (v, Item_t (w, rest)) -> error_unexpected_annot loc annot >>?= fun () -> - let swap = {apply = (fun kinfo k -> ISwap (kinfo, k))} in + let swap = {apply = (fun k -> ISwap ({iloc = loc}, k))} in let stack_ty = Item_t (w, Item_t (v, rest)) in typed ctxt loc swap stack_ty | Prim (loc, I_PUSH, [t; d], annot), stack -> @@ -3069,22 +3059,22 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : t d >>=? fun (v, ctxt) -> - let const = {apply = (fun kinfo k -> IConst (kinfo, t, v, k))} in + let const = {apply = (fun k -> IConst ({iloc = loc}, t, v, k))} in typed ctxt loc const (Item_t (t, stack)) | Prim (loc, I_UNIT, [], annot), stack -> check_var_type_annot loc annot >>?= fun () -> - let const = {apply = (fun kinfo k -> IConst (kinfo, unit_t, (), k))} in + let const = {apply = (fun k -> IConst ({iloc = loc}, unit_t, (), k))} in typed ctxt loc const (Item_t (unit_t, stack)) (* options *) | Prim (loc, I_SOME, [], annot), Item_t (t, rest) -> check_var_type_annot loc annot >>?= fun () -> - let cons_some = {apply = (fun kinfo k -> ICons_some (kinfo, k))} in + let cons_some = {apply = (fun k -> ICons_some ({iloc = loc}, k))} in option_t loc t >>?= fun ty -> typed ctxt loc cons_some (Item_t (ty, rest)) | Prim (loc, I_NONE, [t], annot), stack -> parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy t >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let cons_none = {apply = (fun kinfo k -> ICons_none (kinfo, t, k))} in + let cons_none = {apply = (fun k -> ICons_none ({iloc = loc}, t, k))} in option_t loc t >>?= fun ty -> let stack_ty = Item_t (ty, stack) in typed ctxt loc cons_none stack_ty @@ -3113,9 +3103,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : option_t loc ret >>? fun opt_ty -> let final_stack = Item_t (opt_ty, rest) in let hinfo = {iloc = loc} in - let cinfo = kinfo_of_descr kibody in - let body = kibody.instr.apply cinfo (IHalt hinfo) in - let apply kinfo k = IOpt_map {kinfo; body; k} in + let body = kibody.instr.apply (IHalt hinfo) in + let apply k = IOpt_map {kinfo = {iloc = loc}; body; k} in typed_no_lwt ctxt loc {apply} final_stack ) | Typed {aft = Bot_t; _} -> let aft = serialize_stack_for_error ctxt Bot_t in @@ -3135,13 +3124,12 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let ifnone = { apply = - (fun kinfo k -> + (fun k -> let hinfo = kinfo_of_kinstr k in - let btinfo = kinfo_of_descr ibt - and bfinfo = kinfo_of_descr ibf in - let branch_if_none = ibt.instr.apply btinfo (IHalt hinfo) - and branch_if_some = ibf.instr.apply bfinfo (IHalt hinfo) in - IIf_none {kinfo; branch_if_none; branch_if_some; k}); + let branch_if_none = ibt.instr.apply (IHalt hinfo) + and branch_if_some = ibf.instr.apply (IHalt hinfo) in + IIf_none + {kinfo = {iloc = loc}; branch_if_none; branch_if_some; k}); } in {loc; instr = ifnone; bef; aft = ibt.aft} @@ -3152,7 +3140,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_constr_annot loc annot >>?= fun () -> pair_t loc a b >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in - let cons_pair = {apply = (fun kinfo k -> ICons_pair (kinfo, k))} in + let cons_pair = {apply = (fun k -> ICons_pair ({iloc = loc}, k))} in typed ctxt loc cons_pair stack_ty | Prim (loc, I_PAIR, [n], annot), (Item_t _ as stack_ty) -> check_var_annot loc annot >>?= fun () -> @@ -3176,7 +3164,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Comb_proof_argument (witness, after_ty)) -> - let comb = {apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in + let comb = {apply = (fun k -> IComb ({iloc = loc}, n, witness, k))} in typed ctxt loc comb after_ty | Prim (loc, I_UNPAIR, [n], annot), (Item_t _ as stack_ty) -> error_unexpected_annot loc annot >>?= fun () -> @@ -3201,7 +3189,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> - let uncomb = {apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} in + let uncomb = {apply = (fun k -> IUncomb ({iloc = loc}, n, witness, k))} in typed ctxt loc uncomb after_ty | Prim (loc, I_GET, [n], annot), Item_t (comb_ty, rest_ty) -> ( check_var_annot loc annot >>?= fun () -> @@ -3214,7 +3202,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | Some (Comb_get_proof_argument (witness, ty')) -> let after_stack_ty = Item_t (ty', rest_ty) in let comb_get = - {apply = (fun kinfo k -> IComb_get (kinfo, n, witness, k))} + {apply = (fun k -> IComb_get ({iloc = loc}, n, witness, k))} in typed ctxt loc comb_get after_stack_ty) | ( Prim (loc, I_UPDATE, [n], annot), @@ -3226,27 +3214,27 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (Comb_set_proof_argument (witness, after_ty)) -> let after_stack_ty = Item_t (after_ty, rest_ty) in let comb_set = - {apply = (fun kinfo k -> IComb_set (kinfo, n, witness, k))} + {apply = (fun k -> IComb_set ({iloc = loc}, n, witness, k))} in typed ctxt loc comb_set after_stack_ty | Prim (loc, I_UNPAIR, [], annot), Item_t (Pair_t (a, b, _, _), rest) -> check_unpair_annot loc annot >>?= fun () -> - let unpair = {apply = (fun kinfo k -> IUnpair (kinfo, k))} in + let unpair = {apply = (fun k -> IUnpair ({iloc = loc}, k))} in typed ctxt loc unpair (Item_t (a, Item_t (b, rest))) | Prim (loc, I_CAR, [], annot), Item_t (Pair_t (a, _, _, _), rest) -> check_destr_annot loc annot >>?= fun () -> - let car = {apply = (fun kinfo k -> ICar (kinfo, k))} in + let car = {apply = (fun k -> ICar ({iloc = loc}, k))} in typed ctxt loc car (Item_t (a, rest)) | Prim (loc, I_CDR, [], annot), Item_t (Pair_t (_, b, _, _), rest) -> check_destr_annot loc annot >>?= fun () -> - let cdr = {apply = (fun kinfo k -> ICdr (kinfo, k))} in + let cdr = {apply = (fun k -> ICdr ({iloc = loc}, k))} in typed ctxt loc cdr (Item_t (b, rest)) (* unions *) | Prim (loc, I_LEFT, [tr], annot), Item_t (tl, rest) -> parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tr >>?= fun (Ex_ty tr, ctxt) -> check_constr_annot loc annot >>?= fun () -> - let cons_left = {apply = (fun kinfo k -> ICons_left (kinfo, tr, k))} in + let cons_left = {apply = (fun k -> ICons_left ({iloc = loc}, tr, k))} in union_t loc tl tr >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in typed ctxt loc cons_left stack_ty @@ -3254,7 +3242,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tl >>?= fun (Ex_ty tl, ctxt) -> check_constr_annot loc annot >>?= fun () -> - let cons_right = {apply = (fun kinfo k -> ICons_right (kinfo, tl, k))} in + let cons_right = {apply = (fun k -> ICons_right ({iloc = loc}, tl, k))} in union_t loc tl tr >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in typed ctxt loc cons_right stack_ty @@ -3280,15 +3268,15 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : (Item_t (tr, rest)) >>=? fun (bfr, ctxt) -> let branch ibt ibf = - let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in let instr = { apply = - (fun kinfo k -> + (fun k -> let hinfo = kinfo_of_kinstr k in - let branch_if_left = ibt.instr.apply infobt (IHalt hinfo) - and branch_if_right = ibf.instr.apply infobf (IHalt hinfo) in - IIf_left {kinfo; branch_if_left; branch_if_right; k}); + let branch_if_left = ibt.instr.apply (IHalt hinfo) + and branch_if_right = ibf.instr.apply (IHalt hinfo) in + IIf_left + {kinfo = {iloc = loc}; branch_if_left; branch_if_right; k}); } in {loc; instr; bef; aft = ibt.aft} @@ -3299,13 +3287,13 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy t >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let nil = {apply = (fun kinfo k -> INil (kinfo, t, k))} in + let nil = {apply = (fun k -> INil ({iloc = loc}, t, k))} in list_t loc t >>?= fun ty -> typed ctxt loc nil (Item_t (ty, stack)) | ( Prim (loc, I_CONS, [], annot), Item_t (tv, (Item_t (List_t (t, _), _) as stack)) ) -> check_item_ty ctxt tv t loc I_CONS 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let cons_list = {apply = (fun kinfo k -> ICons_list (kinfo, k))} in + let cons_list = {apply = (fun k -> ICons_list ({iloc = loc}, k))} in (typed ctxt loc cons_list stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_IF_CONS, [bt; bf], annot), @@ -3324,15 +3312,15 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : non_terminal_recursion ?type_logger tc_context ctxt ~legacy bf rest >>=? fun (bfr, ctxt) -> let branch ibt ibf = - let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in let instr = { apply = - (fun kinfo k -> + (fun k -> let hinfo = kinfo_of_kinstr k in - let branch_if_cons = ibt.instr.apply infobt (IHalt hinfo) - and branch_if_nil = ibf.instr.apply infobf (IHalt hinfo) in - IIf_cons {kinfo; branch_if_nil; branch_if_cons; k}); + let branch_if_cons = ibt.instr.apply (IHalt hinfo) + and branch_if_nil = ibf.instr.apply (IHalt hinfo) in + IIf_cons + {kinfo = {iloc = loc}; branch_if_nil; branch_if_cons; k}); } in {loc; instr; bef; aft = ibt.aft} @@ -3340,7 +3328,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Lwt.return @@ merge_branches ctxt loc btr bfr {branch} | Prim (loc, I_SIZE, [], annot), Item_t (List_t _, rest) -> check_var_type_annot loc annot >>?= fun () -> - let list_size = {apply = (fun kinfo k -> IList_size (kinfo, k))} in + let list_size = {apply = (fun k -> IList_size ({iloc = loc}, k))} in typed ctxt loc list_size (Item_t (nat_t, rest)) | Prim (loc, I_MAP, [body], annot), Item_t (List_t (elt, _), starting_rest) -> ( @@ -3365,11 +3353,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : record_trace_eval invalid_map_body ( stack_eq loc ctxt 1 rest starting_rest >>? fun (Eq, ctxt) -> - let binfo = kinfo_of_descr kibody in let hinfo = {iloc = loc} in - let ibody = kibody.instr.apply binfo (IHalt hinfo) in + let ibody = kibody.instr.apply (IHalt hinfo) in let list_map = - {apply = (fun kinfo k -> IList_map (kinfo, ibody, k))} + {apply = (fun k -> IList_map ({iloc = loc}, ibody, k))} in list_t loc ret >>? fun ty -> let stack = Item_t (ty, rest) in @@ -3392,11 +3379,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let mk_list_iter ibody = { apply = - (fun kinfo k -> + (fun k -> let hinfo = {iloc = loc} in - let binfo = kinfo_of_descr ibody in - let ibody = ibody.instr.apply binfo (IHalt hinfo) in - IList_iter (kinfo, elt, ibody, k)); + let ibody = ibody.instr.apply (IHalt hinfo) in + IList_iter ({iloc = loc}, elt, ibody, k)); } in Lwt.return @@ -3420,7 +3406,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_comparable_ty ~stack_depth:(stack_depth + 1) ctxt t >>?= fun (Ex_comparable_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEmpty_set (kinfo, t, k))} in + let instr = {apply = (fun k -> IEmpty_set ({iloc = loc}, t, k))} in set_t loc t >>?= fun ty -> typed ctxt loc instr (Item_t (ty, rest)) | Prim (loc, I_ITER, [body], annot), Item_t (Set_t (elt, _), rest) -> ( check_kind [Seq_kind] body >>?= fun () -> @@ -3436,11 +3422,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let mk_iset_iter ibody = { apply = - (fun kinfo k -> + (fun k -> let hinfo = {iloc = loc} in - let binfo = kinfo_of_descr ibody in - let ibody = ibody.instr.apply binfo (IHalt hinfo) in - ISet_iter (kinfo, elt, ibody, k)); + let ibody = ibody.instr.apply (IHalt hinfo) in + ISet_iter ({iloc = loc}, elt, ibody, k)); } in Lwt.return @@ -3462,18 +3447,18 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | Prim (loc, I_MEM, [], annot), Item_t (v, Item_t (Set_t (elt, _), rest)) -> check_var_type_annot loc annot >>?= fun () -> check_item_ty ctxt elt v loc I_MEM 1 2 >>?= fun (Eq, ctxt) -> - let instr = {apply = (fun kinfo k -> ISet_mem (kinfo, k))} in + let instr = {apply = (fun k -> ISet_mem ({iloc = loc}, k))} in (typed ctxt loc instr (Item_t (bool_t, rest)) : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_UPDATE, [], annot), Item_t (v, Item_t (Bool_t, (Item_t (Set_t (elt, _), _) as stack))) ) -> check_item_ty ctxt elt v loc I_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISet_update (kinfo, k))} in + let instr = {apply = (fun k -> ISet_update ({iloc = loc}, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_SIZE, [], annot), Item_t (Set_t _, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISet_size (kinfo, k))} in + let instr = {apply = (fun k -> ISet_size ({iloc = loc}, k))} in typed ctxt loc instr (Item_t (nat_t, rest)) (* maps *) | Prim (loc, I_EMPTY_MAP, [tk; tv], annot), stack -> @@ -3482,7 +3467,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tv >>?= fun (Ex_ty tv, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEmpty_map (kinfo, tk, tv, k))} in + let instr = {apply = (fun k -> IEmpty_map ({iloc = loc}, tk, tv, k))} in map_t loc tk tv >>?= fun ty -> typed ctxt loc instr (Item_t (ty, stack)) | Prim (loc, I_MAP, [body], annot), Item_t (Map_t (kt, elt, _), starting_rest) -> ( @@ -3511,11 +3496,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> - let binfo = kinfo_of_descr ibody in + (fun k -> let hinfo = {iloc = loc} in - let ibody = ibody.instr.apply binfo (IHalt hinfo) in - IMap_map (kinfo, kt, ibody, k)); + let ibody = ibody.instr.apply (IHalt hinfo) in + IMap_map ({iloc = loc}, kt, ibody, k)); } in map_t loc kt ret >>? fun ty -> @@ -3541,11 +3525,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let make_instr ibody = { apply = - (fun kinfo k -> + (fun k -> let hinfo = {iloc = loc} in - let binfo = kinfo_of_descr ibody in - let ibody = ibody.instr.apply binfo (IHalt hinfo) in - IMap_iter (kinfo, ty, ibody, k)); + let ibody = ibody.instr.apply (IHalt hinfo) in + IMap_iter ({iloc = loc}, ty, ibody, k)); } in Lwt.return @@ -3566,14 +3549,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | Prim (loc, I_MEM, [], annot), Item_t (vk, Item_t (Map_t (k, _, _), rest)) -> check_item_ty ctxt vk k loc I_MEM 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMap_mem (kinfo, k))} in + let instr = {apply = (fun k -> IMap_mem ({iloc = loc}, k))} in (typed ctxt loc instr (Item_t (bool_t, rest)) : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Map_t (k, elt, _), rest)) -> check_item_ty ctxt vk k loc I_GET 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMap_get (kinfo, k))} in + let instr = {apply = (fun k -> IMap_get ({iloc = loc}, k))} in option_t loc elt >>?= fun ty : ((a, s) judgement * context) tzresult Lwt.t -> typed ctxt loc instr (Item_t (ty, rest)) @@ -3585,7 +3568,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt vk k loc I_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_item_ty ctxt vv v loc I_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMap_update (kinfo, k))} in + let instr = {apply = (fun k -> IMap_update ({iloc = loc}, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t @@ -3595,11 +3578,11 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt vk k loc I_GET_AND_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_item_ty ctxt vv v loc I_GET_AND_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMap_get_and_update (kinfo, k))} in + let instr = {apply = (fun k -> IMap_get_and_update ({iloc = loc}, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_SIZE, [], annot), Item_t (Map_t (_, _, _), rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMap_size (kinfo, k))} in + let instr = {apply = (fun k -> IMap_size ({iloc = loc}, k))} in typed ctxt loc instr (Item_t (nat_t, rest)) (* big_map *) | Prim (loc, I_EMPTY_BIG_MAP, [tk; tv], annot), stack -> @@ -3609,7 +3592,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (Ex_ty tv, ctxt) -> check_var_type_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> IEmpty_big_map (kinfo, tk, tv, k))} + {apply = (fun k -> IEmpty_big_map ({iloc = loc}, tk, tv, k))} in big_map_t loc tk tv >>?= fun ty -> let stack = Item_t (ty, stack) in @@ -3618,14 +3601,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Item_t (set_key, Item_t (Big_map_t (k, _, _), rest)) ) -> check_item_ty ctxt set_key k loc I_MEM 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IBig_map_mem (kinfo, k))} in + let instr = {apply = (fun k -> IBig_map_mem ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Big_map_t (k, elt, _), rest)) ) -> check_item_ty ctxt vk k loc I_GET 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IBig_map_get (kinfo, k))} in + let instr = {apply = (fun k -> IBig_map_get ({iloc = loc}, k))} in option_t loc elt >>?= fun ty -> let stack = Item_t (ty, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) @@ -3639,7 +3622,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt set_value map_value loc I_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IBig_map_update (kinfo, k))} in + let instr = {apply = (fun k -> IBig_map_update ({iloc = loc}, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t @@ -3650,7 +3633,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt vv v loc I_GET_AND_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> IBig_map_get_and_update (kinfo, k))} + {apply = (fun k -> IBig_map_get_and_update ({iloc = loc}, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) (* Sapling *) @@ -3658,7 +3641,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_memo_size memo_size >>?= fun memo_size -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> ISapling_empty_state (kinfo, memo_size, k))} + {apply = (fun k -> ISapling_empty_state ({iloc = loc}, memo_size, k))} in let stack = Item_t (sapling_state_t ~memo_size, rest) in typed ctxt loc instr stack @@ -3674,7 +3657,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun () -> let instr = { - apply = (fun kinfo k -> ISapling_verify_update_deprecated (kinfo, k)); + apply = + (fun k -> ISapling_verify_update_deprecated ({iloc = loc}, k)); } in pair_t loc int_t state_ty >>?= fun (Ty_ex_c pair_ty) -> @@ -3692,7 +3676,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : transaction_memo_size >>?= fun () -> let instr = - {apply = (fun kinfo k -> ISapling_verify_update (kinfo, k))} + {apply = (fun k -> ISapling_verify_update ({iloc = loc}, k))} in pair_t loc int_t state_ty >>?= fun (Ty_ex_c pair_ty) -> pair_t loc bytes_t pair_ty >>?= fun (Ty_ex_c pair_ty) -> @@ -3701,7 +3685,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : typed ctxt loc instr stack (* control *) | Seq (loc, []), stack -> - let instr = {apply = (fun _kinfo k -> k)} in + let instr = {apply = (fun k -> k)} in typed ctxt loc instr stack | Seq (_, [single]), stack -> non_terminal_recursion ?type_logger tc_context ctxt ~legacy single stack @@ -3736,15 +3720,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : non_terminal_recursion ?type_logger tc_context ctxt ~legacy bf rest >>=? fun (bfr, ctxt) -> let branch ibt ibf = - let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in let instr = { apply = - (fun kinfo k -> + (fun k -> let hinfo = kinfo_of_kinstr k in - let branch_if_true = ibt.instr.apply infobt (IHalt hinfo) - and branch_if_false = ibf.instr.apply infobf (IHalt hinfo) in - IIf {kinfo; branch_if_true; branch_if_false; k}); + let branch_if_true = ibt.instr.apply (IHalt hinfo) + and branch_if_false = ibf.instr.apply (IHalt hinfo) in + IIf {kinfo = {iloc = loc}; branch_if_true; branch_if_false; k}); } in {loc; instr; bef; aft = ibt.aft} @@ -3770,11 +3753,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> - let ibody = - ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) - in - ILoop (kinfo, ibody, k)); + (fun k -> + let ibody = ibody.instr.apply (IHalt {iloc = loc}) in + ILoop ({iloc = loc}, ibody, k)); } in typed_no_lwt ctxt loc instr rest ) @@ -3782,12 +3763,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> + (fun k -> let ibody = descr stack in - let ibody = - ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) - in - ILoop (kinfo, ibody, k)); + let ibody = ibody.instr.apply (IHalt {iloc = loc}) in + ILoop ({iloc = loc}, ibody, k)); } in typed_no_lwt ctxt loc instr rest) @@ -3818,11 +3797,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> - let ibody = - ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) - in - ILoop_left (kinfo, ibody, k)); + (fun k -> + let ibody = ibody.instr.apply (IHalt {iloc = loc}) in + ILoop_left ({iloc = loc}, ibody, k)); } in let stack = Item_t (tr, rest) in @@ -3831,12 +3808,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> + (fun k -> let ibody = descr stack in - let ibody = - ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) - in - ILoop_left (kinfo, ibody, k)); + let ibody = ibody.instr.apply (IHalt {iloc = loc}) in + ILoop_left ({iloc = loc}, ibody, k)); } in let stack = Item_t (tr, rest) in @@ -3858,7 +3833,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : ret code >>=? fun (lambda, ctxt) -> - let instr = {apply = (fun kinfo k -> ILambda (kinfo, lambda, k))} in + let instr = {apply = (fun k -> ILambda ({iloc = loc}, lambda, k))} in lambda_t loc arg ret >>?= fun ty -> let stack = Item_t (ty, stack) in typed ctxt loc instr stack @@ -3867,7 +3842,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt arg param loc I_EXEC 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> let stack = Item_t (ret, rest) in - let instr = {apply = (fun kinfo k -> IExec (kinfo, k))} in + let instr = {apply = (fun k -> IExec ({iloc = loc}, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_APPLY, [], annot), Item_t @@ -3878,7 +3853,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt capture capture_ty loc I_APPLY 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IApply (kinfo, capture_ty, k))} in + let instr = {apply = (fun k -> IApply ({iloc = loc}, capture_ty, k))} in lambda_t loc arg_ty ret (* This cannot fail because the type [lambda 'arg 'ret] is always smaller than the input type [lambda (pair 'arg 'capture) 'ret]. In an ideal world, there @@ -3897,11 +3872,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> - let binfo = {iloc = descr.loc} in + (fun k -> let kinfoh = {iloc = descr.loc} in - let b = descr.instr.apply binfo (IHalt kinfoh) in - IDip (kinfo, b, k)); + let b = descr.instr.apply (IHalt kinfoh) in + IDip ({iloc = loc}, b, k)); } in let stack = Item_t (v, descr.aft) in @@ -3946,10 +3920,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n stack >>=? fun (Dipn_proof_argument (n', ctxt, descr, aft)) -> - let kinfo = {iloc = descr.loc} in let kinfoh = {iloc = descr.loc} in - let b = descr.instr.apply kinfo (IHalt kinfoh) in - let res = {apply = (fun kinfo k -> IDipn (kinfo, n, n', b, k))} in + let b = descr.instr.apply (IHalt kinfoh) in + let res = {apply = (fun k -> IDipn ({iloc = loc}, n, n', b, k))} in typed ctxt loc res aft | Prim (loc, I_DIP, (([] | _ :: _ :: _ :: _) as l), _), _ -> (* Technically, the arities 1 and 2 are allowed but the error only mentions 2. @@ -3961,14 +3934,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : (if legacy then Result.return_unit else check_packable ~legacy:false loc v) >|? fun () -> - let instr = {apply = (fun kinfo _k -> IFailwith (kinfo, loc, v))} in + let instr = {apply = (fun _k -> IFailwith ({iloc = loc}, loc, v))} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack loc stack_ty Bot_t ; (Failed {descr}, ctxt) ) | Prim (loc, I_NEVER, [], annot), Item_t (Never_t, _rest) -> Lwt.return ( error_unexpected_annot loc annot >|? fun () -> - let instr = {apply = (fun kinfo _k -> INever kinfo)} in + let instr = {apply = (fun _k -> INever {iloc = loc})} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack loc stack_ty Bot_t ; (Failed {descr}, ctxt) ) @@ -3976,274 +3949,274 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | Prim (loc, I_ADD, [], annot), Item_t (Timestamp_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> IAdd_timestamp_to_seconds (kinfo, k))} + {apply = (fun k -> IAdd_timestamp_to_seconds ({iloc = loc}, k))} in typed ctxt loc instr (Item_t (Timestamp_t, rest)) | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t, (Item_t (Timestamp_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> IAdd_seconds_to_timestamp (kinfo, k))} + {apply = (fun k -> IAdd_seconds_to_timestamp ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> ISub_timestamp_seconds (kinfo, k))} + {apply = (fun k -> ISub_timestamp_seconds ({iloc = loc}, k))} in let stack = Item_t (Timestamp_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t, Item_t (Timestamp_t, rest)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IDiff_timestamps (kinfo, k))} in + let instr = {apply = (fun k -> IDiff_timestamps ({iloc = loc}, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack (* string operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (String_t, (Item_t (String_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IConcat_string_pair (kinfo, k))} in + let instr = {apply = (fun k -> IConcat_string_pair ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_CONCAT, [], annot), Item_t (List_t (String_t, _), rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IConcat_string (kinfo, k))} in + let instr = {apply = (fun k -> IConcat_string ({iloc = loc}, k))} in typed ctxt loc instr (Item_t (String_t, rest)) | ( Prim (loc, I_SLICE, [], annot), Item_t (Nat_t, Item_t (Nat_t, Item_t (String_t, rest))) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISlice_string (kinfo, k))} in + let instr = {apply = (fun k -> ISlice_string ({iloc = loc}, k))} in let stack = Item_t (option_string_t, rest) in typed ctxt loc instr stack | Prim (loc, I_SIZE, [], annot), Item_t (String_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IString_size (kinfo, k))} in + let instr = {apply = (fun k -> IString_size ({iloc = loc}, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack (* bytes operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (Bytes_t, (Item_t (Bytes_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IConcat_bytes_pair (kinfo, k))} in + let instr = {apply = (fun k -> IConcat_bytes_pair ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_CONCAT, [], annot), Item_t (List_t (Bytes_t, _), rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IConcat_bytes (kinfo, k))} in + let instr = {apply = (fun k -> IConcat_bytes ({iloc = loc}, k))} in let stack = Item_t (Bytes_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_SLICE, [], annot), Item_t (Nat_t, Item_t (Nat_t, Item_t (Bytes_t, rest))) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISlice_bytes (kinfo, k))} in + let instr = {apply = (fun k -> ISlice_bytes ({iloc = loc}, k))} in let stack = Item_t (option_bytes_t, rest) in typed ctxt loc instr stack | Prim (loc, I_SIZE, [], annot), Item_t (Bytes_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IBytes_size (kinfo, k))} in + let instr = {apply = (fun k -> IBytes_size ({iloc = loc}, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack (* currency operations *) | ( Prim (loc, I_ADD, [], annot), Item_t (Mutez_t, (Item_t (Mutez_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_tez (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_tez ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Mutez_t, (Item_t (Mutez_t, _) as stack)) ) -> if legacy then check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISub_tez_legacy (kinfo, k))} in + let instr = {apply = (fun k -> ISub_tez_legacy ({iloc = loc}, k))} in typed ctxt loc instr stack else fail (Deprecated_instruction I_SUB) | Prim (loc, I_SUB_MUTEZ, [], annot), Item_t (Mutez_t, Item_t (Mutez_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISub_tez (kinfo, k))} in + let instr = {apply = (fun k -> ISub_tez ({iloc = loc}, k))} in let stack = Item_t (option_mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Mutez_t, Item_t (Nat_t, rest)) -> (* no type name check *) check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_teznat (kinfo, k))} in + let instr = {apply = (fun k -> IMul_teznat ({iloc = loc}, k))} in let stack = Item_t (Mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Mutez_t, _) as stack)) -> (* no type name check *) check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_nattez (kinfo, k))} in + let instr = {apply = (fun k -> IMul_nattez ({iloc = loc}, k))} in typed ctxt loc instr stack (* boolean operations *) | Prim (loc, I_OR, [], annot), Item_t (Bool_t, (Item_t (Bool_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IOr (kinfo, k))} in + let instr = {apply = (fun k -> IOr ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_AND, [], annot), Item_t (Bool_t, (Item_t (Bool_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAnd (kinfo, k))} in + let instr = {apply = (fun k -> IAnd ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_XOR, [], annot), Item_t (Bool_t, (Item_t (Bool_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IXor (kinfo, k))} in + let instr = {apply = (fun k -> IXor ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_NOT, [], annot), (Item_t (Bool_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INot (kinfo, k))} in + let instr = {apply = (fun k -> INot ({iloc = loc}, k))} in typed ctxt loc instr stack (* integer operations *) | Prim (loc, I_ABS, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAbs_int (kinfo, k))} in + let instr = {apply = (fun k -> IAbs_int ({iloc = loc}, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_ISNAT, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IIs_nat (kinfo, k))} in + let instr = {apply = (fun k -> IIs_nat ({iloc = loc}, k))} in let stack = Item_t (option_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_INT, [], annot), Item_t (Nat_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IInt_nat (kinfo, k))} in + let instr = {apply = (fun k -> IInt_nat ({iloc = loc}, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Int_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INeg (kinfo, k))} in + let instr = {apply = (fun k -> INeg ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), Item_t (Nat_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INeg (kinfo, k))} in + let instr = {apply = (fun k -> INeg ({iloc = loc}, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Int_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_int (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_int ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_int (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_int ({iloc = loc}, k))} in let stack = Item_t (Int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Nat_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_int (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_int ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_nat (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Int_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in let stack = Item_t (Int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Nat_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Nat_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Int_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_int (kinfo, k))} in + let instr = {apply = (fun k -> IMul_int ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_int (kinfo, k))} in + let instr = {apply = (fun k -> IMul_int ({iloc = loc}, k))} in let stack = Item_t (Int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_nat (kinfo, k))} in + let instr = {apply = (fun k -> IMul_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_nat (kinfo, k))} in + let instr = {apply = (fun k -> IMul_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEdiv_teznat (kinfo, k))} in + let instr = {apply = (fun k -> IEdiv_teznat ({iloc = loc}, k))} in let stack = Item_t (option_pair_mutez_mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t, Item_t (Mutez_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEdiv_tez (kinfo, k))} in + let instr = {apply = (fun k -> IEdiv_tez ({iloc = loc}, k))} in let stack = Item_t (option_pair_nat_mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Int_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEdiv_int (kinfo, k))} in + let instr = {apply = (fun k -> IEdiv_int ({iloc = loc}, k))} in let stack = Item_t (option_pair_int_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEdiv_int (kinfo, k))} in + let instr = {apply = (fun k -> IEdiv_int ({iloc = loc}, k))} in let stack = Item_t (option_pair_int_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Nat_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEdiv_nat (kinfo, k))} in + let instr = {apply = (fun k -> IEdiv_nat ({iloc = loc}, k))} in let stack = Item_t (option_pair_int_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Nat_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEdiv_nat (kinfo, k))} in + let instr = {apply = (fun k -> IEdiv_nat ({iloc = loc}, k))} in let stack = Item_t (option_pair_nat_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_LSL, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ILsl_nat (kinfo, k))} in + let instr = {apply = (fun k -> ILsl_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_LSR, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ILsr_nat (kinfo, k))} in + let instr = {apply = (fun k -> ILsr_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_OR, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IOr_nat (kinfo, k))} in + let instr = {apply = (fun k -> IOr_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_AND, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAnd_nat (kinfo, k))} in + let instr = {apply = (fun k -> IAnd_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_AND, [], annot), Item_t (Int_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAnd_int_nat (kinfo, k))} in + let instr = {apply = (fun k -> IAnd_int_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_XOR, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IXor_nat (kinfo, k))} in + let instr = {apply = (fun k -> IXor_nat ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_NOT, [], annot), (Item_t (Int_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INot_int (kinfo, k))} in + let instr = {apply = (fun k -> INot_int ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_NOT, [], annot), Item_t (Nat_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INot_int (kinfo, k))} in + let instr = {apply = (fun k -> INot_int ({iloc = loc}, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack (* comparison *) @@ -4251,38 +4224,38 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> check_item_ty ctxt t1 t2 loc I_COMPARE 1 2 >>?= fun (Eq, ctxt) -> check_comparable loc t1 >>?= fun Eq -> - let instr = {apply = (fun kinfo k -> ICompare (kinfo, t1, k))} in + let instr = {apply = (fun k -> ICompare ({iloc = loc}, t1, k))} in let stack = Item_t (int_t, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) (* comparators *) | Prim (loc, I_EQ, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IEq (kinfo, k))} in + let instr = {apply = (fun k -> IEq ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_NEQ, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INeq (kinfo, k))} in + let instr = {apply = (fun k -> INeq ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_LT, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ILt (kinfo, k))} in + let instr = {apply = (fun k -> ILt ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_GT, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IGt (kinfo, k))} in + let instr = {apply = (fun k -> IGt ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_LE, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ILe (kinfo, k))} in + let instr = {apply = (fun k -> ILe ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_GE, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IGe (kinfo, k))} in + let instr = {apply = (fun k -> IGe ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack (* annotations *) @@ -4294,12 +4267,12 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (eq, ctxt) -> eq >>?= fun Eq -> (* We can reuse [stack] because [a ty = b ty] means [a = b]. *) - let instr = {apply = (fun _ k -> k)} in + let instr = {apply = (fun k -> k)} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_RENAME, [], annot), (Item_t _ as stack) -> check_var_annot loc annot >>?= fun () -> (* can erase annot *) - let instr = {apply = (fun _ k -> k)} in + let instr = {apply = (fun k -> k)} in typed ctxt loc instr stack (* packing *) | Prim (loc, I_PACK, [], annot), Item_t (t, rest) -> @@ -4309,7 +4282,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : t >>?= fun () -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IPack (kinfo, t, k))} in + let instr = {apply = (fun k -> IPack ({iloc = loc}, t, k))} in let stack = Item_t (bytes_t, rest) in typed ctxt loc instr stack | Prim (loc, I_UNPACK, [ty], annot), Item_t (Bytes_t, rest) -> @@ -4317,13 +4290,13 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> option_t loc t >>?= fun res_ty -> - let instr = {apply = (fun kinfo k -> IUnpack (kinfo, t, k))} in + let instr = {apply = (fun k -> IUnpack ({iloc = loc}, t, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack (* protocol *) | Prim (loc, I_ADDRESS, [], annot), Item_t (Contract_t _, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAddress (kinfo, k))} in + let instr = {apply = (fun k -> IAddress ({iloc = loc}, k))} in let stack = Item_t (address_t, rest) in typed ctxt loc instr stack | Prim (loc, I_CONTRACT, [ty], annot), Item_t (Address_t, rest) -> @@ -4333,7 +4306,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : option_t loc contract_ty >>?= fun res_ty -> parse_entrypoint_annot_strict loc annot >>?= fun entrypoint -> let instr = - {apply = (fun kinfo k -> IContract (kinfo, t, entrypoint, k))} + {apply = (fun k -> IContract ({iloc = loc}, t, entrypoint, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack @@ -4348,8 +4321,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> - IView (kinfo, View_signature {name; input_ty; output_ty}, k)); + (fun k -> + IView ({iloc = loc}, View_signature {name; input_ty; output_ty}, k)); } in let stack = Item_t (res_ty, rest) in @@ -4359,21 +4332,21 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Tc_context.check_not_in_view loc ~legacy tc_context prim >>?= fun () -> check_item_ty ctxt p cp loc prim 1 4 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ITransfer_tokens (kinfo, k))} in + let instr = {apply = (fun k -> ITransfer_tokens ({iloc = loc}, k))} in let stack = Item_t (operation_t, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, (I_SET_DELEGATE as prim), [], annot), Item_t (Option_t (Key_hash_t, _, _), rest) ) -> Tc_context.check_not_in_view loc ~legacy tc_context prim >>?= fun () -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISet_delegate (kinfo, k))} in + let instr = {apply = (fun k -> ISet_delegate ({iloc = loc}, k))} in let stack = Item_t (operation_t, rest) in typed ctxt loc instr stack | Prim (_, I_CREATE_ACCOUNT, _, _), _ -> fail (Deprecated_instruction I_CREATE_ACCOUNT) | Prim (loc, I_IMPLICIT_ACCOUNT, [], annot), Item_t (Key_hash_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IImplicit_account (kinfo, k))} in + let instr = {apply = (fun k -> IImplicit_account ({iloc = loc}, k))} in let stack = Item_t (contract_unit_t, rest) in typed ctxt loc instr stack | ( Prim (loc, (I_CREATE_CONTRACT as prim), [(Seq _ as code)], annot), @@ -4440,63 +4413,64 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> - ICreate_contract {kinfo; storage_type; code = canonical_code; k}); + (fun k -> + ICreate_contract + {kinfo = {iloc = loc}; storage_type; code = canonical_code; k}); } in let stack = Item_t (operation_t, Item_t (address_t, rest)) in typed ctxt loc instr stack | Prim (loc, I_NOW, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INow (kinfo, k))} in + let instr = {apply = (fun k -> INow ({iloc = loc}, k))} in let stack = Item_t (timestamp_t, stack) in typed ctxt loc instr stack | Prim (loc, I_MIN_BLOCK_TIME, [], _), stack -> typed ctxt loc - {apply = (fun kinfo k -> IMin_block_time (kinfo, k))} + {apply = (fun k -> IMin_block_time ({iloc = loc}, k))} (Item_t (nat_t, stack)) | Prim (loc, I_AMOUNT, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAmount (kinfo, k))} in + let instr = {apply = (fun k -> IAmount ({iloc = loc}, k))} in let stack = Item_t (mutez_t, stack) in typed ctxt loc instr stack | Prim (loc, I_CHAIN_ID, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IChainId (kinfo, k))} in + let instr = {apply = (fun k -> IChainId ({iloc = loc}, k))} in let stack = Item_t (chain_id_t, stack) in typed ctxt loc instr stack | Prim (loc, I_BALANCE, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IBalance (kinfo, k))} in + let instr = {apply = (fun k -> IBalance ({iloc = loc}, k))} in let stack = Item_t (mutez_t, stack) in typed ctxt loc instr stack | Prim (loc, I_LEVEL, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ILevel (kinfo, k))} in + let instr = {apply = (fun k -> ILevel ({iloc = loc}, k))} in let stack = Item_t (nat_t, stack) in typed ctxt loc instr stack | Prim (loc, I_VOTING_POWER, [], annot), Item_t (Key_hash_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IVoting_power (kinfo, k))} in + let instr = {apply = (fun k -> IVoting_power ({iloc = loc}, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_TOTAL_VOTING_POWER, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ITotal_voting_power (kinfo, k))} in + let instr = {apply = (fun k -> ITotal_voting_power ({iloc = loc}, k))} in let stack = Item_t (nat_t, stack) in typed ctxt loc instr stack | Prim (_, I_STEPS_TO_QUOTA, _, _), _ -> fail (Deprecated_instruction I_STEPS_TO_QUOTA) | Prim (loc, I_SOURCE, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISource (kinfo, k))} in + let instr = {apply = (fun k -> ISource ({iloc = loc}, k))} in let stack = Item_t (address_t, stack) in typed ctxt loc instr stack | Prim (loc, I_SENDER, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISender (kinfo, k))} in + let instr = {apply = (fun k -> ISender ({iloc = loc}, k))} in let stack = Item_t (address_t, stack) in typed ctxt loc instr stack | Prim (loc, (I_SELF as prim), [], annot), stack -> @@ -4527,125 +4501,125 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let instr = { apply = - (fun kinfo k -> ISelf (kinfo, param_type, entrypoint, k)); + (fun k -> ISelf ({iloc = loc}, param_type, entrypoint, k)); } in let stack = Item_t (res_ty, stack) in typed_no_lwt ctxt loc instr stack ) | Prim (loc, I_SELF_ADDRESS, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISelf_address (kinfo, k))} in + let instr = {apply = (fun k -> ISelf_address ({iloc = loc}, k))} in let stack = Item_t (address_t, stack) in typed ctxt loc instr stack (* cryptography *) | Prim (loc, I_HASH_KEY, [], annot), Item_t (Key_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IHash_key (kinfo, k))} in + let instr = {apply = (fun k -> IHash_key ({iloc = loc}, k))} in let stack = Item_t (key_hash_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_CHECK_SIGNATURE, [], annot), Item_t (Key_t, Item_t (Signature_t, Item_t (Bytes_t, rest))) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ICheck_signature (kinfo, k))} in + let instr = {apply = (fun k -> ICheck_signature ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_BLAKE2B, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IBlake2b (kinfo, k))} in + let instr = {apply = (fun k -> IBlake2b ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SHA256, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISha256 (kinfo, k))} in + let instr = {apply = (fun k -> ISha256 ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SHA512, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISha512 (kinfo, k))} in + let instr = {apply = (fun k -> ISha512 ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_KECCAK, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IKeccak (kinfo, k))} in + let instr = {apply = (fun k -> IKeccak ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_SHA3, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> ISha3 (kinfo, k))} in + let instr = {apply = (fun k -> ISha3 ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g1_t, (Item_t (Bls12_381_g1_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_bls12_381_g1 (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_bls12_381_g1 ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g2_t, (Item_t (Bls12_381_g2_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_bls12_381_g2 (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_bls12_381_g2 ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_fr_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IAdd_bls12_381_fr (kinfo, k))} in + let instr = {apply = (fun k -> IAdd_bls12_381_fr ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g1_t, Item_t (Bls12_381_fr_t, rest)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_g1 (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_g1 ({iloc = loc}, k))} in let stack = Item_t (Bls12_381_g1_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g2_t, Item_t (Bls12_381_fr_t, rest)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_g2 (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_g2 ({iloc = loc}, k))} in let stack = Item_t (Bls12_381_g2_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_fr (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_fr ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_fr_z ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_fr_z ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_z_fr ({iloc = loc}, k))} in let stack = Item_t (Bls12_381_fr_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_z_fr ({iloc = loc}, k))} in let stack = Item_t (Bls12_381_fr_t, rest) in typed ctxt loc instr stack | Prim (loc, I_INT, [], annot), Item_t (Bls12_381_fr_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> IInt_bls12_381_fr (kinfo, k))} in + let instr = {apply = (fun k -> IInt_bls12_381_fr ({iloc = loc}, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Bls12_381_g1_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INeg_bls12_381_g1 (kinfo, k))} in + let instr = {apply = (fun k -> INeg_bls12_381_g1 ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Bls12_381_g2_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INeg_bls12_381_g2 (kinfo, k))} in + let instr = {apply = (fun k -> INeg_bls12_381_g2 ({iloc = loc}, k))} in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Bls12_381_fr_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun kinfo k -> INeg_bls12_381_fr (kinfo, k))} in + let instr = {apply = (fun k -> INeg_bls12_381_fr ({iloc = loc}, k))} in typed ctxt loc instr stack | ( Prim (loc, I_PAIRING_CHECK, [], annot), Item_t (List_t (Pair_t (Bls12_381_g1_t, Bls12_381_g2_t, _, _), _), rest) ) -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun kinfo k -> IPairing_check_bls12_381 (kinfo, k))} + {apply = (fun k -> IPairing_check_bls12_381 ({iloc = loc}, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack @@ -4654,7 +4628,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> check_comparable loc t >>?= fun Eq -> ticket_t loc t >>?= fun res_ty -> - let instr = {apply = (fun kinfo k -> ITicket (kinfo, t, k))} in + let instr = {apply = (fun k -> ITicket ({iloc = loc}, t, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack | ( Prim (loc, I_READ_TICKET, [], annot), @@ -4662,7 +4636,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> let () = check_dupable_comparable_ty t in opened_ticket_type loc t >>?= fun result -> - let instr = {apply = (fun kinfo k -> IRead_ticket (kinfo, t, k))} in + let instr = {apply = (fun k -> IRead_ticket ({iloc = loc}, t, k))} in let stack = Item_t (result, full_stack) in typed ctxt loc instr stack | ( Prim (loc, I_SPLIT_TICKET, [], annot), @@ -4673,7 +4647,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let () = check_dupable_comparable_ty t in pair_t loc ticket_t ticket_t >>?= fun (Ty_ex_c pair_tickets_ty) -> option_t loc pair_tickets_ty >>?= fun res_ty -> - let instr = {apply = (fun kinfo k -> ISplit_ticket (kinfo, k))} in + let instr = {apply = (fun k -> ISplit_ticket ({iloc = loc}, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack | ( Prim (loc, I_JOIN_TICKETS, [], annot), @@ -4691,14 +4665,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : eq >>?= fun Eq -> option_t loc ty_a >>?= fun res_ty -> let instr = - {apply = (fun kinfo k -> IJoin_tickets (kinfo, contents_ty_a, k))} + {apply = (fun k -> IJoin_tickets ({iloc = loc}, contents_ty_a, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack (* Timelocks *) | ( Prim (loc, I_OPEN_CHEST, [], _), Item_t (Chest_key_t, Item_t (Chest_t, Item_t (Nat_t, rest))) ) -> - let instr = {apply = (fun kinfo k -> IOpen_chest (kinfo, k))} in + let instr = {apply = (fun k -> IOpen_chest ({iloc = loc}, k))} in typed ctxt loc instr (Item_t (union_bytes_bool_t, rest)) (* Primitive parsing errors *) | ( Prim diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.mli b/src/proto_alpha/lib_protocol/script_ir_translator.mli index e7a85579e8e5..8cd92a8d6a4d 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.mli +++ b/src/proto_alpha/lib_protocol/script_ir_translator.mli @@ -134,10 +134,10 @@ type 'storage typed_view_map = type ('a, 's, 'b, 'u) cinstr = { apply : 'r 'f. - ('a, 's) Script_typed_ir.kinfo -> ('b, 'u, 'r, 'f) Script_typed_ir.kinstr -> ('a, 's, 'r, 'f) Script_typed_ir.kinstr; } +[@@ocaml.unboxed] type ('a, 's, 'b, 'u) descr = { loc : Script.location; -- GitLab From 1e529f63e1e73611c416c9a2e0bb4d3848e36dca Mon Sep 17 00:00:00 2001 From: Sventimir Date: Mon, 28 Mar 2022 16:31:12 +0200 Subject: [PATCH 13/42] Proto/Michelson: remove kinfo type entirely. Kinfo at this point is just a container for Script.location with two phantom type variables. So remove the container and have just locations everywhere. --- .../interpreter_benchmarks.ml | 380 +++++---- .../interpreter_workload.ml | 2 +- .../lib_protocol/script_interpreter.ml | 91 ++- .../lib_protocol/script_interpreter_defs.ml | 24 +- .../script_interpreter_logging.ml | 732 +++++++++--------- .../script_interpreter_logging.mli | 2 +- .../lib_protocol/script_ir_translator.ml | 442 +++++------ .../lib_protocol/script_typed_ir.ml | 690 ++++++++--------- .../lib_protocol/script_typed_ir.mli | 418 +++++----- .../lib_protocol/script_typed_ir_size.ml | 13 +- .../michelson/test_interpretation.ml | 22 +- 11 files changed, 1334 insertions(+), 1482 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index 96560670f624..4ce0c391ba14 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -627,9 +627,9 @@ module Registration_section = struct let sf = Printf.sprintf - let dummy_kinfo () = {iloc = 0} + let dummy_loc = 0 - let halt () = IHalt (dummy_kinfo ()) + let halt = IHalt dummy_loc let () = (* KHalt *) @@ -637,7 +637,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_IHalt ~stack_type:(unit @$ bot) - ~kinstr:(halt ()) + ~kinstr:halt () module Amplification = struct @@ -691,7 +691,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_IDrop ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IDrop (dummy_kinfo (), halt ())) + ~kinstr:(IDrop (dummy_loc, halt)) () let () = @@ -700,7 +700,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_IDup ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IDup (dummy_kinfo (), halt ())) + ~kinstr:(IDup (dummy_loc, halt)) () let () = @@ -708,7 +708,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_ISwap ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(ISwap (dummy_kinfo (), halt ())) + ~kinstr:(ISwap (dummy_loc, halt)) () let () = @@ -716,7 +716,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_IConst ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IConst (dummy_kinfo (), unit, (), halt ())) + ~kinstr:(IConst (dummy_loc, unit, (), halt)) () (* deep stack manipulation *) @@ -754,7 +754,7 @@ module Registration_section = struct >>=? fun (judgement, _) -> match judgement with | Script_ir_translator.Typed descr -> - let kinstr = descr.instr.apply (IHalt (dummy_kinfo ())) in + let kinstr = descr.instr.apply (IHalt dummy_loc) in return (Ex_stack_and_kinstr {stack; kinstr; stack_type = descr.bef}) @@ -973,28 +973,28 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ICons_pair ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(ICons_pair (dummy_kinfo (), halt ())) + ~kinstr:(ICons_pair (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ICar ~stack_type:(cpair unit unit @$ bot) - ~kinstr:(ICar (dummy_kinfo (), halt ())) + ~kinstr:(ICar (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ICdr ~stack_type:(cpair unit unit @$ bot) - ~kinstr:(ICdr (dummy_kinfo (), halt ())) + ~kinstr:(ICdr (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IUnpair ~stack_type:(cpair unit unit @$ bot) - ~kinstr:(IUnpair (dummy_kinfo (), halt ())) + ~kinstr:(IUnpair (dummy_loc, halt)) () end @@ -1003,14 +1003,14 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ICons_some ~stack_type:(unit @$ bot) - ~kinstr:(ICons_some (dummy_kinfo (), halt ())) + ~kinstr:(ICons_some (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ICons_none ~stack_type:(unit @$ bot) - ~kinstr:(ICons_none (dummy_kinfo (), unit, halt ())) + ~kinstr:(ICons_none (dummy_loc, unit, halt)) () let () = @@ -1020,10 +1020,10 @@ module Registration_section = struct ~kinstr: (IIf_none { - kinfo = dummy_kinfo (); - branch_if_none = halt (); - branch_if_some = IDrop (dummy_kinfo (), halt ()); - k = halt (); + loc = dummy_loc; + branch_if_none = halt; + branch_if_some = IDrop (dummy_loc, halt); + k = halt; }) () @@ -1033,7 +1033,7 @@ module Registration_section = struct ~salt:"none" ~stack:(None, ((), eos)) ~stack_type:(option unit @$ unit @$ bot) - ~kinstr:(IOpt_map {kinfo = dummy_kinfo (); body = halt (); k = halt ()}) + ~kinstr:(IOpt_map {loc = dummy_loc; body = halt; k = halt}) () let () = @@ -1042,7 +1042,7 @@ module Registration_section = struct ~salt:"some" ~stack:(Some (), ((), eos)) ~stack_type:(option unit @$ unit @$ bot) - ~kinstr:(IOpt_map {kinfo = dummy_kinfo (); body = halt (); k = halt ()}) + ~kinstr:(IOpt_map {loc = dummy_loc; body = halt; k = halt}) () end @@ -1051,14 +1051,14 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ILeft ~stack_type:(unit @$ bot) - ~kinstr:(ICons_left (dummy_kinfo (), unit, halt ())) + ~kinstr:(ICons_left (dummy_loc, unit, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IRight ~stack_type:(unit @$ bot) - ~kinstr:(ICons_right (dummy_kinfo (), unit, halt ())) + ~kinstr:(ICons_right (dummy_loc, unit, halt)) () let () = @@ -1068,10 +1068,10 @@ module Registration_section = struct ~kinstr: (IIf_left { - kinfo = dummy_kinfo (); - branch_if_left = halt (); - branch_if_right = halt (); - k = halt (); + loc = dummy_loc; + branch_if_left = halt; + branch_if_right = halt; + k = halt; }) () end @@ -1081,14 +1081,14 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ICons_list ~stack_type:(unit @$ list unit @$ bot) - ~kinstr:(ICons_list (dummy_kinfo (), halt ())) + ~kinstr:(ICons_list (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_INil ~stack_type:(unit @$ bot) - ~kinstr:(INil (dummy_kinfo (), unit, halt ())) + ~kinstr:(INil (dummy_loc, unit, halt)) () let () = @@ -1098,11 +1098,10 @@ module Registration_section = struct ~kinstr: (IIf_cons { - kinfo = dummy_kinfo (); - branch_if_cons = - IDrop (dummy_kinfo (), IDrop (dummy_kinfo (), halt ())); - branch_if_nil = halt (); - k = halt (); + loc = dummy_loc; + branch_if_cons = IDrop (dummy_loc, IDrop (dummy_loc, halt)); + branch_if_nil = halt; + k = halt; }) () @@ -1117,7 +1116,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IList_map ~stack:(Script_list.empty, ((), eos)) ~stack_type:(list unit @$ unit @$ bot) - ~kinstr:(IList_map (dummy_kinfo (), halt (), halt ())) + ~kinstr:(IList_map (dummy_loc, halt, halt)) () end @@ -1125,7 +1124,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IList_size ~stack_type:(list unit @$ bot) - ~kinstr:(IList_size (dummy_kinfo (), halt ())) + ~kinstr:(IList_size (dummy_loc, halt)) () let () = @@ -1138,9 +1137,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IList_iter ~stack:(Script_list.empty, ((), eos)) ~stack_type:(list unit @$ unit @$ bot) - ~kinstr: - (IList_iter - (dummy_kinfo (), unit, IDrop (dummy_kinfo (), halt ()), halt ())) + ~kinstr:(IList_iter (dummy_loc, unit, IDrop (dummy_loc, halt), halt)) () end @@ -1149,11 +1146,10 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IEmpty_set ~stack_type:(unit @$ bot) - ~kinstr:(IEmpty_set (dummy_kinfo (), unit, halt ())) + ~kinstr:(IEmpty_set (dummy_loc, unit, halt)) () - let set_iter_code = - ISet_iter (dummy_kinfo (), int, IDrop (dummy_kinfo (), halt ()), halt ()) + let set_iter_code = ISet_iter (dummy_loc, int, IDrop (dummy_loc, halt), halt) let () = (* @@ -1177,7 +1173,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISet_mem ~stack_type:(int @$ set int @$ unit @$ bot) - ~kinstr:(ISet_mem (dummy_kinfo (), halt ())) + ~kinstr:(ISet_mem (dummy_loc, halt)) ~intercept_stack:(Script_int.zero, (Script_set.empty int, ((), eos))) ~stack_sampler:(fun cfg rng_state () -> assert (cfg.sampler.set_size.min >= 1) ; @@ -1204,7 +1200,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISet_update ~stack_type:(int @$ bool @$ set int @$ bot) - ~kinstr:(ISet_update (dummy_kinfo (), halt ())) + ~kinstr:(ISet_update (dummy_loc, halt)) ~intercept_stack:(Script_int.zero, (false, (Script_set.empty int, eos))) ~stack_sampler:(fun cfg rng_state () -> assert (cfg.sampler.set_size.min >= 2) ; @@ -1241,7 +1237,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ISet_size ~stack_type:(set unit @$ bot) - ~kinstr:(ISet_size (dummy_kinfo (), halt ())) + ~kinstr:(ISet_size (dummy_loc, halt)) () end @@ -1268,23 +1264,19 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IEmpty_map ~stack_type:(unit @$ bot) - ~kinstr:(IEmpty_map (dummy_kinfo (), unit, unit, halt ())) + ~kinstr:(IEmpty_map (dummy_loc, unit, unit, halt)) () (* let map_map_code = IMap_map - ( dummy_kinfo (), - ICdr (dummy_kinfo (), halt_unitunit), + ( dummy_loc, + ICdr (dummy_loc, halt_unitunit), halt ) *) let map_map_code () = - IMap_map - ( dummy_kinfo (), - int, - IFailwith (dummy_kinfo (), 0, cpair int unit), - halt () ) + IMap_map (dummy_loc, int, IFailwith (dummy_loc, cpair int unit), halt) let () = (* @@ -1303,11 +1295,7 @@ module Registration_section = struct () let kmap_iter_code = - IMap_iter - ( dummy_kinfo (), - cpair int unit, - IDrop (dummy_kinfo (), halt ()), - halt () ) + IMap_iter (dummy_loc, cpair int unit, IDrop (dummy_loc, halt), halt) let () = (* @@ -1334,7 +1322,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_mem ~stack_type:(int @$ map int unit @$ unit @$ bot) - ~kinstr:(IMap_mem (dummy_kinfo (), halt ())) + ~kinstr:(IMap_mem (dummy_loc, halt)) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (map, ((), eos)))) @@ -1352,7 +1340,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_get ~stack_type:(int @$ map int unit @$ unit @$ bot) - ~kinstr:(IMap_get (dummy_kinfo (), halt ())) + ~kinstr:(IMap_get (dummy_loc, halt)) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (map, ((), eos)))) @@ -1370,7 +1358,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_update ~stack_type:(int @$ option unit @$ map int unit @$ bot) - ~kinstr:(IMap_update (dummy_kinfo (), halt ())) + ~kinstr:(IMap_update (dummy_loc, halt)) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (None, (map, eos)))) @@ -1389,7 +1377,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_get_and_update ~stack_type:(int @$ option unit @$ map int unit @$ bot) - ~kinstr:(IMap_get_and_update (dummy_kinfo (), halt ())) + ~kinstr:(IMap_get_and_update (dummy_loc, halt)) ~intercept_stack: (let map = Script_map.empty int in (Script_int.zero, (None, (map, eos)))) @@ -1408,7 +1396,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMap_size ~stack_type:(map int unit @$ bot) - ~kinstr:(IMap_size (dummy_kinfo (), halt ())) + ~kinstr:(IMap_size (dummy_loc, halt)) ~stack_sampler:(fun _cfg _rng_state -> let map = Script_map.empty int in fun () -> (map, eos)) @@ -1453,7 +1441,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IEmpty_big_map ~stack_type:(unit @$ bot) - ~kinstr:(IEmpty_big_map (dummy_kinfo (), unit, unit, halt ())) + ~kinstr:(IEmpty_big_map (dummy_loc, unit, unit, halt)) () let () = @@ -1466,7 +1454,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_mem ~stack_type:(int @$ big_map int unit @$ unit @$ bot) - ~kinstr:(IBig_map_mem (dummy_kinfo (), halt ())) + ~kinstr:(IBig_map_mem (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state () -> let key, map = generate_big_map_and_key_in_map cfg rng_state in (key, (map, ((), eos)))) @@ -1481,7 +1469,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_get ~stack_type:(int @$ big_map int unit @$ unit @$ bot) - ~kinstr:(IBig_map_get (dummy_kinfo (), halt ())) + ~kinstr:(IBig_map_get (dummy_loc, halt)) ~intercept_stack: (let map = Script_big_map.empty int unit in (Script_int.zero, (map, ((), eos)))) @@ -1499,7 +1487,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_update ~stack_type:(int @$ option unit @$ big_map int unit @$ bot) - ~kinstr:(IBig_map_update (dummy_kinfo (), halt ())) + ~kinstr:(IBig_map_update (dummy_loc, halt)) ~intercept_stack: (let map = Script_big_map.empty int unit in (Script_int.zero, (None, (map, eos)))) @@ -1518,7 +1506,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IBig_map_get_and_update ~stack_type:(int @$ option unit @$ big_map int unit @$ bot) - ~kinstr:(IBig_map_get_and_update (dummy_kinfo (), halt ())) + ~kinstr:(IBig_map_get_and_update (dummy_loc, halt)) ~intercept_stack: (let map = Script_big_map.empty int unit in (Script_int.zero, (None, (map, eos)))) @@ -1536,7 +1524,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IConcat_string ~intercept_stack:(Script_list.empty, eos) ~stack_type:(list string @$ bot) - ~kinstr:(IConcat_string (dummy_kinfo (), halt ())) + ~kinstr:(IConcat_string (dummy_loc, halt)) () let () = @@ -1544,14 +1532,14 @@ module Registration_section = struct ~name:Interpreter_workload.N_IConcat_string_pair ~intercept_stack:(empty, (empty, eos)) ~stack_type:(string @$ string @$ bot) - ~kinstr:(IConcat_string_pair (dummy_kinfo (), halt ())) + ~kinstr:(IConcat_string_pair (dummy_loc, halt)) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISlice_string ~stack_type:(nat @$ nat @$ string @$ bot) - ~kinstr:(ISlice_string (dummy_kinfo (), halt ())) + ~kinstr:(ISlice_string (dummy_loc, halt)) ~intercept_stack: (let z = Script_int.zero_n in (z, (z, (empty, eos)))) @@ -1570,7 +1558,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IString_size ~stack_type:(string @$ bot) - ~kinstr:(IString_size (dummy_kinfo (), halt ())) + ~kinstr:(IString_size (dummy_loc, halt)) () end @@ -1582,7 +1570,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IConcat_bytes ~intercept_stack:(Script_list.empty, eos) ~stack_type:(list bytes @$ bot) - ~kinstr:(IConcat_bytes (dummy_kinfo (), halt ())) + ~kinstr:(IConcat_bytes (dummy_loc, halt)) () let () = @@ -1590,14 +1578,14 @@ module Registration_section = struct ~name:Interpreter_workload.N_IConcat_bytes_pair ~intercept_stack:(Bytes.empty, (Bytes.empty, eos)) ~stack_type:(bytes @$ bytes @$ bot) - ~kinstr:(IConcat_bytes_pair (dummy_kinfo (), halt ())) + ~kinstr:(IConcat_bytes_pair (dummy_loc, halt)) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISlice_bytes ~stack_type:(nat @$ nat @$ bytes @$ bot) - ~kinstr:(ISlice_bytes (dummy_kinfo (), halt ())) + ~kinstr:(ISlice_bytes (dummy_loc, halt)) ~intercept_stack: (let z = Script_int.zero_n in (z, (z, (Bytes.empty, eos)))) @@ -1616,7 +1604,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IBytes_size ~stack_type:(bytes @$ bot) - ~kinstr:(IBytes_size (dummy_kinfo (), halt ())) + ~kinstr:(IBytes_size (dummy_loc, halt)) () end @@ -1630,7 +1618,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IAdd_seconds_to_timestamp ~intercept_stack:(zero_int, (zero_timestamp, eos)) ~stack_type:(int @$ timestamp @$ bot) - ~kinstr:(IAdd_seconds_to_timestamp (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_seconds_to_timestamp (dummy_loc, halt)) () let () = @@ -1638,7 +1626,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IAdd_timestamp_to_seconds ~intercept_stack:(zero_timestamp, (zero_int, eos)) ~stack_type:(timestamp @$ int @$ bot) - ~kinstr:(IAdd_timestamp_to_seconds (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_timestamp_to_seconds (dummy_loc, halt)) () let () = @@ -1646,7 +1634,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_ISub_timestamp_seconds ~intercept_stack:(zero_timestamp, (zero_int, eos)) ~stack_type:(timestamp @$ int @$ bot) - ~kinstr:(ISub_timestamp_seconds (dummy_kinfo (), halt ())) + ~kinstr:(ISub_timestamp_seconds (dummy_loc, halt)) () let () = @@ -1654,7 +1642,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IDiff_timestamps ~intercept_stack:(zero_timestamp, (zero_timestamp, eos)) ~stack_type:(timestamp @$ timestamp @$ bot) - ~kinstr:(IDiff_timestamps (dummy_kinfo (), halt ())) + ~kinstr:(IDiff_timestamps (dummy_loc, halt)) () end @@ -1663,14 +1651,14 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IAdd_tez ~stack_type:(mutez @$ mutez @$ bot) - ~kinstr:(IAdd_tez (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_tez (dummy_loc, halt)) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISub_tez ~stack_type:(mutez @$ mutez @$ bot) - ~kinstr:(ISub_tez (dummy_kinfo (), halt ())) + ~kinstr:(ISub_tez (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.Default_config.sampler @@ -1689,7 +1677,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_ISub_tez_legacy ~stack_type:(mutez @$ mutez @$ bot) - ~kinstr:(ISub_tez_legacy (dummy_kinfo (), halt ())) + ~kinstr:(ISub_tez_legacy (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.Default_config.sampler @@ -1719,7 +1707,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMul_teznat ~stack_type:(mutez @$ nat @$ bot) - ~kinstr:(IMul_teznat (dummy_kinfo (), halt ())) + ~kinstr:(IMul_teznat (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, samplers = make_default_samplers cfg.sampler in fun () -> @@ -1731,7 +1719,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IMul_nattez ~stack_type:(nat @$ mutez @$ bot) - ~kinstr:(IMul_nattez (dummy_kinfo (), halt ())) + ~kinstr:(IMul_nattez (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, samplers = make_default_samplers cfg.sampler in fun () -> @@ -1744,7 +1732,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IEdiv_teznat ~intercept_stack:(Alpha_context.Tez.zero, (Script_int.zero_n, eos)) ~stack_type:(mutez @$ nat @$ bot) - ~kinstr:(IEdiv_teznat (dummy_kinfo (), halt ())) + ~kinstr:(IEdiv_teznat (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, samplers = make_default_samplers cfg.sampler in fun () -> @@ -1757,7 +1745,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IEdiv_tez ~intercept_stack:(Alpha_context.Tez.zero, (Alpha_context.Tez.zero, eos)) ~stack_type:(mutez @$ mutez @$ bot) - ~kinstr:(IEdiv_tez (dummy_kinfo (), halt ())) + ~kinstr:(IEdiv_tez (dummy_loc, halt)) () end @@ -1766,28 +1754,28 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IOr ~stack_type:(bool @$ bool @$ bot) - ~kinstr:(IOr (dummy_kinfo (), halt ())) + ~kinstr:(IOr (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IAnd ~stack_type:(bool @$ bool @$ bot) - ~kinstr:(IAnd (dummy_kinfo (), halt ())) + ~kinstr:(IAnd (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IXor ~stack_type:(bool @$ bool @$ bot) - ~kinstr:(IXor (dummy_kinfo (), halt ())) + ~kinstr:(IXor (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_INot ~stack_type:(bool @$ bot) - ~kinstr:(INot (dummy_kinfo (), halt ())) + ~kinstr:(INot (dummy_loc, halt)) () end @@ -1801,7 +1789,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IIs_nat ~intercept_stack:(zero, eos) ~stack_type:(int @$ bot) - ~kinstr:(IIs_nat (dummy_kinfo (), halt ())) + ~kinstr:(IIs_nat (dummy_loc, halt)) () let () = @@ -1809,14 +1797,14 @@ module Registration_section = struct ~name:Interpreter_workload.N_INeg ~intercept_stack:(zero, eos) ~stack_type:(int @$ bot) - ~kinstr:(INeg (dummy_kinfo (), halt ())) + ~kinstr:(INeg (dummy_loc, halt)) () let () = simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IAbs_int ~stack_type:(int @$ bot) - ~kinstr:(IAbs_int (dummy_kinfo (), halt ())) + ~kinstr:(IAbs_int (dummy_loc, halt)) ~intercept_stack:(zero, eos) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in @@ -1831,7 +1819,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IInt_nat ~intercept_stack:(zero_n, eos) ~stack_type:(nat @$ bot) - ~kinstr:(IInt_nat (dummy_kinfo (), halt ())) + ~kinstr:(IInt_nat (dummy_loc, halt)) () let () = @@ -1839,7 +1827,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IAdd_int ~intercept_stack:(zero, (zero, eos)) ~stack_type:(int @$ int @$ bot) - ~kinstr:(IAdd_int (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_int (dummy_loc, halt)) () let () = @@ -1847,7 +1835,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IAdd_nat ~intercept_stack:(zero_n, (zero_n, eos)) ~stack_type:(nat @$ nat @$ bot) - ~kinstr:(IAdd_nat (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_nat (dummy_loc, halt)) () let () = @@ -1855,7 +1843,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_ISub_int ~intercept_stack:(zero, (zero, eos)) ~stack_type:(int @$ int @$ bot) - ~kinstr:(ISub_int (dummy_kinfo (), halt ())) + ~kinstr:(ISub_int (dummy_loc, halt)) () let () = @@ -1863,7 +1851,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IMul_int ~intercept_stack:(zero, (zero, eos)) ~stack_type:(int @$ int @$ bot) - ~kinstr:(IMul_int (dummy_kinfo (), halt ())) + ~kinstr:(IMul_int (dummy_loc, halt)) () let () = @@ -1871,7 +1859,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IMul_nat ~intercept_stack:(zero_n, (zero, eos)) ~stack_type:(nat @$ int @$ bot) - ~kinstr:(IMul_nat (dummy_kinfo (), halt ())) + ~kinstr:(IMul_nat (dummy_loc, halt)) () let () = @@ -1879,7 +1867,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IEdiv_int ~intercept_stack:(zero, (zero, eos)) ~stack_type:(int @$ int @$ bot) - ~kinstr:(IEdiv_int (dummy_kinfo (), halt ())) + ~kinstr:(IEdiv_int (dummy_loc, halt)) () let () = @@ -1887,7 +1875,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IEdiv_nat ~intercept_stack:(zero_n, (zero, eos)) ~stack_type:(nat @$ int @$ bot) - ~kinstr:(IEdiv_nat (dummy_kinfo (), halt ())) + ~kinstr:(IEdiv_nat (dummy_loc, halt)) () let () = @@ -1895,7 +1883,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_ILsl_nat ~intercept_stack:(zero_n, (zero_n, eos)) ~stack_type:(nat @$ nat @$ bot) - ~kinstr:(ILsl_nat (dummy_kinfo (), halt ())) + ~kinstr:(ILsl_nat (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in fun () -> @@ -1912,7 +1900,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_ILsr_nat ~intercept_stack:(zero_n, (zero_n, eos)) ~stack_type:(nat @$ nat @$ bot) - ~kinstr:(ILsr_nat (dummy_kinfo (), halt ())) + ~kinstr:(ILsr_nat (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in fun () -> @@ -1929,7 +1917,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IOr_nat ~intercept_stack:(zero_n, (zero_n, eos)) ~stack_type:(nat @$ nat @$ bot) - ~kinstr:(IOr_nat (dummy_kinfo (), halt ())) + ~kinstr:(IOr_nat (dummy_loc, halt)) () let () = @@ -1937,7 +1925,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IAnd_nat ~intercept_stack:(zero_n, (zero_n, eos)) ~stack_type:(nat @$ nat @$ bot) - ~kinstr:(IAnd_nat (dummy_kinfo (), halt ())) + ~kinstr:(IAnd_nat (dummy_loc, halt)) () let () = @@ -1945,7 +1933,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IAnd_int_nat ~intercept_stack:(zero, (zero_n, eos)) ~stack_type:(int @$ nat @$ bot) - ~kinstr:(IAnd_int_nat (dummy_kinfo (), halt ())) + ~kinstr:(IAnd_int_nat (dummy_loc, halt)) () let () = @@ -1953,7 +1941,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IXor_nat ~intercept_stack:(zero_n, (zero_n, eos)) ~stack_type:(nat @$ nat @$ bot) - ~kinstr:(IXor_nat (dummy_kinfo (), halt ())) + ~kinstr:(IXor_nat (dummy_loc, halt)) () let () = @@ -1961,7 +1949,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_INot_int ~intercept_stack:(zero, eos) ~stack_type:(int @$ bot) - ~kinstr:(INot_int (dummy_kinfo (), halt ())) + ~kinstr:(INot_int (dummy_loc, halt)) () end @@ -1973,10 +1961,10 @@ module Registration_section = struct ~kinstr: (IIf { - kinfo = dummy_kinfo (); - branch_if_true = halt (); - branch_if_false = halt (); - k = halt (); + loc = dummy_loc; + branch_if_true = halt; + branch_if_false = halt; + k = halt; }) () @@ -1987,11 +1975,11 @@ module Registration_section = struct - IHalt (false on top of stack) - IConst false ; IHalt (true on top of stack) *) - let push_false = IConst (dummy_kinfo (), bool, false, halt ()) in + let push_false = IConst (dummy_loc, bool, false, halt) in simple_benchmark ~name:Interpreter_workload.N_ILoop ~stack_type:(bool @$ bot) - ~kinstr:(ILoop (dummy_kinfo (), push_false, halt ())) + ~kinstr:(ILoop (dummy_loc, push_false, halt)) () let () = @@ -2000,11 +1988,11 @@ module Registration_section = struct ICons_right -> IHalt *) - let cons_r = ICons_right (dummy_kinfo (), unit, halt ()) in + let cons_r = ICons_right (dummy_loc, unit, halt) in simple_benchmark ~name:Interpreter_workload.N_ILoop_left ~stack_type:(cunion unit unit @$ bot) - ~kinstr:(ILoop_left (dummy_kinfo (), cons_r, halt ())) + ~kinstr:(ILoop_left (dummy_loc, cons_r, halt)) () let () = @@ -2017,13 +2005,13 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IDip ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IDip (dummy_kinfo (), halt (), halt ())) + ~kinstr:(IDip (dummy_loc, halt, halt)) () let dummy_lambda = let open Script_typed_ir in let descr = - {kloc = 0; kbef = unit @$ bot; kaft = unit @$ bot; kinstr = halt ()} + {kloc = 0; kbef = unit @$ bot; kaft = unit @$ bot; kinstr = halt} in Lam (descr, Micheline.Int (0, Z.zero)) @@ -2037,7 +2025,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IExec ~stack_type:(unit @$ lambda unit unit @$ bot) - ~kinstr:(IExec (dummy_kinfo (), halt ())) + ~kinstr:(IExec (dummy_loc, halt)) ~stack_sampler:(fun _cfg _rng_state () -> ((), (dummy_lambda, eos))) () @@ -2056,7 +2044,7 @@ module Registration_section = struct kloc = 0; kbef = cpair unit unit @$ bot; kaft = unit @$ bot; - kinstr = ICdr (dummy_kinfo (), halt ()); + kinstr = ICdr (dummy_loc, halt); } in Lam (descr, Micheline.Int (0, Z.zero)) @@ -2064,7 +2052,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IApply ~stack_type:(unit @$ lambda (cpair unit unit) unit @$ bot) - ~kinstr:(IApply (dummy_kinfo (), unit, halt ())) + ~kinstr:(IApply (dummy_loc, unit, halt)) ~stack_sampler:(fun _cfg _rng_state () -> ((), (code, eos))) () @@ -2076,7 +2064,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ILambda ~stack_type:(unit @$ bot) - ~kinstr:(ILambda (dummy_kinfo (), dummy_lambda, halt ())) + ~kinstr:(ILambda (dummy_loc, dummy_lambda, halt)) () let () = @@ -2090,7 +2078,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IFailwith ~amplification:100 ~stack_type:(unit @$ bot) - ~kinstr:(IFailwith (dummy_kinfo (), 0, unit)) + ~kinstr:(IFailwith (dummy_loc, unit)) () end @@ -2110,7 +2098,7 @@ module Registration_section = struct Samplers.Random_type.m_comparable_type ~size rng_state in let value = Samplers.Random_value.comparable ty rng_state in - let kinstr = ICompare (dummy_kinfo (), ty, halt ()) in + let kinstr = ICompare (dummy_loc, ty, halt) in Ex_stack_and_kinstr { stack = (value, (value, eos)); @@ -2125,42 +2113,42 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IEq ~stack_type:(int @$ bot) - ~kinstr:(IEq (dummy_kinfo (), halt ())) + ~kinstr:(IEq (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_INeq ~stack_type:(int @$ bot) - ~kinstr:(INeq (dummy_kinfo (), halt ())) + ~kinstr:(INeq (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ILt ~stack_type:(int @$ bot) - ~kinstr:(ILt (dummy_kinfo (), halt ())) + ~kinstr:(ILt (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IGt ~stack_type:(int @$ bot) - ~kinstr:(IGt (dummy_kinfo (), halt ())) + ~kinstr:(IGt (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ILe ~stack_type:(int @$ bot) - ~kinstr:(ILe (dummy_kinfo (), halt ())) + ~kinstr:(ILe (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IGe ~stack_type:(int @$ bot) - ~kinstr:(IGe (dummy_kinfo (), halt ())) + ~kinstr:(IGe (dummy_loc, halt)) () end @@ -2169,7 +2157,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IAddress ~stack_type:(contract unit @$ bot) - ~kinstr:(IAddress (dummy_kinfo (), halt ())) + ~kinstr:(IAddress (dummy_loc, halt)) () let () = @@ -2177,22 +2165,21 @@ module Registration_section = struct ~name:Interpreter_workload.N_IContract ~stack_type:(address @$ bot) ~kinstr: - (IContract - (dummy_kinfo (), unit, Alpha_context.Entrypoint.default, halt ())) + (IContract (dummy_loc, unit, Alpha_context.Entrypoint.default, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ITransfer_tokens ~stack_type:(unit @$ mutez @$ contract unit @$ bot) - ~kinstr:(ITransfer_tokens (dummy_kinfo (), halt ())) + ~kinstr:(ITransfer_tokens (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IImplicit_account ~stack_type:(key_hash @$ bot) - ~kinstr:(IImplicit_account (dummy_kinfo (), halt ())) + ~kinstr:(IImplicit_account (dummy_loc, halt)) () let () = @@ -2202,10 +2189,10 @@ module Registration_section = struct ~kinstr: (ICreate_contract { - kinfo = dummy_kinfo (); + loc = dummy_loc; storage_type = unit; code = Micheline.(strip_locations @@ Seq (0, [])); - k = halt (); + k = halt; }) () @@ -2220,44 +2207,44 @@ module Registration_section = struct ~stack_type:(unit @$ address @$ bot) ~kinstr: (IView - ( dummy_kinfo (), + ( dummy_loc, View_signature {name; input_ty = unit; output_ty = unit}, - halt () )) + halt )) () let () = simple_benchmark ~name:Interpreter_workload.N_ISet_delegate ~stack_type:(option key_hash @$ bot) - ~kinstr:(ISet_delegate (dummy_kinfo (), halt ())) + ~kinstr:(ISet_delegate (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_INow ~stack_type:(unit @$ bot) - ~kinstr:(INow (dummy_kinfo (), halt ())) + ~kinstr:(INow (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IMin_block_time ~stack_type:bot - ~kinstr:(IMin_block_time (dummy_kinfo (), halt ())) + ~kinstr:(IMin_block_time (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IBalance ~stack_type:(unit @$ bot) - ~kinstr:(IBalance (dummy_kinfo (), halt ())) + ~kinstr:(IBalance (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ILevel ~stack_type:(unit @$ bot) - ~kinstr:(ILevel (dummy_kinfo (), halt ())) + ~kinstr:(ILevel (dummy_loc, halt)) () let check_signature (algo : Signature.algo) ~for_intercept = @@ -2272,7 +2259,7 @@ module Registration_section = struct ~intercept:for_intercept ~name ~stack_type:(public_key @$ signature @$ bytes @$ bot) - ~kinstr:(ICheck_signature (dummy_kinfo (), halt ())) + ~kinstr:(ICheck_signature (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let (module Crypto_samplers), (module Samplers) = make_default_samplers ~algo:(`Algo algo) cfg.Default_config.sampler @@ -2302,14 +2289,14 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IHash_key ~stack_type:(public_key @$ bot) - ~kinstr:(IHash_key (dummy_kinfo (), halt ())) + ~kinstr:(IHash_key (dummy_loc, halt)) () let () = benchmark ~name:Interpreter_workload.N_IPack ~kinstr_and_stack_sampler:(fun _cfg _rng_state -> - let kinstr = IPack (dummy_kinfo (), unit, halt ()) in + let kinstr = IPack (dummy_loc, unit, halt) in fun () -> Ex_stack_and_kinstr {stack = ((), eos); stack_type = unit @$ bot; kinstr}) @@ -2327,7 +2314,7 @@ module Registration_section = struct >|= Environment.wrap_tzresult >>=? fun (bytes, _) -> return bytes )) in - let kinstr = IUnpack (dummy_kinfo (), unit, halt ()) in + let kinstr = IUnpack (dummy_loc, unit, halt) in fun () -> Ex_stack_and_kinstr {stack = (b, eos); stack_type = bytes @$ bot; kinstr}) @@ -2338,7 +2325,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IBlake2b ~intercept_stack:(Environment.Bytes.empty, eos) ~stack_type:(bytes @$ bot) - ~kinstr:(IBlake2b (dummy_kinfo (), halt ())) + ~kinstr:(IBlake2b (dummy_loc, halt)) () let () = @@ -2346,7 +2333,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_ISha256 ~intercept_stack:(Environment.Bytes.empty, eos) ~stack_type:(bytes @$ bot) - ~kinstr:(ISha256 (dummy_kinfo (), halt ())) + ~kinstr:(ISha256 (dummy_loc, halt)) () let () = @@ -2354,7 +2341,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_ISha512 ~intercept_stack:(Environment.Bytes.empty, eos) ~stack_type:(bytes @$ bot) - ~kinstr:(ISha512 (dummy_kinfo (), halt ())) + ~kinstr:(ISha512 (dummy_loc, halt)) () let () = @@ -2362,7 +2349,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IKeccak ~intercept_stack:(Environment.Bytes.empty, eos) ~stack_type:(bytes @$ bot) - ~kinstr:(IKeccak (dummy_kinfo (), halt ())) + ~kinstr:(IKeccak (dummy_loc, halt)) () let () = @@ -2370,21 +2357,21 @@ module Registration_section = struct ~name:Interpreter_workload.N_ISha3 ~intercept_stack:(Environment.Bytes.empty, eos) ~stack_type:(bytes @$ bot) - ~kinstr:(ISha3 (dummy_kinfo (), halt ())) + ~kinstr:(ISha3 (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ISource ~stack_type:(unit @$ bot) - ~kinstr:(ISource (dummy_kinfo (), halt ())) + ~kinstr:(ISource (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ISender ~stack_type:(unit @$ bot) - ~kinstr:(ISender (dummy_kinfo (), halt ())) + ~kinstr:(ISender (dummy_loc, halt)) () let () = @@ -2392,43 +2379,42 @@ module Registration_section = struct ~name:Interpreter_workload.N_ISelf ~stack_type:(unit @$ bot) ~kinstr: - (ISelf - (dummy_kinfo (), unit, Alpha_context.Entrypoint.default, halt ())) + (ISelf (dummy_loc, unit, Alpha_context.Entrypoint.default, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ISelf_address ~stack_type:(unit @$ bot) - ~kinstr:(ISelf_address (dummy_kinfo (), halt ())) + ~kinstr:(ISelf_address (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IAmount ~stack_type:(unit @$ bot) - ~kinstr:(IAmount (dummy_kinfo (), halt ())) + ~kinstr:(IAmount (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IChainId ~stack_type:(unit @$ bot) - ~kinstr:(IChainId (dummy_kinfo (), halt ())) + ~kinstr:(IChainId (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IVoting_power ~stack_type:(key_hash @$ bot) - ~kinstr:(IVoting_power (dummy_kinfo (), halt ())) + ~kinstr:(IVoting_power (dummy_loc, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_ITotal_voting_power ~stack_type:(unit @$ bot) - ~kinstr:(ITotal_voting_power (dummy_kinfo (), halt ())) + ~kinstr:(ITotal_voting_power (dummy_loc, halt)) () end @@ -2441,7 +2427,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ISapling_empty_state ~stack_type:(unit @$ bot) - ~kinstr:(ISapling_empty_state (dummy_kinfo (), memo_size, halt ())) + ~kinstr:(ISapling_empty_state (dummy_loc, memo_size, halt)) () module type Type_transaction = sig @@ -2484,7 +2470,7 @@ module Registration_section = struct let spl_tx = sapling_transaction memo_size in spl_tx @$ spl_state @$ bot - let kinstr = ISapling_verify_update (dummy_kinfo (), halt ()) + let kinstr = ISapling_verify_update (dummy_loc, halt) let prepare_sapling_execution_environment sapling_forge_rng_seed sapling_transition = @@ -2634,7 +2620,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IAdd_bls12_381_g1 ~stack_type:(bls12_381_g1 @$ bls12_381_g1 @$ bot) - ~kinstr:(IAdd_bls12_381_g1 (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_bls12_381_g1 (dummy_loc, halt)) () let () = @@ -2642,7 +2628,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IAdd_bls12_381_g2 ~stack_type:(bls12_381_g2 @$ bls12_381_g2 @$ bot) - ~kinstr:(IAdd_bls12_381_g2 (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_bls12_381_g2 (dummy_loc, halt)) () let () = @@ -2650,7 +2636,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IAdd_bls12_381_fr ~stack_type:(bls12_381_fr @$ bls12_381_fr @$ bot) - ~kinstr:(IAdd_bls12_381_fr (dummy_kinfo (), halt ())) + ~kinstr:(IAdd_bls12_381_fr (dummy_loc, halt)) () let () = @@ -2658,7 +2644,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_g1 ~stack_type:(bls12_381_g1 @$ bls12_381_fr @$ bot) - ~kinstr:(IMul_bls12_381_g1 (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_g1 (dummy_loc, halt)) () let () = @@ -2666,7 +2652,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_g2 ~stack_type:(bls12_381_g2 @$ bls12_381_fr @$ bot) - ~kinstr:(IMul_bls12_381_g2 (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_g2 (dummy_loc, halt)) () let () = @@ -2674,7 +2660,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_fr ~stack_type:(bls12_381_fr @$ bls12_381_fr @$ bot) - ~kinstr:(IMul_bls12_381_fr (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_fr (dummy_loc, halt)) () let () = @@ -2682,7 +2668,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_z_fr ~stack_type:(bls12_381_fr @$ int @$ bot) - ~kinstr:(IMul_bls12_381_z_fr (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_z_fr (dummy_loc, halt)) () let () = @@ -2691,7 +2677,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IMul_bls12_381_z_fr ~intercept:true ~stack_type:(bls12_381_fr @$ int @$ bot) - ~kinstr:(IMul_bls12_381_z_fr (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_z_fr (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in let fr_sampler = Samplers.Random_value.value bls12_381_fr in @@ -2704,7 +2690,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IMul_bls12_381_fr_z ~stack_type:(int @$ bls12_381_fr @$ bot) - ~kinstr:(IMul_bls12_381_fr_z (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_fr_z (dummy_loc, halt)) () let () = @@ -2713,7 +2699,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IMul_bls12_381_fr_z ~intercept:true ~stack_type:(int @$ bls12_381_fr @$ bot) - ~kinstr:(IMul_bls12_381_fr_z (dummy_kinfo (), halt ())) + ~kinstr:(IMul_bls12_381_fr_z (dummy_loc, halt)) ~stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in let fr_sampler = Samplers.Random_value.value bls12_381_fr in @@ -2726,7 +2712,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IInt_bls12_381_z_fr ~stack_type:(bls12_381_fr @$ bot) - ~kinstr:(IInt_bls12_381_fr (dummy_kinfo (), halt ())) + ~kinstr:(IInt_bls12_381_fr (dummy_loc, halt)) () let () = @@ -2734,7 +2720,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_INeg_bls12_381_g1 ~stack_type:(bls12_381_g1 @$ bot) - ~kinstr:(INeg_bls12_381_g1 (dummy_kinfo (), halt ())) + ~kinstr:(INeg_bls12_381_g1 (dummy_loc, halt)) () let () = @@ -2742,7 +2728,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_INeg_bls12_381_g2 ~stack_type:(bls12_381_g2 @$ bot) - ~kinstr:(INeg_bls12_381_g2 (dummy_kinfo (), halt ())) + ~kinstr:(INeg_bls12_381_g2 (dummy_loc, halt)) () let () = @@ -2750,7 +2736,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_INeg_bls12_381_fr ~stack_type:(bls12_381_fr @$ bot) - ~kinstr:(INeg_bls12_381_fr (dummy_kinfo (), halt ())) + ~kinstr:(INeg_bls12_381_fr (dummy_loc, halt)) () let () = @@ -2759,7 +2745,7 @@ module Registration_section = struct ~check ~name:Interpreter_workload.N_IPairing_check_bls12_381 ~stack_type:(list p @$ bot) - ~kinstr:(IPairing_check_bls12_381 (dummy_kinfo (), halt ())) + ~kinstr:(IPairing_check_bls12_381 (dummy_loc, halt)) () end @@ -2768,17 +2754,17 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_ITicket ~stack_type:(unit @$ nat @$ bot) - ~kinstr:(ITicket (dummy_kinfo (), unit, halt ())) + ~kinstr:(ITicket (dummy_loc, unit, halt)) () let () = simple_benchmark ~name:Interpreter_workload.N_IRead_ticket ~stack_type:(ticket unit @$ bot) - ~kinstr:(IRead_ticket (dummy_kinfo (), unit, halt ())) + ~kinstr:(IRead_ticket (dummy_loc, unit, halt)) () - let split_ticket_instr = ISplit_ticket (dummy_kinfo (), halt ()) + let split_ticket_instr = ISplit_ticket (dummy_loc, halt) let stack_type = ticket unit @$ cpair nat nat @$ bot @@ -2821,7 +2807,7 @@ module Registration_section = struct }) () - let join_tickets_instr = IJoin_tickets (dummy_kinfo (), string, halt ()) + let join_tickets_instr = IJoin_tickets (dummy_loc, string, halt) let ticket_str = ticket string @@ -2884,7 +2870,7 @@ module Registration_section = struct let stack_type = Michelson_types.chest_key @$ Michelson_types.chest @$ nat @$ bot - let kinstr = IOpen_chest (dummy_kinfo (), halt ()) + let kinstr = IOpen_chest (dummy_loc, halt) let resulting_stack chest chest_key time = let chest = Script_timelock.make_chest chest in @@ -2958,7 +2944,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KCons ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KCons (halt (), KNil) in + let cont = KCons (halt, KNil) in let stack = ((), eos) in let stack_type = unit @$ bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3018,9 +3004,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KLoop_in ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = - KLoop_in (IConst (dummy_kinfo (), bool, false, halt ()), KNil) - in + let cont = KLoop_in (IConst (dummy_loc, bool, false, halt), KNil) in let stack = (false, ((), eos)) in let stack_type = bool @$ unit @$ bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3036,7 +3020,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_KLoop_in_left ~cont_and_stack_sampler:(fun _cfg _rng_state -> let cont = - KLoop_in_left (ICons_right (dummy_kinfo (), unit, halt ()), KNil) + KLoop_in_left (ICons_right (dummy_loc, unit, halt), KNil) in let stack = (R (), eos) in let stack_type = cunion unit unit @$ bot in @@ -3068,7 +3052,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_KIter ~salt:"_empty" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KIter (IDrop (dummy_kinfo (), halt ()), unit, [], KNil) in + let cont = KIter (IDrop (dummy_loc, halt), unit, [], KNil) in let stack = ((), eos) in let stack_type = unit @$ bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3087,9 +3071,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_KIter ~salt:"_nonempty" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = - KIter (IDrop (dummy_kinfo (), halt ()), unit, [()], KNil) - in + let cont = KIter (IDrop (dummy_loc, halt), unit, [()], KNil) in let stack = ((), eos) in let stack_type = unit @$ bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3109,7 +3091,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_KList_enter_body ~salt:"_singleton_list" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let kbody = halt () in + let kbody = halt in fun () -> let cont = KList_enter_body (kbody, [()], [], 1, KNil) in Ex_stack_and_cont @@ -3128,7 +3110,7 @@ module Registration_section = struct ~salt:"_terminal" ~cont_and_stack_sampler:(fun cfg rng_state -> let _, (module Samplers) = make_default_samplers cfg.sampler in - let kbody = halt () in + let kbody = halt in fun () -> let ys = Samplers.Random_value.value (list unit) rng_state in let cont = @@ -3150,7 +3132,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_KList_enter_body ~salt:"_terminal" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let kbody = halt () in + let kbody = halt in fun () -> let cont = KList_enter_body (kbody, [], [], 1, KNil) in Ex_stack_and_cont @@ -3170,7 +3152,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_KList_exit_body ~salt:"_terminal" ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let kbody = halt () in + let kbody = halt in let cont = KList_exit_body (kbody, [], [], 1, KNil) in fun () -> Ex_stack_and_cont @@ -3180,7 +3162,7 @@ module Registration_section = struct let stack_type = cpair int unit @$ unit @$ bot let map_enter_body_code = - let kbody = ICdr (dummy_kinfo (), halt ()) in + let kbody = ICdr (dummy_loc, halt) in fun accu -> KMap_enter_body (kbody, accu, Script_map.empty int, KNil) let () = @@ -3235,7 +3217,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KMap_exit_body ~cont_and_stack_sampler:(fun cfg rng_state -> - let kbody = ICdr (dummy_kinfo (), halt ()) in + let kbody = ICdr (dummy_loc, halt) in fun () -> let key, map = Maps.generate_map_and_key_in_map cfg rng_state in let cont = KMap_exit_body (kbody, [], map, key, KNil) in diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml index 80bacbe3eb84..57f868c06a18 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml @@ -1309,7 +1309,7 @@ let extract_ir_sized_step : | IExec (_, _), _ -> Instructions.exec | IApply (_, _, _), _ -> Instructions.apply | ILambda (_, _, _), _ -> Instructions.lambda - | IFailwith (_, _, _), _ -> Instructions.failwith_ + | IFailwith (_, _), _ -> Instructions.failwith_ | ICompare (_, cmp_ty, _), (a, (b, _)) -> extract_compare_sized_step cmp_ty a b | IEq (_, _), _ -> Instructions.eq diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index d973c35e3003..76c45d0fe95d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -414,35 +414,35 @@ and imap_iter : [@@inline] and imul_teznat : type a b c d e f. (a, b, c, d, e, f) imul_teznat_type = - fun logger g gas kinfo k ks accu stack -> + fun logger g gas location k ks accu stack -> let x = accu in let y, stack = stack in match Script_int.to_int64 y with - | None -> get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) | Some y -> Tez.(x *? y) >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack and imul_nattez : type a b c d e f. (a, b, c, d, e, f) imul_nattez_type = - fun logger g gas kinfo k ks accu stack -> + fun logger g gas location k ks accu stack -> let y = accu in let x, stack = stack in match Script_int.to_int64 y with - | None -> get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) | Some y -> Tez.(x *? y) >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack and ilsl_nat : type a b c d e f. (a, b, c, d, e, f) ilsl_nat_type = - fun logger g gas kinfo k ks accu stack -> + fun logger g gas location k ks accu stack -> let x = accu and y, stack = stack in match Script_int.shift_left_n x y with - | None -> get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) | Some x -> (step [@ocaml.tailcall]) g gas k ks x stack and ilsr_nat : type a b c d e f. (a, b, c, d, e, f) ilsr_nat_type = - fun logger g gas kinfo k ks accu stack -> + fun logger g gas location k ks accu stack -> let x = accu and y, stack = stack in match Script_int.shift_right_n x y with - | None -> get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) | Some r -> (step [@ocaml.tailcall]) g gas k ks r stack and ifailwith : ifailwith_type = @@ -512,7 +512,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (KCons (k, ks)) v stack) - | IOpt_map {body; k; kinfo = _} -> ( + | IOpt_map {body; k; loc = _} -> ( match accu with | None -> (step [@ocaml.tailcall]) g gas k ks None stack | Some v -> @@ -772,8 +772,10 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let y, stack = stack in Tez.(x -? y) >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack - | IMul_teznat (kinfo, k) -> imul_teznat None g gas kinfo k ks accu stack - | IMul_nattez (kinfo, k) -> imul_nattez None g gas kinfo k ks accu stack + | IMul_teznat (location, k) -> + imul_teznat None g gas location k ks accu stack + | IMul_nattez (location, k) -> + imul_nattez None g gas location k ks accu stack (* boolean operations *) | IOr (_, k) -> let x = accu in @@ -869,8 +871,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let x = accu and y, stack = stack in let res = Script_int.ediv_n x y in (step [@ocaml.tailcall]) g gas k ks res stack - | ILsl_nat (kinfo, k) -> ilsl_nat None g gas kinfo k ks accu stack - | ILsr_nat (kinfo, k) -> ilsr_nat None g gas kinfo k ks accu stack + | ILsl_nat (location, k) -> ilsl_nat None g gas location k ks accu stack + | ILsr_nat (location, k) -> ilsr_nat None g gas location k ks accu stack | IOr_nat (_, k) -> let x = accu and y, stack = stack in let res = Script_int.logor x y in @@ -929,7 +931,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (step [@ocaml.tailcall]) (ctxt, sc) gas k ks lam' stack | ILambda (_, lam, k) -> (step [@ocaml.tailcall]) g gas k ks lam (accu, stack) - | IFailwith (_, kloc, tv) -> + | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in ifailwith None g gas kloc tv accu (* comparison *) @@ -987,7 +989,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | IAddress (_, k) -> let (Typed_contract {address; _}) = accu in (step [@ocaml.tailcall]) g gas k ks address stack - | IContract (kinfo, t, entrypoint, k) -> ( + | IContract (location, t, entrypoint, k) -> ( let addr = accu in let entrypoint_opt = if Entrypoint.is_default addr.entrypoint then Some entrypoint @@ -999,7 +1001,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let ctxt = update_context gas ctxt in Script_ir_translator.parse_contract_for_script ctxt - kinfo.iloc + location t addr.destination ~entrypoint @@ -1008,7 +1010,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let accu = maybe_contract in (step [@ocaml.tailcall]) (ctxt, sc) gas k ks accu stack | None -> (step [@ocaml.tailcall]) (ctxt, sc) gas k ks None stack) - | ITransfer_tokens (kinfo, k) -> + | ITransfer_tokens (location, k) -> let p = accu in let amount, (Typed_contract {arg_ty; address}, stack) = stack in let {destination; entrypoint} = address in @@ -1016,7 +1018,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (ctxt, sc) gas amount - kinfo.iloc + location arg_ty p destination @@ -1099,11 +1101,9 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | Error Inconsistent_types_fast -> (return_none [@ocaml.tailcall]) ctxt | Ok (Eq, Eq) -> - let kkinfo = - let {iloc} = kinfo_of_kinstr k in - {iloc} + let ks = + KCons (ICons_some (kinstr_location k, k), ks) in - let ks = KCons (ICons_some (kkinfo, k), ks) in Contract.get_balance_carbonated ctxt c >>=? fun (ctxt, balance) -> let gas, ctxt = @@ -1129,7 +1129,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (KView_exit (sc, KReturn (stack, ks))) (input, storage) (EmptyCell, EmptyCell))))) - | ICreate_contract {storage_type; code; k; kinfo = _} -> + | ICreate_contract {storage_type; code; k; loc = _} -> (* Removed the instruction's arguments manager, spendable and delegatable *) let delegate = accu in let credit, (init, stack) = stack in @@ -1540,19 +1540,34 @@ and log : (match (k, event) with | ILog _, LogEntry -> () | _, LogEntry -> log_entry logger ctxt gas k sty accu stack - | _, LogExit prev_kinfo -> - log_exit logger ctxt gas prev_kinfo k sty accu stack) ; + | _, LogExit prev_loc -> log_exit logger ctxt gas prev_loc k sty accu stack) ; log_next_kinstr logger sty k >>?= fun k -> match k with - | IMul_teznat (kinfo, k) -> - (imul_teznat [@ocaml.tailcall]) (Some logger) g gas kinfo k ks accu stack - | IMul_nattez (kinfo, k) -> - (imul_nattez [@ocaml.tailcall]) (Some logger) g gas kinfo k ks accu stack - | ILsl_nat (kinfo, k) -> - (ilsl_nat [@ocaml.tailcall]) (Some logger) g gas kinfo k ks accu stack - | ILsr_nat (kinfo, k) -> - (ilsr_nat [@ocaml.tailcall]) (Some logger) g gas kinfo k ks accu stack - | IFailwith (_, kloc, tv) -> + | IMul_teznat (location, k) -> + (imul_teznat [@ocaml.tailcall]) + (Some logger) + g + gas + location + k + ks + accu + stack + | IMul_nattez (location, k) -> + (imul_nattez [@ocaml.tailcall]) + (Some logger) + g + gas + location + k + ks + accu + stack + | ILsl_nat (location, k) -> + (ilsl_nat [@ocaml.tailcall]) (Some logger) g gas location k ks accu stack + | ILsr_nat (location, k) -> + (ilsr_nat [@ocaml.tailcall]) (Some logger) g gas location k ks accu stack + | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu | _ -> (step [@ocaml.tailcall]) g gas k ks accu stack @@ -1584,11 +1599,11 @@ let step_descr ~log_now logger (ctxt, sc) descr accu stack = | None -> step (outdated_ctxt, sc) gas descr.kinstr KNil accu stack | Some logger -> (if log_now then - let kinfo = kinfo_of_kinstr descr.kinstr in - logger.log_interp descr.kinstr ctxt kinfo.iloc descr.kbef (accu, stack)) ; + let location = kinstr_location descr.kinstr in + logger.log_interp descr.kinstr ctxt location descr.kbef (accu, stack)) ; let log = ILog - ( kinfo_of_kinstr descr.kinstr, + ( kinstr_location descr.kinstr, descr.kbef, LogEntry, logger, @@ -1606,7 +1621,7 @@ let kstep logger ctxt step_constants sty kinstr accu stack = let kinstr = match logger with | None -> kinstr - | Some logger -> ILog (kinfo_of_kinstr kinstr, sty, LogEntry, logger, kinstr) + | Some logger -> ILog (kinstr_location kinstr, sty, LogEntry, logger, kinstr) in let gas, outdated_ctxt = local_gas_counter_and_outdated_context ctxt in step (outdated_ctxt, step_constants) gas kinstr KNil accu stack diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 8215a02a1f3a..4d781c448c6c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -416,8 +416,8 @@ let rec kundip : a * s * (e, z, b, t) kinstr = fun w accu stack k -> match w with - | KPrefix (kinfo, ty, w) -> - let k = IConst (kinfo, ty, accu, k) in + | KPrefix (loc, ty, w) -> + let k = IConst (loc, ty, accu, k) in let accu, stack = stack in kundip w accu stack k | KRest -> (accu, stack, k) @@ -440,13 +440,11 @@ let apply ctxt gas capture_ty capture lam = kbef = arg_stack_ty; kaft = descr.kaft; kinstr = - (let kinfo_const = {iloc = descr.kloc} in - let kinfo_pair = {iloc = descr.kloc} in - IConst - ( kinfo_const, - capture_ty, - capture, - ICons_pair (kinfo_pair, descr.kinstr) )); + IConst + ( descr.kloc, + capture_ty, + capture, + ICons_pair (descr.kloc, descr.kinstr) ); } in let full_expr = @@ -818,7 +816,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f) imul_teznat_type = logger option -> outdated_context * step_constants -> local_gas_counter -> - (Tez.t, 'a) kinfo -> + Script.location -> (Tez.t, 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> Tez.t -> @@ -829,7 +827,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f) imul_nattez_type = logger option -> outdated_context * step_constants -> local_gas_counter -> - (Script_int.n Script_int.num, 'a) kinfo -> + Script.location -> (Tez.t, 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> Script_int.n Script_int.num -> @@ -840,7 +838,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f) ilsl_nat_type = logger option -> outdated_context * step_constants -> local_gas_counter -> - (Script_int.n Script_int.num, 'a) kinfo -> + Script.location -> (Script_int.n Script_int.num, 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> Script_int.n Script_int.num -> @@ -851,7 +849,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f) ilsr_nat_type = logger option -> outdated_context * step_constants -> local_gas_counter -> - (Script_int.n Script_int.num, 'a) kinfo -> + Script.location -> (Script_int.n Script_int.num, 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> Script_int.n Script_int.num -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index d9149c069a70..58ff981f60f7 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -91,9 +91,8 @@ type ('a, 's, 'r, 'f) ex_split_kinstr = ('a, 's, 't, 'g) kinstr; } -> ('a, 's, 't, 'g) ex_split_kinstr - | Ex_split_halt : ('a, 's) kinfo -> ('a, 's, 'a, 's) ex_split_kinstr + | Ex_split_halt : Script.location -> ('a, 's, 'a, 's) ex_split_kinstr | Ex_split_failwith : { - kinfo : ('a, 's) kinfo; location : Script.location; arg_ty : ('a, _) ty; cast : ('a, 's) failed_kinstr_cast; @@ -128,98 +127,98 @@ let kinstr_split : (a, s, r, f) kinstr -> (a, s, r, f) ex_split_kinstr tzresult = fun s i -> - let loc = Micheline.dummy_location in + let dummy = Micheline.dummy_location in match (i, s) with - | IDrop (kinfo, k), Item_t (_a, s) -> + | IDrop (loc, k), Item_t (_a, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDrop (kinfo, k)); + reconstruct = (fun k -> IDrop (loc, k)); } - | IDup (kinfo, k), Item_t (a, s) -> + | IDup (loc, k), Item_t (a, s) -> let s = Item_t (a, Item_t (a, s)) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDup (kinfo, k)); + reconstruct = (fun k -> IDup (loc, k)); } - | ISwap (kinfo, k), Item_t (a, Item_t (b, s)) -> + | ISwap (loc, k), Item_t (a, Item_t (b, s)) -> let s = Item_t (b, Item_t (a, s)) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISwap (kinfo, k)); + reconstruct = (fun k -> ISwap (loc, k)); } - | IConst (kinfo, a, x, k), s -> + | IConst (loc, a, x, k), s -> let s = Item_t (a, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IConst (kinfo, a, x, k)); + reconstruct = (fun k -> IConst (loc, a, x, k)); } - | ICons_pair (kinfo, k), Item_t (a, Item_t (b, s)) -> - pair_t loc a b >|? fun (Ty_ex_c c) -> + | ICons_pair (loc, k), Item_t (a, Item_t (b, s)) -> + pair_t dummy a b >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICons_pair (kinfo, k)); + reconstruct = (fun k -> ICons_pair (loc, k)); } - | ICar (kinfo, k), Item_t (Pair_t (a, _b, _meta, _), s) -> + | ICar (loc, k), Item_t (Pair_t (a, _b, _meta, _), s) -> let s = Item_t (a, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICar (kinfo, k)); + reconstruct = (fun k -> ICar (loc, k)); } - | ICdr (kinfo, k), Item_t (Pair_t (_a, b, _meta, _), s) -> + | ICdr (loc, k), Item_t (Pair_t (_a, b, _meta, _), s) -> let s = Item_t (b, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICdr (kinfo, k)); + reconstruct = (fun k -> ICdr (loc, k)); } - | IUnpair (kinfo, k), Item_t (Pair_t (a, b, _meta, _), s) -> + | IUnpair (loc, k), Item_t (Pair_t (a, b, _meta, _), s) -> let s = Item_t (a, Item_t (b, s)) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IUnpair (kinfo, k)); + reconstruct = (fun k -> IUnpair (loc, k)); } - | ICons_some (kinfo, k), Item_t (a, s) -> - option_t loc a >|? fun o -> + | ICons_some (loc, k), Item_t (a, s) -> + option_t dummy a >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICons_some (kinfo, k)); + reconstruct = (fun k -> ICons_some (loc, k)); } - | ICons_none (kinfo, a, k), s -> - option_t loc a >|? fun o -> + | ICons_none (loc, a, k), s -> + option_t dummy a >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICons_none (kinfo, a, k)); + reconstruct = (fun k -> ICons_none (loc, a, k)); } - | ( IIf_none {kinfo; branch_if_none; branch_if_some; k}, + | ( IIf_none {loc; branch_if_none; branch_if_some; k}, Item_t (Option_t (a, _meta, _), s) ) -> ok @@ Ex_split_if @@ -231,9 +230,9 @@ let kinstr_split : continuation = k; reconstruct = (fun branch_if_none branch_if_some k -> - IIf_none {kinfo; branch_if_none; branch_if_some; k}); + IIf_none {loc; branch_if_none; branch_if_some; k}); } - | IOpt_map {kinfo; body; k}, Item_t (Option_t (a, _meta, _), s) -> + | IOpt_map {loc; body; k}, Item_t (Option_t (a, _meta, _), s) -> ok @@ Ex_split_loop_may_not_fail { @@ -242,28 +241,28 @@ let kinstr_split : continuation = k; aft_body_stack_transform = (function - | Item_t (b, s) -> option_t loc b >|? fun o -> Item_t (o, s)); - reconstruct = (fun body k -> IOpt_map {kinfo; body; k}); + | Item_t (b, s) -> option_t dummy b >|? fun o -> Item_t (o, s)); + reconstruct = (fun body k -> IOpt_map {loc; body; k}); } - | ICons_left (kinfo, b, k), Item_t (a, s) -> - union_t loc a b >|? fun (Ty_ex_c c) -> + | ICons_left (loc, b, k), Item_t (a, s) -> + union_t dummy a b >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICons_left (kinfo, b, k)); + reconstruct = (fun k -> ICons_left (loc, b, k)); } - | ICons_right (kinfo, a, k), Item_t (b, s) -> - union_t loc a b >|? fun (Ty_ex_c c) -> + | ICons_right (loc, a, k), Item_t (b, s) -> + union_t dummy a b >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICons_right (kinfo, a, k)); + reconstruct = (fun k -> ICons_right (loc, a, k)); } - | ( IIf_left {kinfo; branch_if_left; branch_if_right; k}, + | ( IIf_left {loc; branch_if_left; branch_if_right; k}, Item_t (Union_t (a, b, _meta, _), s) ) -> ok @@ Ex_split_if @@ -275,27 +274,27 @@ let kinstr_split : continuation = k; reconstruct = (fun branch_if_left branch_if_right k -> - IIf_left {kinfo; branch_if_left; branch_if_right; k}); + IIf_left {loc; branch_if_left; branch_if_right; k}); } - | ICons_list (kinfo, k), Item_t (_a, Item_t (l, s)) -> + | ICons_list (loc, k), Item_t (_a, Item_t (l, s)) -> let s = Item_t (l, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICons_list (kinfo, k)); + reconstruct = (fun k -> ICons_list (loc, k)); } - | INil (kinfo, a, k), s -> - list_t loc a >|? fun l -> + | INil (loc, a, k), s -> + list_t dummy a >|? fun l -> let s = Item_t (l, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INil (kinfo, a, k)); + reconstruct = (fun k -> INil (loc, a, k)); } - | ( IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}, + | ( IIf_cons {loc; branch_if_cons; branch_if_nil; k}, Item_t ((List_t (a, _meta) as l), s) ) -> ok @@ Ex_split_if @@ -307,9 +306,9 @@ let kinstr_split : continuation = k; reconstruct = (fun branch_if_cons branch_if_nil k -> - IIf_cons {kinfo; branch_if_cons; branch_if_nil; k}); + IIf_cons {loc; branch_if_cons; branch_if_nil; k}); } - | IList_map (kinfo, body, k), Item_t (List_t (a, _meta), s) -> + | IList_map (loc, body, k), Item_t (List_t (a, _meta), s) -> let s = Item_t (a, s) in ok @@ Ex_split_loop_may_not_fail @@ -319,10 +318,10 @@ let kinstr_split : continuation = k; aft_body_stack_transform = (function - | Item_t (b, s) -> list_t loc b >|? fun l -> Item_t (l, s)); - reconstruct = (fun body k -> IList_map (kinfo, body, k)); + | Item_t (b, s) -> list_t dummy b >|? fun l -> Item_t (l, s)); + reconstruct = (fun body k -> IList_map (loc, body, k)); } - | IList_iter (kinfo, ty, body, k), Item_t (List_t (a, _meta), s) -> + | IList_iter (loc, ty, body, k), Item_t (List_t (a, _meta), s) -> ok @@ Ex_split_loop_may_fail { @@ -330,27 +329,27 @@ let kinstr_split : body; cont_init_stack = s; continuation = k; - reconstruct = (fun body k -> IList_iter (kinfo, ty, body, k)); + reconstruct = (fun body k -> IList_iter (loc, ty, body, k)); } - | IList_size (kinfo, k), Item_t (_l, s) -> + | IList_size (loc, k), Item_t (_l, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IList_size (kinfo, k)); + reconstruct = (fun k -> IList_size (loc, k)); } - | IEmpty_set (kinfo, a, k), s -> - set_t loc a >|? fun b -> + | IEmpty_set (loc, a, k), s -> + set_t dummy a >|? fun b -> let s = Item_t (b, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEmpty_set (kinfo, a, k)); + reconstruct = (fun k -> IEmpty_set (loc, a, k)); } - | ISet_iter (kinfo, a, body, k), Item_t (_b, s) -> + | ISet_iter (loc, a, body, k), Item_t (_b, s) -> ok @@ Ex_split_loop_may_fail { @@ -358,55 +357,56 @@ let kinstr_split : body; cont_init_stack = s; continuation = k; - reconstruct = (fun body k -> ISet_iter (kinfo, a, body, k)); + reconstruct = (fun body k -> ISet_iter (loc, a, body, k)); } - | ISet_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + | ISet_mem (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISet_mem (kinfo, k)); + reconstruct = (fun k -> ISet_mem (loc, k)); } - | ISet_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + | ISet_update (loc, k), Item_t (_, Item_t (_, s)) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISet_update (kinfo, k)); + reconstruct = (fun k -> ISet_update (loc, k)); } - | ISet_size (kinfo, k), Item_t (_, s) -> + | ISet_size (loc, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISet_size (kinfo, k)); + reconstruct = (fun k -> ISet_size (loc, k)); } - | IEmpty_map (kinfo, cty, vty, k), s -> - map_t loc cty vty >|? fun m -> + | IEmpty_map (loc, cty, vty, k), s -> + map_t dummy cty vty >|? fun m -> let s = Item_t (m, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEmpty_map (kinfo, cty, vty, k)); + reconstruct = (fun k -> IEmpty_map (loc, cty, vty, k)); } - | IMap_map (kinfo, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> - pair_t loc key_ty vty >|? fun (Ty_ex_c p) -> + | IMap_map (loc, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> + pair_t dummy key_ty vty >|? fun (Ty_ex_c p) -> Ex_split_loop_may_not_fail { body_init_stack = Item_t (p, s); body; continuation = k; aft_body_stack_transform = - (fun (Item_t (b, s)) -> map_t loc kty b >|? fun m -> Item_t (m, s)); - reconstruct = (fun body k -> IMap_map (kinfo, key_ty, body, k)); + (fun (Item_t (b, s)) -> + map_t dummy kty b >|? fun m -> Item_t (m, s)); + reconstruct = (fun body k -> IMap_map (loc, key_ty, body, k)); } - | IMap_iter (kinfo, kvty, body, k), Item_t (_, stack) -> + | IMap_iter (loc, kvty, body, k), Item_t (_, stack) -> ok @@ Ex_split_loop_may_fail { @@ -414,448 +414,448 @@ let kinstr_split : body; cont_init_stack = stack; continuation = k; - reconstruct = (fun body k -> IMap_iter (kinfo, kvty, body, k)); + reconstruct = (fun body k -> IMap_iter (loc, kvty, body, k)); } - | IMap_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IMap_mem (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMap_mem (kinfo, k)); + reconstruct = (fun k -> IMap_mem (loc, k)); } - | IMap_get (kinfo, k), Item_t (_, Item_t (Map_t (_kty, vty, _meta), s)) -> - option_t loc vty >|? fun o -> + | IMap_get (loc, k), Item_t (_, Item_t (Map_t (_kty, vty, _meta), s)) -> + option_t dummy vty >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMap_get (kinfo, k)); + reconstruct = (fun k -> IMap_get (loc, k)); } - | IMap_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IMap_update (loc, k), Item_t (_, Item_t (_, s)) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMap_update (kinfo, k)); + reconstruct = (fun k -> IMap_update (loc, k)); } - | IMap_get_and_update (kinfo, k), Item_t (_, s) -> + | IMap_get_and_update (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMap_get_and_update (kinfo, k)); + reconstruct = (fun k -> IMap_get_and_update (loc, k)); } - | IMap_size (kinfo, k), Item_t (_, s) -> + | IMap_size (loc, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMap_size (kinfo, k)); + reconstruct = (fun k -> IMap_size (loc, k)); } - | IEmpty_big_map (kinfo, cty, ty, k), s -> - big_map_t loc cty ty >|? fun b -> + | IEmpty_big_map (loc, cty, ty, k), s -> + big_map_t dummy cty ty >|? fun b -> let s = Item_t (b, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEmpty_big_map (kinfo, cty, ty, k)); + reconstruct = (fun k -> IEmpty_big_map (loc, cty, ty, k)); } - | IBig_map_mem (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IBig_map_mem (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBig_map_mem (kinfo, k)); + reconstruct = (fun k -> IBig_map_mem (loc, k)); } - | IBig_map_get (kinfo, k), Item_t (_, Item_t (Big_map_t (_kty, vty, _meta), s)) + | IBig_map_get (loc, k), Item_t (_, Item_t (Big_map_t (_kty, vty, _meta), s)) -> - option_t loc vty >|? fun o -> + option_t dummy vty >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBig_map_get (kinfo, k)); + reconstruct = (fun k -> IBig_map_get (loc, k)); } - | IBig_map_update (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IBig_map_update (loc, k), Item_t (_, Item_t (_, s)) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBig_map_update (kinfo, k)); + reconstruct = (fun k -> IBig_map_update (loc, k)); } - | IBig_map_get_and_update (kinfo, k), Item_t (_, s) -> + | IBig_map_get_and_update (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBig_map_get_and_update (kinfo, k)); + reconstruct = (fun k -> IBig_map_get_and_update (loc, k)); } - | IConcat_string (kinfo, k), Item_t (_, s) -> + | IConcat_string (loc, k), Item_t (_, s) -> let s = Item_t (string_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IConcat_string (kinfo, k)); + reconstruct = (fun k -> IConcat_string (loc, k)); } - | IConcat_string_pair (kinfo, k), Item_t (_, s) -> + | IConcat_string_pair (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IConcat_string_pair (kinfo, k)); + reconstruct = (fun k -> IConcat_string_pair (loc, k)); } - | ISlice_string (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + | ISlice_string (loc, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (option_string_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISlice_string (kinfo, k)); + reconstruct = (fun k -> ISlice_string (loc, k)); } - | IString_size (kinfo, k), Item_t (_, s) -> + | IString_size (loc, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IString_size (kinfo, k)); + reconstruct = (fun k -> IString_size (loc, k)); } - | IConcat_bytes (kinfo, k), Item_t (_, s) -> + | IConcat_bytes (loc, k), Item_t (_, s) -> let s = Item_t (bytes_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IConcat_bytes (kinfo, k)); + reconstruct = (fun k -> IConcat_bytes (loc, k)); } - | IConcat_bytes_pair (kinfo, k), Item_t (_, s) -> + | IConcat_bytes_pair (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IConcat_bytes_pair (kinfo, k)); + reconstruct = (fun k -> IConcat_bytes_pair (loc, k)); } - | ISlice_bytes (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + | ISlice_bytes (loc, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (option_bytes_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISlice_bytes (kinfo, k)); + reconstruct = (fun k -> ISlice_bytes (loc, k)); } - | IBytes_size (kinfo, k), Item_t (_, s) -> + | IBytes_size (loc, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBytes_size (kinfo, k)); + reconstruct = (fun k -> IBytes_size (loc, k)); } - | IAdd_seconds_to_timestamp (kinfo, k), Item_t (_, s) -> + | IAdd_seconds_to_timestamp (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_seconds_to_timestamp (kinfo, k)); + reconstruct = (fun k -> IAdd_seconds_to_timestamp (loc, k)); } - | IAdd_timestamp_to_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IAdd_timestamp_to_seconds (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (timestamp_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_timestamp_to_seconds (kinfo, k)); + reconstruct = (fun k -> IAdd_timestamp_to_seconds (loc, k)); } - | ISub_timestamp_seconds (kinfo, k), Item_t (_, Item_t (_, s)) -> + | ISub_timestamp_seconds (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (timestamp_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISub_timestamp_seconds (kinfo, k)); + reconstruct = (fun k -> ISub_timestamp_seconds (loc, k)); } - | IDiff_timestamps (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IDiff_timestamps (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDiff_timestamps (kinfo, k)); + reconstruct = (fun k -> IDiff_timestamps (loc, k)); } - | IAdd_tez (kinfo, k), Item_t (_, s) -> + | IAdd_tez (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_tez (kinfo, k)); + reconstruct = (fun k -> IAdd_tez (loc, k)); } - | ISub_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> + | ISub_tez (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_mutez_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISub_tez (kinfo, k)); + reconstruct = (fun k -> ISub_tez (loc, k)); } - | ISub_tez_legacy (kinfo, k), Item_t (_, s) -> + | ISub_tez_legacy (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISub_tez_legacy (kinfo, k)); + reconstruct = (fun k -> ISub_tez_legacy (loc, k)); } - | IMul_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IMul_teznat (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (mutez_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_teznat (kinfo, k)); + reconstruct = (fun k -> IMul_teznat (loc, k)); } - | IMul_nattez (kinfo, k), Item_t (_, s) -> + | IMul_nattez (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_nattez (kinfo, k)); + reconstruct = (fun k -> IMul_nattez (loc, k)); } - | IEdiv_teznat (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IEdiv_teznat (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_pair_mutez_mutez_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEdiv_teznat (kinfo, k)); + reconstruct = (fun k -> IEdiv_teznat (loc, k)); } - | IEdiv_tez (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IEdiv_tez (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_pair_nat_mutez_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEdiv_tez (kinfo, k)); + reconstruct = (fun k -> IEdiv_tez (loc, k)); } - | IOr (kinfo, k), Item_t (_, s) -> + | IOr (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IOr (kinfo, k)); + reconstruct = (fun k -> IOr (loc, k)); } - | IAnd (kinfo, k), Item_t (_, s) -> + | IAnd (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAnd (kinfo, k)); + reconstruct = (fun k -> IAnd (loc, k)); } - | IXor (kinfo, k), Item_t (_, s) -> + | IXor (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IXor (kinfo, k)); + reconstruct = (fun k -> IXor (loc, k)); } - | INot (kinfo, k), s -> + | INot (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INot (kinfo, k)); + reconstruct = (fun k -> INot (loc, k)); } - | IIs_nat (kinfo, k), Item_t (_, s) -> + | IIs_nat (loc, k), Item_t (_, s) -> let s = Item_t (option_nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IIs_nat (kinfo, k)); + reconstruct = (fun k -> IIs_nat (loc, k)); } - | INeg (kinfo, k), Item_t (_, s) -> + | INeg (loc, k), Item_t (_, s) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INeg (kinfo, k)); + reconstruct = (fun k -> INeg (loc, k)); } - | IAbs_int (kinfo, k), Item_t (_, s) -> + | IAbs_int (loc, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAbs_int (kinfo, k)); + reconstruct = (fun k -> IAbs_int (loc, k)); } - | IInt_nat (kinfo, k), Item_t (_, s) -> + | IInt_nat (loc, k), Item_t (_, s) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IInt_nat (kinfo, k)); + reconstruct = (fun k -> IInt_nat (loc, k)); } - | IAdd_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IAdd_int (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_int (kinfo, k)); + reconstruct = (fun k -> IAdd_int (loc, k)); } - | IAdd_nat (kinfo, k), Item_t (_, s) -> + | IAdd_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_nat (kinfo, k)); + reconstruct = (fun k -> IAdd_nat (loc, k)); } - | ISub_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + | ISub_int (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISub_int (kinfo, k)); + reconstruct = (fun k -> ISub_int (loc, k)); } - | IMul_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IMul_int (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_int (kinfo, k)); + reconstruct = (fun k -> IMul_int (loc, k)); } - | IMul_nat (kinfo, k), Item_t (_, s) -> + | IMul_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_nat (kinfo, k)); + reconstruct = (fun k -> IMul_nat (loc, k)); } - | IEdiv_int (kinfo, k), Item_t (_, Item_t (_, s)) -> + | IEdiv_int (loc, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (option_pair_int_nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEdiv_int (kinfo, k)); + reconstruct = (fun k -> IEdiv_int (loc, k)); } - | IEdiv_nat (kinfo, k), Item_t (_, Item_t (a, s)) -> - pair_t loc a nat_t >>? fun (Ty_ex_c p) -> - option_t loc p >|? fun o -> + | IEdiv_nat (loc, k), Item_t (_, Item_t (a, s)) -> + pair_t dummy a nat_t >>? fun (Ty_ex_c p) -> + option_t dummy p >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEdiv_nat (kinfo, k)); + reconstruct = (fun k -> IEdiv_nat (loc, k)); } - | ILsl_nat (kinfo, k), Item_t (_, s) -> + | ILsl_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ILsl_nat (kinfo, k)); + reconstruct = (fun k -> ILsl_nat (loc, k)); } - | ILsr_nat (kinfo, k), Item_t (_, s) -> + | ILsr_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ILsr_nat (kinfo, k)); + reconstruct = (fun k -> ILsr_nat (loc, k)); } - | IOr_nat (kinfo, k), Item_t (_, s) -> + | IOr_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IOr_nat (kinfo, k)); + reconstruct = (fun k -> IOr_nat (loc, k)); } - | IAnd_nat (kinfo, k), Item_t (_, s) -> + | IAnd_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAnd_nat (kinfo, k)); + reconstruct = (fun k -> IAnd_nat (loc, k)); } - | IAnd_int_nat (kinfo, k), Item_t (_, s) -> + | IAnd_int_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAnd_int_nat (kinfo, k)); + reconstruct = (fun k -> IAnd_int_nat (loc, k)); } - | IXor_nat (kinfo, k), Item_t (_, s) -> + | IXor_nat (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IXor_nat (kinfo, k)); + reconstruct = (fun k -> IXor_nat (loc, k)); } - | INot_int (kinfo, k), Item_t (_, s) -> + | INot_int (loc, k), Item_t (_, s) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INot_int (kinfo, k)); + reconstruct = (fun k -> INot_int (loc, k)); } - | IIf {kinfo; branch_if_true; branch_if_false; k}, Item_t (_, s) -> + | IIf {loc; branch_if_true; branch_if_false; k}, Item_t (_, s) -> ok @@ Ex_split_if { @@ -866,9 +866,9 @@ let kinstr_split : continuation = k; reconstruct = (fun branch_if_true branch_if_false k -> - IIf {kinfo; branch_if_true; branch_if_false; k}); + IIf {loc; branch_if_true; branch_if_false; k}); } - | ILoop (kinfo, body, k), Item_t (_, s) -> + | ILoop (loc, body, k), Item_t (_, s) -> ok @@ Ex_split_loop_may_fail { @@ -876,9 +876,9 @@ let kinstr_split : body; cont_init_stack = s; continuation = k; - reconstruct = (fun body k -> ILoop (kinfo, body, k)); + reconstruct = (fun body k -> ILoop (loc, body, k)); } - | ILoop_left (kinfo, kl, kr), Item_t (Union_t (a, b, _meta, _), s) -> + | ILoop_left (loc, kl, kr), Item_t (Union_t (a, b, _meta, _), s) -> ok @@ Ex_split_loop_may_fail { @@ -886,9 +886,9 @@ let kinstr_split : body = kl; cont_init_stack = Item_t (b, s); continuation = kr; - reconstruct = (fun kl kr -> ILoop_left (kinfo, kl, kr)); + reconstruct = (fun kl kr -> ILoop_left (loc, kl, kr)); } - | IDip (kinfo, body, k), Item_t (a, s) -> + | IDip (loc, body, k), Item_t (a, s) -> ok @@ Ex_split_loop_may_not_fail { @@ -896,159 +896,154 @@ let kinstr_split : body; continuation = k; aft_body_stack_transform = (fun s -> ok @@ Item_t (a, s)); - reconstruct = (fun body k -> IDip (kinfo, body, k)); + reconstruct = (fun body k -> IDip (loc, body, k)); } - | IExec (kinfo, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> + | IExec (loc, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> let s = Item_t (b, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IExec (kinfo, k)); + reconstruct = (fun k -> IExec (loc, k)); } - | ( IApply (kinfo, ty, k), + | ( IApply (loc, ty, k), Item_t (_, Item_t (Lambda_t (Pair_t (_, a, _, _), b, _), s)) ) -> - lambda_t loc a b >|? fun l -> + lambda_t dummy a b >|? fun l -> let s = Item_t (l, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IApply (kinfo, ty, k)); + reconstruct = (fun k -> IApply (loc, ty, k)); } - | ILambda (kinfo, l, k), s -> + | ILambda (loc, l, k), s -> let (Lam (desc, _)) = l in let (Item_t (a, Bot_t)) = desc.kbef in let (Item_t (b, Bot_t)) = desc.kaft in - lambda_t loc a b >|? fun lam -> + lambda_t dummy a b >|? fun lam -> let s = Item_t (lam, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ILambda (kinfo, l, k)); + reconstruct = (fun k -> ILambda (loc, l, k)); } - | IFailwith (kinfo, location, arg_ty), _ -> + | IFailwith (location, arg_ty), _ -> ok @@ Ex_split_failwith - { - kinfo; - location; - arg_ty; - cast = {cast = IFailwith (kinfo, location, arg_ty)}; - } - | ICompare (kinfo, ty, k), Item_t (_, Item_t (_, s)) -> + {location; arg_ty; cast = {cast = IFailwith (location, arg_ty)}} + | ICompare (loc, ty, k), Item_t (_, Item_t (_, s)) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICompare (kinfo, ty, k)); + reconstruct = (fun k -> ICompare (loc, ty, k)); } - | IEq (kinfo, k), Item_t (_, s) -> + | IEq (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IEq (kinfo, k)); + reconstruct = (fun k -> IEq (loc, k)); } - | INeq (kinfo, k), Item_t (_, s) -> + | INeq (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INeq (kinfo, k)); + reconstruct = (fun k -> INeq (loc, k)); } - | ILt (kinfo, k), Item_t (_, s) -> + | ILt (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ILt (kinfo, k)); + reconstruct = (fun k -> ILt (loc, k)); } - | IGt (kinfo, k), Item_t (_, s) -> + | IGt (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IGt (kinfo, k)); + reconstruct = (fun k -> IGt (loc, k)); } - | ILe (kinfo, k), Item_t (_, s) -> + | ILe (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ILe (kinfo, k)); + reconstruct = (fun k -> ILe (loc, k)); } - | IGe (kinfo, k), Item_t (_, s) -> + | IGe (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IGe (kinfo, k)); + reconstruct = (fun k -> IGe (loc, k)); } - | IAddress (kinfo, k), Item_t (_, s) -> + | IAddress (loc, k), Item_t (_, s) -> let s = Item_t (address_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAddress (kinfo, k)); + reconstruct = (fun k -> IAddress (loc, k)); } - | IContract (kinfo, ty, code, k), Item_t (_, s) -> - contract_t loc ty >>? fun c -> - option_t loc c >|? fun o -> + | IContract (loc, ty, code, k), Item_t (_, s) -> + contract_t dummy ty >>? fun c -> + option_t dummy c >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IContract (kinfo, ty, code, k)); + reconstruct = (fun k -> IContract (loc, ty, code, k)); } - | ITransfer_tokens (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + | ITransfer_tokens (loc, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (operation_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ITransfer_tokens (kinfo, k)); + reconstruct = (fun k -> ITransfer_tokens (loc, k)); } - | ( IView (kinfo, (View_signature {output_ty; _} as view_signature), k), + | ( IView (loc, (View_signature {output_ty; _} as view_signature), k), Item_t (_, Item_t (_, s)) ) -> - option_t loc output_ty >|? fun b -> + option_t dummy output_ty >|? fun b -> let s = Item_t (b, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IView (kinfo, view_signature, k)); + reconstruct = (fun k -> IView (loc, view_signature, k)); } - | IImplicit_account (kinfo, k), Item_t (_, s) -> + | IImplicit_account (loc, k), Item_t (_, s) -> let s = Item_t (contract_unit_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IImplicit_account (kinfo, k)); + reconstruct = (fun k -> IImplicit_account (loc, k)); } - | ( ICreate_contract {kinfo; storage_type; code; k}, + | ( ICreate_contract {loc; storage_type; code; k}, Item_t (_, Item_t (_, Item_t (_, s))) ) -> ok @@ Ex_split_kinstr @@ -1056,179 +1051,179 @@ let kinstr_split : cont_init_stack = Item_t (operation_t, Item_t (address_t, s)); continuation = k; reconstruct = - (fun k -> ICreate_contract {kinfo; storage_type; code; k}); + (fun k -> ICreate_contract {loc; storage_type; code; k}); } - | ISet_delegate (kinfo, k), Item_t (_, s) -> + | ISet_delegate (loc, k), Item_t (_, s) -> let s = Item_t (operation_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISet_delegate (kinfo, k)); + reconstruct = (fun k -> ISet_delegate (loc, k)); } - | INow (kinfo, k), s -> + | INow (loc, k), s -> let s = Item_t (timestamp_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INow (kinfo, k)); + reconstruct = (fun k -> INow (loc, k)); } - | IBalance (kinfo, k), s -> + | IBalance (loc, k), s -> let s = Item_t (mutez_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBalance (kinfo, k)); + reconstruct = (fun k -> IBalance (loc, k)); } - | ILevel (kinfo, k), s -> + | ILevel (loc, k), s -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ILevel (kinfo, k)); + reconstruct = (fun k -> ILevel (loc, k)); } - | ICheck_signature (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + | ICheck_signature (loc, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ICheck_signature (kinfo, k)); + reconstruct = (fun k -> ICheck_signature (loc, k)); } - | IHash_key (kinfo, k), Item_t (_, s) -> + | IHash_key (loc, k), Item_t (_, s) -> let s = Item_t (key_hash_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IHash_key (kinfo, k)); + reconstruct = (fun k -> IHash_key (loc, k)); } - | IPack (kinfo, ty, k), Item_t (_, s) -> + | IPack (loc, ty, k), Item_t (_, s) -> let s = Item_t (bytes_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IPack (kinfo, ty, k)); + reconstruct = (fun k -> IPack (loc, ty, k)); } - | IUnpack (kinfo, ty, k), Item_t (_, s) -> - option_t loc ty >|? fun o -> + | IUnpack (loc, ty, k), Item_t (_, s) -> + option_t dummy ty >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IUnpack (kinfo, ty, k)); + reconstruct = (fun k -> IUnpack (loc, ty, k)); } - | IBlake2b (kinfo, k), s -> + | IBlake2b (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IBlake2b (kinfo, k)); + reconstruct = (fun k -> IBlake2b (loc, k)); } - | ISha256 (kinfo, k), s -> + | ISha256 (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISha256 (kinfo, k)); + reconstruct = (fun k -> ISha256 (loc, k)); } - | ISha512 (kinfo, k), s -> + | ISha512 (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISha512 (kinfo, k)); + reconstruct = (fun k -> ISha512 (loc, k)); } - | ISource (kinfo, k), s -> + | ISource (loc, k), s -> let s = Item_t (address_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISource (kinfo, k)); + reconstruct = (fun k -> ISource (loc, k)); } - | ISender (kinfo, k), s -> + | ISender (loc, k), s -> let s = Item_t (address_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISender (kinfo, k)); + reconstruct = (fun k -> ISender (loc, k)); } - | ISelf (kinfo, ty, ep, k), s -> - contract_t loc ty >|? fun c -> + | ISelf (loc, ty, ep, k), s -> + contract_t dummy ty >|? fun c -> let s = Item_t (c, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISelf (kinfo, ty, ep, k)); + reconstruct = (fun k -> ISelf (loc, ty, ep, k)); } - | ISelf_address (kinfo, k), s -> + | ISelf_address (loc, k), s -> let s = Item_t (address_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISelf_address (kinfo, k)); + reconstruct = (fun k -> ISelf_address (loc, k)); } - | IAmount (kinfo, k), s -> + | IAmount (loc, k), s -> let s = Item_t (mutez_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAmount (kinfo, k)); + reconstruct = (fun k -> IAmount (loc, k)); } - | ISapling_empty_state (kinfo, memo_size, k), s -> + | ISapling_empty_state (loc, memo_size, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = Item_t (sapling_state_t ~memo_size, s); continuation = k; - reconstruct = (fun k -> ISapling_empty_state (kinfo, memo_size, k)); + reconstruct = (fun k -> ISapling_empty_state (loc, memo_size, k)); } - | ( ISapling_verify_update_deprecated (kinfo, k), - Item_t (_, Item_t (state_ty, s)) ) -> - pair_t loc int_t state_ty >>? fun (Ty_ex_c pair_ty) -> - option_t loc pair_ty >|? fun ty -> + | ISapling_verify_update_deprecated (loc, k), Item_t (_, Item_t (state_ty, s)) + -> + pair_t dummy int_t state_ty >>? fun (Ty_ex_c pair_ty) -> + option_t dummy pair_ty >|? fun ty -> Ex_split_kinstr { cont_init_stack = Item_t (ty, s); continuation = k; - reconstruct = (fun k -> ISapling_verify_update_deprecated (kinfo, k)); + reconstruct = (fun k -> ISapling_verify_update_deprecated (loc, k)); } - | ISapling_verify_update (kinfo, k), Item_t (_, Item_t (state_ty, s)) -> - pair_t loc int_t state_ty >>? fun (Ty_ex_c int_state_ty) -> - pair_t loc bytes_t int_state_ty >>? fun (Ty_ex_c pair_ty) -> - option_t loc pair_ty >|? fun ty -> + | ISapling_verify_update (loc, k), Item_t (_, Item_t (state_ty, s)) -> + pair_t dummy int_t state_ty >>? fun (Ty_ex_c int_state_ty) -> + pair_t dummy bytes_t int_state_ty >>? fun (Ty_ex_c pair_ty) -> + option_t dummy pair_ty >|? fun ty -> let s = Item_t (ty, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISapling_verify_update (kinfo, k)); + reconstruct = (fun k -> ISapling_verify_update (loc, k)); } - | IDig (kinfo, n, p, k), s -> + | IDig (loc, n, p, k), s -> let (Item_t (b, s)) = stack_prefix_preservation_witness_split_input p s in let s = stack_prefix_preservation_witness_split_output p s in let s = Item_t (b, s) in @@ -1237,9 +1232,9 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDig (kinfo, n, p, k)); + reconstruct = (fun k -> IDig (loc, n, p, k)); } - | IDug (kinfo, n, p, k), Item_t (a, s) -> + | IDug (loc, n, p, k), Item_t (a, s) -> let s = stack_prefix_preservation_witness_split_input p s in let s = Item_t (a, s) in let s = stack_prefix_preservation_witness_split_output p s in @@ -1248,9 +1243,9 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDug (kinfo, n, p, k)); + reconstruct = (fun k -> IDug (loc, n, p, k)); } - | IDipn (kinfo, n, p, k1, k2), s -> + | IDipn (loc, n, p, k1, k2), s -> ok @@ Ex_split_loop_may_not_fail { @@ -1260,174 +1255,173 @@ let kinstr_split : aft_body_stack_transform = (fun s -> ok @@ stack_prefix_preservation_witness_split_output p s); - reconstruct = (fun k1 k2 -> IDipn (kinfo, n, p, k1, k2)); + reconstruct = (fun k1 k2 -> IDipn (loc, n, p, k1, k2)); } - | IDropn (kinfo, n, p, k), s -> + | IDropn (loc, n, p, k), s -> let s = stack_prefix_preservation_witness_split_input p s in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDropn (kinfo, n, p, k)); + reconstruct = (fun k -> IDropn (loc, n, p, k)); } - | IChainId (kinfo, k), s -> + | IChainId (loc, k), s -> let s = Item_t (chain_id_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IChainId (kinfo, k)); + reconstruct = (fun k -> IChainId (loc, k)); } - | INever kinfo, Item_t (arg_ty, _) -> + | INever location, Item_t (arg_ty, _) -> ok - @@ Ex_split_failwith - {kinfo; location = loc; arg_ty; cast = {cast = INever kinfo}} - | IVoting_power (kinfo, k), Item_t (_, s) -> + @@ Ex_split_failwith {location; arg_ty; cast = {cast = INever location}} + | IVoting_power (loc, k), Item_t (_, s) -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IVoting_power (kinfo, k)); + reconstruct = (fun k -> IVoting_power (loc, k)); } - | ITotal_voting_power (kinfo, k), s -> + | ITotal_voting_power (loc, k), s -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ITotal_voting_power (kinfo, k)); + reconstruct = (fun k -> ITotal_voting_power (loc, k)); } - | IKeccak (kinfo, k), s -> + | IKeccak (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IKeccak (kinfo, k)); + reconstruct = (fun k -> IKeccak (loc, k)); } - | ISha3 (kinfo, k), s -> + | ISha3 (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISha3 (kinfo, k)); + reconstruct = (fun k -> ISha3 (loc, k)); } - | IAdd_bls12_381_g1 (kinfo, k), Item_t (_, s) -> + | IAdd_bls12_381_g1 (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_bls12_381_g1 (kinfo, k)); + reconstruct = (fun k -> IAdd_bls12_381_g1 (loc, k)); } - | IAdd_bls12_381_g2 (kinfo, k), Item_t (_, s) -> + | IAdd_bls12_381_g2 (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_bls12_381_g2 (kinfo, k)); + reconstruct = (fun k -> IAdd_bls12_381_g2 (loc, k)); } - | IAdd_bls12_381_fr (kinfo, k), Item_t (_, s) -> + | IAdd_bls12_381_fr (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IAdd_bls12_381_fr (kinfo, k)); + reconstruct = (fun k -> IAdd_bls12_381_fr (loc, k)); } - | IMul_bls12_381_g1 (kinfo, k), Item_t (g1, Item_t (_, s)) -> + | IMul_bls12_381_g1 (loc, k), Item_t (g1, Item_t (_, s)) -> let s = Item_t (g1, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_bls12_381_g1 (kinfo, k)); + reconstruct = (fun k -> IMul_bls12_381_g1 (loc, k)); } - | IMul_bls12_381_g2 (kinfo, k), Item_t (g2, Item_t (_, s)) -> + | IMul_bls12_381_g2 (loc, k), Item_t (g2, Item_t (_, s)) -> let s = Item_t (g2, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_bls12_381_g2 (kinfo, k)); + reconstruct = (fun k -> IMul_bls12_381_g2 (loc, k)); } - | IMul_bls12_381_fr (kinfo, k), Item_t (_, s) -> + | IMul_bls12_381_fr (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_bls12_381_fr (kinfo, k)); + reconstruct = (fun k -> IMul_bls12_381_fr (loc, k)); } - | IMul_bls12_381_z_fr (kinfo, k), Item_t (fr, Item_t (_, s)) -> + | IMul_bls12_381_z_fr (loc, k), Item_t (fr, Item_t (_, s)) -> let s = Item_t (fr, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_bls12_381_z_fr (kinfo, k)); + reconstruct = (fun k -> IMul_bls12_381_z_fr (loc, k)); } - | IMul_bls12_381_fr_z (kinfo, k), Item_t (_, s) -> + | IMul_bls12_381_fr_z (loc, k), Item_t (_, s) -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMul_bls12_381_fr_z (kinfo, k)); + reconstruct = (fun k -> IMul_bls12_381_fr_z (loc, k)); } - | IInt_bls12_381_fr (kinfo, k), Item_t (_, s) -> + | IInt_bls12_381_fr (loc, k), Item_t (_, s) -> let s = Item_t (int_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IInt_bls12_381_fr (kinfo, k)); + reconstruct = (fun k -> IInt_bls12_381_fr (loc, k)); } - | INeg_bls12_381_g1 (kinfo, k), s -> + | INeg_bls12_381_g1 (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INeg_bls12_381_g1 (kinfo, k)); + reconstruct = (fun k -> INeg_bls12_381_g1 (loc, k)); } - | INeg_bls12_381_g2 (kinfo, k), s -> + | INeg_bls12_381_g2 (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INeg_bls12_381_g2 (kinfo, k)); + reconstruct = (fun k -> INeg_bls12_381_g2 (loc, k)); } - | INeg_bls12_381_fr (kinfo, k), s -> + | INeg_bls12_381_fr (loc, k), s -> ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> INeg_bls12_381_fr (kinfo, k)); + reconstruct = (fun k -> INeg_bls12_381_fr (loc, k)); } - | IPairing_check_bls12_381 (kinfo, k), Item_t (_, s) -> + | IPairing_check_bls12_381 (loc, k), Item_t (_, s) -> let s = Item_t (bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IPairing_check_bls12_381 (kinfo, k)); + reconstruct = (fun k -> IPairing_check_bls12_381 (loc, k)); } - | IComb (kinfo, n, p, k), s -> + | IComb (loc, n, p, k), s -> let rec aux : type a b s c d t. (a, b * s) stack_ty -> @@ -1438,16 +1432,16 @@ let kinstr_split : | Comb_one, s -> ok s | Comb_succ w, Item_t (a, s) -> aux s w >>? fun (Item_t (c, t)) -> - pair_t loc a c >|? fun (Ty_ex_c p) -> Item_t (p, t) + pair_t dummy a c >|? fun (Ty_ex_c p) -> Item_t (p, t) in aux s p >|? fun s -> Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IComb (kinfo, n, p, k)); + reconstruct = (fun k -> IComb (loc, n, p, k)); } - | IUncomb (kinfo, n, p, k), s -> + | IUncomb (loc, n, p, k), s -> let rec aux : type a b s c d t. (a, b * s) stack_ty -> @@ -1466,9 +1460,9 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IUncomb (kinfo, n, p, k)); + reconstruct = (fun k -> IUncomb (loc, n, p, k)); } - | IComb_get (kinfo, n, p, k), Item_t (c, s) -> + | IComb_get (loc, n, p, k), Item_t (c, s) -> let rec aux : type c cc a. (c, cc) ty -> (c, a) comb_get_gadt_witness -> a ty_ex_c = fun c w -> @@ -1486,9 +1480,9 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IComb_get (kinfo, n, p, k)); + reconstruct = (fun k -> IComb_get (loc, n, p, k)); } - | IComb_set (kinfo, n, p, k), Item_t (a, Item_t (b, s)) -> + | IComb_set (loc, n, p, k), Item_t (a, Item_t (b, s)) -> let rec aux : type a b c ca cb. (a, ca) ty -> @@ -1498,9 +1492,9 @@ let kinstr_split : fun a b w -> match (w, b) with | Comb_set_zero, _ -> ok (Ty_ex_c a) - | Comb_set_one, Pair_t (_hd, tl, _meta, _) -> pair_t loc a tl + | Comb_set_one, Pair_t (_hd, tl, _meta, _) -> pair_t dummy a tl | Comb_set_plus_two w, Pair_t (hd, tl, _meta, _) -> - aux a tl w >>? fun (Ty_ex_c c) -> pair_t loc hd c + aux a tl w >>? fun (Ty_ex_c c) -> pair_t dummy hd c in aux a b p >|? fun (Ty_ex_c c) -> let s = Item_t (c, s) in @@ -1508,9 +1502,9 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IComb_set (kinfo, n, p, k)); + reconstruct = (fun k -> IComb_set (loc, n, p, k)); } - | IDup_n (kinfo, n, p, k), s -> + | IDup_n (loc, n, p, k), s -> let rec aux : type a b s t. (a, b * s) stack_ty -> (a, b, s, t) dup_n_gadt_witness -> t ty_ex_c = @@ -1528,72 +1522,72 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IDup_n (kinfo, n, p, k)); + reconstruct = (fun k -> IDup_n (loc, n, p, k)); } - | ITicket (kinfo, cty, k), Item_t (_, Item_t (_, s)) -> - ticket_t loc cty >|? fun t -> + | ITicket (loc, cty, k), Item_t (_, Item_t (_, s)) -> + ticket_t dummy cty >|? fun t -> let s = Item_t (t, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ITicket (kinfo, cty, k)); + reconstruct = (fun k -> ITicket (loc, cty, k)); } - | IRead_ticket (kinfo, a, k), s -> - pair_t loc a nat_t >>? fun (Ty_ex_c p) -> - pair_t loc address_t p >|? fun (Ty_ex_c t) -> + | IRead_ticket (loc, a, k), s -> + pair_t dummy a nat_t >>? fun (Ty_ex_c p) -> + pair_t dummy address_t p >|? fun (Ty_ex_c t) -> let s = Item_t (t, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IRead_ticket (kinfo, a, k)); + reconstruct = (fun k -> IRead_ticket (loc, a, k)); } - | ISplit_ticket (kinfo, k), Item_t (t, Item_t (_, s)) -> - pair_t loc t t >>? fun (Ty_ex_c p) -> - option_t loc p >|? fun o -> + | ISplit_ticket (loc, k), Item_t (t, Item_t (_, s)) -> + pair_t dummy t t >>? fun (Ty_ex_c p) -> + option_t dummy p >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> ISplit_ticket (kinfo, k)); + reconstruct = (fun k -> ISplit_ticket (loc, k)); } - | IJoin_tickets (kinfo, ty, k), Item_t (Pair_t (t, _t, _meta, _), s) -> - option_t loc t >|? fun o -> + | IJoin_tickets (loc, ty, k), Item_t (Pair_t (t, _t, _meta, _), s) -> + option_t dummy t >|? fun o -> let s = Item_t (o, s) in Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IJoin_tickets (kinfo, ty, k)); + reconstruct = (fun k -> IJoin_tickets (loc, ty, k)); } - | IOpen_chest (kinfo, k), Item_t (_, Item_t (_, Item_t (_, s))) -> + | IOpen_chest (loc, k), Item_t (_, Item_t (_, Item_t (_, s))) -> let s = Item_t (union_bytes_bool_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IOpen_chest (kinfo, k)); + reconstruct = (fun k -> IOpen_chest (loc, k)); } - | IMin_block_time (kinfo, k), s -> + | IMin_block_time (loc, k), s -> let s = Item_t (nat_t, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IMin_block_time (kinfo, k)); + reconstruct = (fun k -> IMin_block_time (loc, k)); } - | IHalt kinfo, _s -> ok @@ Ex_split_halt kinfo - | ILog (kinfo, _stack_ty, event, logger, continuation), stack -> + | IHalt loc, _s -> ok @@ Ex_split_halt loc + | ILog (loc, _stack_ty, event, logger, continuation), stack -> ok @@ Ex_split_log { stack; continuation; - reconstruct = (fun k -> ILog (kinfo, s, event, logger, k)); + reconstruct = (fun k -> ILog (loc, s, event, logger, k)); } let rec kinstr_final_stack_type : @@ -1687,19 +1681,17 @@ let kinstr_rewritek : (f.apply left_init_stack left_branch) (f.apply right_init_stack right_branch) k - | Ex_split_halt kinfo -> ok @@ IHalt kinfo - | Ex_split_failwith {kinfo; location; arg_ty; _} -> - ok @@ IFailwith (kinfo, location, arg_ty) + | Ex_split_halt loc -> ok @@ IHalt loc + | Ex_split_failwith {location; arg_ty; _} -> ok @@ IFailwith (location, arg_ty) let log_entry logger ctxt gas k sty accu stack = - let kinfo = kinfo_of_kinstr k in let ctxt = Local_gas_counter.update_context gas ctxt in - logger.log_entry k ctxt kinfo.iloc sty (accu, stack) + logger.log_entry k ctxt (kinstr_location k) sty (accu, stack) -let log_exit logger ctxt gas kinfo_prev k sty accu stack = - let _kinfo = kinfo_of_kinstr k in +let log_exit logger ctxt gas loc_prev k sty accu stack = + let _loc = kinstr_location k in let ctxt = Local_gas_counter.update_context gas ctxt in - logger.log_exit k ctxt kinfo_prev.iloc sty (accu, stack) + logger.log_exit k ctxt loc_prev sty (accu, stack) let log_control logger ks = logger.log_control ks @@ -1710,7 +1702,7 @@ let get_log = function (* [log_kinstr logger i] emits an instruction to instrument the execution of [i] with [logger]. *) -let log_kinstr logger sty i = ILog (kinfo_of_kinstr i, sty, LogEntry, logger, i) +let log_kinstr logger sty i = ILog (kinstr_location i, sty, LogEntry, logger, i) (* [log_next_kinstr logger i] instruments the next instruction of [i] with the [logger]. @@ -1727,9 +1719,9 @@ let log_kinstr logger sty i = ILog (kinfo_of_kinstr i, sty, LogEntry, logger, i) let log_next_kinstr logger sty i = let apply sty k = ILog - ( kinfo_of_kinstr k, + ( kinstr_location k, sty, - LogExit (kinfo_of_kinstr i), + LogExit (kinstr_location i), logger, log_kinstr logger sty k ) in diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index c19a1e349a6d..8fd0f6235888 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -47,7 +47,7 @@ val log_exit : Script_typed_ir.logger -> Local_gas_counter.outdated_context -> Local_gas_counter.local_gas_counter -> - ('a, 'b) Script_typed_ir.kinfo -> + Alpha_context.Script.location -> ('c, 'd, 'e, 'f) Script_typed_ir.kinstr -> ('g, 'h) Script_typed_ir.stack_ty -> 'g -> diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 5ec1ff765543..6d91bd294d0a 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -71,8 +71,7 @@ type ('a, 's, 'b, 'u) descr = { } let close_descr {loc; bef; aft; instr} = - let kinfo = {iloc = loc} in - let kinstr = instr.apply (IHalt kinfo) in + let kinstr = instr.apply (IHalt loc) in {kloc = loc; kbef = bef; kaft = aft; kinstr} let compose_descr : @@ -1631,8 +1630,7 @@ let rec make_dug_proof_argument : | n, Item_t (v, rest) -> make_dug_proof_argument loc (n - 1) x rest |> Option.map @@ fun (Dug_proof_argument (n', aft')) -> - let kinfo = {iloc = loc} in - Dug_proof_argument (KPrefix (kinfo, v, n'), Item_t (v, aft')) + Dug_proof_argument (KPrefix (loc, v, n'), Item_t (v, aft')) | _, _ -> None let rec make_comb_get_proof_argument : @@ -2931,7 +2929,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : (* stack ops *) | Prim (loc, I_DROP, [], annot), Item_t (_, rest) -> (error_unexpected_annot loc annot >>?= fun () -> - typed ctxt loc {apply = (fun k -> IDrop ({iloc = loc}, k))} rest + typed ctxt loc {apply = (fun k -> IDrop (loc, k))} rest : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_DROP, [n], result_annot), whole_stack -> parse_uint10 n >>?= fun whole_n -> @@ -2945,8 +2943,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | false, Item_t (a, rest) -> make_proof_argument (n - 1) rest >|? fun (Dropn_proof_argument (n', stack_after_drops)) -> - let kinfo = {iloc = loc} in - Dropn_proof_argument (KPrefix (kinfo, a, n'), stack_after_drops) + Dropn_proof_argument (KPrefix (loc, a, n'), stack_after_drops) | _, _ -> let whole_stack = serialize_stack_for_error ctxt whole_stack in error (Bad_stack (loc, I_DROP, whole_n, whole_stack)) @@ -2954,7 +2951,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument whole_n whole_stack >>?= fun (Dropn_proof_argument (n', stack_after_drops)) -> - let kdropn k = IDropn ({iloc = loc}, whole_n, n', k) in + let kdropn k = IDropn (loc, whole_n, n', k) in typed ctxt loc {apply = kdropn} stack_after_drops | Prim (loc, I_DROP, (_ :: _ :: _ as l), _), _ -> (* Technically, the arities 0 and 1 are allowed but the error only mentions 1. @@ -2968,7 +2965,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc v) >>?= fun ctxt -> - let dup = {apply = (fun k -> IDup ({iloc = loc}, k))} in + let dup = {apply = (fun k -> IDup (loc, k))} in typed ctxt loc dup (Item_t (v, stack)) | Prim (loc, I_DUP, [n], v_annot), (Item_t _ as stack_ty) -> check_var_annot loc v_annot >>?= fun () -> @@ -2997,7 +2994,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc after_ty) >>?= fun ctxt -> - let dupn = {apply = (fun k -> IDup_n ({iloc = loc}, n, witness, k))} in + let dupn = {apply = (fun k -> IDup_n (loc, n, witness, k))} in typed ctxt loc dupn (Item_t (after_ty, stack_ty)) | Prim (loc, I_DIG, [n], result_annot), stack -> let rec make_proof_argument : @@ -3009,8 +3006,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | false, Item_t (v, rest) -> make_proof_argument (n - 1) rest >|? fun (Dig_proof_argument (n', x, aft')) -> - let kinfo = {iloc = loc} in - Dig_proof_argument (KPrefix (kinfo, v, n'), x, Item_t (v, aft')) + Dig_proof_argument (KPrefix (loc, v, n'), x, Item_t (v, aft')) | _, _ -> let whole_stack = serialize_stack_for_error ctxt stack in error (Bad_stack (loc, I_DIG, 3, whole_stack)) @@ -3019,7 +3015,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n stack >>?= fun (Dig_proof_argument (n', x, aft)) -> - let dig = {apply = (fun k -> IDig ({iloc = loc}, n, n', k))} in + let dig = {apply = (fun k -> IDig (loc, n, n', k))} in typed ctxt loc dig (Item_t (x, aft)) | Prim (loc, I_DIG, (([] | _ :: _ :: _) as l), _), _ -> fail (Invalid_arity (loc, I_DIG, 1, List.length l)) @@ -3032,7 +3028,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let whole_stack = serialize_stack_for_error ctxt whole_stack in fail (Bad_stack (loc, I_DUG, whole_n, whole_stack)) | Some (Dug_proof_argument (n', aft)) -> - let dug = {apply = (fun k -> IDug ({iloc = loc}, whole_n, n', k))} in + let dug = {apply = (fun k -> IDug (loc, whole_n, n', k))} in typed ctxt loc dug aft) | Prim (loc, I_DUG, [_], result_annot), stack -> Lwt.return @@ -3043,7 +3039,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : fail (Invalid_arity (loc, I_DUG, 1, List.length l)) | Prim (loc, I_SWAP, [], annot), Item_t (v, Item_t (w, rest)) -> error_unexpected_annot loc annot >>?= fun () -> - let swap = {apply = (fun k -> ISwap ({iloc = loc}, k))} in + let swap = {apply = (fun k -> ISwap (loc, k))} in let stack_ty = Item_t (w, Item_t (v, rest)) in typed ctxt loc swap stack_ty | Prim (loc, I_PUSH, [t; d], annot), stack -> @@ -3059,22 +3055,22 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : t d >>=? fun (v, ctxt) -> - let const = {apply = (fun k -> IConst ({iloc = loc}, t, v, k))} in + let const = {apply = (fun k -> IConst (loc, t, v, k))} in typed ctxt loc const (Item_t (t, stack)) | Prim (loc, I_UNIT, [], annot), stack -> check_var_type_annot loc annot >>?= fun () -> - let const = {apply = (fun k -> IConst ({iloc = loc}, unit_t, (), k))} in + let const = {apply = (fun k -> IConst (loc, unit_t, (), k))} in typed ctxt loc const (Item_t (unit_t, stack)) (* options *) | Prim (loc, I_SOME, [], annot), Item_t (t, rest) -> check_var_type_annot loc annot >>?= fun () -> - let cons_some = {apply = (fun k -> ICons_some ({iloc = loc}, k))} in + let cons_some = {apply = (fun k -> ICons_some (loc, k))} in option_t loc t >>?= fun ty -> typed ctxt loc cons_some (Item_t (ty, rest)) | Prim (loc, I_NONE, [t], annot), stack -> parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy t >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let cons_none = {apply = (fun k -> ICons_none ({iloc = loc}, t, k))} in + let cons_none = {apply = (fun k -> ICons_none (loc, t, k))} in option_t loc t >>?= fun ty -> let stack_ty = Item_t (ty, stack) in typed ctxt loc cons_none stack_ty @@ -3102,9 +3098,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : ( stack_eq loc ctxt 1 aft_rest rest >>? fun (Eq, ctxt) -> option_t loc ret >>? fun opt_ty -> let final_stack = Item_t (opt_ty, rest) in - let hinfo = {iloc = loc} in - let body = kibody.instr.apply (IHalt hinfo) in - let apply k = IOpt_map {kinfo = {iloc = loc}; body; k} in + let body = kibody.instr.apply (IHalt loc) in + let apply k = IOpt_map {loc; body; k} in typed_no_lwt ctxt loc {apply} final_stack ) | Typed {aft = Bot_t; _} -> let aft = serialize_stack_for_error ctxt Bot_t in @@ -3125,11 +3120,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = kinfo_of_kinstr k in - let branch_if_none = ibt.instr.apply (IHalt hinfo) - and branch_if_some = ibf.instr.apply (IHalt hinfo) in - IIf_none - {kinfo = {iloc = loc}; branch_if_none; branch_if_some; k}); + let hloc = kinstr_location k in + let branch_if_none = ibt.instr.apply (IHalt hloc) + and branch_if_some = ibf.instr.apply (IHalt hloc) in + IIf_none {loc; branch_if_none; branch_if_some; k}); } in {loc; instr = ifnone; bef; aft = ibt.aft} @@ -3140,7 +3134,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_constr_annot loc annot >>?= fun () -> pair_t loc a b >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in - let cons_pair = {apply = (fun k -> ICons_pair ({iloc = loc}, k))} in + let cons_pair = {apply = (fun k -> ICons_pair (loc, k))} in typed ctxt loc cons_pair stack_ty | Prim (loc, I_PAIR, [n], annot), (Item_t _ as stack_ty) -> check_var_annot loc annot >>?= fun () -> @@ -3164,7 +3158,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Comb_proof_argument (witness, after_ty)) -> - let comb = {apply = (fun k -> IComb ({iloc = loc}, n, witness, k))} in + let comb = {apply = (fun k -> IComb (loc, n, witness, k))} in typed ctxt loc comb after_ty | Prim (loc, I_UNPAIR, [n], annot), (Item_t _ as stack_ty) -> error_unexpected_annot loc annot >>?= fun () -> @@ -3189,7 +3183,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> - let uncomb = {apply = (fun k -> IUncomb ({iloc = loc}, n, witness, k))} in + let uncomb = {apply = (fun k -> IUncomb (loc, n, witness, k))} in typed ctxt loc uncomb after_ty | Prim (loc, I_GET, [n], annot), Item_t (comb_ty, rest_ty) -> ( check_var_annot loc annot >>?= fun () -> @@ -3201,9 +3195,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : fail (Bad_stack (loc, I_GET, 1, whole_stack)) | Some (Comb_get_proof_argument (witness, ty')) -> let after_stack_ty = Item_t (ty', rest_ty) in - let comb_get = - {apply = (fun k -> IComb_get ({iloc = loc}, n, witness, k))} - in + let comb_get = {apply = (fun k -> IComb_get (loc, n, witness, k))} in typed ctxt loc comb_get after_stack_ty) | ( Prim (loc, I_UPDATE, [n], annot), Item_t (value_ty, Item_t (comb_ty, rest_ty)) ) -> @@ -3213,28 +3205,26 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : make_comb_set_proof_argument ctxt stack_ty loc n value_ty comb_ty >>?= fun (Comb_set_proof_argument (witness, after_ty)) -> let after_stack_ty = Item_t (after_ty, rest_ty) in - let comb_set = - {apply = (fun k -> IComb_set ({iloc = loc}, n, witness, k))} - in + let comb_set = {apply = (fun k -> IComb_set (loc, n, witness, k))} in typed ctxt loc comb_set after_stack_ty | Prim (loc, I_UNPAIR, [], annot), Item_t (Pair_t (a, b, _, _), rest) -> check_unpair_annot loc annot >>?= fun () -> - let unpair = {apply = (fun k -> IUnpair ({iloc = loc}, k))} in + let unpair = {apply = (fun k -> IUnpair (loc, k))} in typed ctxt loc unpair (Item_t (a, Item_t (b, rest))) | Prim (loc, I_CAR, [], annot), Item_t (Pair_t (a, _, _, _), rest) -> check_destr_annot loc annot >>?= fun () -> - let car = {apply = (fun k -> ICar ({iloc = loc}, k))} in + let car = {apply = (fun k -> ICar (loc, k))} in typed ctxt loc car (Item_t (a, rest)) | Prim (loc, I_CDR, [], annot), Item_t (Pair_t (_, b, _, _), rest) -> check_destr_annot loc annot >>?= fun () -> - let cdr = {apply = (fun k -> ICdr ({iloc = loc}, k))} in + let cdr = {apply = (fun k -> ICdr (loc, k))} in typed ctxt loc cdr (Item_t (b, rest)) (* unions *) | Prim (loc, I_LEFT, [tr], annot), Item_t (tl, rest) -> parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tr >>?= fun (Ex_ty tr, ctxt) -> check_constr_annot loc annot >>?= fun () -> - let cons_left = {apply = (fun k -> ICons_left ({iloc = loc}, tr, k))} in + let cons_left = {apply = (fun k -> ICons_left (loc, tr, k))} in union_t loc tl tr >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in typed ctxt loc cons_left stack_ty @@ -3242,7 +3232,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tl >>?= fun (Ex_ty tl, ctxt) -> check_constr_annot loc annot >>?= fun () -> - let cons_right = {apply = (fun k -> ICons_right ({iloc = loc}, tl, k))} in + let cons_right = {apply = (fun k -> ICons_right (loc, tl, k))} in union_t loc tl tr >>?= fun (Ty_ex_c ty) -> let stack_ty = Item_t (ty, rest) in typed ctxt loc cons_right stack_ty @@ -3272,11 +3262,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = kinfo_of_kinstr k in - let branch_if_left = ibt.instr.apply (IHalt hinfo) - and branch_if_right = ibf.instr.apply (IHalt hinfo) in - IIf_left - {kinfo = {iloc = loc}; branch_if_left; branch_if_right; k}); + let hloc = kinstr_location k in + let branch_if_left = ibt.instr.apply (IHalt hloc) + and branch_if_right = ibf.instr.apply (IHalt hloc) in + IIf_left {loc; branch_if_left; branch_if_right; k}); } in {loc; instr; bef; aft = ibt.aft} @@ -3287,13 +3276,13 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy t >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let nil = {apply = (fun k -> INil ({iloc = loc}, t, k))} in + let nil = {apply = (fun k -> INil (loc, t, k))} in list_t loc t >>?= fun ty -> typed ctxt loc nil (Item_t (ty, stack)) | ( Prim (loc, I_CONS, [], annot), Item_t (tv, (Item_t (List_t (t, _), _) as stack)) ) -> check_item_ty ctxt tv t loc I_CONS 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let cons_list = {apply = (fun k -> ICons_list ({iloc = loc}, k))} in + let cons_list = {apply = (fun k -> ICons_list (loc, k))} in (typed ctxt loc cons_list stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_IF_CONS, [bt; bf], annot), @@ -3316,11 +3305,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = kinfo_of_kinstr k in - let branch_if_cons = ibt.instr.apply (IHalt hinfo) - and branch_if_nil = ibf.instr.apply (IHalt hinfo) in - IIf_cons - {kinfo = {iloc = loc}; branch_if_nil; branch_if_cons; k}); + let hloc = kinstr_location k in + let branch_if_cons = ibt.instr.apply (IHalt hloc) + and branch_if_nil = ibf.instr.apply (IHalt hloc) in + IIf_cons {loc; branch_if_nil; branch_if_cons; k}); } in {loc; instr; bef; aft = ibt.aft} @@ -3328,7 +3316,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Lwt.return @@ merge_branches ctxt loc btr bfr {branch} | Prim (loc, I_SIZE, [], annot), Item_t (List_t _, rest) -> check_var_type_annot loc annot >>?= fun () -> - let list_size = {apply = (fun k -> IList_size ({iloc = loc}, k))} in + let list_size = {apply = (fun k -> IList_size (loc, k))} in typed ctxt loc list_size (Item_t (nat_t, rest)) | Prim (loc, I_MAP, [body], annot), Item_t (List_t (elt, _), starting_rest) -> ( @@ -3353,11 +3341,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : record_trace_eval invalid_map_body ( stack_eq loc ctxt 1 rest starting_rest >>? fun (Eq, ctxt) -> - let hinfo = {iloc = loc} in - let ibody = kibody.instr.apply (IHalt hinfo) in - let list_map = - {apply = (fun k -> IList_map ({iloc = loc}, ibody, k))} - in + let hloc = loc in + let ibody = kibody.instr.apply (IHalt hloc) in + let list_map = {apply = (fun k -> IList_map (loc, ibody, k))} in list_t loc ret >>? fun ty -> let stack = Item_t (ty, rest) in typed_no_lwt ctxt loc list_map stack ) @@ -3380,9 +3366,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = {iloc = loc} in + let hinfo = loc in let ibody = ibody.instr.apply (IHalt hinfo) in - IList_iter ({iloc = loc}, elt, ibody, k)); + IList_iter (loc, elt, ibody, k)); } in Lwt.return @@ -3406,7 +3392,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_comparable_ty ~stack_depth:(stack_depth + 1) ctxt t >>?= fun (Ex_comparable_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEmpty_set ({iloc = loc}, t, k))} in + let instr = {apply = (fun k -> IEmpty_set (loc, t, k))} in set_t loc t >>?= fun ty -> typed ctxt loc instr (Item_t (ty, rest)) | Prim (loc, I_ITER, [body], annot), Item_t (Set_t (elt, _), rest) -> ( check_kind [Seq_kind] body >>?= fun () -> @@ -3423,9 +3409,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = {iloc = loc} in + let hinfo = loc in let ibody = ibody.instr.apply (IHalt hinfo) in - ISet_iter ({iloc = loc}, elt, ibody, k)); + ISet_iter (loc, elt, ibody, k)); } in Lwt.return @@ -3447,18 +3433,18 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | Prim (loc, I_MEM, [], annot), Item_t (v, Item_t (Set_t (elt, _), rest)) -> check_var_type_annot loc annot >>?= fun () -> check_item_ty ctxt elt v loc I_MEM 1 2 >>?= fun (Eq, ctxt) -> - let instr = {apply = (fun k -> ISet_mem ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISet_mem (loc, k))} in (typed ctxt loc instr (Item_t (bool_t, rest)) : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_UPDATE, [], annot), Item_t (v, Item_t (Bool_t, (Item_t (Set_t (elt, _), _) as stack))) ) -> check_item_ty ctxt elt v loc I_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISet_update ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISet_update (loc, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_SIZE, [], annot), Item_t (Set_t _, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISet_size ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISet_size (loc, k))} in typed ctxt loc instr (Item_t (nat_t, rest)) (* maps *) | Prim (loc, I_EMPTY_MAP, [tk; tv], annot), stack -> @@ -3467,7 +3453,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_any_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tv >>?= fun (Ex_ty tv, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEmpty_map ({iloc = loc}, tk, tv, k))} in + let instr = {apply = (fun k -> IEmpty_map (loc, tk, tv, k))} in map_t loc tk tv >>?= fun ty -> typed ctxt loc instr (Item_t (ty, stack)) | Prim (loc, I_MAP, [body], annot), Item_t (Map_t (kt, elt, _), starting_rest) -> ( @@ -3497,9 +3483,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = {iloc = loc} in + let hinfo = loc in let ibody = ibody.instr.apply (IHalt hinfo) in - IMap_map ({iloc = loc}, kt, ibody, k)); + IMap_map (loc, kt, ibody, k)); } in map_t loc kt ret >>? fun ty -> @@ -3526,9 +3512,9 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = {iloc = loc} in + let hinfo = loc in let ibody = ibody.instr.apply (IHalt hinfo) in - IMap_iter ({iloc = loc}, ty, ibody, k)); + IMap_iter (loc, ty, ibody, k)); } in Lwt.return @@ -3549,14 +3535,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | Prim (loc, I_MEM, [], annot), Item_t (vk, Item_t (Map_t (k, _, _), rest)) -> check_item_ty ctxt vk k loc I_MEM 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMap_mem ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMap_mem (loc, k))} in (typed ctxt loc instr (Item_t (bool_t, rest)) : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Map_t (k, elt, _), rest)) -> check_item_ty ctxt vk k loc I_GET 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMap_get ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMap_get (loc, k))} in option_t loc elt >>?= fun ty : ((a, s) judgement * context) tzresult Lwt.t -> typed ctxt loc instr (Item_t (ty, rest)) @@ -3568,7 +3554,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt vk k loc I_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_item_ty ctxt vv v loc I_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMap_update ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMap_update (loc, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t @@ -3578,11 +3564,11 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt vk k loc I_GET_AND_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_item_ty ctxt vv v loc I_GET_AND_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMap_get_and_update ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMap_get_and_update (loc, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | Prim (loc, I_SIZE, [], annot), Item_t (Map_t (_, _, _), rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMap_size ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMap_size (loc, k))} in typed ctxt loc instr (Item_t (nat_t, rest)) (* big_map *) | Prim (loc, I_EMPTY_BIG_MAP, [tk; tv], annot), stack -> @@ -3591,9 +3577,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : parse_big_map_value_ty ctxt ~stack_depth:(stack_depth + 1) ~legacy tv >>?= fun (Ex_ty tv, ctxt) -> check_var_type_annot loc annot >>?= fun () -> - let instr = - {apply = (fun k -> IEmpty_big_map ({iloc = loc}, tk, tv, k))} - in + let instr = {apply = (fun k -> IEmpty_big_map (loc, tk, tv, k))} in big_map_t loc tk tv >>?= fun ty -> let stack = Item_t (ty, stack) in typed ctxt loc instr stack @@ -3601,14 +3585,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Item_t (set_key, Item_t (Big_map_t (k, _, _), rest)) ) -> check_item_ty ctxt set_key k loc I_MEM 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IBig_map_mem ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IBig_map_mem (loc, k))} in let stack = Item_t (bool_t, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Big_map_t (k, elt, _), rest)) ) -> check_item_ty ctxt vk k loc I_GET 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IBig_map_get ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IBig_map_get (loc, k))} in option_t loc elt >>?= fun ty -> let stack = Item_t (ty, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) @@ -3622,7 +3606,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt set_value map_value loc I_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IBig_map_update ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IBig_map_update (loc, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t @@ -3632,16 +3616,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt vk k loc I_GET_AND_UPDATE 1 3 >>?= fun (Eq, ctxt) -> check_item_ty ctxt vv v loc I_GET_AND_UPDATE 2 3 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = - {apply = (fun k -> IBig_map_get_and_update ({iloc = loc}, k))} - in + let instr = {apply = (fun k -> IBig_map_get_and_update (loc, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) (* Sapling *) | Prim (loc, I_SAPLING_EMPTY_STATE, [memo_size], annot), rest -> parse_memo_size memo_size >>?= fun memo_size -> check_var_annot loc annot >>?= fun () -> let instr = - {apply = (fun k -> ISapling_empty_state ({iloc = loc}, memo_size, k))} + {apply = (fun k -> ISapling_empty_state (loc, memo_size, k))} in let stack = Item_t (sapling_state_t ~memo_size, rest) in typed ctxt loc instr stack @@ -3656,10 +3638,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : transaction_memo_size >>?= fun () -> let instr = - { - apply = - (fun k -> ISapling_verify_update_deprecated ({iloc = loc}, k)); - } + {apply = (fun k -> ISapling_verify_update_deprecated (loc, k))} in pair_t loc int_t state_ty >>?= fun (Ty_ex_c pair_ty) -> option_t loc pair_ty >>?= fun ty -> @@ -3675,9 +3654,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : state_memo_size transaction_memo_size >>?= fun () -> - let instr = - {apply = (fun k -> ISapling_verify_update ({iloc = loc}, k))} - in + let instr = {apply = (fun k -> ISapling_verify_update (loc, k))} in pair_t loc int_t state_ty >>?= fun (Ty_ex_c pair_ty) -> pair_t loc bytes_t pair_ty >>?= fun (Ty_ex_c pair_ty) -> option_t loc pair_ty >>?= fun ty -> @@ -3724,10 +3701,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let hinfo = kinfo_of_kinstr k in - let branch_if_true = ibt.instr.apply (IHalt hinfo) - and branch_if_false = ibf.instr.apply (IHalt hinfo) in - IIf {kinfo = {iloc = loc}; branch_if_true; branch_if_false; k}); + let hloc = kinstr_location k in + let branch_if_true = ibt.instr.apply (IHalt hloc) + and branch_if_false = ibf.instr.apply (IHalt hloc) in + IIf {loc; branch_if_true; branch_if_false; k}); } in {loc; instr; bef; aft = ibt.aft} @@ -3754,8 +3731,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let ibody = ibody.instr.apply (IHalt {iloc = loc}) in - ILoop ({iloc = loc}, ibody, k)); + let ibody = ibody.instr.apply (IHalt loc) in + ILoop (loc, ibody, k)); } in typed_no_lwt ctxt loc instr rest ) @@ -3765,8 +3742,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : apply = (fun k -> let ibody = descr stack in - let ibody = ibody.instr.apply (IHalt {iloc = loc}) in - ILoop ({iloc = loc}, ibody, k)); + let ibody = ibody.instr.apply (IHalt loc) in + ILoop (loc, ibody, k)); } in typed_no_lwt ctxt loc instr rest) @@ -3798,8 +3775,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let ibody = ibody.instr.apply (IHalt {iloc = loc}) in - ILoop_left ({iloc = loc}, ibody, k)); + let ibody = ibody.instr.apply (IHalt loc) in + ILoop_left (loc, ibody, k)); } in let stack = Item_t (tr, rest) in @@ -3810,8 +3787,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : apply = (fun k -> let ibody = descr stack in - let ibody = ibody.instr.apply (IHalt {iloc = loc}) in - ILoop_left ({iloc = loc}, ibody, k)); + let ibody = ibody.instr.apply (IHalt loc) in + ILoop_left (loc, ibody, k)); } in let stack = Item_t (tr, rest) in @@ -3833,7 +3810,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : ret code >>=? fun (lambda, ctxt) -> - let instr = {apply = (fun k -> ILambda ({iloc = loc}, lambda, k))} in + let instr = {apply = (fun k -> ILambda (loc, lambda, k))} in lambda_t loc arg ret >>?= fun ty -> let stack = Item_t (ty, stack) in typed ctxt loc instr stack @@ -3842,7 +3819,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt arg param loc I_EXEC 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> let stack = Item_t (ret, rest) in - let instr = {apply = (fun k -> IExec ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IExec (loc, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_APPLY, [], annot), Item_t @@ -3853,7 +3830,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt capture capture_ty loc I_APPLY 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IApply ({iloc = loc}, capture_ty, k))} in + let instr = {apply = (fun k -> IApply (loc, capture_ty, k))} in lambda_t loc arg_ty ret (* This cannot fail because the type [lambda 'arg 'ret] is always smaller than the input type [lambda (pair 'arg 'capture) 'ret]. In an ideal world, there @@ -3873,9 +3850,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - let kinfoh = {iloc = descr.loc} in - let b = descr.instr.apply (IHalt kinfoh) in - IDip ({iloc = loc}, b, k)); + let b = descr.instr.apply (IHalt descr.loc) in + IDip (loc, b, k)); } in let stack = Item_t (v, descr.aft) in @@ -3909,8 +3885,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : | false, Item_t (v, rest) -> make_proof_argument (n - 1) rest >|=? fun (Dipn_proof_argument (n', ctxt, descr, aft')) -> - let kinfo' = {iloc = loc} in - let w = KPrefix (kinfo', v, n') in + let w = KPrefix (loc, v, n') in Dipn_proof_argument (w, ctxt, descr, Item_t (v, aft')) | _, _ -> Lwt.return @@ -3920,9 +3895,8 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n stack >>=? fun (Dipn_proof_argument (n', ctxt, descr, aft)) -> - let kinfoh = {iloc = descr.loc} in - let b = descr.instr.apply (IHalt kinfoh) in - let res = {apply = (fun k -> IDipn ({iloc = loc}, n, n', b, k))} in + let b = descr.instr.apply (IHalt descr.loc) in + let res = {apply = (fun k -> IDipn (loc, n, n', b, k))} in typed ctxt loc res aft | Prim (loc, I_DIP, (([] | _ :: _ :: _ :: _) as l), _), _ -> (* Technically, the arities 1 and 2 are allowed but the error only mentions 2. @@ -3934,289 +3908,283 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : (if legacy then Result.return_unit else check_packable ~legacy:false loc v) >|? fun () -> - let instr = {apply = (fun _k -> IFailwith ({iloc = loc}, loc, v))} in + let instr = {apply = (fun _k -> IFailwith (loc, v))} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack loc stack_ty Bot_t ; (Failed {descr}, ctxt) ) | Prim (loc, I_NEVER, [], annot), Item_t (Never_t, _rest) -> Lwt.return ( error_unexpected_annot loc annot >|? fun () -> - let instr = {apply = (fun _k -> INever {iloc = loc})} in + let instr = {apply = (fun _k -> INever loc)} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack loc stack_ty Bot_t ; (Failed {descr}, ctxt) ) (* timestamp operations *) | Prim (loc, I_ADD, [], annot), Item_t (Timestamp_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = - {apply = (fun k -> IAdd_timestamp_to_seconds ({iloc = loc}, k))} - in + let instr = {apply = (fun k -> IAdd_timestamp_to_seconds (loc, k))} in typed ctxt loc instr (Item_t (Timestamp_t, rest)) | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t, (Item_t (Timestamp_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = - {apply = (fun k -> IAdd_seconds_to_timestamp ({iloc = loc}, k))} - in + let instr = {apply = (fun k -> IAdd_seconds_to_timestamp (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = - {apply = (fun k -> ISub_timestamp_seconds ({iloc = loc}, k))} - in + let instr = {apply = (fun k -> ISub_timestamp_seconds (loc, k))} in let stack = Item_t (Timestamp_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t, Item_t (Timestamp_t, rest)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IDiff_timestamps ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IDiff_timestamps (loc, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack (* string operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (String_t, (Item_t (String_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IConcat_string_pair ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IConcat_string_pair (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_CONCAT, [], annot), Item_t (List_t (String_t, _), rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IConcat_string ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IConcat_string (loc, k))} in typed ctxt loc instr (Item_t (String_t, rest)) | ( Prim (loc, I_SLICE, [], annot), Item_t (Nat_t, Item_t (Nat_t, Item_t (String_t, rest))) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISlice_string ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISlice_string (loc, k))} in let stack = Item_t (option_string_t, rest) in typed ctxt loc instr stack | Prim (loc, I_SIZE, [], annot), Item_t (String_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IString_size ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IString_size (loc, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack (* bytes operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (Bytes_t, (Item_t (Bytes_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IConcat_bytes_pair ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IConcat_bytes_pair (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_CONCAT, [], annot), Item_t (List_t (Bytes_t, _), rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IConcat_bytes ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IConcat_bytes (loc, k))} in let stack = Item_t (Bytes_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_SLICE, [], annot), Item_t (Nat_t, Item_t (Nat_t, Item_t (Bytes_t, rest))) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISlice_bytes ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISlice_bytes (loc, k))} in let stack = Item_t (option_bytes_t, rest) in typed ctxt loc instr stack | Prim (loc, I_SIZE, [], annot), Item_t (Bytes_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IBytes_size ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IBytes_size (loc, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack (* currency operations *) | ( Prim (loc, I_ADD, [], annot), Item_t (Mutez_t, (Item_t (Mutez_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_tez ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_tez (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Mutez_t, (Item_t (Mutez_t, _) as stack)) ) -> if legacy then check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISub_tez_legacy ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISub_tez_legacy (loc, k))} in typed ctxt loc instr stack else fail (Deprecated_instruction I_SUB) | Prim (loc, I_SUB_MUTEZ, [], annot), Item_t (Mutez_t, Item_t (Mutez_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISub_tez ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISub_tez (loc, k))} in let stack = Item_t (option_mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Mutez_t, Item_t (Nat_t, rest)) -> (* no type name check *) check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_teznat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_teznat (loc, k))} in let stack = Item_t (Mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Mutez_t, _) as stack)) -> (* no type name check *) check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_nattez ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_nattez (loc, k))} in typed ctxt loc instr stack (* boolean operations *) | Prim (loc, I_OR, [], annot), Item_t (Bool_t, (Item_t (Bool_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IOr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IOr (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_AND, [], annot), Item_t (Bool_t, (Item_t (Bool_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAnd ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAnd (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_XOR, [], annot), Item_t (Bool_t, (Item_t (Bool_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IXor ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IXor (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_NOT, [], annot), (Item_t (Bool_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INot ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INot (loc, k))} in typed ctxt loc instr stack (* integer operations *) | Prim (loc, I_ABS, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAbs_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAbs_int (loc, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_ISNAT, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IIs_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IIs_nat (loc, k))} in let stack = Item_t (option_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_INT, [], annot), Item_t (Nat_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IInt_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IInt_nat (loc, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Int_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INeg ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INeg (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), Item_t (Nat_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INeg ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INeg (loc, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Int_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_int (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_int (loc, k))} in let stack = Item_t (Int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Nat_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_int (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_ADD, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Int_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISub_int (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISub_int (loc, k))} in let stack = Item_t (Int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Nat_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISub_int (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SUB, [], annot), Item_t (Nat_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISub_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISub_int (loc, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Int_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_int (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_int (loc, k))} in let stack = Item_t (Int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Int_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEdiv_teznat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEdiv_teznat (loc, k))} in let stack = Item_t (option_pair_mutez_mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t, Item_t (Mutez_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEdiv_tez ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEdiv_tez (loc, k))} in let stack = Item_t (option_pair_nat_mutez_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Int_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEdiv_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEdiv_int (loc, k))} in let stack = Item_t (option_pair_int_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Int_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEdiv_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEdiv_int (loc, k))} in let stack = Item_t (option_pair_int_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Nat_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEdiv_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEdiv_nat (loc, k))} in let stack = Item_t (option_pair_int_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_EDIV, [], annot), Item_t (Nat_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEdiv_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEdiv_nat (loc, k))} in let stack = Item_t (option_pair_nat_nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_LSL, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ILsl_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ILsl_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_LSR, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ILsr_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ILsr_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_OR, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IOr_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IOr_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_AND, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAnd_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAnd_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_AND, [], annot), Item_t (Int_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAnd_int_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAnd_int_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_XOR, [], annot), Item_t (Nat_t, (Item_t (Nat_t, _) as stack)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IXor_nat ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IXor_nat (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_NOT, [], annot), (Item_t (Int_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INot_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INot_int (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_NOT, [], annot), Item_t (Nat_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INot_int ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INot_int (loc, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack (* comparison *) @@ -4224,38 +4192,38 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> check_item_ty ctxt t1 t2 loc I_COMPARE 1 2 >>?= fun (Eq, ctxt) -> check_comparable loc t1 >>?= fun Eq -> - let instr = {apply = (fun k -> ICompare ({iloc = loc}, t1, k))} in + let instr = {apply = (fun k -> ICompare (loc, t1, k))} in let stack = Item_t (int_t, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) (* comparators *) | Prim (loc, I_EQ, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IEq ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IEq (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_NEQ, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INeq ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INeq (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_LT, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ILt ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ILt (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_GT, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IGt ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IGt (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_LE, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ILe ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ILe (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_GE, [], annot), Item_t (Int_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IGe ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IGe (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack (* annotations *) @@ -4282,7 +4250,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : t >>?= fun () -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IPack ({iloc = loc}, t, k))} in + let instr = {apply = (fun k -> IPack (loc, t, k))} in let stack = Item_t (bytes_t, rest) in typed ctxt loc instr stack | Prim (loc, I_UNPACK, [ty], annot), Item_t (Bytes_t, rest) -> @@ -4290,13 +4258,13 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (Ex_ty t, ctxt) -> check_var_type_annot loc annot >>?= fun () -> option_t loc t >>?= fun res_ty -> - let instr = {apply = (fun k -> IUnpack ({iloc = loc}, t, k))} in + let instr = {apply = (fun k -> IUnpack (loc, t, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack (* protocol *) | Prim (loc, I_ADDRESS, [], annot), Item_t (Contract_t _, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAddress ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAddress (loc, k))} in let stack = Item_t (address_t, rest) in typed ctxt loc instr stack | Prim (loc, I_CONTRACT, [ty], annot), Item_t (Address_t, rest) -> @@ -4305,9 +4273,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : contract_t loc t >>?= fun contract_ty -> option_t loc contract_ty >>?= fun res_ty -> parse_entrypoint_annot_strict loc annot >>?= fun entrypoint -> - let instr = - {apply = (fun k -> IContract ({iloc = loc}, t, entrypoint, k))} - in + let instr = {apply = (fun k -> IContract (loc, t, entrypoint, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack | ( Prim (loc, I_VIEW, [name; output_ty], annot), @@ -4322,7 +4288,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - IView ({iloc = loc}, View_signature {name; input_ty; output_ty}, k)); + IView (loc, View_signature {name; input_ty; output_ty}, k)); } in let stack = Item_t (res_ty, rest) in @@ -4332,21 +4298,21 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : Tc_context.check_not_in_view loc ~legacy tc_context prim >>?= fun () -> check_item_ty ctxt p cp loc prim 1 4 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ITransfer_tokens ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ITransfer_tokens (loc, k))} in let stack = Item_t (operation_t, rest) in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, (I_SET_DELEGATE as prim), [], annot), Item_t (Option_t (Key_hash_t, _, _), rest) ) -> Tc_context.check_not_in_view loc ~legacy tc_context prim >>?= fun () -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISet_delegate ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISet_delegate (loc, k))} in let stack = Item_t (operation_t, rest) in typed ctxt loc instr stack | Prim (_, I_CREATE_ACCOUNT, _, _), _ -> fail (Deprecated_instruction I_CREATE_ACCOUNT) | Prim (loc, I_IMPLICIT_ACCOUNT, [], annot), Item_t (Key_hash_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IImplicit_account ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IImplicit_account (loc, k))} in let stack = Item_t (contract_unit_t, rest) in typed ctxt loc instr stack | ( Prim (loc, (I_CREATE_CONTRACT as prim), [(Seq _ as code)], annot), @@ -4414,63 +4380,62 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> - ICreate_contract - {kinfo = {iloc = loc}; storage_type; code = canonical_code; k}); + ICreate_contract {loc; storage_type; code = canonical_code; k}); } in let stack = Item_t (operation_t, Item_t (address_t, rest)) in typed ctxt loc instr stack | Prim (loc, I_NOW, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INow ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INow (loc, k))} in let stack = Item_t (timestamp_t, stack) in typed ctxt loc instr stack | Prim (loc, I_MIN_BLOCK_TIME, [], _), stack -> typed ctxt loc - {apply = (fun k -> IMin_block_time ({iloc = loc}, k))} + {apply = (fun k -> IMin_block_time (loc, k))} (Item_t (nat_t, stack)) | Prim (loc, I_AMOUNT, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAmount ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAmount (loc, k))} in let stack = Item_t (mutez_t, stack) in typed ctxt loc instr stack | Prim (loc, I_CHAIN_ID, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IChainId ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IChainId (loc, k))} in let stack = Item_t (chain_id_t, stack) in typed ctxt loc instr stack | Prim (loc, I_BALANCE, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IBalance ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IBalance (loc, k))} in let stack = Item_t (mutez_t, stack) in typed ctxt loc instr stack | Prim (loc, I_LEVEL, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ILevel ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ILevel (loc, k))} in let stack = Item_t (nat_t, stack) in typed ctxt loc instr stack | Prim (loc, I_VOTING_POWER, [], annot), Item_t (Key_hash_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IVoting_power ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IVoting_power (loc, k))} in let stack = Item_t (nat_t, rest) in typed ctxt loc instr stack | Prim (loc, I_TOTAL_VOTING_POWER, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ITotal_voting_power ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ITotal_voting_power (loc, k))} in let stack = Item_t (nat_t, stack) in typed ctxt loc instr stack | Prim (_, I_STEPS_TO_QUOTA, _, _), _ -> fail (Deprecated_instruction I_STEPS_TO_QUOTA) | Prim (loc, I_SOURCE, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISource ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISource (loc, k))} in let stack = Item_t (address_t, stack) in typed ctxt loc instr stack | Prim (loc, I_SENDER, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISender ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISender (loc, k))} in let stack = Item_t (address_t, stack) in typed ctxt loc instr stack | Prim (loc, (I_SELF as prim), [], annot), stack -> @@ -4499,128 +4464,123 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : r >>? fun (Ex_ty_cstr {ty = param_type; _}) -> contract_t loc param_type >>? fun res_ty -> let instr = - { - apply = - (fun k -> ISelf ({iloc = loc}, param_type, entrypoint, k)); - } + {apply = (fun k -> ISelf (loc, param_type, entrypoint, k))} in let stack = Item_t (res_ty, stack) in typed_no_lwt ctxt loc instr stack ) | Prim (loc, I_SELF_ADDRESS, [], annot), stack -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISelf_address ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISelf_address (loc, k))} in let stack = Item_t (address_t, stack) in typed ctxt loc instr stack (* cryptography *) | Prim (loc, I_HASH_KEY, [], annot), Item_t (Key_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IHash_key ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IHash_key (loc, k))} in let stack = Item_t (key_hash_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_CHECK_SIGNATURE, [], annot), Item_t (Key_t, Item_t (Signature_t, Item_t (Bytes_t, rest))) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ICheck_signature ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ICheck_signature (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack | Prim (loc, I_BLAKE2B, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IBlake2b ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IBlake2b (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SHA256, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISha256 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISha256 (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SHA512, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISha512 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISha512 (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_KECCAK, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IKeccak ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IKeccak (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_SHA3, [], annot), (Item_t (Bytes_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> ISha3 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISha3 (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g1_t, (Item_t (Bls12_381_g1_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_bls12_381_g1 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_bls12_381_g1 (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g2_t, (Item_t (Bls12_381_g2_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_bls12_381_g2 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_bls12_381_g2 (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_fr_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IAdd_bls12_381_fr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IAdd_bls12_381_fr (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g1_t, Item_t (Bls12_381_fr_t, rest)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_g1 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_g1 (loc, k))} in let stack = Item_t (Bls12_381_g1_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g2_t, Item_t (Bls12_381_fr_t, rest)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_g2 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_g2 (loc, k))} in let stack = Item_t (Bls12_381_g2_t, rest) in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_fr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_fr (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_fr_z ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_fr_z (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t, (Item_t (Bls12_381_fr_t, _) as stack)) ) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_fr_z ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_fr_z (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t, Item_t (Int_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_z_fr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_z_fr (loc, k))} in let stack = Item_t (Bls12_381_fr_t, rest) in typed ctxt loc instr stack | Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t, Item_t (Nat_t, rest)) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IMul_bls12_381_z_fr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IMul_bls12_381_z_fr (loc, k))} in let stack = Item_t (Bls12_381_fr_t, rest) in typed ctxt loc instr stack | Prim (loc, I_INT, [], annot), Item_t (Bls12_381_fr_t, rest) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> IInt_bls12_381_fr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IInt_bls12_381_fr (loc, k))} in let stack = Item_t (int_t, rest) in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Bls12_381_g1_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INeg_bls12_381_g1 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INeg_bls12_381_g1 (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Bls12_381_g2_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INeg_bls12_381_g2 ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INeg_bls12_381_g2 (loc, k))} in typed ctxt loc instr stack | Prim (loc, I_NEG, [], annot), (Item_t (Bls12_381_fr_t, _) as stack) -> check_var_annot loc annot >>?= fun () -> - let instr = {apply = (fun k -> INeg_bls12_381_fr ({iloc = loc}, k))} in + let instr = {apply = (fun k -> INeg_bls12_381_fr (loc, k))} in typed ctxt loc instr stack | ( Prim (loc, I_PAIRING_CHECK, [], annot), Item_t (List_t (Pair_t (Bls12_381_g1_t, Bls12_381_g2_t, _, _), _), rest) ) -> check_var_annot loc annot >>?= fun () -> - let instr = - {apply = (fun k -> IPairing_check_bls12_381 ({iloc = loc}, k))} - in + let instr = {apply = (fun k -> IPairing_check_bls12_381 (loc, k))} in let stack = Item_t (bool_t, rest) in typed ctxt loc instr stack (* Tickets *) @@ -4628,7 +4588,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> check_comparable loc t >>?= fun Eq -> ticket_t loc t >>?= fun res_ty -> - let instr = {apply = (fun k -> ITicket ({iloc = loc}, t, k))} in + let instr = {apply = (fun k -> ITicket (loc, t, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack | ( Prim (loc, I_READ_TICKET, [], annot), @@ -4636,7 +4596,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_var_annot loc annot >>?= fun () -> let () = check_dupable_comparable_ty t in opened_ticket_type loc t >>?= fun result -> - let instr = {apply = (fun k -> IRead_ticket ({iloc = loc}, t, k))} in + let instr = {apply = (fun k -> IRead_ticket (loc, t, k))} in let stack = Item_t (result, full_stack) in typed ctxt loc instr stack | ( Prim (loc, I_SPLIT_TICKET, [], annot), @@ -4647,7 +4607,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : let () = check_dupable_comparable_ty t in pair_t loc ticket_t ticket_t >>?= fun (Ty_ex_c pair_tickets_ty) -> option_t loc pair_tickets_ty >>?= fun res_ty -> - let instr = {apply = (fun k -> ISplit_ticket ({iloc = loc}, k))} in + let instr = {apply = (fun k -> ISplit_ticket (loc, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack | ( Prim (loc, I_JOIN_TICKETS, [], annot), @@ -4664,15 +4624,13 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (eq, ctxt) -> eq >>?= fun Eq -> option_t loc ty_a >>?= fun res_ty -> - let instr = - {apply = (fun k -> IJoin_tickets ({iloc = loc}, contents_ty_a, k))} - in + let instr = {apply = (fun k -> IJoin_tickets (loc, contents_ty_a, k))} in let stack = Item_t (res_ty, rest) in typed ctxt loc instr stack (* Timelocks *) | ( Prim (loc, I_OPEN_CHEST, [], _), Item_t (Chest_key_t, Item_t (Chest_t, Item_t (Nat_t, rest))) ) -> - let instr = {apply = (fun k -> IOpen_chest ({iloc = loc}, k))} in + let instr = {apply = (fun k -> IOpen_chest (loc, k))} in typed ctxt loc instr (Item_t (union_bytes_bool_t, rest)) (* Primitive parsing errors *) | ( Prim diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 8939bec09179..355b9f0089f4 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -448,8 +448,6 @@ type 'arg entrypoints = { original_type_expr : Script.node; } -type ('a, 's) kinfo = {iloc : Script.location} [@@ocaml.unboxed] - (* ---- Instructions --------------------------------------------------------*) and ('before_top, 'before, 'result_top, 'result) kinstr = (* @@ -457,52 +455,52 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ----- *) | IDrop : - ('a, 'b * 's) kinfo * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IDup : - ('a, 'b * 's) kinfo * ('a, 'a * ('b * 's), 'r, 'f) kinstr + Script.location * ('a, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | ISwap : - ('a, 'b * ('c * 's)) kinfo * ('b, 'a * ('c * 's), 'r, 'f) kinstr + Script.location * ('b, 'a * ('c * 's), 'r, 'f) kinstr -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | IConst : - ('a, 's) kinfo * ('ty, _) ty * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr + Script.location * ('ty, _) ty * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* Pairs ----- *) | ICons_pair : - ('a, 'b * ('c * 's)) kinfo * ('a * 'b, 'c * 's, 'r, 'f) kinstr + Script.location * ('a * 'b, 'c * 's, 'r, 'f) kinstr -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | ICar : - ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr + Script.location * ('a, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr | ICdr : - ('a * 'b, 's) kinfo * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr | IUnpair : - ('a * 'b, 's) kinfo * ('a, 'b * 's, 'r, 'f) kinstr + Script.location * ('a, 'b * 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr (* Options ------- *) | ICons_some : - ('v, 'a * 's) kinfo * ('v option, 'a * 's, 'r, 'f) kinstr + Script.location * ('v option, 'a * 's, 'r, 'f) kinstr -> ('v, 'a * 's, 'r, 'f) kinstr | ICons_none : - ('a, 's) kinfo * ('b, _) ty * ('b option, 'a * 's, 'r, 'f) kinstr + Script.location * ('b, _) ty * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_none : { - kinfo : ('a option, 'b * 's) kinfo; + loc : Script.location; branch_if_none : ('b, 's, 'c, 't) kinstr; branch_if_some : ('a, 'b * 's, 'c, 't) kinstr; k : ('c, 't, 'r, 'f) kinstr; } -> ('a option, 'b * 's, 'r, 'f) kinstr | IOpt_map : { - kinfo : ('a option, 's) kinfo; + loc : Script.location; body : ('a, 's, 'b, 's) kinstr; k : ('b option, 's, 'c, 't) kinstr; } @@ -512,17 +510,13 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------ *) | ICons_left : - ('a, 'c * 's) kinfo - * ('b, _) ty - * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + Script.location * ('b, _) ty * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('a, 'c * 's, 'r, 'f) kinstr | ICons_right : - ('b, 'c * 's) kinfo - * ('a, _) ty - * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('b, 'c * 's, 'r, 'f) kinstr | IIf_left : { - kinfo : (('a, 'b) union, 's) kinfo; + loc : Script.location; branch_if_left : ('a, 's, 'c, 't) kinstr; branch_if_right : ('b, 's, 'c, 't) kinstr; k : ('c, 't, 'r, 'f) kinstr; @@ -533,590 +527,550 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ----- *) | ICons_list : - ('a, 'a boxed_list * 's) kinfo * ('a boxed_list, 's, 'r, 'f) kinstr + Script.location * ('a boxed_list, 's, 'r, 'f) kinstr -> ('a, 'a boxed_list * 's, 'r, 'f) kinstr | INil : - ('a, 's) kinfo * ('b, _) ty * ('b boxed_list, 'a * 's, 'r, 'f) kinstr + Script.location * ('b, _) ty * ('b boxed_list, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_cons : { - kinfo : ('a boxed_list, 'b * 's) kinfo; + loc : Script.location; branch_if_cons : ('a, 'a boxed_list * ('b * 's), 'c, 't) kinstr; branch_if_nil : ('b, 's, 'c, 't) kinstr; k : ('c, 't, 'r, 'f) kinstr; } -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr | IList_map : - ('a boxed_list, 'c * 's) kinfo + Script.location * ('a, 'c * 's, 'b, 'c * 's) kinstr * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : - ('a boxed_list, 'b * 's) kinfo + Script.location * ('a, _) ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr | IList_size : - ('a boxed_list, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> ('a boxed_list, 's, 'r, 'f) kinstr (* Sets ---- *) | IEmpty_set : - ('a, 's) kinfo * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr + Script.location * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISet_iter : - ('a set, 'b * 's) kinfo + Script.location * 'a comparable_ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a set, 'b * 's, 'r, 'f) kinstr | ISet_mem : - ('a, 'a set * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ('a, 'a set * 's, 'r, 'f) kinstr | ISet_update : - ('a, bool * ('a set * 's)) kinfo * ('a set, 's, 'r, 'f) kinstr + Script.location * ('a set, 's, 'r, 'f) kinstr -> ('a, bool * ('a set * 's), 'r, 'f) kinstr | ISet_size : - ('a set, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> ('a set, 's, 'r, 'f) kinstr (* Maps ---- *) | IEmpty_map : - ('a, 's) kinfo + Script.location * 'b comparable_ty * ('c, _) ty * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IMap_map : - (('a, 'b) map, 'd * 's) kinfo - * ('a, _) ty + Script.location + * 'a comparable_ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr | IMap_iter : - (('a, 'b) map, 'c * 's) kinfo + Script.location * ('a * 'b, _) ty * ('a * 'b, 'c * 's, 'c, 's) kinstr * ('c, 's, 'r, 'f) kinstr -> (('a, 'b) map, 'c * 's, 'r, 'f) kinstr | IMap_mem : - ('a, ('a, 'b) map * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr | IMap_get : - ('a, ('a, 'b) map * 's) kinfo * ('b option, 's, 'r, 'f) kinstr + Script.location * ('b option, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr | IMap_update : - ('a, 'b option * (('a, 'b) map * 's)) kinfo - * (('a, 'b) map, 's, 'r, 'f) kinstr + Script.location * (('a, 'b) map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr | IMap_get_and_update : - ('a, 'b option * (('a, 'b) map * 's)) kinfo - * ('b option, ('a, 'b) map * 's, 'r, 'f) kinstr + Script.location * ('b option, ('a, 'b) map * 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr | IMap_size : - (('a, 'b) map, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (('a, 'b) map, 's, 'r, 'f) kinstr (* Big maps -------- *) | IEmpty_big_map : - ('a, 's) kinfo + Script.location * 'b comparable_ty * ('c, _) ty * (('b, 'c) big_map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IBig_map_mem : - ('a, ('a, 'b) big_map * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) big_map * 's, 'r, 'f) kinstr | IBig_map_get : - ('a, ('a, 'b) big_map * 's) kinfo * ('b option, 's, 'r, 'f) kinstr + Script.location * ('b option, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) big_map * 's, 'r, 'f) kinstr | IBig_map_update : - ('a, 'b option * (('a, 'b) big_map * 's)) kinfo - * (('a, 'b) big_map, 's, 'r, 'f) kinstr + Script.location * (('a, 'b) big_map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr | IBig_map_get_and_update : - ('a, 'b option * (('a, 'b) big_map * 's)) kinfo - * ('b option, ('a, 'b) big_map * 's, 'r, 'f) kinstr + Script.location * ('b option, ('a, 'b) big_map * 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr (* Strings ------- *) | IConcat_string : - (Script_string.t boxed_list, 's) kinfo - * (Script_string.t, 's, 'r, 'f) kinstr + Script.location * (Script_string.t, 's, 'r, 'f) kinstr -> (Script_string.t boxed_list, 's, 'r, 'f) kinstr | IConcat_string_pair : - (Script_string.t, Script_string.t * 's) kinfo - * (Script_string.t, 's, 'r, 'f) kinstr + Script.location * (Script_string.t, 's, 'r, 'f) kinstr -> (Script_string.t, Script_string.t * 's, 'r, 'f) kinstr | ISlice_string : - (n num, n num * (Script_string.t * 's)) kinfo - * (Script_string.t option, 's, 'r, 'f) kinstr + Script.location * (Script_string.t option, 's, 'r, 'f) kinstr -> (n num, n num * (Script_string.t * 's), 'r, 'f) kinstr | IString_size : - (Script_string.t, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (Script_string.t, 's, 'r, 'f) kinstr (* Bytes ----- *) | IConcat_bytes : - (bytes boxed_list, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes boxed_list, 's, 'r, 'f) kinstr | IConcat_bytes_pair : - (bytes, bytes * 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, bytes * 's, 'r, 'f) kinstr | ISlice_bytes : - (n num, n num * (bytes * 's)) kinfo * (bytes option, 's, 'r, 'f) kinstr + Script.location * (bytes option, 's, 'r, 'f) kinstr -> (n num, n num * (bytes * 's), 'r, 'f) kinstr | IBytes_size : - (bytes, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr (* Timestamps ---------- *) | IAdd_seconds_to_timestamp : - (z num, Script_timestamp.t * 's) kinfo - * (Script_timestamp.t, 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 's, 'r, 'f) kinstr -> (z num, Script_timestamp.t * 's, 'r, 'f) kinstr | IAdd_timestamp_to_seconds : - (Script_timestamp.t, z num * 's) kinfo - * (Script_timestamp.t, 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 's, 'r, 'f) kinstr -> (Script_timestamp.t, z num * 's, 'r, 'f) kinstr | ISub_timestamp_seconds : - (Script_timestamp.t, z num * 's) kinfo - * (Script_timestamp.t, 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 's, 'r, 'f) kinstr -> (Script_timestamp.t, z num * 's, 'r, 'f) kinstr | IDiff_timestamps : - (Script_timestamp.t, Script_timestamp.t * 's) kinfo - * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> (Script_timestamp.t, Script_timestamp.t * 's, 'r, 'f) kinstr (* Tez --- *) | IAdd_tez : - (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | ISub_tez : - (Tez.t, Tez.t * 's) kinfo * (Tez.t option, 's, 'r, 'f) kinstr + Script.location * (Tez.t option, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | ISub_tez_legacy : - (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | IMul_teznat : - (Tez.t, n num * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, n num * 's, 'r, 'f) kinstr | IMul_nattez : - (n num, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (n num, Tez.t * 's, 'r, 'f) kinstr | IEdiv_teznat : - (Tez.t, n num * 's) kinfo - * ((Tez.t, Tez.t) pair option, 's, 'r, 'f) kinstr + Script.location * ((Tez.t, Tez.t) pair option, 's, 'r, 'f) kinstr -> (Tez.t, n num * 's, 'r, 'f) kinstr | IEdiv_tez : - (Tez.t, Tez.t * 's) kinfo - * ((n num, Tez.t) pair option, 's, 'r, 'f) kinstr + Script.location * ((n num, Tez.t) pair option, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr (* Booleans -------- *) | IOr : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr | IAnd : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr | IXor : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr | INot : - (bool, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, 's, 'r, 'f) kinstr (* Integers -------- *) | IIs_nat : - (z num, 's) kinfo * (n num option, 's, 'r, 'f) kinstr + Script.location * (n num option, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | INeg : - ('a num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 's, 'r, 'f) kinstr | IAbs_int : - (z num, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | IInt_nat : - (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> (n num, 's, 'r, 'f) kinstr | IAdd_int : - ('a num, 'b num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IAdd_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ISub_int : - ('a num, 'b num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IMul_int : - ('a num, 'b num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IMul_nat : - (n num, 'a num * 's) kinfo * ('a num, 's, 'r, 'f) kinstr + Script.location * ('a num, 's, 'r, 'f) kinstr -> (n num, 'a num * 's, 'r, 'f) kinstr | IEdiv_int : - ('a num, 'b num * 's) kinfo - * ((z num, n num) pair option, 's, 'r, 'f) kinstr + Script.location * ((z num, n num) pair option, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IEdiv_nat : - (n num, 'a num * 's) kinfo - * (('a num, n num) pair option, 's, 'r, 'f) kinstr + Script.location * (('a num, n num) pair option, 's, 'r, 'f) kinstr -> (n num, 'a num * 's, 'r, 'f) kinstr | ILsl_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ILsr_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | IOr_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr (* Even though `IAnd_nat` and `IAnd_int_nat` could be merged into a single instruction from both the type and behavior point of views, their gas costs differ too much (see `cost_N_IAnd_nat` and `cost_N_IAnd_int_nat` in `Michelson_v1_gas.Cost_of.Generated_costs`), so we keep them separated. *) | IAnd_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | IAnd_int_nat : - (z num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (z num, n num * 's, 'r, 'f) kinstr | IXor_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | INot_int : - ('a num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 's, 'r, 'f) kinstr (* Control ------- *) | IIf : { - kinfo : (bool, 'a * 's) kinfo; + loc : Script.location; branch_if_true : ('a, 's, 'b, 'u) kinstr; branch_if_false : ('a, 's, 'b, 'u) kinstr; k : ('b, 'u, 'r, 'f) kinstr; } -> (bool, 'a * 's, 'r, 'f) kinstr | ILoop : - (bool, 'a * 's) kinfo - * ('a, 's, bool, 'a * 's) kinstr - * ('a, 's, 'r, 'f) kinstr + Script.location * ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) kinstr -> (bool, 'a * 's, 'r, 'f) kinstr | ILoop_left : - (('a, 'b) union, 's) kinfo + Script.location * ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> (('a, 'b) union, 's, 'r, 'f) kinstr | IDip : - ('a, 'b * 's) kinfo - * ('b, 's, 'c, 't) kinstr - * ('a, 'c * 't, 'r, 'f) kinstr + Script.location * ('b, 's, 'c, 't) kinstr * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : - ('a, ('a, 'b) lambda * 's) kinfo * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : - ('a, ('a * 'b, 'c) lambda * 's) kinfo - * ('a, _) ty - * (('b, 'c) lambda, 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * (('b, 'c) lambda, 's, 'r, 'f) kinstr -> ('a, ('a * 'b, 'c) lambda * 's, 'r, 'f) kinstr | ILambda : - ('a, 's) kinfo + Script.location * ('b, 'c) lambda * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | IFailwith : - ('a, 's) kinfo * Script.location * ('a, _) ty - -> ('a, 's, 'r, 'f) kinstr + | IFailwith : Script.location * ('a, _) ty -> ('a, 's, 'r, 'f) kinstr (* Comparison ---------- *) | ICompare : - ('a, 'a * ('b * 's)) kinfo - * 'a comparable_ty - * (z num, 'b * 's, 'r, 'f) kinstr + Script.location * 'a comparable_ty * (z num, 'b * 's, 'r, 'f) kinstr -> ('a, 'a * ('b * 's), 'r, 'f) kinstr (* Comparators ----------- *) | IEq : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | INeq : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | ILt : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | IGt : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | ILe : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | IGe : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr (* Protocol -------- *) | IAddress : - ('a typed_contract, 's) kinfo * (address, 's, 'r, 'f) kinstr + Script.location * (address, 's, 'r, 'f) kinstr -> ('a typed_contract, 's, 'r, 'f) kinstr | IContract : - (address, 's) kinfo + Script.location * ('a, _) ty * Entrypoint.t * ('a typed_contract option, 's, 'r, 'f) kinstr -> (address, 's, 'r, 'f) kinstr | IView : - ('a, address * ('c * 's)) kinfo + Script.location * ('a, 'b) view_signature * ('b option, 'c * 's, 'r, 'f) kinstr -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : - ('a, Tez.t * ('a typed_contract * 's)) kinfo - * (operation, 's, 'r, 'f) kinstr + Script.location * (operation, 's, 'r, 'f) kinstr -> ('a, Tez.t * ('a typed_contract * 's), 'r, 'f) kinstr | IImplicit_account : - (public_key_hash, 's) kinfo * (unit typed_contract, 's, 'r, 'f) kinstr + Script.location * (unit typed_contract, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr | ICreate_contract : { - kinfo : (public_key_hash option, Tez.t * ('a * ('c * 's))) kinfo; + loc : Script.location; storage_type : ('a, _) ty; code : Script.expr; k : (operation, address * ('c * 's), 'r, 'f) kinstr; } -> (public_key_hash option, Tez.t * ('a * ('c * 's)), 'r, 'f) kinstr | ISet_delegate : - (public_key_hash option, 's) kinfo * (operation, 's, 'r, 'f) kinstr + Script.location * (operation, 's, 'r, 'f) kinstr -> (public_key_hash option, 's, 'r, 'f) kinstr | INow : - ('a, 's) kinfo * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IMin_block_time : - ('a, 's) kinfo * (n num, 'a * 's, 'r, 'f) kinstr + Script.location * (n num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IBalance : - ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Tez.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ILevel : - ('a, 's) kinfo * (n num, 'a * 's, 'r, 'f) kinstr + Script.location * (n num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ICheck_signature : - (public_key, signature * (bytes * 's)) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (public_key, signature * (bytes * 's), 'r, 'f) kinstr | IHash_key : - (public_key, 's) kinfo * (public_key_hash, 's, 'r, 'f) kinstr + Script.location * (public_key_hash, 's, 'r, 'f) kinstr -> (public_key, 's, 'r, 'f) kinstr | IPack : - ('a, 'b * 's) kinfo * ('a, _) ty * (bytes, 'b * 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * (bytes, 'b * 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IUnpack : - (bytes, 's) kinfo * ('a, _) ty * ('a option, 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * ('a option, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | IBlake2b : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISha256 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISha512 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISource : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + Script.location * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISender : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + Script.location * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISelf : - ('a, 's) kinfo + Script.location * ('b, _) ty * Entrypoint.t * ('b typed_contract, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISelf_address : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + Script.location * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IAmount : - ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Tez.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISapling_empty_state : - ('a, 's) kinfo + Script.location * Sapling.Memo_size.t * (Sapling.state, 'a * 's, 'b, 'f) kinstr -> ('a, 's, 'b, 'f) kinstr | ISapling_verify_update : - (Sapling.transaction, Sapling.state * 's) kinfo + Script.location * ((bytes, (z num, Sapling.state) pair) pair option, 's, 'r, 'f) kinstr -> (Sapling.transaction, Sapling.state * 's, 'r, 'f) kinstr | ISapling_verify_update_deprecated : - (Sapling.Legacy.transaction, Sapling.state * 's) kinfo - * ((z num, Sapling.state) pair option, 's, 'r, 'f) kinstr + Script.location * ((z num, Sapling.state) pair option, 's, 'r, 'f) kinstr -> (Sapling.Legacy.transaction, Sapling.state * 's, 'r, 'f) kinstr | IDig : - ('a, 's) kinfo + Script.location * int * ('b, 'c * 't, 'c, 't, 'a, 's, 'd, 'u) stack_prefix_preservation_witness * ('b, 'd * 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IDug : - ('a, 'b * 's) kinfo + Script.location * int * ('c, 't, 'a, 'c * 't, 'b, 's, 'd, 'u) stack_prefix_preservation_witness * ('d, 'u, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IDipn : - ('a, 's) kinfo + Script.location * int * ('c, 't, 'd, 'v, 'a, 's, 'b, 'u) stack_prefix_preservation_witness * ('c, 't, 'd, 'v) kinstr * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IDropn : - ('a, 's) kinfo + Script.location * int * ('b, 'u, 'b, 'u, 'a, 's, 'a, 's) stack_prefix_preservation_witness * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IChainId : - ('a, 's) kinfo * (Script_chain_id.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Script_chain_id.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | INever : (never, 's) kinfo -> (never, 's, 'r, 'f) kinstr + | INever : Script.location -> (never, 's, 'r, 'f) kinstr | IVoting_power : - (public_key_hash, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr | ITotal_voting_power : - ('a, 's) kinfo * (n num, 'a * 's, 'r, 'f) kinstr + Script.location * (n num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IKeccak : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISha3 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | IAdd_bls12_381_g1 : - (Script_bls.G1.t, Script_bls.G1.t * 's) kinfo - * (Script_bls.G1.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G1.t, 's, 'r, 'f) kinstr -> (Script_bls.G1.t, Script_bls.G1.t * 's, 'r, 'f) kinstr | IAdd_bls12_381_g2 : - (Script_bls.G2.t, Script_bls.G2.t * 's) kinfo - * (Script_bls.G2.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G2.t, 's, 'r, 'f) kinstr -> (Script_bls.G2.t, Script_bls.G2.t * 's, 'r, 'f) kinstr | IAdd_bls12_381_fr : - (Script_bls.Fr.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_g1 : - (Script_bls.G1.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.G1.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G1.t, 's, 'r, 'f) kinstr -> (Script_bls.G1.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_g2 : - (Script_bls.G2.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.G2.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G2.t, 's, 'r, 'f) kinstr -> (Script_bls.G2.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_fr : - (Script_bls.Fr.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_z_fr : - (Script_bls.Fr.t, 'a num * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, 'a num * 's, 'r, 'f) kinstr | IMul_bls12_381_fr_z : - ('a num, Script_bls.Fr.t * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> ('a num, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IInt_bls12_381_fr : - (Script_bls.Fr.t, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, 's, 'r, 'f) kinstr | INeg_bls12_381_g1 : - (Script_bls.G1.t, 's) kinfo * (Script_bls.G1.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G1.t, 's, 'r, 'f) kinstr -> (Script_bls.G1.t, 's, 'r, 'f) kinstr | INeg_bls12_381_g2 : - (Script_bls.G2.t, 's) kinfo * (Script_bls.G2.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G2.t, 's, 'r, 'f) kinstr -> (Script_bls.G2.t, 's, 'r, 'f) kinstr | INeg_bls12_381_fr : - (Script_bls.Fr.t, 's) kinfo * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, 's, 'r, 'f) kinstr | IPairing_check_bls12_381 : - ((Script_bls.G1.t, Script_bls.G2.t) pair boxed_list, 's) kinfo - * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ((Script_bls.G1.t, Script_bls.G2.t) pair boxed_list, 's, 'r, 'f) kinstr | IComb : - ('a, 'b * 's) kinfo + Script.location * int * ('a, 'b, 's, 'c, 'd, 't) comb_gadt_witness * ('c, 'd * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IUncomb : - ('a, 'b * 's) kinfo + Script.location * int * ('a, 'b, 's, 'c, 'd, 't) uncomb_gadt_witness * ('c, 'd * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IComb_get : - ('t, 'a * 's) kinfo + Script.location * int * ('t, 'v) comb_get_gadt_witness * ('v, 'a * 's, 'r, 'f) kinstr -> ('t, 'a * 's, 'r, 'f) kinstr | IComb_set : - ('a, 'b * ('d * 's)) kinfo + Script.location * int * ('a, 'b, 'c) comb_set_gadt_witness * ('c, 'd * 's, 'r, 'f) kinstr -> ('a, 'b * ('d * 's), 'r, 'f) kinstr | IDup_n : - ('a, 'b * 's) kinfo + Script.location * int * ('a, 'b, 's, 't) dup_n_gadt_witness * ('t, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | ITicket : - ('a, n num * 's) kinfo * 'a comparable_ty * ('a ticket, 's, 'r, 'f) kinstr + Script.location * 'a comparable_ty * ('a ticket, 's, 'r, 'f) kinstr -> ('a, n num * 's, 'r, 'f) kinstr | IRead_ticket : - ('a ticket, 's) kinfo + Script.location * 'a comparable_ty * (address * ('a * n num), 'a ticket * 's, 'r, 'f) kinstr -> ('a ticket, 's, 'r, 'f) kinstr | ISplit_ticket : - ('a ticket, (n num * n num) * 's) kinfo - * (('a ticket * 'a ticket) option, 's, 'r, 'f) kinstr + Script.location * (('a ticket * 'a ticket) option, 's, 'r, 'f) kinstr -> ('a ticket, (n num * n num) * 's, 'r, 'f) kinstr | IJoin_tickets : - ('a ticket * 'a ticket, 's) kinfo - * 'a comparable_ty - * ('a ticket option, 's, 'r, 'f) kinstr + Script.location * 'a comparable_ty * ('a ticket option, 's, 'r, 'f) kinstr -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr | IOpen_chest : - (Script_timelock.chest_key, Script_timelock.chest * (n num * 's)) kinfo - * ((bytes, bool) union, 's, 'r, 'f) kinstr + Script.location * ((bytes, bool) union, 's, 'r, 'f) kinstr -> ( Script_timelock.chest_key, Script_timelock.chest * (n num * 's), 'r, @@ -1126,9 +1080,9 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = Internal control instructions ----------------------------- *) - | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr + | IHalt : Script.location -> ('a, 's, 'a, 's) kinstr | ILog : - ('a, 's) kinfo + Script.location * ('a, 's) stack_ty * logging_event * logger @@ -1137,7 +1091,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = and logging_event = | LogEntry : logging_event - | LogExit : ('b, 'u) kinfo -> logging_event + | LogExit : Script.location -> logging_event and ('arg, 'ret) lambda = | Lam : @@ -1315,7 +1269,7 @@ and ('a, 's, 'r, 'f) kdescr = { and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : - ('y, 'u) kinfo + Script.location * ('a, _) ty * ('c, 'v, 'd, 'w, 'x, 's, 'y, 'u) stack_prefix_preservation_witness -> ( 'c, @@ -1455,165 +1409,165 @@ let manager_kind : type kind. kind manager_operation -> kind Kind.manager = | Origination _ -> Kind.Origination_manager_kind | Delegation _ -> Kind.Delegation_manager_kind -let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = +let kinstr_location : type a s b f. (a, s, b, f) kinstr -> Script.location = fun i -> match i with - | IDrop (kinfo, _) -> kinfo - | IDup (kinfo, _) -> kinfo - | ISwap (kinfo, _) -> kinfo - | IConst (kinfo, _, _, _) -> kinfo - | ICons_pair (kinfo, _) -> kinfo - | ICar (kinfo, _) -> kinfo - | ICdr (kinfo, _) -> kinfo - | IUnpair (kinfo, _) -> kinfo - | ICons_some (kinfo, _) -> kinfo - | ICons_none (kinfo, _, _) -> kinfo - | IIf_none {kinfo; _} -> kinfo - | IOpt_map {kinfo; _} -> kinfo - | ICons_left (kinfo, _, _) -> kinfo - | ICons_right (kinfo, _, _) -> kinfo - | IIf_left {kinfo; _} -> kinfo - | ICons_list (kinfo, _) -> kinfo - | INil (kinfo, _, _) -> kinfo - | IIf_cons {kinfo; _} -> kinfo - | IList_map (kinfo, _, _) -> kinfo - | IList_iter (kinfo, _, _, _) -> kinfo - | IList_size (kinfo, _) -> kinfo - | IEmpty_set (kinfo, _, _) -> kinfo - | ISet_iter (kinfo, _, _, _) -> kinfo - | ISet_mem (kinfo, _) -> kinfo - | ISet_update (kinfo, _) -> kinfo - | ISet_size (kinfo, _) -> kinfo - | IEmpty_map (kinfo, _, _, _) -> kinfo - | IMap_map (kinfo, _, _, _) -> kinfo - | IMap_iter (kinfo, _, _, _) -> kinfo - | IMap_mem (kinfo, _) -> kinfo - | IMap_get (kinfo, _) -> kinfo - | IMap_update (kinfo, _) -> kinfo - | IMap_get_and_update (kinfo, _) -> kinfo - | IMap_size (kinfo, _) -> kinfo - | IEmpty_big_map (kinfo, _, _, _) -> kinfo - | IBig_map_mem (kinfo, _) -> kinfo - | IBig_map_get (kinfo, _) -> kinfo - | IBig_map_update (kinfo, _) -> kinfo - | IBig_map_get_and_update (kinfo, _) -> kinfo - | IConcat_string (kinfo, _) -> kinfo - | IConcat_string_pair (kinfo, _) -> kinfo - | ISlice_string (kinfo, _) -> kinfo - | IString_size (kinfo, _) -> kinfo - | IConcat_bytes (kinfo, _) -> kinfo - | IConcat_bytes_pair (kinfo, _) -> kinfo - | ISlice_bytes (kinfo, _) -> kinfo - | IBytes_size (kinfo, _) -> kinfo - | IAdd_seconds_to_timestamp (kinfo, _) -> kinfo - | IAdd_timestamp_to_seconds (kinfo, _) -> kinfo - | ISub_timestamp_seconds (kinfo, _) -> kinfo - | IDiff_timestamps (kinfo, _) -> kinfo - | IAdd_tez (kinfo, _) -> kinfo - | ISub_tez (kinfo, _) -> kinfo - | ISub_tez_legacy (kinfo, _) -> kinfo - | IMul_teznat (kinfo, _) -> kinfo - | IMul_nattez (kinfo, _) -> kinfo - | IEdiv_teznat (kinfo, _) -> kinfo - | IEdiv_tez (kinfo, _) -> kinfo - | IOr (kinfo, _) -> kinfo - | IAnd (kinfo, _) -> kinfo - | IXor (kinfo, _) -> kinfo - | INot (kinfo, _) -> kinfo - | IIs_nat (kinfo, _) -> kinfo - | INeg (kinfo, _) -> kinfo - | IAbs_int (kinfo, _) -> kinfo - | IInt_nat (kinfo, _) -> kinfo - | IAdd_int (kinfo, _) -> kinfo - | IAdd_nat (kinfo, _) -> kinfo - | ISub_int (kinfo, _) -> kinfo - | IMul_int (kinfo, _) -> kinfo - | IMul_nat (kinfo, _) -> kinfo - | IEdiv_int (kinfo, _) -> kinfo - | IEdiv_nat (kinfo, _) -> kinfo - | ILsl_nat (kinfo, _) -> kinfo - | ILsr_nat (kinfo, _) -> kinfo - | IOr_nat (kinfo, _) -> kinfo - | IAnd_nat (kinfo, _) -> kinfo - | IAnd_int_nat (kinfo, _) -> kinfo - | IXor_nat (kinfo, _) -> kinfo - | INot_int (kinfo, _) -> kinfo - | IIf {kinfo; _} -> kinfo - | ILoop (kinfo, _, _) -> kinfo - | ILoop_left (kinfo, _, _) -> kinfo - | IDip (kinfo, _, _) -> kinfo - | IExec (kinfo, _) -> kinfo - | IApply (kinfo, _, _) -> kinfo - | ILambda (kinfo, _, _) -> kinfo - | IFailwith (kinfo, _, _) -> kinfo - | ICompare (kinfo, _, _) -> kinfo - | IEq (kinfo, _) -> kinfo - | INeq (kinfo, _) -> kinfo - | ILt (kinfo, _) -> kinfo - | IGt (kinfo, _) -> kinfo - | ILe (kinfo, _) -> kinfo - | IGe (kinfo, _) -> kinfo - | IAddress (kinfo, _) -> kinfo - | IContract (kinfo, _, _, _) -> kinfo - | ITransfer_tokens (kinfo, _) -> kinfo - | IView (kinfo, _, _) -> kinfo - | IImplicit_account (kinfo, _) -> kinfo - | ICreate_contract {kinfo; _} -> kinfo - | ISet_delegate (kinfo, _) -> kinfo - | INow (kinfo, _) -> kinfo - | IMin_block_time (kinfo, _) -> kinfo - | IBalance (kinfo, _) -> kinfo - | ILevel (kinfo, _) -> kinfo - | ICheck_signature (kinfo, _) -> kinfo - | IHash_key (kinfo, _) -> kinfo - | IPack (kinfo, _, _) -> kinfo - | IUnpack (kinfo, _, _) -> kinfo - | IBlake2b (kinfo, _) -> kinfo - | ISha256 (kinfo, _) -> kinfo - | ISha512 (kinfo, _) -> kinfo - | ISource (kinfo, _) -> kinfo - | ISender (kinfo, _) -> kinfo - | ISelf (kinfo, _, _, _) -> kinfo - | ISelf_address (kinfo, _) -> kinfo - | IAmount (kinfo, _) -> kinfo - | ISapling_empty_state (kinfo, _, _) -> kinfo - | ISapling_verify_update (kinfo, _) -> kinfo - | ISapling_verify_update_deprecated (kinfo, _) -> kinfo - | IDig (kinfo, _, _, _) -> kinfo - | IDug (kinfo, _, _, _) -> kinfo - | IDipn (kinfo, _, _, _, _) -> kinfo - | IDropn (kinfo, _, _, _) -> kinfo - | IChainId (kinfo, _) -> kinfo - | INever kinfo -> kinfo - | IVoting_power (kinfo, _) -> kinfo - | ITotal_voting_power (kinfo, _) -> kinfo - | IKeccak (kinfo, _) -> kinfo - | ISha3 (kinfo, _) -> kinfo - | IAdd_bls12_381_g1 (kinfo, _) -> kinfo - | IAdd_bls12_381_g2 (kinfo, _) -> kinfo - | IAdd_bls12_381_fr (kinfo, _) -> kinfo - | IMul_bls12_381_g1 (kinfo, _) -> kinfo - | IMul_bls12_381_g2 (kinfo, _) -> kinfo - | IMul_bls12_381_fr (kinfo, _) -> kinfo - | IMul_bls12_381_z_fr (kinfo, _) -> kinfo - | IMul_bls12_381_fr_z (kinfo, _) -> kinfo - | IInt_bls12_381_fr (kinfo, _) -> kinfo - | INeg_bls12_381_g1 (kinfo, _) -> kinfo - | INeg_bls12_381_g2 (kinfo, _) -> kinfo - | INeg_bls12_381_fr (kinfo, _) -> kinfo - | IPairing_check_bls12_381 (kinfo, _) -> kinfo - | IComb (kinfo, _, _, _) -> kinfo - | IUncomb (kinfo, _, _, _) -> kinfo - | IComb_get (kinfo, _, _, _) -> kinfo - | IComb_set (kinfo, _, _, _) -> kinfo - | IDup_n (kinfo, _, _, _) -> kinfo - | ITicket (kinfo, _, _) -> kinfo - | IRead_ticket (kinfo, _, _) -> kinfo - | ISplit_ticket (kinfo, _) -> kinfo - | IJoin_tickets (kinfo, _, _) -> kinfo - | IHalt kinfo -> kinfo - | ILog (kinfo, _, _, _, _) -> kinfo - | IOpen_chest (kinfo, _) -> kinfo + | IDrop (loc, _) -> loc + | IDup (loc, _) -> loc + | ISwap (loc, _) -> loc + | IConst (loc, _, _, _) -> loc + | ICons_pair (loc, _) -> loc + | ICar (loc, _) -> loc + | ICdr (loc, _) -> loc + | IUnpair (loc, _) -> loc + | ICons_some (loc, _) -> loc + | ICons_none (loc, _, _) -> loc + | IIf_none {loc; _} -> loc + | IOpt_map {loc; _} -> loc + | ICons_left (loc, _, _) -> loc + | ICons_right (loc, _, _) -> loc + | IIf_left {loc; _} -> loc + | ICons_list (loc, _) -> loc + | INil (loc, _, _) -> loc + | IIf_cons {loc; _} -> loc + | IList_map (loc, _, _) -> loc + | IList_iter (loc, _, _, _) -> loc + | IList_size (loc, _) -> loc + | IEmpty_set (loc, _, _) -> loc + | ISet_iter (loc, _, _, _) -> loc + | ISet_mem (loc, _) -> loc + | ISet_update (loc, _) -> loc + | ISet_size (loc, _) -> loc + | IEmpty_map (loc, _, _, _) -> loc + | IMap_map (loc, _, _, _) -> loc + | IMap_iter (loc, _, _, _) -> loc + | IMap_mem (loc, _) -> loc + | IMap_get (loc, _) -> loc + | IMap_update (loc, _) -> loc + | IMap_get_and_update (loc, _) -> loc + | IMap_size (loc, _) -> loc + | IEmpty_big_map (loc, _, _, _) -> loc + | IBig_map_mem (loc, _) -> loc + | IBig_map_get (loc, _) -> loc + | IBig_map_update (loc, _) -> loc + | IBig_map_get_and_update (loc, _) -> loc + | IConcat_string (loc, _) -> loc + | IConcat_string_pair (loc, _) -> loc + | ISlice_string (loc, _) -> loc + | IString_size (loc, _) -> loc + | IConcat_bytes (loc, _) -> loc + | IConcat_bytes_pair (loc, _) -> loc + | ISlice_bytes (loc, _) -> loc + | IBytes_size (loc, _) -> loc + | IAdd_seconds_to_timestamp (loc, _) -> loc + | IAdd_timestamp_to_seconds (loc, _) -> loc + | ISub_timestamp_seconds (loc, _) -> loc + | IDiff_timestamps (loc, _) -> loc + | IAdd_tez (loc, _) -> loc + | ISub_tez (loc, _) -> loc + | ISub_tez_legacy (loc, _) -> loc + | IMul_teznat (loc, _) -> loc + | IMul_nattez (loc, _) -> loc + | IEdiv_teznat (loc, _) -> loc + | IEdiv_tez (loc, _) -> loc + | IOr (loc, _) -> loc + | IAnd (loc, _) -> loc + | IXor (loc, _) -> loc + | INot (loc, _) -> loc + | IIs_nat (loc, _) -> loc + | INeg (loc, _) -> loc + | IAbs_int (loc, _) -> loc + | IInt_nat (loc, _) -> loc + | IAdd_int (loc, _) -> loc + | IAdd_nat (loc, _) -> loc + | ISub_int (loc, _) -> loc + | IMul_int (loc, _) -> loc + | IMul_nat (loc, _) -> loc + | IEdiv_int (loc, _) -> loc + | IEdiv_nat (loc, _) -> loc + | ILsl_nat (loc, _) -> loc + | ILsr_nat (loc, _) -> loc + | IOr_nat (loc, _) -> loc + | IAnd_nat (loc, _) -> loc + | IAnd_int_nat (loc, _) -> loc + | IXor_nat (loc, _) -> loc + | INot_int (loc, _) -> loc + | IIf {loc; _} -> loc + | ILoop (loc, _, _) -> loc + | ILoop_left (loc, _, _) -> loc + | IDip (loc, _, _) -> loc + | IExec (loc, _) -> loc + | IApply (loc, _, _) -> loc + | ILambda (loc, _, _) -> loc + | IFailwith (loc, _) -> loc + | ICompare (loc, _, _) -> loc + | IEq (loc, _) -> loc + | INeq (loc, _) -> loc + | ILt (loc, _) -> loc + | IGt (loc, _) -> loc + | ILe (loc, _) -> loc + | IGe (loc, _) -> loc + | IAddress (loc, _) -> loc + | IContract (loc, _, _, _) -> loc + | ITransfer_tokens (loc, _) -> loc + | IView (loc, _, _) -> loc + | IImplicit_account (loc, _) -> loc + | ICreate_contract {loc; _} -> loc + | ISet_delegate (loc, _) -> loc + | INow (loc, _) -> loc + | IMin_block_time (loc, _) -> loc + | IBalance (loc, _) -> loc + | ILevel (loc, _) -> loc + | ICheck_signature (loc, _) -> loc + | IHash_key (loc, _) -> loc + | IPack (loc, _, _) -> loc + | IUnpack (loc, _, _) -> loc + | IBlake2b (loc, _) -> loc + | ISha256 (loc, _) -> loc + | ISha512 (loc, _) -> loc + | ISource (loc, _) -> loc + | ISender (loc, _) -> loc + | ISelf (loc, _, _, _) -> loc + | ISelf_address (loc, _) -> loc + | IAmount (loc, _) -> loc + | ISapling_empty_state (loc, _, _) -> loc + | ISapling_verify_update (loc, _) -> loc + | ISapling_verify_update_deprecated (loc, _) -> loc + | IDig (loc, _, _, _) -> loc + | IDug (loc, _, _, _) -> loc + | IDipn (loc, _, _, _, _) -> loc + | IDropn (loc, _, _, _) -> loc + | IChainId (loc, _) -> loc + | INever loc -> loc + | IVoting_power (loc, _) -> loc + | ITotal_voting_power (loc, _) -> loc + | IKeccak (loc, _) -> loc + | ISha3 (loc, _) -> loc + | IAdd_bls12_381_g1 (loc, _) -> loc + | IAdd_bls12_381_g2 (loc, _) -> loc + | IAdd_bls12_381_fr (loc, _) -> loc + | IMul_bls12_381_g1 (loc, _) -> loc + | IMul_bls12_381_g2 (loc, _) -> loc + | IMul_bls12_381_fr (loc, _) -> loc + | IMul_bls12_381_z_fr (loc, _) -> loc + | IMul_bls12_381_fr_z (loc, _) -> loc + | IInt_bls12_381_fr (loc, _) -> loc + | INeg_bls12_381_g1 (loc, _) -> loc + | INeg_bls12_381_g2 (loc, _) -> loc + | INeg_bls12_381_fr (loc, _) -> loc + | IPairing_check_bls12_381 (loc, _) -> loc + | IComb (loc, _, _, _) -> loc + | IUncomb (loc, _, _, _) -> loc + | IComb_get (loc, _, _, _) -> loc + | IComb_set (loc, _, _, _) -> loc + | IDup_n (loc, _, _, _) -> loc + | ITicket (loc, _, _) -> loc + | IRead_ticket (loc, _, _) -> loc + | ISplit_ticket (loc, _) -> loc + | IJoin_tickets (loc, _, _) -> loc + | IHalt loc -> loc + | ILog (loc, _, _, _, _) -> loc + | IOpen_chest (loc, _) -> loc let meta_basic = {size = Type_size.one} @@ -1864,16 +1818,16 @@ let kinstr_traverse i init f = | IUnpair (_, k) -> (next [@ocaml.tailcall]) k | ICons_some (_, k) -> (next [@ocaml.tailcall]) k | ICons_none (_, _, k) -> (next [@ocaml.tailcall]) k - | IIf_none {kinfo = _; branch_if_none = k1; branch_if_some = k2; k} -> + | IIf_none {loc = _; branch_if_none = k1; branch_if_some = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k - | IOpt_map {kinfo = _; body; k} -> (next2 [@ocaml.tailcall]) body k + | IOpt_map {loc = _; body; k} -> (next2 [@ocaml.tailcall]) body k | ICons_left (_, _, k) -> (next [@ocaml.tailcall]) k | ICons_right (_, _, k) -> (next [@ocaml.tailcall]) k - | IIf_left {kinfo = _; branch_if_left = k1; branch_if_right = k2; k} -> + | IIf_left {loc = _; branch_if_left = k1; branch_if_right = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k | ICons_list (_, k) -> (next [@ocaml.tailcall]) k | INil (_, _, k) -> (next [@ocaml.tailcall]) k - | IIf_cons {kinfo = _; branch_if_nil = k1; branch_if_cons = k2; k} -> + | IIf_cons {loc = _; branch_if_nil = k1; branch_if_cons = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k | IList_map (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IList_iter (_, _, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 @@ -1937,7 +1891,7 @@ let kinstr_traverse i init f = | IAnd_int_nat (_, k) -> (next [@ocaml.tailcall]) k | IXor_nat (_, k) -> (next [@ocaml.tailcall]) k | INot_int (_, k) -> (next [@ocaml.tailcall]) k - | IIf {kinfo = _; branch_if_true = k1; branch_if_false = k2; k} -> + | IIf {loc = _; branch_if_true = k1; branch_if_false = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k | ILoop (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | ILoop_left (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 @@ -1945,7 +1899,7 @@ let kinstr_traverse i init f = | IExec (_, k) -> (next [@ocaml.tailcall]) k | IApply (_, _, k) -> (next [@ocaml.tailcall]) k | ILambda (_, _, k) -> (next [@ocaml.tailcall]) k - | IFailwith (_, _, _) -> (return [@ocaml.tailcall]) () + | IFailwith (_, _) -> (return [@ocaml.tailcall]) () | ICompare (_, _, k) -> (next [@ocaml.tailcall]) k | IEq (_, k) -> (next [@ocaml.tailcall]) k | INeq (_, k) -> (next [@ocaml.tailcall]) k diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index c24a30ee38cf..1af4302ffc0d 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -310,8 +310,6 @@ type 'arg entrypoints = { original_type_expr : Script.node; } -type ('a, 's) kinfo = {iloc : Script.location} [@@ocaml.unboxed] - (* ---- Instructions --------------------------------------------------------*) (* @@ -379,11 +377,10 @@ type ('a, 's) kinfo = {iloc : Script.location} [@@ocaml.unboxed] ends a sequence of instructions and has no successor, as shown by its type: - IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr + IHalt : Script.location -> ('a, 's, 'a, 's) kinstr - Each instruction is decorated by some metadata (typically to hold - locations). The type for these metadata is [kinfo]: such a value is - only used for logging and error reporting and has no impact on the + Each instruction is decorated by its location: its value is only + used for logging and error reporting and has no impact on the operational semantics. Notations: @@ -419,52 +416,52 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ----- *) | IDrop : - ('a, 'b * 's) kinfo * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IDup : - ('a, 'b * 's) kinfo * ('a, 'a * ('b * 's), 'r, 'f) kinstr + Script.location * ('a, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | ISwap : - ('a, 'b * ('c * 's)) kinfo * ('b, 'a * ('c * 's), 'r, 'f) kinstr + Script.location * ('b, 'a * ('c * 's), 'r, 'f) kinstr -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | IConst : - ('a, 's) kinfo * ('ty, _) ty * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr + Script.location * ('ty, _) ty * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* Pairs ----- *) | ICons_pair : - ('a, 'b * ('c * 's)) kinfo * ('a * 'b, 'c * 's, 'r, 'f) kinstr + Script.location * ('a * 'b, 'c * 's, 'r, 'f) kinstr -> ('a, 'b * ('c * 's), 'r, 'f) kinstr | ICar : - ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr + Script.location * ('a, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr | ICdr : - ('a * 'b, 's) kinfo * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr | IUnpair : - ('a * 'b, 's) kinfo * ('a, 'b * 's, 'r, 'f) kinstr + Script.location * ('a, 'b * 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr (* Options ------- *) | ICons_some : - ('v, 'a * 's) kinfo * ('v option, 'a * 's, 'r, 'f) kinstr + Script.location * ('v option, 'a * 's, 'r, 'f) kinstr -> ('v, 'a * 's, 'r, 'f) kinstr | ICons_none : - ('a, 's) kinfo * ('b, _) ty * ('b option, 'a * 's, 'r, 'f) kinstr + Script.location * ('b, _) ty * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_none : { - kinfo : ('a option, 'b * 's) kinfo; + loc : Script.location; branch_if_none : ('b, 's, 'c, 't) kinstr; branch_if_some : ('a, 'b * 's, 'c, 't) kinstr; k : ('c, 't, 'r, 'f) kinstr; } -> ('a option, 'b * 's, 'r, 'f) kinstr | IOpt_map : { - kinfo : ('a option, 's) kinfo; + loc : Script.location; body : ('a, 's, 'b, 's) kinstr; k : ('b option, 's, 'c, 't) kinstr; } @@ -474,17 +471,13 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ------ *) | ICons_left : - ('a, 'c * 's) kinfo - * ('b, _) ty - * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + Script.location * ('b, _) ty * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('a, 'c * 's, 'r, 'f) kinstr | ICons_right : - ('b, 'c * 's) kinfo - * ('a, _) ty - * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * (('a, 'b) union, 'c * 's, 'r, 'f) kinstr -> ('b, 'c * 's, 'r, 'f) kinstr | IIf_left : { - kinfo : (('a, 'b) union, 's) kinfo; + loc : Script.location; branch_if_left : ('a, 's, 'c, 't) kinstr; branch_if_right : ('b, 's, 'c, 't) kinstr; k : ('c, 't, 'r, 'f) kinstr; @@ -495,498 +488,470 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = ----- *) | ICons_list : - ('a, 'a boxed_list * 's) kinfo * ('a boxed_list, 's, 'r, 'f) kinstr + Script.location * ('a boxed_list, 's, 'r, 'f) kinstr -> ('a, 'a boxed_list * 's, 'r, 'f) kinstr | INil : - ('a, 's) kinfo * ('b, _) ty * ('b boxed_list, 'a * 's, 'r, 'f) kinstr + Script.location * ('b, _) ty * ('b boxed_list, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IIf_cons : { - kinfo : ('a boxed_list, 'b * 's) kinfo; + loc : Script.location; branch_if_cons : ('a, 'a boxed_list * ('b * 's), 'c, 't) kinstr; branch_if_nil : ('b, 's, 'c, 't) kinstr; k : ('c, 't, 'r, 'f) kinstr; } -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr | IList_map : - ('a boxed_list, 'c * 's) kinfo + Script.location * ('a, 'c * 's, 'b, 'c * 's) kinstr * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : - ('a boxed_list, 'b * 's) kinfo + Script.location * ('a, _) ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr | IList_size : - ('a boxed_list, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> ('a boxed_list, 's, 'r, 'f) kinstr (* Sets ---- *) | IEmpty_set : - ('a, 's) kinfo * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr + Script.location * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISet_iter : - ('a set, 'b * 's) kinfo + Script.location * 'a comparable_ty * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a set, 'b * 's, 'r, 'f) kinstr | ISet_mem : - ('a, 'a set * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ('a, 'a set * 's, 'r, 'f) kinstr | ISet_update : - ('a, bool * ('a set * 's)) kinfo * ('a set, 's, 'r, 'f) kinstr + Script.location * ('a set, 's, 'r, 'f) kinstr -> ('a, bool * ('a set * 's), 'r, 'f) kinstr | ISet_size : - ('a set, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> ('a set, 's, 'r, 'f) kinstr (* Maps ---- *) | IEmpty_map : - ('a, 's) kinfo + Script.location * 'b comparable_ty * ('c, _) ty * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IMap_map : - (('a, 'b) map, 'd * 's) kinfo - * ('a, _) ty + Script.location + * 'a comparable_ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr | IMap_iter : - (('a, 'b) map, 'c * 's) kinfo + Script.location * ('a * 'b, _) ty * ('a * 'b, 'c * 's, 'c, 's) kinstr * ('c, 's, 'r, 'f) kinstr -> (('a, 'b) map, 'c * 's, 'r, 'f) kinstr | IMap_mem : - ('a, ('a, 'b) map * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr | IMap_get : - ('a, ('a, 'b) map * 's) kinfo * ('b option, 's, 'r, 'f) kinstr + Script.location * ('b option, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr | IMap_update : - ('a, 'b option * (('a, 'b) map * 's)) kinfo - * (('a, 'b) map, 's, 'r, 'f) kinstr + Script.location * (('a, 'b) map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr | IMap_get_and_update : - ('a, 'b option * (('a, 'b) map * 's)) kinfo - * ('b option, ('a, 'b) map * 's, 'r, 'f) kinstr + Script.location * ('b option, ('a, 'b) map * 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr | IMap_size : - (('a, 'b) map, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (('a, 'b) map, 's, 'r, 'f) kinstr (* Big maps -------- *) | IEmpty_big_map : - ('a, 's) kinfo + Script.location * 'b comparable_ty * ('c, _) ty * (('b, 'c) big_map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IBig_map_mem : - ('a, ('a, 'b) big_map * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) big_map * 's, 'r, 'f) kinstr | IBig_map_get : - ('a, ('a, 'b) big_map * 's) kinfo * ('b option, 's, 'r, 'f) kinstr + Script.location * ('b option, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) big_map * 's, 'r, 'f) kinstr | IBig_map_update : - ('a, 'b option * (('a, 'b) big_map * 's)) kinfo - * (('a, 'b) big_map, 's, 'r, 'f) kinstr + Script.location * (('a, 'b) big_map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr | IBig_map_get_and_update : - ('a, 'b option * (('a, 'b) big_map * 's)) kinfo - * ('b option, ('a, 'b) big_map * 's, 'r, 'f) kinstr + Script.location * ('b option, ('a, 'b) big_map * 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr (* Strings ------- *) | IConcat_string : - (Script_string.t boxed_list, 's) kinfo - * (Script_string.t, 's, 'r, 'f) kinstr + Script.location * (Script_string.t, 's, 'r, 'f) kinstr -> (Script_string.t boxed_list, 's, 'r, 'f) kinstr | IConcat_string_pair : - (Script_string.t, Script_string.t * 's) kinfo - * (Script_string.t, 's, 'r, 'f) kinstr + Script.location * (Script_string.t, 's, 'r, 'f) kinstr -> (Script_string.t, Script_string.t * 's, 'r, 'f) kinstr | ISlice_string : - (n num, n num * (Script_string.t * 's)) kinfo - * (Script_string.t option, 's, 'r, 'f) kinstr + Script.location * (Script_string.t option, 's, 'r, 'f) kinstr -> (n num, n num * (Script_string.t * 's), 'r, 'f) kinstr | IString_size : - (Script_string.t, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (Script_string.t, 's, 'r, 'f) kinstr (* Bytes ----- *) | IConcat_bytes : - (bytes boxed_list, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes boxed_list, 's, 'r, 'f) kinstr | IConcat_bytes_pair : - (bytes, bytes * 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, bytes * 's, 'r, 'f) kinstr | ISlice_bytes : - (n num, n num * (bytes * 's)) kinfo * (bytes option, 's, 'r, 'f) kinstr + Script.location * (bytes option, 's, 'r, 'f) kinstr -> (n num, n num * (bytes * 's), 'r, 'f) kinstr | IBytes_size : - (bytes, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr (* Timestamps ---------- *) | IAdd_seconds_to_timestamp : - (z num, Script_timestamp.t * 's) kinfo - * (Script_timestamp.t, 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 's, 'r, 'f) kinstr -> (z num, Script_timestamp.t * 's, 'r, 'f) kinstr | IAdd_timestamp_to_seconds : - (Script_timestamp.t, z num * 's) kinfo - * (Script_timestamp.t, 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 's, 'r, 'f) kinstr -> (Script_timestamp.t, z num * 's, 'r, 'f) kinstr | ISub_timestamp_seconds : - (Script_timestamp.t, z num * 's) kinfo - * (Script_timestamp.t, 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 's, 'r, 'f) kinstr -> (Script_timestamp.t, z num * 's, 'r, 'f) kinstr | IDiff_timestamps : - (Script_timestamp.t, Script_timestamp.t * 's) kinfo - * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> (Script_timestamp.t, Script_timestamp.t * 's, 'r, 'f) kinstr (* Tez --- *) | IAdd_tez : - (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | ISub_tez : - (Tez.t, Tez.t * 's) kinfo * (Tez.t option, 's, 'r, 'f) kinstr + Script.location * (Tez.t option, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | ISub_tez_legacy : - (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | IMul_teznat : - (Tez.t, n num * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, n num * 's, 'r, 'f) kinstr | IMul_nattez : - (n num, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + Script.location * (Tez.t, 's, 'r, 'f) kinstr -> (n num, Tez.t * 's, 'r, 'f) kinstr | IEdiv_teznat : - (Tez.t, n num * 's) kinfo - * ((Tez.t, Tez.t) pair option, 's, 'r, 'f) kinstr + Script.location * ((Tez.t, Tez.t) pair option, 's, 'r, 'f) kinstr -> (Tez.t, n num * 's, 'r, 'f) kinstr | IEdiv_tez : - (Tez.t, Tez.t * 's) kinfo - * ((n num, Tez.t) pair option, 's, 'r, 'f) kinstr + Script.location * ((n num, Tez.t) pair option, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr (* Booleans -------- *) | IOr : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr | IAnd : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr | IXor : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr | INot : - (bool, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (bool, 's, 'r, 'f) kinstr (* Integers -------- *) | IIs_nat : - (z num, 's) kinfo * (n num option, 's, 'r, 'f) kinstr + Script.location * (n num option, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | INeg : - ('a num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 's, 'r, 'f) kinstr | IAbs_int : - (z num, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | IInt_nat : - (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> (n num, 's, 'r, 'f) kinstr | IAdd_int : - ('a num, 'b num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IAdd_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ISub_int : - ('a num, 'b num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IMul_int : - ('a num, 'b num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IMul_nat : - (n num, 'a num * 's) kinfo * ('a num, 's, 'r, 'f) kinstr + Script.location * ('a num, 's, 'r, 'f) kinstr -> (n num, 'a num * 's, 'r, 'f) kinstr | IEdiv_int : - ('a num, 'b num * 's) kinfo - * ((z num, n num) pair option, 's, 'r, 'f) kinstr + Script.location * ((z num, n num) pair option, 's, 'r, 'f) kinstr -> ('a num, 'b num * 's, 'r, 'f) kinstr | IEdiv_nat : - (n num, 'a num * 's) kinfo - * (('a num, n num) pair option, 's, 'r, 'f) kinstr + Script.location * (('a num, n num) pair option, 's, 'r, 'f) kinstr -> (n num, 'a num * 's, 'r, 'f) kinstr | ILsl_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ILsr_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | IOr_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | IAnd_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | IAnd_int_nat : - (z num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (z num, n num * 's, 'r, 'f) kinstr | IXor_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | INot_int : - ('a num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> ('a num, 's, 'r, 'f) kinstr (* Control ------- *) | IIf : { - kinfo : (bool, 'a * 's) kinfo; + loc : Script.location; branch_if_true : ('a, 's, 'b, 'u) kinstr; branch_if_false : ('a, 's, 'b, 'u) kinstr; k : ('b, 'u, 'r, 'f) kinstr; } -> (bool, 'a * 's, 'r, 'f) kinstr | ILoop : - (bool, 'a * 's) kinfo - * ('a, 's, bool, 'a * 's) kinstr - * ('a, 's, 'r, 'f) kinstr + Script.location * ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) kinstr -> (bool, 'a * 's, 'r, 'f) kinstr | ILoop_left : - (('a, 'b) union, 's) kinfo + Script.location * ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> (('a, 'b) union, 's, 'r, 'f) kinstr | IDip : - ('a, 'b * 's) kinfo - * ('b, 's, 'c, 't) kinstr - * ('a, 'c * 't, 'r, 'f) kinstr + Script.location * ('b, 's, 'c, 't) kinstr * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : - ('a, ('a, 'b) lambda * 's) kinfo * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : - ('a, ('a * 'b, 'c) lambda * 's) kinfo - * ('a, _) ty - * (('b, 'c) lambda, 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * (('b, 'c) lambda, 's, 'r, 'f) kinstr -> ('a, ('a * 'b, 'c) lambda * 's, 'r, 'f) kinstr | ILambda : - ('a, 's) kinfo + Script.location * ('b, 'c) lambda * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | IFailwith : - ('a, 's) kinfo * Script.location * ('a, _) ty - -> ('a, 's, 'r, 'f) kinstr + | IFailwith : Script.location * ('a, _) ty -> ('a, 's, 'r, 'f) kinstr (* Comparison ---------- *) | ICompare : - ('a, 'a * ('b * 's)) kinfo - * 'a comparable_ty - * (z num, 'b * 's, 'r, 'f) kinstr + Script.location * 'a comparable_ty * (z num, 'b * 's, 'r, 'f) kinstr -> ('a, 'a * ('b * 's), 'r, 'f) kinstr (* Comparators ----------- *) | IEq : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | INeq : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | ILt : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | IGt : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | ILe : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr | IGe : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (z num, 's, 'r, 'f) kinstr (* Protocol -------- *) | IAddress : - ('a typed_contract, 's) kinfo * (address, 's, 'r, 'f) kinstr + Script.location * (address, 's, 'r, 'f) kinstr -> ('a typed_contract, 's, 'r, 'f) kinstr | IContract : - (address, 's) kinfo + Script.location * ('a, _) ty * Entrypoint.t * ('a typed_contract option, 's, 'r, 'f) kinstr -> (address, 's, 'r, 'f) kinstr | IView : - ('a, address * ('c * 's)) kinfo + Script.location * ('a, 'b) view_signature * ('b option, 'c * 's, 'r, 'f) kinstr -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : - ('a, Tez.t * ('a typed_contract * 's)) kinfo - * (operation, 's, 'r, 'f) kinstr + Script.location * (operation, 's, 'r, 'f) kinstr -> ('a, Tez.t * ('a typed_contract * 's), 'r, 'f) kinstr | IImplicit_account : - (public_key_hash, 's) kinfo * (unit typed_contract, 's, 'r, 'f) kinstr + Script.location * (unit typed_contract, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr | ICreate_contract : { - kinfo : (public_key_hash option, Tez.t * ('a * ('c * 's))) kinfo; + loc : Script.location; storage_type : ('a, _) ty; code : Script.expr; k : (operation, address * ('c * 's), 'r, 'f) kinstr; } -> (public_key_hash option, Tez.t * ('a * ('c * 's)), 'r, 'f) kinstr | ISet_delegate : - (public_key_hash option, 's) kinfo * (operation, 's, 'r, 'f) kinstr + Script.location * (operation, 's, 'r, 'f) kinstr -> (public_key_hash option, 's, 'r, 'f) kinstr | INow : - ('a, 's) kinfo * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IMin_block_time : - ('a, 's) kinfo * (n num, 'a * 's, 'r, 'f) kinstr + Script.location * (n num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IBalance : - ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Tez.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ILevel : - ('a, 's) kinfo * (n num, 'a * 's, 'r, 'f) kinstr + Script.location * (n num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ICheck_signature : - (public_key, signature * (bytes * 's)) kinfo * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> (public_key, signature * (bytes * 's), 'r, 'f) kinstr | IHash_key : - (public_key, 's) kinfo * (public_key_hash, 's, 'r, 'f) kinstr + Script.location * (public_key_hash, 's, 'r, 'f) kinstr -> (public_key, 's, 'r, 'f) kinstr | IPack : - ('a, 'b * 's) kinfo * ('a, _) ty * (bytes, 'b * 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * (bytes, 'b * 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IUnpack : - (bytes, 's) kinfo * ('a, _) ty * ('a option, 's, 'r, 'f) kinstr + Script.location * ('a, _) ty * ('a option, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | IBlake2b : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISha256 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISha512 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISource : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + Script.location * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISender : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + Script.location * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISelf : - ('a, 's) kinfo + Script.location * ('b, _) ty * Entrypoint.t * ('b typed_contract, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISelf_address : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + Script.location * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IAmount : - ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Tez.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | ISapling_empty_state : - ('a, 's) kinfo + Script.location * Sapling.Memo_size.t * (Sapling.state, 'a * 's, 'b, 'f) kinstr -> ('a, 's, 'b, 'f) kinstr | ISapling_verify_update : - (Sapling.transaction, Sapling.state * 's) kinfo + Script.location * ((bytes, (z num, Sapling.state) pair) pair option, 's, 'r, 'f) kinstr -> (Sapling.transaction, Sapling.state * 's, 'r, 'f) kinstr | ISapling_verify_update_deprecated : (* legacy introduced in J *) - (Sapling.Legacy.transaction, Sapling.state * 's) kinfo + Script.location * ((z num, Sapling.state) pair option, 's, 'r, 'f) kinstr -> (Sapling.Legacy.transaction, Sapling.state * 's, 'r, 'f) kinstr | IDig : - ('a, 's) kinfo + Script.location (* - There is a prefix of length [n] common to the input stack - of type ['a * 's] and an intermediary stack of type ['d * 'u]. - *) + There is a prefix of length [n] common to the input stack + of type ['a * 's] and an intermediary stack of type ['d * 'u]. + *) * int (* - Under this common prefix, the input stack has type ['b * 'c * 't] and - the intermediary stack type ['c * 't] because we removed the ['b] from - the input stack. This value of type ['b] is pushed on top of the - stack passed to the continuation. - *) + Under this common prefix, the input stack has type ['b * 'c * 't] and + the intermediary stack type ['c * 't] because we removed the ['b] from + the input stack. This value of type ['b] is pushed on top of the + stack passed to the continuation. + *) * ('b, 'c * 't, 'c, 't, 'a, 's, 'd, 'u) stack_prefix_preservation_witness * ('b, 'd * 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IDug : - ('a, 'b * 's) kinfo + Script.location (* - The input stack has type ['a * 'b * 's]. + The input stack has type ['a * 'b * 's]. - There is a prefix of length [n] common to its substack - of type ['b * 's] and the output stack of type ['d * 'u]. - *) + There is a prefix of length [n] common to its substack + of type ['b * 's] and the output stack of type ['d * 'u]. + *) * int (* - Under this common prefix, the first stack has type ['c * 't] - and the second has type ['a * 'c * 't] because we have pushed - the topmost element of this input stack under the common prefix. - *) + Under this common prefix, the first stack has type ['c * 't] + and the second has type ['a * 'c * 't] because we have pushed + the topmost element of this input stack under the common prefix. + *) * ('c, 't, 'a, 'c * 't, 'b, 's, 'd, 'u) stack_prefix_preservation_witness * ('d, 'u, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IDipn : - ('a, 's) kinfo - (* - The body of Dipn is applied under a prefix of size [n]... - *) + Script.location + (* The body of Dipn is applied under a prefix of size [n]... *) * int (* - ... the relation between the types of the input and output stacks - is characterized by the following witness. - (See forthcoming comments about [stack_prefix_preservation_witness].) - *) + ... the relation between the types of the input and output stacks + is characterized by the following witness. + (See forthcoming comments about [stack_prefix_preservation_witness].) + *) * ('c, 't, 'd, 'v, 'a, 's, 'b, 'u) stack_prefix_preservation_witness * ('c, 't, 'd, 'v) kinstr * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IDropn : - ('a, 's) kinfo + Script.location (* The input stack enjoys a prefix of length [n]... *) @@ -1003,119 +968,106 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IChainId : - ('a, 's) kinfo * (Script_chain_id.t, 'a * 's, 'r, 'f) kinstr + Script.location * (Script_chain_id.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | INever : (never, 's) kinfo -> (never, 's, 'r, 'f) kinstr + | INever : Script.location -> (never, 's, 'r, 'f) kinstr | IVoting_power : - (public_key_hash, 's) kinfo * (n num, 's, 'r, 'f) kinstr + Script.location * (n num, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr | ITotal_voting_power : - ('a, 's) kinfo * (n num, 'a * 's, 'r, 'f) kinstr + Script.location * (n num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IKeccak : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | ISha3 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + Script.location * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr | IAdd_bls12_381_g1 : - (Script_bls.G1.t, Script_bls.G1.t * 's) kinfo - * (Script_bls.G1.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G1.t, 's, 'r, 'f) kinstr -> (Script_bls.G1.t, Script_bls.G1.t * 's, 'r, 'f) kinstr | IAdd_bls12_381_g2 : - (Script_bls.G2.t, Script_bls.G2.t * 's) kinfo - * (Script_bls.G2.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G2.t, 's, 'r, 'f) kinstr -> (Script_bls.G2.t, Script_bls.G2.t * 's, 'r, 'f) kinstr | IAdd_bls12_381_fr : - (Script_bls.Fr.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_g1 : - (Script_bls.G1.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.G1.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G1.t, 's, 'r, 'f) kinstr -> (Script_bls.G1.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_g2 : - (Script_bls.G2.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.G2.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G2.t, 's, 'r, 'f) kinstr -> (Script_bls.G2.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_fr : - (Script_bls.Fr.t, Script_bls.Fr.t * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IMul_bls12_381_z_fr : - (Script_bls.Fr.t, 'a num * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, 'a num * 's, 'r, 'f) kinstr | IMul_bls12_381_fr_z : - ('a num, Script_bls.Fr.t * 's) kinfo - * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> ('a num, Script_bls.Fr.t * 's, 'r, 'f) kinstr | IInt_bls12_381_fr : - (Script_bls.Fr.t, 's) kinfo * (z num, 's, 'r, 'f) kinstr + Script.location * (z num, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, 's, 'r, 'f) kinstr | INeg_bls12_381_g1 : - (Script_bls.G1.t, 's) kinfo * (Script_bls.G1.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G1.t, 's, 'r, 'f) kinstr -> (Script_bls.G1.t, 's, 'r, 'f) kinstr | INeg_bls12_381_g2 : - (Script_bls.G2.t, 's) kinfo * (Script_bls.G2.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.G2.t, 's, 'r, 'f) kinstr -> (Script_bls.G2.t, 's, 'r, 'f) kinstr | INeg_bls12_381_fr : - (Script_bls.Fr.t, 's) kinfo * (Script_bls.Fr.t, 's, 'r, 'f) kinstr + Script.location * (Script_bls.Fr.t, 's, 'r, 'f) kinstr -> (Script_bls.Fr.t, 's, 'r, 'f) kinstr | IPairing_check_bls12_381 : - ((Script_bls.G1.t, Script_bls.G2.t) pair boxed_list, 's) kinfo - * (bool, 's, 'r, 'f) kinstr + Script.location * (bool, 's, 'r, 'f) kinstr -> ((Script_bls.G1.t, Script_bls.G2.t) pair boxed_list, 's, 'r, 'f) kinstr | IComb : - ('a, 'b * 's) kinfo + Script.location * int * ('a, 'b, 's, 'c, 'd, 't) comb_gadt_witness * ('c, 'd * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IUncomb : - ('a, 'b * 's) kinfo + Script.location * int * ('a, 'b, 's, 'c, 'd, 't) uncomb_gadt_witness * ('c, 'd * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IComb_get : - ('t, 'a * 's) kinfo + Script.location * int * ('t, 'v) comb_get_gadt_witness * ('v, 'a * 's, 'r, 'f) kinstr -> ('t, 'a * 's, 'r, 'f) kinstr | IComb_set : - ('a, 'b * ('d * 's)) kinfo + Script.location * int * ('a, 'b, 'c) comb_set_gadt_witness * ('c, 'd * 's, 'r, 'f) kinstr -> ('a, 'b * ('d * 's), 'r, 'f) kinstr | IDup_n : - ('a, 'b * 's) kinfo + Script.location * int * ('a, 'b, 's, 't) dup_n_gadt_witness * ('t, 'a * ('b * 's), 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | ITicket : - ('a, n num * 's) kinfo * 'a comparable_ty * ('a ticket, 's, 'r, 'f) kinstr + Script.location * 'a comparable_ty * ('a ticket, 's, 'r, 'f) kinstr -> ('a, n num * 's, 'r, 'f) kinstr | IRead_ticket : - ('a ticket, 's) kinfo + Script.location * 'a comparable_ty * (address * ('a * n num), 'a ticket * 's, 'r, 'f) kinstr -> ('a ticket, 's, 'r, 'f) kinstr | ISplit_ticket : - ('a ticket, (n num * n num) * 's) kinfo - * (('a ticket * 'a ticket) option, 's, 'r, 'f) kinstr + Script.location * (('a ticket * 'a ticket) option, 's, 'r, 'f) kinstr -> ('a ticket, (n num * n num) * 's, 'r, 'f) kinstr | IJoin_tickets : - ('a ticket * 'a ticket, 's) kinfo - * 'a comparable_ty - * ('a ticket option, 's, 'r, 'f) kinstr + Script.location * 'a comparable_ty * ('a ticket option, 's, 'r, 'f) kinstr -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr | IOpen_chest : - (Script_timelock.chest_key, Script_timelock.chest * (n num * 's)) kinfo - * ((bytes, bool) union, 's, 'r, 'f) kinstr + Script.location * ((bytes, bool) union, 's, 'r, 'f) kinstr -> ( Script_timelock.chest_key, Script_timelock.chest * (n num * 's), 'r, @@ -1128,10 +1080,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = The following instructions are not available in the source language. They are used by the internals of the interpreter. - *) - | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr + *) + | IHalt : Script.location -> ('a, 's, 'a, 's) kinstr | ILog : - ('a, 's) kinfo + Script.location * ('a, 's) stack_ty * logging_event * logger @@ -1140,7 +1092,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = and logging_event = | LogEntry : logging_event - | LogExit : ('b, 'u) kinfo -> logging_event + | LogExit : Script.location -> logging_event and ('arg, 'ret) lambda = | Lam : @@ -1438,7 +1390,7 @@ and ('a, 's, 'r, 'f) kdescr = { *) and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : - ('y, 'u) kinfo + Script.location * ('a, _) ty * ('c, 'v, 'd, 'w, 'x, 's, 'y, 'u) stack_prefix_preservation_witness -> ( 'c, @@ -1582,7 +1534,7 @@ type packed_manager_operation = val manager_kind : 'kind manager_operation -> 'kind Kind.manager -val kinfo_of_kinstr : ('a, 's, 'b, 'f) kinstr -> ('a, 's) kinfo +val kinstr_location : (_, _, _, _) kinstr -> Script.location val ty_size : ('a, _) ty -> 'a Type_size.t diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 4c6c96f7b1c4..1d3f9c32fc06 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -145,7 +145,7 @@ let peano_shape_proof = fun k -> scale *? k let stack_prefix_preservation_witness_size = - let scale = h3w in + let scale = header_size +! h2w in fun k -> scale *? k let comb_gadt_witness_size = peano_shape_proof @@ -197,8 +197,6 @@ let chest_key_size _ = let proof_size = 256 in h2w +? (unlocked_value_size + proof_size) -let kinfo_size = !!0 - (* The following mutually recursive functions are mostly tail-recursive and the only recursive call that is not a tailcall cannot be nested. (See [big_map_size].) For this reason, these @@ -339,7 +337,7 @@ and kinstr_size : (a, s, r, f) kinstr -> nodes_and_size = fun ~count_lambda_nodes accu t -> - let base = h2w +! kinfo_size in + let base = h2w in let apply : type a s r f. nodes_and_size -> (a, s, r, f) kinstr -> nodes_and_size = fun accu t -> @@ -454,7 +452,8 @@ and kinstr_size : | ILambda (_, lambda, _) -> let accu = ret_succ_adding accu (base +! word_size) in (lambda_size [@ocaml.tailcall]) ~count_lambda_nodes accu lambda - | IFailwith (_, _, ty) -> ret_succ_adding (accu ++ ty_size ty) base + | IFailwith (_, ty) -> + ret_succ_adding (accu ++ ty_size ty) base | ICompare (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base +! word_size) | IEq (_, _) -> ret_succ_adding accu base @@ -519,7 +518,7 @@ and kinstr_size : accu (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) | IChainId (_, _) -> ret_succ_adding accu base - | INever _ -> ret_succ_adding accu h1w + | INever _loc -> ret_succ_adding accu h1w | IVoting_power (_, _) -> ret_succ_adding accu base | ITotal_voting_power (_, _) -> ret_succ_adding accu base | IKeccak (_, _) -> ret_succ_adding accu base @@ -565,7 +564,7 @@ and kinstr_size : | IJoin_tickets (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base +! word_size) | IOpen_chest (_, _) -> ret_succ_adding accu base - | IHalt _ -> ret_succ_adding accu (h1w +! kinfo_size) + | IHalt _ -> ret_succ_adding accu h1w | ILog _ -> (* This instruction is ignored because it is only used for testing. *) accu diff --git a/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml index 710d7adce4a1..6112dbb07fff 100644 --- a/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/integration/michelson/test_interpretation.ml @@ -101,6 +101,8 @@ let test_multiplication_close_to_overflow_passes () = | Error errs -> Alcotest.failf "Unexpected error: %a" Error_monad.pp_print_trace errs +let dummy_loc = -1 + (** The purpose of these two tests is to check that the Michelson interpreter is stack-safe (because it is tail-recursive). @@ -122,14 +124,13 @@ let test_stack_overflow () = in let stack = Bot_t in let descr kinstr = {kloc = 0; kbef = stack; kaft = stack; kinstr} in - let kinfo = {iloc = -1} in - let kinfo' = {iloc = -1} in let enorme_et_seq n = let rec aux n acc = if n = 0 then acc - else aux (n - 1) (IConst (kinfo, Bool_t, true, IDrop (kinfo', acc))) + else + aux (n - 1) (IConst (dummy_loc, Bool_t, true, IDrop (dummy_loc, acc))) in - aux n (IHalt kinfo) + aux n (IHalt dummy_loc) in run_step ctxt (descr (enorme_et_seq 1_000_000)) EmptyCell EmptyCell >>= function @@ -153,8 +154,7 @@ let test_stack_overflow_in_lwt () = in let stack = Bot_t in let descr kinstr = {kloc = 0; kbef = stack; kaft = stack; kinstr} in - let kinfo = {iloc = -1} in - let push_empty_big_map k = IEmpty_big_map (kinfo, unit_t, unit_t, k) in + let push_empty_big_map k = IEmpty_big_map (dummy_loc, unit_t, unit_t, k) in let large_mem_seq n = let rec aux n acc = if n = 0 then acc @@ -162,12 +162,14 @@ let test_stack_overflow_in_lwt () = aux (n - 1) (IDup - ( kinfo, + ( dummy_loc, IConst - (kinfo, Unit_t, (), IBig_map_mem (kinfo, IDrop (kinfo, acc))) - )) + ( dummy_loc, + Unit_t, + (), + IBig_map_mem (dummy_loc, IDrop (dummy_loc, acc)) ) )) in - aux n (IDrop (kinfo, IHalt kinfo)) + aux n (IDrop (dummy_loc, IHalt dummy_loc)) in let script = push_empty_big_map (large_mem_seq 1_000_000) in run_step ctxt (descr script) EmptyCell EmptyCell >>= function -- GitLab From 8cfe85fa641c746481cfcf4e36440a62f58a7262 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Tue, 15 Mar 2022 14:00:10 +0100 Subject: [PATCH 14/42] Proto Alpha: Update expected lambda sizes in tests. --- .../test/integration/michelson/test_script_cache.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml b/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml index c559d3490965..c7d27f802840 100644 --- a/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml +++ b/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml @@ -46,7 +46,7 @@ let err x = Exn (Script_cache_test_error x) model. It has been computed by a manual run of the test. *) -let liquidity_baking_contract_size = 267304 +let liquidity_baking_contract_size = 194845 let liquidity_baking_contract = Contract_hash.of_b58check_exn "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" @@ -118,7 +118,7 @@ let add_some_contracts k src block baker = model. It has been computed by a manual run of the test. *) -let int_store_contract_size = 916 +let int_store_contract_size = 778 (* -- GitLab From b17987b1f423d0f268ae0af306201bd7a4c1dc13 Mon Sep 17 00:00:00 2001 From: Mehdi Bouaziz Date: Tue, 22 Mar 2022 19:23:06 +0100 Subject: [PATCH 15/42] Proto/Michelson: Restore deleted get_log function. --- src/proto_alpha/lib_protocol/script_interpreter_defs.ml | 5 +++++ src/proto_alpha/lib_protocol/script_interpreter_logging.ml | 5 ----- src/proto_alpha/lib_protocol/script_interpreter_logging.mli | 4 ---- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 4d781c448c6c..04c41950a850 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -398,6 +398,11 @@ let consume_control local_gas_counter ks = consume_opt local_gas_counter cost [@@ocaml.inline always] +let get_log = function + | None -> Lwt.return (Ok None) + | Some logger -> logger.get_log () + [@@ocaml.inline always] + (* Auxiliary functions used by the interpretation loop diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index 58ff981f60f7..a531f8cb68e5 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -1695,11 +1695,6 @@ let log_exit logger ctxt gas loc_prev k sty accu stack = let log_control logger ks = logger.log_control ks -let get_log = function - | None -> Lwt.return (Ok None) - | Some logger -> logger.get_log () - [@@ocaml.inline always] - (* [log_kinstr logger i] emits an instruction to instrument the execution of [i] with [logger]. *) let log_kinstr logger sty i = ILog (kinstr_location i, sty, LogEntry, logger, i) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index 8fd0f6235888..efd4ce62cbe0 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -23,10 +23,6 @@ (* *) (*****************************************************************************) -val get_log : - Script_typed_ir.logger option -> - (Script_typed_ir.execution_trace option, error trace) result Lwt.t - val log_kinstr : Script_typed_ir.logger -> ('a, 'b) Script_typed_ir.stack_ty -> -- GitLab From 52ff91b47805bb3240e42317d0a6f0318c46b38d Mon Sep 17 00:00:00 2001 From: Mehdi Bouaziz Date: Tue, 22 Mar 2022 19:28:10 +0100 Subject: [PATCH 16/42] Proto/Michelson: Do not open Script_interpreter_logging. --- .../lib_protocol/script_interpreter.ml | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 76c45d0fe95d..d9274da39419 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -84,7 +84,6 @@ open Alpha_context open Script_typed_ir -open Script_interpreter_logging open Script_ir_translator open Local_gas_counter open Script_interpreter_defs @@ -464,7 +463,8 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = let code = match logger with | None -> code.kinstr - | Some logger -> log_kinstr logger code.kbef code.kinstr + | Some logger -> + Script_interpreter_logging.log_kinstr logger code.kbef code.kinstr in let ks = KReturn (stack, KCons (k, ks)) in (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) @@ -1539,9 +1539,19 @@ and log : fun (logger, event) sty ((ctxt, _) as g) gas k ks accu stack -> (match (k, event) with | ILog _, LogEntry -> () - | _, LogEntry -> log_entry logger ctxt gas k sty accu stack - | _, LogExit prev_loc -> log_exit logger ctxt gas prev_loc k sty accu stack) ; - log_next_kinstr logger sty k >>?= fun k -> + | _, LogEntry -> + Script_interpreter_logging.log_entry logger ctxt gas k sty accu stack + | _, LogExit prev_loc -> + Script_interpreter_logging.log_exit + logger + ctxt + gas + prev_loc + k + sty + accu + stack) ; + Script_interpreter_logging.log_next_kinstr logger sty k >>?= fun k -> match k with | IMul_teznat (location, k) -> (imul_teznat [@ocaml.tailcall]) @@ -1583,7 +1593,9 @@ and klog : s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = fun logger g gas ks accu stack -> - (match ks with KLog _ -> () | _ -> log_control logger ks) ; + (match ks with + | KLog _ -> () + | _ -> Script_interpreter_logging.log_control logger ks) ; (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] (* -- GitLab From 930a784825b00f1560bd3c142de2c76c24a7fb8b Mon Sep 17 00:00:00 2001 From: Sventimir Date: Tue, 31 May 2022 13:12:11 +0200 Subject: [PATCH 17/42] Proto/Michelson: standardise naming of location variables. --- .../lib_protocol/script_interpreter.ml | 82 +++++++------------ 1 file changed, 28 insertions(+), 54 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index d9274da39419..69a360f5c1c0 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -413,35 +413,35 @@ and imap_iter : [@@inline] and imul_teznat : type a b c d e f. (a, b, c, d, e, f) imul_teznat_type = - fun logger g gas location k ks accu stack -> + fun logger g gas loc k ks accu stack -> let x = accu in let y, stack = stack in match Script_int.to_int64 y with - | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (loc, log)) | Some y -> Tez.(x *? y) >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack and imul_nattez : type a b c d e f. (a, b, c, d, e, f) imul_nattez_type = - fun logger g gas location k ks accu stack -> + fun logger g gas loc k ks accu stack -> let y = accu in let x, stack = stack in match Script_int.to_int64 y with - | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (loc, log)) | Some y -> Tez.(x *? y) >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack and ilsl_nat : type a b c d e f. (a, b, c, d, e, f) ilsl_nat_type = - fun logger g gas location k ks accu stack -> + fun logger g gas loc k ks accu stack -> let x = accu and y, stack = stack in match Script_int.shift_left_n x y with - | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (loc, log)) | Some x -> (step [@ocaml.tailcall]) g gas k ks x stack and ilsr_nat : type a b c d e f. (a, b, c, d, e, f) ilsr_nat_type = - fun logger g gas location k ks accu stack -> + fun logger g gas loc k ks accu stack -> let x = accu and y, stack = stack in match Script_int.shift_right_n x y with - | None -> get_log logger >>=? fun log -> fail (Overflow (location, log)) + | None -> get_log logger >>=? fun log -> fail (Overflow (loc, log)) | Some r -> (step [@ocaml.tailcall]) g gas k ks r stack and ifailwith : ifailwith_type = @@ -772,10 +772,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let y, stack = stack in Tez.(x -? y) >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack - | IMul_teznat (location, k) -> - imul_teznat None g gas location k ks accu stack - | IMul_nattez (location, k) -> - imul_nattez None g gas location k ks accu stack + | IMul_teznat (loc, k) -> imul_teznat None g gas loc k ks accu stack + | IMul_nattez (loc, k) -> imul_nattez None g gas loc k ks accu stack (* boolean operations *) | IOr (_, k) -> let x = accu in @@ -871,8 +869,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let x = accu and y, stack = stack in let res = Script_int.ediv_n x y in (step [@ocaml.tailcall]) g gas k ks res stack - | ILsl_nat (location, k) -> ilsl_nat None g gas location k ks accu stack - | ILsr_nat (location, k) -> ilsr_nat None g gas location k ks accu stack + | ILsl_nat (loc, k) -> ilsl_nat None g gas loc k ks accu stack + | ILsr_nat (loc, k) -> ilsr_nat None g gas loc k ks accu stack | IOr_nat (_, k) -> let x = accu and y, stack = stack in let res = Script_int.logor x y in @@ -989,7 +987,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | IAddress (_, k) -> let (Typed_contract {address; _}) = accu in (step [@ocaml.tailcall]) g gas k ks address stack - | IContract (location, t, entrypoint, k) -> ( + | IContract (loc, t, entrypoint, k) -> ( let addr = accu in let entrypoint_opt = if Entrypoint.is_default addr.entrypoint then Some entrypoint @@ -1001,7 +999,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let ctxt = update_context gas ctxt in Script_ir_translator.parse_contract_for_script ctxt - location + loc t addr.destination ~entrypoint @@ -1010,19 +1008,11 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let accu = maybe_contract in (step [@ocaml.tailcall]) (ctxt, sc) gas k ks accu stack | None -> (step [@ocaml.tailcall]) (ctxt, sc) gas k ks None stack) - | ITransfer_tokens (location, k) -> + | ITransfer_tokens (loc, k) -> let p = accu in let amount, (Typed_contract {arg_ty; address}, stack) = stack in let {destination; entrypoint} = address in - transfer - (ctxt, sc) - gas - amount - location - arg_ty - p - destination - entrypoint + transfer (ctxt, sc) gas amount loc arg_ty p destination entrypoint >>=? fun (accu, ctxt, gas) -> (step [@ocaml.tailcall]) (ctxt, sc) gas k ks accu stack | IImplicit_account (_, k) -> @@ -1553,30 +1543,14 @@ and log : stack) ; Script_interpreter_logging.log_next_kinstr logger sty k >>?= fun k -> match k with - | IMul_teznat (location, k) -> - (imul_teznat [@ocaml.tailcall]) - (Some logger) - g - gas - location - k - ks - accu - stack - | IMul_nattez (location, k) -> - (imul_nattez [@ocaml.tailcall]) - (Some logger) - g - gas - location - k - ks - accu - stack - | ILsl_nat (location, k) -> - (ilsl_nat [@ocaml.tailcall]) (Some logger) g gas location k ks accu stack - | ILsr_nat (location, k) -> - (ilsr_nat [@ocaml.tailcall]) (Some logger) g gas location k ks accu stack + | IMul_teznat (loc, k) -> + (imul_teznat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack + | IMul_nattez (loc, k) -> + (imul_nattez [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack + | ILsl_nat (loc, k) -> + (ilsl_nat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack + | ILsr_nat (loc, k) -> + (ilsr_nat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu @@ -1611,8 +1585,8 @@ let step_descr ~log_now logger (ctxt, sc) descr accu stack = | None -> step (outdated_ctxt, sc) gas descr.kinstr KNil accu stack | Some logger -> (if log_now then - let location = kinstr_location descr.kinstr in - logger.log_interp descr.kinstr ctxt location descr.kbef (accu, stack)) ; + let loc = kinstr_location descr.kinstr in + logger.log_interp descr.kinstr ctxt loc descr.kbef (accu, stack)) ; let log = ILog ( kinstr_location descr.kinstr, @@ -1658,11 +1632,11 @@ let lift_execution_arg (type a ac) ctxt ~internal (entrypoint_ty : (a, ac) ty) | Untyped_arg arg -> let arg = Micheline.root arg in parse_data ctxt ~legacy:false ~allow_forged:internal entrypoint_ty arg - | Typed_arg (location, parsed_arg_ty, parsed_arg) -> + | Typed_arg (loc, parsed_arg_ty, parsed_arg) -> Gas_monad.run ctxt (Script_ir_translator.ty_eq - ~error_details:(Informative location) + ~error_details:(Informative loc) entrypoint_ty parsed_arg_ty) >>?= fun (res, ctxt) -> -- GitLab From 8a2569c546ce648cde3872f1a5d99d9eb6b6befa Mon Sep 17 00:00:00 2001 From: Sventimir Date: Tue, 31 May 2022 13:49:14 +0200 Subject: [PATCH 18/42] Proto/Michelson: Fix erroneous locations in IR. --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 6d91bd294d0a..ef274eb055d9 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -3731,6 +3731,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> + let loc = kinstr_location k in let ibody = ibody.instr.apply (IHalt loc) in ILoop (loc, ibody, k)); } @@ -3741,6 +3742,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> + let loc = kinstr_location k in let ibody = descr stack in let ibody = ibody.instr.apply (IHalt loc) in ILoop (loc, ibody, k)); @@ -3775,6 +3777,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> + let loc = kinstr_location k in let ibody = ibody.instr.apply (IHalt loc) in ILoop_left (loc, ibody, k)); } @@ -3786,6 +3789,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : { apply = (fun k -> + let loc = kinstr_location k in let ibody = descr stack in let ibody = ibody.instr.apply (IHalt loc) in ILoop_left (loc, ibody, k)); -- GitLab From 63b88aaa938103ca0821cf6780fe79b7e390cf46 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 2 Jun 2022 09:54:47 +0200 Subject: [PATCH 19/42] Proto/Michelson: add doc strings to interpreter's logging interface. --- .../script_interpreter_logging.mli | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index efd4ce62cbe0..88b67f70d124 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -23,12 +23,20 @@ (* *) (*****************************************************************************) +(** [log_kinstr logger sty instr] returns [instr] prefixed by an + [ILog] instruction to log the first instruction in [instr]. Note + that [logger] value is only available when logging is enables, so + the type system protects us from calling this by mistake. *) val log_kinstr : Script_typed_ir.logger -> ('a, 'b) Script_typed_ir.stack_ty -> ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> ('a, 'b, 'c, 'd) Script_typed_ir.kinstr +(** [log_entry logger ctxt gas instr sty accu stack] simply calls + [logger.log_entry] function with the appropriate arguments. Note + that [logger] value is only available when logging is enables, so + the type system protects us from calling this by mistake.*) val log_entry : Script_typed_ir.logger -> Local_gas_counter.outdated_context -> @@ -39,6 +47,10 @@ val log_entry : 'b -> unit +(** [log_exit logger ctxt gas loc instr sty accu stack] simply calls + [logger.log_exit] function with the appropriate arguments. Note + that [logger] value is only available when logging is enables, so + the type system protects us from calling this by mistake.*) val log_exit : Script_typed_ir.logger -> Local_gas_counter.outdated_context -> @@ -50,12 +62,23 @@ val log_exit : 'h -> unit +(** [log_next_kinstr logger sty instr] instruments the next instruction + in [instr] with [ILog] instructions to make sure it will be logged. + This instrumentation has a performance cost, but importantly, it is + only ever paid when logging is enabled. Otherwise, the possibility + to instrument the script is costless. Note also that [logger] value + is only available when logging is enables, so the type system protects + us from calling this by mistake. *) val log_next_kinstr : Script_typed_ir.logger -> ('a, 'b) Script_typed_ir.stack_ty -> ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> ('a, 'b, 'c, 'd) Script_typed_ir.kinstr tzresult +(** [log_control logger continuation] simply calls [logger.log_control] + function with the appropriate arguments. Note that [logger] value + is only available when logging is enables, so the type system + protects us from calling this by mistake.*) val log_control : Script_typed_ir.logger -> ('a, 'b, 'c, 'd) Script_typed_ir.continuation -> -- GitLab From 5efd8acee21f6e66108d6167d8d1f9ab7e5477cc Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 2 Jun 2022 10:14:48 +0200 Subject: [PATCH 20/42] Proto/Michelson: expand record patterns in kinstr_size function. So that we won't forget to update this function if new fields are added to those records. --- .../lib_protocol/script_typed_ir_size.ml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 1d3f9c32fc06..7928eb849893 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -359,16 +359,20 @@ and kinstr_size : | ICons_some (_, _) -> ret_succ_adding accu base | ICons_none (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) - | IIf_none _ -> ret_succ_adding accu base - | IOpt_map _ -> ret_succ_adding accu base + | IIf_none {loc = _; branch_if_none = _; branch_if_some = _; k = _} -> + ret_succ_adding accu (base +! (word_size *? 2)) + | IOpt_map {loc = _; body = _; k = _} -> + ret_succ_adding accu (base +! word_size) | ICons_left (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | ICons_right (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) - | IIf_left _ -> ret_succ_adding accu base + | IIf_left {loc = _; branch_if_left = _; branch_if_right = _; k = _} -> + ret_succ_adding accu (base +! (word_size *? 2)) | ICons_list (_, _) -> ret_succ_adding accu base | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) - | IIf_cons _ -> ret_succ_adding accu base + | IIf_cons {loc = _; branch_if_nil = _; branch_if_cons = _; k = _} -> + ret_succ_adding accu (base +! (word_size *? 2)) | IList_map (_, _, _) -> ret_succ_adding accu base | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) @@ -442,7 +446,8 @@ and kinstr_size : | IAnd_int_nat (_, _) -> ret_succ_adding accu base | IXor_nat (_, _) -> ret_succ_adding accu base | INot_int (_, _) -> ret_succ_adding accu base - | IIf _ -> ret_succ_adding accu base + | IIf {loc = _; branch_if_true = _; branch_if_false = _; k = _} -> + ret_succ_adding accu (base +! (word_size *? 2)) | ILoop (_, _, _) -> ret_succ_adding accu (base +! word_size) | ILoop_left (_, _, _) -> ret_succ_adding accu (base +! word_size) | IDip (_, _, _) -> ret_succ_adding accu (base +! word_size) -- GitLab From a1c9435d6b66f8e96d297656a0a28ee68f90f26d Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 3 Jun 2022 14:33:01 +0200 Subject: [PATCH 21/42] Proto/Michelson: remove _extra_size functions. Without kinfo, regular size functions should approximate kinstr sizes well enough. --- .../lib_protocol/script_typed_ir_size.ml | 56 +------------------ 1 file changed, 2 insertions(+), 54 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 7928eb849893..4547ee0d4e5f 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -576,61 +576,9 @@ and kinstr_size : in kinstr_traverse t accu {apply} -let rec kinstr_extra_size : type a s r f. (a, s, r, f) kinstr -> nodes_and_size - = - fun t -> - let ret_zero x = (Nodes.zero, x) in - let apply : - type a s r f. nodes_and_size -> (a, s, r, f) kinstr -> nodes_and_size = - fun accu t -> - let stack_prefix_preservation_witness_size n = ret_zero (!!24 *? n) in - let dup_n_gadt_witness_size n = ret_zero (!!16 *? n) in - let comb n = ret_zero (!!16 *? n) in - let self_size = - match t with - (* Op n *) - | IDig (_, n, _, _) -> stack_prefix_preservation_witness_size n - | IDug (_, n, _, _) -> stack_prefix_preservation_witness_size n - | IDipn (_, n, _, _, _) -> stack_prefix_preservation_witness_size n - | IDropn (_, n, _, _) -> stack_prefix_preservation_witness_size n - | IComb (_, n, _, _) -> comb n - | IUncomb (_, n, _, _) -> comb n - | IComb_get (_, n, _, _) -> comb (n / 2) - | IComb_set (_, n, _, _) -> comb (n / 2) - | IDup_n (_, n, _, _) -> dup_n_gadt_witness_size n - | ICompare (_, ty, _) -> ty_size ty - (* Other extra *) - | ILambda (_, lambda, _) -> lambda_extra_size lambda - | _ -> zero - in - ret_succ (accu ++ self_size) - in - kinstr_traverse t zero {apply} - -and lambda_extra_size : type i o. (i, o) lambda -> nodes_and_size = - fun (Lam ({kinstr; _}, _)) -> kinstr_extra_size kinstr +let lambda_size lam = lambda_size ~count_lambda_nodes:true zero lam -let lambda_size lam = - (* - - The following formula has been obtained through a regression - over the corpus of mainnet contracts in Granada. - - *) - let lambda_nodes, lambda_size = - lambda_size ~count_lambda_nodes:true zero lam - in - let lambda_extra_size_nodes, lambda_extra_size = lambda_extra_size lam in - let size = (lambda_size *? 157 /? 100) +! (lambda_extra_size *? 18 /? 100) in - (Nodes.add lambda_nodes lambda_extra_size_nodes, size) - -let kinstr_size kinstr = - let kinstr_extra_size_nodes, kinstr_extra_size = kinstr_extra_size kinstr in - let kinstr_nodes, kinstr_size = - kinstr_size ~count_lambda_nodes:true zero kinstr - in - let size = (kinstr_size *? 157 /? 100) +! (kinstr_extra_size *? 18 /? 100) in - (Nodes.add kinstr_nodes kinstr_extra_size_nodes, size) +let kinstr_size kinstr = kinstr_size ~count_lambda_nodes:true zero kinstr let value_size ty x = value_size ~count_lambda_nodes:true zero ty x -- GitLab From ea5265733382e83ffebfc392abf843ae92ad7a89 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Wed, 8 Jun 2022 14:29:24 +0200 Subject: [PATCH 22/42] Proto/Michelson: restore instrumentation of continuations. Removal of this code cause an unacceptable regression in logging. --- .../interpreter_benchmarks.ml | 36 +++-- .../interpreter_workload.ml | 14 +- .../lib_protocol/script_interpreter.ml | 127 ++++++++++++------ .../lib_protocol/script_interpreter_defs.ml | 28 ++-- .../script_interpreter_logging.ml | 79 +++++++++-- .../script_interpreter_logging.mli | 41 +++--- .../lib_protocol/script_ir_translator.ml | 30 ++++- .../lib_protocol/script_typed_ir.ml | 29 ++-- .../lib_protocol/script_typed_ir.mli | 17 ++- .../lib_protocol/script_typed_ir_size.ml | 13 +- 10 files changed, 291 insertions(+), 123 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index 4ce0c391ba14..e73bc7985da3 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -1116,7 +1116,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IList_map ~stack:(Script_list.empty, ((), eos)) ~stack_type:(list unit @$ unit @$ bot) - ~kinstr:(IList_map (dummy_loc, halt, halt)) + ~kinstr:(IList_map (dummy_loc, halt, Some (list unit), halt)) () end @@ -1276,7 +1276,8 @@ module Registration_section = struct *) let map_map_code () = - IMap_map (dummy_loc, int, IFailwith (dummy_loc, cpair int unit), halt) + IMap_map + (dummy_loc, map int unit, IFailwith (dummy_loc, cpair int unit), halt) let () = (* @@ -2005,7 +2006,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IDip ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IDip (dummy_loc, halt, halt)) + ~kinstr:(IDip (dummy_loc, halt, Some unit, halt)) () let dummy_lambda = @@ -2209,6 +2210,7 @@ module Registration_section = struct (IView ( dummy_loc, View_signature {name; input_ty = unit; output_ty = unit}, + Some (unit @$ bot), halt )) () @@ -2959,7 +2961,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KReturn ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KReturn (eos, KNil) in + let cont = KReturn (eos, Some (unit @$ bot), KNil) in let stack = ((), eos) in let stack_type = unit @$ bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3036,7 +3038,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KUndip ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KUndip ((), KNil) in + let cont = KUndip ((), Some unit, KNil) in let stack = eos in let stack_type = bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3085,7 +3087,7 @@ module Registration_section = struct KList_enter_body ([], [()] -> List.rev singleton KNil - *) + *) continuation_benchmark ~amplification:100 ~name:Interpreter_workload.N_KList_enter_body @@ -3093,7 +3095,9 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let kbody = halt in fun () -> - let cont = KList_enter_body (kbody, [()], [], 1, KNil) in + let cont = + KList_enter_body (kbody, [()], [], Some (list unit), 1, KNil) + in Ex_stack_and_cont {stack = ((), eos); stack_type = unit @$ bot; cont}) () @@ -3114,7 +3118,8 @@ module Registration_section = struct fun () -> let ys = Samplers.Random_value.value (list unit) rng_state in let cont = - KList_enter_body (kbody, [], ys.elements, ys.length, KNil) + KList_enter_body + (kbody, [], ys.elements, Some (list unit), ys.length, KNil) in Ex_stack_and_cont {stack = ((), eos); stack_type = unit @$ bot; cont}) @@ -3134,7 +3139,9 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let kbody = halt in fun () -> - let cont = KList_enter_body (kbody, [], [], 1, KNil) in + let cont = + KList_enter_body (kbody, [], [], Some (list unit), 1, KNil) + in Ex_stack_and_cont {stack = ((), eos); stack_type = unit @$ bot; cont}) () @@ -3153,7 +3160,9 @@ module Registration_section = struct ~salt:"_terminal" ~cont_and_stack_sampler:(fun _cfg _rng_state -> let kbody = halt in - let cont = KList_exit_body (kbody, [], [], 1, KNil) in + let cont = + KList_exit_body (kbody, [], [], Some (list unit), 1, KNil) + in fun () -> Ex_stack_and_cont {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) @@ -3163,7 +3172,9 @@ module Registration_section = struct let map_enter_body_code = let kbody = ICdr (dummy_loc, halt) in - fun accu -> KMap_enter_body (kbody, accu, Script_map.empty int, KNil) + fun accu -> + KMap_enter_body + (kbody, accu, Script_map.empty int, Some (map int unit), KNil) let () = (* @@ -3219,8 +3230,9 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun cfg rng_state -> let kbody = ICdr (dummy_loc, halt) in fun () -> + let ty = map int unit in let key, map = Maps.generate_map_and_key_in_map cfg rng_state in - let cont = KMap_exit_body (kbody, [], map, key, KNil) in + let cont = KMap_exit_body (kbody, [], map, key, Some ty, KNil) in Ex_stack_and_cont {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) () diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml index 57f868c06a18..6cfcb158771d 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml @@ -1169,7 +1169,7 @@ let extract_ir_sized_step : | INil (_, _, _), _ -> Instructions.nil | IIf_cons _, _ -> Instructions.if_cons | IList_iter (_, _, _, _), _ -> Instructions.list_iter - | IList_map (_, _, _), _ -> Instructions.list_map + | IList_map (_, _, _, _), _ -> Instructions.list_map | IList_size (_, _), (list, _) -> Instructions.list_size (Size.list list) | IEmpty_set (_, _, _), _ -> Instructions.empty_set | ISet_iter _, (set, _) -> Instructions.set_iter (Size.set set) @@ -1305,7 +1305,7 @@ let extract_ir_sized_step : | IIf _, _ -> Instructions.if_ | ILoop (_, _, _), _ -> Instructions.loop | ILoop_left (_, _, _), _ -> Instructions.loop_left - | IDip (_, _, _), _ -> Instructions.dip + | IDip (_, _, _, _), _ -> Instructions.dip | IExec (_, _), _ -> Instructions.exec | IApply (_, _, _), _ -> Instructions.apply | ILambda (_, _, _), _ -> Instructions.lambda @@ -1321,7 +1321,7 @@ let extract_ir_sized_step : | IAddress (_, _), _ -> Instructions.address | IContract (_, _, _, _), _ -> Instructions.contract | ITransfer_tokens (_, _), _ -> Instructions.transfer_tokens - | IView (_, _, _), _ -> Instructions.view + | IView (_, _, _, _), _ -> Instructions.view | IImplicit_account (_, _), _ -> Instructions.implicit_account | ICreate_contract _, _ -> Instructions.create_contract | ISet_delegate (_, _), _ -> Instructions.set_delegate @@ -1437,14 +1437,14 @@ let extract_control_trace (type bef_top bef aft_top aft) | KLoop_in _ -> Control.loop_in | KLoop_in_left _ -> Control.loop_in_left | KIter (_, _, xs, _) -> Control.iter (Size.of_int (List.length xs)) - | KList_enter_body (_, xs, ys, _, _) -> + | KList_enter_body (_, xs, ys, _, _, _) -> Control.list_enter_body (Size.of_int (List.length xs)) (Size.of_int (List.length ys)) - | KList_exit_body (_, _, _, _, _) -> Control.list_exit_body - | KMap_enter_body (_, xs, _, _) -> + | KList_exit_body (_, _, _, _, _, _) -> Control.list_exit_body + | KMap_enter_body (_, xs, _, _, _) -> Control.map_enter_body (Size.of_int (List.length xs)) - | KMap_exit_body (_, _, map, k, _) -> + | KMap_exit_body (_, _, map, k, _, _) -> let (module Map) = Script_map.get_module map in let key_size = Map.OPS.key_size k in Control.map_exit_body key_size (Size.map map) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 69a360f5c1c0..2844d3e8c891 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -251,40 +251,42 @@ let () = evaluation is logged. *) -let rec kmap_exit : type a b e f m n o. (a, b, e, f, m, n, o) kmap_exit_type = - fun g gas body xs ys yk ks accu stack -> +let rec kmap_exit : + type a b c e f m n o. (a, b, c, e, f, m, n, o) kmap_exit_type = + fun g gas body xs ty ys yk ks accu stack -> let ys = Script_map.update yk (Some accu) ys in - let ks = KMap_enter_body (body, xs, ys, ks) in + let ks = KMap_enter_body (body, xs, ys, ty, ks) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] -and kmap_enter : type a b c d i j k. (a, b, c, d, i, j, k) kmap_enter_type = - fun g gas body xs ys ks accu stack -> +and kmap_enter : type a b c d f i j k. (a, b, c, d, f, i, j, k) kmap_enter_type + = + fun g gas body xs ty ys ks accu stack -> match xs with | [] -> (next [@ocaml.tailcall]) g gas ks ys (accu, stack) | (xk, xv) :: xs -> - let ks = KMap_exit_body (body, xs, ys, xk, ks) in + let ks = KMap_exit_body (body, xs, ys, xk, ty, ks) in let res = (xk, xv) in let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas body ks res stack [@@inline] -and klist_exit : type a b c d i j. (a, b, c, d, i, j) klist_exit_type = - fun g gas body xs ys len ks accu stack -> - let ks = KList_enter_body (body, xs, accu :: ys, len, ks) in +and klist_exit : type a b c d e i j. (a, b, c, d, e, i, j) klist_exit_type = + fun g gas body xs ys ty len ks accu stack -> + let ks = KList_enter_body (body, xs, accu :: ys, ty, len, ks) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] -and klist_enter : type a b c d e j. (a, b, c, d, e, j) klist_enter_type = - fun g gas body xs ys len ks' accu stack -> +and klist_enter : type a b c d e f j. (a, b, c, d, e, f, j) klist_enter_type = + fun g gas body xs ys ty len ks' accu stack -> match xs with | [] -> let ys = {elements = List.rev ys; length = len} in (next [@ocaml.tailcall]) g gas ks' ys (accu, stack) | x :: xs -> - let ks = KList_exit_body (body, xs, ys, len, ks') in + let ks = KList_exit_body (body, xs, ys, ty, len, ks') in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] @@ -325,27 +327,27 @@ and next : | None -> fail Gas.Operation_quota_exceeded | Some gas -> ( match ks0 with - | KLog (ks, _, logger) -> - (klog [@ocaml.tailcall]) logger g gas ks accu stack + | KLog (ks, sty, logger) -> + (klog [@ocaml.tailcall]) logger g gas sty ks accu stack | KNil -> Lwt.return (Ok (accu, stack, ctxt, gas)) | KCons (k, ks) -> (step [@ocaml.tailcall]) g gas k ks accu stack | KLoop_in (ki, ks') -> (kloop_in [@ocaml.tailcall]) g gas ks0 ki ks' accu stack - | KReturn (stack', ks) -> (next [@ocaml.tailcall]) g gas ks accu stack' + | KReturn (stack', _, ks) -> (next [@ocaml.tailcall]) g gas ks accu stack' | KMap_head (f, ks) -> (next [@ocaml.tailcall]) g gas ks (f accu) stack | KLoop_in_left (ki, ks') -> (kloop_in_left [@ocaml.tailcall]) g gas ks0 ki ks' accu stack - | KUndip (x, ks) -> (next [@ocaml.tailcall]) g gas ks x (accu, stack) + | KUndip (x, _, ks) -> (next [@ocaml.tailcall]) g gas ks x (accu, stack) | KIter (body, ty, xs, ks) -> (kiter [@ocaml.tailcall]) g gas body ty xs ks accu stack - | KList_enter_body (body, xs, ys, len, ks) -> - (klist_enter [@ocaml.tailcall]) g gas body xs ys len ks accu stack - | KList_exit_body (body, xs, ys, len, ks) -> - (klist_exit [@ocaml.tailcall]) g gas body xs ys len ks accu stack - | KMap_enter_body (body, xs, ys, ks) -> - (kmap_enter [@ocaml.tailcall]) g gas body xs ys ks accu stack - | KMap_exit_body (body, xs, ys, yk, ks) -> - (kmap_exit [@ocaml.tailcall]) g gas body xs ys yk ks accu stack + | KList_enter_body (body, xs, ys, ty, len, ks) -> + (klist_enter [@ocaml.tailcall]) g gas body xs ys ty len ks accu stack + | KList_exit_body (body, xs, ys, ty, len, ks) -> + (klist_exit [@ocaml.tailcall]) g gas body xs ys ty len ks accu stack + | KMap_enter_body (body, xs, ys, ty, ks) -> + (kmap_enter [@ocaml.tailcall]) g gas body xs ty ys ks accu stack + | KMap_exit_body (body, xs, ys, yk, ty, ks) -> + (kmap_exit [@ocaml.tailcall]) g gas body xs ty ys yk ks accu stack | KView_exit (orig_step_constants, ks) -> let g = (fst g, orig_step_constants) in (next [@ocaml.tailcall]) g gas ks accu stack) @@ -363,12 +365,13 @@ and next : instructions. *) -and ilist_map : type a b c d e f g h. (a, b, c, d, e, f, g, h) ilist_map_type = - fun g gas body k ks accu stack -> +and ilist_map : + type a b c d e f g h i. (a, b, c, d, e, f, g, h, i) ilist_map_type = + fun g gas body k ks ty accu stack -> let xs = accu.elements in let ys = [] in let len = accu.length in - let ks = KList_enter_body (body, xs, ys, len, KCons (k, ks)) in + let ks = KList_enter_body (body, xs, ys, ty, len, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -391,13 +394,13 @@ and iset_iter : type a b c d e f g. (a, b, c, d, e, f, g) iset_iter_type = (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] -and imap_map : type a b c d e f g h i. (a, b, c, d, e, f, g, h, i) imap_map_type - = - fun g gas body k ks accu stack -> +and imap_map : + type a b c d e f g h i j. (a, b, c, d, e, f, g, h, i, j) imap_map_type = + fun g gas body k ks ty accu stack -> let map = accu in let xs = List.rev (Script_map.fold (fun k v a -> (k, v) :: a) map []) in let ys = Script_map.empty_from map in - let ks = KMap_enter_body (body, xs, ys, KCons (k, ks)) in + let ks = KMap_enter_body (body, xs, ys, ty, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -466,7 +469,7 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = | Some logger -> Script_interpreter_logging.log_kinstr logger code.kbef code.kinstr in - let ks = KReturn (stack, KCons (k, ks)) in + let ks = KReturn (stack, None, KCons (k, ks)) in (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) and step : type a s b t r f. (a, s, b, t, r, f) step_type = @@ -583,8 +586,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (KCons (k, ks)) hd (tl, stack)) - | IList_map (_, body, k) -> - (ilist_map [@ocaml.tailcall]) g gas body k ks accu stack + | IList_map (_, body, ty, k) -> + (ilist_map [@ocaml.tailcall]) g gas body k ks ty accu stack | IList_size (_, k) -> let list = accu in let len = Script_int.(abs (of_int list.length)) in @@ -613,8 +616,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | IEmpty_map (_, kty, _vty, k) -> let res = Script_map.empty kty and stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack - | IMap_map (_, _, body, k) -> - (imap_map [@ocaml.tailcall]) g gas body k ks accu stack + | IMap_map (_, ty, body, k) -> + (imap_map [@ocaml.tailcall]) g gas body k ks (Some ty) accu stack | IMap_iter (_, kvty, body, k) -> (imap_iter [@ocaml.tailcall]) g gas body kvty k ks accu stack | IMap_mem (_, k) -> @@ -916,9 +919,9 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = | ILoop_left (_, bl, br) -> let ks = KLoop_in_left (bl, KCons (br, ks)) in (next [@ocaml.tailcall]) g gas ks accu stack - | IDip (_, b, k) -> + | IDip (_, b, ty, k) -> let ign = accu in - let ks = KUndip (ign, KCons (k, ks)) in + let ks = KUndip (ign, ty, KCons (k, ks)) in let accu, stack = stack in (step [@ocaml.tailcall]) g gas b ks accu stack | IExec (_, k) -> iexec None g gas k ks accu stack @@ -1026,7 +1029,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = in let res = Typed_contract {arg_ty; address} in (step [@ocaml.tailcall]) g gas k ks res stack - | IView (_, View_signature {name; input_ty; output_ty}, k) -> ( + | IView (_, View_signature {name; input_ty; output_ty}, stack_ty, k) -> ( let input = accu in let addr, stack = stack in let c = addr.destination in @@ -1116,7 +1119,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = } ) gas kinstr - (KView_exit (sc, KReturn (stack, ks))) + (KView_exit (sc, KReturn (stack, stack_ty, ks))) (input, storage) (EmptyCell, EmptyCell))))) | ICreate_contract {storage_type; code; k; loc = _} -> @@ -1562,15 +1565,55 @@ and klog : logger -> outdated_context * step_constants -> local_gas_counter -> + (a, s) stack_ty -> (a, s, r, f) continuation -> a -> s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = - fun logger g gas ks accu stack -> + fun logger g gas stack_ty ks accu stack -> (match ks with | KLog _ -> () | _ -> Script_interpreter_logging.log_control logger ks) ; - (next [@ocaml.tailcall]) g gas ks accu stack + Script_interpreter_logging.log_next_continuation logger stack_ty ks + >>?= function + | KCons (ki, k) -> (step [@ocaml.tailcall]) g gas ki k accu stack + | KLoop_in (ki, k) -> + (kloop_in [@ocaml.tailcall]) + g + gas + (KLog (ks, stack_ty, logger)) + ki + k + accu + stack + | KReturn (_, _, _) as k -> (next [@ocaml.tailcall]) g gas k accu stack + | KLoop_in_left (ki, k) -> + (kloop_in_left [@ocaml.tailcall]) + g + gas + (KLog (ks, stack_ty, logger)) + ki + k + accu + stack + | KUndip (_, _, _) as k -> (next [@ocaml.tailcall]) g gas k accu stack + | KIter (body, xty, xs, k) -> + (kiter [@ocaml.tailcall]) g gas body xty xs k accu stack + | KList_enter_body (body, xs, ys, ty_opt, len, k) -> + (klist_enter [@ocaml.tailcall]) g gas body xs ys ty_opt len k accu stack + | KList_exit_body (body, xs, ys, ty_opt, len, k) -> + (klist_exit [@ocaml.tailcall]) g gas body xs ys ty_opt len k accu stack + | KMap_enter_body (body, xs, ys, ty_opt, k) -> + (kmap_enter [@ocaml.tailcall]) g gas body xs ty_opt ys k accu stack + | KMap_exit_body (body, xs, ys, yk, ty_opt, k) -> + (kmap_exit [@ocaml.tailcall]) g gas body xs ty_opt ys yk k accu stack + | KMap_head (f, k) -> (next [@ocaml.taillcall]) g gas k (f accu) stack + | KView_exit (scs, k) -> + (next [@ocaml.tailcall]) (fst g, scs) gas k accu stack + | KLog _ as k -> + (* This case should never happen. *) + (next [@ocaml.tailcall]) g gas k accu stack + | KNil as k -> (next [@ocaml.tailcall]) g gas k accu stack [@@inline] (* diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 04c41950a850..aa5be919b25d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -365,15 +365,15 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = | KCons (_, _) -> Interp_costs.Control.cons | KReturn _ -> Interp_costs.Control.return | KMap_head (_, _) -> Interp_costs.Control.map_head - | KUndip (_, _) -> Interp_costs.Control.undip + | KUndip (_, _, _) -> Interp_costs.Control.undip | KLoop_in (_, _) -> Interp_costs.Control.loop_in | KLoop_in_left (_, _) -> Interp_costs.Control.loop_in_left | KIter (_, _, _, _) -> Interp_costs.Control.iter - | KList_enter_body (_, xs, _, len, _) -> + | KList_enter_body (_, xs, _, _, len, _) -> Interp_costs.Control.list_enter_body xs len - | KList_exit_body (_, _, _, _, _) -> Interp_costs.Control.list_exit_body - | KMap_enter_body (_, _, _, _) -> Interp_costs.Control.map_enter_body - | KMap_exit_body (_, _, map, key, _) -> + | KList_exit_body (_, _, _, _, _, _) -> Interp_costs.Control.list_exit_body + | KMap_enter_body (_, _, _, _, _) -> Interp_costs.Control.map_enter_body + | KMap_exit_body (_, _, map, key, _, _) -> Interp_costs.Control.map_exit_body key map | KView_exit (_, _) -> Interp_costs.Control.view_exit @@ -686,11 +686,12 @@ type ('a, 's, 'b, 't, 'r, 'f) step_type = 's -> ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = +type ('a, 'b, 'c, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = outdated_context * step_constants -> local_gas_counter -> ('m * 'n, 'a * 'b, 'o, 'a * 'b) kinstr -> ('m * 'n) list -> + (('m, 'o) map, 'c) ty option -> ('m, 'o) map -> 'm -> (('m, 'o) map, 'a * 'b, 'e, 'f) continuation -> @@ -698,35 +699,38 @@ type ('a, 'b, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = 'a * 'b -> ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'j, 'k) kmap_enter_type = +type ('a, 'b, 'c, 'd, 'e, 'f, 'j, 'k) kmap_enter_type = outdated_context * step_constants -> local_gas_counter -> ('j * 'k, 'b * 'c, 'a, 'b * 'c) kinstr -> ('j * 'k) list -> + (('j, 'a) map, 'f) ty option -> ('j, 'a) map -> (('j, 'a) map, 'b * 'c, 'd, 'e) continuation -> 'b -> 'c -> ('d * 'e * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'i, 'j) klist_exit_type = +type ('a, 'b, 'c, 'd, 'e, 'i, 'j) klist_exit_type = outdated_context * step_constants -> local_gas_counter -> ('i, 'a * 'b, 'j, 'a * 'b) kinstr -> 'i list -> 'j list -> + ('j boxed_list, 'e) ty option -> int -> ('j boxed_list, 'a * 'b, 'c, 'd) continuation -> 'j -> 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'j) klist_enter_type = +type ('a, 'b, 'c, 'd, 'e, 'f, 'j) klist_enter_type = outdated_context * step_constants -> local_gas_counter -> ('j, 'a * 'c, 'b, 'a * 'c) kinstr -> 'j list -> 'b list -> + ('b boxed_list, 'f) ty option -> int -> ('b boxed_list, 'a * 'c, 'd, 'e) continuation -> 'a -> @@ -764,12 +768,13 @@ type ('a, 'b, 's, 'r, 'f, 'c) kiter_type = 's -> ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) ilist_map_type = +type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) ilist_map_type = outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'f, 'a * 'b) kinstr -> ('f boxed_list, 'a * 'b, 'g, 'h) kinstr -> ('g, 'h, 'c, 'd) continuation -> + ('f boxed_list, 'i) ty option -> 'e boxed_list -> 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t @@ -796,12 +801,13 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type = 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) imap_map_type = +type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) imap_map_type = outdated_context * step_constants -> local_gas_counter -> ('e * 'f, 'a * 'b, 'g, 'a * 'b) kinstr -> (('e, 'g) map, 'a * 'b, 'h, 'i) kinstr -> ('h, 'i, 'c, 'd) continuation -> + (('e, 'g) map, 'j) ty option -> ('e, 'f) map -> 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index a531f8cb68e5..4ccb4f4c519e 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -308,7 +308,7 @@ let kinstr_split : (fun branch_if_cons branch_if_nil k -> IIf_cons {loc; branch_if_cons; branch_if_nil; k}); } - | IList_map (loc, body, k), Item_t (List_t (a, _meta), s) -> + | IList_map (loc, body, ty, k), Item_t (List_t (a, _meta), s) -> let s = Item_t (a, s) in ok @@ Ex_split_loop_may_not_fail @@ -319,7 +319,7 @@ let kinstr_split : aft_body_stack_transform = (function | Item_t (b, s) -> list_t dummy b >|? fun l -> Item_t (l, s)); - reconstruct = (fun body k -> IList_map (loc, body, k)); + reconstruct = (fun body k -> IList_map (loc, body, ty, k)); } | IList_iter (loc, ty, body, k), Item_t (List_t (a, _meta), s) -> ok @@ -394,7 +394,8 @@ let kinstr_split : continuation = k; reconstruct = (fun k -> IEmpty_map (loc, cty, vty, k)); } - | IMap_map (loc, key_ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> + | IMap_map (loc, ty, body, k), Item_t (Map_t (kty, vty, _meta), s) -> + let (Map_t (key_ty, _, _)) = ty in pair_t dummy key_ty vty >|? fun (Ty_ex_c p) -> Ex_split_loop_may_not_fail { @@ -404,7 +405,7 @@ let kinstr_split : aft_body_stack_transform = (fun (Item_t (b, s)) -> map_t dummy kty b >|? fun m -> Item_t (m, s)); - reconstruct = (fun body k -> IMap_map (loc, key_ty, body, k)); + reconstruct = (fun body k -> IMap_map (loc, ty, body, k)); } | IMap_iter (loc, kvty, body, k), Item_t (_, stack) -> ok @@ -888,7 +889,7 @@ let kinstr_split : continuation = kr; reconstruct = (fun kl kr -> ILoop_left (loc, kl, kr)); } - | IDip (loc, body, k), Item_t (a, s) -> + | IDip (loc, body, ty, k), Item_t (a, s) -> ok @@ Ex_split_loop_may_not_fail { @@ -896,7 +897,7 @@ let kinstr_split : body; continuation = k; aft_body_stack_transform = (fun s -> ok @@ Item_t (a, s)); - reconstruct = (fun body k -> IDip (loc, body, k)); + reconstruct = (fun body k -> IDip (loc, body, ty, k)); } | IExec (loc, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> let s = Item_t (b, s) in @@ -1024,7 +1025,7 @@ let kinstr_split : continuation = k; reconstruct = (fun k -> ITransfer_tokens (loc, k)); } - | ( IView (loc, (View_signature {output_ty; _} as view_signature), k), + | ( IView (loc, (View_signature {output_ty; _} as view_signature), sty, k), Item_t (_, Item_t (_, s)) ) -> option_t dummy output_ty >|? fun b -> let s = Item_t (b, s) in @@ -1032,7 +1033,7 @@ let kinstr_split : { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IView (loc, view_signature, k)); + reconstruct = (fun k -> IView (loc, view_signature, sty, k)); } | IImplicit_account (loc, k), Item_t (_, s) -> let s = Item_t (contract_unit_t, s) in @@ -1721,3 +1722,65 @@ let log_next_kinstr logger sty i = log_kinstr logger sty k ) in kinstr_rewritek sty i {apply} + +let log_next_continuation : + type a b c d. + logger -> + (a, b) stack_ty -> + (a, b, c, d) continuation -> + (a, b, c, d) continuation tzresult = + fun logger stack_ty cont -> + let enable_log sty ki = log_kinstr logger sty ki in + let mk sty = function KLog _ as k -> k | k -> KLog (k, sty, logger) in + match cont with + | KCons (ki, k) -> ( + let ki' = enable_log stack_ty ki in + kinstr_final_stack_type stack_ty ki >|? function + | None -> KCons (ki', k) + | Some sty -> KCons (ki', mk sty k)) + | KLoop_in (ki, k) -> + let (Item_t (Bool_t, sty)) = stack_ty in + ok @@ KLoop_in (enable_log sty ki, mk sty k) + | KReturn (stack, sty_opt, k) -> + let k' = match sty_opt with None -> k | Some sty -> mk sty k in + ok @@ KReturn (stack, sty_opt, k') + | KLoop_in_left (ki, k) -> + let (Item_t (Union_t (a_ty, b_ty, _, _), rest)) = stack_ty in + let ki' = enable_log (Item_t (a_ty, rest)) ki in + let k' = mk (Item_t (b_ty, rest)) k in + ok @@ KLoop_in_left (ki', k') + | KUndip (x, ty_opt, k) -> + let k' = + match ty_opt with None -> k | Some ty -> mk (Item_t (ty, stack_ty)) k + in + ok @@ KUndip (x, ty_opt, k') + | KIter (body, xty, xs, k) -> + let body' = enable_log (Item_t (xty, stack_ty)) body in + let k' = mk stack_ty k in + ok @@ KIter (body', xty, xs, k') + | KList_enter_body (body, xs, ys, ty_opt, len, k) -> + let k' = + match ty_opt with None -> k | Some ty -> mk (Item_t (ty, stack_ty)) k + in + ok @@ KList_enter_body (body, xs, ys, ty_opt, len, k') + | KList_exit_body (body, xs, ys, ty_opt, len, k) -> + let (Item_t (_, sty)) = stack_ty in + let k' = + match ty_opt with None -> k | Some ty -> mk (Item_t (ty, sty)) k + in + ok @@ KList_exit_body (body, xs, ys, ty_opt, len, k') + | KMap_enter_body (body, xs, ys, ty_opt, k) -> + let k' = + match ty_opt with None -> k | Some ty -> mk (Item_t (ty, stack_ty)) k + in + ok @@ KMap_enter_body (body, xs, ys, ty_opt, k') + | KMap_exit_body (body, xs, ys, yk, ty_opt, k) -> + let (Item_t (_, sty)) = stack_ty in + let k' = + match ty_opt with None -> k | Some ty -> mk (Item_t (ty, sty)) k + in + ok @@ KMap_exit_body (body, xs, ys, yk, ty_opt, k') + | KMap_head (_, _) + | KView_exit (_, _) + | KLog _ (* This case should never happen. *) | KNil -> + ok cont diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index 88b67f70d124..2156c9b756a8 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -23,26 +23,28 @@ (* *) (*****************************************************************************) +open Script_typed_ir + (** [log_kinstr logger sty instr] returns [instr] prefixed by an [ILog] instruction to log the first instruction in [instr]. Note that [logger] value is only available when logging is enables, so the type system protects us from calling this by mistake. *) val log_kinstr : - Script_typed_ir.logger -> - ('a, 'b) Script_typed_ir.stack_ty -> - ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> - ('a, 'b, 'c, 'd) Script_typed_ir.kinstr + logger -> + ('a, 'b) stack_ty -> + ('a, 'b, 'c, 'd) kinstr -> + ('a, 'b, 'c, 'd) kinstr (** [log_entry logger ctxt gas instr sty accu stack] simply calls [logger.log_entry] function with the appropriate arguments. Note that [logger] value is only available when logging is enables, so the type system protects us from calling this by mistake.*) val log_entry : - Script_typed_ir.logger -> + logger -> Local_gas_counter.outdated_context -> Local_gas_counter.local_gas_counter -> - ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> - ('a, 'b) Script_typed_ir.stack_ty -> + ('a, 'b, 'c, 'd) kinstr -> + ('a, 'b) stack_ty -> 'a -> 'b -> unit @@ -52,12 +54,12 @@ val log_entry : that [logger] value is only available when logging is enables, so the type system protects us from calling this by mistake.*) val log_exit : - Script_typed_ir.logger -> + logger -> Local_gas_counter.outdated_context -> Local_gas_counter.local_gas_counter -> Alpha_context.Script.location -> - ('c, 'd, 'e, 'f) Script_typed_ir.kinstr -> - ('g, 'h) Script_typed_ir.stack_ty -> + ('c, 'd, 'e, 'f) kinstr -> + ('g, 'h) stack_ty -> 'g -> 'h -> unit @@ -70,16 +72,19 @@ val log_exit : is only available when logging is enables, so the type system protects us from calling this by mistake. *) val log_next_kinstr : - Script_typed_ir.logger -> - ('a, 'b) Script_typed_ir.stack_ty -> - ('a, 'b, 'c, 'd) Script_typed_ir.kinstr -> - ('a, 'b, 'c, 'd) Script_typed_ir.kinstr tzresult + logger -> + ('a, 'b) stack_ty -> + ('a, 'b, 'c, 'd) kinstr -> + ('a, 'b, 'c, 'd) kinstr tzresult (** [log_control logger continuation] simply calls [logger.log_control] function with the appropriate arguments. Note that [logger] value is only available when logging is enables, so the type system protects us from calling this by mistake.*) -val log_control : - Script_typed_ir.logger -> - ('a, 'b, 'c, 'd) Script_typed_ir.continuation -> - unit +val log_control : logger -> ('a, 'b, 'c, 'd) continuation -> unit + +val log_next_continuation : + logger -> + ('a, 'b) stack_ty -> + ('a, 'b, 'c, 'd) continuation -> + ('a, 'b, 'c, 'd) continuation tzresult diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index ef274eb055d9..dfbfd5770dc9 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -3343,7 +3343,14 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : ( stack_eq loc ctxt 1 rest starting_rest >>? fun (Eq, ctxt) -> let hloc = loc in let ibody = kibody.instr.apply (IHalt hloc) in - let list_map = {apply = (fun k -> IList_map (loc, ibody, k))} in + (match type_logger with + (* We want the type if logging is enabled, but we don't really care about the logger. *) + | Some _ -> list_t loc ret >|? Option.some + | None -> ok None) + >>? fun ret_ty -> + let list_map = + {apply = (fun k -> IList_map (loc, ibody, ret_ty, k))} + in list_t loc ret >>? fun ty -> let stack = Item_t (ty, rest) in typed_no_lwt ctxt loc list_map stack ) @@ -3479,16 +3486,16 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : record_trace_eval invalid_map_body ( stack_eq loc ctxt 1 rest starting_rest >>? fun (Eq, ctxt) -> + map_t loc kt ret >>? fun ty -> let instr = { apply = (fun k -> let hinfo = loc in let ibody = ibody.instr.apply (IHalt hinfo) in - IMap_map (loc, kt, ibody, k)); + IMap_map (loc, ty, ibody, k)); } in - map_t loc kt ret >>? fun ty -> let stack = Item_t (ty, rest) in typed_no_lwt ctxt loc instr stack ) | Typed {aft; _} -> @@ -3850,12 +3857,17 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>=? fun (judgement, ctxt) -> match judgement with | Typed descr -> + let v_opt = + (* We only care about whether or not logger is None; it's contents is + irrelevant. *) + Option.map (fun _ -> v) type_logger + in let instr = { apply = (fun k -> let b = descr.instr.apply (IHalt descr.loc) in - IDip (loc, b, k)); + IDip (loc, b, v_opt, k)); } in let stack = Item_t (v, descr.aft) in @@ -4288,11 +4300,19 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (Ex_ty output_ty, ctxt) -> option_t output_ty_loc output_ty >>?= fun res_ty -> check_var_annot loc annot >>?= fun () -> + let sty = + (* We only care if logger is present, not about its contents. *) + Option.map + (fun _ -> + let (Item_t (_, Item_t (_, rest))) = stack_ty in + Item_t (output_ty, rest)) + type_logger + in let instr = { apply = (fun k -> - IView (loc, View_signature {name; input_ty; output_ty}, k)); + IView (loc, View_signature {name; input_ty; output_ty}, sty, k)); } in let stack = Item_t (res_ty, rest) in diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 355b9f0089f4..f76338ee56c1 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -542,6 +542,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IList_map : Script.location * ('a, 'c * 's, 'b, 'c * 's) kinstr + * ('b boxed_list, _) ty option * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : @@ -587,7 +588,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | IMap_map : Script.location - * 'a comparable_ty + * (('a, 'c) map, _) ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr @@ -805,7 +806,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('b, 's, 'r, 'f) kinstr -> (('a, 'b) union, 's, 'r, 'f) kinstr | IDip : - Script.location * ('b, 's, 'c, 't) kinstr * ('a, 'c * 't, 'r, 'f) kinstr + Script.location + * ('b, 's, 'c, 't) kinstr + * ('a, _) ty option + * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : Script.location * ('b, 's, 'r, 'f) kinstr @@ -864,6 +868,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IView : Script.location * ('a, 'b) view_signature + * ('b, 'c * 's) stack_ty option * ('b option, 'c * 's, 'r, 'f) kinstr -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : @@ -1112,13 +1117,13 @@ and (_, _, _, _) continuation = ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KReturn : - 's * ('a, 's, 'r, 'f) continuation + 's * ('a, 's) stack_ty option * ('a, 's, 'r, 'f) continuation -> ('a, end_of_stack, 'r, 'f) continuation | KMap_head : ('a -> 'b) * ('b, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KUndip : - 'b * ('b, 'a * 's, 'r, 'f) continuation + 'b * ('b, _) ty option * ('b, 'a * 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KLoop_in : ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation @@ -1136,6 +1141,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list + * ('b boxed_list, _) ty option * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation @@ -1143,6 +1149,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list + * ('b boxed_list, _) ty option * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation @@ -1150,6 +1157,7 @@ and (_, _, _, _) continuation = ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map + * (('a, 'c) map, _) ty option * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('d, 's, 'r, 'f) continuation | KMap_exit_body : @@ -1157,6 +1165,7 @@ and (_, _, _, _) continuation = * ('a * 'b) list * ('a, 'c) map * 'a + * (('a, 'c) map, _) ty option * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('c, 'd * 's, 'r, 'f) continuation | KView_exit : @@ -1430,7 +1439,7 @@ let kinstr_location : type a s b f. (a, s, b, f) kinstr -> Script.location = | ICons_list (loc, _) -> loc | INil (loc, _, _) -> loc | IIf_cons {loc; _} -> loc - | IList_map (loc, _, _) -> loc + | IList_map (loc, _, _, _) -> loc | IList_iter (loc, _, _, _) -> loc | IList_size (loc, _) -> loc | IEmpty_set (loc, _, _) -> loc @@ -1495,7 +1504,7 @@ let kinstr_location : type a s b f. (a, s, b, f) kinstr -> Script.location = | IIf {loc; _} -> loc | ILoop (loc, _, _) -> loc | ILoop_left (loc, _, _) -> loc - | IDip (loc, _, _) -> loc + | IDip (loc, _, _, _) -> loc | IExec (loc, _) -> loc | IApply (loc, _, _) -> loc | ILambda (loc, _, _) -> loc @@ -1510,7 +1519,7 @@ let kinstr_location : type a s b f. (a, s, b, f) kinstr -> Script.location = | IAddress (loc, _) -> loc | IContract (loc, _, _, _) -> loc | ITransfer_tokens (loc, _) -> loc - | IView (loc, _, _) -> loc + | IView (loc, _, _, _) -> loc | IImplicit_account (loc, _) -> loc | ICreate_contract {loc; _} -> loc | ISet_delegate (loc, _) -> loc @@ -1829,7 +1838,7 @@ let kinstr_traverse i init f = | INil (_, _, k) -> (next [@ocaml.tailcall]) k | IIf_cons {loc = _; branch_if_nil = k1; branch_if_cons = k2; k} -> (next3 [@ocaml.tailcall]) k1 k2 k - | IList_map (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 + | IList_map (_, k1, _, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IList_iter (_, _, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IList_size (_, k) -> (next [@ocaml.tailcall]) k | IEmpty_set (_, _, k) -> (next [@ocaml.tailcall]) k @@ -1895,7 +1904,7 @@ let kinstr_traverse i init f = (next3 [@ocaml.tailcall]) k1 k2 k | ILoop (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | ILoop_left (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 - | IDip (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 + | IDip (_, k1, _, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IExec (_, k) -> (next [@ocaml.tailcall]) k | IApply (_, _, k) -> (next [@ocaml.tailcall]) k | ILambda (_, _, k) -> (next [@ocaml.tailcall]) k @@ -1909,7 +1918,7 @@ let kinstr_traverse i init f = | IGe (_, k) -> (next [@ocaml.tailcall]) k | IAddress (_, k) -> (next [@ocaml.tailcall]) k | IContract (_, _, _, k) -> (next [@ocaml.tailcall]) k - | IView (_, _, k) -> (next [@ocaml.tailcall]) k + | IView (_, _, _, k) -> (next [@ocaml.tailcall]) k | ITransfer_tokens (_, k) -> (next [@ocaml.tailcall]) k | IImplicit_account (_, k) -> (next [@ocaml.tailcall]) k | ICreate_contract {k; _} -> (next [@ocaml.tailcall]) k diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index 1af4302ffc0d..e67c3ccaef6f 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -503,6 +503,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IList_map : Script.location * ('a, 'c * 's, 'b, 'c * 's) kinstr + * ('b boxed_list, _) ty option * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : @@ -548,7 +549,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | IMap_map : Script.location - * 'a comparable_ty + * (('a, 'c) map, _) ty * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr @@ -762,7 +763,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('b, 's, 'r, 'f) kinstr -> (('a, 'b) union, 's, 'r, 'f) kinstr | IDip : - Script.location * ('b, 's, 'c, 't) kinstr * ('a, 'c * 't, 'r, 'f) kinstr + Script.location + * ('b, 's, 'c, 't) kinstr + * ('a, _) ty option + * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : Script.location * ('b, 's, 'r, 'f) kinstr @@ -821,6 +825,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IView : Script.location * ('a, 'b) view_signature + * ('b, 'c * 's) stack_ty option * ('b option, 'c * 's, 'r, 'f) kinstr -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : @@ -1156,7 +1161,7 @@ and (_, _, _, _) continuation = stack of type ['s] and the continuation which expects the callee's result on top of the stack. *) | KReturn : - 's * ('a, 's, 'r, 'f) continuation + 's * ('a, 's) stack_ty option * ('a, 's, 'r, 'f) continuation -> ('a, end_of_stack, 'r, 'f) continuation (* This continuation is useful when stack head requires some wrapping or unwrapping before it can be passed forward. For instance this continuation @@ -1174,7 +1179,7 @@ and (_, _, _, _) continuation = element ['b] of the stack after having executed [i] in the substack of type ['a * 's]. *) | KUndip : - 'b * ('b, 'a * 's, 'r, 'f) continuation + 'b * ('b, _) ty option * ('b, 'a * 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation (* This continuation is executed at each iteration of a loop with a Boolean condition. *) @@ -1199,6 +1204,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list + * ('b boxed_list, _) ty option * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation @@ -1207,6 +1213,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list + * ('b boxed_list, _) ty option * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation @@ -1215,6 +1222,7 @@ and (_, _, _, _) continuation = ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map + * (('a, 'c) map, _) ty option * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('d, 's, 'r, 'f) continuation (* This continuation represents what is done after each step of a Map.map. *) @@ -1223,6 +1231,7 @@ and (_, _, _, _) continuation = * ('a * 'b) list * ('a, 'c) map * 'a + * (('a, 'c) map, _) ty option * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('c, 'd * 's, 'r, 'f) continuation (* This continuation represents what is done after returning from a view. diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 4547ee0d4e5f..02ec8dedbc1a 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -373,7 +373,7 @@ and kinstr_size : | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_cons {loc = _; branch_if_nil = _; branch_if_cons = _; k = _} -> ret_succ_adding accu (base +! (word_size *? 2)) - | IList_map (_, _, _) -> ret_succ_adding accu base + | IList_map (_, _, _, _) -> ret_succ_adding accu base | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_size (_, _) -> ret_succ_adding accu base @@ -450,15 +450,14 @@ and kinstr_size : ret_succ_adding accu (base +! (word_size *? 2)) | ILoop (_, _, _) -> ret_succ_adding accu (base +! word_size) | ILoop_left (_, _, _) -> ret_succ_adding accu (base +! word_size) - | IDip (_, _, _) -> ret_succ_adding accu (base +! word_size) + | IDip (_, _, _, _) -> ret_succ_adding accu (base +! word_size) | IExec (_, _) -> ret_succ_adding accu base | IApply (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | ILambda (_, lambda, _) -> let accu = ret_succ_adding accu (base +! word_size) in (lambda_size [@ocaml.tailcall]) ~count_lambda_nodes accu lambda - | IFailwith (_, ty) -> - ret_succ_adding (accu ++ ty_size ty) base + | IFailwith (_, ty) -> ret_succ_adding (accu ++ ty_size ty) base | ICompare (_, cty, _) -> ret_succ_adding (accu ++ ty_size cty) (base +! word_size) | IEq (_, _) -> ret_succ_adding accu base @@ -472,8 +471,10 @@ and kinstr_size : ret_succ_adding (accu ++ ty_size ty) (base +! Entrypoint.in_memory_size s +! (word_size *? 2)) - | IView (_, s, _) -> - ret_succ_adding (accu ++ view_signature_size s) (base +! word_size) + | IView (_loc, s, sty, _k) -> + ret_succ_adding + (accu ++ view_signature_size s ++ stack_ty_size sty) + (base +! (word_size *? 2)) | ITransfer_tokens (_, _) -> ret_succ_adding accu base | IImplicit_account (_, _) -> ret_succ_adding accu base | ICreate_contract {loc = _; storage_type; code; k = _} -> -- GitLab From 3ad14efaad7326189a88694d914ca5d42e088d90 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 9 Jun 2022 11:21:16 +0200 Subject: [PATCH 23/42] Proto/Michelson: Instrument continuations to recover lost logs. --- .../lib_protocol/script_interpreter.ml | 27 ++++--------- .../script_interpreter_logging.ml | 8 ++++ .../script_interpreter_logging.mli | 39 ++++++++++++------- 3 files changed, 41 insertions(+), 33 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 2844d3e8c891..f57f61d6137e 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -328,7 +328,7 @@ and next : | Some gas -> ( match ks0 with | KLog (ks, sty, logger) -> - (klog [@ocaml.tailcall]) logger g gas sty ks accu stack + (klog [@ocaml.tailcall]) logger g gas sty ks0 ks accu stack | KNil -> Lwt.return (Ok (accu, stack, ctxt, gas)) | KCons (k, ks) -> (step [@ocaml.tailcall]) g gas k ks accu stack | KLoop_in (ki, ks') -> @@ -1544,7 +1544,8 @@ and log : sty accu stack) ; - Script_interpreter_logging.log_next_kinstr logger sty k >>?= fun k -> + Script_interpreter_logging.log_next_kinstr_and_cont logger sty k ks + >>?= fun (k, ks) -> match k with | IMul_teznat (loc, k) -> (imul_teznat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack @@ -1567,35 +1568,21 @@ and klog : local_gas_counter -> (a, s) stack_ty -> (a, s, r, f) continuation -> + (a, s, r, f) continuation -> a -> s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = - fun logger g gas stack_ty ks accu stack -> + fun logger g gas stack_ty k0 ks accu stack -> (match ks with | KLog _ -> () | _ -> Script_interpreter_logging.log_control logger ks) ; Script_interpreter_logging.log_next_continuation logger stack_ty ks >>?= function | KCons (ki, k) -> (step [@ocaml.tailcall]) g gas ki k accu stack - | KLoop_in (ki, k) -> - (kloop_in [@ocaml.tailcall]) - g - gas - (KLog (ks, stack_ty, logger)) - ki - k - accu - stack + | KLoop_in (ki, k) -> (kloop_in [@ocaml.tailcall]) g gas k0 ki k accu stack | KReturn (_, _, _) as k -> (next [@ocaml.tailcall]) g gas k accu stack | KLoop_in_left (ki, k) -> - (kloop_in_left [@ocaml.tailcall]) - g - gas - (KLog (ks, stack_ty, logger)) - ki - k - accu - stack + (kloop_in_left [@ocaml.tailcall]) g gas k0 ki k accu stack | KUndip (_, _, _) as k -> (next [@ocaml.tailcall]) g gas k accu stack | KIter (body, xty, xs, k) -> (kiter [@ocaml.tailcall]) g gas body xty xs k accu stack diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index 4ccb4f4c519e..f584c9b6576a 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -1784,3 +1784,11 @@ let log_next_continuation : | KView_exit (_, _) | KLog _ (* This case should never happen. *) | KNil -> ok cont + +let log_next_kinstr_and_cont logger sty i k = + let open Result_syntax in + let* i' = log_next_kinstr logger sty i in + let* sty' = kinstr_final_stack_type sty i in + let+ k' = Option.map_e (fun sty -> log_next_continuation logger sty k) sty' in + (* [sty'] being [None] implies that [i] never returns, so [k] won't be executed anyway. *) + (i', Option.value ~default:k k') diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index 2156c9b756a8..c456fdf6f505 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -64,27 +64,40 @@ val log_exit : 'h -> unit -(** [log_next_kinstr logger sty instr] instruments the next instruction - in [instr] with [ILog] instructions to make sure it will be logged. - This instrumentation has a performance cost, but importantly, it is - only ever paid when logging is enabled. Otherwise, the possibility - to instrument the script is costless. Note also that [logger] value - is only available when logging is enables, so the type system protects - us from calling this by mistake. *) -val log_next_kinstr : - logger -> - ('a, 'b) stack_ty -> - ('a, 'b, 'c, 'd) kinstr -> - ('a, 'b, 'c, 'd) kinstr tzresult - (** [log_control logger continuation] simply calls [logger.log_control] function with the appropriate arguments. Note that [logger] value is only available when logging is enables, so the type system protects us from calling this by mistake.*) val log_control : logger -> ('a, 'b, 'c, 'd) continuation -> unit +(** [log_next_continuation logger sty cont] instruments the next + continuation in [cont] with [KLog] continuations to ensure + logging. + + This instrumentation has a performance cost, but importantly, it + is only ever paid when logging is enabled. Otherwise, the + possibility to instrument the script is costless. Note also that + [logger] value is only available when logging is enabled, so the + type system protects us from calling this by mistake. *) val log_next_continuation : logger -> ('a, 'b) stack_ty -> ('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation tzresult + +(** [log_next_kinstr_and_cont logger sty instr cont] instruments the + next instruction in [instr] with [ILog] instructions and the next + continuation in [cont] with [KLog] continuations to make sure they + will be logged. + + This instrumentation has a performance cost, but importantly, it + is only ever paid when logging is enabled. Otherwise, the + possibility to instrument the script is costless. Note also that + [logger] value is only available when logging is enabled, so the + type system protects us from calling this by mistake. *) +val log_next_kinstr_and_cont : + logger -> + ('a, 'b) stack_ty -> + ('a, 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + (('a, 'b, 'c, 'd) kinstr * ('c, 'd, 'e, 'f) continuation) tzresult -- GitLab From 4d89f64473c17044210f21e7eb8ef54ef00c545a Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 9 Jun 2022 13:29:02 +0200 Subject: [PATCH 24/42] Proto/Michelson: introduce means of further instrumentation. For continuations in order to restore their logging to the previous shape. --- .../lib_protocol/script_interpreter_defs.ml | 10 ++++- .../script_interpreter_logging.ml | 43 ++++++++++++++----- .../script_interpreter_logging.mli | 5 +++ 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index aa5be919b25d..73d71de9ff56 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -675,7 +675,15 @@ let rec interp_stack_prefix_preserving_operation : To improve readibility, we introduce their types as abbreviations: -*) + *) + +(* A function of this type either introduces type-preserving + instrumentation of a continuation for the purposes of logging + or returns given continuation unchanged. *) +type ('a, 'b, 'c, 'd) cont_instrumentation = + ('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation + +let id x = x type ('a, 's, 'b, 't, 'r, 'f) step_type = outdated_context * step_constants -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index f584c9b6576a..64b5b8b71f12 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -1723,6 +1723,14 @@ let log_next_kinstr logger sty i = in kinstr_rewritek sty i {apply} +let instrument_cont : + type a b c d. + logger -> + (a, b) stack_ty -> + (a, b, c, d) continuation -> + (a, b, c, d) continuation = + fun logger sty -> function KLog _ as k -> k | k -> KLog (k, sty, logger) + let log_next_continuation : type a b c d. logger -> @@ -1731,53 +1739,66 @@ let log_next_continuation : (a, b, c, d) continuation tzresult = fun logger stack_ty cont -> let enable_log sty ki = log_kinstr logger sty ki in - let mk sty = function KLog _ as k -> k | k -> KLog (k, sty, logger) in match cont with | KCons (ki, k) -> ( let ki' = enable_log stack_ty ki in kinstr_final_stack_type stack_ty ki >|? function | None -> KCons (ki', k) - | Some sty -> KCons (ki', mk sty k)) + | Some sty -> KCons (ki', instrument_cont logger sty k)) | KLoop_in (ki, k) -> let (Item_t (Bool_t, sty)) = stack_ty in - ok @@ KLoop_in (enable_log sty ki, mk sty k) + ok @@ KLoop_in (enable_log sty ki, instrument_cont logger sty k) | KReturn (stack, sty_opt, k) -> - let k' = match sty_opt with None -> k | Some sty -> mk sty k in + let k' = + match sty_opt with + | None -> k + | Some sty -> instrument_cont logger sty k + in ok @@ KReturn (stack, sty_opt, k') | KLoop_in_left (ki, k) -> let (Item_t (Union_t (a_ty, b_ty, _, _), rest)) = stack_ty in let ki' = enable_log (Item_t (a_ty, rest)) ki in - let k' = mk (Item_t (b_ty, rest)) k in + let k' = instrument_cont logger (Item_t (b_ty, rest)) k in ok @@ KLoop_in_left (ki', k') | KUndip (x, ty_opt, k) -> let k' = - match ty_opt with None -> k | Some ty -> mk (Item_t (ty, stack_ty)) k + match ty_opt with + | None -> k + | Some ty -> instrument_cont logger (Item_t (ty, stack_ty)) k in ok @@ KUndip (x, ty_opt, k') | KIter (body, xty, xs, k) -> let body' = enable_log (Item_t (xty, stack_ty)) body in - let k' = mk stack_ty k in + let k' = instrument_cont logger stack_ty k in ok @@ KIter (body', xty, xs, k') | KList_enter_body (body, xs, ys, ty_opt, len, k) -> let k' = - match ty_opt with None -> k | Some ty -> mk (Item_t (ty, stack_ty)) k + match ty_opt with + | None -> k + | Some ty -> instrument_cont logger (Item_t (ty, stack_ty)) k in ok @@ KList_enter_body (body, xs, ys, ty_opt, len, k') | KList_exit_body (body, xs, ys, ty_opt, len, k) -> let (Item_t (_, sty)) = stack_ty in let k' = - match ty_opt with None -> k | Some ty -> mk (Item_t (ty, sty)) k + match ty_opt with + | None -> k + | Some ty -> instrument_cont logger (Item_t (ty, sty)) k in ok @@ KList_exit_body (body, xs, ys, ty_opt, len, k') | KMap_enter_body (body, xs, ys, ty_opt, k) -> let k' = - match ty_opt with None -> k | Some ty -> mk (Item_t (ty, stack_ty)) k + match ty_opt with + | None -> k + | Some ty -> instrument_cont logger (Item_t (ty, stack_ty)) k in ok @@ KMap_enter_body (body, xs, ys, ty_opt, k') | KMap_exit_body (body, xs, ys, yk, ty_opt, k) -> let (Item_t (_, sty)) = stack_ty in let k' = - match ty_opt with None -> k | Some ty -> mk (Item_t (ty, sty)) k + match ty_opt with + | None -> k + | Some ty -> instrument_cont logger (Item_t (ty, sty)) k in ok @@ KMap_exit_body (body, xs, ys, yk, ty_opt, k') | KMap_head (_, _) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index c456fdf6f505..724c5e8b7cd4 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -70,6 +70,11 @@ val log_exit : protects us from calling this by mistake.*) val log_control : logger -> ('a, 'b, 'c, 'd) continuation -> unit +val instrument_cont : + logger -> + ('a, 'b) stack_ty -> + ('a, 'b, 'c, 'd) Script_interpreter_defs.cont_instrumentation + (** [log_next_continuation logger sty cont] instruments the next continuation in [cont] with [KLog] continuations to ensure logging. -- GitLab From 15a3f1cf1ee4b4e2247a962c46a266dabb431972 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Thu, 9 Jun 2022 13:31:18 +0200 Subject: [PATCH 25/42] Proto/Michelson: Instrument continuations of IList_map and IList_iter. --- .../lib_protocol/script_interpreter.ml | 22 ++++++++++++++----- .../lib_protocol/script_interpreter_defs.ml | 2 ++ .../lib_protocol/script_typed_ir_size.ml | 3 ++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index f57f61d6137e..1bdf5980bc55 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -367,20 +367,22 @@ and next : *) and ilist_map : type a b c d e f g h i. (a, b, c, d, e, f, g, h, i) ilist_map_type = - fun g gas body k ks ty accu stack -> + fun instrument g gas body k ks ty accu stack -> let xs = accu.elements in let ys = [] in let len = accu.length in - let ks = KList_enter_body (body, xs, ys, ty, len, KCons (k, ks)) in + let ks = + instrument @@ KList_enter_body (body, xs, ys, ty, len, KCons (k, ks)) + in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and ilist_iter : type a b c d e f g cmp. (a, b, c, d, e, f, g, cmp) ilist_iter_type = - fun g gas body ty k ks accu stack -> + fun instrument g gas body ty k ks accu stack -> let xs = accu.elements in - let ks = KIter (body, ty, xs, KCons (k, ks)) in + let ks = instrument @@ KIter (body, ty, xs, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -587,13 +589,13 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = hd (tl, stack)) | IList_map (_, body, ty, k) -> - (ilist_map [@ocaml.tailcall]) g gas body k ks ty accu stack + (ilist_map [@ocaml.tailcall]) id g gas body k ks ty accu stack | IList_size (_, k) -> let list = accu in let len = Script_int.(abs (of_int list.length)) in (step [@ocaml.tailcall]) g gas k ks len stack | IList_iter (_, ty, body, k) -> - (ilist_iter [@ocaml.tailcall]) g gas body ty k ks accu stack + (ilist_iter [@ocaml.tailcall]) id g gas body ty k ks accu stack (* sets *) | IEmpty_set (_, ty, k) -> let res = Script_set.empty ty in @@ -1558,6 +1560,14 @@ and log : | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu + | IList_map (_, body, ty, k) -> + let (Item_t (_, sty')) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger sty' in + (ilist_map [@ocaml.tailcall]) instrument g gas body k ks ty accu stack + | IList_iter (_, ty, body, k) -> + let (Item_t (_, sty')) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger sty' in + (ilist_iter [@ocaml.tailcall]) instrument g gas body ty k ks accu stack | _ -> (step [@ocaml.tailcall]) g gas k ks accu stack [@@inline] diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 73d71de9ff56..54236de25747 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -777,6 +777,7 @@ type ('a, 'b, 's, 'r, 'f, 'c) kiter_type = ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) ilist_map_type = + ('a, 'b, 'c, 'd) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'f, 'a * 'b) kinstr -> @@ -788,6 +789,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) ilist_map_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'cmp) ilist_iter_type = + ('a, 'b, 'c, 'd) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'a, 'b) kinstr -> diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 02ec8dedbc1a..5289559366e7 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -373,7 +373,8 @@ and kinstr_size : | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_cons {loc = _; branch_if_nil = _; branch_if_cons = _; k = _} -> ret_succ_adding accu (base +! (word_size *? 2)) - | IList_map (_, _, _, _) -> ret_succ_adding accu base + | IList_map (_loc, _k1, ty, _k2) -> + ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_size (_, _) -> ret_succ_adding accu base -- GitLab From da2e273debfc59ca54fa49b6bc46ebe199f1a425 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 09:38:19 +0200 Subject: [PATCH 26/42] Proto/Michelson: Instrument continuation of IIf_none with logging. --- .../lib_protocol/script_interpreter.ml | 18 ++++++++++++++++++ .../script_interpreter_logging.mli | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 1bdf5980bc55..3b25c275a98f 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1549,6 +1549,24 @@ and log : Script_interpreter_logging.log_next_kinstr_and_cont logger sty k ks >>?= fun (k, ks) -> match k with + | IIf_none {branch_if_none; branch_if_some; k; _} -> ( + let (Item_t (_, sty_if_none)) = sty in + Script_interpreter_logging.kinstr_final_stack_type + sty_if_none + branch_if_none + >>?= fun sty_opt -> + let ks' = + match sty_opt with + | None -> KCons (k, ks) + | Some sty' -> + Script_interpreter_logging.instrument_cont logger sty' + @@ KCons (k, ks) + in + match accu with + | None -> + let accu, stack = stack in + (step [@ocaml.tailcall]) g gas branch_if_none ks' accu stack + | Some v -> (step [@ocaml.tailcall]) g gas branch_if_some ks' v stack) | IMul_teznat (loc, k) -> (imul_teznat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | IMul_nattez (loc, k) -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index 724c5e8b7cd4..db8c998fef47 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -106,3 +106,8 @@ val log_next_kinstr_and_cont : ('a, 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> (('a, 'b, 'c, 'd) kinstr * ('c, 'd, 'e, 'f) continuation) tzresult + +val kinstr_final_stack_type : + ('a, 'b) stack_ty -> + ('a, 'b, 'c, 'd) kinstr -> + ('c, 'd) stack_ty option tzresult -- GitLab From 1372234eee99955802d432d928682509313b52c6 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 10:21:26 +0200 Subject: [PATCH 27/42] Proto/Michelson: Instrument KMap_head for logging. --- .../lib_protocol/script_interpreter.ml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 3b25c275a98f..7ee09bde42ef 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1567,6 +1567,22 @@ and log : let accu, stack = stack in (step [@ocaml.tailcall]) g gas branch_if_none ks' accu stack | Some v -> (step [@ocaml.tailcall]) g gas branch_if_some ks' v stack) + | IOpt_map {body; k; loc = _} -> ( + match accu with + | None -> (step [@ocaml.tailcall]) g gas k ks None stack + | Some v -> + let (Item_t (Option_t (ty, _, _), rest)) = sty in + let bsty = Item_t (ty, rest) in + let kmap_head = KMap_head (Option.some, KCons (k, ks)) in + Script_interpreter_logging.kinstr_final_stack_type bsty body + >>?= fun sty_opt -> + let ks' = + match sty_opt with + | None -> kmap_head + | Some sty' -> + Script_interpreter_logging.instrument_cont logger sty' kmap_head + in + (step [@ocaml.tailcall]) g gas body ks' v stack) | IMul_teznat (loc, k) -> (imul_teznat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | IMul_nattez (loc, k) -> -- GitLab From fd7677811054d8eb946a69d4db7810e933396ede Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 10:29:34 +0200 Subject: [PATCH 28/42] Proto/Michelson: Instrument continuation of IIf_left for logging. --- .../lib_protocol/script_interpreter.ml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 7ee09bde42ef..5fb6dda0e387 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1583,6 +1583,22 @@ and log : Script_interpreter_logging.instrument_cont logger sty' kmap_head in (step [@ocaml.tailcall]) g gas body ks' v stack) + | IIf_left {branch_if_left; branch_if_right; k; _} -> ( + let (Item_t (Union_t (ty, _, _, _), rest)) = sty in + Script_interpreter_logging.kinstr_final_stack_type + (Item_t (ty, rest)) + branch_if_left + >>?= fun sty_opt -> + let k' = + match sty_opt with + | None -> KCons (k, ks) + | Some sty' -> + Script_interpreter_logging.instrument_cont logger sty' + @@ KCons (k, ks) + in + match accu with + | L v -> (step [@ocaml.tailcall]) g gas branch_if_left k' v stack + | R v -> (step [@ocaml.tailcall]) g gas branch_if_right k' v stack) | IMul_teznat (loc, k) -> (imul_teznat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | IMul_nattez (loc, k) -> -- GitLab From 888cf4c9828b38f6b3e28b0326d735f578f54d3a Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 14:48:16 +0200 Subject: [PATCH 29/42] Proto/Michelson: instrument more continuations with logging. --- .../lib_protocol/script_interpreter.ml | 126 +++++++++++++++--- .../lib_protocol/script_interpreter_defs.ml | 4 + 2 files changed, 110 insertions(+), 20 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 5fb6dda0e387..dddd843fdc16 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -388,31 +388,31 @@ and ilist_iter : [@@inline] and iset_iter : type a b c d e f g. (a, b, c, d, e, f, g) iset_iter_type = - fun g gas body ty k ks accu stack -> + fun instrument g gas body ty k ks accu stack -> let set = accu in let l = List.rev (Script_set.fold (fun e acc -> e :: acc) set []) in - let ks = KIter (body, ty, l, KCons (k, ks)) in + let ks = instrument @@ KIter (body, ty, l, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and imap_map : type a b c d e f g h i j. (a, b, c, d, e, f, g, h, i, j) imap_map_type = - fun g gas body k ks ty accu stack -> + fun instrument g gas body k ks ty accu stack -> let map = accu in let xs = List.rev (Script_map.fold (fun k v a -> (k, v) :: a) map []) in let ys = Script_map.empty_from map in - let ks = KMap_enter_body (body, xs, ys, ty, KCons (k, ks)) in + let ks = instrument @@ KMap_enter_body (body, xs, ys, ty, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and imap_iter : type a b c d e f g h cmp. (a, b, c, d, e, f, g, h, cmp) imap_iter_type = - fun g gas body ty k ks accu stack -> + fun instrument g gas body ty k ks accu stack -> let map = accu in let l = List.rev (Script_map.fold (fun k v a -> (k, v) :: a) map []) in - let ks = KIter (body, ty, l, KCons (k, ks)) in + let ks = instrument @@ KIter (body, ty, l, KCons (k, ks)) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] @@ -462,7 +462,7 @@ and ifailwith : ifailwith_type = } and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = - fun logger g gas k ks accu stack -> + fun instrument logger g gas k ks accu stack -> let arg = accu and code, stack = stack in let (Lam (code, _)) = code in let code = @@ -471,7 +471,7 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = | Some logger -> Script_interpreter_logging.log_kinstr logger code.kbef code.kinstr in - let ks = KReturn (stack, None, KCons (k, ks)) in + let ks = instrument @@ KReturn (stack, None, KCons (k, ks)) in (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) and step : type a s b t r f. (a, s, b, t, r, f) step_type = @@ -602,7 +602,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | ISet_iter (_, ty, body, k) -> - (iset_iter [@ocaml.tailcall]) g gas body ty k ks accu stack + (iset_iter [@ocaml.tailcall]) id g gas body ty k ks accu stack | ISet_mem (_, k) -> let set, stack = stack in let res = Script_set.mem accu set in @@ -619,9 +619,9 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let res = Script_map.empty kty and stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | IMap_map (_, ty, body, k) -> - (imap_map [@ocaml.tailcall]) g gas body k ks (Some ty) accu stack + (imap_map [@ocaml.tailcall]) id g gas body k ks (Some ty) accu stack | IMap_iter (_, kvty, body, k) -> - (imap_iter [@ocaml.tailcall]) g gas body kvty k ks accu stack + (imap_iter [@ocaml.tailcall]) id g gas body kvty k ks accu stack | IMap_mem (_, k) -> let map, stack = stack in let res = Script_map.mem accu map in @@ -926,7 +926,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let ks = KUndip (ign, ty, KCons (k, ks)) in let accu, stack = stack in (step [@ocaml.tailcall]) g gas b ks accu stack - | IExec (_, k) -> iexec None g gas k ks accu stack + | IExec (_, k) -> iexec id None g gas k ks accu stack | IApply (_, capture_ty, k) -> let capture = accu in let lam, stack = stack in @@ -1599,6 +1599,53 @@ and log : match accu with | L v -> (step [@ocaml.tailcall]) g gas branch_if_left k' v stack | R v -> (step [@ocaml.tailcall]) g gas branch_if_right k' v stack) + | IIf_cons {branch_if_cons; branch_if_nil; k; _} -> ( + let (Item_t (_, sty')) = sty in + Script_interpreter_logging.kinstr_final_stack_type sty' branch_if_nil + >>?= fun sty' -> + let k' = + match sty' with + | None -> KCons (k, ks) + | Some sty' -> + Script_interpreter_logging.instrument_cont logger sty' + @@ KCons (k, ks) + in + match accu.elements with + | [] -> + let accu, stack = stack in + (step [@ocaml.tailcall]) g gas branch_if_nil k' accu stack + | hd :: tl -> + let tl = {elements = tl; length = accu.length - 1} in + (step [@ocaml.tailcall]) g gas branch_if_cons k' hd (tl, stack)) + | IList_map (_, body, ty, k) -> + let (Item_t (_, sty')) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger sty' in + (ilist_map [@ocaml.tailcall]) instrument g gas body k ks ty accu stack + | IList_iter (_, ty, body, k) -> + let (Item_t (_, sty')) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger sty' in + (ilist_iter [@ocaml.tailcall]) instrument g gas body ty k ks accu stack + | ISet_iter (_, ty, body, k) -> + let (Item_t (_, rest)) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger rest in + (iset_iter [@ocaml.tailcall]) instrument g gas body ty k ks accu stack + | IMap_map (_, ty, body, k) -> + let (Item_t (_, rest)) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger rest in + (imap_map [@ocaml.tailcall]) + instrument + g + gas + body + k + ks + (Some ty) + accu + stack + | IMap_iter (_, kvty, body, k) -> + let (Item_t (_, rest)) = sty in + let instrument = Script_interpreter_logging.instrument_cont logger rest in + (imap_iter [@ocaml.tailcall]) instrument g gas body kvty k ks accu stack | IMul_teznat (loc, k) -> (imul_teznat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | IMul_nattez (loc, k) -> @@ -1607,17 +1654,56 @@ and log : (ilsl_nat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | ILsr_nat (loc, k) -> (ilsr_nat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack + | IIf {branch_if_true; branch_if_false; k; _} -> + let (Item_t (Bool_t, rest)) = sty in + Script_interpreter_logging.kinstr_final_stack_type rest branch_if_true + >>?= fun sty' -> + let k' = + match sty' with + | None -> KCons (k, ks) + | Some sty' -> + Script_interpreter_logging.instrument_cont logger sty' + @@ KCons (k, ks) + in + let res, stack = stack in + if accu then (step [@ocaml.tailcall]) g gas branch_if_true k' res stack + else (step [@ocaml.tailcall]) g gas branch_if_false k' res stack + | ILoop (_, body, k) -> + let ks = + Script_interpreter_logging.instrument_cont logger sty + @@ KLoop_in (body, KCons (k, ks)) + in + (next [@ocaml.tailcall]) g gas ks accu stack + | ILoop_left (_, bl, br) -> + let ks = + Script_interpreter_logging.instrument_cont logger sty + @@ KLoop_in_left (bl, KCons (br, ks)) + in + (next [@ocaml.tailcall]) g gas ks accu stack + | IDip (_, b, ty, k) -> + let (Item_t (_, rest)) = sty in + Script_interpreter_logging.kinstr_final_stack_type rest b + >>?= fun rest' -> + let ign = accu in + let ks = + match rest' with + | None -> KUndip (ign, ty, KCons (k, ks)) + | Some rest' -> + Script_interpreter_logging.instrument_cont + logger + rest' + (KUndip (ign, ty, KCons (k, ks))) + in + let accu, stack = stack in + (step [@ocaml.tailcall]) g gas b ks accu stack + | IExec (_, k) -> + let (Item_t (_, Item_t (Lambda_t (_, ret, _), _))) = sty in + let sty' = Item_t (ret, Bot_t) in + let instrument = Script_interpreter_logging.instrument_cont logger sty' in + iexec instrument (Some logger) g gas k ks accu stack | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu - | IList_map (_, body, ty, k) -> - let (Item_t (_, sty')) = sty in - let instrument = Script_interpreter_logging.instrument_cont logger sty' in - (ilist_map [@ocaml.tailcall]) instrument g gas body k ks ty accu stack - | IList_iter (_, ty, body, k) -> - let (Item_t (_, sty')) = sty in - let instrument = Script_interpreter_logging.instrument_cont logger sty' in - (ilist_iter [@ocaml.tailcall]) instrument g gas body ty k ks accu stack | _ -> (step [@ocaml.tailcall]) g gas k ks accu stack [@@inline] diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 54236de25747..a22375840b93 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -801,6 +801,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'cmp) ilist_iter_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type = + ('a, 'b, 'c, 'd) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('e, 'a * 'b, 'a, 'b) kinstr -> @@ -812,6 +813,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) imap_map_type = + ('a, 'b, 'c, 'd) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('e * 'f, 'a * 'b, 'g, 'a * 'b) kinstr -> @@ -823,6 +825,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) imap_map_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'cmp) imap_iter_type = + ('a, 'b, 'c, 'd) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('e * 'f, 'a * 'b, 'a, 'b) kinstr -> @@ -891,6 +894,7 @@ type ifailwith_type = { [@@unboxed] type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iexec_type = + ('a, end_of_stack, 'e, 'f) cont_instrumentation -> logger option -> outdated_context * step_constants -> local_gas_counter -> -- GitLab From 839a85185aa592a8a24722a610f63a41ce0350f1 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 15:27:43 +0200 Subject: [PATCH 30/42] Proto/Michelson: Extract an iview function. Move the implementation of the IView instruction to a separate function in order to enable code sharing between step and log functions. --- .../lib_protocol/script_interpreter.ml | 190 +++++++++--------- .../lib_protocol/script_interpreter_defs.ml | 11 + .../lib_protocol/script_typed_ir_size.ml | 8 +- 3 files changed, 112 insertions(+), 97 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index dddd843fdc16..8dddd004cfdc 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -474,6 +474,93 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = let ks = instrument @@ KReturn (stack, None, KCons (k, ks)) in (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) +and iview : type a b c d e f i o. (a, b, c, d, e, f, i, o) iview_type = + fun (ctxt, sc) + gas + (View_signature {name; input_ty; output_ty}) + stack_ty + k + ks + accu + stack -> + let input = accu in + let addr, stack = stack in + let ctxt = update_context gas ctxt in + let return_none ctxt = + let gas, ctxt = local_gas_counter_and_outdated_context ctxt in + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks None stack + in + match addr.destination with + | Contract (Implicit _) | Tx_rollup _ | Sc_rollup _ -> + (return_none [@ocaml.tailcall]) ctxt + | Contract (Originated contract_hash as c) -> ( + Contract.get_script ctxt contract_hash >>=? fun (ctxt, script_opt) -> + match script_opt with + | None -> (return_none [@ocaml.tailcall]) ctxt + | Some script -> ( + parse_script ~legacy:true ~allow_forged_in_storage:true ctxt script + >>=? fun (Ex_script (Script {storage; storage_type; views; _}), ctxt) + -> + Gas.consume ctxt (Interp_costs.view_get name views) >>?= fun ctxt -> + match Script_map.get name views with + | None -> (return_none [@ocaml.tailcall]) ctxt + | Some view -> ( + let view_result = + Script_ir_translator.parse_view + ctxt + ~legacy:true + storage_type + view + in + trace_eval + (fun () -> + Script_tc_errors.Ill_typed_contract + (Micheline.strip_locations view.view_code, [])) + view_result + >>=? fun ( Typed_view + { + input_ty = input_ty'; + output_ty = output_ty'; + kinstr; + original_code_expr = _; + }, + ctxt ) -> + let io_ty = + let open Gas_monad.Syntax in + let* out_eq = ty_eq ~error_details:Fast output_ty' output_ty in + let+ in_eq = ty_eq ~error_details:Fast input_ty input_ty' in + (out_eq, in_eq) + in + Gas_monad.run ctxt io_ty >>?= fun (eq, ctxt) -> + match eq with + | Error Inconsistent_types_fast -> + (return_none [@ocaml.tailcall]) ctxt + | Ok (Eq, Eq) -> + let ks = KCons (ICons_some (kinstr_location k, k), ks) in + Contract.get_balance_carbonated ctxt c + >>=? fun (ctxt, balance) -> + let gas, ctxt = local_gas_counter_and_outdated_context ctxt in + (step [@ocaml.tailcall]) + ( ctxt, + { + source = Contract.Originated sc.self; + self = contract_hash; + amount = Tez.zero; + balance; + (* The following remain unchanged, but let's + list them anyway, so that we don't forget + to update something added later. *) + payer = sc.payer; + chain_id = sc.chain_id; + now = sc.now; + level = sc.level; + } ) + gas + kinstr + (KView_exit (sc, KReturn (stack, stack_ty, ks))) + (input, storage) + (EmptyCell, EmptyCell)))) + and step : type a s b t r f. (a, s, b, t, r, f) step_type = fun ((ctxt, sc) as g) gas i ks accu stack -> match consume_instr gas i accu stack with @@ -1031,99 +1118,16 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = in let res = Typed_contract {arg_ty; address} in (step [@ocaml.tailcall]) g gas k ks res stack - | IView (_, View_signature {name; input_ty; output_ty}, stack_ty, k) -> ( - let input = accu in - let addr, stack = stack in - let c = addr.destination in - let ctxt = update_context gas ctxt in - let return_none ctxt = - let gas, ctxt = local_gas_counter_and_outdated_context ctxt in - (step [@ocaml.tailcall]) (ctxt, sc) gas k ks None stack - in - match c with - | Contract (Implicit _) | Tx_rollup _ | Sc_rollup _ -> - (return_none [@ocaml.tailcall]) ctxt - | Contract (Originated contract_hash as c) -> ( - Contract.get_script ctxt contract_hash - >>=? fun (ctxt, script_opt) -> - match script_opt with - | None -> (return_none [@ocaml.tailcall]) ctxt - | Some script -> ( - parse_script - ~legacy:true - ~allow_forged_in_storage:true - ctxt - script - >>=? fun ( Ex_script (Script {storage; storage_type; views; _}), - ctxt ) -> - Gas.consume ctxt (Interp_costs.view_get name views) - >>?= fun ctxt -> - match Script_map.get name views with - | None -> (return_none [@ocaml.tailcall]) ctxt - | Some view -> ( - let view_result = - Script_ir_translator.parse_view - ctxt - ~legacy:true - storage_type - view - in - trace_eval - (fun () -> - Script_tc_errors.Ill_typed_contract - (Micheline.strip_locations view.view_code, [])) - view_result - >>=? fun ( Typed_view - { - input_ty = input_ty'; - output_ty = output_ty'; - kinstr; - original_code_expr = _; - }, - ctxt ) -> - let io_ty = - let open Gas_monad.Syntax in - let* out_eq = - ty_eq ~error_details:Fast output_ty' output_ty - in - let+ in_eq = - ty_eq ~error_details:Fast input_ty input_ty' - in - (out_eq, in_eq) - in - Gas_monad.run ctxt io_ty >>?= fun (eq, ctxt) -> - match eq with - | Error Inconsistent_types_fast -> - (return_none [@ocaml.tailcall]) ctxt - | Ok (Eq, Eq) -> - let ks = - KCons (ICons_some (kinstr_location k, k), ks) - in - Contract.get_balance_carbonated ctxt c - >>=? fun (ctxt, balance) -> - let gas, ctxt = - local_gas_counter_and_outdated_context ctxt - in - (step [@ocaml.tailcall]) - ( ctxt, - { - source = Contract.Originated sc.self; - self = contract_hash; - amount = Tez.zero; - balance; - (* The following remain unchanged, but let's - list them anyway, so that we don't forget - to update something added later. *) - payer = sc.payer; - chain_id = sc.chain_id; - now = sc.now; - level = sc.level; - } ) - gas - kinstr - (KView_exit (sc, KReturn (stack, stack_ty, ks))) - (input, storage) - (EmptyCell, EmptyCell))))) + | IView (_, view_signature, stack_ty, k) -> + (iview [@ocaml.tailcall]) + g + gas + view_signature + stack_ty + k + ks + accu + stack | ICreate_contract {storage_type; code; k; loc = _} -> (* Removed the instruction's arguments manager, spendable and delegatable *) let delegate = accu in diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index a22375840b93..35aaa4dbe3be 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -903,3 +903,14 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iexec_type = 'g -> ('g, 'a) lambda * 'b -> ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f, 'i, 'o) iview_type = + outdated_context * step_constants -> + local_gas_counter -> + ('i, 'o) view_signature -> + ('o, 'a * 'b) stack_ty option -> + ('o option, 'a * 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + 'i -> + address * ('a * 'b) -> + ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 5289559366e7..14eab3f421a0 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -373,8 +373,8 @@ and kinstr_size : | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_cons {loc = _; branch_if_nil = _; branch_if_cons = _; k = _} -> ret_succ_adding accu (base +! (word_size *? 2)) - | IList_map (_loc, _k1, ty, _k2) -> - ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) + | IList_map (_loc, _k1, _, _k2) -> + ret_succ_adding accu (base +! (word_size *? 2)) | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_size (_, _) -> ret_succ_adding accu base @@ -472,9 +472,9 @@ and kinstr_size : ret_succ_adding (accu ++ ty_size ty) (base +! Entrypoint.in_memory_size s +! (word_size *? 2)) - | IView (_loc, s, sty, _k) -> + | IView (_loc, s, _, _k) -> ret_succ_adding - (accu ++ view_signature_size s ++ stack_ty_size sty) + (accu ++ view_signature_size s) (base +! (word_size *? 2)) | ITransfer_tokens (_, _) -> ret_succ_adding accu base | IImplicit_account (_, _) -> ret_succ_adding accu base -- GitLab From be3605d37f5b55fce9bb1f7991cb4846eedc3866 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 10 Jun 2022 18:28:23 +0200 Subject: [PATCH 31/42] Proto/Michelson: Restore most of the lost logs. --- .../lib_protocol/script_interpreter.ml | 162 +++++++++++++++--- .../lib_protocol/script_interpreter_defs.ml | 6 + .../script_interpreter_logging.ml | 10 ++ .../script_interpreter_logging.mli | 7 + 4 files changed, 162 insertions(+), 23 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 8dddd004cfdc..8c352f8a2a1a 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -253,40 +253,40 @@ let () = *) let rec kmap_exit : type a b c e f m n o. (a, b, c, e, f, m, n, o) kmap_exit_type = - fun g gas body xs ty ys yk ks accu stack -> + fun instrument g gas body xs ty ys yk ks accu stack -> let ys = Script_map.update yk (Some accu) ys in - let ks = KMap_enter_body (body, xs, ys, ty, ks) in + let ks = instrument @@ KMap_enter_body (body, xs, ys, ty, ks) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and kmap_enter : type a b c d f i j k. (a, b, c, d, f, i, j, k) kmap_enter_type = - fun g gas body xs ty ys ks accu stack -> + fun instrument g gas body xs ty ys ks accu stack -> match xs with | [] -> (next [@ocaml.tailcall]) g gas ks ys (accu, stack) | (xk, xv) :: xs -> - let ks = KMap_exit_body (body, xs, ys, xk, ty, ks) in + let ks = instrument @@ KMap_exit_body (body, xs, ys, xk, ty, ks) in let res = (xk, xv) in let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas body ks res stack [@@inline] and klist_exit : type a b c d e i j. (a, b, c, d, e, i, j) klist_exit_type = - fun g gas body xs ys ty len ks accu stack -> - let ks = KList_enter_body (body, xs, accu :: ys, ty, len, ks) in + fun instrument g gas body xs ys ty len ks accu stack -> + let ks = instrument @@ KList_enter_body (body, xs, accu :: ys, ty, len, ks) in let accu, stack = stack in (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] and klist_enter : type a b c d e f j. (a, b, c, d, e, f, j) klist_enter_type = - fun g gas body xs ys ty len ks' accu stack -> + fun instrument g gas body xs ys ty len ks' accu stack -> match xs with | [] -> let ys = {elements = List.rev ys; length = len} in (next [@ocaml.tailcall]) g gas ks' ys (accu, stack) | x :: xs -> - let ks = KList_exit_body (body, xs, ys, ty, len, ks') in + let ks = instrument @@ KList_exit_body (body, xs, ys, ty, len, ks') in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] @@ -306,11 +306,11 @@ and kloop_in : type a b c r f s. (a, b, c, r, f, s) kloop_in_type = [@@inline] and kiter : type a b s r f c. (a, b, s, r, f, c) kiter_type = - fun g gas body ty xs ks accu stack -> + fun instrument g gas body ty xs ks accu stack -> match xs with | [] -> (next [@ocaml.tailcall]) g gas ks accu stack | x :: xs -> - let ks = KIter (body, ty, xs, ks) in + let ks = instrument @@ KIter (body, ty, xs, ks) in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] @@ -339,15 +339,37 @@ and next : (kloop_in_left [@ocaml.tailcall]) g gas ks0 ki ks' accu stack | KUndip (x, _, ks) -> (next [@ocaml.tailcall]) g gas ks x (accu, stack) | KIter (body, ty, xs, ks) -> - (kiter [@ocaml.tailcall]) g gas body ty xs ks accu stack + (kiter [@ocaml.tailcall]) id g gas body ty xs ks accu stack | KList_enter_body (body, xs, ys, ty, len, ks) -> - (klist_enter [@ocaml.tailcall]) g gas body xs ys ty len ks accu stack + (klist_enter [@ocaml.tailcall]) + id + g + gas + body + xs + ys + ty + len + ks + accu + stack | KList_exit_body (body, xs, ys, ty, len, ks) -> - (klist_exit [@ocaml.tailcall]) g gas body xs ys ty len ks accu stack + (klist_exit [@ocaml.tailcall]) + id + g + gas + body + xs + ys + ty + len + ks + accu + stack | KMap_enter_body (body, xs, ys, ty, ks) -> - (kmap_enter [@ocaml.tailcall]) g gas body xs ty ys ks accu stack + (kmap_enter [@ocaml.tailcall]) id g gas body xs ty ys ks accu stack | KMap_exit_body (body, xs, ys, yk, ty, ks) -> - (kmap_exit [@ocaml.tailcall]) g gas body xs ty ys yk ks accu stack + (kmap_exit [@ocaml.tailcall]) id g gas body xs ty ys yk ks accu stack | KView_exit (orig_step_constants, ks) -> let g = (fst g, orig_step_constants) in (next [@ocaml.tailcall]) g gas ks accu stack) @@ -475,7 +497,8 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) and iview : type a b c d e f i o. (a, b, c, d, e, f, i, o) iview_type = - fun (ctxt, sc) + fun instrument + (ctxt, sc) gas (View_signature {name; input_ty; output_ty}) stack_ty @@ -536,7 +559,7 @@ and iview : type a b c d e f i o. (a, b, c, d, e, f, i, o) iview_type = | Error Inconsistent_types_fast -> (return_none [@ocaml.tailcall]) ctxt | Ok (Eq, Eq) -> - let ks = KCons (ICons_some (kinstr_location k, k), ks) in + let kcons = KCons (ICons_some (kinstr_location k, k), ks) in Contract.get_balance_carbonated ctxt c >>=? fun (ctxt, balance) -> let gas, ctxt = local_gas_counter_and_outdated_context ctxt in @@ -557,7 +580,8 @@ and iview : type a b c d e f i o. (a, b, c, d, e, f, i, o) iview_type = } ) gas kinstr - (KView_exit (sc, KReturn (stack, stack_ty, ks))) + (instrument + @@ KView_exit (sc, KReturn (stack, stack_ty, kcons))) (input, storage) (EmptyCell, EmptyCell)))) @@ -1120,6 +1144,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (step [@ocaml.tailcall]) g gas k ks res stack | IView (_, view_signature, stack_ty, k) -> (iview [@ocaml.tailcall]) + id g gas view_signature @@ -1708,6 +1733,32 @@ and log : | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu + | IDipn (_, _n, n', b, k) -> + let accu, stack, restore_prefix = kundip n' accu stack k in + let dipped_sty = Script_interpreter_logging.dipn_stack_ty n' sty in + Script_interpreter_logging.kinstr_final_stack_type dipped_sty b + >>?= fun sty' -> + let ks = + match sty' with + | None -> KCons (restore_prefix, ks) + | Some sty' -> + Script_interpreter_logging.instrument_cont logger sty' + @@ KCons (restore_prefix, ks) + in + (step [@ocaml.tailcall]) g gas b ks accu stack + | IView (_, (View_signature {output_ty; _} as view_signature), stack_ty, k) -> + let sty' = Item_t (output_ty, Bot_t) in + let instrument = Script_interpreter_logging.instrument_cont logger sty' in + (iview [@ocaml.tailcall]) + instrument + g + gas + view_signature + stack_ty + k + ks + accu + stack | _ -> (step [@ocaml.tailcall]) g gas k ks accu stack [@@inline] @@ -1735,15 +1786,80 @@ and klog : (kloop_in_left [@ocaml.tailcall]) g gas k0 ki k accu stack | KUndip (_, _, _) as k -> (next [@ocaml.tailcall]) g gas k accu stack | KIter (body, xty, xs, k) -> - (kiter [@ocaml.tailcall]) g gas body xty xs k accu stack + let instrument = + Script_interpreter_logging.instrument_cont logger stack_ty + in + (kiter [@ocaml.tailcall]) instrument g gas body xty xs k accu stack | KList_enter_body (body, xs, ys, ty_opt, len, k) -> - (klist_enter [@ocaml.tailcall]) g gas body xs ys ty_opt len k accu stack + let instrument = + match ty_opt with + | None -> id + | Some (List_t (vty, _)) -> + let sty = Item_t (vty, stack_ty) in + Script_interpreter_logging.instrument_cont logger sty + in + + (klist_enter [@ocaml.tailcall]) + instrument + g + gas + body + xs + ys + ty_opt + len + k + accu + stack | KList_exit_body (body, xs, ys, ty_opt, len, k) -> - (klist_exit [@ocaml.tailcall]) g gas body xs ys ty_opt len k accu stack + let (Item_t (_, rest)) = stack_ty in + let instrument = Script_interpreter_logging.instrument_cont logger rest in + (klist_exit [@ocaml.tailcall]) + instrument + g + gas + body + xs + ys + ty_opt + len + k + accu + stack | KMap_enter_body (body, xs, ys, ty_opt, k) -> - (kmap_enter [@ocaml.tailcall]) g gas body xs ty_opt ys k accu stack + let instrument = + match ty_opt with + | None -> id + | Some (Map_t (_, vty, _)) -> + let sty = Item_t (vty, stack_ty) in + Script_interpreter_logging.instrument_cont logger sty + in + (kmap_enter [@ocaml.tailcall]) + instrument + g + gas + body + xs + ty_opt + ys + k + accu + stack | KMap_exit_body (body, xs, ys, yk, ty_opt, k) -> - (kmap_exit [@ocaml.tailcall]) g gas body xs ty_opt ys yk k accu stack + let (Item_t (_, rest)) = stack_ty in + let instrument = Script_interpreter_logging.instrument_cont logger rest in + (kmap_exit [@ocaml.tailcall]) + instrument + g + gas + body + xs + ty_opt + ys + yk + k + accu + stack | KMap_head (f, k) -> (next [@ocaml.taillcall]) g gas k (f accu) stack | KView_exit (scs, k) -> (next [@ocaml.tailcall]) (fst g, scs) gas k accu stack diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 35aaa4dbe3be..21a2130d6dbf 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -695,6 +695,7 @@ type ('a, 's, 'b, 't, 'r, 'f) step_type = ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = + ('a, 'b, 'e, 'f) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('m * 'n, 'a * 'b, 'o, 'a * 'b) kinstr -> @@ -708,6 +709,7 @@ type ('a, 'b, 'c, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'j, 'k) kmap_enter_type = + ('a, 'b * 'c, 'd, 'e) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('j * 'k, 'b * 'c, 'a, 'b * 'c) kinstr -> @@ -720,6 +722,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'j, 'k) kmap_enter_type = ('d * 'e * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'i, 'j) klist_exit_type = + ('a, 'b, 'c, 'd) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('i, 'a * 'b, 'j, 'a * 'b) kinstr -> @@ -733,6 +736,7 @@ type ('a, 'b, 'c, 'd, 'e, 'i, 'j) klist_exit_type = ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'j) klist_enter_type = + ('b, 'a * 'c, 'd, 'e) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('j, 'a * 'c, 'b, 'a * 'c) kinstr -> @@ -766,6 +770,7 @@ type ('a, 'b, 'c, 'r, 'f, 's) kloop_in_type = ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 's, 'r, 'f, 'c) kiter_type = + ('a, 's, 'r, 'f) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('b, 'a * 's, 'a, 's) kinstr -> @@ -905,6 +910,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iexec_type = ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t type ('a, 'b, 'c, 'd, 'e, 'f, 'i, 'o) iview_type = + ('o, end_of_stack, 'e, 'f) cont_instrumentation -> outdated_context * step_constants -> local_gas_counter -> ('i, 'o) view_signature -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index 64b5b8b71f12..335d013c843d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -1813,3 +1813,13 @@ let log_next_kinstr_and_cont logger sty i k = let+ k' = Option.map_e (fun sty -> log_next_continuation logger sty k) sty' in (* [sty'] being [None] implies that [i] never returns, so [k] won't be executed anyway. *) (i', Option.value ~default:k k') + +let rec dipn_stack_ty : + type a s e z c u d w. + (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> + (c, u) stack_ty -> + (a, s) stack_ty = + fun witness stack -> + match (witness, stack) with + | KPrefix (_, _, witness'), Item_t (_, sty) -> dipn_stack_ty witness' sty + | KRest, sty -> sty diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index db8c998fef47..a6a7f4f8c79c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -111,3 +111,10 @@ val kinstr_final_stack_type : ('a, 'b) stack_ty -> ('a, 'b, 'c, 'd) kinstr -> ('c, 'd) stack_ty option tzresult + +(** [dipn_stack_ty witness stack_ty] returns the type of the stack + on which instructions inside dipped block will be operating. *) +val dipn_stack_ty : + ('a, 's, 'e, 'z, 'c, 'u, 'd, 'w) stack_prefix_preservation_witness -> + ('c, 'u) stack_ty -> + ('a, 's) stack_ty -- GitLab From 89c87b05c03fe47b1a40d63610c21ded0caf8472 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Mon, 13 Jun 2022 15:58:08 +0200 Subject: [PATCH 32/42] Proto/Michelson: force passing necessary types in continuations. --- .../interpreter_benchmarks.ml | 31 ++++----- .../interpreter_workload.ml | 2 +- .../lib_protocol/script_interpreter.ml | 62 +++++------------- .../lib_protocol/script_interpreter_defs.ml | 15 +++-- .../script_interpreter_logging.ml | 64 ++++++------------- .../lib_protocol/script_ir_translator.ml | 27 ++------ .../lib_protocol/script_typed_ir.ml | 24 +++---- .../lib_protocol/script_typed_ir.mli | 20 +++--- .../lib_protocol/script_typed_ir_size.ml | 11 ++-- 9 files changed, 91 insertions(+), 165 deletions(-) diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml index e73bc7985da3..2302fe60a179 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_benchmarks.ml @@ -1116,7 +1116,7 @@ module Registration_section = struct ~name:Interpreter_workload.N_IList_map ~stack:(Script_list.empty, ((), eos)) ~stack_type:(list unit @$ unit @$ bot) - ~kinstr:(IList_map (dummy_loc, halt, Some (list unit), halt)) + ~kinstr:(IList_map (dummy_loc, halt, list unit, halt)) () end @@ -2006,7 +2006,7 @@ module Registration_section = struct simple_benchmark ~name:Interpreter_workload.N_IDip ~stack_type:(unit @$ unit @$ bot) - ~kinstr:(IDip (dummy_loc, halt, Some unit, halt)) + ~kinstr:(IDip (dummy_loc, halt, unit, halt)) () let dummy_lambda = @@ -2026,7 +2026,7 @@ module Registration_section = struct simple_benchmark_with_stack_sampler ~name:Interpreter_workload.N_IExec ~stack_type:(unit @$ lambda unit unit @$ bot) - ~kinstr:(IExec (dummy_loc, halt)) + ~kinstr:(IExec (dummy_loc, unit @$ bot, halt)) ~stack_sampler:(fun _cfg _rng_state () -> ((), (dummy_lambda, eos))) () @@ -2210,7 +2210,7 @@ module Registration_section = struct (IView ( dummy_loc, View_signature {name; input_ty = unit; output_ty = unit}, - Some (unit @$ bot), + unit @$ bot, halt )) () @@ -2961,7 +2961,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KReturn ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KReturn (eos, Some (unit @$ bot), KNil) in + let cont = KReturn (eos, unit @$ bot, KNil) in let stack = ((), eos) in let stack_type = unit @$ bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3038,7 +3038,7 @@ module Registration_section = struct ~amplification:100 ~name:Interpreter_workload.N_KUndip ~cont_and_stack_sampler:(fun _cfg _rng_state -> - let cont = KUndip ((), Some unit, KNil) in + let cont = KUndip ((), unit, KNil) in let stack = eos in let stack_type = bot in fun () -> Ex_stack_and_cont {stack; cont; stack_type}) @@ -3095,9 +3095,7 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let kbody = halt in fun () -> - let cont = - KList_enter_body (kbody, [()], [], Some (list unit), 1, KNil) - in + let cont = KList_enter_body (kbody, [()], [], list unit, 1, KNil) in Ex_stack_and_cont {stack = ((), eos); stack_type = unit @$ bot; cont}) () @@ -3119,7 +3117,7 @@ module Registration_section = struct let ys = Samplers.Random_value.value (list unit) rng_state in let cont = KList_enter_body - (kbody, [], ys.elements, Some (list unit), ys.length, KNil) + (kbody, [], ys.elements, list unit, ys.length, KNil) in Ex_stack_and_cont {stack = ((), eos); stack_type = unit @$ bot; cont}) @@ -3139,9 +3137,7 @@ module Registration_section = struct ~cont_and_stack_sampler:(fun _cfg _rng_state -> let kbody = halt in fun () -> - let cont = - KList_enter_body (kbody, [], [], Some (list unit), 1, KNil) - in + let cont = KList_enter_body (kbody, [], [], list unit, 1, KNil) in Ex_stack_and_cont {stack = ((), eos); stack_type = unit @$ bot; cont}) () @@ -3160,9 +3156,7 @@ module Registration_section = struct ~salt:"_terminal" ~cont_and_stack_sampler:(fun _cfg _rng_state -> let kbody = halt in - let cont = - KList_exit_body (kbody, [], [], Some (list unit), 1, KNil) - in + let cont = KList_exit_body (kbody, [], [], list unit, 1, KNil) in fun () -> Ex_stack_and_cont {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) @@ -3173,8 +3167,7 @@ module Registration_section = struct let map_enter_body_code = let kbody = ICdr (dummy_loc, halt) in fun accu -> - KMap_enter_body - (kbody, accu, Script_map.empty int, Some (map int unit), KNil) + KMap_enter_body (kbody, accu, Script_map.empty int, map int unit, KNil) let () = (* @@ -3232,7 +3225,7 @@ module Registration_section = struct fun () -> let ty = map int unit in let key, map = Maps.generate_map_and_key_in_map cfg rng_state in - let cont = KMap_exit_body (kbody, [], map, key, Some ty, KNil) in + let cont = KMap_exit_body (kbody, [], map, key, ty, KNil) in Ex_stack_and_cont {stack = ((), ((), eos)); stack_type = unit @$ unit @$ bot; cont}) () diff --git a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml index 6cfcb158771d..db53a2d2e1aa 100644 --- a/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml +++ b/src/proto_alpha/lib_benchmarks_proto/interpreter_workload.ml @@ -1306,7 +1306,7 @@ let extract_ir_sized_step : | ILoop (_, _, _), _ -> Instructions.loop | ILoop_left (_, _, _), _ -> Instructions.loop_left | IDip (_, _, _, _), _ -> Instructions.dip - | IExec (_, _), _ -> Instructions.exec + | IExec (_, _, _), _ -> Instructions.exec | IApply (_, _, _), _ -> Instructions.apply | ILambda (_, _, _), _ -> Instructions.lambda | IFailwith (_, _), _ -> Instructions.failwith_ diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 8c352f8a2a1a..d76d4185bdf4 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -484,7 +484,7 @@ and ifailwith : ifailwith_type = } and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = - fun instrument logger g gas k ks accu stack -> + fun instrument logger g gas cont_sty k ks accu stack -> let arg = accu and code, stack = stack in let (Lam (code, _)) = code in let code = @@ -493,7 +493,7 @@ and iexec : type a b c d e f g. (a, b, c, d, e, f, g) iexec_type = | Some logger -> Script_interpreter_logging.log_kinstr logger code.kbef code.kinstr in - let ks = instrument @@ KReturn (stack, None, KCons (k, ks)) in + let ks = instrument @@ KReturn (stack, cont_sty, KCons (k, ks)) in (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) and iview : type a b c d e f i o. (a, b, c, d, e, f, i, o) iview_type = @@ -730,7 +730,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let res = Script_map.empty kty and stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | IMap_map (_, ty, body, k) -> - (imap_map [@ocaml.tailcall]) id g gas body k ks (Some ty) accu stack + (imap_map [@ocaml.tailcall]) id g gas body k ks ty accu stack | IMap_iter (_, kvty, body, k) -> (imap_iter [@ocaml.tailcall]) id g gas body kvty k ks accu stack | IMap_mem (_, k) -> @@ -1037,7 +1037,7 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let ks = KUndip (ign, ty, KCons (k, ks)) in let accu, stack = stack in (step [@ocaml.tailcall]) g gas b ks accu stack - | IExec (_, k) -> iexec id None g gas k ks accu stack + | IExec (_, sty, k) -> iexec id None g gas sty k ks accu stack | IApply (_, capture_ty, k) -> let capture = accu in let lam, stack = stack in @@ -1661,16 +1661,7 @@ and log : | IMap_map (_, ty, body, k) -> let (Item_t (_, rest)) = sty in let instrument = Script_interpreter_logging.instrument_cont logger rest in - (imap_map [@ocaml.tailcall]) - instrument - g - gas - body - k - ks - (Some ty) - accu - stack + (imap_map [@ocaml.tailcall]) instrument g gas body k ks ty accu stack | IMap_iter (_, kvty, body, k) -> let (Item_t (_, rest)) = sty in let instrument = Script_interpreter_logging.instrument_cont logger rest in @@ -1725,11 +1716,11 @@ and log : in let accu, stack = stack in (step [@ocaml.tailcall]) g gas b ks accu stack - | IExec (_, k) -> + | IExec (_, stack_ty, k) -> let (Item_t (_, Item_t (Lambda_t (_, ret, _), _))) = sty in let sty' = Item_t (ret, Bot_t) in let instrument = Script_interpreter_logging.instrument_cont logger sty' in - iexec instrument (Some logger) g gas k ks accu stack + iexec instrument (Some logger) g gas stack_ty k ks accu stack | IFailwith (kloc, tv) -> let {ifailwith} = ifailwith in (ifailwith [@ocaml.tailcall]) (Some logger) g gas kloc tv accu @@ -1790,15 +1781,10 @@ and klog : Script_interpreter_logging.instrument_cont logger stack_ty in (kiter [@ocaml.tailcall]) instrument g gas body xty xs k accu stack - | KList_enter_body (body, xs, ys, ty_opt, len, k) -> - let instrument = - match ty_opt with - | None -> id - | Some (List_t (vty, _)) -> - let sty = Item_t (vty, stack_ty) in - Script_interpreter_logging.instrument_cont logger sty - in - + | KList_enter_body (body, xs, ys, ty, len, k) -> + let (List_t (vty, _)) = ty in + let sty = Item_t (vty, stack_ty) in + let instrument = Script_interpreter_logging.instrument_cont logger sty in (klist_enter [@ocaml.tailcall]) instrument g @@ -1806,7 +1792,7 @@ and klog : body xs ys - ty_opt + ty len k accu @@ -1826,25 +1812,11 @@ and klog : k accu stack - | KMap_enter_body (body, xs, ys, ty_opt, k) -> - let instrument = - match ty_opt with - | None -> id - | Some (Map_t (_, vty, _)) -> - let sty = Item_t (vty, stack_ty) in - Script_interpreter_logging.instrument_cont logger sty - in - (kmap_enter [@ocaml.tailcall]) - instrument - g - gas - body - xs - ty_opt - ys - k - accu - stack + | KMap_enter_body (body, xs, ys, ty, k) -> + let (Map_t (_, vty, _)) = ty in + let sty = Item_t (vty, stack_ty) in + let instrument = Script_interpreter_logging.instrument_cont logger sty in + (kmap_enter [@ocaml.tailcall]) instrument g gas body xs ty ys k accu stack | KMap_exit_body (body, xs, ys, yk, ty_opt, k) -> let (Item_t (_, rest)) = stack_ty in let instrument = Script_interpreter_logging.instrument_cont logger rest in diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 21a2130d6dbf..d94e9eb22171 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -700,7 +700,7 @@ type ('a, 'b, 'c, 'e, 'f, 'm, 'n, 'o) kmap_exit_type = local_gas_counter -> ('m * 'n, 'a * 'b, 'o, 'a * 'b) kinstr -> ('m * 'n) list -> - (('m, 'o) map, 'c) ty option -> + (('m, 'o) map, 'c) ty -> ('m, 'o) map -> 'm -> (('m, 'o) map, 'a * 'b, 'e, 'f) continuation -> @@ -714,7 +714,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'j, 'k) kmap_enter_type = local_gas_counter -> ('j * 'k, 'b * 'c, 'a, 'b * 'c) kinstr -> ('j * 'k) list -> - (('j, 'a) map, 'f) ty option -> + (('j, 'a) map, 'f) ty -> ('j, 'a) map -> (('j, 'a) map, 'b * 'c, 'd, 'e) continuation -> 'b -> @@ -728,7 +728,7 @@ type ('a, 'b, 'c, 'd, 'e, 'i, 'j) klist_exit_type = ('i, 'a * 'b, 'j, 'a * 'b) kinstr -> 'i list -> 'j list -> - ('j boxed_list, 'e) ty option -> + ('j boxed_list, 'e) ty -> int -> ('j boxed_list, 'a * 'b, 'c, 'd) continuation -> 'j -> @@ -742,7 +742,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'j) klist_enter_type = ('j, 'a * 'c, 'b, 'a * 'c) kinstr -> 'j list -> 'b list -> - ('b boxed_list, 'f) ty option -> + ('b boxed_list, 'f) ty -> int -> ('b boxed_list, 'a * 'c, 'd, 'e) continuation -> 'a -> @@ -788,7 +788,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) ilist_map_type = ('e, 'a * 'b, 'f, 'a * 'b) kinstr -> ('f boxed_list, 'a * 'b, 'g, 'h) kinstr -> ('g, 'h, 'c, 'd) continuation -> - ('f boxed_list, 'i) ty option -> + ('f boxed_list, 'i) ty -> 'e boxed_list -> 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t @@ -824,7 +824,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) imap_map_type = ('e * 'f, 'a * 'b, 'g, 'a * 'b) kinstr -> (('e, 'g) map, 'a * 'b, 'h, 'i) kinstr -> ('h, 'i, 'c, 'd) continuation -> - (('e, 'g) map, 'j) ty option -> + (('e, 'g) map, 'j) ty -> ('e, 'f) map -> 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t @@ -903,6 +903,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iexec_type = logger option -> outdated_context * step_constants -> local_gas_counter -> + ('a, 'b) stack_ty -> ('a, 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> 'g -> @@ -914,7 +915,7 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'i, 'o) iview_type = outdated_context * step_constants -> local_gas_counter -> ('i, 'o) view_signature -> - ('o, 'a * 'b) stack_ty option -> + ('o, 'a * 'b) stack_ty -> ('o option, 'a * 'b, 'c, 'd) kinstr -> ('c, 'd, 'e, 'f) continuation -> 'i -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index 335d013c843d..f0e7b892d044 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -899,14 +899,14 @@ let kinstr_split : aft_body_stack_transform = (fun s -> ok @@ Item_t (a, s)); reconstruct = (fun body k -> IDip (loc, body, ty, k)); } - | IExec (loc, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> + | IExec (loc, sty, k), Item_t (_, Item_t (Lambda_t (_, b, _meta), s)) -> let s = Item_t (b, s) in ok @@ Ex_split_kinstr { cont_init_stack = s; continuation = k; - reconstruct = (fun k -> IExec (loc, k)); + reconstruct = (fun k -> IExec (loc, sty, k)); } | ( IApply (loc, ty, k), Item_t (_, Item_t (Lambda_t (Pair_t (_, a, _, _), b, _), s)) ) -> @@ -1748,59 +1748,35 @@ let log_next_continuation : | KLoop_in (ki, k) -> let (Item_t (Bool_t, sty)) = stack_ty in ok @@ KLoop_in (enable_log sty ki, instrument_cont logger sty k) - | KReturn (stack, sty_opt, k) -> - let k' = - match sty_opt with - | None -> k - | Some sty -> instrument_cont logger sty k - in - ok @@ KReturn (stack, sty_opt, k') + | KReturn (stack, sty, k) -> + let k' = instrument_cont logger sty k in + ok @@ KReturn (stack, sty, k') | KLoop_in_left (ki, k) -> let (Item_t (Union_t (a_ty, b_ty, _, _), rest)) = stack_ty in let ki' = enable_log (Item_t (a_ty, rest)) ki in let k' = instrument_cont logger (Item_t (b_ty, rest)) k in ok @@ KLoop_in_left (ki', k') - | KUndip (x, ty_opt, k) -> - let k' = - match ty_opt with - | None -> k - | Some ty -> instrument_cont logger (Item_t (ty, stack_ty)) k - in - ok @@ KUndip (x, ty_opt, k') + | KUndip (x, ty, k) -> + let k' = instrument_cont logger (Item_t (ty, stack_ty)) k in + ok @@ KUndip (x, ty, k') | KIter (body, xty, xs, k) -> let body' = enable_log (Item_t (xty, stack_ty)) body in let k' = instrument_cont logger stack_ty k in ok @@ KIter (body', xty, xs, k') - | KList_enter_body (body, xs, ys, ty_opt, len, k) -> - let k' = - match ty_opt with - | None -> k - | Some ty -> instrument_cont logger (Item_t (ty, stack_ty)) k - in - ok @@ KList_enter_body (body, xs, ys, ty_opt, len, k') - | KList_exit_body (body, xs, ys, ty_opt, len, k) -> + | KList_enter_body (body, xs, ys, ty, len, k) -> + let k' = instrument_cont logger (Item_t (ty, stack_ty)) k in + ok @@ KList_enter_body (body, xs, ys, ty, len, k') + | KList_exit_body (body, xs, ys, ty, len, k) -> let (Item_t (_, sty)) = stack_ty in - let k' = - match ty_opt with - | None -> k - | Some ty -> instrument_cont logger (Item_t (ty, sty)) k - in - ok @@ KList_exit_body (body, xs, ys, ty_opt, len, k') - | KMap_enter_body (body, xs, ys, ty_opt, k) -> - let k' = - match ty_opt with - | None -> k - | Some ty -> instrument_cont logger (Item_t (ty, stack_ty)) k - in - ok @@ KMap_enter_body (body, xs, ys, ty_opt, k') - | KMap_exit_body (body, xs, ys, yk, ty_opt, k) -> + let k' = instrument_cont logger (Item_t (ty, sty)) k in + ok @@ KList_exit_body (body, xs, ys, ty, len, k') + | KMap_enter_body (body, xs, ys, ty, k) -> + let k' = instrument_cont logger (Item_t (ty, stack_ty)) k in + ok @@ KMap_enter_body (body, xs, ys, ty, k') + | KMap_exit_body (body, xs, ys, yk, ty, k) -> let (Item_t (_, sty)) = stack_ty in - let k' = - match ty_opt with - | None -> k - | Some ty -> instrument_cont logger (Item_t (ty, sty)) k - in - ok @@ KMap_exit_body (body, xs, ys, yk, ty_opt, k') + let k' = instrument_cont logger (Item_t (ty, sty)) k in + ok @@ KMap_exit_body (body, xs, ys, yk, ty, k') | KMap_head (_, _) | KView_exit (_, _) | KLog _ (* This case should never happen. *) | KNil -> diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index dfbfd5770dc9..4b9b7a3886b6 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -3343,15 +3343,10 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : ( stack_eq loc ctxt 1 rest starting_rest >>? fun (Eq, ctxt) -> let hloc = loc in let ibody = kibody.instr.apply (IHalt hloc) in - (match type_logger with - (* We want the type if logging is enabled, but we don't really care about the logger. *) - | Some _ -> list_t loc ret >|? Option.some - | None -> ok None) - >>? fun ret_ty -> + list_t loc ret >>? fun ty -> let list_map = - {apply = (fun k -> IList_map (loc, ibody, ret_ty, k))} + {apply = (fun k -> IList_map (loc, ibody, ty, k))} in - list_t loc ret >>? fun ty -> let stack = Item_t (ty, rest) in typed_no_lwt ctxt loc list_map stack ) | Typed {aft; _} -> @@ -3830,7 +3825,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : check_item_ty ctxt arg param loc I_EXEC 1 2 >>?= fun (Eq, ctxt) -> check_var_annot loc annot >>?= fun () -> let stack = Item_t (ret, rest) in - let instr = {apply = (fun k -> IExec (loc, k))} in + let instr = {apply = (fun k -> IExec (loc, stack, k))} in (typed ctxt loc instr stack : ((a, s) judgement * context) tzresult Lwt.t) | ( Prim (loc, I_APPLY, [], annot), Item_t @@ -3857,17 +3852,12 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>=? fun (judgement, ctxt) -> match judgement with | Typed descr -> - let v_opt = - (* We only care about whether or not logger is None; it's contents is - irrelevant. *) - Option.map (fun _ -> v) type_logger - in let instr = { apply = (fun k -> let b = descr.instr.apply (IHalt descr.loc) in - IDip (loc, b, v_opt, k)); + IDip (loc, b, v, k)); } in let stack = Item_t (v, descr.aft) in @@ -4300,14 +4290,7 @@ and[@coq_axiom_with_reason "gadt"] parse_instr : >>?= fun (Ex_ty output_ty, ctxt) -> option_t output_ty_loc output_ty >>?= fun res_ty -> check_var_annot loc annot >>?= fun () -> - let sty = - (* We only care if logger is present, not about its contents. *) - Option.map - (fun _ -> - let (Item_t (_, Item_t (_, rest))) = stack_ty in - Item_t (output_ty, rest)) - type_logger - in + let sty = Item_t (output_ty, rest) in let instr = { apply = diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index f76338ee56c1..84c68c330b69 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -542,7 +542,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IList_map : Script.location * ('a, 'c * 's, 'b, 'c * 's) kinstr - * ('b boxed_list, _) ty option + * ('b boxed_list, _) ty * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : @@ -808,11 +808,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IDip : Script.location * ('b, 's, 'c, 't) kinstr - * ('a, _) ty option + * ('a, _) ty * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : - Script.location * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's) stack_ty * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : Script.location * ('a, _) ty * (('b, 'c) lambda, 's, 'r, 'f) kinstr @@ -868,7 +868,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IView : Script.location * ('a, 'b) view_signature - * ('b, 'c * 's) stack_ty option + * ('b, 'c * 's) stack_ty * ('b option, 'c * 's, 'r, 'f) kinstr -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : @@ -1117,13 +1117,13 @@ and (_, _, _, _) continuation = ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KReturn : - 's * ('a, 's) stack_ty option * ('a, 's, 'r, 'f) continuation + 's * ('a, 's) stack_ty * ('a, 's, 'r, 'f) continuation -> ('a, end_of_stack, 'r, 'f) continuation | KMap_head : ('a -> 'b) * ('b, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KUndip : - 'b * ('b, _) ty option * ('b, 'a * 's, 'r, 'f) continuation + 'b * ('b, _) ty * ('b, 'a * 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation | KLoop_in : ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation @@ -1141,7 +1141,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list - * ('b boxed_list, _) ty option + * ('b boxed_list, _) ty * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation @@ -1149,7 +1149,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list - * ('b boxed_list, _) ty option + * ('b boxed_list, _) ty * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation @@ -1157,7 +1157,7 @@ and (_, _, _, _) continuation = ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map - * (('a, 'c) map, _) ty option + * (('a, 'c) map, _) ty * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('d, 's, 'r, 'f) continuation | KMap_exit_body : @@ -1165,7 +1165,7 @@ and (_, _, _, _) continuation = * ('a * 'b) list * ('a, 'c) map * 'a - * (('a, 'c) map, _) ty option + * (('a, 'c) map, _) ty * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('c, 'd * 's, 'r, 'f) continuation | KView_exit : @@ -1505,7 +1505,7 @@ let kinstr_location : type a s b f. (a, s, b, f) kinstr -> Script.location = | ILoop (loc, _, _) -> loc | ILoop_left (loc, _, _) -> loc | IDip (loc, _, _, _) -> loc - | IExec (loc, _) -> loc + | IExec (loc, _, _) -> loc | IApply (loc, _, _) -> loc | ILambda (loc, _, _) -> loc | IFailwith (loc, _) -> loc @@ -1905,7 +1905,7 @@ let kinstr_traverse i init f = | ILoop (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | ILoop_left (_, k1, k2) -> (next2 [@ocaml.tailcall]) k1 k2 | IDip (_, k1, _, k2) -> (next2 [@ocaml.tailcall]) k1 k2 - | IExec (_, k) -> (next [@ocaml.tailcall]) k + | IExec (_, _, k) -> (next [@ocaml.tailcall]) k | IApply (_, _, k) -> (next [@ocaml.tailcall]) k | ILambda (_, _, k) -> (next [@ocaml.tailcall]) k | IFailwith (_, _) -> (return [@ocaml.tailcall]) () diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index e67c3ccaef6f..08021676d03c 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -503,7 +503,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IList_map : Script.location * ('a, 'c * 's, 'b, 'c * 's) kinstr - * ('b boxed_list, _) ty option + * ('b boxed_list, _) ty * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr | IList_iter : @@ -765,11 +765,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IDip : Script.location * ('b, 's, 'c, 't) kinstr - * ('a, _) ty option + * ('a, _) ty * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : - Script.location * ('b, 's, 'r, 'f) kinstr + Script.location * ('b, 's) stack_ty * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : Script.location * ('a, _) ty * (('b, 'c) lambda, 's, 'r, 'f) kinstr @@ -825,7 +825,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IView : Script.location * ('a, 'b) view_signature - * ('b, 'c * 's) stack_ty option + * ('b, 'c * 's) stack_ty * ('b option, 'c * 's, 'r, 'f) kinstr -> ('a, address * ('c * 's), 'r, 'f) kinstr | ITransfer_tokens : @@ -1161,7 +1161,7 @@ and (_, _, _, _) continuation = stack of type ['s] and the continuation which expects the callee's result on top of the stack. *) | KReturn : - 's * ('a, 's) stack_ty option * ('a, 's, 'r, 'f) continuation + 's * ('a, 's) stack_ty * ('a, 's, 'r, 'f) continuation -> ('a, end_of_stack, 'r, 'f) continuation (* This continuation is useful when stack head requires some wrapping or unwrapping before it can be passed forward. For instance this continuation @@ -1179,7 +1179,7 @@ and (_, _, _, _) continuation = element ['b] of the stack after having executed [i] in the substack of type ['a * 's]. *) | KUndip : - 'b * ('b, _) ty option * ('b, 'a * 's, 'r, 'f) continuation + 'b * ('b, _) ty * ('b, 'a * 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation (* This continuation is executed at each iteration of a loop with a Boolean condition. *) @@ -1204,7 +1204,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list - * ('b boxed_list, _) ty option + * ('b boxed_list, _) ty * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation @@ -1213,7 +1213,7 @@ and (_, _, _, _) continuation = ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list - * ('b boxed_list, _) ty option + * ('b boxed_list, _) ty * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation @@ -1222,7 +1222,7 @@ and (_, _, _, _) continuation = ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map - * (('a, 'c) map, _) ty option + * (('a, 'c) map, _) ty * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('d, 's, 'r, 'f) continuation (* This continuation represents what is done after each step of a Map.map. *) @@ -1231,7 +1231,7 @@ and (_, _, _, _) continuation = * ('a * 'b) list * ('a, 'c) map * 'a - * (('a, 'c) map, _) ty option + * (('a, 'c) map, _) ty * (('a, 'c) map, 'd * 's, 'r, 'f) continuation -> ('c, 'd * 's, 'r, 'f) continuation (* This continuation represents what is done after returning from a view. diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 14eab3f421a0..7b42b3295f3c 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -373,8 +373,8 @@ and kinstr_size : | INil (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | IIf_cons {loc = _; branch_if_nil = _; branch_if_cons = _; k = _} -> ret_succ_adding accu (base +! (word_size *? 2)) - | IList_map (_loc, _k1, _, _k2) -> - ret_succ_adding accu (base +! (word_size *? 2)) + | IList_map (_loc, _k1, ty, _k2) -> + ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_iter (_, ty, _, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! (word_size *? 2)) | IList_size (_, _) -> ret_succ_adding accu base @@ -452,7 +452,8 @@ and kinstr_size : | ILoop (_, _, _) -> ret_succ_adding accu (base +! word_size) | ILoop_left (_, _, _) -> ret_succ_adding accu (base +! word_size) | IDip (_, _, _, _) -> ret_succ_adding accu (base +! word_size) - | IExec (_, _) -> ret_succ_adding accu base + | IExec (_, sty, _) -> + ret_succ_adding (accu ++ stack_ty_size sty) (base +! (word_size *? 2)) | IApply (_, ty, _) -> ret_succ_adding (accu ++ ty_size ty) (base +! word_size) | ILambda (_, lambda, _) -> @@ -472,9 +473,9 @@ and kinstr_size : ret_succ_adding (accu ++ ty_size ty) (base +! Entrypoint.in_memory_size s +! (word_size *? 2)) - | IView (_loc, s, _, _k) -> + | IView (_loc, s, sty, _k) -> ret_succ_adding - (accu ++ view_signature_size s) + (accu ++ view_signature_size s ++ stack_ty_size sty) (base +! (word_size *? 2)) | ITransfer_tokens (_, _) -> ret_succ_adding accu base | IImplicit_account (_, _) -> ret_succ_adding accu base -- GitLab From d5ef065cac136eae4d13b311e05c8b78348cc91a Mon Sep 17 00:00:00 2001 From: Sventimir Date: Mon, 13 Jun 2022 16:18:34 +0200 Subject: [PATCH 33/42] Proto/Michelson: Instrument next continuation in klog only. --- .../lib_protocol/script_interpreter.ml | 3 +-- .../script_interpreter_logging.ml | 8 ------- .../script_interpreter_logging.mli | 22 ++++++++----------- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index d76d4185bdf4..4dd1276efcb6 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1575,8 +1575,7 @@ and log : sty accu stack) ; - Script_interpreter_logging.log_next_kinstr_and_cont logger sty k ks - >>?= fun (k, ks) -> + Script_interpreter_logging.log_next_kinstr logger sty k >>?= fun k -> match k with | IIf_none {branch_if_none; branch_if_some; k; _} -> ( let (Item_t (_, sty_if_none)) = sty in diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index f0e7b892d044..91db221a61ef 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -1782,14 +1782,6 @@ let log_next_continuation : | KLog _ (* This case should never happen. *) | KNil -> ok cont -let log_next_kinstr_and_cont logger sty i k = - let open Result_syntax in - let* i' = log_next_kinstr logger sty i in - let* sty' = kinstr_final_stack_type sty i in - let+ k' = Option.map_e (fun sty -> log_next_continuation logger sty k) sty' in - (* [sty'] being [None] implies that [i] never returns, so [k] won't be executed anyway. *) - (i', Option.value ~default:k k') - let rec dipn_stack_ty : type a s e z c u d w. (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index a6a7f4f8c79c..69a42185c3b6 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -90,22 +90,18 @@ val log_next_continuation : ('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation tzresult -(** [log_next_kinstr_and_cont logger sty instr cont] instruments the - next instruction in [instr] with [ILog] instructions and the next - continuation in [cont] with [KLog] continuations to make sure they - will be logged. - - This instrumentation has a performance cost, but importantly, it - is only ever paid when logging is enabled. Otherwise, the - possibility to instrument the script is costless. Note also that - [logger] value is only available when logging is enabled, so the - type system protects us from calling this by mistake. *) -val log_next_kinstr_and_cont : +(** [log_next_kinstr logger sty instr] instruments the next instruction + in [instr] with [ILog] instructions to make sure it will be logged. + This instrumentation has a performance cost, but importantly, it is + only ever paid when logging is enabled. Otherwise, the possibility + to instrument the script is costless. Note also that [logger] value + is only available when logging is enables, so the type system protects + us from calling this by mistake. *) +val log_next_kinstr : logger -> ('a, 'b) stack_ty -> ('a, 'b, 'c, 'd) kinstr -> - ('c, 'd, 'e, 'f) continuation -> - (('a, 'b, 'c, 'd) kinstr * ('c, 'd, 'e, 'f) continuation) tzresult + ('a, 'b, 'c, 'd) kinstr tzresult val kinstr_final_stack_type : ('a, 'b) stack_ty -> -- GitLab From d0e94412d51633555dc68e730397dee3e0b9ed7c Mon Sep 17 00:00:00 2001 From: Sventimir Date: Mon, 13 Jun 2022 17:06:01 +0200 Subject: [PATCH 34/42] Proto/Michelson: make sure to obtain final stack type after branch. In many scripts some branches end with FAILWITH (hence their final stack type is None). If that happens, we need to also check the other branch to get its final stack type correct. --- .../lib_protocol/script_interpreter.ml | 37 +++++++++++++------ .../script_interpreter_logging.ml | 14 +++++++ .../script_interpreter_logging.mli | 12 ++++++ 3 files changed, 51 insertions(+), 12 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 4dd1276efcb6..5fbabb843a43 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1578,10 +1578,12 @@ and log : Script_interpreter_logging.log_next_kinstr logger sty k >>?= fun k -> match k with | IIf_none {branch_if_none; branch_if_some; k; _} -> ( - let (Item_t (_, sty_if_none)) = sty in - Script_interpreter_logging.kinstr_final_stack_type - sty_if_none - branch_if_none + let (Item_t (Option_t (ty, _, _), rest)) = sty in + Script_interpreter_logging.branched_final_stack_type + [ + Ex_init_stack_ty (rest, branch_if_none); + Ex_init_stack_ty (Item_t (ty, rest), branch_if_some); + ] >>?= fun sty_opt -> let ks' = match sty_opt with @@ -1612,10 +1614,12 @@ and log : in (step [@ocaml.tailcall]) g gas body ks' v stack) | IIf_left {branch_if_left; branch_if_right; k; _} -> ( - let (Item_t (Union_t (ty, _, _, _), rest)) = sty in - Script_interpreter_logging.kinstr_final_stack_type - (Item_t (ty, rest)) - branch_if_left + let (Item_t (Union_t (lty, rty, _, _), rest)) = sty in + Script_interpreter_logging.branched_final_stack_type + [ + Ex_init_stack_ty (Item_t (lty, rest), branch_if_left); + Ex_init_stack_ty (Item_t (rty, rest), branch_if_right); + ] >>?= fun sty_opt -> let k' = match sty_opt with @@ -1628,8 +1632,12 @@ and log : | L v -> (step [@ocaml.tailcall]) g gas branch_if_left k' v stack | R v -> (step [@ocaml.tailcall]) g gas branch_if_right k' v stack) | IIf_cons {branch_if_cons; branch_if_nil; k; _} -> ( - let (Item_t (_, sty')) = sty in - Script_interpreter_logging.kinstr_final_stack_type sty' branch_if_nil + let (Item_t ((List_t (elty, _) as lty), rest)) = sty in + Script_interpreter_logging.branched_final_stack_type + [ + Ex_init_stack_ty (rest, branch_if_nil); + Ex_init_stack_ty (Item_t (elty, Item_t (lty, rest)), branch_if_cons); + ] >>?= fun sty' -> let k' = match sty' with @@ -1675,7 +1683,11 @@ and log : (ilsr_nat [@ocaml.tailcall]) (Some logger) g gas loc k ks accu stack | IIf {branch_if_true; branch_if_false; k; _} -> let (Item_t (Bool_t, rest)) = sty in - Script_interpreter_logging.kinstr_final_stack_type rest branch_if_true + Script_interpreter_logging.branched_final_stack_type + [ + Ex_init_stack_ty (rest, branch_if_true); + Ex_init_stack_ty (rest, branch_if_false); + ] >>?= fun sty' -> let k' = match sty' with @@ -1862,7 +1874,8 @@ let step_descr ~log_now logger (ctxt, sc) descr accu stack = logger, descr.kinstr ) in - step (outdated_ctxt, sc) gas log KNil accu stack) + let knil = KLog (KNil, descr.kaft, logger) in + step (outdated_ctxt, sc) gas log knil accu stack) >>=? fun (accu, stack, ctxt, gas) -> return (accu, stack, update_context gas ctxt) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml index 91db221a61ef..58a09366227d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.ml @@ -99,6 +99,11 @@ type ('a, 's, 'r, 'f) ex_split_kinstr = } -> ('a, 's, 'r, 'f) ex_split_kinstr +type ('r, 'f) ex_init_stack_ty = + | Ex_init_stack_ty : + ('a, 's) stack_ty * ('a, 's, 'r, 'f) kinstr + -> ('r, 'f) ex_init_stack_ty + let rec stack_prefix_preservation_witness_split_input : type a s b t c u d v. (b, t, c, u, a, s, d, v) stack_prefix_preservation_witness -> @@ -1629,6 +1634,15 @@ let rec kinstr_final_stack_type : | Ex_split_halt _ -> ok @@ Some s | Ex_split_failwith {cast = {cast = _}; _} -> ok None +let rec branched_final_stack_type : + type r f. (r, f) ex_init_stack_ty list -> (r, f) stack_ty option tzresult = + function + | [] -> ok None + | Ex_init_stack_ty (init_sty, branch) :: bs -> ( + kinstr_final_stack_type init_sty branch >>? function + | Some _ as sty -> ok sty + | None -> branched_final_stack_type bs) + let kinstr_rewritek : type a s r f. (a, s) stack_ty -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index 69a42185c3b6..a5b7ba0f0eaf 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -25,6 +25,15 @@ open Script_typed_ir +(** An existential container for an instruction paired with its + initial stack type. This is used internally to pack together + execution branches with different initial stack types but + the same final stack type (which we want to compute). *) +type ('r, 'f) ex_init_stack_ty = + | Ex_init_stack_ty : + ('a, 's) stack_ty * ('a, 's, 'r, 'f) kinstr + -> ('r, 'f) ex_init_stack_ty + (** [log_kinstr logger sty instr] returns [instr] prefixed by an [ILog] instruction to log the first instruction in [instr]. Note that [logger] value is only available when logging is enables, so @@ -108,6 +117,9 @@ val kinstr_final_stack_type : ('a, 'b, 'c, 'd) kinstr -> ('c, 'd) stack_ty option tzresult +val branched_final_stack_type : + ('r, 'f) ex_init_stack_ty list -> ('r, 'f) stack_ty option tzresult + (** [dipn_stack_ty witness stack_ty] returns the type of the stack on which instructions inside dipped block will be operating. *) val dipn_stack_ty : -- GitLab From a389de89d45337a7893400632bcaef5c92ca2f1a Mon Sep 17 00:00:00 2001 From: Mehdi Bouaziz Date: Wed, 15 Jun 2022 07:29:46 +0000 Subject: [PATCH 35/42] Proto/Michelson: Turn the logging_event into as simple ADT. --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 6 ++---- src/proto_alpha/lib_protocol/script_typed_ir.mli | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 84c68c330b69..ca2bac4a1ef4 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -443,6 +443,8 @@ and 'arg nested_entrypoints = let no_entrypoints = {at_node = None; nested = Entrypoints_None} +type logging_event = LogEntry | LogExit of Script.location + type 'arg entrypoints = { root : 'arg entrypoints_node; original_type_expr : Script.node; @@ -1094,10 +1096,6 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr -and logging_event = - | LogEntry : logging_event - | LogExit : Script.location -> logging_event - and ('arg, 'ret) lambda = | Lam : ('arg, end_of_stack, 'ret, end_of_stack) kdescr * Script.node diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.mli b/src/proto_alpha/lib_protocol/script_typed_ir.mli index 08021676d03c..6a87cd343373 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.mli +++ b/src/proto_alpha/lib_protocol/script_typed_ir.mli @@ -305,6 +305,8 @@ and 'arg nested_entrypoints = (** [no_entrypoints] is [{at_node = None; nested = Entrypoints_None}] *) val no_entrypoints : _ entrypoints_node +type logging_event = LogEntry | LogExit of Script.location + type 'arg entrypoints = { root : 'arg entrypoints_node; original_type_expr : Script.node; @@ -1095,10 +1097,6 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr -and logging_event = - | LogEntry : logging_event - | LogExit : Script.location -> logging_event - and ('arg, 'ret) lambda = | Lam : ('arg, end_of_stack, 'ret, end_of_stack) kdescr * Script.node -- GitLab From d45f74f5f0b29a12e008b2ac11f550e8331ecf64 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Wed, 15 Jun 2022 10:56:31 +0200 Subject: [PATCH 36/42] Proto/Michelson: Move kstep function to interpreter's internals. --- .../lib_protocol/script_interpreter.ml | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 5fbabb843a43..7968b39eb5fa 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1883,17 +1883,6 @@ let interp logger g (Lam (code, _)) arg = step_descr ~log_now:true logger g code arg (EmptyCell, EmptyCell) >|=? fun (ret, (EmptyCell, EmptyCell), ctxt) -> (ret, ctxt) -let kstep logger ctxt step_constants sty kinstr accu stack = - let kinstr = - match logger with - | None -> kinstr - | Some logger -> ILog (kinstr_location kinstr, sty, LogEntry, logger, kinstr) - in - let gas, outdated_ctxt = local_gas_counter_and_outdated_context ctxt in - step (outdated_ctxt, step_constants) gas kinstr KNil accu stack - >>=? fun (accu, stack, ctxt, gas) -> - return (accu, stack, update_context gas ctxt) - (* High-level functions @@ -2093,11 +2082,21 @@ module Internals = struct in next g gas ks accu stack + let kstep logger ctxt step_constants sty kinstr accu stack = + let kinstr = + match logger with + | None -> kinstr + | Some logger -> + ILog (kinstr_location kinstr, sty, LogEntry, logger, kinstr) + in + let gas, outdated_ctxt = local_gas_counter_and_outdated_context ctxt in + step (outdated_ctxt, step_constants) gas kinstr KNil accu stack + >>=? fun (accu, stack, ctxt, gas) -> + return (accu, stack, update_context gas ctxt) + let step (ctxt, step_constants) gas ks accu stack = step (ctxt, step_constants) gas ks KNil accu stack let step_descr logger ctxt step_constants descr stack = step_descr ~log_now:false logger (ctxt, step_constants) descr stack - - let kstep = kstep end -- GitLab From 285b09362945234197e468324cab83d87af4c678 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Wed, 15 Jun 2022 10:08:16 +0200 Subject: [PATCH 37/42] Proto/Michelson: Improve computing stack_preservation_witness' size. Traverse the types stored inside to take their sizes into account. --- .../lib_protocol/script_typed_ir_size.ml | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml index 7b42b3295f3c..7113b344c145 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir_size.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir_size.ml @@ -144,9 +144,19 @@ let peano_shape_proof = let scale = header_size +! h1w in fun k -> scale *? k -let stack_prefix_preservation_witness_size = - let scale = header_size +! h2w in - fun k -> scale *? k +(* Note: this function is NOT tail-recursive, but that's okay, since + the recursion is bound by the size of the witness, which is an + 11-bit unsigned integer, i.e. at most 2048. This is enough to + guarantee there will be no stack overflow. *) +let rec stack_prefix_preservation_witness_size : + type a b c d e f g h. + (a, b, c, d, e, f, g, h) stack_prefix_preservation_witness -> nodes_and_size + = function + | KPrefix (_loc, ty, w) -> + ret_succ_adding + (ty_size ty ++ stack_prefix_preservation_witness_size w) + h3w + | KRest -> zero let comb_gadt_witness_size = peano_shape_proof @@ -509,22 +519,22 @@ and kinstr_size : ret_succ_adding accu (base +! word_size +! sapling_memo_size_size) | ISapling_verify_update (_, _) -> ret_succ_adding accu base | ISapling_verify_update_deprecated (_, _) -> ret_succ_adding accu base - | IDig (_, n, _, _) -> + | IDig (_loc, _n, w, _k) -> ret_succ_adding - accu - (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) - | IDug (_, n, _, _) -> + (accu ++ stack_prefix_preservation_witness_size w) + (base +! (word_size *? 2)) + | IDug (_loc, _n, w, _k) -> ret_succ_adding - accu - (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) - | IDipn (_, n, _, _, _) -> + (accu ++ stack_prefix_preservation_witness_size w) + (base +! (word_size *? 2)) + | IDipn (_loc, _n, w, _k1, _k2) -> ret_succ_adding - accu - (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) - | IDropn (_, n, _, _) -> + (accu ++ stack_prefix_preservation_witness_size w) + (base +! (word_size *? 3)) + | IDropn (_loc, _n, w, _k) -> ret_succ_adding - accu - (base +! (word_size *? 2) +! stack_prefix_preservation_witness_size n) + (accu ++ stack_prefix_preservation_witness_size w) + (base +! (word_size *? 2)) | IChainId (_, _) -> ret_succ_adding accu base | INever _loc -> ret_succ_adding accu h1w | IVoting_power (_, _) -> ret_succ_adding accu base -- GitLab From 2d3eeaf41df3ce031aae76809d9141d0b240b07b Mon Sep 17 00:00:00 2001 From: Sventimir Date: Wed, 15 Jun 2022 10:47:09 +0200 Subject: [PATCH 38/42] Proto/Michelson: Improve comment on Script_interpreter.log function. --- src/proto_alpha/lib_protocol/script_interpreter.ml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 7968b39eb5fa..ec6d0b454370 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1542,14 +1542,15 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = (* - The following functions insert a logging instruction and modify the - continuation to continue the logging process in the next execution - steps. + The following functions insert a logging instruction to continue + the logging process in the next execution steps. There is a special treatment of instructions that generate fresh continuations: we pass a constructor as argument to their evaluation rules so that they can instrument these fresh - continuations by themselves. + continuations by themselves. Instructions that create continuations + without calling specialised functions have their branches from [step] + function duplicated and adjusted here. This on-the-fly instrumentation of the execution allows zero-cost logging since logging instructions are only introduced if an @@ -1576,6 +1577,10 @@ and log : accu stack) ; Script_interpreter_logging.log_next_kinstr logger sty k >>?= fun k -> + (* We need to match on instructions that create continuations so + that we can instrument those continuations with [KLog] (see + comment above). For functions that don't do this, we simply call + [step], as they don't require any special treatment. *) match k with | IIf_none {branch_if_none; branch_if_some; k; _} -> ( let (Item_t (Option_t (ty, _, _), rest)) = sty in -- GitLab From 26ffb095c19492bd1914cb3e679eebe569ebfff4 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Mon, 13 Jun 2022 17:08:55 +0200 Subject: [PATCH 39/42] Proto/Michelson: update logging regression tests' output. --- .../michelson/test_script_cache.ml | 4 +- .../test_logging.ml/insertion_sort.out | 228 +++++++++--------- .../expected/test_logging.ml/loop_left.out | 22 +- .../expected/test_logging.ml/reverse_loop.out | 28 +-- .../test_logging.ml/spawn_identities.out | 52 ++-- 5 files changed, 167 insertions(+), 167 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml b/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml index c7d27f802840..eae0d96f9b15 100644 --- a/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml +++ b/src/proto_alpha/lib_protocol/test/integration/michelson/test_script_cache.ml @@ -46,7 +46,7 @@ let err x = Exn (Script_cache_test_error x) model. It has been computed by a manual run of the test. *) -let liquidity_baking_contract_size = 194845 +let liquidity_baking_contract_size = 144640 let liquidity_baking_contract = Contract_hash.of_b58check_exn "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" @@ -118,7 +118,7 @@ let add_some_contracts k src block baker = model. It has been computed by a manual run of the test. *) -let int_store_contract_size = 778 +let int_store_contract_size = 496 (* diff --git a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/insertion_sort.out b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/insertion_sort.out index bc6e09310201..540a00937e1d 100644 --- a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/insertion_sort.out +++ b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/insertion_sort.out @@ -67,13 +67,13 @@ trace {} 8 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True {} 8 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ {} 8 {} ] @@ -100,7 +100,7 @@ trace {} 8 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False {} 8 @@ -111,14 +111,14 @@ trace {} 8 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False {} 8 {} ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ {} 8 {} ] @@ -199,13 +199,13 @@ trace { 8 } 3 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 8 } 3 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 8 } 3 {} ] @@ -405,7 +405,7 @@ trace { 8 } 3 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 8 } 3 @@ -416,7 +416,7 @@ trace { 8 } 3 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 8 } 3 @@ -427,14 +427,14 @@ trace { 8 } 3 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 8 } 3 {} ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 8 } 3 {} ] @@ -515,13 +515,13 @@ trace { 3 ; 8 } 2 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 3 ; 8 } 2 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 3 ; 8 } 2 {} ] @@ -721,7 +721,7 @@ trace { 3 ; 8 } 2 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 3 ; 8 } 2 @@ -732,7 +732,7 @@ trace { 3 ; 8 } 2 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 3 ; 8 } 2 @@ -743,14 +743,14 @@ trace { 3 ; 8 } 2 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 3 ; 8 } 2 {} ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 3 ; 8 } 2 {} ] @@ -831,13 +831,13 @@ trace { 2 ; 3 ; 8 } 7 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 2 ; 3 ; 8 } 7 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 2 ; 3 ; 8 } 7 {} ] @@ -1063,7 +1063,7 @@ trace { 3 ; 8 } 7 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 8 } 7 @@ -1074,7 +1074,7 @@ trace { 3 ; 8 } 7 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 8 } 7 @@ -1085,13 +1085,13 @@ trace { 3 ; 8 } 7 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 8 } 7 { 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 3 ; 8 } 7 { 2 } ] @@ -1317,7 +1317,7 @@ trace { 8 } 7 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 8 } 7 @@ -1328,7 +1328,7 @@ trace { 8 } 7 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 8 } 7 @@ -1339,13 +1339,13 @@ trace { 8 } 7 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 8 } 7 { 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 8 } 7 { 3 ; 2 } ] @@ -1545,7 +1545,7 @@ trace { 8 } 7 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 8 } 7 @@ -1556,7 +1556,7 @@ trace { 8 } 7 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 8 } 7 @@ -1567,14 +1567,14 @@ trace { 8 } 7 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 8 } 7 { 3 ; 2 } ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 8 } 7 { 3 ; 2 } ] @@ -1677,13 +1677,13 @@ trace { 2 ; 3 ; 7 ; 8 } 6 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 2 ; 3 ; 7 ; 8 } 6 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 2 ; 3 ; 7 ; 8 } 6 {} ] @@ -1909,7 +1909,7 @@ trace { 3 ; 7 ; 8 } 6 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 7 ; 8 } 6 @@ -1920,7 +1920,7 @@ trace { 3 ; 7 ; 8 } 6 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 7 ; 8 } 6 @@ -1931,13 +1931,13 @@ trace { 3 ; 7 ; 8 } 6 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 7 ; 8 } 6 { 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 3 ; 7 ; 8 } 6 { 2 } ] @@ -2163,7 +2163,7 @@ trace { 7 ; 8 } 6 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 7 ; 8 } 6 @@ -2174,7 +2174,7 @@ trace { 7 ; 8 } 6 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 7 ; 8 } 6 @@ -2185,13 +2185,13 @@ trace { 7 ; 8 } 6 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 7 ; 8 } 6 { 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 7 ; 8 } 6 { 3 ; 2 } ] @@ -2391,7 +2391,7 @@ trace { 7 ; 8 } 6 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 7 ; 8 } 6 @@ -2402,7 +2402,7 @@ trace { 7 ; 8 } 6 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 7 ; 8 } 6 @@ -2413,14 +2413,14 @@ trace { 7 ; 8 } 6 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 7 ; 8 } 6 { 3 ; 2 } ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 7 ; 8 } 6 { 3 ; 2 } ] @@ -2523,13 +2523,13 @@ trace { 2 ; 3 ; 6 ; 7 ; 8 } 9 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 2 ; 3 ; 6 ; 7 ; 8 } 9 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 2 ; 3 ; 6 ; 7 ; 8 } 9 {} ] @@ -2755,7 +2755,7 @@ trace { 3 ; 6 ; 7 ; 8 } 9 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 6 ; 7 ; 8 } 9 @@ -2766,7 +2766,7 @@ trace { 3 ; 6 ; 7 ; 8 } 9 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 6 ; 7 ; 8 } 9 @@ -2777,13 +2777,13 @@ trace { 3 ; 6 ; 7 ; 8 } 9 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 6 ; 7 ; 8 } 9 { 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 3 ; 6 ; 7 ; 8 } 9 { 2 } ] @@ -3009,7 +3009,7 @@ trace { 6 ; 7 ; 8 } 9 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 6 ; 7 ; 8 } 9 @@ -3020,7 +3020,7 @@ trace { 6 ; 7 ; 8 } 9 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 6 ; 7 ; 8 } 9 @@ -3031,13 +3031,13 @@ trace { 6 ; 7 ; 8 } 9 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 6 ; 7 ; 8 } 9 { 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 6 ; 7 ; 8 } 9 { 3 ; 2 } ] @@ -3263,7 +3263,7 @@ trace { 7 ; 8 } 9 { 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 7 ; 8 } 9 @@ -3274,7 +3274,7 @@ trace { 7 ; 8 } 9 { 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 7 ; 8 } 9 @@ -3285,13 +3285,13 @@ trace { 7 ; 8 } 9 { 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 7 ; 8 } 9 { 6 ; 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 7 ; 8 } 9 { 6 ; 3 ; 2 } ] @@ -3517,7 +3517,7 @@ trace { 8 } 9 { 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 8 } 9 @@ -3528,7 +3528,7 @@ trace { 8 } 9 { 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 8 } 9 @@ -3539,13 +3539,13 @@ trace { 8 } 9 { 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 8 } 9 { 7 ; 6 ; 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 8 } 9 { 7 ; 6 ; 3 ; 2 } ] @@ -3771,7 +3771,7 @@ trace {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True {} 9 @@ -3782,7 +3782,7 @@ trace {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True {} 9 @@ -3793,13 +3793,13 @@ trace {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] @@ -3826,7 +3826,7 @@ trace {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False {} 9 @@ -3837,14 +3837,14 @@ trace {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ {} 9 { 8 ; 7 ; 6 ; 3 ; 2 } ] @@ -3980,13 +3980,13 @@ trace { 2 ; 3 ; 6 ; 7 ; 8 ; 9 } 5 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 2 ; 3 ; 6 ; 7 ; 8 ; 9 } 5 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 2 ; 3 ; 6 ; 7 ; 8 ; 9 } 5 {} ] @@ -4212,7 +4212,7 @@ trace { 3 ; 6 ; 7 ; 8 ; 9 } 5 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 6 ; 7 ; 8 ; 9 } 5 @@ -4223,7 +4223,7 @@ trace { 3 ; 6 ; 7 ; 8 ; 9 } 5 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 6 ; 7 ; 8 ; 9 } 5 @@ -4234,13 +4234,13 @@ trace { 3 ; 6 ; 7 ; 8 ; 9 } 5 { 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 6 ; 7 ; 8 ; 9 } 5 { 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 3 ; 6 ; 7 ; 8 ; 9 } 5 { 2 } ] @@ -4466,7 +4466,7 @@ trace { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 6 ; 7 ; 8 ; 9 } 5 @@ -4477,7 +4477,7 @@ trace { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 6 ; 7 ; 8 ; 9 } 5 @@ -4488,13 +4488,13 @@ trace { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] @@ -4694,7 +4694,7 @@ trace { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 6 ; 7 ; 8 ; 9 } 5 @@ -4705,7 +4705,7 @@ trace { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 6 ; 7 ; 8 ; 9 } 5 @@ -4716,14 +4716,14 @@ trace { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 6 ; 7 ; 8 ; 9 } 5 { 3 ; 2 } ] @@ -4826,13 +4826,13 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] @@ -5032,7 +5032,7 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 @@ -5043,7 +5043,7 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 @@ -5054,14 +5054,14 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 1 {} ] @@ -5142,13 +5142,13 @@ trace { 1 ; 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 1 ; 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 1 ; 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 {} ] @@ -5374,7 +5374,7 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -5385,7 +5385,7 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -5396,13 +5396,13 @@ trace { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 1 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 2 ; 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 1 } ] @@ -5628,7 +5628,7 @@ trace { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -5639,7 +5639,7 @@ trace { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -5650,13 +5650,13 @@ trace { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 2 ; 1 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 3 ; 5 ; 6 ; 7 ; 8 ; 9 } 4 { 2 ; 1 } ] @@ -5882,7 +5882,7 @@ trace { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -5893,7 +5893,7 @@ trace { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -5904,13 +5904,13 @@ trace { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ True { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] @@ -6110,7 +6110,7 @@ trace { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -6121,7 +6121,7 @@ trace { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 5 ; 6 ; 7 ; 8 ; 9 } 4 @@ -6132,14 +6132,14 @@ trace { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 5 ; 6 ; 7 ; 8 ; 9 } 4 { 3 ; 2 ; 1 } ] @@ -6253,13 +6253,13 @@ trace { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] - - LOOP (entry) @ location: 24 + - LOOP (entry) @ location: 66 [ True { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 24 + - log/IF_CONS (exit) @ location: 66 [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] @@ -6459,7 +6459,7 @@ trace { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 @@ -6470,7 +6470,7 @@ trace { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 @@ -6481,14 +6481,14 @@ trace { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] - - [halt] (entry) @ location: 24 + - [halt] (entry) @ location: 66 [ False { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] - control: KLoop_in - control: KCons - - log/SWAP (exit) @ location: 24 + - log/SWAP (exit) @ location: 66 [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } 0 {} ] diff --git a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/loop_left.out b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/loop_left.out index 95854b093e7f..896f7396ad68 100644 --- a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/loop_left.out +++ b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/loop_left.out @@ -26,10 +26,10 @@ trace [ (Pair { "abc" ; "xyz" } {}) ] - log/LOOP_LEFT (exit) @ location: 14 [ (Left (Pair { "abc" ; "xyz" } {})) ] - - LOOP_LEFT (entry) @ location: 17 + - LOOP_LEFT (entry) @ location: 41 [ (Left (Pair { "abc" ; "xyz" } {})) ] - control: KLoop_in_left - - log/DUP (exit) @ location: 17 + - log/DUP (exit) @ location: 41 [ (Pair { "abc" ; "xyz" } {}) ] - DUP (entry) @ location: 19 [ (Pair { "abc" ; "xyz" } {}) ] @@ -101,15 +101,15 @@ trace [ (Pair { "xyz" } { "abc" }) ] - log/[halt] (exit) @ location: 31 [ (Left (Pair { "xyz" } { "abc" })) ] - - [halt] (entry) @ location: 17 + - [halt] (entry) @ location: 41 [ (Left (Pair { "xyz" } { "abc" })) ] - control: KCons - log/[halt] (exit) @ location: 24 [ (Left (Pair { "xyz" } { "abc" })) ] - - [halt] (entry) @ location: 17 + - [halt] (entry) @ location: 41 [ (Left (Pair { "xyz" } { "abc" })) ] - control: KLoop_in_left - - log/DUP (exit) @ location: 17 + - log/DUP (exit) @ location: 41 [ (Pair { "xyz" } { "abc" }) ] - DUP (entry) @ location: 19 [ (Pair { "xyz" } { "abc" }) ] @@ -181,15 +181,15 @@ trace [ (Pair {} { "xyz" ; "abc" }) ] - log/[halt] (exit) @ location: 31 [ (Left (Pair {} { "xyz" ; "abc" })) ] - - [halt] (entry) @ location: 17 + - [halt] (entry) @ location: 41 [ (Left (Pair {} { "xyz" ; "abc" })) ] - control: KCons - log/[halt] (exit) @ location: 24 [ (Left (Pair {} { "xyz" ; "abc" })) ] - - [halt] (entry) @ location: 17 + - [halt] (entry) @ location: 41 [ (Left (Pair {} { "xyz" ; "abc" })) ] - control: KLoop_in_left - - log/DUP (exit) @ location: 17 + - log/DUP (exit) @ location: 41 [ (Pair {} { "xyz" ; "abc" }) ] - DUP (entry) @ location: 19 [ (Pair {} { "xyz" ; "abc" }) ] @@ -227,16 +227,16 @@ trace [ { "xyz" ; "abc" } ] - log/[halt] (exit) @ location: 35 [ (Right { "xyz" ; "abc" }) ] - - [halt] (entry) @ location: 17 + - [halt] (entry) @ location: 41 [ (Right { "xyz" ; "abc" }) ] - control: KCons - log/[halt] (exit) @ location: 24 [ (Right { "xyz" ; "abc" }) ] - - [halt] (entry) @ location: 17 + - [halt] (entry) @ location: 41 [ (Right { "xyz" ; "abc" }) ] - control: KLoop_in_left - control: KCons - - log/NIL (exit) @ location: 17 + - log/NIL (exit) @ location: 41 [ { "xyz" ; "abc" } ] - NIL (entry) @ location: 41 [ { "xyz" ; "abc" } ] diff --git a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/reverse_loop.out b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/reverse_loop.out index 407568a52c4a..a0b9a50d4ffd 100644 --- a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/reverse_loop.out +++ b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/reverse_loop.out @@ -24,12 +24,12 @@ trace [ True { "abc" ; "def" ; "ghi" } {} ] - - LOOP (entry) @ location: 16 + - LOOP (entry) @ location: 33 [ True { "abc" ; "def" ; "ghi" } {} ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 16 + - log/IF_CONS (exit) @ location: 33 [ { "abc" ; "def" ; "ghi" } {} ] - IF_CONS (entry) @ location: 18 @@ -73,7 +73,7 @@ trace [ True { "def" ; "ghi" } { "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ True { "def" ; "ghi" } { "abc" } ] @@ -82,12 +82,12 @@ trace [ True { "def" ; "ghi" } { "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ True { "def" ; "ghi" } { "abc" } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 16 + - log/IF_CONS (exit) @ location: 33 [ { "def" ; "ghi" } { "abc" } ] - IF_CONS (entry) @ location: 18 @@ -131,7 +131,7 @@ trace [ True { "ghi" } { "def" ; "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ True { "ghi" } { "def" ; "abc" } ] @@ -140,12 +140,12 @@ trace [ True { "ghi" } { "def" ; "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ True { "ghi" } { "def" ; "abc" } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 16 + - log/IF_CONS (exit) @ location: 33 [ { "ghi" } { "def" ; "abc" } ] - IF_CONS (entry) @ location: 18 @@ -189,7 +189,7 @@ trace [ True {} { "ghi" ; "def" ; "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ True {} { "ghi" ; "def" ; "abc" } ] @@ -198,12 +198,12 @@ trace [ True {} { "ghi" ; "def" ; "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ True {} { "ghi" ; "def" ; "abc" } ] - control: KLoop_in - - log/IF_CONS (exit) @ location: 16 + - log/IF_CONS (exit) @ location: 33 [ {} { "ghi" ; "def" ; "abc" } ] - IF_CONS (entry) @ location: 18 @@ -223,7 +223,7 @@ trace [ False {} { "ghi" ; "def" ; "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ False {} { "ghi" ; "def" ; "abc" } ] @@ -232,13 +232,13 @@ trace [ False {} { "ghi" ; "def" ; "abc" } ] - - [halt] (entry) @ location: 16 + - [halt] (entry) @ location: 33 [ False {} { "ghi" ; "def" ; "abc" } ] - control: KLoop_in - control: KCons - - log/DROP (exit) @ location: 16 + - log/DROP (exit) @ location: 33 [ {} { "ghi" ; "def" ; "abc" } ] - DROP (entry) @ location: 33 diff --git a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/spawn_identities.out b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/spawn_identities.out index ab98a8b7b0bc..6b37d87e0d75 100644 --- a/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/spawn_identities.out +++ b/src/proto_alpha/lib_protocol/test/regression/expected/test_logging.ml/spawn_identities.out @@ -45,13 +45,13 @@ trace 7 {} {} ] - - LOOP (entry) @ location: 18 + - LOOP (entry) @ location: 76 [ True 7 {} {} ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 7 {} {} ] @@ -320,7 +320,7 @@ trace 6 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } { "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 6 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } @@ -331,13 +331,13 @@ trace 6 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } { "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 6 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } { "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 6 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } { "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] @@ -630,7 +630,7 @@ trace 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } { "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 5 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000102c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -645,7 +645,7 @@ trace 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } { "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 5 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000102c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -653,7 +653,7 @@ trace { "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 5 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000102c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000002c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 } @@ -1056,7 +1056,7 @@ trace { "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 4 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000202c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -1075,7 +1075,7 @@ trace { "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 4 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000202c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -1085,7 +1085,7 @@ trace "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 4 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000202c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000102c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -1598,7 +1598,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 3 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000302c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -1621,7 +1621,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 3 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000302c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -1633,7 +1633,7 @@ trace "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 3 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000302c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000202c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -2256,7 +2256,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 2 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000402c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -2283,7 +2283,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 2 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000402c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -2297,7 +2297,7 @@ trace "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 2 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000402c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000302c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -3030,7 +3030,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 1 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000502c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -3061,7 +3061,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 1 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000502c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -3077,7 +3077,7 @@ trace "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 1 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000502c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000402c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -3920,7 +3920,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 0 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000602c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -3955,7 +3955,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ True 0 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000602c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -3973,7 +3973,7 @@ trace "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - - log/DUP (exit) @ location: 18 + - log/DUP (exit) @ location: 76 [ 0 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000602c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000502c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -4192,7 +4192,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ False 0 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000602c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -4227,7 +4227,7 @@ trace "KT1HMCxCyeGbZaGBsLMKVyMbMRzFpZBxKoY7" ; "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ; "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - - [halt] (entry) @ location: 18 + - [halt] (entry) @ location: 76 [ False 0 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000602c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; @@ -4246,7 +4246,7 @@ trace "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" } ] - control: KLoop_in - control: KCons - - log/DROP (exit) @ location: 18 + - log/DROP (exit) @ location: 76 [ 0 { 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000602c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; 0x014828e9aa0b3e6e970da0515b5c5d8ccf5028758900000502c096b102000000001c02000000170500036805010368050202000000080316053d036d0342000000090100000004696e6974 ; -- GitLab From 6e368ddb411e66b2737cb9c387ed08aad6d730b5 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Tue, 14 Jun 2022 15:38:47 +0200 Subject: [PATCH 40/42] Tezt: update regression outputs. --- .../expected/views.ml/Alpha- Run views.out | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/tezt/tests/expected/views.ml/Alpha- Run views.out b/tezt/tests/expected/views.ml/Alpha- Run views.out index b805ac2afc51..f9c4b06ee1b9 100644 --- a/tezt/tests/expected/views.ml/Alpha- Run views.out +++ b/tezt/tests/expected/views.ml/Alpha- Run views.out @@ -13,7 +13,7 @@ view "calls_count" unit nat { CDR ; SIZE }; view "last_caller" unit (option address) { CDR ; IF_CONS { DIP { DROP } ; SOME } { NONE address } }; ' --init '{}' --burn-cap 1 Node is bootstrapped. -Estimated gas: 1426.921 units (will add 100 for safety) +Estimated gas: 1426.696 units (will add 100 for safety) Estimated storage: 409 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is 'oow4SAcGS9xTtTqPKayDoSUrkfkNQRoPKE1pN1JuviFG2YrF6GY' @@ -50,7 +50,7 @@ This sequence of operations was run: KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN Storage size: 152 bytes Paid storage size diff: 152 bytes - Consumed gas: 1426.921 + Consumed gas: 1426.696 Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.038 storage fees ........................... +ꜩ0.038 @@ -88,20 +88,20 @@ code { } ' --init None --burn-cap 1 Node is bootstrapped. -Estimated gas: 1449.065 units (will add 100 for safety) +Estimated gas: 1448.165 units (will add 100 for safety) Estimated storage: 465 bytes added (will add 20 for safety) Operation successfully injected in the node. -Operation hash is 'onrV7eJG7EJRrVp6BLHozvqDM2nNTrYHWmNNMh1AxvHsAmF6wYP' +Operation hash is 'oomEQ4fr8YZ9WL8DigAEok4vcqCbXd4ooHiuuThJxAChAWyYNBH' NOT waiting for the operation to be included. Use command - tezos-client wait for onrV7eJG7EJRrVp6BLHozvqDM2nNTrYHWmNNMh1AxvHsAmF6wYP to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU + tezos-client wait for oomEQ4fr8YZ9WL8DigAEok4vcqCbXd4ooHiuuThJxAChAWyYNBH 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.00059 Expected counter: 2 - Gas limit: 1550 + Gas limit: 1549 Storage limit: 485 bytes Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.00059 @@ -130,35 +130,35 @@ This sequence of operations was run: No delegate for this contract This origination was successfully applied Originated contracts: - KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU + KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX Storage size: 208 bytes Paid storage size diff: 208 bytes - Consumed gas: 1449.065 + Consumed gas: 1448.165 Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.052 storage fees ........................... +ꜩ0.052 tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.06425 storage fees ........................... +ꜩ0.06425 -New contract KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU originated. +New contract KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX originated. Contract memorized as check_caller. -./tezos-client --mode mockup --base-dir '' --wait none transfer 1 from bootstrap1 to KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU --burn-cap 1 --arg '"KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN"' +./tezos-client --mode mockup --base-dir '' --wait none transfer 1 from bootstrap1 to KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX --burn-cap 1 --arg '"KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN"' Node is bootstrapped. -Estimated gas: 4415.066 units (will add 100 for safety) +Estimated gas: 4413.659 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. -Operation hash is 'opUxUeYDcfyyqcKPECMAfz3iSQX6fU7PKUdxpjTwQxcMFp7WnDx' +Operation hash is 'opLqAhX2JyHnvXaR1YmpqgSTgNma4yuatH3ZE4hSga1ECtyhEJq' NOT waiting for the operation to be included. Use command - tezos-client wait for opUxUeYDcfyyqcKPECMAfz3iSQX6fU7PKUdxpjTwQxcMFp7WnDx to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU + tezos-client wait for opLqAhX2JyHnvXaR1YmpqgSTgNma4yuatH3ZE4hSga1ECtyhEJq 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.000748 Expected counter: 3 - Gas limit: 4516 + Gas limit: 4514 Storage limit: 0 bytes Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000748 @@ -166,20 +166,20 @@ This sequence of operations was run: Transaction: Amount: ꜩ1 From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx - To: KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU + To: KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX Parameter: "KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN" This transaction was successfully applied Updated storage: None Storage size: 208 bytes - Consumed gas: 4415.864 + Consumed gas: 4414.400 Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ1 - KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU ... +ꜩ1 + KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX ... +ꜩ1 ./tezos-client --mode mockup --base-dir '' --wait none transfer 1 from bootstrap1 to KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN --burn-cap 1 Node is bootstrapped. -Estimated gas: 2116.892 units (will add 100 for safety) +Estimated gas: 2116.667 units (will add 100 for safety) Estimated storage: 27 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is 'oo5Hb4Qf1q4TuPb67SMwDftAmVejtrJVxU9XA12tPf7pNDp8b2C' @@ -205,7 +205,7 @@ This sequence of operations was run: Updated storage: { 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 } Storage size: 179 bytes Paid storage size diff: 27 bytes - Consumed gas: 2117.804 + Consumed gas: 2117.465 Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.00675 storage fees ........................... +ꜩ0.00675 @@ -213,22 +213,22 @@ This sequence of operations was run: KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN ... +ꜩ1 -./tezos-client --mode mockup --base-dir '' --wait none transfer 1 from bootstrap1 to KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU --burn-cap 1 --arg '"KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN"' +./tezos-client --mode mockup --base-dir '' --wait none transfer 1 from bootstrap1 to KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX --burn-cap 1 --arg '"KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN"' Node is bootstrapped. -Estimated gas: 4418.323 units (will add 100 for safety) +Estimated gas: 4416.916 units (will add 100 for safety) Estimated storage: 27 bytes added (will add 20 for safety) Operation successfully injected in the node. -Operation hash is 'onuMSYN6eeKuSiHcYnJcYBk2Zy87EZ5dJNTYiRsjozjBi7Gt2dQ' +Operation hash is 'oogwwFSWXWWhRkinAJTgvwobyhUZgrgfmHooA4ciQV4b4Ji9tEL' NOT waiting for the operation to be included. Use command - tezos-client wait for onuMSYN6eeKuSiHcYnJcYBk2Zy87EZ5dJNTYiRsjozjBi7Gt2dQ to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU + tezos-client wait for oogwwFSWXWWhRkinAJTgvwobyhUZgrgfmHooA4ciQV4b4Ji9tEL 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.000748 Expected counter: 5 - Gas limit: 4519 + Gas limit: 4517 Storage limit: 47 bytes Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000748 @@ -236,16 +236,16 @@ This sequence of operations was run: Transaction: Amount: ꜩ1 From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx - To: KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU + To: KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX Parameter: "KT1LfQjDNgPpdwMHbhzyQcD8GTE2L4rwxxpN" This transaction was successfully applied Updated storage: (Some 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78) Storage size: 235 bytes Paid storage size diff: 27 bytes - Consumed gas: 4419.121 + Consumed gas: 4417.657 Balance updates: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.00675 storage fees ........................... +ꜩ0.00675 tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ1 - KT1RdnquZZf4Y4ZDJvaEuY4cbam3xor3CffU ... +ꜩ1 + KT1NF5f9FWtVX4w23xt9hxvmyfa4gsbcQ8tX ... +ꜩ1 -- GitLab From 0f14b66854e9614fdf2aa2e7d6f5d7fd0a0dd251 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Tue, 14 Jun 2022 15:47:58 +0200 Subject: [PATCH 41/42] Test/Python: Update stored regression outputs. --- ...t_add_clear_tickets_add_first_transfer.out | 4 +- ..._add_clear_tickets_add_second_transfer.out | 4 +- ...t_add_clear_tickets_add_third_transfer.out | 4 +- ...:test_add_clear_tickets_clear_transfer.out | 4 +- ...ts::test_add_clear_tickets_origination.out | 4 +- ...ate_contract_from_contract_origination.out | 4 +- ...ginate_contract_from_contract_transfer.out | 6 +- ...::test_self_address_originate_receiver.out | 4 +- ...er::test_self_address_originate_sender.out | 4 +- ...ddressTransfer::test_send_self_address.out | 8 +- ...tion::test_big_map_origination_literal.out | 4 +- ...s.TestContractOnchainLevel::test_level.out | 14 +- ...ontractOnchainOpcodes::test_init_proxy.out | 4 +- ...tractOnchainOpcodes::test_set_delegate.out | 12 +- ...TestContractOnchainOpcodes::test_slice.out | 6 +- ...ef0e55c43a9a857214d8761e67b.7da5c9014e.out | 6 +- ...estContractOnchainOpcodes::test_source.out | 16 +- ...ntractOnchainOpcodes::test_split_bytes.out | 16 +- ...tractOnchainOpcodes::test_split_string.out | 16 +- ...ntractOnchainOpcodes::test_store_input.out | 16 +- ...trace_origination[compare_big_type.tz].out | 6 +- ...race_origination[compare_big_type2.tz].out | 6 +- ...ctOnchainOpcodes::test_transfer_amount.out | 8 +- ...ctOnchainOpcodes::test_transfer_tokens.out | 26 +- ...(Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" | 18 +- ...(Some 5) { Elt \"hello\" 4.0427752f13.out" | 18 +- ...(Some 5) { Elt \"hello\" 4.0793dc66d5.out" | 18 +- ...None { Elt \"1\" 1 ; .df114499b8.out" | 18 +- ...None { Elt \"1\" 1 ; .f9bea98de9.out" | 18 +- ...None { Elt \"hello\" 4 })-.1db12cd837.out" | 18 +- ...None {})-\"hello\"-(Pair N.6fc7d0acf2.out" | 18 +- ..." \"one\" ; Elt \"2\" \"tw.524c5459f8.out" | 26 +- ...ello\" \"hi\" } None)-\"\".33eba403e7.out" | 26 +- ...hello\" \"hi\" } None)-\"h.a5cd1005c9.out" | 26 +- ...one\" ; Elt \"2\" \"two\" .6f3d35b151.out" | 18 +- ...one\" ; Elt \"2\" \"two\" .76aeaa0706.out" | 24 +- ...one\" ; Elt \"2\" \"two\" .7e7197f248.out" | 24 +- ...one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" | 24 +- ...one\" ; Elt \"2\" \"two\" .b688cc94a7.out" | 24 +- ...one\" ; Elt \"2\" \"two\" .c68db221ed.out" | 24 +- ...TestContractOpcodes::test_balance[0.5].out | 10 +- ...s.TestContractOpcodes::test_balance[0].out | 10 +- ...estContractOpcodes::test_balance[1000].out | 10 +- ...s.TestContractOpcodes::test_balance[1].out | 10 +- ...stContractOpcodes::test_balance[1e-06].out | 10 +- ...s.TestContractOpcodes::test_balance[5].out | 10 +- ...Opcodes::test_balance[8000000000000.0].out | 10 +- ... \"two\" }) )-(Right (Righ.7492e8cdea.out" | 52 +- ... \"two\" }))-(Left Unit)-(.21b30dd90f.out" | 26 +- ... \"two\" }))-(Right (Left .2873ef610c.out" | 20 +- ... \"two\" }))-(Right (Left .8a6f480005.out" | 20 +- ... \"two\" }))-(Right (Right.d336ca1903.out" | 50 +- ...Pair \"foo\" \"bar\" } { P.7f2ee47600.out" | 80 +- ...tContractOpcodes::test_check_signature.out | 70 +- ...tract_input_output[abs.tz-Unit-0-Unit].out | 24 +- ....tz-Unit-12039123919239192312931-Unit].out | 24 +- ...act_input_output[abs.tz-Unit-948-Unit].out | 24 +- ...ct_input_output[add.tz-Unit-Unit-Unit].out | 136 ++-- ...r 0x00 0x00-(Some 0x0000000.3c2de60480.out | 14 +- ...r 0x01 0x00-(Some 0x0100000.12b2c1172b.out | 14 +- ...r 0x010000 0x00-(Some 0x010.0e44fc6f40.out | 14 +- ...r 0x010000 0x010000-(Some 0.7e0ed229a3.out | 14 +- ...air -100 100)-(Some \"1970.7c1b1e4e5b.out" | 22 +- ...air 0 \"1970-01-01T00:00:0.528ed42c01.out" | 22 +- ...air 100 100)-(Some \"1970-.6566111ad2.out" | 22 +- ...air \"1970-01-01T00:00:00Z.72c424f3da.out" | 22 +- ...air 100 -100)-(Some \"1970.7c4b12e9aa.out" | 22 +- ...air 100 100)-(Some \"1970-.af32743640.out" | 22 +- ...dhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" | 12 +- ...-None-(Pair False False)-(Some False)].out | 18 +- ...z-None-(Pair False True)-(Some False)].out | 18 +- ...z-None-(Pair True False)-(Some False)].out | 18 +- ....tz-None-(Pair True True)-(Some True)].out | 18 +- ...t_output[and_binary.tz-Unit-Unit-Unit].out | 74 +- ...l_1.tz-False-(Pair False False)-False].out | 12 +- ...al_1.tz-False-(Pair False True)-False].out | 12 +- ...al_1.tz-False-(Pair True False)-False].out | 12 +- ...ical_1.tz-False-(Pair True True)-True].out | 12 +- ...put[balance.tz-111-Unit-4000000000000].out | 10 +- ...lt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out | 24 +- ...lt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out | 24 +- ...lt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out | 24 +- ...lt 1 0 } None)-1-(Pair 4 (S.73700321f8.out | 24 +- ...lt 1 4 ; Elt 2 11 } None)-1.1182eca937.out | 24 +- ...lt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out | 24 +- ...lt 1 4 ; Elt 2 11 } None)-2.1eead33885.out | 24 +- ...lt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out | 24 +- ...lt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out | 24 +- ...lt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out | 24 +- ...air {} None)-1-(Pair 4 (Some False))0].out | 24 +- ...air {} None)-1-(Pair 4 (Some False))1].out | 24 +- ... \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" | 24 +- ... \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" | 24 +- ... \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" | 24 +- ... \"foo\" 0 } None)-\"foo\".968709d39d.out" | 24 +- ... \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" | 24 +- ... None)-\"bar\"-(Pair 4 (Some False))].out" | 24 +- ...padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out | 12 +- ...e-Unit-(Some 0x100000000000.d1219ca789.out | 12 +- ...utput[bls12_381_fr_to_int.tz-0-0x00-0].out | 10 +- ...utput[bls12_381_fr_to_int.tz-0-0x01-1].out | 10 +- ...8db8e57af88d9576acd181b89f2.7a85c336ff.out | 10 +- ...9e8abf8dc324a010007addde986.b821eb26b3.out | 10 +- ...ut[bls12_381_fr_to_mutez.tz-0-0x10-16].out | 20 +- ...000000000000000000000000000.0accef5bef.out | 10 +- ...000000000000000000000000000.0ecc537252.out | 10 +- ...000000000000000000000000000.2229b767cd.out | 10 +- ...000000000000000000000000000.2ff549b46b.out | 10 +- ...000000000000000000000000000.bf8a711be6.out | 10 +- ...000000000000000000000000000.d41cbb044b.out | 10 +- ...a5ad0a633e4880d2296f08ec5c1.a50412e458.out | 10 +- ...cd0fa853810e356f1eb79721e80.f3a349c4a7.out | 10 +- ...be1766f92cd82c5e5135c374a03.1b9676e4c2.out | 10 +- ...be1766f92cd82c5e5135c374a03.e966dc6de5.out | 10 +- ...000000000000000000000000000.964835cc43.out | 10 +- ...000000000000000000000000000.b25ea709fb.out | 10 +- ...000000000000000000000000000.eae36753ea.out | 10 +- ...000000000000000000000000000.ee57dac8f7.out | 10 +- ...a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out | 10 +- ...cd0fa853810e356f1eb79721e80.bd5800f6b8.out | 10 +- ...be1766f92cd82c5e5135c374a03.00e897789a.out | 10 +- ...be1766f92cd82c5e5135c374a03.a4697eaa13.out | 10 +- ...000000000000000000000000000.0177355bbf.out | 12 +- ...000000000000000000000000000.744166c609.out | 12 +- ...000000000000000000000000000.9f3c5cdc6a.out | 12 +- ...000000000000000000000000000.a54cb341ba.out | 12 +- ...000000000000000000000000000.b0dc584c94.out | 12 +- ...000000000000000000000000000.bddcad090c.out | 12 +- ...a5ad0a633e4880d2296f08ec5c1.92c153eb47.out | 12 +- ...cd0fa853810e356f1eb79721e80.290ab49d11.out | 12 +- ...be1766f92cd82c5e5135c374a03.69f3589a06.out | 12 +- ...be1766f92cd82c5e5135c374a03.fee3c5cf43.out | 12 +- ...000000000000000000000000000.1bccc033e8.out | 12 +- ...000000000000000000000000000.40958700fe.out | 12 +- ...000000000000000000000000000.6c62b03d78.out | 12 +- ...000000000000000000000000000.d23f269341.out | 12 +- ...a5ad0a633e4880d2296f08ec5c1.927f808504.out | 12 +- ...cd0fa853810e356f1eb79721e80.0c114c956a.out | 12 +- ...be1766f92cd82c5e5135c374a03.03c4f38e68.out | 12 +- ...be1766f92cd82c5e5135c374a03.8ed19cfdd9.out | 12 +- ...input_output[car.tz-0-(Pair 34 17)-34].out | 10 +- ...input_output[cdr.tz-0-(Pair 34 17)-17].out | 10 +- ...prcVkpaWU\")-Unit-(Some \".8420090f97.out" | 12 +- ...770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" | 12 +- ...None-Unit-(Some \"NetXdQprcVkpaWU\")].out" | 12 +- ...mb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out | 82 +- ... Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" | 22 +- ...r 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out | 24 +- ...omb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out | 14 +- ...nput_output[compare.tz-Unit-Unit-Unit].out | 358 ++++----- ...; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out | 200 ++--- ...-{ \"World!\" }-{ \"Hello World!\" }].out" | 16 +- ..."test2\" }-{ \"Hello test1.c27e8c3ee6.out" | 22 +- ...input_output[concat_hello.tz-{}-{}-{}].out | 10 +- ...}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out | 22 +- ...hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out | 16 +- ...output[concat_hello_bytes.tz-{}-{}-{}].out | 10 +- ...; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" | 86 +- ...\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" | 68 +- ...t_output[concat_list.tz-\"\"-{}-\"\"].out" | 14 +- ...ns.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out | 10 +- ..._output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out | 10 +- ...act_input_output[cons.tz-{}-10-{ 10 }].out | 10 +- ...ir { \"A\" } { \"B\" })-(Some False)].out" | 100 +-- ...\"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" | 244 +++--- ...\"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" | 266 +++---- ...air { \"B\" } { \"B\" })-(Some True)].out" | 100 +-- ...ir { \"c\" } { \"B\" })-(Some False)].out" | 100 +-- ..._all.tz-None-(Pair {} {})-(Some True)].out | 38 +- ...wnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" | 18 +- ...Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" | 24 +- ...970-01-01T00:03:20Z\" \"19.90e9215d17.out" | 20 +- ...t[diff_timestamps.tz-111-(Pair 0 0)-0].out | 20 +- ...[diff_timestamps.tz-111-(Pair 0 1)--1].out | 20 +- ...t[diff_timestamps.tz-111-(Pair 1 0)-1].out | 20 +- ...r 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out | 748 +++++++++--------- ... 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out | 748 +++++++++--------- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out | 30 +- ...p.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out | 20 +- ...z-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out | 20 +- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out | 42 +- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out | 26 +- ..._input_output[dup-n.tz-Unit-Unit-Unit].out | 82 +- ... None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out | 70 +- ... None)-(Pair 10 -3)-(Pair (.3caea50555.out | 70 +- ... None)-(Pair 10 0)-(Pair No.f9448c04fb.out | 70 +- ... None)-(Pair 10 (Left 0))-(Left None)].out | 22 +- ...air 10 (Left 10))-(Left (So.f782cc1dec.out | 22 +- ...air 10 (Left 3))-(Left (Som.016b4db96c.out | 22 +- ...one)-(Pair 10 (Right 0))-(Right None)].out | 22 +- ...air 10 (Right 10))-(Right (.e705a30e07.out | 22 +- ...air 10 (Right 3))-(Right (S.44485eda6a.out | 22 +- ...air 5 (Right 10))-(Right (S.8ab987af15.out | 22 +- ...-{}-Unit-{ Elt \"hello\" \"world\" }].out" | 18 +- ...t[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" | 28 +- ...oncat.tz-\"?\"-\"test\"-\"test_abc\"].out" | 28 +- ...tput[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out | 18 +- ...act_input_output[first.tz-111-{ 4 }-4].out | 18 +- ...me 4) {})-\"hello\"-(Pair .161d86cef6.out" | 18 +- ...me 5) { Elt \"hello\" 4 }).684ab7e326.out" | 18 +- ...me 5) { Elt \"hello\" 4 }).d49817fb83.out" | 18 +- ...e { Elt \"1\" 1 ; .6900b1da14.out" | 18 +- ...e { Elt \"1\" 1 ; .bca0ede8be.out" | 18 +- ... { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" | 18 +- ...ir None {})-\"hello\"-(Pair None {})].out" | 18 +- ... \"1\" \"one\" ; .bc4127094e.out" | 24 +- ..."hello\" \"hi\" })-\"\"-(P.0c03056487.out" | 24 +- ...\"hello\" \"hi\" })-\"hell.cc45544c66.out" | 24 +- ...nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" | 12 +- ...2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" | 12 +- ...xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" | 12 +- ...-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" | 12 +- ..._output[if.tz-None-False-(Some False)].out | 16 +- ...ut_output[if.tz-None-True-(Some True)].out | 16 +- ....tz-\"?\"-(Some \"hello\")-\"hello\"].out" | 12 +- ...ut_output[if_some.tz-\"?\"-None-\"\"].out" | 14 +- ...t_input_output[int.tz-None-0-(Some 0)].out | 12 +- ...t_input_output[int.tz-None-1-(Some 1)].out | 12 +- ...t_output[int.tz-None-9999-(Some 9999)].out | 12 +- ...c20776f726c6421-(Some 0xb6e.34c02678c9.out | 12 +- ...Left \"X\")-(Left True)-(Right True)].out" | 14 +- ...ft \"X\")-(Right \"a\")-(Left \"a\")].out" | 14 +- ...ract_input_output[level.tz-111-Unit-1].out | 10 +- ...{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" | 14 +- ...ut[list_concat.tz-\"abc\"-{}-\"abc\"].out" | 14 +- ...tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out | 14 +- ..._output[list_concat_bytes.tz-0x-{}-0x].out | 14 +- ...b-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out | 14 +- ...list_concat_bytes.tz-0xabcd-{}-0xabcd].out | 14 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 8 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 8 +- ...input_output[list_id.tz-{\"\"}-{}-{}].out" | 8 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 16 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 16 +- ...t_output[list_id_map.tz-{\"\"}-{}-{}].out" | 10 +- ...tput[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out | 26 +- ...tput[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out | 26 +- ...}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out | 92 +-- ...}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out | 92 +-- ...ut_output[list_map_block.tz-{0}-{}-{}].out | 20 +- ...ze.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out | 10 +- ...tput[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out | 10 +- ...input_output[list_size.tz-111-{ 1 }-1].out | 10 +- ...ct_input_output[list_size.tz-111-{}-0].out | 10 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 120 +-- ...put_output[loop_left.tz-{\"\"}-{}-{}].out" | 36 +- ...0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out | 8 +- ...[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out | 8 +- ...[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out | 8 +- ... Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out | 94 +-- ...-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out | 94 +-- ...foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" | 42 +- ...lt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" | 30 +- ...ract_input_output[map_map.tz-{}-10-{}].out | 18 +- ... 1 } None)-1-(Pair { Elt 0 .7396e5f090.out | 24 +- ... 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out | 24 +- ... 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out | 24 +- ... 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out | 24 +- ... 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out | 24 +- ...air {} None)-1-(Pair {} (Some False))].out | 24 +- ...ar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" | 24 +- ...ar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" | 24 +- ...ar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" | 24 +- ...oo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" | 24 +- ...oo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" | 24 +- ...None)-\"bar\"-(Pair {} (Some False))].out" | 24 +- ... \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" | 10 +- ...\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" | 10 +- ...ut[map_size.tz-111-{ Elt \"a\" 1 }-1].out" | 10 +- ...act_input_output[map_size.tz-111-{}-0].out | 10 +- ...ct_input_output[mul.tz-Unit-Unit-Unit].out | 108 +-- ...0-257-0x0101000000000000000.be11332c7f.out | 24 +- ...2-16-0x10000000000000000000.8230fb4fac.out | 24 +- ...act_input_output[neg.tz-0-(Left -2)-2].out | 14 +- ...ract_input_output[neg.tz-0-(Left 0)-0].out | 14 +- ...act_input_output[neg.tz-0-(Left 2)--2].out | 14 +- ...act_input_output[neg.tz-0-(Right 0)-0].out | 14 +- ...ct_input_output[neg.tz-0-(Right 2)--2].out | 14 +- ...nput_output[none.tz-Some 10-Unit-None].out | 10 +- ..._output[not.tz-None-False-(Some True)].out | 12 +- ..._output[not.tz-None-True-(Some False)].out | 12 +- ...not_binary.tz-None-(Left -8)-(Some 7)].out | 16 +- ...not_binary.tz-None-(Left -9)-(Some 8)].out | 16 +- ...not_binary.tz-None-(Left 0)-(Some -1)].out | 16 +- ...not_binary.tz-None-(Left 7)-(Some -8)].out | 16 +- ...not_binary.tz-None-(Left 8)-(Some -9)].out | 16 +- ...ot_binary.tz-None-(Right 0)-(Some -1)].out | 16 +- ...ot_binary.tz-None-(Right 7)-(Some -8)].out | 16 +- ...ot_binary.tz-None-(Right 8)-(Some -9)].out | 16 +- ...-None-(Pair False False)-(Some False)].out | 20 +- ...tz-None-(Pair False True)-(Some True)].out | 20 +- ...tz-None-(Pair True False)-(Some True)].out | 20 +- ....tz-None-(Pair True True)-(Some True)].out | 20 +- ...or_binary.tz-None-(Pair 0 8)-(Some 8)].out | 14 +- ..._binary.tz-None-(Pair 14 1)-(Some 15)].out | 14 +- ..._binary.tz-None-(Pair 15 4)-(Some 15)].out | 14 +- ...r_binary.tz-None-(Pair 4 8)-(Some 12)].out | 14 +- ...or_binary.tz-None-(Pair 7 7)-(Some 7)].out | 14 +- ...or_binary.tz-None-(Pair 8 0)-(Some 8)].out | 14 +- ... (Pair 1 (Pair \"foobar\".368bdfd73a.out" | 282 +++---- ... (Pair 1 (Pair \"foobar\".735d9ae802.out" | 282 +++---- ...ir \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" | 342 ++++---- ...ir \"edpkuBknW28nW72KG6RoH.4e20b52378.out" | 342 ++++---- ...alse False)-(Some (Pair False False))].out | 10 +- ... False True)-(Some (Pair False True))].out | 10 +- ... True False)-(Some (Pair True False))].out | 10 +- ...ir True True)-(Some (Pair True True))].out | 10 +- ...ntract_input_output[pexec.tz-14-38-52].out | 28 +- ... 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out | 148 ++-- ...utput[ret_int.tz-None-Unit-(Some 300)].out | 12 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 26 +- ...input_output[reverse.tz-{\"\"}-{}-{}].out" | 14 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 76 +- ..._output[reverse_loop.tz-{\"\"}-{}-{}].out" | 28 +- ...tput[sapling_empty_state.tz-{}-Unit-0].out | 10 +- ...output[self_address.tz-Unit-Unit-Unit].out | 32 +- ..._default_entrypoint.tz-Unit-Unit-Unit].out | 34 +- ...entrypoint.tz-Unit-Left (Left 0)-Unit].out | 70 +- ...Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" | 28 +- ..."hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" | 28 +- ...lo\" 0)-\"world\"-(Pair \"world\" 0)].out" | 28 +- ...ir \"hello\" 0)-1-(Pair \"hello\" 1)].out" | 26 +- ... \"hello\" 500)-3-(Pair \"hello\" 3)].out" | 26 +- ..."hello\" 7)-100-(Pair \"hello\" 100)].out" | 26 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 8 +- ...; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" | 8 +- ...tract_input_output[set_id.tz-{}-{}-{}].out | 8 +- ..._iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out | 30 +- ..._input_output[set_iter.tz-111-{ 1 }-1].out | 18 +- ...act_input_output[set_iter.tz-111-{}-0].out | 14 +- ..."World\" } None)-\"\"-(Pai.3d2044726e.out" | 36 +- ...)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" | 36 +- ... None)-\"Hi\"-(Pair {} (Some False))].out" | 36 +- ...ze.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out | 10 +- ...utput[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out | 10 +- ..._input_output[set_size.tz-111-{ 1 }-1].out | 10 +- ...act_input_output[set_size.tz-111-{}-0].out | 10 +- ...0776f726c6421-(Some 0xf345a.a07ae9dddf.out | 12 +- ...ts.tz-None-(Left (Pair 0 0))-(Some 0)].out | 18 +- ...ts.tz-None-(Left (Pair 0 1))-(Some 0)].out | 18 +- ...ts.tz-None-(Left (Pair 1 2))-(Some 4)].out | 18 +- ....tz-None-(Left (Pair 15 2))-(Some 60)].out | 18 +- ...s.tz-None-(Left (Pair 8 1))-(Some 16)].out | 18 +- ...s.tz-None-(Right (Pair 0 0))-(Some 0)].out | 18 +- ...s.tz-None-(Right (Pair 0 1))-(Some 0)].out | 18 +- ...s.tz-None-(Right (Pair 1 2))-(Some 0)].out | 18 +- ....tz-None-(Right (Pair 15 2))-(Some 3)].out | 18 +- ...s.tz-None-(Right (Pair 8 1))-(Some 4)].out | 18 +- ...ut_output[slice.tz-None-Pair 0 0-None].out | 18 +- ...tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" | 20 +- ...slice.tz-Some \"Foo\"-Pair 0 10-None].out" | 20 +- ...-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" | 20 +- ...z-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" | 20 +- ...[slice.tz-Some \"Foo\"-Pair 1 3-None].out" | 20 +- ...slice.tz-Some \"Foo\"-Pair 10 5-None].out" | 20 +- ...FooFooFooFooFooFooFooFooFo.c508d67bb0.out" | 20 +- ...put[slice_bytes.tz-None-Pair 0 1-None].out | 18 +- ...s.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out | 20 +- ...tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out | 20 +- ...z-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out | 20 +- ...z-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out | 20 +- ...-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out | 20 +- ..._bytes.tz-Some 0xaabbcc-Pair 1 3-None].out | 20 +- ...aabbccaabbccaabbccaabbccaab.df5895de85.out | 20 +- ...d.tz-None-\"Hello\"-(Some \"Hello\")].out" | 10 +- ..._id.tz-None-\"abcd\"-(Some \"abcd\")].out" | 10 +- ...r 100 -100)-\"1970-01-01T00:03:20Z\"].out" | 20 +- ...ir 100 100)-\"1970-01-01T00:00:00Z\"].out" | 20 +- ...Pair 100 200000000000000000.3db82d2c25.out | 20 +- ...00000 1000000)-(Some (Pair .b461aa042b.out | 46 +- ...10000 1010000)-(Some (Pair .1e8cf7679c.out | 46 +- ...t_output[uncomb.tz-0-(Pair 1 4 2)-142].out | 24 +- ...input_output[unpair.tz-Unit-Unit-Unit].out | 318 ++++---- ...dpkuBknW28nW72KG6RoHtYW7p1.b42f8370be.out" | 20 +- ...Pair False False)-(Some (Left False))].out | 20 +- ... (Pair False True)-(Some (Left True))].out | 20 +- ... (Pair True False)-(Some (Left True))].out | 20 +- ... (Pair True True)-(Some (Left False))].out | 20 +- ...one-Right (Pair 0 0)-(Some (Right 0))].out | 20 +- ...one-Right (Pair 0 1)-(Some (Right 1))].out | 20 +- ...one-Right (Pair 1 0)-(Some (Right 1))].out | 20 +- ...one-Right (Pair 1 1)-(Some (Right 0))].out | 20 +- ...-Right (Pair 42 21)-(Some (Right 63))].out | 20 +- ...-Right (Pair 42 63)-(Some (Right 21))].out | 20 +- ...pcodes.TestContractOpcodes::test_level.out | 10 +- ..._opcodes.TestContractOpcodes::test_now.out | 10 +- ...s.TestContractOpcodes::test_packunpack.out | 58 +- ...roveTransferRemove::test_add_liquidity.out | 16 +- ...ddApproveTransferRemove::test_approval.out | 4 +- ...TransferRemove::test_approved_transfer.out | 4 +- ...roveTransferRemove::test_call_approve1.out | 4 +- ...roveTransferRemove::test_call_approve2.out | 4 +- ...roveTransferRemove::test_call_approve3.out | 4 +- ...TransferRemove::test_call_mint_or_burn.out | 12 +- ...eTransferRemove::test_remove_liquidity.out | 10 +- ..._baking.TestTrades::test_add_liquidity.out | 16 +- ...uidity_baking.TestTrades::test_buy_tok.out | 6 +- ..._baking.TestTrades::test_call_approve1.out | 4 +- ..._baking.TestTrades::test_call_approve2.out | 4 +- ..._baking.TestTrades::test_call_approve3.out | 4 +- ...ing.TestTrades::test_call_mint_or_burn.out | 12 +- ...idity_baking.TestTrades::test_sell_tok.out | 6 +- ...idity_baking.TestTrades::test_transfer.out | 4 +- 403 files changed, 6218 insertions(+), 6218 deletions(-) diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_first_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_first_transfer.out index 4283f5efad9f..a023d0937d5c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_first_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_first_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestCreateRemoveTickets::test_add_clear_tickets_add_first_transfer Node is bootstrapped. -Estimated gas: 2576.017 units (will add 100 for safety) +Estimated gas: 2576.083 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 '[BLOCK_HASH]' @@ -30,7 +30,7 @@ This sequence of operations was run: { Pair 0x0134d794a355dbb7027075d278a68494e91c6709ed00 (Pair "A" 1) } Storage size: 154 bytes Paid storage size diff: 105 bytes - Consumed gas: 2576.017 + Consumed gas: 2576.083 Balance updates: [CONTRACT_HASH] ... -ꜩ0.02625 storage fees ........................... +ꜩ0.02625 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_second_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_second_transfer.out index 149eac7ee6b4..3db267bbce9f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_second_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_second_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestCreateRemoveTickets::test_add_clear_tickets_add_second_transfer Node is bootstrapped. -Estimated gas: 1657.442 units (will add 100 for safety) +Estimated gas: 1657.385 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -29,6 +29,6 @@ This sequence of operations was run: Updated storage: { Pair 0x0134d794a355dbb7027075d278a68494e91c6709ed00 (Pair "B" 1) } Storage size: 154 bytes - Consumed gas: 1657.442 + Consumed gas: 1657.385 Injected block at minimal timestamp diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_third_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_third_transfer.out index d924a3fc4e93..fe361e5bc218 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_third_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_add_third_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestCreateRemoveTickets::test_add_clear_tickets_add_third_transfer Node is bootstrapped. -Estimated gas: 2333.061 units (will add 100 for safety) +Estimated gas: 2333.004 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 '[BLOCK_HASH]' @@ -31,7 +31,7 @@ This sequence of operations was run: Pair 0x0134d794a355dbb7027075d278a68494e91c6709ed00 (Pair "B" 1) } Storage size: 193 bytes Paid storage size diff: 105 bytes - Consumed gas: 2333.061 + Consumed gas: 2333.004 Balance updates: [CONTRACT_HASH] ... -ꜩ0.02625 storage fees ........................... +ꜩ0.02625 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_clear_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_clear_transfer.out index a0acc70c165d..52a9de5272e2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_clear_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_clear_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestCreateRemoveTickets::test_add_clear_tickets_clear_transfer Node is bootstrapped. -Estimated gas: 1845.821 units (will add 100 for safety) +Estimated gas: 1845.764 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -27,6 +27,6 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: {} Storage size: 115 bytes - Consumed gas: 1845.821 + Consumed gas: 1845.764 Injected block at minimal timestamp diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_origination.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_origination.out index 62185cd8f13c..4e01d3c6a657 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_origination.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestCreateRemoveTickets::test_add_clear_tickets_origination.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestCreateRemoveTickets::test_add_clear_tickets_origination Node is bootstrapped. -Estimated gas: 1427.302 units (will add 100 for safety) +Estimated gas: 1427.482 units (will add 100 for safety) Estimated storage: 372 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -36,7 +36,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 115 bytes Paid storage size diff: 115 bytes - Consumed gas: 1427.302 + Consumed gas: 1427.482 Balance updates: [CONTRACT_HASH] ... -ꜩ0.02875 storage fees ........................... +ꜩ0.02875 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_origination.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_origination.out index aca108d8d6ea..8a959c883f44 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_origination.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_origination.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestOriginateContractFromContract::test_originate_contract_from_contract_origination Node is bootstrapped. -Estimated gas: 1425.542 units (will add 100 for safety) +Estimated gas: 1425.137 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 '[BLOCK_HASH]' @@ -41,7 +41,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 93 bytes Paid storage size diff: 93 bytes - Consumed gas: 1425.542 + Consumed gas: 1425.137 Balance updates: [CONTRACT_HASH] ... -ꜩ0.02325 storage fees ........................... +ꜩ0.02325 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_transfer.out index 86f530c6701b..5c71bf08213b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestOriginateContractFromContract::test_originate_contract_from_contract_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestOriginateContractFromContract::test_originate_contract_from_contract_transfer Node is bootstrapped. -Estimated gas: 3525.107 units (will add 100 for safety) +Estimated gas: 3524.588 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000612 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3626 + Gas limit: 3625 Storage limit: 315 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000612 @@ -26,7 +26,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 93 bytes - Consumed gas: 2121.040 + Consumed gas: 2120.521 Internal operations: Internal Origination: From: [CONTRACT_HASH] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out index 5787b4f210f6..53664148b16b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestSelfAddressTransfer::test_self_address_originate_receiver Node is bootstrapped. -Estimated gas: 1420.251 units (will add 100 for safety) +Estimated gas: 1420.026 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 '[BLOCK_HASH]' @@ -39,7 +39,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 83 bytes Paid storage size diff: 83 bytes - Consumed gas: 1420.251 + Consumed gas: 1420.026 Balance updates: [CONTRACT_HASH] ... -ꜩ0.02075 storage fees ........................... +ꜩ0.02075 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out index faa5414123bc..1261e92b40f6 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestSelfAddressTransfer::test_self_address_originate_sender Node is bootstrapped. -Estimated gas: 1419.932 units (will add 100 for safety) +Estimated gas: 1419.392 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 '[BLOCK_HASH]' @@ -39,7 +39,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 82 bytes Paid storage size diff: 82 bytes - Consumed gas: 1419.932 + Consumed gas: 1419.392 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0205 storage fees ........................... +ꜩ0.0205 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out index c89dfcbd3781..6a57774046eb 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out @@ -1,7 +1,7 @@ tests_alpha/test_contract.py::TestSelfAddressTransfer::test_send_self_address Node is bootstrapped. -Estimated gas: 4693.447 units (will add 100 for safety) +Estimated gas: 4692.454 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000774 Expected counter: [EXPECTED_COUNTER] - Gas limit: 4794 + Gas limit: 4793 Storage limit: 0 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000774 @@ -27,7 +27,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 82 bytes - Consumed gas: 2575.930 + Consumed gas: 2575.276 Internal operations: Internal Transaction: Amount: ꜩ0 @@ -37,6 +37,6 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 83 bytes - Consumed gas: 2117.517 + Consumed gas: 2117.178 Injected block at minimal timestamp diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out index 04663d53beb5..48012737a2ba 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractBigMapOrigination::test_big_map_origination_literal Node is bootstrapped. -Estimated gas: 1641.797 units (will add 100 for safety) +Estimated gas: 1641.662 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 '[BLOCK_HASH]' @@ -36,7 +36,7 @@ This sequence of operations was run: New map(4) of type (big_map int int) Set map(4)[0] to 0 Paid storage size diff: 146 bytes - Consumed gas: 1641.797 + Consumed gas: 1641.662 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0365 storage fees ........................... +ꜩ0.0365 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out index e8df94461881..3634539f8230 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainLevel::test_level Node is bootstrapped. -Estimated gas: 1409.024 units (will add 100 for safety) +Estimated gas: 1408.844 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000424 Expected counter: [EXPECTED_COUNTER] - Gas limit: 1510 + Gas limit: 1509 Storage limit: 320 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000424 @@ -33,7 +33,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 43 bytes Paid storage size diff: 43 bytes - Consumed gas: 1409.024 + Consumed gas: 1408.844 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01075 storage fees ........................... +ꜩ0.01075 @@ -47,7 +47,7 @@ Contract memorized as level. Injected block at minimal timestamp Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 2109.490 units (will add 100 for safety) +Estimated gas: 2109.196 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -72,7 +72,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 4 Storage size: 40 bytes - Consumed gas: 2109.490 + Consumed gas: 2109.196 Balance updates: [CONTRACT_HASH] ... -ꜩ500 [CONTRACT_HASH] ... +ꜩ500 @@ -89,7 +89,7 @@ Injected block at minimal timestamp Injected block at minimal timestamp 4 Node is bootstrapped. -Estimated gas: 1202.917 units (will add 100 for safety) +Estimated gas: 1202.860 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -114,7 +114,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 7 Storage size: 40 bytes - Consumed gas: 1202.917 + Consumed gas: 1202.860 Balance updates: [CONTRACT_HASH] ... -ꜩ500 [CONTRACT_HASH] ... +ꜩ500 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out index 5ea4438f0f17..0f42888e55f6 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_init_proxy Node is bootstrapped. -Estimated gas: 1413.982 units (will add 100 for safety) +Estimated gas: 1413.622 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 '[BLOCK_HASH]' @@ -39,7 +39,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 55 bytes Paid storage size diff: 55 bytes - Consumed gas: 1413.982 + Consumed gas: 1413.622 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01375 storage fees ........................... +ꜩ0.01375 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out index eedc1ccd8bc1..0dab79249012 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_set_delegate Node is bootstrapped. -Estimated gas: 1411.989 units (will add 100 for safety) +Estimated gas: 1411.674 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 51 bytes Paid storage size diff: 51 bytes - Consumed gas: 1411.989 + Consumed gas: 1411.674 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01275 storage fees ........................... +ꜩ0.01275 @@ -48,7 +48,7 @@ Injected block at minimal timestamp Injected block at minimal timestamp none Node is bootstrapped. -Estimated gas: 3115.714 units (will add 100 for safety) +Estimated gas: 3115.285 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -74,7 +74,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 51 bytes - Consumed gas: 2115.714 + Consumed gas: 2115.285 Internal operations: Internal Delegation: Contract: [CONTRACT_HASH] @@ -85,7 +85,7 @@ This sequence of operations was run: Injected block at minimal timestamp [CONTRACT_HASH] (known as bootstrap5) Node is bootstrapped. -Estimated gas: 2202.968 units (will add 100 for safety) +Estimated gas: 2202.911 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -111,7 +111,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 51 bytes - Consumed gas: 1202.968 + Consumed gas: 1202.911 Internal operations: Internal Delegation: Contract: [CONTRACT_HASH] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out index ea8aed576dad..b8dfb40735b7 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice Node is bootstrapped. -Estimated gas: 1877.539 units (will add 100 for safety) +Estimated gas: 1873.219 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001028 Expected counter: [EXPECTED_COUNTER] - Gas limit: 1978 + Gas limit: 1974 Storage limit: 855 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.001028 @@ -73,7 +73,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 578 bytes Paid storage size diff: 578 bytes - Consumed gas: 1877.539 + Consumed gas: 1873.219 Balance updates: [CONTRACT_HASH] ... -ꜩ0.1445 storage fees ........................... +ꜩ0.1445 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out index 893d67d0ee57..7b5739595fe8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")] Node is bootstrapped. -Estimated gas: 3599.458 units (will add 100 for safety) +Estimated gas: 3595.024 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000877 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3700 + Gas limit: 3696 Storage limit: 277 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000877 @@ -29,7 +29,7 @@ This sequence of operations was run: Updated storage: [OPERATION_HASH]48f709699019725ba Storage size: 578 bytes - Consumed gas: 2599.458 + Consumed gas: 2595.024 Internal operations: Internal Transaction: Amount: ꜩ1000 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out index 207c815022df..06d2f3537a5c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_source Node is bootstrapped. -Estimated gas: 1413.347 units (will add 100 for safety) +Estimated gas: 1413.167 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 65 bytes Paid storage size diff: 65 bytes - Consumed gas: 1413.347 + Consumed gas: 1413.167 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01625 storage fees ........................... +ꜩ0.01625 @@ -46,7 +46,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as source. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 2110.829 units (will add 100 for safety) +Estimated gas: 2110.535 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -71,14 +71,14 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c Storage size: 65 bytes - Consumed gas: 2110.829 + Consumed gas: 2110.535 Injected block at minimal timestamp "[CONTRACT_HASH]" [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 3772.529 units (will add 100 for safety) +Estimated gas: 3771.998 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -91,7 +91,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000682 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3873 + Gas limit: 3872 Storage limit: 0 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000682 @@ -104,7 +104,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 55 bytes - Consumed gas: 2569.327 + Consumed gas: 2568.853 Internal operations: Internal Transaction: Amount: ꜩ0 @@ -113,7 +113,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c Storage size: 65 bytes - Consumed gas: 1203.202 + Consumed gas: 1203.145 Injected block at minimal timestamp "[CONTRACT_HASH]" diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out index b594470f2b36..3ffeb290898b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_split_bytes Node is bootstrapped. -Estimated gas: 1467.182 units (will add 100 for safety) +Estimated gas: 1465.112 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000642 Expected counter: [EXPECTED_COUNTER] - Gas limit: 1568 + Gas limit: 1566 Storage limit: 531 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000642 @@ -55,7 +55,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 254 bytes Paid storage size diff: 254 bytes - Consumed gas: 1467.182 + Consumed gas: 1465.112 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0635 storage fees ........................... +ꜩ0.0635 @@ -68,7 +68,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_bytes. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 2153.261 units (will add 100 for safety) +Estimated gas: 2151.077 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 '[BLOCK_HASH]' @@ -81,7 +81,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000487 Expected counter: [EXPECTED_COUNTER] - Gas limit: 2254 + Gas limit: 2252 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000487 @@ -95,7 +95,7 @@ This sequence of operations was run: Updated storage: { 0xaa ; 0xbb ; 0xcc } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 2153.261 + Consumed gas: 2151.077 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 storage fees ........................... +ꜩ0.0045 @@ -103,7 +103,7 @@ This sequence of operations was run: Injected block at minimal timestamp { 0xaa ; 0xbb ; 0xcc } Node is bootstrapped. -Estimated gas: 1206.580 units (will add 100 for safety) +Estimated gas: 1206.523 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 '[BLOCK_HASH]' @@ -130,7 +130,7 @@ This sequence of operations was run: Updated storage: { 0xaa ; 0xbb ; 0xcc ; 0xdd ; 0xee ; 0xff } Storage size: 290 bytes Paid storage size diff: 18 bytes - Consumed gas: 1206.580 + Consumed gas: 1206.523 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 storage fees ........................... +ꜩ0.0045 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out index f64e979011a3..3fda5d2a1f92 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_split_string Node is bootstrapped. -Estimated gas: 1467.182 units (will add 100 for safety) +Estimated gas: 1465.112 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000642 Expected counter: [EXPECTED_COUNTER] - Gas limit: 1568 + Gas limit: 1566 Storage limit: 531 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000642 @@ -55,7 +55,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 254 bytes Paid storage size diff: 254 bytes - Consumed gas: 1467.182 + Consumed gas: 1465.112 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0635 storage fees ........................... +ꜩ0.0635 @@ -68,7 +68,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_string. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 2153.325 units (will add 100 for safety) +Estimated gas: 2151.141 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 '[BLOCK_HASH]' @@ -81,7 +81,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000487 Expected counter: [EXPECTED_COUNTER] - Gas limit: 2254 + Gas limit: 2252 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000487 @@ -95,7 +95,7 @@ This sequence of operations was run: Updated storage: { "a" ; "b" ; "c" } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 2153.325 + Consumed gas: 2151.141 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 storage fees ........................... +ꜩ0.0045 @@ -103,7 +103,7 @@ This sequence of operations was run: Injected block at minimal timestamp { "a" ; "b" ; "c" } Node is bootstrapped. -Estimated gas: 1206.644 units (will add 100 for safety) +Estimated gas: 1206.587 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 '[BLOCK_HASH]' @@ -130,7 +130,7 @@ This sequence of operations was run: Updated storage: { "a" ; "b" ; "c" ; "d" ; "e" ; "f" } Storage size: 290 bytes Paid storage size diff: 18 bytes - Consumed gas: 1206.644 + Consumed gas: 1206.587 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 storage fees ........................... +ꜩ0.0045 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out index a9e861c6a289..3d9cc45423a5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out @@ -67,7 +67,7 @@ Injected block at minimal timestamp 1000 ꜩ 2000 ꜩ Node is bootstrapped. -Estimated gas: 1408.026 units (will add 100 for safety) +Estimated gas: 1407.891 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 '[BLOCK_HASH]' @@ -80,7 +80,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000422 Expected counter: [EXPECTED_COUNTER] - Gas limit: 1509 + Gas limit: 1508 Storage limit: 318 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000422 @@ -99,7 +99,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 41 bytes Paid storage size diff: 41 bytes - Consumed gas: 1408.026 + Consumed gas: 1407.891 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01025 storage fees ........................... +ꜩ0.01025 @@ -112,7 +112,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as store_input. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 2109.180 units (will add 100 for safety) +Estimated gas: 2108.931 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 '[BLOCK_HASH]' @@ -125,7 +125,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000489 Expected counter: [EXPECTED_COUNTER] - Gas limit: 2210 + Gas limit: 2209 Storage limit: 27 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000489 @@ -139,7 +139,7 @@ This sequence of operations was run: Updated storage: "abcdefg" Storage size: 48 bytes Paid storage size diff: 7 bytes - Consumed gas: 2109.180 + Consumed gas: 2108.931 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00175 storage fees ........................... +ꜩ0.00175 @@ -150,7 +150,7 @@ Injected block at minimal timestamp 200 ꜩ "abcdefg" Node is bootstrapped. -Estimated gas: 1203.100 units (will add 100 for safety) +Estimated gas: 1203.043 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -176,7 +176,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: "xyz" Storage size: 44 bytes - Consumed gas: 1203.100 + Consumed gas: 1203.043 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out index 009772f27359..22c39ac9c393 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz] Node is bootstrapped. -Estimated gas: 2435.560 units (will add 100 for safety) +Estimated gas: 2433.580 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000613 Expected counter: [EXPECTED_COUNTER] - Gas limit: 2536 + Gas limit: 2534 Storage limit: 405 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000613 @@ -78,7 +78,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 128 bytes Paid storage size diff: 128 bytes - Consumed gas: 2435.560 + Consumed gas: 2433.580 Balance updates: [CONTRACT_HASH] ... -ꜩ0.032 storage fees ........................... +ꜩ0.032 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out index c767a794e2fe..92e472618d6b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz] Node is bootstrapped. -Estimated gas: 2595.229 units (will add 100 for safety) +Estimated gas: 2593.069 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000637 Expected counter: [EXPECTED_COUNTER] - Gas limit: 2696 + Gas limit: 2694 Storage limit: 413 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000637 @@ -82,7 +82,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 136 bytes Paid storage size diff: 136 bytes - Consumed gas: 2595.229 + Consumed gas: 2593.069 Balance updates: [CONTRACT_HASH] ... -ꜩ0.034 storage fees ........................... +ꜩ0.034 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out index 385b35913d48..42989b6be5a2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_transfer_amount Node is bootstrapped. -Estimated gas: 1408.877 units (will add 100 for safety) +Estimated gas: 1408.697 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 40 bytes Paid storage size diff: 40 bytes - Consumed gas: 1408.877 + Consumed gas: 1408.697 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01 storage fees ........................... +ꜩ0.01 @@ -46,7 +46,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as transfer_amount. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 2109.455 units (will add 100 for safety) +Estimated gas: 2109.161 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 '[BLOCK_HASH]' @@ -72,7 +72,7 @@ This sequence of operations was run: Updated storage: 500000000 Storage size: 44 bytes Paid storage size diff: 4 bytes - Consumed gas: 2109.455 + Consumed gas: 2109.161 Balance updates: [CONTRACT_HASH] ... -ꜩ0.001 storage fees ........................... +ꜩ0.001 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out index be8806bb9645..c063309a355e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out @@ -1,7 +1,7 @@ tests_alpha/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_transfer_tokens Node is bootstrapped. -Estimated gas: 1407.940 units (will add 100 for safety) +Estimated gas: 1407.805 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 '[BLOCK_HASH]' @@ -31,7 +31,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 38 bytes Paid storage size diff: 38 bytes - Consumed gas: 1407.940 + Consumed gas: 1407.805 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0095 storage fees ........................... +ꜩ0.0095 @@ -44,7 +44,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as test_transfer_account1. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 1407.940 units (will add 100 for safety) +Estimated gas: 1407.805 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 '[BLOCK_HASH]' @@ -74,7 +74,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 38 bytes Paid storage size diff: 38 bytes - Consumed gas: 1407.940 + Consumed gas: 1407.805 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0095 storage fees ........................... +ꜩ0.0095 @@ -87,7 +87,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as test_transfer_account2. Injected block at minimal timestamp Node is bootstrapped. -Estimated gas: 1417.097 units (will add 100 for safety) +Estimated gas: 1416.737 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 '[BLOCK_HASH]' @@ -100,7 +100,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000449 Expected counter: [EXPECTED_COUNTER] - Gas limit: 1518 + Gas limit: 1517 Storage limit: 343 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.000449 @@ -127,7 +127,7 @@ This sequence of operations was run: [CONTRACT_HASH] Storage size: 66 bytes Paid storage size diff: 66 bytes - Consumed gas: 1417.097 + Consumed gas: 1416.737 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0165 storage fees ........................... +ꜩ0.0165 @@ -143,7 +143,7 @@ Injected block at minimal timestamp [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 4679.892 units (will add 100 for safety) +Estimated gas: 4679.169 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -169,7 +169,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 66 bytes - Consumed gas: 2571.326 + Consumed gas: 2570.852 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -181,7 +181,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 38 bytes - Consumed gas: 2108.566 + Consumed gas: 2108.317 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -191,7 +191,7 @@ Injected block at minimal timestamp [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 3767.825 units (will add 100 for safety) +Estimated gas: 3767.519 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -217,7 +217,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 66 bytes - Consumed gas: 1659.259 + Consumed gas: 1659.202 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -229,7 +229,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 38 bytes - Consumed gas: 2108.566 + Consumed gas: 2108.317 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" index ac75a966e31c..8bd4af6ecb95 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" @@ -8,28 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["hello"] to 4 trace - - location: 13 (remaining gas: 1039991.061 units remaining) + - location: 13 (remaining gas: 1039991.421 units remaining) [ (Pair "hello" (Some 4) {}) ] - - location: 13 (remaining gas: 1039991.051 units remaining) + - location: 13 (remaining gas: 1039991.411 units remaining) [ "hello" (Pair (Some 4) {}) ] - - location: 14 (remaining gas: 1039991.041 units remaining) + - location: 14 (remaining gas: 1039991.411 units remaining) [ (Pair (Some 4) {}) ] - - location: 16 (remaining gas: 1039991.031 units remaining) + - location: 16 (remaining gas: 1039991.401 units remaining) [ (Some 4) {} ] - - location: 14 (remaining gas: 1039991.011 units remaining) + - location: 14 (remaining gas: 1039991.381 units remaining) [ "hello" (Some 4) {} ] - - location: 17 (remaining gas: 1039989.999 units remaining) + - location: 17 (remaining gas: 1039990.369 units remaining) [ None { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039989.989 units remaining) + - location: 18 (remaining gas: 1039990.359 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039989.979 units remaining) + - location: 19 (remaining gas: 1039990.349 units remaining) [ {} (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039989.969 units remaining) + - location: 21 (remaining gas: 1039990.339 units remaining) [ (Pair {} None { Elt "hello" 4 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0427752f13.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0427752f13.out" index 315ee35f2c6b..9e151f0ff407 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0427752f13.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0427752f13.out" @@ -8,28 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["hello"] to 5 trace - - location: 13 (remaining gas: 1039989.806 units remaining) + - location: 13 (remaining gas: 1039990.166 units remaining) [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039989.796 units remaining) + - location: 13 (remaining gas: 1039990.156 units remaining) [ "hello" (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 14 (remaining gas: 1039989.786 units remaining) + - location: 14 (remaining gas: 1039990.156 units remaining) [ (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 16 (remaining gas: 1039989.776 units remaining) + - location: 16 (remaining gas: 1039990.146 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039989.756 units remaining) + - location: 14 (remaining gas: 1039990.126 units remaining) [ "hello" (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.739 units remaining) + - location: 17 (remaining gas: 1039989.109 units remaining) [ (Some 4) { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039988.729 units remaining) + - location: 18 (remaining gas: 1039989.099 units remaining) [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039988.719 units remaining) + - location: 19 (remaining gas: 1039989.089 units remaining) [ {} (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039988.709 units remaining) + - location: 21 (remaining gas: 1039989.079 units remaining) [ (Pair {} (Some 4) { Elt "hello" 5 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0793dc66d5.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0793dc66d5.out" index deb659fe63db..9e6cdde8987b 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0793dc66d5.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.0793dc66d5.out" @@ -9,28 +9,28 @@ big_map diff Set map(4)["hello"] to 4 Set map(4)["hi"] to 5 trace - - location: 13 (remaining gas: 1039989.836 units remaining) + - location: 13 (remaining gas: 1039990.196 units remaining) [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039989.826 units remaining) + - location: 13 (remaining gas: 1039990.186 units remaining) [ "hi" (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 14 (remaining gas: 1039989.816 units remaining) + - location: 14 (remaining gas: 1039990.186 units remaining) [ (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 16 (remaining gas: 1039989.806 units remaining) + - location: 16 (remaining gas: 1039990.176 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039989.786 units remaining) + - location: 14 (remaining gas: 1039990.156 units remaining) [ "hi" (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.871 units remaining) + - location: 17 (remaining gas: 1039989.241 units remaining) [ None { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039988.861 units remaining) + - location: 18 (remaining gas: 1039989.231 units remaining) [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039988.851 units remaining) + - location: 19 (remaining gas: 1039989.221 units remaining) [ {} (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039988.841 units remaining) + - location: 21 (remaining gas: 1039989.211 units remaining) [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .df114499b8.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .df114499b8.out" index ee85ace23d21..a80821ac7769 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .df114499b8.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .df114499b8.out" @@ -9,28 +9,28 @@ big_map diff Set map(4)["2"] to 2 Unset map(4)["1"] trace - - location: 13 (remaining gas: 1039989.007 units remaining) + - location: 13 (remaining gas: 1039989.367 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039988.997 units remaining) + - location: 13 (remaining gas: 1039989.357 units remaining) [ "1" (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 14 (remaining gas: 1039988.987 units remaining) + - location: 14 (remaining gas: 1039989.357 units remaining) [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 16 (remaining gas: 1039988.977 units remaining) + - location: 16 (remaining gas: 1039989.347 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039988.957 units remaining) + - location: 14 (remaining gas: 1039989.327 units remaining) [ "1" None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039988.073 units remaining) + - location: 17 (remaining gas: 1039988.443 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039988.063 units remaining) + - location: 18 (remaining gas: 1039988.433 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039988.053 units remaining) + - location: 19 (remaining gas: 1039988.423 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039988.043 units remaining) + - location: 21 (remaining gas: 1039988.413 units remaining) [ (Pair {} (Some 1) { Elt "2" 2 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .f9bea98de9.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .f9bea98de9.out" index e7900ae5fe67..40121654af05 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .f9bea98de9.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .f9bea98de9.out" @@ -9,28 +9,28 @@ big_map diff Set map(4)["2"] to 2 Unset map(4)["1"] trace - - location: 13 (remaining gas: 1039989.007 units remaining) + - location: 13 (remaining gas: 1039989.367 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039988.997 units remaining) + - location: 13 (remaining gas: 1039989.357 units remaining) [ "1" (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 14 (remaining gas: 1039988.987 units remaining) + - location: 14 (remaining gas: 1039989.357 units remaining) [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 16 (remaining gas: 1039988.977 units remaining) + - location: 16 (remaining gas: 1039989.347 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039988.957 units remaining) + - location: 14 (remaining gas: 1039989.327 units remaining) [ "1" None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039988.073 units remaining) + - location: 17 (remaining gas: 1039988.443 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039988.063 units remaining) + - location: 18 (remaining gas: 1039988.433 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039988.053 units remaining) + - location: 19 (remaining gas: 1039988.423 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039988.043 units remaining) + - location: 21 (remaining gas: 1039988.413 units remaining) [ (Pair {} (Some 1) { Elt "2" 2 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.1db12cd837.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.1db12cd837.out" index d08a580ce17e..3484310cbcaf 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.1db12cd837.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.1db12cd837.out" @@ -8,28 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Unset map(4)["hello"] trace - - location: 13 (remaining gas: 1039989.906 units remaining) + - location: 13 (remaining gas: 1039990.266 units remaining) [ (Pair "hello" None { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039989.896 units remaining) + - location: 13 (remaining gas: 1039990.256 units remaining) [ "hello" (Pair None { Elt "hello" 4 }) ] - - location: 14 (remaining gas: 1039989.886 units remaining) + - location: 14 (remaining gas: 1039990.256 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 16 (remaining gas: 1039989.876 units remaining) + - location: 16 (remaining gas: 1039990.246 units remaining) [ None { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039989.856 units remaining) + - location: 14 (remaining gas: 1039990.226 units remaining) [ "hello" None { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.839 units remaining) + - location: 17 (remaining gas: 1039989.209 units remaining) [ (Some 4) {} ] - - location: 18 (remaining gas: 1039988.829 units remaining) + - location: 18 (remaining gas: 1039989.199 units remaining) [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039988.819 units remaining) + - location: 19 (remaining gas: 1039989.189 units remaining) [ {} (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039988.809 units remaining) + - location: 21 (remaining gas: 1039989.179 units remaining) [ (Pair {} (Some 4) {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.6fc7d0acf2.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.6fc7d0acf2.out" index 7fe676facfad..38811eb0f8c0 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.6fc7d0acf2.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.6fc7d0acf2.out" @@ -8,28 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Unset map(4)["hello"] trace - - location: 13 (remaining gas: 1039991.161 units remaining) + - location: 13 (remaining gas: 1039991.521 units remaining) [ (Pair "hello" None {}) ] - - location: 13 (remaining gas: 1039991.151 units remaining) + - location: 13 (remaining gas: 1039991.511 units remaining) [ "hello" (Pair None {}) ] - - location: 14 (remaining gas: 1039991.141 units remaining) + - location: 14 (remaining gas: 1039991.511 units remaining) [ (Pair None {}) ] - - location: 16 (remaining gas: 1039991.131 units remaining) + - location: 16 (remaining gas: 1039991.501 units remaining) [ None {} ] - - location: 14 (remaining gas: 1039991.111 units remaining) + - location: 14 (remaining gas: 1039991.481 units remaining) [ "hello" None {} ] - - location: 17 (remaining gas: 1039990.099 units remaining) + - location: 17 (remaining gas: 1039990.469 units remaining) [ None {} ] - - location: 18 (remaining gas: 1039990.089 units remaining) + - location: 18 (remaining gas: 1039990.459 units remaining) [ (Pair None {}) ] - - location: 19 (remaining gas: 1039990.079 units remaining) + - location: 19 (remaining gas: 1039990.449 units remaining) [ {} (Pair None {}) ] - - location: 21 (remaining gas: 1039990.069 units remaining) + - location: 21 (remaining gas: 1039990.439 units remaining) [ (Pair {} None {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.524c5459f8.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.524c5459f8.out" index a6acff3544b0..d8461d423a17 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.524c5459f8.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.524c5459f8.out" @@ -9,38 +9,38 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "one" trace - - location: 12 (remaining gas: 1039985.668 units remaining) + - location: 12 (remaining gas: 1039986.208 units remaining) [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 12 (remaining gas: 1039985.658 units remaining) + - location: 12 (remaining gas: 1039986.198 units remaining) [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 13 (remaining gas: 1039985.648 units remaining) + - location: 13 (remaining gas: 1039986.188 units remaining) [ "1" (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 14 (remaining gas: 1039985.638 units remaining) + - location: 14 (remaining gas: 1039986.188 units remaining) [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 17 (remaining gas: 1039985.628 units remaining) + - location: 17 (remaining gas: 1039986.178 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 18 (remaining gas: 1039985.618 units remaining) + - location: 18 (remaining gas: 1039986.168 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: 19 (remaining gas: 1039985.608 units remaining) + - location: 19 (remaining gas: 1039986.158 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039985.588 units remaining) + - location: 14 (remaining gas: 1039986.138 units remaining) [ "1" { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039984.743 units remaining) + - location: 20 (remaining gas: 1039985.293 units remaining) [ (Some "one") { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039984.733 units remaining) + - location: 21 (remaining gas: 1039985.283 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } (Some "one") ] - - location: 22 (remaining gas: 1039984.723 units remaining) + - location: 22 (remaining gas: 1039985.273 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 23 (remaining gas: 1039984.713 units remaining) + - location: 23 (remaining gas: 1039985.263 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 25 (remaining gas: 1039984.703 units remaining) + - location: 25 (remaining gas: 1039985.253 units remaining) [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".33eba403e7.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".33eba403e7.out" index cffca6fd5fdd..253d717a8d25 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".33eba403e7.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".33eba403e7.out" @@ -8,38 +8,38 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["hello"] to "hi" trace - - location: 12 (remaining gas: 1039986.671 units remaining) + - location: 12 (remaining gas: 1039987.211 units remaining) [ (Pair "" { Elt "hello" "hi" } None) ] - - location: 12 (remaining gas: 1039986.661 units remaining) + - location: 12 (remaining gas: 1039987.201 units remaining) [ (Pair "" { Elt "hello" "hi" } None) (Pair "" { Elt "hello" "hi" } None) ] - - location: 13 (remaining gas: 1039986.651 units remaining) + - location: 13 (remaining gas: 1039987.191 units remaining) [ "" (Pair "" { Elt "hello" "hi" } None) ] - - location: 14 (remaining gas: 1039986.641 units remaining) + - location: 14 (remaining gas: 1039987.191 units remaining) [ (Pair "" { Elt "hello" "hi" } None) ] - - location: 17 (remaining gas: 1039986.631 units remaining) + - location: 17 (remaining gas: 1039987.181 units remaining) [ (Pair { Elt "hello" "hi" } None) ] - - location: 18 (remaining gas: 1039986.621 units remaining) + - location: 18 (remaining gas: 1039987.171 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039986.611 units remaining) + - location: 19 (remaining gas: 1039987.161 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039986.591 units remaining) + - location: 14 (remaining gas: 1039987.141 units remaining) [ "" { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039985.781 units remaining) + - location: 20 (remaining gas: 1039986.331 units remaining) [ None { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039985.771 units remaining) + - location: 21 (remaining gas: 1039986.321 units remaining) [ { Elt "hello" "hi" } None ] - - location: 22 (remaining gas: 1039985.761 units remaining) + - location: 22 (remaining gas: 1039986.311 units remaining) [ (Pair { Elt "hello" "hi" } None) ] - - location: 23 (remaining gas: 1039985.751 units remaining) + - location: 23 (remaining gas: 1039986.301 units remaining) [ {} (Pair { Elt "hello" "hi" } None) ] - - location: 25 (remaining gas: 1039985.741 units remaining) + - location: 25 (remaining gas: 1039986.291 units remaining) [ (Pair {} { Elt "hello" "hi" } None) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.a5cd1005c9.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.a5cd1005c9.out" index 3f59079f9b9f..370ccfff9089 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.a5cd1005c9.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.a5cd1005c9.out" @@ -8,38 +8,38 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["hello"] to "hi" trace - - location: 12 (remaining gas: 1039986.621 units remaining) + - location: 12 (remaining gas: 1039987.161 units remaining) [ (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 12 (remaining gas: 1039986.611 units remaining) + - location: 12 (remaining gas: 1039987.151 units remaining) [ (Pair "hello" { Elt "hello" "hi" } None) (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 13 (remaining gas: 1039986.601 units remaining) + - location: 13 (remaining gas: 1039987.141 units remaining) [ "hello" (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 14 (remaining gas: 1039986.591 units remaining) + - location: 14 (remaining gas: 1039987.141 units remaining) [ (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 17 (remaining gas: 1039986.581 units remaining) + - location: 17 (remaining gas: 1039987.131 units remaining) [ (Pair { Elt "hello" "hi" } None) ] - - location: 18 (remaining gas: 1039986.571 units remaining) + - location: 18 (remaining gas: 1039987.121 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039986.561 units remaining) + - location: 19 (remaining gas: 1039987.111 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039986.541 units remaining) + - location: 14 (remaining gas: 1039987.091 units remaining) [ "hello" { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039985.560 units remaining) + - location: 20 (remaining gas: 1039986.110 units remaining) [ (Some "hi") { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039985.550 units remaining) + - location: 21 (remaining gas: 1039986.100 units remaining) [ { Elt "hello" "hi" } (Some "hi") ] - - location: 22 (remaining gas: 1039985.540 units remaining) + - location: 22 (remaining gas: 1039986.090 units remaining) [ (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 23 (remaining gas: 1039985.530 units remaining) + - location: 23 (remaining gas: 1039986.080 units remaining) [ {} (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 25 (remaining gas: 1039985.520 units remaining) + - location: 25 (remaining gas: 1039986.070 units remaining) [ (Pair {} { Elt "hello" "hi" } (Some "hi")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .6f3d35b151.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .6f3d35b151.out" index 82f2fd5f97a2..32bdf1795c2e 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .6f3d35b151.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .6f3d35b151.out" @@ -9,28 +9,28 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "one" trace - - location: 15 (remaining gas: 1039987.174 units remaining) + - location: 15 (remaining gas: 1039987.489 units remaining) [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039987.164 units remaining) + - location: 15 (remaining gas: 1039987.479 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 16 (remaining gas: 1039987.154 units remaining) + - location: 16 (remaining gas: 1039987.479 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 18 (remaining gas: 1039987.144 units remaining) + - location: 18 (remaining gas: 1039987.469 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039987.124 units remaining) + - location: 16 (remaining gas: 1039987.449 units remaining) [ {} { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039987.124 units remaining) + - location: 19 (remaining gas: 1039987.449 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039987.114 units remaining) + - location: 23 (remaining gas: 1039987.439 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039987.104 units remaining) + - location: 24 (remaining gas: 1039987.429 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039987.094 units remaining) + - location: 26 (remaining gas: 1039987.419 units remaining) [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .76aeaa0706.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .76aeaa0706.out" index e173141ce2fc..405b19e0828b 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .76aeaa0706.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .76aeaa0706.out" @@ -9,40 +9,40 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "two" trace - - location: 15 (remaining gas: 1039986.724 units remaining) + - location: 15 (remaining gas: 1039987.039 units remaining) [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039986.714 units remaining) + - location: 15 (remaining gas: 1039987.029 units remaining) [ { Elt "1" (Some "two") } (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 16 (remaining gas: 1039986.704 units remaining) + - location: 16 (remaining gas: 1039987.029 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 18 (remaining gas: 1039986.694 units remaining) + - location: 18 (remaining gas: 1039987.019 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039986.674 units remaining) + - location: 16 (remaining gas: 1039986.999 units remaining) [ { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039986.674 units remaining) + - location: 19 (remaining gas: 1039986.999 units remaining) [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039986.664 units remaining) + - location: 21 (remaining gas: 1039986.989 units remaining) [ "1" (Some "two") { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039985.804 units remaining) + - location: 22 (remaining gas: 1039986.129 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039985.794 units remaining) + - location: 19 (remaining gas: 1039986.119 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039985.784 units remaining) + - location: 23 (remaining gas: 1039986.109 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039985.774 units remaining) + - location: 24 (remaining gas: 1039986.099 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039985.764 units remaining) + - location: 26 (remaining gas: 1039986.089 units remaining) [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7e7197f248.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7e7197f248.out" index 15ca728dea5e..fd25f35e29a3 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7e7197f248.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7e7197f248.out" @@ -9,40 +9,40 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "two" trace - - location: 15 (remaining gas: 1039986.724 units remaining) + - location: 15 (remaining gas: 1039987.039 units remaining) [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039986.714 units remaining) + - location: 15 (remaining gas: 1039987.029 units remaining) [ { Elt "1" (Some "two") } (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 16 (remaining gas: 1039986.704 units remaining) + - location: 16 (remaining gas: 1039987.029 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 18 (remaining gas: 1039986.694 units remaining) + - location: 18 (remaining gas: 1039987.019 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039986.674 units remaining) + - location: 16 (remaining gas: 1039986.999 units remaining) [ { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039986.674 units remaining) + - location: 19 (remaining gas: 1039986.999 units remaining) [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039986.664 units remaining) + - location: 21 (remaining gas: 1039986.989 units remaining) [ "1" (Some "two") { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039985.804 units remaining) + - location: 22 (remaining gas: 1039986.129 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039985.794 units remaining) + - location: 19 (remaining gas: 1039986.119 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039985.784 units remaining) + - location: 23 (remaining gas: 1039986.109 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039985.774 units remaining) + - location: 24 (remaining gas: 1039986.099 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039985.764 units remaining) + - location: 26 (remaining gas: 1039986.089 units remaining) [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" index 3edcc13a1ac3..a93e6ec4c259 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" @@ -10,40 +10,40 @@ big_map diff Set map(4)["3"] to "three" Set map(4)["1"] to "one" trace - - location: 15 (remaining gas: 1039986.704 units remaining) + - location: 15 (remaining gas: 1039987.019 units remaining) [ (Pair { Elt "3" (Some "three") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039986.694 units remaining) + - location: 15 (remaining gas: 1039987.009 units remaining) [ { Elt "3" (Some "three") } (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 16 (remaining gas: 1039986.684 units remaining) + - location: 16 (remaining gas: 1039987.009 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 18 (remaining gas: 1039986.674 units remaining) + - location: 18 (remaining gas: 1039986.999 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039986.654 units remaining) + - location: 16 (remaining gas: 1039986.979 units remaining) [ { Elt "3" (Some "three") } { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039986.654 units remaining) + - location: 19 (remaining gas: 1039986.979 units remaining) [ (Pair "3" (Some "three")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039986.644 units remaining) + - location: 21 (remaining gas: 1039986.969 units remaining) [ "3" (Some "three") { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039985.784 units remaining) + - location: 22 (remaining gas: 1039986.109 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 19 (remaining gas: 1039985.774 units remaining) + - location: 19 (remaining gas: 1039986.099 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 23 (remaining gas: 1039985.764 units remaining) + - location: 23 (remaining gas: 1039986.089 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 24 (remaining gas: 1039985.754 units remaining) + - location: 24 (remaining gas: 1039986.079 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 26 (remaining gas: 1039985.744 units remaining) + - location: 26 (remaining gas: 1039986.069 units remaining) [ (Pair {} { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .b688cc94a7.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .b688cc94a7.out" index db02ea60c8fa..2001ebc28ecb 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .b688cc94a7.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .b688cc94a7.out" @@ -10,40 +10,40 @@ big_map diff Unset map(4)["3"] Set map(4)["1"] to "one" trace - - location: 15 (remaining gas: 1039986.868 units remaining) + - location: 15 (remaining gas: 1039987.183 units remaining) [ (Pair { Elt "3" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039986.858 units remaining) + - location: 15 (remaining gas: 1039987.173 units remaining) [ { Elt "3" None } (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 16 (remaining gas: 1039986.848 units remaining) + - location: 16 (remaining gas: 1039987.173 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 18 (remaining gas: 1039986.838 units remaining) + - location: 18 (remaining gas: 1039987.163 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039986.818 units remaining) + - location: 16 (remaining gas: 1039987.143 units remaining) [ { Elt "3" None } { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039986.818 units remaining) + - location: 19 (remaining gas: 1039987.143 units remaining) [ (Pair "3" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039986.808 units remaining) + - location: 21 (remaining gas: 1039987.133 units remaining) [ "3" None { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039985.948 units remaining) + - location: 22 (remaining gas: 1039986.273 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039985.938 units remaining) + - location: 19 (remaining gas: 1039986.263 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039985.928 units remaining) + - location: 23 (remaining gas: 1039986.253 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039985.918 units remaining) + - location: 24 (remaining gas: 1039986.243 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039985.908 units remaining) + - location: 26 (remaining gas: 1039986.233 units remaining) [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .c68db221ed.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .c68db221ed.out" index 5badb08b2c17..bc929ce4d008 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .c68db221ed.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .c68db221ed.out" @@ -9,40 +9,40 @@ big_map diff Unset map(4)["2"] Set map(4)["1"] to "one" trace - - location: 15 (remaining gas: 1039986.868 units remaining) + - location: 15 (remaining gas: 1039987.183 units remaining) [ (Pair { Elt "2" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039986.858 units remaining) + - location: 15 (remaining gas: 1039987.173 units remaining) [ { Elt "2" None } (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 16 (remaining gas: 1039986.848 units remaining) + - location: 16 (remaining gas: 1039987.173 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 18 (remaining gas: 1039986.838 units remaining) + - location: 18 (remaining gas: 1039987.163 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039986.818 units remaining) + - location: 16 (remaining gas: 1039987.143 units remaining) [ { Elt "2" None } { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039986.818 units remaining) + - location: 19 (remaining gas: 1039987.143 units remaining) [ (Pair "2" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039986.808 units remaining) + - location: 21 (remaining gas: 1039987.133 units remaining) [ "2" None { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039985.948 units remaining) + - location: 22 (remaining gas: 1039986.273 units remaining) [ { Elt "1" "one" } Unit ] - - location: 19 (remaining gas: 1039985.938 units remaining) + - location: 19 (remaining gas: 1039986.263 units remaining) [ { Elt "1" "one" } Unit ] - - location: 23 (remaining gas: 1039985.928 units remaining) + - location: 23 (remaining gas: 1039986.253 units remaining) [ (Pair { Elt "1" "one" } Unit) ] - - location: 24 (remaining gas: 1039985.918 units remaining) + - location: 24 (remaining gas: 1039986.243 units remaining) [ {} (Pair { Elt "1" "one" } Unit) ] - - location: 26 (remaining gas: 1039985.908 units remaining) + - location: 26 (remaining gas: 1039986.233 units remaining) [ (Pair {} { Elt "1" "one" } Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out index 0ff6a320e845..a9ccd828c40f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 500000 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 500000 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 500000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out index b1677ae3f64b..c13fa69bb55c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 0 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 0 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out index 6921d02a6aaa..bf614c2e684f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 1000000000 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 1000000000 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 1000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out index 60d998dafd33..792094d124c4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 1000000 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 1000000 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 1000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out index de7e71688263..a5cb9f25da08 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 1 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 1 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out index 638b0a69ccab..a5896a8463be 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 5000000 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 5000000 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 5000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out index 62ed0ad9491f..472399fd5d5c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 8000000000000000000 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 8000000000000000000 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 8000000000000000000) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.7492e8cdea.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.7492e8cdea.out" index b5b369e9a65f..e0f7db8de7ff 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.7492e8cdea.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.7492e8cdea.out" @@ -11,80 +11,80 @@ big_map diff Set map(4)["3"] to "three" Set map(4)["1"] to "one" trace - - location: 43 (remaining gas: 1039933.098 units remaining) + - location: 43 (remaining gas: 1039936.248 units remaining) [ (Pair (Right (Right (Right (Left { Pair "3" "three" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039933.088 units remaining) + - location: 43 (remaining gas: 1039936.238 units remaining) [ (Right (Right (Right (Left { Pair "3" "three" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039933.078 units remaining) + - location: 44 (remaining gas: 1039936.238 units remaining) [ (Right (Right (Left { Pair "3" "three" }))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 60 (remaining gas: 1039933.068 units remaining) + - location: 60 (remaining gas: 1039936.238 units remaining) [ (Right (Left { Pair "3" "three" })) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 65 (remaining gas: 1039933.058 units remaining) + - location: 65 (remaining gas: 1039936.238 units remaining) [ (Left { Pair "3" "three" }) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 108 (remaining gas: 1039933.048 units remaining) + - location: 108 (remaining gas: 1039936.238 units remaining) [ { Pair "3" "three" } (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 110 (remaining gas: 1039933.038 units remaining) + - location: 110 (remaining gas: 1039936.238 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 113 (remaining gas: 1039933.028 units remaining) + - location: 113 (remaining gas: 1039936.238 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] - - location: 113 (remaining gas: 1039933.018 units remaining) + - location: 113 (remaining gas: 1039936.228 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] - - location: 119 (remaining gas: 1039933.008 units remaining) + - location: 119 (remaining gas: 1039936.218 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 110 (remaining gas: 1039932.988 units remaining) + - location: 110 (remaining gas: 1039936.198 units remaining) [ { Pair "3" "three" } { Elt "1" "one" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039932.988 units remaining) + - location: 120 (remaining gas: 1039936.198 units remaining) [ (Pair "3" "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 122 (remaining gas: 1039932.978 units remaining) + - location: 122 (remaining gas: 1039936.188 units remaining) [ "3" "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039932.968 units remaining) + - location: 123 (remaining gas: 1039936.188 units remaining) [ "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 125 (remaining gas: 1039932.958 units remaining) + - location: 125 (remaining gas: 1039936.178 units remaining) [ (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039932.938 units remaining) + - location: 123 (remaining gas: 1039936.158 units remaining) [ "3" (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 126 (remaining gas: 1039932.081 units remaining) + - location: 126 (remaining gas: 1039935.301 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039932.071 units remaining) + - location: 120 (remaining gas: 1039935.291 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 127 (remaining gas: 1039932.061 units remaining) + - location: 127 (remaining gas: 1039935.281 units remaining) [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] - - location: 128 (remaining gas: 1039932.051 units remaining) + - location: 128 (remaining gas: 1039935.271 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 108 (remaining gas: 1039932.041 units remaining) + - location: 108 (remaining gas: 1039935.261 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 65 (remaining gas: 1039932.031 units remaining) + - location: 65 (remaining gas: 1039935.251 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 60 (remaining gas: 1039932.021 units remaining) + - location: 60 (remaining gas: 1039935.241 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039932.011 units remaining) + - location: 44 (remaining gas: 1039935.231 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039932.001 units remaining) + - location: 151 (remaining gas: 1039935.221 units remaining) [ {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039931.991 units remaining) + - location: 153 (remaining gas: 1039935.211 units remaining) [ (Pair {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }))) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.21b30dd90f.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.21b30dd90f.out" index 9f4e64903bfa..d6f9987e0962 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.21b30dd90f.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.21b30dd90f.out" @@ -10,35 +10,35 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["2"] to "two" trace - - location: 43 (remaining gas: 1039934.006 units remaining) + - location: 43 (remaining gas: 1039937.156 units remaining) [ (Pair (Left Unit) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039933.996 units remaining) + - location: 43 (remaining gas: 1039937.146 units remaining) [ (Left Unit) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039933.986 units remaining) + - location: 44 (remaining gas: 1039937.146 units remaining) [ Unit (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 46 (remaining gas: 1039933.976 units remaining) + - location: 46 (remaining gas: 1039937.136 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 48 (remaining gas: 1039933.966 units remaining) + - location: 48 (remaining gas: 1039937.136 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] - - location: 48 (remaining gas: 1039933.956 units remaining) + - location: 48 (remaining gas: 1039937.126 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] - - location: 54 (remaining gas: 1039933.946 units remaining) + - location: 54 (remaining gas: 1039937.116 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 55 (remaining gas: 1039933.936 units remaining) + - location: 55 (remaining gas: 1039937.106 units remaining) [ { Elt "2" "two" } { Elt "1" "one" } ] - - location: 56 (remaining gas: 1039933.926 units remaining) + - location: 56 (remaining gas: 1039937.096 units remaining) [ (Pair { Elt "2" "two" } { Elt "1" "one" }) ] - - location: 57 (remaining gas: 1039933.916 units remaining) + - location: 57 (remaining gas: 1039937.086 units remaining) [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 44 (remaining gas: 1039933.906 units remaining) + - location: 44 (remaining gas: 1039937.076 units remaining) [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 151 (remaining gas: 1039933.896 units remaining) + - location: 151 (remaining gas: 1039937.066 units remaining) [ {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 153 (remaining gas: 1039933.886 units remaining) + - location: 153 (remaining gas: 1039937.056 units remaining) [ (Pair {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" }))) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .2873ef610c.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .2873ef610c.out" index 353853c4e7eb..6a486d6a63fc 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .2873ef610c.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .2873ef610c.out" @@ -10,30 +10,30 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["3"] to "three" trace - - location: 43 (remaining gas: 1039930.452 units remaining) + - location: 43 (remaining gas: 1039933.602 units remaining) [ (Pair (Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039930.442 units remaining) + - location: 43 (remaining gas: 1039933.592 units remaining) [ (Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039930.432 units remaining) + - location: 44 (remaining gas: 1039933.592 units remaining) [ (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 60 (remaining gas: 1039930.422 units remaining) + - location: 60 (remaining gas: 1039933.592 units remaining) [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 62 (remaining gas: 1039930.412 units remaining) + - location: 62 (remaining gas: 1039933.582 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 63 (remaining gas: 1039930.402 units remaining) + - location: 63 (remaining gas: 1039933.572 units remaining) [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 60 (remaining gas: 1039930.392 units remaining) + - location: 60 (remaining gas: 1039933.562 units remaining) [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 44 (remaining gas: 1039930.382 units remaining) + - location: 44 (remaining gas: 1039933.552 units remaining) [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 151 (remaining gas: 1039930.372 units remaining) + - location: 151 (remaining gas: 1039933.542 units remaining) [ {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 153 (remaining gas: 1039930.362 units remaining) + - location: 153 (remaining gas: 1039933.532 units remaining) [ (Pair {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" index 4a054235030b..511fdd332717 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 43 (remaining gas: 1039933.366 units remaining) + - location: 43 (remaining gas: 1039936.516 units remaining) [ (Pair (Right (Left (Right Unit))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039933.356 units remaining) + - location: 43 (remaining gas: 1039936.506 units remaining) [ (Right (Left (Right Unit))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039933.346 units remaining) + - location: 44 (remaining gas: 1039936.506 units remaining) [ (Left (Right Unit)) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 60 (remaining gas: 1039933.336 units remaining) + - location: 60 (remaining gas: 1039936.506 units remaining) [ (Right Unit) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 62 (remaining gas: 1039933.326 units remaining) + - location: 62 (remaining gas: 1039936.496 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) (Right Unit) ] - - location: 63 (remaining gas: 1039933.316 units remaining) + - location: 63 (remaining gas: 1039936.486 units remaining) [ (Right Unit) ] - - location: 60 (remaining gas: 1039933.306 units remaining) + - location: 60 (remaining gas: 1039936.476 units remaining) [ (Right Unit) ] - - location: 44 (remaining gas: 1039933.296 units remaining) + - location: 44 (remaining gas: 1039936.466 units remaining) [ (Right Unit) ] - - location: 151 (remaining gas: 1039933.286 units remaining) + - location: 151 (remaining gas: 1039936.456 units remaining) [ {} (Right Unit) ] - - location: 153 (remaining gas: 1039933.276 units remaining) + - location: 153 (remaining gas: 1039936.446 units remaining) [ (Pair {} (Right Unit)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.d336ca1903.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.d336ca1903.out" index 8ac7b958247b..1333f66277af 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.d336ca1903.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.d336ca1903.out" @@ -10,74 +10,74 @@ big_map diff New map(4) of type (big_map string string) Unset map(4)["1"] trace - - location: 43 (remaining gas: 1039933.362 units remaining) + - location: 43 (remaining gas: 1039936.512 units remaining) [ (Pair (Right (Right (Right (Right { "1" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039933.352 units remaining) + - location: 43 (remaining gas: 1039936.502 units remaining) [ (Right (Right (Right (Right { "1" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039933.342 units remaining) + - location: 44 (remaining gas: 1039936.502 units remaining) [ (Right (Right (Right { "1" }))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 60 (remaining gas: 1039933.332 units remaining) + - location: 60 (remaining gas: 1039936.502 units remaining) [ (Right (Right { "1" })) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 65 (remaining gas: 1039933.322 units remaining) + - location: 65 (remaining gas: 1039936.502 units remaining) [ (Right { "1" }) (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 108 (remaining gas: 1039933.312 units remaining) + - location: 108 (remaining gas: 1039936.502 units remaining) [ { "1" } (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 131 (remaining gas: 1039933.302 units remaining) + - location: 131 (remaining gas: 1039936.502 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] - - location: 134 (remaining gas: 1039933.292 units remaining) + - location: 134 (remaining gas: 1039936.502 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] - - location: 134 (remaining gas: 1039933.282 units remaining) + - location: 134 (remaining gas: 1039936.492 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] - - location: 140 (remaining gas: 1039933.272 units remaining) + - location: 140 (remaining gas: 1039936.482 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 131 (remaining gas: 1039933.252 units remaining) + - location: 131 (remaining gas: 1039936.462 units remaining) [ { "1" } { Elt "1" "one" } { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039933.252 units remaining) + - location: 141 (remaining gas: 1039936.462 units remaining) [ "1" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039933.242 units remaining) + - location: 143 (remaining gas: 1039936.462 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 145 (remaining gas: 1039933.232 units remaining) + - location: 145 (remaining gas: 1039936.452 units remaining) [ None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039933.212 units remaining) + - location: 143 (remaining gas: 1039936.432 units remaining) [ "1" None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 147 (remaining gas: 1039932.355 units remaining) + - location: 147 (remaining gas: 1039935.575 units remaining) [ {} { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039932.345 units remaining) + - location: 141 (remaining gas: 1039935.565 units remaining) [ {} { Elt "2" "two" } ] - - location: 148 (remaining gas: 1039932.335 units remaining) + - location: 148 (remaining gas: 1039935.555 units remaining) [ (Pair {} { Elt "2" "two" }) ] - - location: 149 (remaining gas: 1039932.325 units remaining) + - location: 149 (remaining gas: 1039935.545 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 108 (remaining gas: 1039932.315 units remaining) + - location: 108 (remaining gas: 1039935.535 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 65 (remaining gas: 1039932.305 units remaining) + - location: 65 (remaining gas: 1039935.525 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 60 (remaining gas: 1039932.295 units remaining) + - location: 60 (remaining gas: 1039935.515 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 44 (remaining gas: 1039932.285 units remaining) + - location: 44 (remaining gas: 1039935.505 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039932.275 units remaining) + - location: 151 (remaining gas: 1039935.495 units remaining) [ {} (Left (Pair {} { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039932.265 units remaining) + - location: 153 (remaining gas: 1039935.485 units remaining) [ (Pair {} (Left (Pair {} { Elt "2" "two" }))) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.7f2ee47600.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.7f2ee47600.out" index 72ec13723338..75899c249ca1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.7f2ee47600.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.7f2ee47600.out" @@ -10,126 +10,126 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["foo"] to "bar" trace - - location: 43 (remaining gas: 1039935.494 units remaining) + - location: 43 (remaining gas: 1039938.644 units remaining) [ (Pair (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) (Right Unit)) ] - - location: 43 (remaining gas: 1039935.484 units remaining) + - location: 43 (remaining gas: 1039938.634 units remaining) [ (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) (Right Unit) ] - - location: 44 (remaining gas: 1039935.474 units remaining) + - location: 44 (remaining gas: 1039938.634 units remaining) [ (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }))) (Right Unit) ] - - location: 60 (remaining gas: 1039935.464 units remaining) + - location: 60 (remaining gas: 1039938.634 units remaining) [ (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })) (Right Unit) ] - - location: 65 (remaining gas: 1039935.454 units remaining) + - location: 65 (remaining gas: 1039938.634 units remaining) [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) (Right Unit) ] - - location: 67 (remaining gas: 1039935.444 units remaining) + - location: 67 (remaining gas: 1039938.634 units remaining) [ (Right Unit) ] - - location: 70 (remaining gas: 1039935.434 units remaining) + - location: 70 (remaining gas: 1039938.634 units remaining) [ Unit ] - - location: 70 (remaining gas: 1039935.424 units remaining) + - location: 70 (remaining gas: 1039938.624 units remaining) [ Unit ] - - location: 76 (remaining gas: 1039935.414 units remaining) + - location: 76 (remaining gas: 1039938.614 units remaining) [ ] - - location: 67 (remaining gas: 1039935.394 units remaining) + - location: 67 (remaining gas: 1039938.594 units remaining) [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) ] - - location: 77 (remaining gas: 1039935.384 units remaining) + - location: 77 (remaining gas: 1039938.584 units remaining) [ { Pair "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039935.374 units remaining) + - location: 78 (remaining gas: 1039938.584 units remaining) [ { Pair "gaz" "baz" } ] - - location: 80 (remaining gas: 1039935.364 units remaining) + - location: 80 (remaining gas: 1039938.574 units remaining) [ {} { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039935.344 units remaining) + - location: 78 (remaining gas: 1039938.554 units remaining) [ { Pair "foo" "bar" } {} { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039935.344 units remaining) + - location: 83 (remaining gas: 1039938.554 units remaining) [ (Pair "foo" "bar") {} { Pair "gaz" "baz" } ] - - location: 85 (remaining gas: 1039935.334 units remaining) + - location: 85 (remaining gas: 1039938.544 units remaining) [ "foo" "bar" {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039935.324 units remaining) + - location: 86 (remaining gas: 1039938.544 units remaining) [ "bar" {} { Pair "gaz" "baz" } ] - - location: 88 (remaining gas: 1039935.314 units remaining) + - location: 88 (remaining gas: 1039938.534 units remaining) [ (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039935.294 units remaining) + - location: 86 (remaining gas: 1039938.514 units remaining) [ "foo" (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 89 (remaining gas: 1039934.371 units remaining) + - location: 89 (remaining gas: 1039937.591 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039934.361 units remaining) + - location: 83 (remaining gas: 1039937.581 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 90 (remaining gas: 1039934.351 units remaining) + - location: 90 (remaining gas: 1039937.571 units remaining) [ { Pair "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039934.341 units remaining) + - location: 91 (remaining gas: 1039937.571 units remaining) [ { Elt "foo" "bar" } ] - - location: 93 (remaining gas: 1039934.331 units remaining) + - location: 93 (remaining gas: 1039937.561 units remaining) [ {} { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039934.311 units remaining) + - location: 91 (remaining gas: 1039937.541 units remaining) [ { Pair "gaz" "baz" } {} { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039934.311 units remaining) + - location: 96 (remaining gas: 1039937.541 units remaining) [ (Pair "gaz" "baz") {} { Elt "foo" "bar" } ] - - location: 98 (remaining gas: 1039934.301 units remaining) + - location: 98 (remaining gas: 1039937.531 units remaining) [ "gaz" "baz" {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039934.291 units remaining) + - location: 99 (remaining gas: 1039937.531 units remaining) [ "baz" {} { Elt "foo" "bar" } ] - - location: 101 (remaining gas: 1039934.281 units remaining) + - location: 101 (remaining gas: 1039937.521 units remaining) [ (Some "baz") {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039934.261 units remaining) + - location: 99 (remaining gas: 1039937.501 units remaining) [ "gaz" (Some "baz") {} { Elt "foo" "bar" } ] - - location: 102 (remaining gas: 1039933.338 units remaining) + - location: 102 (remaining gas: 1039936.578 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039933.328 units remaining) + - location: 96 (remaining gas: 1039936.568 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 103 (remaining gas: 1039933.318 units remaining) + - location: 103 (remaining gas: 1039936.558 units remaining) [ { Elt "foo" "bar" } { Elt "gaz" "baz" } ] - - location: 104 (remaining gas: 1039933.308 units remaining) + - location: 104 (remaining gas: 1039936.548 units remaining) [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] - - location: 105 (remaining gas: 1039933.298 units remaining) + - location: 105 (remaining gas: 1039936.538 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 65 (remaining gas: 1039933.288 units remaining) + - location: 65 (remaining gas: 1039936.528 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 60 (remaining gas: 1039933.278 units remaining) + - location: 60 (remaining gas: 1039936.518 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 44 (remaining gas: 1039933.268 units remaining) + - location: 44 (remaining gas: 1039936.508 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 151 (remaining gas: 1039933.258 units remaining) + - location: 151 (remaining gas: 1039936.498 units remaining) [ {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 153 (remaining gas: 1039933.248 units remaining) + - location: 153 (remaining gas: 1039936.488 units remaining) [ (Pair {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out index 8c16c2c9f30c..659508410fef 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out @@ -8,18 +8,18 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039652.865 units remaining) + - location: 9 (remaining gas: 1039653.720 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 9 (remaining gas: 1039652.855 units remaining) + - location: 9 (remaining gas: 1039653.710 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 10 (remaining gas: 1039652.845 units remaining) + - location: 10 (remaining gas: 1039653.700 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @@ -29,20 +29,20 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 11 (remaining gas: 1039652.835 units remaining) + - location: 11 (remaining gas: 1039653.700 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 13 (remaining gas: 1039652.825 units remaining) + - location: 13 (remaining gas: 1039653.690 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 14 (remaining gas: 1039652.815 units remaining) + - location: 14 (remaining gas: 1039653.680 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" @@ -50,36 +50,36 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 15 (remaining gas: 1039652.805 units remaining) + - location: 15 (remaining gas: 1039653.670 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 16 (remaining gas: 1039652.795 units remaining) + - location: 16 (remaining gas: 1039653.670 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 18 (remaining gas: 1039652.785 units remaining) + - location: 18 (remaining gas: 1039653.660 units remaining) [ "hello" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 19 (remaining gas: 1039652.294 units remaining) + - location: 19 (remaining gas: 1039653.169 units remaining) [ 0x05010000000568656c6c6f (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 16 (remaining gas: 1039652.274 units remaining) + - location: 16 (remaining gas: 1039653.149 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000568656c6c6f (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 11 (remaining gas: 1039652.254 units remaining) + - location: 11 (remaining gas: 1039653.129 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @@ -88,34 +88,34 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 20 (remaining gas: 1039652.244 units remaining) + - location: 20 (remaining gas: 1039653.119 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000568656c6c6f (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 21 (remaining gas: 1039586.432 units remaining) + - location: 21 (remaining gas: 1039587.307 units remaining) [ True (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 22 (remaining gas: 1039586.422 units remaining) + - location: 22 (remaining gas: 1039587.307 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 22 (remaining gas: 1039586.412 units remaining) + - location: 22 (remaining gas: 1039587.297 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 28 (remaining gas: 1039586.402 units remaining) + - location: 28 (remaining gas: 1039587.287 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 29 (remaining gas: 1039586.392 units remaining) + - location: 29 (remaining gas: 1039587.277 units remaining) [ {} (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 31 (remaining gas: 1039586.382 units remaining) + - location: 31 (remaining gas: 1039587.267 units remaining) [ (Pair {} "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] @@ -136,18 +136,18 @@ At line 8 characters 14 to 18, script reached FAILWITH instruction with Unit trace - - location: 9 (remaining gas: 1039652.875 units remaining) + - location: 9 (remaining gas: 1039653.730 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 9 (remaining gas: 1039652.865 units remaining) + - location: 9 (remaining gas: 1039653.720 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 10 (remaining gas: 1039652.855 units remaining) + - location: 10 (remaining gas: 1039653.710 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @@ -157,20 +157,20 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 11 (remaining gas: 1039652.845 units remaining) + - location: 11 (remaining gas: 1039653.710 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 13 (remaining gas: 1039652.835 units remaining) + - location: 13 (remaining gas: 1039653.700 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 14 (remaining gas: 1039652.825 units remaining) + - location: 14 (remaining gas: 1039653.690 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" @@ -178,36 +178,36 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 15 (remaining gas: 1039652.815 units remaining) + - location: 15 (remaining gas: 1039653.680 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 16 (remaining gas: 1039652.805 units remaining) + - location: 16 (remaining gas: 1039653.680 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 18 (remaining gas: 1039652.795 units remaining) + - location: 18 (remaining gas: 1039653.670 units remaining) [ "abcd" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 19 (remaining gas: 1039652.337 units remaining) + - location: 19 (remaining gas: 1039653.212 units remaining) [ 0x05010000000461626364 (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 16 (remaining gas: 1039652.317 units remaining) + - location: 16 (remaining gas: 1039653.192 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000461626364 (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 11 (remaining gas: 1039652.297 units remaining) + - location: 11 (remaining gas: 1039653.172 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @@ -216,23 +216,23 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 20 (remaining gas: 1039652.287 units remaining) + - location: 20 (remaining gas: 1039653.162 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000461626364 (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 21 (remaining gas: 1039586.476 units remaining) + - location: 21 (remaining gas: 1039587.351 units remaining) [ False (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 22 (remaining gas: 1039586.466 units remaining) + - location: 22 (remaining gas: 1039587.351 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 26 (remaining gas: 1039586.456 units remaining) + - location: 26 (remaining gas: 1039587.341 units remaining) [ Unit (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out index a8612737e31a..c719d5c2f248 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039989.294 units remaining) + - location: 7 (remaining gas: 1039989.789 units remaining) [ (Pair 0 Unit) ] - - location: 7 (remaining gas: 1039989.284 units remaining) + - location: 7 (remaining gas: 1039989.779 units remaining) [ 0 ] - - location: 8 (remaining gas: 1039989.274 units remaining) + - location: 8 (remaining gas: 1039989.769 units remaining) [ 0 0 ] - - location: 9 (remaining gas: 1039989.249 units remaining) + - location: 9 (remaining gas: 1039989.744 units remaining) [ 0 0 ] - - location: 10 (remaining gas: 1039989.229 units remaining) + - location: 10 (remaining gas: 1039989.724 units remaining) [ 0 0 ] - - location: 11 (remaining gas: 1039989.194 units remaining) + - location: 11 (remaining gas: 1039989.689 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039989.184 units remaining) + - location: 13 (remaining gas: 1039989.679 units remaining) [ True ] - - location: 14 (remaining gas: 1039989.174 units remaining) + - location: 14 (remaining gas: 1039989.679 units remaining) [ ] - - location: 14 (remaining gas: 1039989.164 units remaining) + - location: 14 (remaining gas: 1039989.669 units remaining) [ ] - - location: 20 (remaining gas: 1039989.154 units remaining) + - location: 20 (remaining gas: 1039989.659 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039989.144 units remaining) + - location: 21 (remaining gas: 1039989.649 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039989.134 units remaining) + - location: 23 (remaining gas: 1039989.639 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out index c1b84b122b87..c5199925bb4c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039989.294 units remaining) + - location: 7 (remaining gas: 1039989.789 units remaining) [ (Pair 12039123919239192312931 Unit) ] - - location: 7 (remaining gas: 1039989.284 units remaining) + - location: 7 (remaining gas: 1039989.779 units remaining) [ 12039123919239192312931 ] - - location: 8 (remaining gas: 1039989.274 units remaining) + - location: 8 (remaining gas: 1039989.769 units remaining) [ 12039123919239192312931 12039123919239192312931 ] - - location: 9 (remaining gas: 1039989.249 units remaining) + - location: 9 (remaining gas: 1039989.744 units remaining) [ -12039123919239192312931 12039123919239192312931 ] - - location: 10 (remaining gas: 1039989.229 units remaining) + - location: 10 (remaining gas: 1039989.724 units remaining) [ 12039123919239192312931 12039123919239192312931 ] - - location: 11 (remaining gas: 1039989.194 units remaining) + - location: 11 (remaining gas: 1039989.689 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039989.184 units remaining) + - location: 13 (remaining gas: 1039989.679 units remaining) [ True ] - - location: 14 (remaining gas: 1039989.174 units remaining) + - location: 14 (remaining gas: 1039989.679 units remaining) [ ] - - location: 14 (remaining gas: 1039989.164 units remaining) + - location: 14 (remaining gas: 1039989.669 units remaining) [ ] - - location: 20 (remaining gas: 1039989.154 units remaining) + - location: 20 (remaining gas: 1039989.659 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039989.144 units remaining) + - location: 21 (remaining gas: 1039989.649 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039989.134 units remaining) + - location: 23 (remaining gas: 1039989.639 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out index c55be9467749..57f4f7e5c333 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039989.294 units remaining) + - location: 7 (remaining gas: 1039989.789 units remaining) [ (Pair 948 Unit) ] - - location: 7 (remaining gas: 1039989.284 units remaining) + - location: 7 (remaining gas: 1039989.779 units remaining) [ 948 ] - - location: 8 (remaining gas: 1039989.274 units remaining) + - location: 8 (remaining gas: 1039989.769 units remaining) [ 948 948 ] - - location: 9 (remaining gas: 1039989.249 units remaining) + - location: 9 (remaining gas: 1039989.744 units remaining) [ -948 948 ] - - location: 10 (remaining gas: 1039989.229 units remaining) + - location: 10 (remaining gas: 1039989.724 units remaining) [ 948 948 ] - - location: 11 (remaining gas: 1039989.194 units remaining) + - location: 11 (remaining gas: 1039989.689 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039989.184 units remaining) + - location: 13 (remaining gas: 1039989.679 units remaining) [ True ] - - location: 14 (remaining gas: 1039989.174 units remaining) + - location: 14 (remaining gas: 1039989.679 units remaining) [ ] - - location: 14 (remaining gas: 1039989.164 units remaining) + - location: 14 (remaining gas: 1039989.669 units remaining) [ ] - - location: 20 (remaining gas: 1039989.154 units remaining) + - location: 20 (remaining gas: 1039989.659 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039989.144 units remaining) + - location: 21 (remaining gas: 1039989.649 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039989.134 units remaining) + - location: 23 (remaining gas: 1039989.639 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out index 51388989a1ca..c8affbce6584 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out @@ -7,205 +7,205 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039926.368 units remaining) + - location: 7 (remaining gas: 1039928.663 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039926.358 units remaining) + - location: 7 (remaining gas: 1039928.653 units remaining) [ Unit ] - - location: 8 (remaining gas: 1039926.348 units remaining) + - location: 8 (remaining gas: 1039928.643 units remaining) [ 2 Unit ] - - location: 11 (remaining gas: 1039926.338 units remaining) + - location: 11 (remaining gas: 1039928.633 units remaining) [ 2 2 Unit ] - - location: 14 (remaining gas: 1039926.303 units remaining) + - location: 14 (remaining gas: 1039928.598 units remaining) [ 4 Unit ] - - location: 15 (remaining gas: 1039926.293 units remaining) + - location: 15 (remaining gas: 1039928.588 units remaining) [ 4 4 Unit ] - - location: 20 (remaining gas: 1039926.258 units remaining) + - location: 20 (remaining gas: 1039928.553 units remaining) [ 0 Unit ] - - location: 21 (remaining gas: 1039926.248 units remaining) + - location: 21 (remaining gas: 1039928.543 units remaining) [ True Unit ] - - location: 22 (remaining gas: 1039926.238 units remaining) + - location: 22 (remaining gas: 1039928.543 units remaining) [ Unit ] - - location: 22 (remaining gas: 1039926.228 units remaining) + - location: 22 (remaining gas: 1039928.533 units remaining) [ Unit ] - - location: 28 (remaining gas: 1039926.218 units remaining) + - location: 28 (remaining gas: 1039928.523 units remaining) [ 2 Unit ] - - location: 31 (remaining gas: 1039926.208 units remaining) + - location: 31 (remaining gas: 1039928.513 units remaining) [ 2 2 Unit ] - - location: 34 (remaining gas: 1039926.173 units remaining) + - location: 34 (remaining gas: 1039928.478 units remaining) [ 4 Unit ] - - location: 35 (remaining gas: 1039926.163 units remaining) + - location: 35 (remaining gas: 1039928.468 units remaining) [ 4 4 Unit ] - - location: 40 (remaining gas: 1039926.128 units remaining) + - location: 40 (remaining gas: 1039928.433 units remaining) [ 0 Unit ] - - location: 41 (remaining gas: 1039926.118 units remaining) + - location: 41 (remaining gas: 1039928.423 units remaining) [ True Unit ] - - location: 42 (remaining gas: 1039926.108 units remaining) + - location: 42 (remaining gas: 1039928.423 units remaining) [ Unit ] - - location: 42 (remaining gas: 1039926.098 units remaining) + - location: 42 (remaining gas: 1039928.413 units remaining) [ Unit ] - - location: 48 (remaining gas: 1039926.088 units remaining) + - location: 48 (remaining gas: 1039928.403 units remaining) [ 2 Unit ] - - location: 51 (remaining gas: 1039926.078 units remaining) + - location: 51 (remaining gas: 1039928.393 units remaining) [ 2 2 Unit ] - - location: 54 (remaining gas: 1039926.043 units remaining) + - location: 54 (remaining gas: 1039928.358 units remaining) [ 4 Unit ] - - location: 55 (remaining gas: 1039926.033 units remaining) + - location: 55 (remaining gas: 1039928.348 units remaining) [ 4 4 Unit ] - - location: 60 (remaining gas: 1039925.998 units remaining) + - location: 60 (remaining gas: 1039928.313 units remaining) [ 0 Unit ] - - location: 61 (remaining gas: 1039925.988 units remaining) + - location: 61 (remaining gas: 1039928.303 units remaining) [ True Unit ] - - location: 62 (remaining gas: 1039925.978 units remaining) + - location: 62 (remaining gas: 1039928.303 units remaining) [ Unit ] - - location: 62 (remaining gas: 1039925.968 units remaining) + - location: 62 (remaining gas: 1039928.293 units remaining) [ Unit ] - - location: 68 (remaining gas: 1039925.958 units remaining) + - location: 68 (remaining gas: 1039928.283 units remaining) [ 2 Unit ] - - location: 71 (remaining gas: 1039925.948 units remaining) + - location: 71 (remaining gas: 1039928.273 units remaining) [ 2 2 Unit ] - - location: 74 (remaining gas: 1039925.913 units remaining) + - location: 74 (remaining gas: 1039928.238 units remaining) [ 4 Unit ] - - location: 75 (remaining gas: 1039925.903 units remaining) + - location: 75 (remaining gas: 1039928.228 units remaining) [ 4 4 Unit ] - - location: 80 (remaining gas: 1039925.868 units remaining) + - location: 80 (remaining gas: 1039928.193 units remaining) [ 0 Unit ] - - location: 81 (remaining gas: 1039925.858 units remaining) + - location: 81 (remaining gas: 1039928.183 units remaining) [ True Unit ] - - location: 82 (remaining gas: 1039925.848 units remaining) + - location: 82 (remaining gas: 1039928.183 units remaining) [ Unit ] - - location: 82 (remaining gas: 1039925.838 units remaining) + - location: 82 (remaining gas: 1039928.173 units remaining) [ Unit ] - - location: 88 (remaining gas: 1039925.828 units remaining) + - location: 88 (remaining gas: 1039928.163 units remaining) [ 2 Unit ] - - location: 91 (remaining gas: 1039925.818 units remaining) + - location: 91 (remaining gas: 1039928.153 units remaining) [ 2 2 Unit ] - - location: 94 (remaining gas: 1039925.783 units remaining) + - location: 94 (remaining gas: 1039928.118 units remaining) [ 4 Unit ] - - location: 95 (remaining gas: 1039925.773 units remaining) + - location: 95 (remaining gas: 1039928.108 units remaining) [ 4 4 Unit ] - - location: 100 (remaining gas: 1039925.738 units remaining) + - location: 100 (remaining gas: 1039928.073 units remaining) [ 0 Unit ] - - location: 101 (remaining gas: 1039925.728 units remaining) + - location: 101 (remaining gas: 1039928.063 units remaining) [ True Unit ] - - location: 102 (remaining gas: 1039925.718 units remaining) + - location: 102 (remaining gas: 1039928.063 units remaining) [ Unit ] - - location: 102 (remaining gas: 1039925.708 units remaining) + - location: 102 (remaining gas: 1039928.053 units remaining) [ Unit ] - - location: 108 (remaining gas: 1039925.698 units remaining) + - location: 108 (remaining gas: 1039928.043 units remaining) [ 60 Unit ] - - location: 111 (remaining gas: 1039925.688 units remaining) + - location: 111 (remaining gas: 1039928.033 units remaining) [ "2019-09-09T12:08:37Z" 60 Unit ] - - location: 114 (remaining gas: 1039925.653 units remaining) + - location: 114 (remaining gas: 1039927.998 units remaining) [ "2019-09-09T12:09:37Z" Unit ] - - location: 115 (remaining gas: 1039925.643 units remaining) + - location: 115 (remaining gas: 1039927.988 units remaining) [ "2019-09-09T12:09:37Z" "2019-09-09T12:09:37Z" Unit ] - - location: 120 (remaining gas: 1039925.608 units remaining) + - location: 120 (remaining gas: 1039927.953 units remaining) [ 0 Unit ] - - location: 121 (remaining gas: 1039925.598 units remaining) + - location: 121 (remaining gas: 1039927.943 units remaining) [ True Unit ] - - location: 122 (remaining gas: 1039925.588 units remaining) + - location: 122 (remaining gas: 1039927.943 units remaining) [ Unit ] - - location: 122 (remaining gas: 1039925.578 units remaining) + - location: 122 (remaining gas: 1039927.933 units remaining) [ Unit ] - - location: 128 (remaining gas: 1039925.568 units remaining) + - location: 128 (remaining gas: 1039927.923 units remaining) [ "2019-09-09T12:08:37Z" Unit ] - - location: 131 (remaining gas: 1039925.558 units remaining) + - location: 131 (remaining gas: 1039927.913 units remaining) [ 60 "2019-09-09T12:08:37Z" Unit ] - - location: 134 (remaining gas: 1039925.523 units remaining) + - location: 134 (remaining gas: 1039927.878 units remaining) [ "2019-09-09T12:09:37Z" Unit ] - - location: 135 (remaining gas: 1039925.513 units remaining) + - location: 135 (remaining gas: 1039927.868 units remaining) [ "2019-09-09T12:09:37Z" "2019-09-09T12:09:37Z" Unit ] - - location: 140 (remaining gas: 1039925.478 units remaining) + - location: 140 (remaining gas: 1039927.833 units remaining) [ 0 Unit ] - - location: 141 (remaining gas: 1039925.468 units remaining) + - location: 141 (remaining gas: 1039927.823 units remaining) [ True Unit ] - - location: 142 (remaining gas: 1039925.458 units remaining) + - location: 142 (remaining gas: 1039927.823 units remaining) [ Unit ] - - location: 142 (remaining gas: 1039925.448 units remaining) + - location: 142 (remaining gas: 1039927.813 units remaining) [ Unit ] - - location: 148 (remaining gas: 1039925.438 units remaining) + - location: 148 (remaining gas: 1039927.803 units remaining) [ 1000 Unit ] - - location: 151 (remaining gas: 1039925.428 units remaining) + - location: 151 (remaining gas: 1039927.793 units remaining) [ 1000 1000 Unit ] - - location: 154 (remaining gas: 1039925.408 units remaining) + - location: 154 (remaining gas: 1039927.773 units remaining) [ 2000 Unit ] - - location: 155 (remaining gas: 1039925.398 units remaining) + - location: 155 (remaining gas: 1039927.763 units remaining) [ 2000 2000 Unit ] - - location: 160 (remaining gas: 1039925.363 units remaining) + - location: 160 (remaining gas: 1039927.728 units remaining) [ 0 Unit ] - - location: 161 (remaining gas: 1039925.353 units remaining) + - location: 161 (remaining gas: 1039927.718 units remaining) [ True Unit ] - - location: 162 (remaining gas: 1039925.343 units remaining) + - location: 162 (remaining gas: 1039927.718 units remaining) [ Unit ] - - location: 162 (remaining gas: 1039925.333 units remaining) + - location: 162 (remaining gas: 1039927.708 units remaining) [ Unit ] - - location: 168 (remaining gas: 1039925.323 units remaining) + - location: 168 (remaining gas: 1039927.698 units remaining) [ {} Unit ] - - location: 170 (remaining gas: 1039925.313 units remaining) + - location: 170 (remaining gas: 1039927.688 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out index 215463158df9..dc1e4aa83d9e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.349 units remaining) + - location: 10 (remaining gas: 1039993.619 units remaining) [ (Pair (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039993.339 units remaining) + - location: 10 (remaining gas: 1039993.609 units remaining) [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 11 (remaining gas: 1039993.329 units remaining) + - location: 11 (remaining gas: 1039993.599 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.299 units remaining) + - location: 12 (remaining gas: 1039993.569 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039993.289 units remaining) + - location: 13 (remaining gas: 1039993.559 units remaining) [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039993.279 units remaining) + - location: 14 (remaining gas: 1039993.549 units remaining) [ {} (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039993.269 units remaining) + - location: 16 (remaining gas: 1039993.539 units remaining) [ (Pair {} (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out index aba515bd6260..6e17002f1222 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.349 units remaining) + - location: 10 (remaining gas: 1039993.619 units remaining) [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039993.339 units remaining) + - location: 10 (remaining gas: 1039993.609 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 11 (remaining gas: 1039993.329 units remaining) + - location: 11 (remaining gas: 1039993.599 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.299 units remaining) + - location: 12 (remaining gas: 1039993.569 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039993.289 units remaining) + - location: 13 (remaining gas: 1039993.559 units remaining) [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039993.279 units remaining) + - location: 14 (remaining gas: 1039993.549 units remaining) [ {} (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039993.269 units remaining) + - location: 16 (remaining gas: 1039993.539 units remaining) [ (Pair {} (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out index 4e85dc4661e4..5d355eba3791 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.349 units remaining) + - location: 10 (remaining gas: 1039993.619 units remaining) [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039993.339 units remaining) + - location: 10 (remaining gas: 1039993.609 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 11 (remaining gas: 1039993.329 units remaining) + - location: 11 (remaining gas: 1039993.599 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.299 units remaining) + - location: 12 (remaining gas: 1039993.569 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039993.289 units remaining) + - location: 13 (remaining gas: 1039993.559 units remaining) [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039993.279 units remaining) + - location: 14 (remaining gas: 1039993.549 units remaining) [ {} (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039993.269 units remaining) + - location: 16 (remaining gas: 1039993.539 units remaining) [ (Pair {} (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out index 2d0b82bf8a70..b061665049eb 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.349 units remaining) + - location: 10 (remaining gas: 1039993.619 units remaining) [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0100000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039993.339 units remaining) + - location: 10 (remaining gas: 1039993.609 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 11 (remaining gas: 1039993.329 units remaining) + - location: 11 (remaining gas: 1039993.599 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.299 units remaining) + - location: 12 (remaining gas: 1039993.569 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039993.289 units remaining) + - location: 13 (remaining gas: 1039993.559 units remaining) [ (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039993.279 units remaining) + - location: 14 (remaining gas: 1039993.549 units remaining) [ {} (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039993.269 units remaining) + - location: 16 (remaining gas: 1039993.539 units remaining) [ (Pair {} (Some 0x0200000000000000000000000000000000000000000000000000000000000000)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" index 74d45201381a..22f9fa14de28 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.318 units remaining) + - location: 10 (remaining gas: 1039991.768 units remaining) [ (Pair (Pair -100 "1970-01-01T00:01:40Z") None) ] - - location: 10 (remaining gas: 1039991.308 units remaining) + - location: 10 (remaining gas: 1039991.758 units remaining) [ (Pair -100 "1970-01-01T00:01:40Z") ] - - location: 11 (remaining gas: 1039991.298 units remaining) + - location: 11 (remaining gas: 1039991.748 units remaining) [ (Pair -100 "1970-01-01T00:01:40Z") (Pair -100 "1970-01-01T00:01:40Z") ] - - location: 12 (remaining gas: 1039991.288 units remaining) + - location: 12 (remaining gas: 1039991.738 units remaining) [ -100 (Pair -100 "1970-01-01T00:01:40Z") ] - - location: 13 (remaining gas: 1039991.278 units remaining) + - location: 13 (remaining gas: 1039991.738 units remaining) [ (Pair -100 "1970-01-01T00:01:40Z") ] - - location: 15 (remaining gas: 1039991.268 units remaining) + - location: 15 (remaining gas: 1039991.728 units remaining) [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039991.248 units remaining) + - location: 13 (remaining gas: 1039991.708 units remaining) [ -100 "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039991.213 units remaining) + - location: 16 (remaining gas: 1039991.673 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039991.203 units remaining) + - location: 17 (remaining gas: 1039991.663 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039991.193 units remaining) + - location: 18 (remaining gas: 1039991.653 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039991.183 units remaining) + - location: 20 (remaining gas: 1039991.643 units remaining) [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" index 38626a779e69..19de5d5cbb99 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.488 units remaining) + - location: 10 (remaining gas: 1039990.938 units remaining) [ (Pair (Pair 0 "1970-01-01T00:00:00Z") None) ] - - location: 10 (remaining gas: 1039990.478 units remaining) + - location: 10 (remaining gas: 1039990.928 units remaining) [ (Pair 0 "1970-01-01T00:00:00Z") ] - - location: 11 (remaining gas: 1039990.468 units remaining) + - location: 11 (remaining gas: 1039990.918 units remaining) [ (Pair 0 "1970-01-01T00:00:00Z") (Pair 0 "1970-01-01T00:00:00Z") ] - - location: 12 (remaining gas: 1039990.458 units remaining) + - location: 12 (remaining gas: 1039990.908 units remaining) [ 0 (Pair 0 "1970-01-01T00:00:00Z") ] - - location: 13 (remaining gas: 1039990.448 units remaining) + - location: 13 (remaining gas: 1039990.908 units remaining) [ (Pair 0 "1970-01-01T00:00:00Z") ] - - location: 15 (remaining gas: 1039990.438 units remaining) + - location: 15 (remaining gas: 1039990.898 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039990.418 units remaining) + - location: 13 (remaining gas: 1039990.878 units remaining) [ 0 "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039990.383 units remaining) + - location: 16 (remaining gas: 1039990.843 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039990.373 units remaining) + - location: 17 (remaining gas: 1039990.833 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039990.363 units remaining) + - location: 18 (remaining gas: 1039990.823 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039990.353 units remaining) + - location: 20 (remaining gas: 1039990.813 units remaining) [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" index 64cbdaa7e973..54bd4fe5b199 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.318 units remaining) + - location: 10 (remaining gas: 1039991.768 units remaining) [ (Pair (Pair 100 "1970-01-01T00:01:40Z") None) ] - - location: 10 (remaining gas: 1039991.308 units remaining) + - location: 10 (remaining gas: 1039991.758 units remaining) [ (Pair 100 "1970-01-01T00:01:40Z") ] - - location: 11 (remaining gas: 1039991.298 units remaining) + - location: 11 (remaining gas: 1039991.748 units remaining) [ (Pair 100 "1970-01-01T00:01:40Z") (Pair 100 "1970-01-01T00:01:40Z") ] - - location: 12 (remaining gas: 1039991.288 units remaining) + - location: 12 (remaining gas: 1039991.738 units remaining) [ 100 (Pair 100 "1970-01-01T00:01:40Z") ] - - location: 13 (remaining gas: 1039991.278 units remaining) + - location: 13 (remaining gas: 1039991.738 units remaining) [ (Pair 100 "1970-01-01T00:01:40Z") ] - - location: 15 (remaining gas: 1039991.268 units remaining) + - location: 15 (remaining gas: 1039991.728 units remaining) [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039991.248 units remaining) + - location: 13 (remaining gas: 1039991.708 units remaining) [ 100 "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039991.213 units remaining) + - location: 16 (remaining gas: 1039991.673 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039991.203 units remaining) + - location: 17 (remaining gas: 1039991.663 units remaining) [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039991.193 units remaining) + - location: 18 (remaining gas: 1039991.653 units remaining) [ {} (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039991.183 units remaining) + - location: 20 (remaining gas: 1039991.643 units remaining) [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" index db3a3d3726a7..dadc8349768e 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.488 units remaining) + - location: 10 (remaining gas: 1039990.938 units remaining) [ (Pair (Pair "1970-01-01T00:00:00Z" 0) None) ] - - location: 10 (remaining gas: 1039990.478 units remaining) + - location: 10 (remaining gas: 1039990.928 units remaining) [ (Pair "1970-01-01T00:00:00Z" 0) ] - - location: 11 (remaining gas: 1039990.468 units remaining) + - location: 11 (remaining gas: 1039990.918 units remaining) [ (Pair "1970-01-01T00:00:00Z" 0) (Pair "1970-01-01T00:00:00Z" 0) ] - - location: 12 (remaining gas: 1039990.458 units remaining) + - location: 12 (remaining gas: 1039990.908 units remaining) [ "1970-01-01T00:00:00Z" (Pair "1970-01-01T00:00:00Z" 0) ] - - location: 13 (remaining gas: 1039990.448 units remaining) + - location: 13 (remaining gas: 1039990.908 units remaining) [ (Pair "1970-01-01T00:00:00Z" 0) ] - - location: 15 (remaining gas: 1039990.438 units remaining) + - location: 15 (remaining gas: 1039990.898 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039990.418 units remaining) + - location: 13 (remaining gas: 1039990.878 units remaining) [ "1970-01-01T00:00:00Z" 0 ] - - location: 16 (remaining gas: 1039990.383 units remaining) + - location: 16 (remaining gas: 1039990.843 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039990.373 units remaining) + - location: 17 (remaining gas: 1039990.833 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039990.363 units remaining) + - location: 18 (remaining gas: 1039990.823 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039990.353 units remaining) + - location: 20 (remaining gas: 1039990.813 units remaining) [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" index 9b05e56a4781..c5063d3341b5 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.318 units remaining) + - location: 10 (remaining gas: 1039991.768 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" -100) None) ] - - location: 10 (remaining gas: 1039991.308 units remaining) + - location: 10 (remaining gas: 1039991.758 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 11 (remaining gas: 1039991.298 units remaining) + - location: 11 (remaining gas: 1039991.748 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 12 (remaining gas: 1039991.288 units remaining) + - location: 12 (remaining gas: 1039991.738 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 13 (remaining gas: 1039991.278 units remaining) + - location: 13 (remaining gas: 1039991.738 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 15 (remaining gas: 1039991.268 units remaining) + - location: 15 (remaining gas: 1039991.728 units remaining) [ -100 ] - - location: 13 (remaining gas: 1039991.248 units remaining) + - location: 13 (remaining gas: 1039991.708 units remaining) [ "1970-01-01T00:01:40Z" -100 ] - - location: 16 (remaining gas: 1039991.213 units remaining) + - location: 16 (remaining gas: 1039991.673 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039991.203 units remaining) + - location: 17 (remaining gas: 1039991.663 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039991.193 units remaining) + - location: 18 (remaining gas: 1039991.653 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039991.183 units remaining) + - location: 20 (remaining gas: 1039991.643 units remaining) [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" index 79e001b50721..6956b0f62491 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.318 units remaining) + - location: 10 (remaining gas: 1039991.768 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" 100) None) ] - - location: 10 (remaining gas: 1039991.308 units remaining) + - location: 10 (remaining gas: 1039991.758 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 11 (remaining gas: 1039991.298 units remaining) + - location: 11 (remaining gas: 1039991.748 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 12 (remaining gas: 1039991.288 units remaining) + - location: 12 (remaining gas: 1039991.738 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 13 (remaining gas: 1039991.278 units remaining) + - location: 13 (remaining gas: 1039991.738 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 15 (remaining gas: 1039991.268 units remaining) + - location: 15 (remaining gas: 1039991.728 units remaining) [ 100 ] - - location: 13 (remaining gas: 1039991.248 units remaining) + - location: 13 (remaining gas: 1039991.708 units remaining) [ "1970-01-01T00:01:40Z" 100 ] - - location: 16 (remaining gas: 1039991.213 units remaining) + - location: 16 (remaining gas: 1039991.673 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039991.203 units remaining) + - location: 17 (remaining gas: 1039991.663 units remaining) [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039991.193 units remaining) + - location: 18 (remaining gas: 1039991.653 units remaining) [ {} (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039991.183 units remaining) + - location: 20 (remaining gas: 1039991.643 units remaining) [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" index 7760ae78c112..0cabc4b6b773 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.014 units remaining) + - location: 9 (remaining gas: 1039991.239 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" None) ] - - location: 9 (remaining gas: 1039991.004 units remaining) + - location: 9 (remaining gas: 1039991.229 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 10 (remaining gas: 1039990.994 units remaining) + - location: 10 (remaining gas: 1039991.219 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 11 (remaining gas: 1039990.984 units remaining) + - location: 11 (remaining gas: 1039991.209 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 12 (remaining gas: 1039990.974 units remaining) + - location: 12 (remaining gas: 1039991.199 units remaining) [ {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 14 (remaining gas: 1039990.964 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out index caa1b5e80f67..30eb2ad22f42 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out @@ -7,25 +7,25 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.068 units remaining) + - location: 10 (remaining gas: 1039992.428 units remaining) [ (Pair (Pair False False) None) ] - - location: 10 (remaining gas: 1039992.058 units remaining) + - location: 10 (remaining gas: 1039992.418 units remaining) [ (Pair False False) ] - - location: 11 (remaining gas: 1039992.048 units remaining) + - location: 11 (remaining gas: 1039992.408 units remaining) [ False False ] - - location: 12 (remaining gas: 1039992.038 units remaining) + - location: 12 (remaining gas: 1039992.398 units remaining) [ False ] - - location: 13 (remaining gas: 1039992.028 units remaining) + - location: 13 (remaining gas: 1039992.388 units remaining) [ (Some False) ] - - location: 14 (remaining gas: 1039992.018 units remaining) + - location: 14 (remaining gas: 1039992.378 units remaining) [ {} (Some False) ] - - location: 16 (remaining gas: 1039992.008 units remaining) + - location: 16 (remaining gas: 1039992.368 units remaining) [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039991.998 units remaining) + - location: 17 (remaining gas: 1039992.358 units remaining) [ {} (Some False) ] - - location: 18 (remaining gas: 1039991.988 units remaining) + - location: 18 (remaining gas: 1039992.348 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out index d83c79ab78e1..7e393c214348 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out @@ -7,25 +7,25 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.068 units remaining) + - location: 10 (remaining gas: 1039992.428 units remaining) [ (Pair (Pair False True) None) ] - - location: 10 (remaining gas: 1039992.058 units remaining) + - location: 10 (remaining gas: 1039992.418 units remaining) [ (Pair False True) ] - - location: 11 (remaining gas: 1039992.048 units remaining) + - location: 11 (remaining gas: 1039992.408 units remaining) [ False True ] - - location: 12 (remaining gas: 1039992.038 units remaining) + - location: 12 (remaining gas: 1039992.398 units remaining) [ False ] - - location: 13 (remaining gas: 1039992.028 units remaining) + - location: 13 (remaining gas: 1039992.388 units remaining) [ (Some False) ] - - location: 14 (remaining gas: 1039992.018 units remaining) + - location: 14 (remaining gas: 1039992.378 units remaining) [ {} (Some False) ] - - location: 16 (remaining gas: 1039992.008 units remaining) + - location: 16 (remaining gas: 1039992.368 units remaining) [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039991.998 units remaining) + - location: 17 (remaining gas: 1039992.358 units remaining) [ {} (Some False) ] - - location: 18 (remaining gas: 1039991.988 units remaining) + - location: 18 (remaining gas: 1039992.348 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out index 1ad6be77d1ce..2e0ad2866a8e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out @@ -7,25 +7,25 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.068 units remaining) + - location: 10 (remaining gas: 1039992.428 units remaining) [ (Pair (Pair True False) None) ] - - location: 10 (remaining gas: 1039992.058 units remaining) + - location: 10 (remaining gas: 1039992.418 units remaining) [ (Pair True False) ] - - location: 11 (remaining gas: 1039992.048 units remaining) + - location: 11 (remaining gas: 1039992.408 units remaining) [ True False ] - - location: 12 (remaining gas: 1039992.038 units remaining) + - location: 12 (remaining gas: 1039992.398 units remaining) [ False ] - - location: 13 (remaining gas: 1039992.028 units remaining) + - location: 13 (remaining gas: 1039992.388 units remaining) [ (Some False) ] - - location: 14 (remaining gas: 1039992.018 units remaining) + - location: 14 (remaining gas: 1039992.378 units remaining) [ {} (Some False) ] - - location: 16 (remaining gas: 1039992.008 units remaining) + - location: 16 (remaining gas: 1039992.368 units remaining) [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039991.998 units remaining) + - location: 17 (remaining gas: 1039992.358 units remaining) [ {} (Some False) ] - - location: 18 (remaining gas: 1039991.988 units remaining) + - location: 18 (remaining gas: 1039992.348 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out index 1f9db0fc15e3..a9eea2d17842 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out @@ -7,25 +7,25 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.068 units remaining) + - location: 10 (remaining gas: 1039992.428 units remaining) [ (Pair (Pair True True) None) ] - - location: 10 (remaining gas: 1039992.058 units remaining) + - location: 10 (remaining gas: 1039992.418 units remaining) [ (Pair True True) ] - - location: 11 (remaining gas: 1039992.048 units remaining) + - location: 11 (remaining gas: 1039992.408 units remaining) [ True True ] - - location: 12 (remaining gas: 1039992.038 units remaining) + - location: 12 (remaining gas: 1039992.398 units remaining) [ True ] - - location: 13 (remaining gas: 1039992.028 units remaining) + - location: 13 (remaining gas: 1039992.388 units remaining) [ (Some True) ] - - location: 14 (remaining gas: 1039992.018 units remaining) + - location: 14 (remaining gas: 1039992.378 units remaining) [ {} (Some True) ] - - location: 16 (remaining gas: 1039992.008 units remaining) + - location: 16 (remaining gas: 1039992.368 units remaining) [ (Pair {} (Some True)) ] - - location: 17 (remaining gas: 1039991.998 units remaining) + - location: 17 (remaining gas: 1039992.358 units remaining) [ {} (Some True) ] - - location: 18 (remaining gas: 1039991.988 units remaining) + - location: 18 (remaining gas: 1039992.348 units remaining) [ (Pair {} (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out index 2f95f5baf1bb..c744b76ff201 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out @@ -7,87 +7,87 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039962.536 units remaining) + - location: 7 (remaining gas: 1039963.751 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039962.526 units remaining) + - location: 7 (remaining gas: 1039963.741 units remaining) [ ] - - location: 8 (remaining gas: 1039962.516 units remaining) + - location: 8 (remaining gas: 1039963.731 units remaining) [ 5 ] - - location: 11 (remaining gas: 1039962.506 units remaining) + - location: 11 (remaining gas: 1039963.721 units remaining) [ 6 5 ] - - location: 14 (remaining gas: 1039962.471 units remaining) + - location: 14 (remaining gas: 1039963.686 units remaining) [ 4 ] - - location: 15 (remaining gas: 1039962.461 units remaining) + - location: 15 (remaining gas: 1039963.676 units remaining) [ 4 4 ] - - location: 20 (remaining gas: 1039962.426 units remaining) + - location: 20 (remaining gas: 1039963.641 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039962.416 units remaining) + - location: 21 (remaining gas: 1039963.631 units remaining) [ True ] - - location: 22 (remaining gas: 1039962.406 units remaining) + - location: 22 (remaining gas: 1039963.631 units remaining) [ ] - - location: 22 (remaining gas: 1039962.396 units remaining) + - location: 22 (remaining gas: 1039963.621 units remaining) [ ] - - location: 28 (remaining gas: 1039962.386 units remaining) + - location: 28 (remaining gas: 1039963.611 units remaining) [ 6 ] - - location: 31 (remaining gas: 1039962.376 units remaining) + - location: 31 (remaining gas: 1039963.601 units remaining) [ 5 6 ] - - location: 34 (remaining gas: 1039962.341 units remaining) + - location: 34 (remaining gas: 1039963.566 units remaining) [ 4 ] - - location: 35 (remaining gas: 1039962.331 units remaining) + - location: 35 (remaining gas: 1039963.556 units remaining) [ 4 4 ] - - location: 40 (remaining gas: 1039962.296 units remaining) + - location: 40 (remaining gas: 1039963.521 units remaining) [ 0 ] - - location: 41 (remaining gas: 1039962.286 units remaining) + - location: 41 (remaining gas: 1039963.511 units remaining) [ True ] - - location: 42 (remaining gas: 1039962.276 units remaining) + - location: 42 (remaining gas: 1039963.511 units remaining) [ ] - - location: 42 (remaining gas: 1039962.266 units remaining) + - location: 42 (remaining gas: 1039963.501 units remaining) [ ] - - location: 48 (remaining gas: 1039962.256 units remaining) + - location: 48 (remaining gas: 1039963.491 units remaining) [ 12 ] - - location: 51 (remaining gas: 1039962.246 units remaining) + - location: 51 (remaining gas: 1039963.481 units remaining) [ -1 12 ] - - location: 54 (remaining gas: 1039962.211 units remaining) + - location: 54 (remaining gas: 1039963.446 units remaining) [ 12 ] - - location: 55 (remaining gas: 1039962.201 units remaining) + - location: 55 (remaining gas: 1039963.436 units remaining) [ 12 12 ] - - location: 60 (remaining gas: 1039962.166 units remaining) + - location: 60 (remaining gas: 1039963.401 units remaining) [ 0 ] - - location: 61 (remaining gas: 1039962.156 units remaining) + - location: 61 (remaining gas: 1039963.391 units remaining) [ True ] - - location: 62 (remaining gas: 1039962.146 units remaining) + - location: 62 (remaining gas: 1039963.391 units remaining) [ ] - - location: 62 (remaining gas: 1039962.136 units remaining) + - location: 62 (remaining gas: 1039963.381 units remaining) [ ] - - location: 68 (remaining gas: 1039962.126 units remaining) + - location: 68 (remaining gas: 1039963.371 units remaining) [ 12 ] - - location: 71 (remaining gas: 1039962.116 units remaining) + - location: 71 (remaining gas: 1039963.361 units remaining) [ -5 12 ] - - location: 74 (remaining gas: 1039962.081 units remaining) + - location: 74 (remaining gas: 1039963.326 units remaining) [ 8 ] - - location: 75 (remaining gas: 1039962.071 units remaining) + - location: 75 (remaining gas: 1039963.316 units remaining) [ 8 8 ] - - location: 80 (remaining gas: 1039962.036 units remaining) + - location: 80 (remaining gas: 1039963.281 units remaining) [ 0 ] - - location: 81 (remaining gas: 1039962.026 units remaining) + - location: 81 (remaining gas: 1039963.271 units remaining) [ True ] - - location: 82 (remaining gas: 1039962.016 units remaining) + - location: 82 (remaining gas: 1039963.271 units remaining) [ ] - - location: 82 (remaining gas: 1039962.006 units remaining) + - location: 82 (remaining gas: 1039963.261 units remaining) [ ] - - location: 88 (remaining gas: 1039961.996 units remaining) + - location: 88 (remaining gas: 1039963.251 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039961.986 units remaining) + - location: 89 (remaining gas: 1039963.241 units remaining) [ {} Unit ] - - location: 91 (remaining gas: 1039961.976 units remaining) + - location: 91 (remaining gas: 1039963.231 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out index 8f4b9c41cd82..62336a17b142 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.409 units remaining) + - location: 9 (remaining gas: 1039994.634 units remaining) [ (Pair (Pair False False) False) ] - - location: 9 (remaining gas: 1039994.399 units remaining) + - location: 9 (remaining gas: 1039994.624 units remaining) [ (Pair False False) ] - - location: 10 (remaining gas: 1039994.389 units remaining) + - location: 10 (remaining gas: 1039994.614 units remaining) [ False False ] - - location: 11 (remaining gas: 1039994.379 units remaining) + - location: 11 (remaining gas: 1039994.604 units remaining) [ False ] - - location: 12 (remaining gas: 1039994.369 units remaining) + - location: 12 (remaining gas: 1039994.594 units remaining) [ {} False ] - - location: 14 (remaining gas: 1039994.359 units remaining) + - location: 14 (remaining gas: 1039994.584 units remaining) [ (Pair {} False) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out index 0806f3295e00..335689c17a19 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.409 units remaining) + - location: 9 (remaining gas: 1039994.634 units remaining) [ (Pair (Pair False True) False) ] - - location: 9 (remaining gas: 1039994.399 units remaining) + - location: 9 (remaining gas: 1039994.624 units remaining) [ (Pair False True) ] - - location: 10 (remaining gas: 1039994.389 units remaining) + - location: 10 (remaining gas: 1039994.614 units remaining) [ False True ] - - location: 11 (remaining gas: 1039994.379 units remaining) + - location: 11 (remaining gas: 1039994.604 units remaining) [ False ] - - location: 12 (remaining gas: 1039994.369 units remaining) + - location: 12 (remaining gas: 1039994.594 units remaining) [ {} False ] - - location: 14 (remaining gas: 1039994.359 units remaining) + - location: 14 (remaining gas: 1039994.584 units remaining) [ (Pair {} False) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out index e0cc028b8f2f..15b16581ab1e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.409 units remaining) + - location: 9 (remaining gas: 1039994.634 units remaining) [ (Pair (Pair True False) False) ] - - location: 9 (remaining gas: 1039994.399 units remaining) + - location: 9 (remaining gas: 1039994.624 units remaining) [ (Pair True False) ] - - location: 10 (remaining gas: 1039994.389 units remaining) + - location: 10 (remaining gas: 1039994.614 units remaining) [ True False ] - - location: 11 (remaining gas: 1039994.379 units remaining) + - location: 11 (remaining gas: 1039994.604 units remaining) [ False ] - - location: 12 (remaining gas: 1039994.369 units remaining) + - location: 12 (remaining gas: 1039994.594 units remaining) [ {} False ] - - location: 14 (remaining gas: 1039994.359 units remaining) + - location: 14 (remaining gas: 1039994.584 units remaining) [ (Pair {} False) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out index 01df94ba4b74..37d45b4b84e9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.409 units remaining) + - location: 9 (remaining gas: 1039994.634 units remaining) [ (Pair (Pair True True) False) ] - - location: 9 (remaining gas: 1039994.399 units remaining) + - location: 9 (remaining gas: 1039994.624 units remaining) [ (Pair True True) ] - - location: 10 (remaining gas: 1039994.389 units remaining) + - location: 10 (remaining gas: 1039994.614 units remaining) [ True True ] - - location: 11 (remaining gas: 1039994.379 units remaining) + - location: 11 (remaining gas: 1039994.604 units remaining) [ True ] - - location: 12 (remaining gas: 1039994.369 units remaining) + - location: 12 (remaining gas: 1039994.594 units remaining) [ {} True ] - - location: 14 (remaining gas: 1039994.359 units remaining) + - location: 14 (remaining gas: 1039994.584 units remaining) [ (Pair {} True) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out index 542b68a1caa0..3dcff5104715 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 111) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.543 units remaining) + - location: 8 (remaining gas: 1039995.723 units remaining) [ 4000000000000 ] - - location: 9 (remaining gas: 1039995.533 units remaining) + - location: 9 (remaining gas: 1039995.713 units remaining) [ {} 4000000000000 ] - - location: 11 (remaining gas: 1039995.523 units remaining) + - location: 11 (remaining gas: 1039995.703 units remaining) [ (Pair {} 4000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out index 5538cf5b5410..165a36b095da 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out @@ -8,36 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[0] to 1 trace - - location: 12 (remaining gas: 1039988.651 units remaining) + - location: 12 (remaining gas: 1039989.146 units remaining) [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039988.641 units remaining) + - location: 12 (remaining gas: 1039989.136 units remaining) [ 1 (Pair { Elt 0 1 } None) ] - - location: 13 (remaining gas: 1039988.631 units remaining) + - location: 13 (remaining gas: 1039989.136 units remaining) [ (Pair { Elt 0 1 } None) ] - - location: 15 (remaining gas: 1039988.621 units remaining) + - location: 15 (remaining gas: 1039989.126 units remaining) [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039988.611 units remaining) + - location: 16 (remaining gas: 1039989.116 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: 13 (remaining gas: 1039988.591 units remaining) + - location: 13 (remaining gas: 1039989.096 units remaining) [ 1 { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039987.883 units remaining) + - location: 17 (remaining gas: 1039988.388 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039987.873 units remaining) + - location: 18 (remaining gas: 1039988.378 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039987.863 units remaining) + - location: 19 (remaining gas: 1039988.368 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039987.853 units remaining) + - location: 20 (remaining gas: 1039988.358 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039987.843 units remaining) + - location: 21 (remaining gas: 1039988.348 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039987.833 units remaining) + - location: 23 (remaining gas: 1039988.338 units remaining) [ (Pair {} { Elt 0 1 } (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out index aed39e8d3ff4..aa2408c32362 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out @@ -8,36 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[0] to 1 trace - - location: 12 (remaining gas: 1039988.651 units remaining) + - location: 12 (remaining gas: 1039989.146 units remaining) [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039988.641 units remaining) + - location: 12 (remaining gas: 1039989.136 units remaining) [ 1 (Pair { Elt 0 1 } None) ] - - location: 13 (remaining gas: 1039988.631 units remaining) + - location: 13 (remaining gas: 1039989.136 units remaining) [ (Pair { Elt 0 1 } None) ] - - location: 15 (remaining gas: 1039988.621 units remaining) + - location: 15 (remaining gas: 1039989.126 units remaining) [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039988.611 units remaining) + - location: 16 (remaining gas: 1039989.116 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: 13 (remaining gas: 1039988.591 units remaining) + - location: 13 (remaining gas: 1039989.096 units remaining) [ 1 { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039987.883 units remaining) + - location: 17 (remaining gas: 1039988.388 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039987.873 units remaining) + - location: 18 (remaining gas: 1039988.378 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039987.863 units remaining) + - location: 19 (remaining gas: 1039988.368 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039987.853 units remaining) + - location: 20 (remaining gas: 1039988.358 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039987.843 units remaining) + - location: 21 (remaining gas: 1039988.348 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039987.833 units remaining) + - location: 23 (remaining gas: 1039988.338 units remaining) [ (Pair {} { Elt 0 1 } (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out index da0a61305826..d67b8c4172a6 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out @@ -8,36 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[1] to 0 trace - - location: 12 (remaining gas: 1039988.651 units remaining) + - location: 12 (remaining gas: 1039989.146 units remaining) [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039988.641 units remaining) + - location: 12 (remaining gas: 1039989.136 units remaining) [ 1 (Pair { Elt 1 0 } None) ] - - location: 13 (remaining gas: 1039988.631 units remaining) + - location: 13 (remaining gas: 1039989.136 units remaining) [ (Pair { Elt 1 0 } None) ] - - location: 15 (remaining gas: 1039988.621 units remaining) + - location: 15 (remaining gas: 1039989.126 units remaining) [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039988.611 units remaining) + - location: 16 (remaining gas: 1039989.116 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: 13 (remaining gas: 1039988.591 units remaining) + - location: 13 (remaining gas: 1039989.096 units remaining) [ 1 { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039987.883 units remaining) + - location: 17 (remaining gas: 1039988.388 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039987.873 units remaining) + - location: 18 (remaining gas: 1039988.378 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039987.863 units remaining) + - location: 19 (remaining gas: 1039988.368 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039987.853 units remaining) + - location: 20 (remaining gas: 1039988.358 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039987.843 units remaining) + - location: 21 (remaining gas: 1039988.348 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039987.833 units remaining) + - location: 23 (remaining gas: 1039988.338 units remaining) [ (Pair {} { Elt 1 0 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.73700321f8.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.73700321f8.out index a8fd880a9516..8a930b9b7927 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.73700321f8.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 4 (S.73700321f8.out @@ -8,36 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[1] to 0 trace - - location: 12 (remaining gas: 1039988.651 units remaining) + - location: 12 (remaining gas: 1039989.146 units remaining) [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039988.641 units remaining) + - location: 12 (remaining gas: 1039989.136 units remaining) [ 1 (Pair { Elt 1 0 } None) ] - - location: 13 (remaining gas: 1039988.631 units remaining) + - location: 13 (remaining gas: 1039989.136 units remaining) [ (Pair { Elt 1 0 } None) ] - - location: 15 (remaining gas: 1039988.621 units remaining) + - location: 15 (remaining gas: 1039989.126 units remaining) [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039988.611 units remaining) + - location: 16 (remaining gas: 1039989.116 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: 13 (remaining gas: 1039988.591 units remaining) + - location: 13 (remaining gas: 1039989.096 units remaining) [ 1 { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039987.883 units remaining) + - location: 17 (remaining gas: 1039988.388 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039987.873 units remaining) + - location: 18 (remaining gas: 1039988.378 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039987.863 units remaining) + - location: 19 (remaining gas: 1039988.368 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039987.853 units remaining) + - location: 20 (remaining gas: 1039988.358 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039987.843 units remaining) + - location: 21 (remaining gas: 1039988.348 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039987.833 units remaining) + - location: 23 (remaining gas: 1039988.338 units remaining) [ (Pair {} { Elt 1 0 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.1182eca937.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.1182eca937.out index d48928ac663c..e4795aa8d61b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.1182eca937.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.1182eca937.out @@ -9,36 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 12 (remaining gas: 1039987.695 units remaining) + - location: 12 (remaining gas: 1039988.190 units remaining) [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039987.685 units remaining) + - location: 12 (remaining gas: 1039988.180 units remaining) [ 1 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039987.675 units remaining) + - location: 13 (remaining gas: 1039988.180 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039987.665 units remaining) + - location: 15 (remaining gas: 1039988.170 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039987.655 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039987.635 units remaining) + - location: 13 (remaining gas: 1039988.140 units remaining) [ 1 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.926 units remaining) + - location: 17 (remaining gas: 1039987.431 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.916 units remaining) + - location: 18 (remaining gas: 1039987.421 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.906 units remaining) + - location: 19 (remaining gas: 1039987.411 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039986.896 units remaining) + - location: 20 (remaining gas: 1039987.401 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039986.886 units remaining) + - location: 21 (remaining gas: 1039987.391 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039986.876 units remaining) + - location: 23 (remaining gas: 1039987.381 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out index 54dc49a9ae81..bf93f21b7f7a 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out @@ -9,36 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 12 (remaining gas: 1039987.695 units remaining) + - location: 12 (remaining gas: 1039988.190 units remaining) [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039987.685 units remaining) + - location: 12 (remaining gas: 1039988.180 units remaining) [ 1 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039987.675 units remaining) + - location: 13 (remaining gas: 1039988.180 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039987.665 units remaining) + - location: 15 (remaining gas: 1039988.170 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039987.655 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039987.635 units remaining) + - location: 13 (remaining gas: 1039988.140 units remaining) [ 1 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.926 units remaining) + - location: 17 (remaining gas: 1039987.431 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.916 units remaining) + - location: 18 (remaining gas: 1039987.421 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.906 units remaining) + - location: 19 (remaining gas: 1039987.411 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039986.896 units remaining) + - location: 20 (remaining gas: 1039987.401 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039986.886 units remaining) + - location: 21 (remaining gas: 1039987.391 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039986.876 units remaining) + - location: 23 (remaining gas: 1039987.381 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.1eead33885.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.1eead33885.out index 6f8c0f077397..22fc95bb84e2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.1eead33885.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.1eead33885.out @@ -9,36 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 12 (remaining gas: 1039987.695 units remaining) + - location: 12 (remaining gas: 1039988.190 units remaining) [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039987.685 units remaining) + - location: 12 (remaining gas: 1039988.180 units remaining) [ 2 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039987.675 units remaining) + - location: 13 (remaining gas: 1039988.180 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039987.665 units remaining) + - location: 15 (remaining gas: 1039988.170 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039987.655 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039987.635 units remaining) + - location: 13 (remaining gas: 1039988.140 units remaining) [ 2 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.926 units remaining) + - location: 17 (remaining gas: 1039987.431 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.916 units remaining) + - location: 18 (remaining gas: 1039987.421 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.906 units remaining) + - location: 19 (remaining gas: 1039987.411 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039986.896 units remaining) + - location: 20 (remaining gas: 1039987.401 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039986.886 units remaining) + - location: 21 (remaining gas: 1039987.391 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039986.876 units remaining) + - location: 23 (remaining gas: 1039987.381 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out index 7d7085b70890..edf157afc581 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out @@ -9,36 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 12 (remaining gas: 1039987.695 units remaining) + - location: 12 (remaining gas: 1039988.190 units remaining) [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039987.685 units remaining) + - location: 12 (remaining gas: 1039988.180 units remaining) [ 2 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039987.675 units remaining) + - location: 13 (remaining gas: 1039988.180 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039987.665 units remaining) + - location: 15 (remaining gas: 1039988.170 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039987.655 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039987.635 units remaining) + - location: 13 (remaining gas: 1039988.140 units remaining) [ 2 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.926 units remaining) + - location: 17 (remaining gas: 1039987.431 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.916 units remaining) + - location: 18 (remaining gas: 1039987.421 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.906 units remaining) + - location: 19 (remaining gas: 1039987.411 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039986.896 units remaining) + - location: 20 (remaining gas: 1039987.401 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039986.886 units remaining) + - location: 21 (remaining gas: 1039987.391 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039986.876 units remaining) + - location: 23 (remaining gas: 1039987.381 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out index b8a3a844643b..a0d8c5f3b05b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out @@ -9,36 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 12 (remaining gas: 1039987.695 units remaining) + - location: 12 (remaining gas: 1039988.190 units remaining) [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039987.685 units remaining) + - location: 12 (remaining gas: 1039988.180 units remaining) [ 3 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039987.675 units remaining) + - location: 13 (remaining gas: 1039988.180 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039987.665 units remaining) + - location: 15 (remaining gas: 1039988.170 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039987.655 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039987.635 units remaining) + - location: 13 (remaining gas: 1039988.140 units remaining) [ 3 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.926 units remaining) + - location: 17 (remaining gas: 1039987.431 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.916 units remaining) + - location: 18 (remaining gas: 1039987.421 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.906 units remaining) + - location: 19 (remaining gas: 1039987.411 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039986.896 units remaining) + - location: 20 (remaining gas: 1039987.401 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039986.886 units remaining) + - location: 21 (remaining gas: 1039987.391 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039986.876 units remaining) + - location: 23 (remaining gas: 1039987.381 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out index a8494f3f06ab..3fb30cca211c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out @@ -9,36 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 12 (remaining gas: 1039987.695 units remaining) + - location: 12 (remaining gas: 1039988.190 units remaining) [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039987.685 units remaining) + - location: 12 (remaining gas: 1039988.180 units remaining) [ 3 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039987.675 units remaining) + - location: 13 (remaining gas: 1039988.180 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039987.665 units remaining) + - location: 15 (remaining gas: 1039988.170 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039987.655 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039987.635 units remaining) + - location: 13 (remaining gas: 1039988.140 units remaining) [ 3 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.926 units remaining) + - location: 17 (remaining gas: 1039987.431 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.916 units remaining) + - location: 18 (remaining gas: 1039987.421 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.906 units remaining) + - location: 19 (remaining gas: 1039987.411 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039986.896 units remaining) + - location: 20 (remaining gas: 1039987.401 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039986.886 units remaining) + - location: 21 (remaining gas: 1039987.391 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039986.876 units remaining) + - location: 23 (remaining gas: 1039987.381 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))0].out index 3f84ab198be4..9a25be3be85b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))0].out @@ -7,36 +7,36 @@ emitted operations big_map diff New map(4) of type (big_map nat nat) trace - - location: 12 (remaining gas: 1039989.569 units remaining) + - location: 12 (remaining gas: 1039990.064 units remaining) [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039989.559 units remaining) + - location: 12 (remaining gas: 1039990.054 units remaining) [ 1 (Pair {} None) ] - - location: 13 (remaining gas: 1039989.549 units remaining) + - location: 13 (remaining gas: 1039990.054 units remaining) [ (Pair {} None) ] - - location: 15 (remaining gas: 1039989.539 units remaining) + - location: 15 (remaining gas: 1039990.044 units remaining) [ {} ] - - location: 16 (remaining gas: 1039989.529 units remaining) + - location: 16 (remaining gas: 1039990.034 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039989.509 units remaining) + - location: 13 (remaining gas: 1039990.014 units remaining) [ 1 {} {} ] - - location: 17 (remaining gas: 1039988.803 units remaining) + - location: 17 (remaining gas: 1039989.308 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039988.793 units remaining) + - location: 18 (remaining gas: 1039989.298 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039988.783 units remaining) + - location: 19 (remaining gas: 1039989.288 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039988.773 units remaining) + - location: 20 (remaining gas: 1039989.278 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039988.763 units remaining) + - location: 21 (remaining gas: 1039989.268 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039988.753 units remaining) + - location: 23 (remaining gas: 1039989.258 units remaining) [ (Pair {} {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))1].out index 5bb466121d92..8cb9532a10a8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 4 (Some False))1].out @@ -7,36 +7,36 @@ emitted operations big_map diff New map(4) of type (big_map nat nat) trace - - location: 12 (remaining gas: 1039989.569 units remaining) + - location: 12 (remaining gas: 1039990.064 units remaining) [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039989.559 units remaining) + - location: 12 (remaining gas: 1039990.054 units remaining) [ 1 (Pair {} None) ] - - location: 13 (remaining gas: 1039989.549 units remaining) + - location: 13 (remaining gas: 1039990.054 units remaining) [ (Pair {} None) ] - - location: 15 (remaining gas: 1039989.539 units remaining) + - location: 15 (remaining gas: 1039990.044 units remaining) [ {} ] - - location: 16 (remaining gas: 1039989.529 units remaining) + - location: 16 (remaining gas: 1039990.034 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039989.509 units remaining) + - location: 13 (remaining gas: 1039990.014 units remaining) [ 1 {} {} ] - - location: 17 (remaining gas: 1039988.803 units remaining) + - location: 17 (remaining gas: 1039989.308 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039988.793 units remaining) + - location: 18 (remaining gas: 1039989.298 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039988.783 units remaining) + - location: 19 (remaining gas: 1039989.288 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039988.773 units remaining) + - location: 20 (remaining gas: 1039989.278 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039988.763 units remaining) + - location: 21 (remaining gas: 1039989.268 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039988.753 units remaining) + - location: 23 (remaining gas: 1039989.258 units remaining) [ (Pair {} {} (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" index 50e59e4c2f78..e19fa67c7760 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" @@ -9,36 +9,36 @@ big_map diff Set map(4)["bar"] to 4 Set map(4)["foo"] to 11 trace - - location: 12 (remaining gas: 1039987.153 units remaining) + - location: 12 (remaining gas: 1039987.648 units remaining) [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039987.143 units remaining) + - location: 12 (remaining gas: 1039987.638 units remaining) [ "baz" (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 13 (remaining gas: 1039987.133 units remaining) + - location: 13 (remaining gas: 1039987.638 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 15 (remaining gas: 1039987.123 units remaining) + - location: 15 (remaining gas: 1039987.628 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039987.113 units remaining) + - location: 16 (remaining gas: 1039987.618 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039987.093 units remaining) + - location: 13 (remaining gas: 1039987.598 units remaining) [ "baz" { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039986.179 units remaining) + - location: 17 (remaining gas: 1039986.684 units remaining) [ False { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039986.169 units remaining) + - location: 18 (remaining gas: 1039986.674 units remaining) [ (Some False) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039986.159 units remaining) + - location: 19 (remaining gas: 1039986.664 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some False) ] - - location: 20 (remaining gas: 1039986.149 units remaining) + - location: 20 (remaining gas: 1039986.654 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039986.139 units remaining) + - location: 21 (remaining gas: 1039986.644 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039986.129 units remaining) + - location: 23 (remaining gas: 1039986.634 units remaining) [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" index 03e0c6932236..a844a69a7f6f 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" @@ -9,36 +9,36 @@ big_map diff Set map(4)["bar"] to 4 Set map(4)["foo"] to 11 trace - - location: 12 (remaining gas: 1039987.153 units remaining) + - location: 12 (remaining gas: 1039987.648 units remaining) [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039987.143 units remaining) + - location: 12 (remaining gas: 1039987.638 units remaining) [ "foo" (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 13 (remaining gas: 1039987.133 units remaining) + - location: 13 (remaining gas: 1039987.638 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 15 (remaining gas: 1039987.123 units remaining) + - location: 15 (remaining gas: 1039987.628 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039987.113 units remaining) + - location: 16 (remaining gas: 1039987.618 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039987.093 units remaining) + - location: 13 (remaining gas: 1039987.598 units remaining) [ "foo" { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039986.179 units remaining) + - location: 17 (remaining gas: 1039986.684 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039986.169 units remaining) + - location: 18 (remaining gas: 1039986.674 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039986.159 units remaining) + - location: 19 (remaining gas: 1039986.664 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039986.149 units remaining) + - location: 20 (remaining gas: 1039986.654 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039986.139 units remaining) + - location: 21 (remaining gas: 1039986.644 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039986.129 units remaining) + - location: 23 (remaining gas: 1039986.634 units remaining) [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" index 3162ddd8be95..931e1a08f502 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" @@ -9,36 +9,36 @@ big_map diff Set map(4)["bar"] to 4 Set map(4)["foo"] to 11 trace - - location: 12 (remaining gas: 1039987.153 units remaining) + - location: 12 (remaining gas: 1039987.648 units remaining) [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039987.143 units remaining) + - location: 12 (remaining gas: 1039987.638 units remaining) [ "bar" (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 13 (remaining gas: 1039987.133 units remaining) + - location: 13 (remaining gas: 1039987.638 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 15 (remaining gas: 1039987.123 units remaining) + - location: 15 (remaining gas: 1039987.628 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039987.113 units remaining) + - location: 16 (remaining gas: 1039987.618 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039987.093 units remaining) + - location: 13 (remaining gas: 1039987.598 units remaining) [ "bar" { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039986.179 units remaining) + - location: 17 (remaining gas: 1039986.684 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039986.169 units remaining) + - location: 18 (remaining gas: 1039986.674 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039986.159 units remaining) + - location: 19 (remaining gas: 1039986.664 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039986.149 units remaining) + - location: 20 (remaining gas: 1039986.654 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039986.139 units remaining) + - location: 21 (remaining gas: 1039986.644 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039986.129 units remaining) + - location: 23 (remaining gas: 1039986.634 units remaining) [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".968709d39d.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".968709d39d.out" index aa28b548c3c7..7c4fb2f56a21 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".968709d39d.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".968709d39d.out" @@ -8,36 +8,36 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["foo"] to 0 trace - - location: 12 (remaining gas: 1039988.358 units remaining) + - location: 12 (remaining gas: 1039988.853 units remaining) [ (Pair "foo" { Elt "foo" 0 } None) ] - - location: 12 (remaining gas: 1039988.348 units remaining) + - location: 12 (remaining gas: 1039988.843 units remaining) [ "foo" (Pair { Elt "foo" 0 } None) ] - - location: 13 (remaining gas: 1039988.338 units remaining) + - location: 13 (remaining gas: 1039988.843 units remaining) [ (Pair { Elt "foo" 0 } None) ] - - location: 15 (remaining gas: 1039988.328 units remaining) + - location: 15 (remaining gas: 1039988.833 units remaining) [ { Elt "foo" 0 } ] - - location: 16 (remaining gas: 1039988.318 units remaining) + - location: 16 (remaining gas: 1039988.823 units remaining) [ { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039988.298 units remaining) + - location: 13 (remaining gas: 1039988.803 units remaining) [ "foo" { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039987.385 units remaining) + - location: 17 (remaining gas: 1039987.890 units remaining) [ True { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039987.375 units remaining) + - location: 18 (remaining gas: 1039987.880 units remaining) [ (Some True) { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039987.365 units remaining) + - location: 19 (remaining gas: 1039987.870 units remaining) [ { Elt "foo" 0 } (Some True) ] - - location: 20 (remaining gas: 1039987.355 units remaining) + - location: 20 (remaining gas: 1039987.860 units remaining) [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039987.345 units remaining) + - location: 21 (remaining gas: 1039987.850 units remaining) [ {} (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039987.335 units remaining) + - location: 23 (remaining gas: 1039987.840 units remaining) [ (Pair {} { Elt "foo" 0 } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" index e59c977b70ee..80513c7a3771 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" @@ -8,36 +8,36 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["foo"] to 1 trace - - location: 12 (remaining gas: 1039988.358 units remaining) + - location: 12 (remaining gas: 1039988.853 units remaining) [ (Pair "bar" { Elt "foo" 1 } None) ] - - location: 12 (remaining gas: 1039988.348 units remaining) + - location: 12 (remaining gas: 1039988.843 units remaining) [ "bar" (Pair { Elt "foo" 1 } None) ] - - location: 13 (remaining gas: 1039988.338 units remaining) + - location: 13 (remaining gas: 1039988.843 units remaining) [ (Pair { Elt "foo" 1 } None) ] - - location: 15 (remaining gas: 1039988.328 units remaining) + - location: 15 (remaining gas: 1039988.833 units remaining) [ { Elt "foo" 1 } ] - - location: 16 (remaining gas: 1039988.318 units remaining) + - location: 16 (remaining gas: 1039988.823 units remaining) [ { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039988.298 units remaining) + - location: 13 (remaining gas: 1039988.803 units remaining) [ "bar" { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039987.385 units remaining) + - location: 17 (remaining gas: 1039987.890 units remaining) [ False { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039987.375 units remaining) + - location: 18 (remaining gas: 1039987.880 units remaining) [ (Some False) { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039987.365 units remaining) + - location: 19 (remaining gas: 1039987.870 units remaining) [ { Elt "foo" 1 } (Some False) ] - - location: 20 (remaining gas: 1039987.355 units remaining) + - location: 20 (remaining gas: 1039987.860 units remaining) [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039987.345 units remaining) + - location: 21 (remaining gas: 1039987.850 units remaining) [ {} (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039987.335 units remaining) + - location: 23 (remaining gas: 1039987.840 units remaining) [ (Pair {} { Elt "foo" 1 } (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 4 (Some False))].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 4 (Some False))].out" index 87788fab42f0..0b9ee76da49e 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 4 (Some False))].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 4 (Some False))].out" @@ -7,36 +7,36 @@ emitted operations big_map diff New map(4) of type (big_map string nat) trace - - location: 12 (remaining gas: 1039989.525 units remaining) + - location: 12 (remaining gas: 1039990.020 units remaining) [ (Pair "bar" {} None) ] - - location: 12 (remaining gas: 1039989.515 units remaining) + - location: 12 (remaining gas: 1039990.010 units remaining) [ "bar" (Pair {} None) ] - - location: 13 (remaining gas: 1039989.505 units remaining) + - location: 13 (remaining gas: 1039990.010 units remaining) [ (Pair {} None) ] - - location: 15 (remaining gas: 1039989.495 units remaining) + - location: 15 (remaining gas: 1039990 units remaining) [ {} ] - - location: 16 (remaining gas: 1039989.485 units remaining) + - location: 16 (remaining gas: 1039989.990 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039989.465 units remaining) + - location: 13 (remaining gas: 1039989.970 units remaining) [ "bar" {} {} ] - - location: 17 (remaining gas: 1039988.554 units remaining) + - location: 17 (remaining gas: 1039989.059 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039988.544 units remaining) + - location: 18 (remaining gas: 1039989.049 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039988.534 units remaining) + - location: 19 (remaining gas: 1039989.039 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039988.524 units remaining) + - location: 20 (remaining gas: 1039989.029 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039988.514 units remaining) + - location: 21 (remaining gas: 1039989.019 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039988.504 units remaining) + - location: 23 (remaining gas: 1039989.009 units remaining) [ (Pair {} {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out index fa13c847d6ed..5e613afcbedf 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.186 units remaining) + - location: 8 (remaining gas: 1039994.366 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039994.176 units remaining) + - location: 8 (remaining gas: 1039994.356 units remaining) [ ] - - location: 9 (remaining gas: 1039994.166 units remaining) + - location: 9 (remaining gas: 1039994.346 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.156 units remaining) + - location: 12 (remaining gas: 1039994.336 units remaining) [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 13 (remaining gas: 1039994.146 units remaining) + - location: 13 (remaining gas: 1039994.326 units remaining) [ {} (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 15 (remaining gas: 1039994.136 units remaining) + - location: 15 (remaining gas: 1039994.316 units remaining) [ (Pair {} (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out index c0e566b6c5fb..edaca46edd0b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.186 units remaining) + - location: 8 (remaining gas: 1039994.366 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039994.176 units remaining) + - location: 8 (remaining gas: 1039994.356 units remaining) [ ] - - location: 9 (remaining gas: 1039994.166 units remaining) + - location: 9 (remaining gas: 1039994.346 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.156 units remaining) + - location: 12 (remaining gas: 1039994.336 units remaining) [ (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: 13 (remaining gas: 1039994.146 units remaining) + - location: 13 (remaining gas: 1039994.326 units remaining) [ {} (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: 15 (remaining gas: 1039994.136 units remaining) + - location: 15 (remaining gas: 1039994.316 units remaining) [ (Pair {} (Some 0x1000000000000000000000000000000000000000000000000000000000000000)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out index 372e98058e1d..fa4051346001 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.308 units remaining) + - location: 8 (remaining gas: 1039995.488 units remaining) [ 0 ] - - location: 9 (remaining gas: 1039995.298 units remaining) + - location: 9 (remaining gas: 1039995.478 units remaining) [ {} 0 ] - - location: 11 (remaining gas: 1039995.288 units remaining) + - location: 11 (remaining gas: 1039995.468 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out index 94d4e1aa7f2a..998313d16e0c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.308 units remaining) + - location: 8 (remaining gas: 1039995.488 units remaining) [ 1 ] - - location: 9 (remaining gas: 1039995.298 units remaining) + - location: 9 (remaining gas: 1039995.478 units remaining) [ {} 1 ] - - location: 11 (remaining gas: 1039995.288 units remaining) + - location: 11 (remaining gas: 1039995.468 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out index fbb2252f0beb..77ead20db045 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 0) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 ] - - location: 8 (remaining gas: 1039995.308 units remaining) + - location: 8 (remaining gas: 1039995.488 units remaining) [ 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] - - location: 9 (remaining gas: 1039995.298 units remaining) + - location: 9 (remaining gas: 1039995.478 units remaining) [ {} 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] - - location: 11 (remaining gas: 1039995.288 units remaining) + - location: 11 (remaining gas: 1039995.468 units remaining) [ (Pair {} 17832688077013577776524784494464728518213913213412866604053735695200962927400) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out index 7726e8fec8b8..f0b5ca3478fe 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 0) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 ] - - location: 8 (remaining gas: 1039995.308 units remaining) + - location: 8 (remaining gas: 1039995.488 units remaining) [ 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] - - location: 9 (remaining gas: 1039995.298 units remaining) + - location: 9 (remaining gas: 1039995.478 units remaining) [ {} 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] - - location: 11 (remaining gas: 1039995.288 units remaining) + - location: 11 (remaining gas: 1039995.468 units remaining) [ (Pair {} 11320265829256585830781521966149529460476767408210445238902869222031333517497) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out index d44ede273801..108dad323f62 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039990.279 units remaining) + - location: 7 (remaining gas: 1039990.684 units remaining) [ (Pair 0x1000000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039990.269 units remaining) + - location: 7 (remaining gas: 1039990.674 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039990.154 units remaining) + - location: 8 (remaining gas: 1039990.559 units remaining) [ 16 ] - - location: 9 (remaining gas: 1039990.144 units remaining) + - location: 9 (remaining gas: 1039990.549 units remaining) [ (Some 16) ] - - location: 11 (remaining gas: 1039990.134 units remaining) + - location: 11 (remaining gas: 1039990.549 units remaining) [ 16 ] - - location: 11 (remaining gas: 1039990.124 units remaining) + - location: 11 (remaining gas: 1039990.539 units remaining) [ 16 ] - - location: 17 (remaining gas: 1039990.114 units remaining) + - location: 17 (remaining gas: 1039990.529 units remaining) [ 1 16 ] - - location: 20 (remaining gas: 1039990.114 units remaining) + - location: 20 (remaining gas: 1039990.529 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039990.104 units remaining) + - location: 21 (remaining gas: 1039990.519 units remaining) [ {} 16 ] - - location: 23 (remaining gas: 1039990.094 units remaining) + - location: 23 (remaining gas: 1039990.509 units remaining) [ (Pair {} 16) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out index 66d301610508..c1d2e0d764f4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ -42 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.157 units remaining) + - location: 8 (remaining gas: 1039995.337 units remaining) [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 9 (remaining gas: 1039995.147 units remaining) + - location: 9 (remaining gas: 1039995.327 units remaining) [ {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 11 (remaining gas: 1039995.137 units remaining) + - location: 11 (remaining gas: 1039995.317 units remaining) [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out index 33dddd5d1404..4445c21fd960 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 2 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.157 units remaining) + - location: 8 (remaining gas: 1039995.337 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.147 units remaining) + - location: 9 (remaining gas: 1039995.327 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.137 units remaining) + - location: 11 (remaining gas: 1039995.317 units remaining) [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out index 4965d1231c0e..58dce8d2b6f4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ -1 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.157 units remaining) + - location: 8 (remaining gas: 1039995.337 units remaining) [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 9 (remaining gas: 1039995.147 units remaining) + - location: 9 (remaining gas: 1039995.327 units remaining) [ {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 11 (remaining gas: 1039995.137 units remaining) + - location: 11 (remaining gas: 1039995.317 units remaining) [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out index 26fa0a20ef8e..481b2e85b93c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 0 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.158 units remaining) + - location: 8 (remaining gas: 1039995.338 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.148 units remaining) + - location: 9 (remaining gas: 1039995.328 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.138 units remaining) + - location: 11 (remaining gas: 1039995.318 units remaining) [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out index e30044b8136b..4f80791ad1f7 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out index 226417bdbed8..961cea14183e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 1 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.157 units remaining) + - location: 8 (remaining gas: 1039995.337 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.147 units remaining) + - location: 9 (remaining gas: 1039995.327 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.137 units remaining) + - location: 11 (remaining gas: 1039995.317 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out index e55ddb55a948..3d4b4b90d8d9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out index 3cb94ddc5f2a..152d055f04f7 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out index 829be5cbd0a4..06cd577c391d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out index 338705306faf..4af52f2f0d51 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out index 49575f606336..ea24be63588e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 1 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.157 units remaining) + - location: 8 (remaining gas: 1039995.337 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.147 units remaining) + - location: 9 (remaining gas: 1039995.327 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.137 units remaining) + - location: 11 (remaining gas: 1039995.317 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out index 705bdaf4d803..0c3c5c8b8261 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 0 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.158 units remaining) + - location: 8 (remaining gas: 1039995.338 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.148 units remaining) + - location: 9 (remaining gas: 1039995.328 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.138 units remaining) + - location: 11 (remaining gas: 1039995.318 units remaining) [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out index 4114f76bc5c1..5affd13eeafc 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out index 1ea7acc06ac1..70d1bc99ea31 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 2 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039995.157 units remaining) + - location: 8 (remaining gas: 1039995.337 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039995.147 units remaining) + - location: 9 (remaining gas: 1039995.327 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039995.137 units remaining) + - location: 11 (remaining gas: 1039995.317 units remaining) [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out index 44608fbf2d08..bd1565da0841 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out index 03c986d41ae2..3223d6ff0fef 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out index 4a096112d669..ab75809a2061 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out index 57c28f0fa7fc..e6ca3f7def91 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.433 units remaining) + - location: 7 (remaining gas: 1039995.613 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039995.423 units remaining) + - location: 7 (remaining gas: 1039995.603 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039995.124 units remaining) + - location: 8 (remaining gas: 1039995.304 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039995.114 units remaining) + - location: 9 (remaining gas: 1039995.294 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039995.104 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out index 0ec944f59f90..5a12f30d3b7e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 2 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 2 ] - - location: 9 (remaining gas: 1039994.549 units remaining) + - location: 9 (remaining gas: 1039994.774 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.539 units remaining) + - location: 10 (remaining gas: 1039994.764 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.529 units remaining) + - location: 12 (remaining gas: 1039994.754 units remaining) [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out index 942e8778ac53..5ed335cd29fa 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ -1 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 -1 ] - - location: 9 (remaining gas: 1039994.549 units remaining) + - location: 9 (remaining gas: 1039994.774 units remaining) [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 10 (remaining gas: 1039994.539 units remaining) + - location: 10 (remaining gas: 1039994.764 units remaining) [ {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 12 (remaining gas: 1039994.529 units remaining) + - location: 12 (remaining gas: 1039994.754 units remaining) [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out index 08bbdf6f3a47..2f44c05213a0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 0 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0 ] - - location: 9 (remaining gas: 1039994.550 units remaining) + - location: 9 (remaining gas: 1039994.775 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.540 units remaining) + - location: 10 (remaining gas: 1039994.765 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.530 units remaining) + - location: 12 (remaining gas: 1039994.755 units remaining) [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out index 49b539204d46..9fb6cf6de61f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ -42 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 -42 ] - - location: 9 (remaining gas: 1039994.549 units remaining) + - location: 9 (remaining gas: 1039994.774 units remaining) [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 10 (remaining gas: 1039994.539 units remaining) + - location: 10 (remaining gas: 1039994.764 units remaining) [ {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 12 (remaining gas: 1039994.529 units remaining) + - location: 12 (remaining gas: 1039994.754 units remaining) [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out index defff86777c0..1d0f7cd55428 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 1 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 1 ] - - location: 9 (remaining gas: 1039994.549 units remaining) + - location: 9 (remaining gas: 1039994.774 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.539 units remaining) + - location: 10 (remaining gas: 1039994.764 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.529 units remaining) + - location: 12 (remaining gas: 1039994.754 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out index eb092137b8b5..1f4508f927b4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 52435875175126190479447740508185965837690552500527637822603658699938581184514 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out index 88458752d7e1..613328d1b23d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f 22620284817922784902564672469917992996328211127984472897491698543785655336309 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out index 0a3ecdb2a38b..21f8d9c53b44 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f 33644916630334844239120348434626468649534186770809802792596996408934105684394 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out index 20ae8800e0f4..61630f7fd737 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d 17180093072794558806177035834397932205917577288483739652510482486858834123369 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out index ef1f258220b2..b3465aac1020 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d 69615968247920749285624776342583898043608129789011377475114141186797415307882 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out index 084a749440b8..de4392998e93 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 52435875175126190479447740508185965837690552500527637822603658699938581184514 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out index 95e53c17c8b8..a1da9bdd3a0d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 0 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0 ] - - location: 9 (remaining gas: 1039994.550 units remaining) + - location: 9 (remaining gas: 1039994.775 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.540 units remaining) + - location: 10 (remaining gas: 1039994.765 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.530 units remaining) + - location: 12 (remaining gas: 1039994.755 units remaining) [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out index 523fa404d14d..4885a668dbf0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 1 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 1 ] - - location: 9 (remaining gas: 1039994.549 units remaining) + - location: 9 (remaining gas: 1039994.774 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.539 units remaining) + - location: 10 (remaining gas: 1039994.764 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.529 units remaining) + - location: 12 (remaining gas: 1039994.754 units remaining) [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out index ed9f63efc61c..2648fea43839 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 2 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 2 ] - - location: 9 (remaining gas: 1039994.549 units remaining) + - location: 9 (remaining gas: 1039994.774 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039994.539 units remaining) + - location: 10 (remaining gas: 1039994.764 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039994.529 units remaining) + - location: 12 (remaining gas: 1039994.754 units remaining) [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out index c7a90445d18f..69b3914db86e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f 22620284817922784902564672469917992996328211127984472897491698543785655336309 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out index 24cc591fdcc1..f7c1345658f0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f 33644916630334844239120348434626468649534186770809802792596996408934105684394 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out index 960125e05291..2e98e9a4f071 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d 69615968247920749285624776342583898043608129789011377475114141186797415307882 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out index 68ebda64897b..f58aa3ada5e4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.835 units remaining) + - location: 7 (remaining gas: 1039995.060 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.825 units remaining) + - location: 7 (remaining gas: 1039995.050 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039995.040 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d 17180093072794558806177035834397932205917577288483739652510482486858834123369 ] - - location: 9 (remaining gas: 1039994.516 units remaining) + - location: 9 (remaining gas: 1039994.741 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039994.506 units remaining) + - location: 10 (remaining gas: 1039994.731 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039994.496 units remaining) + - location: 12 (remaining gas: 1039994.721 units remaining) [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out index 18c75c7000ba..9facbcfb252b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.097 units remaining) + - location: 9 (remaining gas: 1039995.277 units remaining) [ (Pair (Pair 34 17) 0) ] - - location: 9 (remaining gas: 1039995.087 units remaining) + - location: 9 (remaining gas: 1039995.267 units remaining) [ (Pair 34 17) ] - - location: 10 (remaining gas: 1039995.077 units remaining) + - location: 10 (remaining gas: 1039995.257 units remaining) [ 34 ] - - location: 11 (remaining gas: 1039995.067 units remaining) + - location: 11 (remaining gas: 1039995.247 units remaining) [ {} 34 ] - - location: 13 (remaining gas: 1039995.057 units remaining) + - location: 13 (remaining gas: 1039995.237 units remaining) [ (Pair {} 34) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out index 5d1f09dddc2a..17513835c15f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.097 units remaining) + - location: 9 (remaining gas: 1039995.277 units remaining) [ (Pair (Pair 34 17) 0) ] - - location: 9 (remaining gas: 1039995.087 units remaining) + - location: 9 (remaining gas: 1039995.267 units remaining) [ (Pair 34 17) ] - - location: 10 (remaining gas: 1039995.077 units remaining) + - location: 10 (remaining gas: 1039995.257 units remaining) [ 17 ] - - location: 11 (remaining gas: 1039995.067 units remaining) + - location: 11 (remaining gas: 1039995.247 units remaining) [ {} 17 ] - - location: 13 (remaining gas: 1039995.057 units remaining) + - location: 13 (remaining gas: 1039995.237 units remaining) [ (Pair {} 17) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" index c2b2a98fa040..245d9c4a5ff5 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.022 units remaining) + - location: 8 (remaining gas: 1039993.247 units remaining) [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] - - location: 8 (remaining gas: 1039993.012 units remaining) + - location: 8 (remaining gas: 1039993.237 units remaining) [ ] - - location: 9 (remaining gas: 1039992.997 units remaining) + - location: 9 (remaining gas: 1039993.222 units remaining) [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039992.987 units remaining) + - location: 10 (remaining gas: 1039993.212 units remaining) [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039992.977 units remaining) + - location: 11 (remaining gas: 1039993.202 units remaining) [ {} (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039992.967 units remaining) + - location: 13 (remaining gas: 1039993.192 units remaining) [ (Pair {} (Some "NetXdQprcVkpaWU")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" index d8d6569463ad..7566240fbdc8 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.572 units remaining) + - location: 8 (remaining gas: 1039994.797 units remaining) [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] - - location: 8 (remaining gas: 1039994.562 units remaining) + - location: 8 (remaining gas: 1039994.787 units remaining) [ ] - - location: 9 (remaining gas: 1039994.547 units remaining) + - location: 9 (remaining gas: 1039994.772 units remaining) [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039994.537 units remaining) + - location: 10 (remaining gas: 1039994.762 units remaining) [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039994.527 units remaining) + - location: 11 (remaining gas: 1039994.752 units remaining) [ {} (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039994.517 units remaining) + - location: 13 (remaining gas: 1039994.742 units remaining) [ (Pair {} (Some "NetXdQprcVkpaWU")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" index 134af6d22420..78496b08b1a3 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ ] - - location: 9 (remaining gas: 1039994.697 units remaining) + - location: 9 (remaining gas: 1039994.922 units remaining) [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039994.687 units remaining) + - location: 10 (remaining gas: 1039994.912 units remaining) [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039994.677 units remaining) + - location: 11 (remaining gas: 1039994.902 units remaining) [ {} (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039994.667 units remaining) + - location: 13 (remaining gas: 1039994.892 units remaining) [ (Pair {} (Some "NetXdQprcVkpaWU")) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out index 8884b6c3b53e..9f67ff47d284 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out @@ -7,117 +7,117 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039954.897 units remaining) + - location: 11 (remaining gas: 1039956.652 units remaining) [ (Pair (Pair 1 4 2 Unit) Unit) ] - - location: 11 (remaining gas: 1039954.887 units remaining) + - location: 11 (remaining gas: 1039956.642 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 12 (remaining gas: 1039954.877 units remaining) + - location: 12 (remaining gas: 1039956.632 units remaining) [ (Pair 1 4 2 Unit) (Pair 1 4 2 Unit) ] - - location: 13 (remaining gas: 1039954.867 units remaining) + - location: 13 (remaining gas: 1039956.622 units remaining) [ 1 (Pair 1 4 2 Unit) ] - - location: 14 (remaining gas: 1039954.857 units remaining) + - location: 14 (remaining gas: 1039956.612 units remaining) [ 1 1 (Pair 1 4 2 Unit) ] - - location: 19 (remaining gas: 1039954.822 units remaining) + - location: 19 (remaining gas: 1039956.577 units remaining) [ 0 (Pair 1 4 2 Unit) ] - - location: 20 (remaining gas: 1039954.812 units remaining) + - location: 20 (remaining gas: 1039956.567 units remaining) [ True (Pair 1 4 2 Unit) ] - - location: 21 (remaining gas: 1039954.802 units remaining) + - location: 21 (remaining gas: 1039956.567 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 21 (remaining gas: 1039954.792 units remaining) + - location: 21 (remaining gas: 1039956.557 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 27 (remaining gas: 1039954.782 units remaining) + - location: 27 (remaining gas: 1039956.547 units remaining) [ (Pair 1 4 2 Unit) (Pair 1 4 2 Unit) ] - - location: 28 (remaining gas: 1039954.762 units remaining) + - location: 28 (remaining gas: 1039956.527 units remaining) [ 1 (Pair 1 4 2 Unit) ] - - location: 30 (remaining gas: 1039954.752 units remaining) + - location: 30 (remaining gas: 1039956.517 units remaining) [ 1 1 (Pair 1 4 2 Unit) ] - - location: 35 (remaining gas: 1039954.717 units remaining) + - location: 35 (remaining gas: 1039956.482 units remaining) [ 0 (Pair 1 4 2 Unit) ] - - location: 36 (remaining gas: 1039954.707 units remaining) + - location: 36 (remaining gas: 1039956.472 units remaining) [ True (Pair 1 4 2 Unit) ] - - location: 37 (remaining gas: 1039954.697 units remaining) + - location: 37 (remaining gas: 1039956.472 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 37 (remaining gas: 1039954.687 units remaining) + - location: 37 (remaining gas: 1039956.462 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 43 (remaining gas: 1039954.677 units remaining) + - location: 43 (remaining gas: 1039956.452 units remaining) [ (Pair 1 4 2 Unit) (Pair 1 4 2 Unit) ] - - location: 44 (remaining gas: 1039954.656 units remaining) + - location: 44 (remaining gas: 1039956.431 units remaining) [ 4 (Pair 1 4 2 Unit) ] - - location: 46 (remaining gas: 1039954.646 units remaining) + - location: 46 (remaining gas: 1039956.421 units remaining) [ 4 4 (Pair 1 4 2 Unit) ] - - location: 51 (remaining gas: 1039954.611 units remaining) + - location: 51 (remaining gas: 1039956.386 units remaining) [ 0 (Pair 1 4 2 Unit) ] - - location: 52 (remaining gas: 1039954.601 units remaining) + - location: 52 (remaining gas: 1039956.376 units remaining) [ True (Pair 1 4 2 Unit) ] - - location: 53 (remaining gas: 1039954.591 units remaining) + - location: 53 (remaining gas: 1039956.376 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 53 (remaining gas: 1039954.581 units remaining) + - location: 53 (remaining gas: 1039956.366 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 59 (remaining gas: 1039954.571 units remaining) + - location: 59 (remaining gas: 1039956.356 units remaining) [ (Pair 1 4 2 Unit) (Pair 1 4 2 Unit) ] - - location: 60 (remaining gas: 1039954.549 units remaining) + - location: 60 (remaining gas: 1039956.334 units remaining) [ 2 (Pair 1 4 2 Unit) ] - - location: 62 (remaining gas: 1039954.539 units remaining) + - location: 62 (remaining gas: 1039956.324 units remaining) [ 2 2 (Pair 1 4 2 Unit) ] - - location: 67 (remaining gas: 1039954.504 units remaining) + - location: 67 (remaining gas: 1039956.289 units remaining) [ 0 (Pair 1 4 2 Unit) ] - - location: 68 (remaining gas: 1039954.494 units remaining) + - location: 68 (remaining gas: 1039956.279 units remaining) [ True (Pair 1 4 2 Unit) ] - - location: 69 (remaining gas: 1039954.484 units remaining) + - location: 69 (remaining gas: 1039956.279 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 69 (remaining gas: 1039954.474 units remaining) + - location: 69 (remaining gas: 1039956.269 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 75 (remaining gas: 1039954.464 units remaining) + - location: 75 (remaining gas: 1039956.259 units remaining) [ (Pair 1 4 2 Unit) (Pair 1 4 2 Unit) ] - - location: 76 (remaining gas: 1039954.441 units remaining) + - location: 76 (remaining gas: 1039956.236 units remaining) [ Unit (Pair 1 4 2 Unit) ] - - location: 78 (remaining gas: 1039954.431 units remaining) + - location: 78 (remaining gas: 1039956.226 units remaining) [ Unit Unit (Pair 1 4 2 Unit) ] - - location: 81 (remaining gas: 1039954.421 units remaining) + - location: 81 (remaining gas: 1039956.216 units remaining) [ 0 (Pair 1 4 2 Unit) ] - - location: 82 (remaining gas: 1039954.411 units remaining) + - location: 82 (remaining gas: 1039956.206 units remaining) [ True (Pair 1 4 2 Unit) ] - - location: 83 (remaining gas: 1039954.401 units remaining) + - location: 83 (remaining gas: 1039956.206 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 83 (remaining gas: 1039954.391 units remaining) + - location: 83 (remaining gas: 1039956.196 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 89 (remaining gas: 1039954.381 units remaining) + - location: 89 (remaining gas: 1039956.186 units remaining) [ ] - - location: 90 (remaining gas: 1039954.371 units remaining) + - location: 90 (remaining gas: 1039956.176 units remaining) [ Unit ] - - location: 91 (remaining gas: 1039954.361 units remaining) + - location: 91 (remaining gas: 1039956.166 units remaining) [ {} Unit ] - - location: 93 (remaining gas: 1039954.351 units remaining) + - location: 93 (remaining gas: 1039956.156 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set-2.tz-None-(Pair 1 4 2 Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set-2.tz-None-(Pair 1 4 2 Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" index a589cef830e6..33cf1133e830 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set-2.tz-None-(Pair 1 4 2 Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set-2.tz-None-(Pair 1 4 2 Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039986.841 units remaining) + - location: 16 (remaining gas: 1039987.156 units remaining) [ (Pair (Pair 1 4 2 Unit) None) ] - - location: 16 (remaining gas: 1039986.831 units remaining) + - location: 16 (remaining gas: 1039987.146 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 17 (remaining gas: 1039986.821 units remaining) + - location: 17 (remaining gas: 1039987.136 units remaining) [ 2 (Pair 1 4 2 Unit) ] - - location: 20 (remaining gas: 1039986.800 units remaining) + - location: 20 (remaining gas: 1039987.115 units remaining) [ (Pair 2 4 2 Unit) ] - - location: 22 (remaining gas: 1039986.790 units remaining) + - location: 22 (remaining gas: 1039987.105 units remaining) [ "toto" (Pair 2 4 2 Unit) ] - - location: 25 (remaining gas: 1039986.764 units remaining) + - location: 25 (remaining gas: 1039987.079 units remaining) [ (Pair 2 4 "toto" Unit) ] - - location: 27 (remaining gas: 1039986.754 units remaining) + - location: 27 (remaining gas: 1039987.069 units remaining) [ 0x01 (Pair 2 4 "toto" Unit) ] - - location: 30 (remaining gas: 1039986.727 units remaining) + - location: 30 (remaining gas: 1039987.042 units remaining) [ (Pair 2 4 "toto" 0x01) ] - - location: 32 (remaining gas: 1039986.717 units remaining) + - location: 32 (remaining gas: 1039987.032 units remaining) [ (Some (Pair 2 4 "toto" 0x01)) ] - - location: 33 (remaining gas: 1039986.707 units remaining) + - location: 33 (remaining gas: 1039987.022 units remaining) [ {} (Some (Pair 2 4 "toto" 0x01)) ] - - location: 35 (remaining gas: 1039986.697 units remaining) + - location: 35 (remaining gas: 1039987.012 units remaining) [ (Pair {} (Some (Pair 2 4 "toto" 0x01))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set.tz-(Pair 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set.tz-(Pair 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out index bf7a11391f1d..434d34da249d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set.tz-(Pair 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-set.tz-(Pair 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out @@ -7,33 +7,33 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.018 units remaining) + - location: 11 (remaining gas: 1039987.333 units remaining) [ (Pair Unit 1 4 2 Unit) ] - - location: 11 (remaining gas: 1039987.008 units remaining) + - location: 11 (remaining gas: 1039987.323 units remaining) [ (Pair 1 4 2 Unit) ] - - location: 12 (remaining gas: 1039986.998 units remaining) + - location: 12 (remaining gas: 1039987.313 units remaining) [ 2 (Pair 1 4 2 Unit) ] - - location: 15 (remaining gas: 1039986.977 units remaining) + - location: 15 (remaining gas: 1039987.292 units remaining) [ (Pair 2 4 2 Unit) ] - - location: 17 (remaining gas: 1039986.967 units remaining) + - location: 17 (remaining gas: 1039987.282 units remaining) [ 12 (Pair 2 4 2 Unit) ] - - location: 20 (remaining gas: 1039986.944 units remaining) + - location: 20 (remaining gas: 1039987.259 units remaining) [ (Pair 2 12 2 Unit) ] - - location: 22 (remaining gas: 1039986.934 units remaining) + - location: 22 (remaining gas: 1039987.249 units remaining) [ 8 (Pair 2 12 2 Unit) ] - - location: 25 (remaining gas: 1039986.908 units remaining) + - location: 25 (remaining gas: 1039987.223 units remaining) [ (Pair 2 12 8 Unit) ] - - location: 27 (remaining gas: 1039986.898 units remaining) + - location: 27 (remaining gas: 1039987.213 units remaining) [ Unit (Pair 2 12 8 Unit) ] - - location: 28 (remaining gas: 1039986.871 units remaining) + - location: 28 (remaining gas: 1039987.186 units remaining) [ (Pair 2 12 8 Unit) ] - - location: 30 (remaining gas: 1039986.861 units remaining) + - location: 30 (remaining gas: 1039987.176 units remaining) [ {} (Pair 2 12 8 Unit) ] - - location: 32 (remaining gas: 1039986.851 units remaining) + - location: 32 (remaining gas: 1039987.166 units remaining) [ (Pair {} 2 12 8 Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out index 85227851fc56..c0d103246fe0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.644 units remaining) + - location: 10 (remaining gas: 1039991.779 units remaining) [ (Pair Unit 0 0 0) ] - - location: 10 (remaining gas: 1039991.634 units remaining) + - location: 10 (remaining gas: 1039991.769 units remaining) [ ] - - location: 11 (remaining gas: 1039991.624 units remaining) + - location: 11 (remaining gas: 1039991.759 units remaining) [ 3 ] - - location: 14 (remaining gas: 1039991.614 units remaining) + - location: 14 (remaining gas: 1039991.749 units remaining) [ 2 3 ] - - location: 17 (remaining gas: 1039991.604 units remaining) + - location: 17 (remaining gas: 1039991.739 units remaining) [ 1 2 3 ] - - location: 20 (remaining gas: 1039991.594 units remaining) + - location: 20 (remaining gas: 1039991.729 units remaining) [ {} 1 2 3 ] - - location: 22 (remaining gas: 1039991.580 units remaining) + - location: 22 (remaining gas: 1039991.715 units remaining) [ (Pair {} 1 2 3) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out index ec402532807c..880dfa713b74 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out @@ -7,392 +7,392 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039790.353 units remaining) + - location: 7 (remaining gas: 1039797.418 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039790.343 units remaining) + - location: 7 (remaining gas: 1039797.408 units remaining) [ ] - - location: 8 (remaining gas: 1039790.333 units remaining) + - location: 8 (remaining gas: 1039797.398 units remaining) [ True ] - - location: 11 (remaining gas: 1039790.323 units remaining) + - location: 11 (remaining gas: 1039797.388 units remaining) [ True True ] - - location: 12 (remaining gas: 1039790.288 units remaining) + - location: 12 (remaining gas: 1039797.353 units remaining) [ 0 ] - - location: 14 (remaining gas: 1039790.278 units remaining) + - location: 14 (remaining gas: 1039797.343 units remaining) [ True ] - - location: 15 (remaining gas: 1039790.268 units remaining) + - location: 15 (remaining gas: 1039797.343 units remaining) [ ] - - location: 15 (remaining gas: 1039790.258 units remaining) + - location: 15 (remaining gas: 1039797.333 units remaining) [ ] - - location: 21 (remaining gas: 1039790.248 units remaining) + - location: 21 (remaining gas: 1039797.323 units remaining) [ False ] - - location: 24 (remaining gas: 1039790.238 units remaining) + - location: 24 (remaining gas: 1039797.313 units remaining) [ False False ] - - location: 25 (remaining gas: 1039790.203 units remaining) + - location: 25 (remaining gas: 1039797.278 units remaining) [ 0 ] - - location: 27 (remaining gas: 1039790.193 units remaining) + - location: 27 (remaining gas: 1039797.268 units remaining) [ True ] - - location: 28 (remaining gas: 1039790.183 units remaining) + - location: 28 (remaining gas: 1039797.268 units remaining) [ ] - - location: 28 (remaining gas: 1039790.173 units remaining) + - location: 28 (remaining gas: 1039797.258 units remaining) [ ] - - location: 34 (remaining gas: 1039790.163 units remaining) + - location: 34 (remaining gas: 1039797.248 units remaining) [ False ] - - location: 37 (remaining gas: 1039790.153 units remaining) + - location: 37 (remaining gas: 1039797.238 units remaining) [ True False ] - - location: 40 (remaining gas: 1039790.118 units remaining) + - location: 40 (remaining gas: 1039797.203 units remaining) [ 1 ] - - location: 42 (remaining gas: 1039790.108 units remaining) + - location: 42 (remaining gas: 1039797.193 units remaining) [ True ] - - location: 43 (remaining gas: 1039790.098 units remaining) + - location: 43 (remaining gas: 1039797.193 units remaining) [ ] - - location: 43 (remaining gas: 1039790.088 units remaining) + - location: 43 (remaining gas: 1039797.183 units remaining) [ ] - - location: 49 (remaining gas: 1039790.078 units remaining) + - location: 49 (remaining gas: 1039797.173 units remaining) [ True ] - - location: 52 (remaining gas: 1039790.068 units remaining) + - location: 52 (remaining gas: 1039797.163 units remaining) [ False True ] - - location: 55 (remaining gas: 1039790.033 units remaining) + - location: 55 (remaining gas: 1039797.128 units remaining) [ -1 ] - - location: 57 (remaining gas: 1039790.023 units remaining) + - location: 57 (remaining gas: 1039797.118 units remaining) [ True ] - - location: 58 (remaining gas: 1039790.013 units remaining) + - location: 58 (remaining gas: 1039797.118 units remaining) [ ] - - location: 58 (remaining gas: 1039790.003 units remaining) + - location: 58 (remaining gas: 1039797.108 units remaining) [ ] - - location: 64 (remaining gas: 1039789.993 units remaining) + - location: 64 (remaining gas: 1039797.098 units remaining) [ 0xaabbcc ] - - location: 67 (remaining gas: 1039789.983 units remaining) + - location: 67 (remaining gas: 1039797.088 units remaining) [ 0xaabbcc 0xaabbcc ] - - location: 68 (remaining gas: 1039789.948 units remaining) + - location: 68 (remaining gas: 1039797.053 units remaining) [ 0 ] - - location: 70 (remaining gas: 1039789.938 units remaining) + - location: 70 (remaining gas: 1039797.043 units remaining) [ True ] - - location: 71 (remaining gas: 1039789.928 units remaining) + - location: 71 (remaining gas: 1039797.043 units remaining) [ ] - - location: 71 (remaining gas: 1039789.918 units remaining) + - location: 71 (remaining gas: 1039797.033 units remaining) [ ] - - location: 77 (remaining gas: 1039789.908 units remaining) + - location: 77 (remaining gas: 1039797.023 units remaining) [ 0x ] - - location: 80 (remaining gas: 1039789.898 units remaining) + - location: 80 (remaining gas: 1039797.013 units remaining) [ 0x 0x ] - - location: 83 (remaining gas: 1039789.863 units remaining) + - location: 83 (remaining gas: 1039796.978 units remaining) [ 0 ] - - location: 85 (remaining gas: 1039789.853 units remaining) + - location: 85 (remaining gas: 1039796.968 units remaining) [ True ] - - location: 86 (remaining gas: 1039789.843 units remaining) + - location: 86 (remaining gas: 1039796.968 units remaining) [ ] - - location: 86 (remaining gas: 1039789.833 units remaining) + - location: 86 (remaining gas: 1039796.958 units remaining) [ ] - - location: 92 (remaining gas: 1039789.823 units remaining) + - location: 92 (remaining gas: 1039796.948 units remaining) [ 0x ] - - location: 95 (remaining gas: 1039789.813 units remaining) + - location: 95 (remaining gas: 1039796.938 units remaining) [ 0x01 0x ] - - location: 98 (remaining gas: 1039789.778 units remaining) + - location: 98 (remaining gas: 1039796.903 units remaining) [ 1 ] - - location: 100 (remaining gas: 1039789.768 units remaining) + - location: 100 (remaining gas: 1039796.893 units remaining) [ True ] - - location: 101 (remaining gas: 1039789.758 units remaining) + - location: 101 (remaining gas: 1039796.893 units remaining) [ ] - - location: 101 (remaining gas: 1039789.748 units remaining) + - location: 101 (remaining gas: 1039796.883 units remaining) [ ] - - location: 107 (remaining gas: 1039789.738 units remaining) + - location: 107 (remaining gas: 1039796.873 units remaining) [ 0x01 ] - - location: 110 (remaining gas: 1039789.728 units remaining) + - location: 110 (remaining gas: 1039796.863 units remaining) [ 0x02 0x01 ] - - location: 113 (remaining gas: 1039789.693 units remaining) + - location: 113 (remaining gas: 1039796.828 units remaining) [ 1 ] - - location: 115 (remaining gas: 1039789.683 units remaining) + - location: 115 (remaining gas: 1039796.818 units remaining) [ True ] - - location: 116 (remaining gas: 1039789.673 units remaining) + - location: 116 (remaining gas: 1039796.818 units remaining) [ ] - - location: 116 (remaining gas: 1039789.663 units remaining) + - location: 116 (remaining gas: 1039796.808 units remaining) [ ] - - location: 122 (remaining gas: 1039789.653 units remaining) + - location: 122 (remaining gas: 1039796.798 units remaining) [ 0x02 ] - - location: 125 (remaining gas: 1039789.643 units remaining) + - location: 125 (remaining gas: 1039796.788 units remaining) [ 0x01 0x02 ] - - location: 128 (remaining gas: 1039789.608 units remaining) + - location: 128 (remaining gas: 1039796.753 units remaining) [ -1 ] - - location: 130 (remaining gas: 1039789.598 units remaining) + - location: 130 (remaining gas: 1039796.743 units remaining) [ True ] - - location: 131 (remaining gas: 1039789.588 units remaining) + - location: 131 (remaining gas: 1039796.743 units remaining) [ ] - - location: 131 (remaining gas: 1039789.578 units remaining) + - location: 131 (remaining gas: 1039796.733 units remaining) [ ] - - location: 137 (remaining gas: 1039789.568 units remaining) + - location: 137 (remaining gas: 1039796.723 units remaining) [ 1 ] - - location: 140 (remaining gas: 1039789.558 units remaining) + - location: 140 (remaining gas: 1039796.713 units remaining) [ 1 1 ] - - location: 141 (remaining gas: 1039789.523 units remaining) + - location: 141 (remaining gas: 1039796.678 units remaining) [ 0 ] - - location: 143 (remaining gas: 1039789.513 units remaining) + - location: 143 (remaining gas: 1039796.668 units remaining) [ True ] - - location: 144 (remaining gas: 1039789.503 units remaining) + - location: 144 (remaining gas: 1039796.668 units remaining) [ ] - - location: 144 (remaining gas: 1039789.493 units remaining) + - location: 144 (remaining gas: 1039796.658 units remaining) [ ] - - location: 150 (remaining gas: 1039789.483 units remaining) + - location: 150 (remaining gas: 1039796.648 units remaining) [ 10 ] - - location: 153 (remaining gas: 1039789.473 units remaining) + - location: 153 (remaining gas: 1039796.638 units remaining) [ 5 10 ] - - location: 156 (remaining gas: 1039789.438 units remaining) + - location: 156 (remaining gas: 1039796.603 units remaining) [ -1 ] - - location: 158 (remaining gas: 1039789.428 units remaining) + - location: 158 (remaining gas: 1039796.593 units remaining) [ True ] - - location: 159 (remaining gas: 1039789.418 units remaining) + - location: 159 (remaining gas: 1039796.593 units remaining) [ ] - - location: 159 (remaining gas: 1039789.408 units remaining) + - location: 159 (remaining gas: 1039796.583 units remaining) [ ] - - location: 165 (remaining gas: 1039789.398 units remaining) + - location: 165 (remaining gas: 1039796.573 units remaining) [ -4 ] - - location: 168 (remaining gas: 1039789.388 units remaining) + - location: 168 (remaining gas: 1039796.563 units remaining) [ 1923 -4 ] - - location: 171 (remaining gas: 1039789.353 units remaining) + - location: 171 (remaining gas: 1039796.528 units remaining) [ 1 ] - - location: 173 (remaining gas: 1039789.343 units remaining) + - location: 173 (remaining gas: 1039796.518 units remaining) [ True ] - - location: 174 (remaining gas: 1039789.333 units remaining) + - location: 174 (remaining gas: 1039796.518 units remaining) [ ] - - location: 174 (remaining gas: 1039789.323 units remaining) + - location: 174 (remaining gas: 1039796.508 units remaining) [ ] - - location: 180 (remaining gas: 1039789.313 units remaining) + - location: 180 (remaining gas: 1039796.498 units remaining) [ 1 ] - - location: 183 (remaining gas: 1039789.303 units remaining) + - location: 183 (remaining gas: 1039796.488 units remaining) [ 1 1 ] - - location: 184 (remaining gas: 1039789.268 units remaining) + - location: 184 (remaining gas: 1039796.453 units remaining) [ 0 ] - - location: 186 (remaining gas: 1039789.258 units remaining) + - location: 186 (remaining gas: 1039796.443 units remaining) [ True ] - - location: 187 (remaining gas: 1039789.248 units remaining) + - location: 187 (remaining gas: 1039796.443 units remaining) [ ] - - location: 187 (remaining gas: 1039789.238 units remaining) + - location: 187 (remaining gas: 1039796.433 units remaining) [ ] - - location: 193 (remaining gas: 1039789.228 units remaining) + - location: 193 (remaining gas: 1039796.423 units remaining) [ 10 ] - - location: 196 (remaining gas: 1039789.218 units remaining) + - location: 196 (remaining gas: 1039796.413 units remaining) [ 5 10 ] - - location: 199 (remaining gas: 1039789.183 units remaining) + - location: 199 (remaining gas: 1039796.378 units remaining) [ -1 ] - - location: 201 (remaining gas: 1039789.173 units remaining) + - location: 201 (remaining gas: 1039796.368 units remaining) [ True ] - - location: 202 (remaining gas: 1039789.163 units remaining) + - location: 202 (remaining gas: 1039796.368 units remaining) [ ] - - location: 202 (remaining gas: 1039789.153 units remaining) + - location: 202 (remaining gas: 1039796.358 units remaining) [ ] - - location: 208 (remaining gas: 1039789.143 units remaining) + - location: 208 (remaining gas: 1039796.348 units remaining) [ 4 ] - - location: 211 (remaining gas: 1039789.133 units remaining) + - location: 211 (remaining gas: 1039796.338 units remaining) [ 1923 4 ] - - location: 214 (remaining gas: 1039789.098 units remaining) + - location: 214 (remaining gas: 1039796.303 units remaining) [ 1 ] - - location: 216 (remaining gas: 1039789.088 units remaining) + - location: 216 (remaining gas: 1039796.293 units remaining) [ True ] - - location: 217 (remaining gas: 1039789.078 units remaining) + - location: 217 (remaining gas: 1039796.293 units remaining) [ ] - - location: 217 (remaining gas: 1039789.068 units remaining) + - location: 217 (remaining gas: 1039796.283 units remaining) [ ] - - location: 223 (remaining gas: 1039789.058 units remaining) + - location: 223 (remaining gas: 1039796.273 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 226 (remaining gas: 1039789.048 units remaining) + - location: 226 (remaining gas: 1039796.263 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 227 (remaining gas: 1039789.012 units remaining) + - location: 227 (remaining gas: 1039796.227 units remaining) [ 0 ] - - location: 229 (remaining gas: 1039789.002 units remaining) + - location: 229 (remaining gas: 1039796.217 units remaining) [ True ] - - location: 230 (remaining gas: 1039788.992 units remaining) + - location: 230 (remaining gas: 1039796.217 units remaining) [ ] - - location: 230 (remaining gas: 1039788.982 units remaining) + - location: 230 (remaining gas: 1039796.207 units remaining) [ ] - - location: 236 (remaining gas: 1039788.972 units remaining) + - location: 236 (remaining gas: 1039796.197 units remaining) [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 239 (remaining gas: 1039788.962 units remaining) + - location: 239 (remaining gas: 1039796.187 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 242 (remaining gas: 1039788.926 units remaining) + - location: 242 (remaining gas: 1039796.151 units remaining) [ -1 ] - - location: 244 (remaining gas: 1039788.916 units remaining) + - location: 244 (remaining gas: 1039796.141 units remaining) [ True ] - - location: 245 (remaining gas: 1039788.906 units remaining) + - location: 245 (remaining gas: 1039796.141 units remaining) [ ] - - location: 245 (remaining gas: 1039788.896 units remaining) + - location: 245 (remaining gas: 1039796.131 units remaining) [ ] - - location: 251 (remaining gas: 1039788.886 units remaining) + - location: 251 (remaining gas: 1039796.121 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 254 (remaining gas: 1039788.876 units remaining) + - location: 254 (remaining gas: 1039796.111 units remaining) [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 257 (remaining gas: 1039788.840 units remaining) + - location: 257 (remaining gas: 1039796.075 units remaining) [ 1 ] - - location: 259 (remaining gas: 1039788.830 units remaining) + - location: 259 (remaining gas: 1039796.065 units remaining) [ True ] - - location: 260 (remaining gas: 1039788.820 units remaining) + - location: 260 (remaining gas: 1039796.065 units remaining) [ ] - - location: 260 (remaining gas: 1039788.810 units remaining) + - location: 260 (remaining gas: 1039796.055 units remaining) [ ] - - location: 266 (remaining gas: 1039788.800 units remaining) + - location: 266 (remaining gas: 1039796.045 units remaining) [ 1 ] - - location: 269 (remaining gas: 1039788.790 units remaining) + - location: 269 (remaining gas: 1039796.035 units remaining) [ 1 1 ] - - location: 270 (remaining gas: 1039788.755 units remaining) + - location: 270 (remaining gas: 1039796 units remaining) [ 0 ] - - location: 272 (remaining gas: 1039788.745 units remaining) + - location: 272 (remaining gas: 1039795.990 units remaining) [ True ] - - location: 273 (remaining gas: 1039788.735 units remaining) + - location: 273 (remaining gas: 1039795.990 units remaining) [ ] - - location: 273 (remaining gas: 1039788.725 units remaining) + - location: 273 (remaining gas: 1039795.980 units remaining) [ ] - - location: 279 (remaining gas: 1039788.715 units remaining) + - location: 279 (remaining gas: 1039795.970 units remaining) [ 10 ] - - location: 282 (remaining gas: 1039788.705 units remaining) + - location: 282 (remaining gas: 1039795.960 units remaining) [ 5 10 ] - - location: 285 (remaining gas: 1039788.670 units remaining) + - location: 285 (remaining gas: 1039795.925 units remaining) [ -1 ] - - location: 287 (remaining gas: 1039788.660 units remaining) + - location: 287 (remaining gas: 1039795.915 units remaining) [ True ] - - location: 288 (remaining gas: 1039788.650 units remaining) + - location: 288 (remaining gas: 1039795.915 units remaining) [ ] - - location: 288 (remaining gas: 1039788.640 units remaining) + - location: 288 (remaining gas: 1039795.905 units remaining) [ ] - - location: 294 (remaining gas: 1039788.630 units remaining) + - location: 294 (remaining gas: 1039795.895 units remaining) [ 4 ] - - location: 297 (remaining gas: 1039788.620 units remaining) + - location: 297 (remaining gas: 1039795.885 units remaining) [ 1923 4 ] - - location: 300 (remaining gas: 1039788.585 units remaining) + - location: 300 (remaining gas: 1039795.850 units remaining) [ 1 ] - - location: 302 (remaining gas: 1039788.575 units remaining) + - location: 302 (remaining gas: 1039795.840 units remaining) [ True ] - - location: 303 (remaining gas: 1039788.565 units remaining) + - location: 303 (remaining gas: 1039795.840 units remaining) [ ] - - location: 303 (remaining gas: 1039788.555 units remaining) + - location: 303 (remaining gas: 1039795.830 units remaining) [ ] - - location: 309 (remaining gas: 1039788.545 units remaining) + - location: 309 (remaining gas: 1039795.820 units remaining) [ "AABBCC" ] - - location: 312 (remaining gas: 1039788.535 units remaining) + - location: 312 (remaining gas: 1039795.810 units remaining) [ "AABBCC" "AABBCC" ] - - location: 313 (remaining gas: 1039788.500 units remaining) + - location: 313 (remaining gas: 1039795.775 units remaining) [ 0 ] - - location: 315 (remaining gas: 1039788.490 units remaining) + - location: 315 (remaining gas: 1039795.765 units remaining) [ True ] - - location: 316 (remaining gas: 1039788.480 units remaining) + - location: 316 (remaining gas: 1039795.765 units remaining) [ ] - - location: 316 (remaining gas: 1039788.470 units remaining) + - location: 316 (remaining gas: 1039795.755 units remaining) [ ] - - location: 322 (remaining gas: 1039788.460 units remaining) + - location: 322 (remaining gas: 1039795.745 units remaining) [ "" ] - - location: 325 (remaining gas: 1039788.450 units remaining) + - location: 325 (remaining gas: 1039795.735 units remaining) [ "" "" ] - - location: 328 (remaining gas: 1039788.415 units remaining) + - location: 328 (remaining gas: 1039795.700 units remaining) [ 0 ] - - location: 330 (remaining gas: 1039788.405 units remaining) + - location: 330 (remaining gas: 1039795.690 units remaining) [ True ] - - location: 331 (remaining gas: 1039788.395 units remaining) + - location: 331 (remaining gas: 1039795.690 units remaining) [ ] - - location: 331 (remaining gas: 1039788.385 units remaining) + - location: 331 (remaining gas: 1039795.680 units remaining) [ ] - - location: 337 (remaining gas: 1039788.375 units remaining) + - location: 337 (remaining gas: 1039795.670 units remaining) [ "" ] - - location: 340 (remaining gas: 1039788.365 units remaining) + - location: 340 (remaining gas: 1039795.660 units remaining) [ "a" "" ] - - location: 343 (remaining gas: 1039788.330 units remaining) + - location: 343 (remaining gas: 1039795.625 units remaining) [ 1 ] - - location: 345 (remaining gas: 1039788.320 units remaining) + - location: 345 (remaining gas: 1039795.615 units remaining) [ True ] - - location: 346 (remaining gas: 1039788.310 units remaining) + - location: 346 (remaining gas: 1039795.615 units remaining) [ ] - - location: 346 (remaining gas: 1039788.300 units remaining) + - location: 346 (remaining gas: 1039795.605 units remaining) [ ] - - location: 352 (remaining gas: 1039788.290 units remaining) + - location: 352 (remaining gas: 1039795.595 units remaining) [ "a" ] - - location: 355 (remaining gas: 1039788.280 units remaining) + - location: 355 (remaining gas: 1039795.585 units remaining) [ "b" "a" ] - - location: 358 (remaining gas: 1039788.245 units remaining) + - location: 358 (remaining gas: 1039795.550 units remaining) [ 1 ] - - location: 360 (remaining gas: 1039788.235 units remaining) + - location: 360 (remaining gas: 1039795.540 units remaining) [ True ] - - location: 361 (remaining gas: 1039788.225 units remaining) + - location: 361 (remaining gas: 1039795.540 units remaining) [ ] - - location: 361 (remaining gas: 1039788.215 units remaining) + - location: 361 (remaining gas: 1039795.530 units remaining) [ ] - - location: 367 (remaining gas: 1039788.205 units remaining) + - location: 367 (remaining gas: 1039795.520 units remaining) [ "b" ] - - location: 370 (remaining gas: 1039788.195 units remaining) + - location: 370 (remaining gas: 1039795.510 units remaining) [ "a" "b" ] - - location: 373 (remaining gas: 1039788.160 units remaining) + - location: 373 (remaining gas: 1039795.475 units remaining) [ -1 ] - - location: 375 (remaining gas: 1039788.150 units remaining) + - location: 375 (remaining gas: 1039795.465 units remaining) [ True ] - - location: 376 (remaining gas: 1039788.140 units remaining) + - location: 376 (remaining gas: 1039795.465 units remaining) [ ] - - location: 376 (remaining gas: 1039788.130 units remaining) + - location: 376 (remaining gas: 1039795.455 units remaining) [ ] - - location: 382 (remaining gas: 1039788.120 units remaining) + - location: 382 (remaining gas: 1039795.445 units remaining) [ "2019-09-16T08:38:05Z" ] - - location: 385 (remaining gas: 1039788.110 units remaining) + - location: 385 (remaining gas: 1039795.435 units remaining) [ "2019-09-16T08:38:05Z" "2019-09-16T08:38:05Z" ] - - location: 386 (remaining gas: 1039788.075 units remaining) + - location: 386 (remaining gas: 1039795.400 units remaining) [ 0 ] - - location: 388 (remaining gas: 1039788.065 units remaining) + - location: 388 (remaining gas: 1039795.390 units remaining) [ True ] - - location: 389 (remaining gas: 1039788.055 units remaining) + - location: 389 (remaining gas: 1039795.390 units remaining) [ ] - - location: 389 (remaining gas: 1039788.045 units remaining) + - location: 389 (remaining gas: 1039795.380 units remaining) [ ] - - location: 395 (remaining gas: 1039788.035 units remaining) + - location: 395 (remaining gas: 1039795.370 units remaining) [ "2017-09-16T08:38:04Z" ] - - location: 398 (remaining gas: 1039788.025 units remaining) + - location: 398 (remaining gas: 1039795.360 units remaining) [ "2019-09-16T08:38:05Z" "2017-09-16T08:38:04Z" ] - - location: 401 (remaining gas: 1039787.990 units remaining) + - location: 401 (remaining gas: 1039795.325 units remaining) [ 1 ] - - location: 403 (remaining gas: 1039787.980 units remaining) + - location: 403 (remaining gas: 1039795.315 units remaining) [ True ] - - location: 404 (remaining gas: 1039787.970 units remaining) + - location: 404 (remaining gas: 1039795.315 units remaining) [ ] - - location: 404 (remaining gas: 1039787.960 units remaining) + - location: 404 (remaining gas: 1039795.305 units remaining) [ ] - - location: 410 (remaining gas: 1039787.950 units remaining) + - location: 410 (remaining gas: 1039795.295 units remaining) [ "2019-09-16T08:38:05Z" ] - - location: 413 (remaining gas: 1039787.940 units remaining) + - location: 413 (remaining gas: 1039795.285 units remaining) [ "2019-09-16T08:38:04Z" "2019-09-16T08:38:05Z" ] - - location: 416 (remaining gas: 1039787.905 units remaining) + - location: 416 (remaining gas: 1039795.250 units remaining) [ -1 ] - - location: 418 (remaining gas: 1039787.895 units remaining) + - location: 418 (remaining gas: 1039795.240 units remaining) [ True ] - - location: 419 (remaining gas: 1039787.885 units remaining) + - location: 419 (remaining gas: 1039795.240 units remaining) [ ] - - location: 419 (remaining gas: 1039787.875 units remaining) + - location: 419 (remaining gas: 1039795.230 units remaining) [ ] - - location: 425 (remaining gas: 1039787.865 units remaining) + - location: 425 (remaining gas: 1039795.220 units remaining) [ Unit ] - - location: 426 (remaining gas: 1039787.855 units remaining) + - location: 426 (remaining gas: 1039795.210 units remaining) [ {} Unit ] - - location: 428 (remaining gas: 1039787.845 units remaining) + - location: 428 (remaining gas: 1039795.200 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out index cc47c2c83b8c..5f7201f57623 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out @@ -12,326 +12,326 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039968.162 units remaining) + - location: 10 (remaining gas: 1039969.827 units remaining) [ (Pair { -9999999 ; -1 ; 0 ; 1 ; 9999999 } {}) ] - - location: 10 (remaining gas: 1039968.152 units remaining) + - location: 10 (remaining gas: 1039969.817 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 11 (remaining gas: 1039968.142 units remaining) + - location: 11 (remaining gas: 1039969.807 units remaining) [ {} { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 14 (remaining gas: 1039968.132 units remaining) + - location: 14 (remaining gas: 1039969.807 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 16 (remaining gas: 1039968.122 units remaining) + - location: 16 (remaining gas: 1039969.797 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 17 (remaining gas: 1039968.122 units remaining) + - location: 17 (remaining gas: 1039969.797 units remaining) [ -9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 19 (remaining gas: 1039968.112 units remaining) + - location: 19 (remaining gas: 1039969.787 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 17 (remaining gas: 1039968.102 units remaining) + - location: 17 (remaining gas: 1039969.777 units remaining) [ -1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 19 (remaining gas: 1039968.092 units remaining) + - location: 19 (remaining gas: 1039969.767 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 17 (remaining gas: 1039968.082 units remaining) + - location: 17 (remaining gas: 1039969.757 units remaining) [ 0 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 19 (remaining gas: 1039968.072 units remaining) + - location: 19 (remaining gas: 1039969.747 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 17 (remaining gas: 1039968.062 units remaining) + - location: 17 (remaining gas: 1039969.737 units remaining) [ 1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 19 (remaining gas: 1039968.052 units remaining) + - location: 19 (remaining gas: 1039969.727 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 17 (remaining gas: 1039968.042 units remaining) + - location: 17 (remaining gas: 1039969.717 units remaining) [ 9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 19 (remaining gas: 1039968.032 units remaining) + - location: 19 (remaining gas: 1039969.707 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 17 (remaining gas: 1039968.022 units remaining) + - location: 17 (remaining gas: 1039969.697 units remaining) [ { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 14 (remaining gas: 1039968.002 units remaining) + - location: 14 (remaining gas: 1039969.677 units remaining) [ {} { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 20 (remaining gas: 1039967.992 units remaining) + - location: 20 (remaining gas: 1039969.667 units remaining) [ { False ; False ; True ; False ; False } {} { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 21 (remaining gas: 1039967.982 units remaining) + - location: 21 (remaining gas: 1039969.657 units remaining) [ { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 22 (remaining gas: 1039967.972 units remaining) + - location: 22 (remaining gas: 1039969.657 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 24 (remaining gas: 1039967.962 units remaining) + - location: 24 (remaining gas: 1039969.647 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 25 (remaining gas: 1039967.962 units remaining) + - location: 25 (remaining gas: 1039969.647 units remaining) [ -9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 27 (remaining gas: 1039967.952 units remaining) + - location: 27 (remaining gas: 1039969.637 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 25 (remaining gas: 1039967.942 units remaining) + - location: 25 (remaining gas: 1039969.627 units remaining) [ -1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 27 (remaining gas: 1039967.932 units remaining) + - location: 27 (remaining gas: 1039969.617 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 25 (remaining gas: 1039967.922 units remaining) + - location: 25 (remaining gas: 1039969.607 units remaining) [ 0 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 27 (remaining gas: 1039967.912 units remaining) + - location: 27 (remaining gas: 1039969.597 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 25 (remaining gas: 1039967.902 units remaining) + - location: 25 (remaining gas: 1039969.587 units remaining) [ 1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 27 (remaining gas: 1039967.892 units remaining) + - location: 27 (remaining gas: 1039969.577 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 25 (remaining gas: 1039967.882 units remaining) + - location: 25 (remaining gas: 1039969.567 units remaining) [ 9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 27 (remaining gas: 1039967.872 units remaining) + - location: 27 (remaining gas: 1039969.557 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 25 (remaining gas: 1039967.862 units remaining) + - location: 25 (remaining gas: 1039969.547 units remaining) [ { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 22 (remaining gas: 1039967.842 units remaining) + - location: 22 (remaining gas: 1039969.527 units remaining) [ { { False ; False ; True ; False ; False } } { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 28 (remaining gas: 1039967.832 units remaining) + - location: 28 (remaining gas: 1039969.517 units remaining) [ { True ; True ; False ; True ; True } { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 29 (remaining gas: 1039967.822 units remaining) + - location: 29 (remaining gas: 1039969.507 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 30 (remaining gas: 1039967.812 units remaining) + - location: 30 (remaining gas: 1039969.507 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 32 (remaining gas: 1039967.802 units remaining) + - location: 32 (remaining gas: 1039969.497 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 33 (remaining gas: 1039967.802 units remaining) + - location: 33 (remaining gas: 1039969.497 units remaining) [ -9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 35 (remaining gas: 1039967.792 units remaining) + - location: 35 (remaining gas: 1039969.487 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 33 (remaining gas: 1039967.782 units remaining) + - location: 33 (remaining gas: 1039969.477 units remaining) [ -1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 35 (remaining gas: 1039967.772 units remaining) + - location: 35 (remaining gas: 1039969.467 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 33 (remaining gas: 1039967.762 units remaining) + - location: 33 (remaining gas: 1039969.457 units remaining) [ 0 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 35 (remaining gas: 1039967.752 units remaining) + - location: 35 (remaining gas: 1039969.447 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 33 (remaining gas: 1039967.742 units remaining) + - location: 33 (remaining gas: 1039969.437 units remaining) [ 1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 35 (remaining gas: 1039967.732 units remaining) + - location: 35 (remaining gas: 1039969.427 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 33 (remaining gas: 1039967.722 units remaining) + - location: 33 (remaining gas: 1039969.417 units remaining) [ 9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 35 (remaining gas: 1039967.712 units remaining) + - location: 35 (remaining gas: 1039969.407 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 33 (remaining gas: 1039967.702 units remaining) + - location: 33 (remaining gas: 1039969.397 units remaining) [ { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 30 (remaining gas: 1039967.682 units remaining) + - location: 30 (remaining gas: 1039969.377 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 36 (remaining gas: 1039967.672 units remaining) + - location: 36 (remaining gas: 1039969.367 units remaining) [ { True ; True ; True ; False ; False } { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 37 (remaining gas: 1039967.662 units remaining) + - location: 37 (remaining gas: 1039969.357 units remaining) [ { { True ; True ; True ; False ; False } ; { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 38 (remaining gas: 1039967.652 units remaining) + - location: 38 (remaining gas: 1039969.357 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 40 (remaining gas: 1039967.642 units remaining) + - location: 40 (remaining gas: 1039969.347 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 41 (remaining gas: 1039967.642 units remaining) + - location: 41 (remaining gas: 1039969.347 units remaining) [ -9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 43 (remaining gas: 1039967.632 units remaining) + - location: 43 (remaining gas: 1039969.337 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 41 (remaining gas: 1039967.622 units remaining) + - location: 41 (remaining gas: 1039969.327 units remaining) [ -1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 43 (remaining gas: 1039967.612 units remaining) + - location: 43 (remaining gas: 1039969.317 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 41 (remaining gas: 1039967.602 units remaining) + - location: 41 (remaining gas: 1039969.307 units remaining) [ 0 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 43 (remaining gas: 1039967.592 units remaining) + - location: 43 (remaining gas: 1039969.297 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 41 (remaining gas: 1039967.582 units remaining) + - location: 41 (remaining gas: 1039969.287 units remaining) [ 1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 43 (remaining gas: 1039967.572 units remaining) + - location: 43 (remaining gas: 1039969.277 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 41 (remaining gas: 1039967.562 units remaining) + - location: 41 (remaining gas: 1039969.267 units remaining) [ 9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 43 (remaining gas: 1039967.552 units remaining) + - location: 43 (remaining gas: 1039969.257 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 41 (remaining gas: 1039967.542 units remaining) + - location: 41 (remaining gas: 1039969.247 units remaining) [ { True ; True ; False ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 38 (remaining gas: 1039967.522 units remaining) + - location: 38 (remaining gas: 1039969.227 units remaining) [ { { 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 (remaining gas: 1039967.512 units remaining) + - location: 44 (remaining gas: 1039969.217 units remaining) [ { 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 (remaining gas: 1039967.502 units remaining) + - location: 45 (remaining gas: 1039969.207 units remaining) [ { { 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 (remaining gas: 1039967.492 units remaining) + - location: 46 (remaining gas: 1039969.207 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 48 (remaining gas: 1039967.482 units remaining) + - location: 48 (remaining gas: 1039969.197 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 49 (remaining gas: 1039967.482 units remaining) + - location: 49 (remaining gas: 1039969.197 units remaining) [ -9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 51 (remaining gas: 1039967.472 units remaining) + - location: 51 (remaining gas: 1039969.187 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 49 (remaining gas: 1039967.462 units remaining) + - location: 49 (remaining gas: 1039969.177 units remaining) [ -1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 51 (remaining gas: 1039967.452 units remaining) + - location: 51 (remaining gas: 1039969.167 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 49 (remaining gas: 1039967.442 units remaining) + - location: 49 (remaining gas: 1039969.157 units remaining) [ 0 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 51 (remaining gas: 1039967.432 units remaining) + - location: 51 (remaining gas: 1039969.147 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 49 (remaining gas: 1039967.422 units remaining) + - location: 49 (remaining gas: 1039969.137 units remaining) [ 1 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 51 (remaining gas: 1039967.412 units remaining) + - location: 51 (remaining gas: 1039969.127 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 49 (remaining gas: 1039967.402 units remaining) + - location: 49 (remaining gas: 1039969.117 units remaining) [ 9999999 { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 51 (remaining gas: 1039967.392 units remaining) + - location: 51 (remaining gas: 1039969.107 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 49 (remaining gas: 1039967.382 units remaining) + - location: 49 (remaining gas: 1039969.097 units remaining) [ { False ; False ; True ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 46 (remaining gas: 1039967.362 units remaining) + - location: 46 (remaining gas: 1039969.077 units remaining) [ { { 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 (remaining gas: 1039967.352 units remaining) + - location: 52 (remaining gas: 1039969.067 units remaining) [ { 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 (remaining gas: 1039967.342 units remaining) + - location: 53 (remaining gas: 1039969.057 units remaining) [ { { 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 (remaining gas: 1039967.332 units remaining) + - location: 54 (remaining gas: 1039969.057 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] - - location: 56 (remaining gas: 1039967.332 units remaining) + - location: 56 (remaining gas: 1039969.057 units remaining) [ -9999999 ] - - location: 58 (remaining gas: 1039967.322 units remaining) + - location: 58 (remaining gas: 1039969.047 units remaining) [ False ] - - location: 56 (remaining gas: 1039967.312 units remaining) + - location: 56 (remaining gas: 1039969.037 units remaining) [ -1 ] - - location: 58 (remaining gas: 1039967.302 units remaining) + - location: 58 (remaining gas: 1039969.027 units remaining) [ False ] - - location: 56 (remaining gas: 1039967.292 units remaining) + - location: 56 (remaining gas: 1039969.017 units remaining) [ 0 ] - - location: 58 (remaining gas: 1039967.282 units remaining) + - location: 58 (remaining gas: 1039969.007 units remaining) [ False ] - - location: 56 (remaining gas: 1039967.272 units remaining) + - location: 56 (remaining gas: 1039968.997 units remaining) [ 1 ] - - location: 58 (remaining gas: 1039967.262 units remaining) + - location: 58 (remaining gas: 1039968.987 units remaining) [ True ] - - location: 56 (remaining gas: 1039967.252 units remaining) + - location: 56 (remaining gas: 1039968.977 units remaining) [ 9999999 ] - - location: 58 (remaining gas: 1039967.242 units remaining) + - location: 58 (remaining gas: 1039968.967 units remaining) [ True ] - - location: 56 (remaining gas: 1039967.232 units remaining) + - location: 56 (remaining gas: 1039968.957 units remaining) [ { False ; False ; False ; True ; True } ] - - location: 54 (remaining gas: 1039967.212 units remaining) + - location: 54 (remaining gas: 1039968.937 units remaining) [ { { 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 (remaining gas: 1039967.202 units remaining) + - location: 59 (remaining gas: 1039968.927 units remaining) [ { 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 (remaining gas: 1039967.192 units remaining) + - location: 60 (remaining gas: 1039968.917 units remaining) [ { { 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 (remaining gas: 1039967.182 units remaining) + - location: 61 (remaining gas: 1039968.907 units remaining) [ {} { { False ; False ; False ; True ; True } ; { False ; False ; True ; True ; True } ; @@ -339,7 +339,7 @@ trace { True ; True ; True ; False ; False } ; { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } ] - - location: 63 (remaining gas: 1039967.172 units remaining) + - location: 63 (remaining gas: 1039968.897 units remaining) [ (Pair {} { { False ; False ; False ; True ; True } ; { False ; False ; True ; True ; True } ; diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" index d91071f1fa01..ddb323de049f 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" @@ -7,22 +7,22 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.115 units remaining) + - location: 9 (remaining gas: 1039993.295 units remaining) [ (Pair { "World!" } {}) ] - - location: 9 (remaining gas: 1039993.105 units remaining) + - location: 9 (remaining gas: 1039993.285 units remaining) [ { "World!" } ] - - location: 10 (remaining gas: 1039993.105 units remaining) + - location: 10 (remaining gas: 1039993.285 units remaining) [ "World!" ] - - location: 12 (remaining gas: 1039993.095 units remaining) + - location: 12 (remaining gas: 1039993.275 units remaining) [ "Hello " "World!" ] - - location: 15 (remaining gas: 1039993.050 units remaining) + - location: 15 (remaining gas: 1039993.230 units remaining) [ "Hello World!" ] - - location: 10 (remaining gas: 1039993.040 units remaining) + - location: 10 (remaining gas: 1039993.220 units remaining) [ { "Hello World!" } ] - - location: 16 (remaining gas: 1039993.030 units remaining) + - location: 16 (remaining gas: 1039993.210 units remaining) [ {} { "Hello World!" } ] - - location: 18 (remaining gas: 1039993.020 units remaining) + - location: 18 (remaining gas: 1039993.200 units remaining) [ (Pair {} { "Hello World!" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" index 2513c6bc9180..ed1ab28000ed 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.961 units remaining) + - location: 9 (remaining gas: 1039993.141 units remaining) [ (Pair { "test1" ; "test2" } {}) ] - - location: 9 (remaining gas: 1039992.951 units remaining) + - location: 9 (remaining gas: 1039993.131 units remaining) [ { "test1" ; "test2" } ] - - location: 10 (remaining gas: 1039992.951 units remaining) + - location: 10 (remaining gas: 1039993.131 units remaining) [ "test1" ] - - location: 12 (remaining gas: 1039992.941 units remaining) + - location: 12 (remaining gas: 1039993.121 units remaining) [ "Hello " "test1" ] - - location: 15 (remaining gas: 1039992.896 units remaining) + - location: 15 (remaining gas: 1039993.076 units remaining) [ "Hello test1" ] - - location: 10 (remaining gas: 1039992.886 units remaining) + - location: 10 (remaining gas: 1039993.066 units remaining) [ "test2" ] - - location: 12 (remaining gas: 1039992.876 units remaining) + - location: 12 (remaining gas: 1039993.056 units remaining) [ "Hello " "test2" ] - - location: 15 (remaining gas: 1039992.831 units remaining) + - location: 15 (remaining gas: 1039993.011 units remaining) [ "Hello test2" ] - - location: 10 (remaining gas: 1039992.821 units remaining) + - location: 10 (remaining gas: 1039993.001 units remaining) [ { "Hello test1" ; "Hello test2" } ] - - location: 16 (remaining gas: 1039992.811 units remaining) + - location: 16 (remaining gas: 1039992.991 units remaining) [ {} { "Hello test1" ; "Hello test2" } ] - - location: 18 (remaining gas: 1039992.801 units remaining) + - location: 18 (remaining gas: 1039992.981 units remaining) [ (Pair {} { "Hello test1" ; "Hello test2" }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out index 69572d5af697..b75bc973c85b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.289 units remaining) + - location: 9 (remaining gas: 1039993.469 units remaining) [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039993.279 units remaining) + - location: 9 (remaining gas: 1039993.459 units remaining) [ {} ] - - location: 10 (remaining gas: 1039993.279 units remaining) + - location: 10 (remaining gas: 1039993.459 units remaining) [ {} ] - - location: 16 (remaining gas: 1039993.269 units remaining) + - location: 16 (remaining gas: 1039993.449 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039993.259 units remaining) + - location: 18 (remaining gas: 1039993.439 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out index b61205aa9df4..78ce797c8328 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.208 units remaining) + - location: 9 (remaining gas: 1039993.388 units remaining) [ (Pair { 0xab ; 0xcd } {}) ] - - location: 9 (remaining gas: 1039993.198 units remaining) + - location: 9 (remaining gas: 1039993.378 units remaining) [ { 0xab ; 0xcd } ] - - location: 10 (remaining gas: 1039993.198 units remaining) + - location: 10 (remaining gas: 1039993.378 units remaining) [ 0xab ] - - location: 12 (remaining gas: 1039993.188 units remaining) + - location: 12 (remaining gas: 1039993.368 units remaining) [ 0xff 0xab ] - - location: 15 (remaining gas: 1039993.143 units remaining) + - location: 15 (remaining gas: 1039993.323 units remaining) [ 0xffab ] - - location: 10 (remaining gas: 1039993.133 units remaining) + - location: 10 (remaining gas: 1039993.313 units remaining) [ 0xcd ] - - location: 12 (remaining gas: 1039993.123 units remaining) + - location: 12 (remaining gas: 1039993.303 units remaining) [ 0xff 0xcd ] - - location: 15 (remaining gas: 1039993.078 units remaining) + - location: 15 (remaining gas: 1039993.258 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039993.068 units remaining) + - location: 10 (remaining gas: 1039993.248 units remaining) [ { 0xffab ; 0xffcd } ] - - location: 16 (remaining gas: 1039993.058 units remaining) + - location: 16 (remaining gas: 1039993.238 units remaining) [ {} { 0xffab ; 0xffcd } ] - - location: 18 (remaining gas: 1039993.048 units remaining) + - location: 18 (remaining gas: 1039993.228 units remaining) [ (Pair {} { 0xffab ; 0xffcd }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out index eb284297fc8f..a8ff2068bb8b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out @@ -7,22 +7,22 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.308 units remaining) + - location: 9 (remaining gas: 1039993.488 units remaining) [ (Pair { 0xcd } {}) ] - - location: 9 (remaining gas: 1039993.298 units remaining) + - location: 9 (remaining gas: 1039993.478 units remaining) [ { 0xcd } ] - - location: 10 (remaining gas: 1039993.298 units remaining) + - location: 10 (remaining gas: 1039993.478 units remaining) [ 0xcd ] - - location: 12 (remaining gas: 1039993.288 units remaining) + - location: 12 (remaining gas: 1039993.468 units remaining) [ 0xff 0xcd ] - - location: 15 (remaining gas: 1039993.243 units remaining) + - location: 15 (remaining gas: 1039993.423 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039993.233 units remaining) + - location: 10 (remaining gas: 1039993.413 units remaining) [ { 0xffcd } ] - - location: 16 (remaining gas: 1039993.223 units remaining) + - location: 16 (remaining gas: 1039993.403 units remaining) [ {} { 0xffcd } ] - - location: 18 (remaining gas: 1039993.213 units remaining) + - location: 18 (remaining gas: 1039993.393 units remaining) [ (Pair {} { 0xffcd }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out index 57e8d7107be9..59d1b1ba1f85 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.408 units remaining) + - location: 9 (remaining gas: 1039993.588 units remaining) [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039993.398 units remaining) + - location: 9 (remaining gas: 1039993.578 units remaining) [ {} ] - - location: 10 (remaining gas: 1039993.398 units remaining) + - location: 10 (remaining gas: 1039993.578 units remaining) [ {} ] - - location: 16 (remaining gas: 1039993.388 units remaining) + - location: 16 (remaining gas: 1039993.568 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039993.378 units remaining) + - location: 18 (remaining gas: 1039993.558 units remaining) [ (Pair {} {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" index 0e9e3276ed81..603b1953a6b7 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" @@ -7,113 +7,113 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039988.347 units remaining) + - location: 8 (remaining gas: 1039988.887 units remaining) [ (Pair { "Hello" ; " " ; "World" ; "!" } "") ] - - location: 8 (remaining gas: 1039988.337 units remaining) + - location: 8 (remaining gas: 1039988.877 units remaining) [ { "Hello" ; " " ; "World" ; "!" } ] - - location: 9 (remaining gas: 1039988.327 units remaining) + - location: 9 (remaining gas: 1039988.867 units remaining) [ "" { "Hello" ; " " ; "World" ; "!" } ] - - location: 12 (remaining gas: 1039988.317 units remaining) + - location: 12 (remaining gas: 1039988.857 units remaining) [ { "Hello" ; " " ; "World" ; "!" } "" ] - - location: 13 (remaining gas: 1039988.317 units remaining) + - location: 13 (remaining gas: 1039988.857 units remaining) [ "Hello" "" ] - - location: 15 (remaining gas: 1039988.307 units remaining) + - location: 15 (remaining gas: 1039988.847 units remaining) [ "" "Hello" ] - - location: 16 (remaining gas: 1039988.297 units remaining) + - location: 16 (remaining gas: 1039988.847 units remaining) [ "Hello" ] - - location: 18 (remaining gas: 1039988.287 units remaining) + - location: 18 (remaining gas: 1039988.837 units remaining) [ {} "Hello" ] - - location: 20 (remaining gas: 1039988.277 units remaining) + - location: 20 (remaining gas: 1039988.827 units remaining) [ "Hello" {} ] - - location: 21 (remaining gas: 1039988.267 units remaining) + - location: 21 (remaining gas: 1039988.817 units remaining) [ { "Hello" } ] - - location: 16 (remaining gas: 1039988.247 units remaining) + - location: 16 (remaining gas: 1039988.797 units remaining) [ "" { "Hello" } ] - - location: 22 (remaining gas: 1039988.237 units remaining) + - location: 22 (remaining gas: 1039988.787 units remaining) [ { "" ; "Hello" } ] - - location: 23 (remaining gas: 1039988.117 units remaining) + - location: 23 (remaining gas: 1039988.667 units remaining) [ "Hello" ] - - location: 13 (remaining gas: 1039988.107 units remaining) + - location: 13 (remaining gas: 1039988.657 units remaining) [ " " "Hello" ] - - location: 15 (remaining gas: 1039988.097 units remaining) + - location: 15 (remaining gas: 1039988.647 units remaining) [ "Hello" " " ] - - location: 16 (remaining gas: 1039988.087 units remaining) + - location: 16 (remaining gas: 1039988.647 units remaining) [ " " ] - - location: 18 (remaining gas: 1039988.077 units remaining) + - location: 18 (remaining gas: 1039988.637 units remaining) [ {} " " ] - - location: 20 (remaining gas: 1039988.067 units remaining) + - location: 20 (remaining gas: 1039988.627 units remaining) [ " " {} ] - - location: 21 (remaining gas: 1039988.057 units remaining) + - location: 21 (remaining gas: 1039988.617 units remaining) [ { " " } ] - - location: 16 (remaining gas: 1039988.037 units remaining) + - location: 16 (remaining gas: 1039988.597 units remaining) [ "Hello" { " " } ] - - location: 22 (remaining gas: 1039988.027 units remaining) + - location: 22 (remaining gas: 1039988.587 units remaining) [ { "Hello" ; " " } ] - - location: 23 (remaining gas: 1039987.907 units remaining) + - location: 23 (remaining gas: 1039988.467 units remaining) [ "Hello " ] - - location: 13 (remaining gas: 1039987.897 units remaining) + - location: 13 (remaining gas: 1039988.457 units remaining) [ "World" "Hello " ] - - location: 15 (remaining gas: 1039987.887 units remaining) + - location: 15 (remaining gas: 1039988.447 units remaining) [ "Hello " "World" ] - - location: 16 (remaining gas: 1039987.877 units remaining) + - location: 16 (remaining gas: 1039988.447 units remaining) [ "World" ] - - location: 18 (remaining gas: 1039987.867 units remaining) + - location: 18 (remaining gas: 1039988.437 units remaining) [ {} "World" ] - - location: 20 (remaining gas: 1039987.857 units remaining) + - location: 20 (remaining gas: 1039988.427 units remaining) [ "World" {} ] - - location: 21 (remaining gas: 1039987.847 units remaining) + - location: 21 (remaining gas: 1039988.417 units remaining) [ { "World" } ] - - location: 16 (remaining gas: 1039987.827 units remaining) + - location: 16 (remaining gas: 1039988.397 units remaining) [ "Hello " { "World" } ] - - location: 22 (remaining gas: 1039987.817 units remaining) + - location: 22 (remaining gas: 1039988.387 units remaining) [ { "Hello " ; "World" } ] - - location: 23 (remaining gas: 1039987.696 units remaining) + - location: 23 (remaining gas: 1039988.266 units remaining) [ "Hello World" ] - - location: 13 (remaining gas: 1039987.686 units remaining) + - location: 13 (remaining gas: 1039988.256 units remaining) [ "!" "Hello World" ] - - location: 15 (remaining gas: 1039987.676 units remaining) + - location: 15 (remaining gas: 1039988.246 units remaining) [ "Hello World" "!" ] - - location: 16 (remaining gas: 1039987.666 units remaining) + - location: 16 (remaining gas: 1039988.246 units remaining) [ "!" ] - - location: 18 (remaining gas: 1039987.656 units remaining) + - location: 18 (remaining gas: 1039988.236 units remaining) [ {} "!" ] - - location: 20 (remaining gas: 1039987.646 units remaining) + - location: 20 (remaining gas: 1039988.226 units remaining) [ "!" {} ] - - location: 21 (remaining gas: 1039987.636 units remaining) + - location: 21 (remaining gas: 1039988.216 units remaining) [ { "!" } ] - - location: 16 (remaining gas: 1039987.616 units remaining) + - location: 16 (remaining gas: 1039988.196 units remaining) [ "Hello World" { "!" } ] - - location: 22 (remaining gas: 1039987.606 units remaining) + - location: 22 (remaining gas: 1039988.186 units remaining) [ { "Hello World" ; "!" } ] - - location: 23 (remaining gas: 1039987.485 units remaining) + - location: 23 (remaining gas: 1039988.065 units remaining) [ "Hello World!" ] - - location: 13 (remaining gas: 1039987.475 units remaining) + - location: 13 (remaining gas: 1039988.055 units remaining) [ "Hello World!" ] - - location: 24 (remaining gas: 1039987.465 units remaining) + - location: 24 (remaining gas: 1039988.045 units remaining) [ {} "Hello World!" ] - - location: 26 (remaining gas: 1039987.455 units remaining) + - location: 26 (remaining gas: 1039988.035 units remaining) [ (Pair {} "Hello World!") ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" index cd24376650f9..46ec78f6cfa2 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" @@ -7,90 +7,90 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039988.551 units remaining) + - location: 8 (remaining gas: 1039989.091 units remaining) [ (Pair { "a" ; "b" ; "c" } "") ] - - location: 8 (remaining gas: 1039988.541 units remaining) + - location: 8 (remaining gas: 1039989.081 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 9 (remaining gas: 1039988.531 units remaining) + - location: 9 (remaining gas: 1039989.071 units remaining) [ "" { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039988.521 units remaining) + - location: 12 (remaining gas: 1039989.061 units remaining) [ { "a" ; "b" ; "c" } "" ] - - location: 13 (remaining gas: 1039988.521 units remaining) + - location: 13 (remaining gas: 1039989.061 units remaining) [ "a" "" ] - - location: 15 (remaining gas: 1039988.511 units remaining) + - location: 15 (remaining gas: 1039989.051 units remaining) [ "" "a" ] - - location: 16 (remaining gas: 1039988.501 units remaining) + - location: 16 (remaining gas: 1039989.051 units remaining) [ "a" ] - - location: 18 (remaining gas: 1039988.491 units remaining) + - location: 18 (remaining gas: 1039989.041 units remaining) [ {} "a" ] - - location: 20 (remaining gas: 1039988.481 units remaining) + - location: 20 (remaining gas: 1039989.031 units remaining) [ "a" {} ] - - location: 21 (remaining gas: 1039988.471 units remaining) + - location: 21 (remaining gas: 1039989.021 units remaining) [ { "a" } ] - - location: 16 (remaining gas: 1039988.451 units remaining) + - location: 16 (remaining gas: 1039989.001 units remaining) [ "" { "a" } ] - - location: 22 (remaining gas: 1039988.441 units remaining) + - location: 22 (remaining gas: 1039988.991 units remaining) [ { "" ; "a" } ] - - location: 23 (remaining gas: 1039988.321 units remaining) + - location: 23 (remaining gas: 1039988.871 units remaining) [ "a" ] - - location: 13 (remaining gas: 1039988.311 units remaining) + - location: 13 (remaining gas: 1039988.861 units remaining) [ "b" "a" ] - - location: 15 (remaining gas: 1039988.301 units remaining) + - location: 15 (remaining gas: 1039988.851 units remaining) [ "a" "b" ] - - location: 16 (remaining gas: 1039988.291 units remaining) + - location: 16 (remaining gas: 1039988.851 units remaining) [ "b" ] - - location: 18 (remaining gas: 1039988.281 units remaining) + - location: 18 (remaining gas: 1039988.841 units remaining) [ {} "b" ] - - location: 20 (remaining gas: 1039988.271 units remaining) + - location: 20 (remaining gas: 1039988.831 units remaining) [ "b" {} ] - - location: 21 (remaining gas: 1039988.261 units remaining) + - location: 21 (remaining gas: 1039988.821 units remaining) [ { "b" } ] - - location: 16 (remaining gas: 1039988.241 units remaining) + - location: 16 (remaining gas: 1039988.801 units remaining) [ "a" { "b" } ] - - location: 22 (remaining gas: 1039988.231 units remaining) + - location: 22 (remaining gas: 1039988.791 units remaining) [ { "a" ; "b" } ] - - location: 23 (remaining gas: 1039988.111 units remaining) + - location: 23 (remaining gas: 1039988.671 units remaining) [ "ab" ] - - location: 13 (remaining gas: 1039988.101 units remaining) + - location: 13 (remaining gas: 1039988.661 units remaining) [ "c" "ab" ] - - location: 15 (remaining gas: 1039988.091 units remaining) + - location: 15 (remaining gas: 1039988.651 units remaining) [ "ab" "c" ] - - location: 16 (remaining gas: 1039988.081 units remaining) + - location: 16 (remaining gas: 1039988.651 units remaining) [ "c" ] - - location: 18 (remaining gas: 1039988.071 units remaining) + - location: 18 (remaining gas: 1039988.641 units remaining) [ {} "c" ] - - location: 20 (remaining gas: 1039988.061 units remaining) + - location: 20 (remaining gas: 1039988.631 units remaining) [ "c" {} ] - - location: 21 (remaining gas: 1039988.051 units remaining) + - location: 21 (remaining gas: 1039988.621 units remaining) [ { "c" } ] - - location: 16 (remaining gas: 1039988.031 units remaining) + - location: 16 (remaining gas: 1039988.601 units remaining) [ "ab" { "c" } ] - - location: 22 (remaining gas: 1039988.021 units remaining) + - location: 22 (remaining gas: 1039988.591 units remaining) [ { "ab" ; "c" } ] - - location: 23 (remaining gas: 1039987.901 units remaining) + - location: 23 (remaining gas: 1039988.471 units remaining) [ "abc" ] - - location: 13 (remaining gas: 1039987.891 units remaining) + - location: 13 (remaining gas: 1039988.461 units remaining) [ "abc" ] - - location: 24 (remaining gas: 1039987.881 units remaining) + - location: 24 (remaining gas: 1039988.451 units remaining) [ {} "abc" ] - - location: 26 (remaining gas: 1039987.871 units remaining) + - location: 26 (remaining gas: 1039988.441 units remaining) [ (Pair {} "abc") ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" index 529ecabe4cc6..d4cc08e50f7d 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039988.923 units remaining) + - location: 8 (remaining gas: 1039989.463 units remaining) [ (Pair {} "") ] - - location: 8 (remaining gas: 1039988.913 units remaining) + - location: 8 (remaining gas: 1039989.453 units remaining) [ {} ] - - location: 9 (remaining gas: 1039988.903 units remaining) + - location: 9 (remaining gas: 1039989.443 units remaining) [ "" {} ] - - location: 12 (remaining gas: 1039988.893 units remaining) + - location: 12 (remaining gas: 1039989.433 units remaining) [ {} "" ] - - location: 13 (remaining gas: 1039988.893 units remaining) + - location: 13 (remaining gas: 1039989.433 units remaining) [ "" ] - - location: 24 (remaining gas: 1039988.883 units remaining) + - location: 24 (remaining gas: 1039989.423 units remaining) [ {} "" ] - - location: 26 (remaining gas: 1039988.873 units remaining) + - location: 26 (remaining gas: 1039989.413 units remaining) [ (Pair {} "") ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out index 90f2d387e615..b7c80f081e41 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.060 units remaining) + - location: 8 (remaining gas: 1039995.240 units remaining) [ (Pair 99 { -5 ; 10 }) ] - - location: 8 (remaining gas: 1039995.050 units remaining) + - location: 8 (remaining gas: 1039995.230 units remaining) [ 99 { -5 ; 10 } ] - - location: 9 (remaining gas: 1039995.040 units remaining) + - location: 9 (remaining gas: 1039995.220 units remaining) [ { 99 ; -5 ; 10 } ] - - location: 10 (remaining gas: 1039995.030 units remaining) + - location: 10 (remaining gas: 1039995.210 units remaining) [ {} { 99 ; -5 ; 10 } ] - - location: 12 (remaining gas: 1039995.020 units remaining) + - location: 12 (remaining gas: 1039995.200 units remaining) [ (Pair {} { 99 ; -5 ; 10 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out index 9afa6329c747..c0aa97b1be13 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.160 units remaining) + - location: 8 (remaining gas: 1039995.340 units remaining) [ (Pair -5 { 10 }) ] - - location: 8 (remaining gas: 1039995.150 units remaining) + - location: 8 (remaining gas: 1039995.330 units remaining) [ -5 { 10 } ] - - location: 9 (remaining gas: 1039995.140 units remaining) + - location: 9 (remaining gas: 1039995.320 units remaining) [ { -5 ; 10 } ] - - location: 10 (remaining gas: 1039995.130 units remaining) + - location: 10 (remaining gas: 1039995.310 units remaining) [ {} { -5 ; 10 } ] - - location: 12 (remaining gas: 1039995.120 units remaining) + - location: 12 (remaining gas: 1039995.300 units remaining) [ (Pair {} { -5 ; 10 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out index dbaa8068611e..290d8e0e38f8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out @@ -7,16 +7,16 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.260 units remaining) + - location: 8 (remaining gas: 1039995.440 units remaining) [ (Pair 10 {}) ] - - location: 8 (remaining gas: 1039995.250 units remaining) + - location: 8 (remaining gas: 1039995.430 units remaining) [ 10 {} ] - - location: 9 (remaining gas: 1039995.240 units remaining) + - location: 9 (remaining gas: 1039995.420 units remaining) [ { 10 } ] - - location: 10 (remaining gas: 1039995.230 units remaining) + - location: 10 (remaining gas: 1039995.410 units remaining) [ {} { 10 } ] - - location: 12 (remaining gas: 1039995.220 units remaining) + - location: 12 (remaining gas: 1039995.400 units remaining) [ (Pair {} { 10 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" index f507559c7a61..bbfe73c43add 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" @@ -7,160 +7,160 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039965.634 units remaining) + - location: 12 (remaining gas: 1039967.659 units remaining) [ (Pair (Pair { "A" } { "B" }) None) ] - - location: 12 (remaining gas: 1039965.624 units remaining) + - location: 12 (remaining gas: 1039967.649 units remaining) [ (Pair { "A" } { "B" }) ] - - location: 13 (remaining gas: 1039965.614 units remaining) + - location: 13 (remaining gas: 1039967.639 units remaining) [ (Pair { "A" } { "B" }) (Pair { "A" } { "B" }) ] - - location: 14 (remaining gas: 1039965.604 units remaining) + - location: 14 (remaining gas: 1039967.629 units remaining) [ { "A" } (Pair { "A" } { "B" }) ] - - location: 15 (remaining gas: 1039965.594 units remaining) + - location: 15 (remaining gas: 1039967.629 units remaining) [ (Pair { "A" } { "B" }) ] - - location: 17 (remaining gas: 1039965.584 units remaining) + - location: 17 (remaining gas: 1039967.619 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039965.564 units remaining) + - location: 15 (remaining gas: 1039967.599 units remaining) [ { "A" } { "B" } ] - - location: 18 (remaining gas: 1039965.344 units remaining) + - location: 18 (remaining gas: 1039967.379 units remaining) [ {} { "A" } { "B" } ] - - location: 20 (remaining gas: 1039965.334 units remaining) + - location: 20 (remaining gas: 1039967.369 units remaining) [ { "A" } {} { "B" } ] - - location: 21 (remaining gas: 1039965.334 units remaining) + - location: 21 (remaining gas: 1039967.369 units remaining) [ "A" {} { "B" } ] - - location: 23 (remaining gas: 1039965.324 units remaining) + - location: 23 (remaining gas: 1039967.359 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 24 (remaining gas: 1039965.314 units remaining) + - location: 24 (remaining gas: 1039967.349 units remaining) [ (Pair "A" {}) (Pair "A" {}) { "B" } ] - - location: 25 (remaining gas: 1039965.304 units remaining) + - location: 25 (remaining gas: 1039967.339 units remaining) [ "A" (Pair "A" {}) { "B" } ] - - location: 26 (remaining gas: 1039965.294 units remaining) + - location: 26 (remaining gas: 1039967.339 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 28 (remaining gas: 1039965.284 units remaining) + - location: 28 (remaining gas: 1039967.329 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039965.264 units remaining) + - location: 26 (remaining gas: 1039967.309 units remaining) [ "A" {} { "B" } ] - - location: 29 (remaining gas: 1039965.254 units remaining) + - location: 29 (remaining gas: 1039967.299 units remaining) [ True "A" {} { "B" } ] - - location: 32 (remaining gas: 1039965.244 units remaining) + - location: 32 (remaining gas: 1039967.289 units remaining) [ "A" True {} { "B" } ] - - location: 33 (remaining gas: 1039965.112 units remaining) + - location: 33 (remaining gas: 1039967.157 units remaining) [ { "A" } { "B" } ] - - location: 21 (remaining gas: 1039965.102 units remaining) + - location: 21 (remaining gas: 1039967.147 units remaining) [ { "A" } { "B" } ] - - location: 34 (remaining gas: 1039965.092 units remaining) + - location: 34 (remaining gas: 1039967.137 units remaining) [ True { "A" } { "B" } ] - - location: 37 (remaining gas: 1039965.082 units remaining) + - location: 37 (remaining gas: 1039967.127 units remaining) [ { "A" } True { "B" } ] - - location: 38 (remaining gas: 1039965.072 units remaining) + - location: 38 (remaining gas: 1039967.117 units remaining) [ (Pair { "A" } True) { "B" } ] - - location: 39 (remaining gas: 1039965.062 units remaining) + - location: 39 (remaining gas: 1039967.107 units remaining) [ { "B" } (Pair { "A" } True) ] - - location: 40 (remaining gas: 1039965.062 units remaining) + - location: 40 (remaining gas: 1039967.107 units remaining) [ "B" (Pair { "A" } True) ] - - location: 42 (remaining gas: 1039965.052 units remaining) + - location: 42 (remaining gas: 1039967.097 units remaining) [ (Pair "B" { "A" } True) ] - - location: 43 (remaining gas: 1039965.042 units remaining) + - location: 43 (remaining gas: 1039967.087 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 44 (remaining gas: 1039965.032 units remaining) + - location: 44 (remaining gas: 1039967.077 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 45 (remaining gas: 1039965.022 units remaining) + - location: 45 (remaining gas: 1039967.067 units remaining) [ "B" (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 46 (remaining gas: 1039965.012 units remaining) + - location: 46 (remaining gas: 1039967.067 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 49 (remaining gas: 1039965.002 units remaining) + - location: 49 (remaining gas: 1039967.057 units remaining) [ (Pair { "A" } True) (Pair "B" { "A" } True) ] - - location: 50 (remaining gas: 1039964.992 units remaining) + - location: 50 (remaining gas: 1039967.047 units remaining) [ { "A" } (Pair "B" { "A" } True) ] - - location: 51 (remaining gas: 1039964.982 units remaining) + - location: 51 (remaining gas: 1039967.047 units remaining) [ (Pair "B" { "A" } True) ] - - location: 54 (remaining gas: 1039964.972 units remaining) + - location: 54 (remaining gas: 1039967.037 units remaining) [ (Pair { "A" } True) ] - - location: 55 (remaining gas: 1039964.962 units remaining) + - location: 55 (remaining gas: 1039967.027 units remaining) [ True ] - - location: 51 (remaining gas: 1039964.942 units remaining) + - location: 51 (remaining gas: 1039967.007 units remaining) [ { "A" } True ] - - location: 56 (remaining gas: 1039964.932 units remaining) + - location: 56 (remaining gas: 1039966.997 units remaining) [ { "A" } { "A" } True ] - - location: 46 (remaining gas: 1039964.912 units remaining) + - location: 46 (remaining gas: 1039966.977 units remaining) [ "B" { "A" } { "A" } True ] - - location: 57 (remaining gas: 1039964.795 units remaining) + - location: 57 (remaining gas: 1039966.860 units remaining) [ False { "A" } True ] - - location: 58 (remaining gas: 1039964.785 units remaining) + - location: 58 (remaining gas: 1039966.860 units remaining) [ { "A" } True ] - - location: 60 (remaining gas: 1039964.775 units remaining) + - location: 60 (remaining gas: 1039966.850 units remaining) [ True { "A" } ] - - location: 58 (remaining gas: 1039964.755 units remaining) + - location: 58 (remaining gas: 1039966.830 units remaining) [ False True { "A" } ] - - location: 61 (remaining gas: 1039964.745 units remaining) + - location: 61 (remaining gas: 1039966.820 units remaining) [ False { "A" } ] - - location: 62 (remaining gas: 1039964.735 units remaining) + - location: 62 (remaining gas: 1039966.810 units remaining) [ { "A" } False ] - - location: 63 (remaining gas: 1039964.725 units remaining) + - location: 63 (remaining gas: 1039966.800 units remaining) [ (Pair { "A" } False) ] - - location: 40 (remaining gas: 1039964.715 units remaining) + - location: 40 (remaining gas: 1039966.790 units remaining) [ (Pair { "A" } False) ] - - location: 64 (remaining gas: 1039964.705 units remaining) + - location: 64 (remaining gas: 1039966.780 units remaining) [ False ] - - location: 65 (remaining gas: 1039964.695 units remaining) + - location: 65 (remaining gas: 1039966.770 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039964.685 units remaining) + - location: 66 (remaining gas: 1039966.760 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039964.675 units remaining) + - location: 68 (remaining gas: 1039966.750 units remaining) [ (Pair {} (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" index 90e5259febcc..832acec67f28 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" @@ -7,404 +7,404 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039964.954 units remaining) + - location: 12 (remaining gas: 1039966.979 units remaining) [ (Pair (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) None) ] - - location: 12 (remaining gas: 1039964.944 units remaining) + - location: 12 (remaining gas: 1039966.969 units remaining) [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] - - location: 13 (remaining gas: 1039964.934 units remaining) + - location: 13 (remaining gas: 1039966.959 units remaining) [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] - - location: 14 (remaining gas: 1039964.924 units remaining) + - location: 14 (remaining gas: 1039966.949 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] - - location: 15 (remaining gas: 1039964.914 units remaining) + - location: 15 (remaining gas: 1039966.949 units remaining) [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] - - location: 17 (remaining gas: 1039964.904 units remaining) + - location: 17 (remaining gas: 1039966.939 units remaining) [ { "B" ; "C" ; "asdf" } ] - - location: 15 (remaining gas: 1039964.884 units remaining) + - location: 15 (remaining gas: 1039966.919 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" } ] - - location: 18 (remaining gas: 1039964.664 units remaining) + - location: 18 (remaining gas: 1039966.699 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" } ] - - location: 20 (remaining gas: 1039964.654 units remaining) + - location: 20 (remaining gas: 1039966.689 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } {} { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039964.654 units remaining) + - location: 21 (remaining gas: 1039966.689 units remaining) [ "B" {} { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039964.644 units remaining) + - location: 23 (remaining gas: 1039966.679 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039964.634 units remaining) + - location: 24 (remaining gas: 1039966.669 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039964.624 units remaining) + - location: 25 (remaining gas: 1039966.659 units remaining) [ "B" (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039964.614 units remaining) + - location: 26 (remaining gas: 1039966.659 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039964.604 units remaining) + - location: 28 (remaining gas: 1039966.649 units remaining) [ {} { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039964.584 units remaining) + - location: 26 (remaining gas: 1039966.629 units remaining) [ "B" {} { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039964.574 units remaining) + - location: 29 (remaining gas: 1039966.619 units remaining) [ True "B" {} { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039964.564 units remaining) + - location: 32 (remaining gas: 1039966.609 units remaining) [ "B" True {} { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039964.432 units remaining) + - location: 33 (remaining gas: 1039966.477 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039964.422 units remaining) + - location: 21 (remaining gas: 1039966.467 units remaining) [ "B" { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039964.412 units remaining) + - location: 23 (remaining gas: 1039966.457 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039964.402 units remaining) + - location: 24 (remaining gas: 1039966.447 units remaining) [ (Pair "B" { "B" }) (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039964.392 units remaining) + - location: 25 (remaining gas: 1039966.437 units remaining) [ "B" (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039964.382 units remaining) + - location: 26 (remaining gas: 1039966.437 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039964.372 units remaining) + - location: 28 (remaining gas: 1039966.427 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039964.352 units remaining) + - location: 26 (remaining gas: 1039966.407 units remaining) [ "B" { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039964.342 units remaining) + - location: 29 (remaining gas: 1039966.397 units remaining) [ True "B" { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039964.332 units remaining) + - location: 32 (remaining gas: 1039966.387 units remaining) [ "B" True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039964.198 units remaining) + - location: 33 (remaining gas: 1039966.253 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039964.188 units remaining) + - location: 21 (remaining gas: 1039966.243 units remaining) [ "asdf" { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039964.178 units remaining) + - location: 23 (remaining gas: 1039966.233 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039964.168 units remaining) + - location: 24 (remaining gas: 1039966.223 units remaining) [ (Pair "asdf" { "B" }) (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039964.158 units remaining) + - location: 25 (remaining gas: 1039966.213 units remaining) [ "asdf" (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039964.148 units remaining) + - location: 26 (remaining gas: 1039966.213 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039964.138 units remaining) + - location: 28 (remaining gas: 1039966.203 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039964.118 units remaining) + - location: 26 (remaining gas: 1039966.183 units remaining) [ "asdf" { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039964.108 units remaining) + - location: 29 (remaining gas: 1039966.173 units remaining) [ True "asdf" { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039964.098 units remaining) + - location: 32 (remaining gas: 1039966.163 units remaining) [ "asdf" True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039963.952 units remaining) + - location: 33 (remaining gas: 1039966.017 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039963.942 units remaining) + - location: 21 (remaining gas: 1039966.007 units remaining) [ "C" { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039963.932 units remaining) + - location: 23 (remaining gas: 1039965.997 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039963.922 units remaining) + - location: 24 (remaining gas: 1039965.987 units remaining) [ (Pair "C" { "B" ; "asdf" }) (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039963.912 units remaining) + - location: 25 (remaining gas: 1039965.977 units remaining) [ "C" (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039963.902 units remaining) + - location: 26 (remaining gas: 1039965.977 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039963.892 units remaining) + - location: 28 (remaining gas: 1039965.967 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039963.872 units remaining) + - location: 26 (remaining gas: 1039965.947 units remaining) [ "C" { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039963.862 units remaining) + - location: 29 (remaining gas: 1039965.937 units remaining) [ True "C" { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039963.852 units remaining) + - location: 32 (remaining gas: 1039965.927 units remaining) [ "C" True { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039963.716 units remaining) + - location: 33 (remaining gas: 1039965.791 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039963.706 units remaining) + - location: 21 (remaining gas: 1039965.781 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 34 (remaining gas: 1039963.696 units remaining) + - location: 34 (remaining gas: 1039965.771 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 37 (remaining gas: 1039963.686 units remaining) + - location: 37 (remaining gas: 1039965.761 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "C" ; "asdf" } ] - - location: 38 (remaining gas: 1039963.676 units remaining) + - location: 38 (remaining gas: 1039965.751 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "C" ; "asdf" } ] - - location: 39 (remaining gas: 1039963.666 units remaining) + - location: 39 (remaining gas: 1039965.741 units remaining) [ { "B" ; "C" ; "asdf" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039963.666 units remaining) + - location: 40 (remaining gas: 1039965.741 units remaining) [ "B" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039963.656 units remaining) + - location: 42 (remaining gas: 1039965.731 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039963.646 units remaining) + - location: 43 (remaining gas: 1039965.721 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039963.636 units remaining) + - location: 44 (remaining gas: 1039965.711 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039963.626 units remaining) + - location: 45 (remaining gas: 1039965.701 units remaining) [ "B" (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039963.616 units remaining) + - location: 46 (remaining gas: 1039965.701 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039963.606 units remaining) + - location: 49 (remaining gas: 1039965.691 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039963.596 units remaining) + - location: 50 (remaining gas: 1039965.681 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039963.586 units remaining) + - location: 51 (remaining gas: 1039965.681 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039963.576 units remaining) + - location: 54 (remaining gas: 1039965.671 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039963.566 units remaining) + - location: 55 (remaining gas: 1039965.661 units remaining) [ True ] - - location: 51 (remaining gas: 1039963.546 units remaining) + - location: 51 (remaining gas: 1039965.641 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039963.536 units remaining) + - location: 56 (remaining gas: 1039965.631 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039963.516 units remaining) + - location: 46 (remaining gas: 1039965.611 units remaining) [ "B" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039963.398 units remaining) + - location: 57 (remaining gas: 1039965.493 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039963.388 units remaining) + - location: 58 (remaining gas: 1039965.493 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039963.378 units remaining) + - location: 60 (remaining gas: 1039965.483 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039963.358 units remaining) + - location: 58 (remaining gas: 1039965.463 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039963.348 units remaining) + - location: 61 (remaining gas: 1039965.453 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039963.338 units remaining) + - location: 62 (remaining gas: 1039965.443 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039963.328 units remaining) + - location: 63 (remaining gas: 1039965.433 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039963.318 units remaining) + - location: 40 (remaining gas: 1039965.423 units remaining) [ "C" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039963.308 units remaining) + - location: 42 (remaining gas: 1039965.413 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039963.298 units remaining) + - location: 43 (remaining gas: 1039965.403 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039963.288 units remaining) + - location: 44 (remaining gas: 1039965.393 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039963.278 units remaining) + - location: 45 (remaining gas: 1039965.383 units remaining) [ "C" (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039963.268 units remaining) + - location: 46 (remaining gas: 1039965.383 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039963.258 units remaining) + - location: 49 (remaining gas: 1039965.373 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039963.248 units remaining) + - location: 50 (remaining gas: 1039965.363 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039963.238 units remaining) + - location: 51 (remaining gas: 1039965.363 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039963.228 units remaining) + - location: 54 (remaining gas: 1039965.353 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039963.218 units remaining) + - location: 55 (remaining gas: 1039965.343 units remaining) [ True ] - - location: 51 (remaining gas: 1039963.198 units remaining) + - location: 51 (remaining gas: 1039965.323 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039963.188 units remaining) + - location: 56 (remaining gas: 1039965.313 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039963.168 units remaining) + - location: 46 (remaining gas: 1039965.293 units remaining) [ "C" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039963.050 units remaining) + - location: 57 (remaining gas: 1039965.175 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039963.040 units remaining) + - location: 58 (remaining gas: 1039965.175 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039963.030 units remaining) + - location: 60 (remaining gas: 1039965.165 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039963.010 units remaining) + - location: 58 (remaining gas: 1039965.145 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039963 units remaining) + - location: 61 (remaining gas: 1039965.135 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039962.990 units remaining) + - location: 62 (remaining gas: 1039965.125 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039962.980 units remaining) + - location: 63 (remaining gas: 1039965.115 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039962.970 units remaining) + - location: 40 (remaining gas: 1039965.105 units remaining) [ "asdf" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039962.960 units remaining) + - location: 42 (remaining gas: 1039965.095 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039962.950 units remaining) + - location: 43 (remaining gas: 1039965.085 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039962.940 units remaining) + - location: 44 (remaining gas: 1039965.075 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039962.930 units remaining) + - location: 45 (remaining gas: 1039965.065 units remaining) [ "asdf" (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039962.920 units remaining) + - location: 46 (remaining gas: 1039965.065 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039962.910 units remaining) + - location: 49 (remaining gas: 1039965.055 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039962.900 units remaining) + - location: 50 (remaining gas: 1039965.045 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039962.890 units remaining) + - location: 51 (remaining gas: 1039965.045 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039962.880 units remaining) + - location: 54 (remaining gas: 1039965.035 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039962.870 units remaining) + - location: 55 (remaining gas: 1039965.025 units remaining) [ True ] - - location: 51 (remaining gas: 1039962.850 units remaining) + - location: 51 (remaining gas: 1039965.005 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039962.840 units remaining) + - location: 56 (remaining gas: 1039964.995 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039962.820 units remaining) + - location: 46 (remaining gas: 1039964.975 units remaining) [ "asdf" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039962.693 units remaining) + - location: 57 (remaining gas: 1039964.848 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039962.683 units remaining) + - location: 58 (remaining gas: 1039964.848 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039962.673 units remaining) + - location: 60 (remaining gas: 1039964.838 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039962.653 units remaining) + - location: 58 (remaining gas: 1039964.818 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039962.643 units remaining) + - location: 61 (remaining gas: 1039964.808 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039962.633 units remaining) + - location: 62 (remaining gas: 1039964.798 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039962.623 units remaining) + - location: 63 (remaining gas: 1039964.788 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039962.613 units remaining) + - location: 40 (remaining gas: 1039964.778 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039962.603 units remaining) + - location: 64 (remaining gas: 1039964.768 units remaining) [ True ] - - location: 65 (remaining gas: 1039962.593 units remaining) + - location: 65 (remaining gas: 1039964.758 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039962.583 units remaining) + - location: 66 (remaining gas: 1039964.748 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039962.573 units remaining) + - location: 68 (remaining gas: 1039964.738 units remaining) [ (Pair {} (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" index e004123a9723..f7b47e071df1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" @@ -7,431 +7,431 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039964.954 units remaining) + - location: 12 (remaining gas: 1039966.979 units remaining) [ (Pair (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) None) ] - - location: 12 (remaining gas: 1039964.944 units remaining) + - location: 12 (remaining gas: 1039966.969 units remaining) [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] - - location: 13 (remaining gas: 1039964.934 units remaining) + - location: 13 (remaining gas: 1039966.959 units remaining) [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] - - location: 14 (remaining gas: 1039964.924 units remaining) + - location: 14 (remaining gas: 1039966.949 units remaining) [ { "B" ; "C" ; "asdf" } (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] - - location: 15 (remaining gas: 1039964.914 units remaining) + - location: 15 (remaining gas: 1039966.949 units remaining) [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] - - location: 17 (remaining gas: 1039964.904 units remaining) + - location: 17 (remaining gas: 1039966.939 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } ] - - location: 15 (remaining gas: 1039964.884 units remaining) + - location: 15 (remaining gas: 1039966.919 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 18 (remaining gas: 1039964.664 units remaining) + - location: 18 (remaining gas: 1039966.699 units remaining) [ {} { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 20 (remaining gas: 1039964.654 units remaining) + - location: 20 (remaining gas: 1039966.689 units remaining) [ { "B" ; "C" ; "asdf" } {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039964.654 units remaining) + - location: 21 (remaining gas: 1039966.689 units remaining) [ "B" {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039964.644 units remaining) + - location: 23 (remaining gas: 1039966.679 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039964.634 units remaining) + - location: 24 (remaining gas: 1039966.669 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039964.624 units remaining) + - location: 25 (remaining gas: 1039966.659 units remaining) [ "B" (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039964.614 units remaining) + - location: 26 (remaining gas: 1039966.659 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039964.604 units remaining) + - location: 28 (remaining gas: 1039966.649 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039964.584 units remaining) + - location: 26 (remaining gas: 1039966.629 units remaining) [ "B" {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039964.574 units remaining) + - location: 29 (remaining gas: 1039966.619 units remaining) [ True "B" {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039964.564 units remaining) + - location: 32 (remaining gas: 1039966.609 units remaining) [ "B" True {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039964.432 units remaining) + - location: 33 (remaining gas: 1039966.477 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039964.422 units remaining) + - location: 21 (remaining gas: 1039966.467 units remaining) [ "C" { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039964.412 units remaining) + - location: 23 (remaining gas: 1039966.457 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039964.402 units remaining) + - location: 24 (remaining gas: 1039966.447 units remaining) [ (Pair "C" { "B" }) (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039964.392 units remaining) + - location: 25 (remaining gas: 1039966.437 units remaining) [ "C" (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039964.382 units remaining) + - location: 26 (remaining gas: 1039966.437 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039964.372 units remaining) + - location: 28 (remaining gas: 1039966.427 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039964.352 units remaining) + - location: 26 (remaining gas: 1039966.407 units remaining) [ "C" { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039964.342 units remaining) + - location: 29 (remaining gas: 1039966.397 units remaining) [ True "C" { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039964.332 units remaining) + - location: 32 (remaining gas: 1039966.387 units remaining) [ "C" True { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039964.198 units remaining) + - location: 33 (remaining gas: 1039966.253 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039964.188 units remaining) + - location: 21 (remaining gas: 1039966.243 units remaining) [ "asdf" { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039964.178 units remaining) + - location: 23 (remaining gas: 1039966.233 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039964.168 units remaining) + - location: 24 (remaining gas: 1039966.223 units remaining) [ (Pair "asdf" { "B" ; "C" }) (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039964.158 units remaining) + - location: 25 (remaining gas: 1039966.213 units remaining) [ "asdf" (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039964.148 units remaining) + - location: 26 (remaining gas: 1039966.213 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039964.138 units remaining) + - location: 28 (remaining gas: 1039966.203 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039964.118 units remaining) + - location: 26 (remaining gas: 1039966.183 units remaining) [ "asdf" { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039964.108 units remaining) + - location: 29 (remaining gas: 1039966.173 units remaining) [ True "asdf" { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039964.098 units remaining) + - location: 32 (remaining gas: 1039966.163 units remaining) [ "asdf" True { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039963.944 units remaining) + - location: 33 (remaining gas: 1039966.009 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039963.934 units remaining) + - location: 21 (remaining gas: 1039965.999 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 34 (remaining gas: 1039963.924 units remaining) + - location: 34 (remaining gas: 1039965.989 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 37 (remaining gas: 1039963.914 units remaining) + - location: 37 (remaining gas: 1039965.979 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "B" ; "asdf" ; "C" } ] - - location: 38 (remaining gas: 1039963.904 units remaining) + - location: 38 (remaining gas: 1039965.969 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 39 (remaining gas: 1039963.894 units remaining) + - location: 39 (remaining gas: 1039965.959 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039963.894 units remaining) + - location: 40 (remaining gas: 1039965.959 units remaining) [ "B" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039963.884 units remaining) + - location: 42 (remaining gas: 1039965.949 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039963.874 units remaining) + - location: 43 (remaining gas: 1039965.939 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039963.864 units remaining) + - location: 44 (remaining gas: 1039965.929 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039963.854 units remaining) + - location: 45 (remaining gas: 1039965.919 units remaining) [ "B" (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039963.844 units remaining) + - location: 46 (remaining gas: 1039965.919 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039963.834 units remaining) + - location: 49 (remaining gas: 1039965.909 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039963.824 units remaining) + - location: 50 (remaining gas: 1039965.899 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039963.814 units remaining) + - location: 51 (remaining gas: 1039965.899 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039963.804 units remaining) + - location: 54 (remaining gas: 1039965.889 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039963.794 units remaining) + - location: 55 (remaining gas: 1039965.879 units remaining) [ True ] - - location: 51 (remaining gas: 1039963.774 units remaining) + - location: 51 (remaining gas: 1039965.859 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039963.764 units remaining) + - location: 56 (remaining gas: 1039965.849 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039963.744 units remaining) + - location: 46 (remaining gas: 1039965.829 units remaining) [ "B" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039963.626 units remaining) + - location: 57 (remaining gas: 1039965.711 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039963.616 units remaining) + - location: 58 (remaining gas: 1039965.711 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039963.606 units remaining) + - location: 60 (remaining gas: 1039965.701 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039963.586 units remaining) + - location: 58 (remaining gas: 1039965.681 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039963.576 units remaining) + - location: 61 (remaining gas: 1039965.671 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039963.566 units remaining) + - location: 62 (remaining gas: 1039965.661 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039963.556 units remaining) + - location: 63 (remaining gas: 1039965.651 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039963.546 units remaining) + - location: 40 (remaining gas: 1039965.641 units remaining) [ "B" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039963.536 units remaining) + - location: 42 (remaining gas: 1039965.631 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039963.526 units remaining) + - location: 43 (remaining gas: 1039965.621 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039963.516 units remaining) + - location: 44 (remaining gas: 1039965.611 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039963.506 units remaining) + - location: 45 (remaining gas: 1039965.601 units remaining) [ "B" (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039963.496 units remaining) + - location: 46 (remaining gas: 1039965.601 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039963.486 units remaining) + - location: 49 (remaining gas: 1039965.591 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039963.476 units remaining) + - location: 50 (remaining gas: 1039965.581 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039963.466 units remaining) + - location: 51 (remaining gas: 1039965.581 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039963.456 units remaining) + - location: 54 (remaining gas: 1039965.571 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039963.446 units remaining) + - location: 55 (remaining gas: 1039965.561 units remaining) [ True ] - - location: 51 (remaining gas: 1039963.426 units remaining) + - location: 51 (remaining gas: 1039965.541 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039963.416 units remaining) + - location: 56 (remaining gas: 1039965.531 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039963.396 units remaining) + - location: 46 (remaining gas: 1039965.511 units remaining) [ "B" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039963.278 units remaining) + - location: 57 (remaining gas: 1039965.393 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039963.268 units remaining) + - location: 58 (remaining gas: 1039965.393 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039963.258 units remaining) + - location: 60 (remaining gas: 1039965.383 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039963.238 units remaining) + - location: 58 (remaining gas: 1039965.363 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039963.228 units remaining) + - location: 61 (remaining gas: 1039965.353 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039963.218 units remaining) + - location: 62 (remaining gas: 1039965.343 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039963.208 units remaining) + - location: 63 (remaining gas: 1039965.333 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039963.198 units remaining) + - location: 40 (remaining gas: 1039965.323 units remaining) [ "asdf" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039963.188 units remaining) + - location: 42 (remaining gas: 1039965.313 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039963.178 units remaining) + - location: 43 (remaining gas: 1039965.303 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039963.168 units remaining) + - location: 44 (remaining gas: 1039965.293 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039963.158 units remaining) + - location: 45 (remaining gas: 1039965.283 units remaining) [ "asdf" (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039963.148 units remaining) + - location: 46 (remaining gas: 1039965.283 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039963.138 units remaining) + - location: 49 (remaining gas: 1039965.273 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039963.128 units remaining) + - location: 50 (remaining gas: 1039965.263 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039963.118 units remaining) + - location: 51 (remaining gas: 1039965.263 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039963.108 units remaining) + - location: 54 (remaining gas: 1039965.253 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039963.098 units remaining) + - location: 55 (remaining gas: 1039965.243 units remaining) [ True ] - - location: 51 (remaining gas: 1039963.078 units remaining) + - location: 51 (remaining gas: 1039965.223 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039963.068 units remaining) + - location: 56 (remaining gas: 1039965.213 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039963.048 units remaining) + - location: 46 (remaining gas: 1039965.193 units remaining) [ "asdf" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039962.921 units remaining) + - location: 57 (remaining gas: 1039965.066 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039962.911 units remaining) + - location: 58 (remaining gas: 1039965.066 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039962.901 units remaining) + - location: 60 (remaining gas: 1039965.056 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039962.881 units remaining) + - location: 58 (remaining gas: 1039965.036 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039962.871 units remaining) + - location: 61 (remaining gas: 1039965.026 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039962.861 units remaining) + - location: 62 (remaining gas: 1039965.016 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039962.851 units remaining) + - location: 63 (remaining gas: 1039965.006 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039962.841 units remaining) + - location: 40 (remaining gas: 1039964.996 units remaining) [ "C" (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039962.831 units remaining) + - location: 42 (remaining gas: 1039964.986 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039962.821 units remaining) + - location: 43 (remaining gas: 1039964.976 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039962.811 units remaining) + - location: 44 (remaining gas: 1039964.966 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039962.801 units remaining) + - location: 45 (remaining gas: 1039964.956 units remaining) [ "C" (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039962.791 units remaining) + - location: 46 (remaining gas: 1039964.956 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039962.781 units remaining) + - location: 49 (remaining gas: 1039964.946 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039962.771 units remaining) + - location: 50 (remaining gas: 1039964.936 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039962.761 units remaining) + - location: 51 (remaining gas: 1039964.936 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039962.751 units remaining) + - location: 54 (remaining gas: 1039964.926 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039962.741 units remaining) + - location: 55 (remaining gas: 1039964.916 units remaining) [ True ] - - location: 51 (remaining gas: 1039962.721 units remaining) + - location: 51 (remaining gas: 1039964.896 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039962.711 units remaining) + - location: 56 (remaining gas: 1039964.886 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039962.691 units remaining) + - location: 46 (remaining gas: 1039964.866 units remaining) [ "C" { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039962.573 units remaining) + - location: 57 (remaining gas: 1039964.748 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039962.563 units remaining) + - location: 58 (remaining gas: 1039964.748 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039962.553 units remaining) + - location: 60 (remaining gas: 1039964.738 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039962.533 units remaining) + - location: 58 (remaining gas: 1039964.718 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039962.523 units remaining) + - location: 61 (remaining gas: 1039964.708 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039962.513 units remaining) + - location: 62 (remaining gas: 1039964.698 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039962.503 units remaining) + - location: 63 (remaining gas: 1039964.688 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039962.493 units remaining) + - location: 40 (remaining gas: 1039964.678 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039962.483 units remaining) + - location: 64 (remaining gas: 1039964.668 units remaining) [ True ] - - location: 65 (remaining gas: 1039962.473 units remaining) + - location: 65 (remaining gas: 1039964.658 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039962.463 units remaining) + - location: 66 (remaining gas: 1039964.648 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039962.453 units remaining) + - location: 68 (remaining gas: 1039964.638 units remaining) [ (Pair {} (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" index 195f29395d03..ac348c3d72e5 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" @@ -7,160 +7,160 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039965.634 units remaining) + - location: 12 (remaining gas: 1039967.659 units remaining) [ (Pair (Pair { "B" } { "B" }) None) ] - - location: 12 (remaining gas: 1039965.624 units remaining) + - location: 12 (remaining gas: 1039967.649 units remaining) [ (Pair { "B" } { "B" }) ] - - location: 13 (remaining gas: 1039965.614 units remaining) + - location: 13 (remaining gas: 1039967.639 units remaining) [ (Pair { "B" } { "B" }) (Pair { "B" } { "B" }) ] - - location: 14 (remaining gas: 1039965.604 units remaining) + - location: 14 (remaining gas: 1039967.629 units remaining) [ { "B" } (Pair { "B" } { "B" }) ] - - location: 15 (remaining gas: 1039965.594 units remaining) + - location: 15 (remaining gas: 1039967.629 units remaining) [ (Pair { "B" } { "B" }) ] - - location: 17 (remaining gas: 1039965.584 units remaining) + - location: 17 (remaining gas: 1039967.619 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039965.564 units remaining) + - location: 15 (remaining gas: 1039967.599 units remaining) [ { "B" } { "B" } ] - - location: 18 (remaining gas: 1039965.344 units remaining) + - location: 18 (remaining gas: 1039967.379 units remaining) [ {} { "B" } { "B" } ] - - location: 20 (remaining gas: 1039965.334 units remaining) + - location: 20 (remaining gas: 1039967.369 units remaining) [ { "B" } {} { "B" } ] - - location: 21 (remaining gas: 1039965.334 units remaining) + - location: 21 (remaining gas: 1039967.369 units remaining) [ "B" {} { "B" } ] - - location: 23 (remaining gas: 1039965.324 units remaining) + - location: 23 (remaining gas: 1039967.359 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 24 (remaining gas: 1039965.314 units remaining) + - location: 24 (remaining gas: 1039967.349 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" } ] - - location: 25 (remaining gas: 1039965.304 units remaining) + - location: 25 (remaining gas: 1039967.339 units remaining) [ "B" (Pair "B" {}) { "B" } ] - - location: 26 (remaining gas: 1039965.294 units remaining) + - location: 26 (remaining gas: 1039967.339 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 28 (remaining gas: 1039965.284 units remaining) + - location: 28 (remaining gas: 1039967.329 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039965.264 units remaining) + - location: 26 (remaining gas: 1039967.309 units remaining) [ "B" {} { "B" } ] - - location: 29 (remaining gas: 1039965.254 units remaining) + - location: 29 (remaining gas: 1039967.299 units remaining) [ True "B" {} { "B" } ] - - location: 32 (remaining gas: 1039965.244 units remaining) + - location: 32 (remaining gas: 1039967.289 units remaining) [ "B" True {} { "B" } ] - - location: 33 (remaining gas: 1039965.112 units remaining) + - location: 33 (remaining gas: 1039967.157 units remaining) [ { "B" } { "B" } ] - - location: 21 (remaining gas: 1039965.102 units remaining) + - location: 21 (remaining gas: 1039967.147 units remaining) [ { "B" } { "B" } ] - - location: 34 (remaining gas: 1039965.092 units remaining) + - location: 34 (remaining gas: 1039967.137 units remaining) [ True { "B" } { "B" } ] - - location: 37 (remaining gas: 1039965.082 units remaining) + - location: 37 (remaining gas: 1039967.127 units remaining) [ { "B" } True { "B" } ] - - location: 38 (remaining gas: 1039965.072 units remaining) + - location: 38 (remaining gas: 1039967.117 units remaining) [ (Pair { "B" } True) { "B" } ] - - location: 39 (remaining gas: 1039965.062 units remaining) + - location: 39 (remaining gas: 1039967.107 units remaining) [ { "B" } (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039965.062 units remaining) + - location: 40 (remaining gas: 1039967.107 units remaining) [ "B" (Pair { "B" } True) ] - - location: 42 (remaining gas: 1039965.052 units remaining) + - location: 42 (remaining gas: 1039967.097 units remaining) [ (Pair "B" { "B" } True) ] - - location: 43 (remaining gas: 1039965.042 units remaining) + - location: 43 (remaining gas: 1039967.087 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 44 (remaining gas: 1039965.032 units remaining) + - location: 44 (remaining gas: 1039967.077 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 45 (remaining gas: 1039965.022 units remaining) + - location: 45 (remaining gas: 1039967.067 units remaining) [ "B" (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 46 (remaining gas: 1039965.012 units remaining) + - location: 46 (remaining gas: 1039967.067 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 49 (remaining gas: 1039965.002 units remaining) + - location: 49 (remaining gas: 1039967.057 units remaining) [ (Pair { "B" } True) (Pair "B" { "B" } True) ] - - location: 50 (remaining gas: 1039964.992 units remaining) + - location: 50 (remaining gas: 1039967.047 units remaining) [ { "B" } (Pair "B" { "B" } True) ] - - location: 51 (remaining gas: 1039964.982 units remaining) + - location: 51 (remaining gas: 1039967.047 units remaining) [ (Pair "B" { "B" } True) ] - - location: 54 (remaining gas: 1039964.972 units remaining) + - location: 54 (remaining gas: 1039967.037 units remaining) [ (Pair { "B" } True) ] - - location: 55 (remaining gas: 1039964.962 units remaining) + - location: 55 (remaining gas: 1039967.027 units remaining) [ True ] - - location: 51 (remaining gas: 1039964.942 units remaining) + - location: 51 (remaining gas: 1039967.007 units remaining) [ { "B" } True ] - - location: 56 (remaining gas: 1039964.932 units remaining) + - location: 56 (remaining gas: 1039966.997 units remaining) [ { "B" } { "B" } True ] - - location: 46 (remaining gas: 1039964.912 units remaining) + - location: 46 (remaining gas: 1039966.977 units remaining) [ "B" { "B" } { "B" } True ] - - location: 57 (remaining gas: 1039964.795 units remaining) + - location: 57 (remaining gas: 1039966.860 units remaining) [ True { "B" } True ] - - location: 58 (remaining gas: 1039964.785 units remaining) + - location: 58 (remaining gas: 1039966.860 units remaining) [ { "B" } True ] - - location: 60 (remaining gas: 1039964.775 units remaining) + - location: 60 (remaining gas: 1039966.850 units remaining) [ True { "B" } ] - - location: 58 (remaining gas: 1039964.755 units remaining) + - location: 58 (remaining gas: 1039966.830 units remaining) [ True True { "B" } ] - - location: 61 (remaining gas: 1039964.745 units remaining) + - location: 61 (remaining gas: 1039966.820 units remaining) [ True { "B" } ] - - location: 62 (remaining gas: 1039964.735 units remaining) + - location: 62 (remaining gas: 1039966.810 units remaining) [ { "B" } True ] - - location: 63 (remaining gas: 1039964.725 units remaining) + - location: 63 (remaining gas: 1039966.800 units remaining) [ (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039964.715 units remaining) + - location: 40 (remaining gas: 1039966.790 units remaining) [ (Pair { "B" } True) ] - - location: 64 (remaining gas: 1039964.705 units remaining) + - location: 64 (remaining gas: 1039966.780 units remaining) [ True ] - - location: 65 (remaining gas: 1039964.695 units remaining) + - location: 65 (remaining gas: 1039966.770 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039964.685 units remaining) + - location: 66 (remaining gas: 1039966.760 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039964.675 units remaining) + - location: 68 (remaining gas: 1039966.750 units remaining) [ (Pair {} (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" index f3b88080270b..a8029fcf2010 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" @@ -7,160 +7,160 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039965.634 units remaining) + - location: 12 (remaining gas: 1039967.659 units remaining) [ (Pair (Pair { "c" } { "B" }) None) ] - - location: 12 (remaining gas: 1039965.624 units remaining) + - location: 12 (remaining gas: 1039967.649 units remaining) [ (Pair { "c" } { "B" }) ] - - location: 13 (remaining gas: 1039965.614 units remaining) + - location: 13 (remaining gas: 1039967.639 units remaining) [ (Pair { "c" } { "B" }) (Pair { "c" } { "B" }) ] - - location: 14 (remaining gas: 1039965.604 units remaining) + - location: 14 (remaining gas: 1039967.629 units remaining) [ { "c" } (Pair { "c" } { "B" }) ] - - location: 15 (remaining gas: 1039965.594 units remaining) + - location: 15 (remaining gas: 1039967.629 units remaining) [ (Pair { "c" } { "B" }) ] - - location: 17 (remaining gas: 1039965.584 units remaining) + - location: 17 (remaining gas: 1039967.619 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039965.564 units remaining) + - location: 15 (remaining gas: 1039967.599 units remaining) [ { "c" } { "B" } ] - - location: 18 (remaining gas: 1039965.344 units remaining) + - location: 18 (remaining gas: 1039967.379 units remaining) [ {} { "c" } { "B" } ] - - location: 20 (remaining gas: 1039965.334 units remaining) + - location: 20 (remaining gas: 1039967.369 units remaining) [ { "c" } {} { "B" } ] - - location: 21 (remaining gas: 1039965.334 units remaining) + - location: 21 (remaining gas: 1039967.369 units remaining) [ "c" {} { "B" } ] - - location: 23 (remaining gas: 1039965.324 units remaining) + - location: 23 (remaining gas: 1039967.359 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 24 (remaining gas: 1039965.314 units remaining) + - location: 24 (remaining gas: 1039967.349 units remaining) [ (Pair "c" {}) (Pair "c" {}) { "B" } ] - - location: 25 (remaining gas: 1039965.304 units remaining) + - location: 25 (remaining gas: 1039967.339 units remaining) [ "c" (Pair "c" {}) { "B" } ] - - location: 26 (remaining gas: 1039965.294 units remaining) + - location: 26 (remaining gas: 1039967.339 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 28 (remaining gas: 1039965.284 units remaining) + - location: 28 (remaining gas: 1039967.329 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039965.264 units remaining) + - location: 26 (remaining gas: 1039967.309 units remaining) [ "c" {} { "B" } ] - - location: 29 (remaining gas: 1039965.254 units remaining) + - location: 29 (remaining gas: 1039967.299 units remaining) [ True "c" {} { "B" } ] - - location: 32 (remaining gas: 1039965.244 units remaining) + - location: 32 (remaining gas: 1039967.289 units remaining) [ "c" True {} { "B" } ] - - location: 33 (remaining gas: 1039965.112 units remaining) + - location: 33 (remaining gas: 1039967.157 units remaining) [ { "c" } { "B" } ] - - location: 21 (remaining gas: 1039965.102 units remaining) + - location: 21 (remaining gas: 1039967.147 units remaining) [ { "c" } { "B" } ] - - location: 34 (remaining gas: 1039965.092 units remaining) + - location: 34 (remaining gas: 1039967.137 units remaining) [ True { "c" } { "B" } ] - - location: 37 (remaining gas: 1039965.082 units remaining) + - location: 37 (remaining gas: 1039967.127 units remaining) [ { "c" } True { "B" } ] - - location: 38 (remaining gas: 1039965.072 units remaining) + - location: 38 (remaining gas: 1039967.117 units remaining) [ (Pair { "c" } True) { "B" } ] - - location: 39 (remaining gas: 1039965.062 units remaining) + - location: 39 (remaining gas: 1039967.107 units remaining) [ { "B" } (Pair { "c" } True) ] - - location: 40 (remaining gas: 1039965.062 units remaining) + - location: 40 (remaining gas: 1039967.107 units remaining) [ "B" (Pair { "c" } True) ] - - location: 42 (remaining gas: 1039965.052 units remaining) + - location: 42 (remaining gas: 1039967.097 units remaining) [ (Pair "B" { "c" } True) ] - - location: 43 (remaining gas: 1039965.042 units remaining) + - location: 43 (remaining gas: 1039967.087 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 44 (remaining gas: 1039965.032 units remaining) + - location: 44 (remaining gas: 1039967.077 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 45 (remaining gas: 1039965.022 units remaining) + - location: 45 (remaining gas: 1039967.067 units remaining) [ "B" (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 46 (remaining gas: 1039965.012 units remaining) + - location: 46 (remaining gas: 1039967.067 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 49 (remaining gas: 1039965.002 units remaining) + - location: 49 (remaining gas: 1039967.057 units remaining) [ (Pair { "c" } True) (Pair "B" { "c" } True) ] - - location: 50 (remaining gas: 1039964.992 units remaining) + - location: 50 (remaining gas: 1039967.047 units remaining) [ { "c" } (Pair "B" { "c" } True) ] - - location: 51 (remaining gas: 1039964.982 units remaining) + - location: 51 (remaining gas: 1039967.047 units remaining) [ (Pair "B" { "c" } True) ] - - location: 54 (remaining gas: 1039964.972 units remaining) + - location: 54 (remaining gas: 1039967.037 units remaining) [ (Pair { "c" } True) ] - - location: 55 (remaining gas: 1039964.962 units remaining) + - location: 55 (remaining gas: 1039967.027 units remaining) [ True ] - - location: 51 (remaining gas: 1039964.942 units remaining) + - location: 51 (remaining gas: 1039967.007 units remaining) [ { "c" } True ] - - location: 56 (remaining gas: 1039964.932 units remaining) + - location: 56 (remaining gas: 1039966.997 units remaining) [ { "c" } { "c" } True ] - - location: 46 (remaining gas: 1039964.912 units remaining) + - location: 46 (remaining gas: 1039966.977 units remaining) [ "B" { "c" } { "c" } True ] - - location: 57 (remaining gas: 1039964.795 units remaining) + - location: 57 (remaining gas: 1039966.860 units remaining) [ False { "c" } True ] - - location: 58 (remaining gas: 1039964.785 units remaining) + - location: 58 (remaining gas: 1039966.860 units remaining) [ { "c" } True ] - - location: 60 (remaining gas: 1039964.775 units remaining) + - location: 60 (remaining gas: 1039966.850 units remaining) [ True { "c" } ] - - location: 58 (remaining gas: 1039964.755 units remaining) + - location: 58 (remaining gas: 1039966.830 units remaining) [ False True { "c" } ] - - location: 61 (remaining gas: 1039964.745 units remaining) + - location: 61 (remaining gas: 1039966.820 units remaining) [ False { "c" } ] - - location: 62 (remaining gas: 1039964.735 units remaining) + - location: 62 (remaining gas: 1039966.810 units remaining) [ { "c" } False ] - - location: 63 (remaining gas: 1039964.725 units remaining) + - location: 63 (remaining gas: 1039966.800 units remaining) [ (Pair { "c" } False) ] - - location: 40 (remaining gas: 1039964.715 units remaining) + - location: 40 (remaining gas: 1039966.790 units remaining) [ (Pair { "c" } False) ] - - location: 64 (remaining gas: 1039964.705 units remaining) + - location: 64 (remaining gas: 1039966.780 units remaining) [ False ] - - location: 65 (remaining gas: 1039964.695 units remaining) + - location: 65 (remaining gas: 1039966.770 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039964.685 units remaining) + - location: 66 (remaining gas: 1039966.760 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039964.675 units remaining) + - location: 68 (remaining gas: 1039966.750 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out index a0782fbc9a63..ce79f8d68e83 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out @@ -7,57 +7,57 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039965.882 units remaining) + - location: 12 (remaining gas: 1039967.907 units remaining) [ (Pair (Pair {} {}) None) ] - - location: 12 (remaining gas: 1039965.872 units remaining) + - location: 12 (remaining gas: 1039967.897 units remaining) [ (Pair {} {}) ] - - location: 13 (remaining gas: 1039965.862 units remaining) + - location: 13 (remaining gas: 1039967.887 units remaining) [ (Pair {} {}) (Pair {} {}) ] - - location: 14 (remaining gas: 1039965.852 units remaining) + - location: 14 (remaining gas: 1039967.877 units remaining) [ {} (Pair {} {}) ] - - location: 15 (remaining gas: 1039965.842 units remaining) + - location: 15 (remaining gas: 1039967.877 units remaining) [ (Pair {} {}) ] - - location: 17 (remaining gas: 1039965.832 units remaining) + - location: 17 (remaining gas: 1039967.867 units remaining) [ {} ] - - location: 15 (remaining gas: 1039965.812 units remaining) + - location: 15 (remaining gas: 1039967.847 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039965.592 units remaining) + - location: 18 (remaining gas: 1039967.627 units remaining) [ {} {} {} ] - - location: 20 (remaining gas: 1039965.582 units remaining) + - location: 20 (remaining gas: 1039967.617 units remaining) [ {} {} {} ] - - location: 21 (remaining gas: 1039965.582 units remaining) + - location: 21 (remaining gas: 1039967.617 units remaining) [ {} {} ] - - location: 34 (remaining gas: 1039965.572 units remaining) + - location: 34 (remaining gas: 1039967.607 units remaining) [ True {} {} ] - - location: 37 (remaining gas: 1039965.562 units remaining) + - location: 37 (remaining gas: 1039967.597 units remaining) [ {} True {} ] - - location: 38 (remaining gas: 1039965.552 units remaining) + - location: 38 (remaining gas: 1039967.587 units remaining) [ (Pair {} True) {} ] - - location: 39 (remaining gas: 1039965.542 units remaining) + - location: 39 (remaining gas: 1039967.577 units remaining) [ {} (Pair {} True) ] - - location: 40 (remaining gas: 1039965.542 units remaining) + - location: 40 (remaining gas: 1039967.577 units remaining) [ (Pair {} True) ] - - location: 64 (remaining gas: 1039965.532 units remaining) + - location: 64 (remaining gas: 1039967.567 units remaining) [ True ] - - location: 65 (remaining gas: 1039965.522 units remaining) + - location: 65 (remaining gas: 1039967.557 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039965.512 units remaining) + - location: 66 (remaining gas: 1039967.547 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039965.502 units remaining) + - location: 68 (remaining gas: 1039967.537 units remaining) [ (Pair {} (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" index 882ff1a91ac6..8623b676c397 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" @@ -7,23 +7,23 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039987.830 units remaining) + - location: 7 (remaining gas: 1039988.190 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" Unit) ] - - location: 7 (remaining gas: 1039987.820 units remaining) + - location: 7 (remaining gas: 1039988.180 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 8 (remaining gas: 1039987.510 units remaining) + - location: 8 (remaining gas: 1039987.870 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 11 (remaining gas: 1039987.500 units remaining) + - location: 11 (remaining gas: 1039987.870 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 11 (remaining gas: 1039987.490 units remaining) + - location: 11 (remaining gas: 1039987.860 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 17 (remaining gas: 1039987.480 units remaining) + - location: 17 (remaining gas: 1039987.850 units remaining) [ ] - - location: 18 (remaining gas: 1039987.470 units remaining) + - location: 18 (remaining gas: 1039987.840 units remaining) [ Unit ] - - location: 19 (remaining gas: 1039987.460 units remaining) + - location: 19 (remaining gas: 1039987.830 units remaining) [ {} Unit ] - - location: 21 (remaining gas: 1039987.450 units remaining) + - location: 21 (remaining gas: 1039987.820 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" index 229969ca6090..d3b3caea5d77 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" @@ -13,37 +13,37 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039987.534 units remaining) + - location: 8 (remaining gas: 1039987.939 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039987.524 units remaining) + - location: 8 (remaining gas: 1039987.929 units remaining) [ ] - - location: 9 (remaining gas: 1039987.514 units remaining) + - location: 9 (remaining gas: 1039987.919 units remaining) [ Unit ] - - location: 10 (remaining gas: 1039987.504 units remaining) + - location: 10 (remaining gas: 1039987.909 units remaining) [ 50000 Unit ] - - location: 11 (remaining gas: 1039987.494 units remaining) + - location: 11 (remaining gas: 1039987.899 units remaining) [ None 50000 Unit ] - - location: 13 (remaining gas: 1039986.928 units remaining) + - location: 13 (remaining gas: 1039987.333 units remaining) [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] - - location: 25 (remaining gas: 1039986.918 units remaining) + - location: 25 (remaining gas: 1039987.333 units remaining) [ "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] - - location: 27 (remaining gas: 1039986.908 units remaining) + - location: 27 (remaining gas: 1039987.323 units remaining) [ (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 28 (remaining gas: 1039986.898 units remaining) + - location: 28 (remaining gas: 1039987.313 units remaining) [ {} (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 25 (remaining gas: 1039986.878 units remaining) + - location: 25 (remaining gas: 1039987.293 units remaining) [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b {} (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 30 (remaining gas: 1039986.868 units remaining) + - location: 30 (remaining gas: 1039987.283 units remaining) [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 31 (remaining gas: 1039986.858 units remaining) + - location: 31 (remaining gas: 1039987.273 units remaining) [ (Pair { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" index fba1ecc9932c..153f9530bc60 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039990.498 units remaining) + - location: 9 (remaining gas: 1039990.903 units remaining) [ (Pair (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039990.488 units remaining) + - location: 9 (remaining gas: 1039990.893 units remaining) [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] - - location: 10 (remaining gas: 1039990.478 units remaining) + - location: 10 (remaining gas: 1039990.883 units remaining) [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] - - location: 11 (remaining gas: 1039990.468 units remaining) + - location: 11 (remaining gas: 1039990.873 units remaining) [ "1970-01-01T00:03:20Z" (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] - - location: 12 (remaining gas: 1039990.458 units remaining) + - location: 12 (remaining gas: 1039990.873 units remaining) [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] - - location: 14 (remaining gas: 1039990.448 units remaining) + - location: 14 (remaining gas: 1039990.863 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039990.428 units remaining) + - location: 12 (remaining gas: 1039990.843 units remaining) [ "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039990.393 units remaining) + - location: 15 (remaining gas: 1039990.808 units remaining) [ 200 ] - - location: 16 (remaining gas: 1039990.383 units remaining) + - location: 16 (remaining gas: 1039990.798 units remaining) [ {} 200 ] - - location: 18 (remaining gas: 1039990.373 units remaining) + - location: 18 (remaining gas: 1039990.788 units remaining) [ (Pair {} 200) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out index 60f9bedf457a..c57929004e2d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.158 units remaining) + - location: 9 (remaining gas: 1039992.563 units remaining) [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039992.148 units remaining) + - location: 9 (remaining gas: 1039992.553 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] - - location: 10 (remaining gas: 1039992.138 units remaining) + - location: 10 (remaining gas: 1039992.543 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 11 (remaining gas: 1039992.533 units remaining) [ "1970-01-01T00:00:00Z" (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] - - location: 12 (remaining gas: 1039992.118 units remaining) + - location: 12 (remaining gas: 1039992.533 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] - - location: 14 (remaining gas: 1039992.108 units remaining) + - location: 14 (remaining gas: 1039992.523 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039992.088 units remaining) + - location: 12 (remaining gas: 1039992.503 units remaining) [ "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039992.053 units remaining) + - location: 15 (remaining gas: 1039992.468 units remaining) [ 0 ] - - location: 16 (remaining gas: 1039992.043 units remaining) + - location: 16 (remaining gas: 1039992.458 units remaining) [ {} 0 ] - - location: 18 (remaining gas: 1039992.033 units remaining) + - location: 18 (remaining gas: 1039992.448 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out index 58f1a351f777..1f2148376110 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.158 units remaining) + - location: 9 (remaining gas: 1039992.563 units remaining) [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") 111) ] - - location: 9 (remaining gas: 1039992.148 units remaining) + - location: 9 (remaining gas: 1039992.553 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] - - location: 10 (remaining gas: 1039992.138 units remaining) + - location: 10 (remaining gas: 1039992.543 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 11 (remaining gas: 1039992.533 units remaining) [ "1970-01-01T00:00:00Z" (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] - - location: 12 (remaining gas: 1039992.118 units remaining) + - location: 12 (remaining gas: 1039992.533 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] - - location: 14 (remaining gas: 1039992.108 units remaining) + - location: 14 (remaining gas: 1039992.523 units remaining) [ "1970-01-01T00:00:01Z" ] - - location: 12 (remaining gas: 1039992.088 units remaining) + - location: 12 (remaining gas: 1039992.503 units remaining) [ "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z" ] - - location: 15 (remaining gas: 1039992.053 units remaining) + - location: 15 (remaining gas: 1039992.468 units remaining) [ -1 ] - - location: 16 (remaining gas: 1039992.043 units remaining) + - location: 16 (remaining gas: 1039992.458 units remaining) [ {} -1 ] - - location: 18 (remaining gas: 1039992.033 units remaining) + - location: 18 (remaining gas: 1039992.448 units remaining) [ (Pair {} -1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out index 1efe72851783..2aa6ba0402b6 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.158 units remaining) + - location: 9 (remaining gas: 1039992.563 units remaining) [ (Pair (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039992.148 units remaining) + - location: 9 (remaining gas: 1039992.553 units remaining) [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] - - location: 10 (remaining gas: 1039992.138 units remaining) + - location: 10 (remaining gas: 1039992.543 units remaining) [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 11 (remaining gas: 1039992.533 units remaining) [ "1970-01-01T00:00:01Z" (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] - - location: 12 (remaining gas: 1039992.118 units remaining) + - location: 12 (remaining gas: 1039992.533 units remaining) [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] - - location: 14 (remaining gas: 1039992.108 units remaining) + - location: 14 (remaining gas: 1039992.523 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039992.088 units remaining) + - location: 12 (remaining gas: 1039992.503 units remaining) [ "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039992.053 units remaining) + - location: 15 (remaining gas: 1039992.468 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039992.043 units remaining) + - location: 16 (remaining gas: 1039992.458 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039992.033 units remaining) + - location: 18 (remaining gas: 1039992.448 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out index 1b2a8b90470b..1134d533eb23 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out @@ -7,111 +7,111 @@ emitted operations big_map diff trace - - location: 24 (remaining gas: 1039880.082 units remaining) + - location: 24 (remaining gas: 1039840.257 units remaining) [ (Pair (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) Unit) ] - - location: 24 (remaining gas: 1039880.072 units remaining) + - location: 24 (remaining gas: 1039840.247 units remaining) [ (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 25 (remaining gas: 1039880.062 units remaining) + - location: 25 (remaining gas: 1039840.237 units remaining) [ (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 (remaining gas: 1039880.052 units remaining) + - location: 27 (remaining gas: 1039840.227 units remaining) [ 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 (remaining gas: 1039880.042 units remaining) + - location: 28 (remaining gas: 1039840.227 units remaining) [ (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 (remaining gas: 1039880.032 units remaining) + - location: 30 (remaining gas: 1039840.217 units remaining) [ 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 (remaining gas: 1039880.012 units remaining) + - location: 28 (remaining gas: 1039840.197 units remaining) [ 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 (remaining gas: 1039879.977 units remaining) + - location: 31 (remaining gas: 1039840.197 units remaining) [ (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 (remaining gas: 1039879.967 units remaining) + - location: 34 (remaining gas: 1039840.187 units remaining) [ 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 (remaining gas: 1039879.947 units remaining) + - location: 31 (remaining gas: 1039840.167 units remaining) [ 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 (remaining gas: 1039879.937 units remaining) + - location: 31 (remaining gas: 1039840.157 units remaining) [ 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 (remaining gas: 1039879.937 units remaining) + - location: 31 (remaining gas: 1039840.157 units remaining) [ 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 (remaining gas: 1039879.900 units remaining) + - location: 35 (remaining gas: 1039840.157 units remaining) [ (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 (remaining gas: 1039879.890 units remaining) + - location: 38 (remaining gas: 1039840.147 units remaining) [ 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 (remaining gas: 1039879.870 units remaining) + - location: 35 (remaining gas: 1039840.127 units remaining) [ 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 (remaining gas: 1039879.860 units remaining) + - location: 35 (remaining gas: 1039840.117 units remaining) [ 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 (remaining gas: 1039879.850 units remaining) + - location: 35 (remaining gas: 1039840.107 units remaining) [ 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 (remaining gas: 1039879.850 units remaining) + - location: 35 (remaining gas: 1039840.107 units remaining) [ 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 (remaining gas: 1039879.810 units remaining) + - location: 39 (remaining gas: 1039840.107 units remaining) [ (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 (remaining gas: 1039879.800 units remaining) + - location: 42 (remaining gas: 1039840.097 units remaining) [ 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 (remaining gas: 1039879.780 units remaining) + - location: 39 (remaining gas: 1039840.077 units remaining) [ 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 (remaining gas: 1039879.770 units remaining) + - location: 39 (remaining gas: 1039840.067 units remaining) [ 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 (remaining gas: 1039879.760 units remaining) + - location: 39 (remaining gas: 1039840.057 units remaining) [ 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 (remaining gas: 1039879.750 units remaining) + - location: 39 (remaining gas: 1039840.047 units remaining) [ 17 16 15 @@ -119,7 +119,7 @@ trace 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 (remaining gas: 1039879.750 units remaining) + - location: 39 (remaining gas: 1039840.047 units remaining) [ 17 16 15 @@ -127,32 +127,32 @@ trace 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 (remaining gas: 1039879.708 units remaining) + - location: 43 (remaining gas: 1039840.047 units remaining) [ (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 (remaining gas: 1039879.698 units remaining) + - location: 46 (remaining gas: 1039840.037 units remaining) [ 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 (remaining gas: 1039879.678 units remaining) + - location: 43 (remaining gas: 1039840.017 units remaining) [ 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 (remaining gas: 1039879.668 units remaining) + - location: 43 (remaining gas: 1039840.007 units remaining) [ 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 (remaining gas: 1039879.658 units remaining) + - location: 43 (remaining gas: 1039839.997 units remaining) [ 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 (remaining gas: 1039879.648 units remaining) + - location: 43 (remaining gas: 1039839.987 units remaining) [ 16 15 14 @@ -160,7 +160,7 @@ trace 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 (remaining gas: 1039879.638 units remaining) + - location: 43 (remaining gas: 1039839.977 units remaining) [ 17 16 15 @@ -169,7 +169,7 @@ trace 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 (remaining gas: 1039879.638 units remaining) + - location: 43 (remaining gas: 1039839.977 units remaining) [ 17 16 15 @@ -178,32 +178,32 @@ trace 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 (remaining gas: 1039879.593 units remaining) + - location: 47 (remaining gas: 1039839.977 units remaining) [ (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 (remaining gas: 1039879.583 units remaining) + - location: 50 (remaining gas: 1039839.967 units remaining) [ 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 (remaining gas: 1039879.563 units remaining) + - location: 47 (remaining gas: 1039839.947 units remaining) [ 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 (remaining gas: 1039879.553 units remaining) + - location: 47 (remaining gas: 1039839.937 units remaining) [ 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 (remaining gas: 1039879.543 units remaining) + - location: 47 (remaining gas: 1039839.927 units remaining) [ 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 (remaining gas: 1039879.533 units remaining) + - location: 47 (remaining gas: 1039839.917 units remaining) [ 15 14 13 @@ -211,7 +211,7 @@ trace 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 (remaining gas: 1039879.523 units remaining) + - location: 47 (remaining gas: 1039839.907 units remaining) [ 16 15 14 @@ -220,7 +220,7 @@ trace 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 (remaining gas: 1039879.513 units remaining) + - location: 47 (remaining gas: 1039839.897 units remaining) [ 17 16 15 @@ -230,7 +230,7 @@ trace 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 (remaining gas: 1039879.513 units remaining) + - location: 47 (remaining gas: 1039839.897 units remaining) [ 17 16 15 @@ -240,32 +240,32 @@ trace 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 (remaining gas: 1039879.466 units remaining) + - location: 51 (remaining gas: 1039839.897 units remaining) [ (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 (remaining gas: 1039879.456 units remaining) + - location: 54 (remaining gas: 1039839.887 units remaining) [ 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 (remaining gas: 1039879.436 units remaining) + - location: 51 (remaining gas: 1039839.867 units remaining) [ 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 (remaining gas: 1039879.426 units remaining) + - location: 51 (remaining gas: 1039839.857 units remaining) [ 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 (remaining gas: 1039879.416 units remaining) + - location: 51 (remaining gas: 1039839.847 units remaining) [ 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 (remaining gas: 1039879.406 units remaining) + - location: 51 (remaining gas: 1039839.837 units remaining) [ 14 13 12 @@ -273,7 +273,7 @@ trace 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 (remaining gas: 1039879.396 units remaining) + - location: 51 (remaining gas: 1039839.827 units remaining) [ 15 14 13 @@ -282,7 +282,7 @@ trace 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 (remaining gas: 1039879.386 units remaining) + - location: 51 (remaining gas: 1039839.817 units remaining) [ 16 15 14 @@ -292,7 +292,7 @@ trace 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 (remaining gas: 1039879.376 units remaining) + - location: 51 (remaining gas: 1039839.807 units remaining) [ 17 16 15 @@ -303,7 +303,7 @@ trace 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 (remaining gas: 1039879.376 units remaining) + - location: 51 (remaining gas: 1039839.807 units remaining) [ 17 16 15 @@ -314,32 +314,32 @@ trace 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 (remaining gas: 1039879.325 units remaining) + - location: 55 (remaining gas: 1039839.807 units remaining) [ (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 (remaining gas: 1039879.315 units remaining) + - location: 58 (remaining gas: 1039839.797 units remaining) [ 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 (remaining gas: 1039879.295 units remaining) + - location: 55 (remaining gas: 1039839.777 units remaining) [ 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 (remaining gas: 1039879.285 units remaining) + - location: 55 (remaining gas: 1039839.767 units remaining) [ 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 (remaining gas: 1039879.275 units remaining) + - location: 55 (remaining gas: 1039839.757 units remaining) [ 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 (remaining gas: 1039879.265 units remaining) + - location: 55 (remaining gas: 1039839.747 units remaining) [ 13 12 11 @@ -347,7 +347,7 @@ trace 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 (remaining gas: 1039879.255 units remaining) + - location: 55 (remaining gas: 1039839.737 units remaining) [ 14 13 12 @@ -356,7 +356,7 @@ trace 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 (remaining gas: 1039879.245 units remaining) + - location: 55 (remaining gas: 1039839.727 units remaining) [ 15 14 13 @@ -366,7 +366,7 @@ trace 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 (remaining gas: 1039879.235 units remaining) + - location: 55 (remaining gas: 1039839.717 units remaining) [ 16 15 14 @@ -377,7 +377,7 @@ trace 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 (remaining gas: 1039879.225 units remaining) + - location: 55 (remaining gas: 1039839.707 units remaining) [ 17 16 15 @@ -389,7 +389,7 @@ trace 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 (remaining gas: 1039879.225 units remaining) + - location: 55 (remaining gas: 1039839.707 units remaining) [ 17 16 15 @@ -401,32 +401,32 @@ trace 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 (remaining gas: 1039879.172 units remaining) + - location: 59 (remaining gas: 1039839.707 units remaining) [ (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 (remaining gas: 1039879.162 units remaining) + - location: 62 (remaining gas: 1039839.697 units remaining) [ 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 (remaining gas: 1039879.142 units remaining) + - location: 59 (remaining gas: 1039839.677 units remaining) [ 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 (remaining gas: 1039879.132 units remaining) + - location: 59 (remaining gas: 1039839.667 units remaining) [ 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 (remaining gas: 1039879.122 units remaining) + - location: 59 (remaining gas: 1039839.657 units remaining) [ 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 (remaining gas: 1039879.112 units remaining) + - location: 59 (remaining gas: 1039839.647 units remaining) [ 12 11 10 @@ -434,7 +434,7 @@ trace 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 (remaining gas: 1039879.102 units remaining) + - location: 59 (remaining gas: 1039839.637 units remaining) [ 13 12 11 @@ -443,7 +443,7 @@ trace 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 (remaining gas: 1039879.092 units remaining) + - location: 59 (remaining gas: 1039839.627 units remaining) [ 14 13 12 @@ -453,7 +453,7 @@ trace 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 (remaining gas: 1039879.082 units remaining) + - location: 59 (remaining gas: 1039839.617 units remaining) [ 15 14 13 @@ -464,7 +464,7 @@ trace 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 (remaining gas: 1039879.072 units remaining) + - location: 59 (remaining gas: 1039839.607 units remaining) [ 16 15 14 @@ -476,7 +476,7 @@ trace 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 (remaining gas: 1039879.062 units remaining) + - location: 59 (remaining gas: 1039839.597 units remaining) [ 17 16 15 @@ -489,7 +489,7 @@ trace 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 (remaining gas: 1039879.062 units remaining) + - location: 59 (remaining gas: 1039839.597 units remaining) [ 17 16 15 @@ -502,32 +502,32 @@ trace 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 (remaining gas: 1039879.006 units remaining) + - location: 63 (remaining gas: 1039839.597 units remaining) [ (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 (remaining gas: 1039878.996 units remaining) + - location: 66 (remaining gas: 1039839.587 units remaining) [ 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 (remaining gas: 1039878.976 units remaining) + - location: 63 (remaining gas: 1039839.567 units remaining) [ 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 (remaining gas: 1039878.966 units remaining) + - location: 63 (remaining gas: 1039839.557 units remaining) [ 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 (remaining gas: 1039878.956 units remaining) + - location: 63 (remaining gas: 1039839.547 units remaining) [ 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 (remaining gas: 1039878.946 units remaining) + - location: 63 (remaining gas: 1039839.537 units remaining) [ 11 10 9 @@ -535,7 +535,7 @@ trace 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 (remaining gas: 1039878.936 units remaining) + - location: 63 (remaining gas: 1039839.527 units remaining) [ 12 11 10 @@ -544,7 +544,7 @@ trace 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 (remaining gas: 1039878.926 units remaining) + - location: 63 (remaining gas: 1039839.517 units remaining) [ 13 12 11 @@ -554,7 +554,7 @@ trace 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 (remaining gas: 1039878.916 units remaining) + - location: 63 (remaining gas: 1039839.507 units remaining) [ 14 13 12 @@ -565,7 +565,7 @@ trace 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 (remaining gas: 1039878.906 units remaining) + - location: 63 (remaining gas: 1039839.497 units remaining) [ 15 14 13 @@ -577,7 +577,7 @@ trace 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 (remaining gas: 1039878.896 units remaining) + - location: 63 (remaining gas: 1039839.487 units remaining) [ 16 15 14 @@ -590,7 +590,7 @@ trace 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 (remaining gas: 1039878.886 units remaining) + - location: 63 (remaining gas: 1039839.477 units remaining) [ 17 16 15 @@ -604,7 +604,7 @@ trace 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 (remaining gas: 1039878.886 units remaining) + - location: 63 (remaining gas: 1039839.477 units remaining) [ 17 16 15 @@ -618,32 +618,32 @@ trace 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 (remaining gas: 1039878.828 units remaining) + - location: 67 (remaining gas: 1039839.477 units remaining) [ (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 (remaining gas: 1039878.818 units remaining) + - location: 70 (remaining gas: 1039839.467 units remaining) [ 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 (remaining gas: 1039878.798 units remaining) + - location: 67 (remaining gas: 1039839.447 units remaining) [ 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 (remaining gas: 1039878.788 units remaining) + - location: 67 (remaining gas: 1039839.437 units remaining) [ 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 (remaining gas: 1039878.778 units remaining) + - location: 67 (remaining gas: 1039839.427 units remaining) [ 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 (remaining gas: 1039878.768 units remaining) + - location: 67 (remaining gas: 1039839.417 units remaining) [ 10 9 8 @@ -651,7 +651,7 @@ trace 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 (remaining gas: 1039878.758 units remaining) + - location: 67 (remaining gas: 1039839.407 units remaining) [ 11 10 9 @@ -660,7 +660,7 @@ trace 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 (remaining gas: 1039878.748 units remaining) + - location: 67 (remaining gas: 1039839.397 units remaining) [ 12 11 10 @@ -670,7 +670,7 @@ trace 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 (remaining gas: 1039878.738 units remaining) + - location: 67 (remaining gas: 1039839.387 units remaining) [ 13 12 11 @@ -681,7 +681,7 @@ trace 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 (remaining gas: 1039878.728 units remaining) + - location: 67 (remaining gas: 1039839.377 units remaining) [ 14 13 12 @@ -693,7 +693,7 @@ trace 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 (remaining gas: 1039878.718 units remaining) + - location: 67 (remaining gas: 1039839.367 units remaining) [ 15 14 13 @@ -706,7 +706,7 @@ trace 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 (remaining gas: 1039878.708 units remaining) + - location: 67 (remaining gas: 1039839.357 units remaining) [ 16 15 14 @@ -720,7 +720,7 @@ trace 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 (remaining gas: 1039878.698 units remaining) + - location: 67 (remaining gas: 1039839.347 units remaining) [ 17 16 15 @@ -735,7 +735,7 @@ trace 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 (remaining gas: 1039878.698 units remaining) + - location: 67 (remaining gas: 1039839.347 units remaining) [ 17 16 15 @@ -750,32 +750,32 @@ trace 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 (remaining gas: 1039878.637 units remaining) + - location: 71 (remaining gas: 1039839.347 units remaining) [ (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 (remaining gas: 1039878.627 units remaining) + - location: 74 (remaining gas: 1039839.337 units remaining) [ 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 (remaining gas: 1039878.607 units remaining) + - location: 71 (remaining gas: 1039839.317 units remaining) [ 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 (remaining gas: 1039878.597 units remaining) + - location: 71 (remaining gas: 1039839.307 units remaining) [ 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 (remaining gas: 1039878.587 units remaining) + - location: 71 (remaining gas: 1039839.297 units remaining) [ 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 (remaining gas: 1039878.577 units remaining) + - location: 71 (remaining gas: 1039839.287 units remaining) [ 9 8 7 @@ -783,7 +783,7 @@ trace 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 (remaining gas: 1039878.567 units remaining) + - location: 71 (remaining gas: 1039839.277 units remaining) [ 10 9 8 @@ -792,7 +792,7 @@ trace 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 (remaining gas: 1039878.557 units remaining) + - location: 71 (remaining gas: 1039839.267 units remaining) [ 11 10 9 @@ -802,7 +802,7 @@ trace 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 (remaining gas: 1039878.547 units remaining) + - location: 71 (remaining gas: 1039839.257 units remaining) [ 12 11 10 @@ -813,7 +813,7 @@ trace 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 (remaining gas: 1039878.537 units remaining) + - location: 71 (remaining gas: 1039839.247 units remaining) [ 13 12 11 @@ -825,7 +825,7 @@ trace 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 (remaining gas: 1039878.527 units remaining) + - location: 71 (remaining gas: 1039839.237 units remaining) [ 14 13 12 @@ -838,7 +838,7 @@ trace 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 (remaining gas: 1039878.517 units remaining) + - location: 71 (remaining gas: 1039839.227 units remaining) [ 15 14 13 @@ -852,7 +852,7 @@ trace 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 (remaining gas: 1039878.507 units remaining) + - location: 71 (remaining gas: 1039839.217 units remaining) [ 16 15 14 @@ -867,7 +867,7 @@ trace 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 (remaining gas: 1039878.497 units remaining) + - location: 71 (remaining gas: 1039839.207 units remaining) [ 17 16 15 @@ -883,7 +883,7 @@ trace 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 (remaining gas: 1039878.497 units remaining) + - location: 71 (remaining gas: 1039839.207 units remaining) [ 17 16 15 @@ -899,32 +899,32 @@ trace 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 (remaining gas: 1039878.434 units remaining) + - location: 75 (remaining gas: 1039839.207 units remaining) [ (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 (remaining gas: 1039878.424 units remaining) + - location: 78 (remaining gas: 1039839.197 units remaining) [ 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 (remaining gas: 1039878.404 units remaining) + - location: 75 (remaining gas: 1039839.177 units remaining) [ 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 (remaining gas: 1039878.394 units remaining) + - location: 75 (remaining gas: 1039839.167 units remaining) [ 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 (remaining gas: 1039878.384 units remaining) + - location: 75 (remaining gas: 1039839.157 units remaining) [ 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 (remaining gas: 1039878.374 units remaining) + - location: 75 (remaining gas: 1039839.147 units remaining) [ 8 7 6 @@ -932,7 +932,7 @@ trace 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 (remaining gas: 1039878.364 units remaining) + - location: 75 (remaining gas: 1039839.137 units remaining) [ 9 8 7 @@ -941,7 +941,7 @@ trace 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 (remaining gas: 1039878.354 units remaining) + - location: 75 (remaining gas: 1039839.127 units remaining) [ 10 9 8 @@ -951,7 +951,7 @@ trace 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 (remaining gas: 1039878.344 units remaining) + - location: 75 (remaining gas: 1039839.117 units remaining) [ 11 10 9 @@ -962,7 +962,7 @@ trace 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 (remaining gas: 1039878.334 units remaining) + - location: 75 (remaining gas: 1039839.107 units remaining) [ 12 11 10 @@ -974,7 +974,7 @@ trace 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 (remaining gas: 1039878.324 units remaining) + - location: 75 (remaining gas: 1039839.097 units remaining) [ 13 12 11 @@ -987,7 +987,7 @@ trace 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 (remaining gas: 1039878.314 units remaining) + - location: 75 (remaining gas: 1039839.087 units remaining) [ 14 13 12 @@ -1001,7 +1001,7 @@ trace 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 (remaining gas: 1039878.304 units remaining) + - location: 75 (remaining gas: 1039839.077 units remaining) [ 15 14 13 @@ -1016,7 +1016,7 @@ trace 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 (remaining gas: 1039878.294 units remaining) + - location: 75 (remaining gas: 1039839.067 units remaining) [ 16 15 14 @@ -1032,7 +1032,7 @@ trace 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 (remaining gas: 1039878.284 units remaining) + - location: 75 (remaining gas: 1039839.057 units remaining) [ 17 16 15 @@ -1049,7 +1049,7 @@ trace 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 (remaining gas: 1039878.284 units remaining) + - location: 75 (remaining gas: 1039839.057 units remaining) [ 17 16 15 @@ -1066,32 +1066,32 @@ trace 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 (remaining gas: 1039878.218 units remaining) + - location: 79 (remaining gas: 1039839.057 units remaining) [ (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 82 (remaining gas: 1039878.208 units remaining) + - location: 82 (remaining gas: 1039839.047 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.188 units remaining) + - location: 79 (remaining gas: 1039839.027 units remaining) [ 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 (remaining gas: 1039878.178 units remaining) + - location: 79 (remaining gas: 1039839.017 units remaining) [ 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 (remaining gas: 1039878.168 units remaining) + - location: 79 (remaining gas: 1039839.007 units remaining) [ 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 (remaining gas: 1039878.158 units remaining) + - location: 79 (remaining gas: 1039838.997 units remaining) [ 7 6 5 @@ -1099,7 +1099,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.148 units remaining) + - location: 79 (remaining gas: 1039838.987 units remaining) [ 8 7 6 @@ -1108,7 +1108,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.138 units remaining) + - location: 79 (remaining gas: 1039838.977 units remaining) [ 9 8 7 @@ -1118,7 +1118,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.128 units remaining) + - location: 79 (remaining gas: 1039838.967 units remaining) [ 10 9 8 @@ -1129,7 +1129,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.118 units remaining) + - location: 79 (remaining gas: 1039838.957 units remaining) [ 11 10 9 @@ -1141,7 +1141,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.108 units remaining) + - location: 79 (remaining gas: 1039838.947 units remaining) [ 12 11 10 @@ -1154,7 +1154,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.098 units remaining) + - location: 79 (remaining gas: 1039838.937 units remaining) [ 13 12 11 @@ -1168,7 +1168,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.088 units remaining) + - location: 79 (remaining gas: 1039838.927 units remaining) [ 14 13 12 @@ -1183,7 +1183,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.078 units remaining) + - location: 79 (remaining gas: 1039838.917 units remaining) [ 15 14 13 @@ -1199,7 +1199,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.068 units remaining) + - location: 79 (remaining gas: 1039838.907 units remaining) [ 16 15 14 @@ -1216,7 +1216,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.058 units remaining) + - location: 79 (remaining gas: 1039838.897 units remaining) [ 17 16 15 @@ -1234,7 +1234,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 79 (remaining gas: 1039878.058 units remaining) + - location: 79 (remaining gas: 1039838.897 units remaining) [ 17 16 15 @@ -1252,32 +1252,32 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.990 units remaining) + - location: 83 (remaining gas: 1039838.897 units remaining) [ (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 86 (remaining gas: 1039877.980 units remaining) + - location: 86 (remaining gas: 1039838.887 units remaining) [ 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.960 units remaining) + - location: 83 (remaining gas: 1039838.867 units remaining) [ 3 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.950 units remaining) + - location: 83 (remaining gas: 1039838.857 units remaining) [ 4 3 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.940 units remaining) + - location: 83 (remaining gas: 1039838.847 units remaining) [ 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 (remaining gas: 1039877.930 units remaining) + - location: 83 (remaining gas: 1039838.837 units remaining) [ 6 5 4 @@ -1285,7 +1285,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.920 units remaining) + - location: 83 (remaining gas: 1039838.827 units remaining) [ 7 6 5 @@ -1294,7 +1294,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.910 units remaining) + - location: 83 (remaining gas: 1039838.817 units remaining) [ 8 7 6 @@ -1304,7 +1304,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.900 units remaining) + - location: 83 (remaining gas: 1039838.807 units remaining) [ 9 8 7 @@ -1315,7 +1315,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.890 units remaining) + - location: 83 (remaining gas: 1039838.797 units remaining) [ 10 9 8 @@ -1327,7 +1327,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.880 units remaining) + - location: 83 (remaining gas: 1039838.787 units remaining) [ 11 10 9 @@ -1340,7 +1340,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.870 units remaining) + - location: 83 (remaining gas: 1039838.777 units remaining) [ 12 11 10 @@ -1354,7 +1354,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.860 units remaining) + - location: 83 (remaining gas: 1039838.767 units remaining) [ 13 12 11 @@ -1369,7 +1369,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.850 units remaining) + - location: 83 (remaining gas: 1039838.757 units remaining) [ 14 13 12 @@ -1385,7 +1385,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.840 units remaining) + - location: 83 (remaining gas: 1039838.747 units remaining) [ 15 14 13 @@ -1402,7 +1402,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.830 units remaining) + - location: 83 (remaining gas: 1039838.737 units remaining) [ 16 15 14 @@ -1420,7 +1420,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.820 units remaining) + - location: 83 (remaining gas: 1039838.727 units remaining) [ 17 16 15 @@ -1439,7 +1439,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 83 (remaining gas: 1039877.820 units remaining) + - location: 83 (remaining gas: 1039838.727 units remaining) [ 17 16 15 @@ -1458,7 +1458,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 87 (remaining gas: 1039877.790 units remaining) + - location: 87 (remaining gas: 1039838.697 units remaining) [ 17 16 15 @@ -1477,7 +1477,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 89 (remaining gas: 1039877.754 units remaining) + - location: 89 (remaining gas: 1039838.661 units remaining) [ 16 17 15 @@ -1496,7 +1496,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 91 (remaining gas: 1039877.711 units remaining) + - location: 91 (remaining gas: 1039838.618 units remaining) [ 15 16 17 @@ -1515,7 +1515,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 93 (remaining gas: 1039877.662 units remaining) + - location: 93 (remaining gas: 1039838.569 units remaining) [ 14 15 16 @@ -1534,7 +1534,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 95 (remaining gas: 1039877.605 units remaining) + - location: 95 (remaining gas: 1039838.512 units remaining) [ 13 14 15 @@ -1553,7 +1553,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 97 (remaining gas: 1039877.542 units remaining) + - location: 97 (remaining gas: 1039838.449 units remaining) [ 12 13 14 @@ -1572,7 +1572,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 99 (remaining gas: 1039877.472 units remaining) + - location: 99 (remaining gas: 1039838.379 units remaining) [ 11 12 13 @@ -1591,7 +1591,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 101 (remaining gas: 1039877.396 units remaining) + - location: 101 (remaining gas: 1039838.303 units remaining) [ 10 11 12 @@ -1610,7 +1610,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 103 (remaining gas: 1039877.312 units remaining) + - location: 103 (remaining gas: 1039838.219 units remaining) [ 9 10 11 @@ -1629,7 +1629,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 105 (remaining gas: 1039877.222 units remaining) + - location: 105 (remaining gas: 1039838.129 units remaining) [ 8 9 10 @@ -1648,7 +1648,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 107 (remaining gas: 1039877.125 units remaining) + - location: 107 (remaining gas: 1039838.032 units remaining) [ 7 8 9 @@ -1667,7 +1667,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 109 (remaining gas: 1039877.022 units remaining) + - location: 109 (remaining gas: 1039837.929 units remaining) [ 6 7 8 @@ -1686,7 +1686,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 111 (remaining gas: 1039876.911 units remaining) + - location: 111 (remaining gas: 1039837.818 units remaining) [ 5 6 7 @@ -1705,7 +1705,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 113 (remaining gas: 1039876.794 units remaining) + - location: 113 (remaining gas: 1039837.701 units remaining) [ 4 5 6 @@ -1724,7 +1724,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 115 (remaining gas: 1039876.670 units remaining) + - location: 115 (remaining gas: 1039837.577 units remaining) [ 3 4 5 @@ -1743,7 +1743,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 117 (remaining gas: 1039876.540 units remaining) + - location: 117 (remaining gas: 1039837.447 units remaining) [ 2 3 4 @@ -1762,7 +1762,7 @@ trace 17 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 119 (remaining gas: 1039876.402 units remaining) + - location: 119 (remaining gas: 1039837.309 units remaining) [ 1 2 3 @@ -1781,7 +1781,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 121 (remaining gas: 1039876.372 units remaining) + - location: 121 (remaining gas: 1039837.279 units remaining) [ 1 2 3 @@ -1800,7 +1800,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 123 (remaining gas: 1039876.336 units remaining) + - location: 123 (remaining gas: 1039837.243 units remaining) [ 2 1 3 @@ -1819,7 +1819,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 125 (remaining gas: 1039876.293 units remaining) + - location: 125 (remaining gas: 1039837.200 units remaining) [ 3 2 1 @@ -1838,7 +1838,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 127 (remaining gas: 1039876.244 units remaining) + - location: 127 (remaining gas: 1039837.151 units remaining) [ 4 3 2 @@ -1857,7 +1857,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 129 (remaining gas: 1039876.187 units remaining) + - location: 129 (remaining gas: 1039837.094 units remaining) [ 5 4 3 @@ -1876,7 +1876,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 131 (remaining gas: 1039876.124 units remaining) + - location: 131 (remaining gas: 1039837.031 units remaining) [ 6 5 4 @@ -1895,7 +1895,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 133 (remaining gas: 1039876.054 units remaining) + - location: 133 (remaining gas: 1039836.961 units remaining) [ 7 6 5 @@ -1914,7 +1914,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 135 (remaining gas: 1039875.978 units remaining) + - location: 135 (remaining gas: 1039836.885 units remaining) [ 8 7 6 @@ -1933,7 +1933,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 137 (remaining gas: 1039875.894 units remaining) + - location: 137 (remaining gas: 1039836.801 units remaining) [ 9 8 7 @@ -1952,7 +1952,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 139 (remaining gas: 1039875.804 units remaining) + - location: 139 (remaining gas: 1039836.711 units remaining) [ 10 9 8 @@ -1971,7 +1971,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 141 (remaining gas: 1039875.707 units remaining) + - location: 141 (remaining gas: 1039836.614 units remaining) [ 11 10 9 @@ -1990,7 +1990,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 143 (remaining gas: 1039875.604 units remaining) + - location: 143 (remaining gas: 1039836.511 units remaining) [ 12 11 10 @@ -2009,7 +2009,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 145 (remaining gas: 1039875.493 units remaining) + - location: 145 (remaining gas: 1039836.400 units remaining) [ 13 12 11 @@ -2028,7 +2028,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 147 (remaining gas: 1039875.376 units remaining) + - location: 147 (remaining gas: 1039836.283 units remaining) [ 14 13 12 @@ -2047,7 +2047,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 149 (remaining gas: 1039875.252 units remaining) + - location: 149 (remaining gas: 1039836.159 units remaining) [ 15 14 13 @@ -2066,7 +2066,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 151 (remaining gas: 1039875.122 units remaining) + - location: 151 (remaining gas: 1039836.029 units remaining) [ 16 15 14 @@ -2085,7 +2085,7 @@ trace 1 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 153 (remaining gas: 1039874.984 units remaining) + - location: 153 (remaining gas: 1039835.891 units remaining) [ 17 16 15 @@ -2104,36 +2104,36 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.916 units remaining) + - location: 156 (remaining gas: 1039835.891 units remaining) [ 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 159 (remaining gas: 1039874.906 units remaining) + - location: 159 (remaining gas: 1039835.881 units remaining) [ (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.886 units remaining) + - location: 156 (remaining gas: 1039835.861 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.876 units remaining) + - location: 156 (remaining gas: 1039835.851 units remaining) [ 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 (remaining gas: 1039874.866 units remaining) + - location: 156 (remaining gas: 1039835.841 units remaining) [ 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 (remaining gas: 1039874.856 units remaining) + - location: 156 (remaining gas: 1039835.831 units remaining) [ 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 (remaining gas: 1039874.846 units remaining) + - location: 156 (remaining gas: 1039835.821 units remaining) [ 7 6 5 @@ -2141,7 +2141,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.836 units remaining) + - location: 156 (remaining gas: 1039835.811 units remaining) [ 8 7 6 @@ -2150,7 +2150,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.826 units remaining) + - location: 156 (remaining gas: 1039835.801 units remaining) [ 9 8 7 @@ -2160,7 +2160,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.816 units remaining) + - location: 156 (remaining gas: 1039835.791 units remaining) [ 10 9 8 @@ -2171,7 +2171,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.806 units remaining) + - location: 156 (remaining gas: 1039835.781 units remaining) [ 11 10 9 @@ -2183,7 +2183,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.796 units remaining) + - location: 156 (remaining gas: 1039835.771 units remaining) [ 12 11 10 @@ -2196,7 +2196,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.786 units remaining) + - location: 156 (remaining gas: 1039835.761 units remaining) [ 13 12 11 @@ -2210,7 +2210,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.776 units remaining) + - location: 156 (remaining gas: 1039835.751 units remaining) [ 14 13 12 @@ -2225,7 +2225,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.766 units remaining) + - location: 156 (remaining gas: 1039835.741 units remaining) [ 15 14 13 @@ -2241,7 +2241,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.756 units remaining) + - location: 156 (remaining gas: 1039835.731 units remaining) [ 16 15 14 @@ -2258,7 +2258,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.746 units remaining) + - location: 156 (remaining gas: 1039835.721 units remaining) [ 17 16 15 @@ -2276,7 +2276,7 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 156 (remaining gas: 1039874.746 units remaining) + - location: 156 (remaining gas: 1039835.721 units remaining) [ 17 16 15 @@ -2294,36 +2294,36 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 160 (remaining gas: 1039874.680 units remaining) + - location: 160 (remaining gas: 1039835.721 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 163 (remaining gas: 1039874.670 units remaining) + - location: 163 (remaining gas: 1039835.711 units remaining) [ (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] - - location: 160 (remaining gas: 1039874.650 units remaining) + - location: 160 (remaining gas: 1039835.691 units remaining) [ 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 (remaining gas: 1039874.640 units remaining) + - location: 160 (remaining gas: 1039835.681 units remaining) [ 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 (remaining gas: 1039874.630 units remaining) + - location: 160 (remaining gas: 1039835.671 units remaining) [ 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 (remaining gas: 1039874.620 units remaining) + - location: 160 (remaining gas: 1039835.661 units remaining) [ 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 (remaining gas: 1039874.610 units remaining) + - location: 160 (remaining gas: 1039835.651 units remaining) [ 8 7 6 @@ -2331,7 +2331,7 @@ trace 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 (remaining gas: 1039874.600 units remaining) + - location: 160 (remaining gas: 1039835.641 units remaining) [ 9 8 7 @@ -2340,7 +2340,7 @@ trace 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 (remaining gas: 1039874.590 units remaining) + - location: 160 (remaining gas: 1039835.631 units remaining) [ 10 9 8 @@ -2350,7 +2350,7 @@ trace 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 (remaining gas: 1039874.580 units remaining) + - location: 160 (remaining gas: 1039835.621 units remaining) [ 11 10 9 @@ -2361,7 +2361,7 @@ trace 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 (remaining gas: 1039874.570 units remaining) + - location: 160 (remaining gas: 1039835.611 units remaining) [ 12 11 10 @@ -2373,7 +2373,7 @@ trace 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 (remaining gas: 1039874.560 units remaining) + - location: 160 (remaining gas: 1039835.601 units remaining) [ 13 12 11 @@ -2386,7 +2386,7 @@ trace 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 (remaining gas: 1039874.550 units remaining) + - location: 160 (remaining gas: 1039835.591 units remaining) [ 14 13 12 @@ -2400,7 +2400,7 @@ trace 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 (remaining gas: 1039874.540 units remaining) + - location: 160 (remaining gas: 1039835.581 units remaining) [ 15 14 13 @@ -2415,7 +2415,7 @@ trace 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 (remaining gas: 1039874.530 units remaining) + - location: 160 (remaining gas: 1039835.571 units remaining) [ 16 15 14 @@ -2431,7 +2431,7 @@ trace 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 (remaining gas: 1039874.520 units remaining) + - location: 160 (remaining gas: 1039835.561 units remaining) [ 17 16 15 @@ -2448,7 +2448,7 @@ trace 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 (remaining gas: 1039874.520 units remaining) + - location: 160 (remaining gas: 1039835.561 units remaining) [ 17 16 15 @@ -2465,36 +2465,36 @@ trace 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 (remaining gas: 1039874.457 units remaining) + - location: 164 (remaining gas: 1039835.561 units remaining) [ 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 (remaining gas: 1039874.447 units remaining) + - location: 167 (remaining gas: 1039835.551 units remaining) [ (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 (remaining gas: 1039874.427 units remaining) + - location: 164 (remaining gas: 1039835.531 units remaining) [ 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 (remaining gas: 1039874.417 units remaining) + - location: 164 (remaining gas: 1039835.521 units remaining) [ 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 (remaining gas: 1039874.407 units remaining) + - location: 164 (remaining gas: 1039835.511 units remaining) [ 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 (remaining gas: 1039874.397 units remaining) + - location: 164 (remaining gas: 1039835.501 units remaining) [ 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 (remaining gas: 1039874.387 units remaining) + - location: 164 (remaining gas: 1039835.491 units remaining) [ 9 8 7 @@ -2502,7 +2502,7 @@ trace 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 (remaining gas: 1039874.377 units remaining) + - location: 164 (remaining gas: 1039835.481 units remaining) [ 10 9 8 @@ -2511,7 +2511,7 @@ trace 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 (remaining gas: 1039874.367 units remaining) + - location: 164 (remaining gas: 1039835.471 units remaining) [ 11 10 9 @@ -2521,7 +2521,7 @@ trace 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 (remaining gas: 1039874.357 units remaining) + - location: 164 (remaining gas: 1039835.461 units remaining) [ 12 11 10 @@ -2532,7 +2532,7 @@ trace 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 (remaining gas: 1039874.347 units remaining) + - location: 164 (remaining gas: 1039835.451 units remaining) [ 13 12 11 @@ -2544,7 +2544,7 @@ trace 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 (remaining gas: 1039874.337 units remaining) + - location: 164 (remaining gas: 1039835.441 units remaining) [ 14 13 12 @@ -2557,7 +2557,7 @@ trace 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 (remaining gas: 1039874.327 units remaining) + - location: 164 (remaining gas: 1039835.431 units remaining) [ 15 14 13 @@ -2571,7 +2571,7 @@ trace 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 (remaining gas: 1039874.317 units remaining) + - location: 164 (remaining gas: 1039835.421 units remaining) [ 16 15 14 @@ -2586,7 +2586,7 @@ trace 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 (remaining gas: 1039874.307 units remaining) + - location: 164 (remaining gas: 1039835.411 units remaining) [ 17 16 15 @@ -2602,7 +2602,7 @@ trace 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 (remaining gas: 1039874.307 units remaining) + - location: 164 (remaining gas: 1039835.411 units remaining) [ 17 16 15 @@ -2618,36 +2618,36 @@ trace 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 (remaining gas: 1039874.246 units remaining) + - location: 168 (remaining gas: 1039835.411 units remaining) [ 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 (remaining gas: 1039874.236 units remaining) + - location: 171 (remaining gas: 1039835.401 units remaining) [ (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 (remaining gas: 1039874.216 units remaining) + - location: 168 (remaining gas: 1039835.381 units remaining) [ 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 (remaining gas: 1039874.206 units remaining) + - location: 168 (remaining gas: 1039835.371 units remaining) [ 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 (remaining gas: 1039874.196 units remaining) + - location: 168 (remaining gas: 1039835.361 units remaining) [ 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 (remaining gas: 1039874.186 units remaining) + - location: 168 (remaining gas: 1039835.351 units remaining) [ 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 (remaining gas: 1039874.176 units remaining) + - location: 168 (remaining gas: 1039835.341 units remaining) [ 10 9 8 @@ -2655,7 +2655,7 @@ trace 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 (remaining gas: 1039874.166 units remaining) + - location: 168 (remaining gas: 1039835.331 units remaining) [ 11 10 9 @@ -2664,7 +2664,7 @@ trace 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 (remaining gas: 1039874.156 units remaining) + - location: 168 (remaining gas: 1039835.321 units remaining) [ 12 11 10 @@ -2674,7 +2674,7 @@ trace 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 (remaining gas: 1039874.146 units remaining) + - location: 168 (remaining gas: 1039835.311 units remaining) [ 13 12 11 @@ -2685,7 +2685,7 @@ trace 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 (remaining gas: 1039874.136 units remaining) + - location: 168 (remaining gas: 1039835.301 units remaining) [ 14 13 12 @@ -2697,7 +2697,7 @@ trace 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 (remaining gas: 1039874.126 units remaining) + - location: 168 (remaining gas: 1039835.291 units remaining) [ 15 14 13 @@ -2710,7 +2710,7 @@ trace 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 (remaining gas: 1039874.116 units remaining) + - location: 168 (remaining gas: 1039835.281 units remaining) [ 16 15 14 @@ -2724,7 +2724,7 @@ trace 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 (remaining gas: 1039874.106 units remaining) + - location: 168 (remaining gas: 1039835.271 units remaining) [ 17 16 15 @@ -2739,7 +2739,7 @@ trace 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 (remaining gas: 1039874.106 units remaining) + - location: 168 (remaining gas: 1039835.271 units remaining) [ 17 16 15 @@ -2754,36 +2754,36 @@ trace 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 (remaining gas: 1039874.048 units remaining) + - location: 172 (remaining gas: 1039835.271 units remaining) [ 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 (remaining gas: 1039874.038 units remaining) + - location: 175 (remaining gas: 1039835.261 units remaining) [ (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 (remaining gas: 1039874.018 units remaining) + - location: 172 (remaining gas: 1039835.241 units remaining) [ 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 (remaining gas: 1039874.008 units remaining) + - location: 172 (remaining gas: 1039835.231 units remaining) [ 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 (remaining gas: 1039873.998 units remaining) + - location: 172 (remaining gas: 1039835.221 units remaining) [ 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 (remaining gas: 1039873.988 units remaining) + - location: 172 (remaining gas: 1039835.211 units remaining) [ 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 (remaining gas: 1039873.978 units remaining) + - location: 172 (remaining gas: 1039835.201 units remaining) [ 11 10 9 @@ -2791,7 +2791,7 @@ trace 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 (remaining gas: 1039873.968 units remaining) + - location: 172 (remaining gas: 1039835.191 units remaining) [ 12 11 10 @@ -2800,7 +2800,7 @@ trace 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 (remaining gas: 1039873.958 units remaining) + - location: 172 (remaining gas: 1039835.181 units remaining) [ 13 12 11 @@ -2810,7 +2810,7 @@ trace 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 (remaining gas: 1039873.948 units remaining) + - location: 172 (remaining gas: 1039835.171 units remaining) [ 14 13 12 @@ -2821,7 +2821,7 @@ trace 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 (remaining gas: 1039873.938 units remaining) + - location: 172 (remaining gas: 1039835.161 units remaining) [ 15 14 13 @@ -2833,7 +2833,7 @@ trace 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 (remaining gas: 1039873.928 units remaining) + - location: 172 (remaining gas: 1039835.151 units remaining) [ 16 15 14 @@ -2846,7 +2846,7 @@ trace 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 (remaining gas: 1039873.918 units remaining) + - location: 172 (remaining gas: 1039835.141 units remaining) [ 17 16 15 @@ -2860,7 +2860,7 @@ trace 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 (remaining gas: 1039873.918 units remaining) + - location: 172 (remaining gas: 1039835.141 units remaining) [ 17 16 15 @@ -2874,36 +2874,36 @@ trace 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 (remaining gas: 1039873.862 units remaining) + - location: 176 (remaining gas: 1039835.141 units remaining) [ 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 (remaining gas: 1039873.852 units remaining) + - location: 179 (remaining gas: 1039835.131 units remaining) [ (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 (remaining gas: 1039873.832 units remaining) + - location: 176 (remaining gas: 1039835.111 units remaining) [ 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 (remaining gas: 1039873.822 units remaining) + - location: 176 (remaining gas: 1039835.101 units remaining) [ 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 (remaining gas: 1039873.812 units remaining) + - location: 176 (remaining gas: 1039835.091 units remaining) [ 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 (remaining gas: 1039873.802 units remaining) + - location: 176 (remaining gas: 1039835.081 units remaining) [ 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 (remaining gas: 1039873.792 units remaining) + - location: 176 (remaining gas: 1039835.071 units remaining) [ 12 11 10 @@ -2911,7 +2911,7 @@ trace 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 (remaining gas: 1039873.782 units remaining) + - location: 176 (remaining gas: 1039835.061 units remaining) [ 13 12 11 @@ -2920,7 +2920,7 @@ trace 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 (remaining gas: 1039873.772 units remaining) + - location: 176 (remaining gas: 1039835.051 units remaining) [ 14 13 12 @@ -2930,7 +2930,7 @@ trace 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 (remaining gas: 1039873.762 units remaining) + - location: 176 (remaining gas: 1039835.041 units remaining) [ 15 14 13 @@ -2941,7 +2941,7 @@ trace 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 (remaining gas: 1039873.752 units remaining) + - location: 176 (remaining gas: 1039835.031 units remaining) [ 16 15 14 @@ -2953,7 +2953,7 @@ trace 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 (remaining gas: 1039873.742 units remaining) + - location: 176 (remaining gas: 1039835.021 units remaining) [ 17 16 15 @@ -2966,7 +2966,7 @@ trace 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 (remaining gas: 1039873.742 units remaining) + - location: 176 (remaining gas: 1039835.021 units remaining) [ 17 16 15 @@ -2979,36 +2979,36 @@ trace 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 (remaining gas: 1039873.689 units remaining) + - location: 180 (remaining gas: 1039835.021 units remaining) [ 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 (remaining gas: 1039873.679 units remaining) + - location: 183 (remaining gas: 1039835.011 units remaining) [ (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 (remaining gas: 1039873.659 units remaining) + - location: 180 (remaining gas: 1039834.991 units remaining) [ 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 (remaining gas: 1039873.649 units remaining) + - location: 180 (remaining gas: 1039834.981 units remaining) [ 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 (remaining gas: 1039873.639 units remaining) + - location: 180 (remaining gas: 1039834.971 units remaining) [ 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 (remaining gas: 1039873.629 units remaining) + - location: 180 (remaining gas: 1039834.961 units remaining) [ 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 (remaining gas: 1039873.619 units remaining) + - location: 180 (remaining gas: 1039834.951 units remaining) [ 13 12 11 @@ -3016,7 +3016,7 @@ trace 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 (remaining gas: 1039873.609 units remaining) + - location: 180 (remaining gas: 1039834.941 units remaining) [ 14 13 12 @@ -3025,7 +3025,7 @@ trace 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 (remaining gas: 1039873.599 units remaining) + - location: 180 (remaining gas: 1039834.931 units remaining) [ 15 14 13 @@ -3035,7 +3035,7 @@ trace 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 (remaining gas: 1039873.589 units remaining) + - location: 180 (remaining gas: 1039834.921 units remaining) [ 16 15 14 @@ -3046,7 +3046,7 @@ trace 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 (remaining gas: 1039873.579 units remaining) + - location: 180 (remaining gas: 1039834.911 units remaining) [ 17 16 15 @@ -3058,7 +3058,7 @@ trace 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 (remaining gas: 1039873.579 units remaining) + - location: 180 (remaining gas: 1039834.911 units remaining) [ 17 16 15 @@ -3070,36 +3070,36 @@ trace 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 (remaining gas: 1039873.528 units remaining) + - location: 184 (remaining gas: 1039834.911 units remaining) [ 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 (remaining gas: 1039873.518 units remaining) + - location: 187 (remaining gas: 1039834.901 units remaining) [ (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 (remaining gas: 1039873.498 units remaining) + - location: 184 (remaining gas: 1039834.881 units remaining) [ 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 (remaining gas: 1039873.488 units remaining) + - location: 184 (remaining gas: 1039834.871 units remaining) [ 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 (remaining gas: 1039873.478 units remaining) + - location: 184 (remaining gas: 1039834.861 units remaining) [ 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 (remaining gas: 1039873.468 units remaining) + - location: 184 (remaining gas: 1039834.851 units remaining) [ 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 (remaining gas: 1039873.458 units remaining) + - location: 184 (remaining gas: 1039834.841 units remaining) [ 14 13 12 @@ -3107,7 +3107,7 @@ trace 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 (remaining gas: 1039873.448 units remaining) + - location: 184 (remaining gas: 1039834.831 units remaining) [ 15 14 13 @@ -3116,7 +3116,7 @@ trace 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 (remaining gas: 1039873.438 units remaining) + - location: 184 (remaining gas: 1039834.821 units remaining) [ 16 15 14 @@ -3126,7 +3126,7 @@ trace 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 (remaining gas: 1039873.428 units remaining) + - location: 184 (remaining gas: 1039834.811 units remaining) [ 17 16 15 @@ -3137,7 +3137,7 @@ trace 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 (remaining gas: 1039873.428 units remaining) + - location: 184 (remaining gas: 1039834.811 units remaining) [ 17 16 15 @@ -3148,36 +3148,36 @@ trace 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 (remaining gas: 1039873.381 units remaining) + - location: 188 (remaining gas: 1039834.811 units remaining) [ 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 (remaining gas: 1039873.371 units remaining) + - location: 191 (remaining gas: 1039834.801 units remaining) [ (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 (remaining gas: 1039873.351 units remaining) + - location: 188 (remaining gas: 1039834.781 units remaining) [ 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 (remaining gas: 1039873.341 units remaining) + - location: 188 (remaining gas: 1039834.771 units remaining) [ 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 (remaining gas: 1039873.331 units remaining) + - location: 188 (remaining gas: 1039834.761 units remaining) [ 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 (remaining gas: 1039873.321 units remaining) + - location: 188 (remaining gas: 1039834.751 units remaining) [ 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 (remaining gas: 1039873.311 units remaining) + - location: 188 (remaining gas: 1039834.741 units remaining) [ 15 14 13 @@ -3185,7 +3185,7 @@ trace 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 (remaining gas: 1039873.301 units remaining) + - location: 188 (remaining gas: 1039834.731 units remaining) [ 16 15 14 @@ -3194,7 +3194,7 @@ trace 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 (remaining gas: 1039873.291 units remaining) + - location: 188 (remaining gas: 1039834.721 units remaining) [ 17 16 15 @@ -3204,7 +3204,7 @@ trace 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 (remaining gas: 1039873.291 units remaining) + - location: 188 (remaining gas: 1039834.721 units remaining) [ 17 16 15 @@ -3214,36 +3214,36 @@ trace 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 (remaining gas: 1039873.246 units remaining) + - location: 192 (remaining gas: 1039834.721 units remaining) [ 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 (remaining gas: 1039873.236 units remaining) + - location: 195 (remaining gas: 1039834.711 units remaining) [ (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 (remaining gas: 1039873.216 units remaining) + - location: 192 (remaining gas: 1039834.691 units remaining) [ 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 (remaining gas: 1039873.206 units remaining) + - location: 192 (remaining gas: 1039834.681 units remaining) [ 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 (remaining gas: 1039873.196 units remaining) + - location: 192 (remaining gas: 1039834.671 units remaining) [ 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 (remaining gas: 1039873.186 units remaining) + - location: 192 (remaining gas: 1039834.661 units remaining) [ 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 (remaining gas: 1039873.176 units remaining) + - location: 192 (remaining gas: 1039834.651 units remaining) [ 16 15 14 @@ -3251,7 +3251,7 @@ trace 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 (remaining gas: 1039873.166 units remaining) + - location: 192 (remaining gas: 1039834.641 units remaining) [ 17 16 15 @@ -3260,7 +3260,7 @@ trace 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 (remaining gas: 1039873.166 units remaining) + - location: 192 (remaining gas: 1039834.641 units remaining) [ 17 16 15 @@ -3269,36 +3269,36 @@ trace 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 (remaining gas: 1039873.124 units remaining) + - location: 196 (remaining gas: 1039834.641 units remaining) [ 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 (remaining gas: 1039873.114 units remaining) + - location: 199 (remaining gas: 1039834.631 units remaining) [ (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 (remaining gas: 1039873.094 units remaining) + - location: 196 (remaining gas: 1039834.611 units remaining) [ 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 (remaining gas: 1039873.084 units remaining) + - location: 196 (remaining gas: 1039834.601 units remaining) [ 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 (remaining gas: 1039873.074 units remaining) + - location: 196 (remaining gas: 1039834.591 units remaining) [ 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 (remaining gas: 1039873.064 units remaining) + - location: 196 (remaining gas: 1039834.581 units remaining) [ 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 (remaining gas: 1039873.054 units remaining) + - location: 196 (remaining gas: 1039834.571 units remaining) [ 17 16 15 @@ -3306,7 +3306,7 @@ trace 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 (remaining gas: 1039873.054 units remaining) + - location: 196 (remaining gas: 1039834.571 units remaining) [ 17 16 15 @@ -3314,118 +3314,118 @@ trace 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 (remaining gas: 1039873.014 units remaining) + - location: 200 (remaining gas: 1039834.571 units remaining) [ 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 (remaining gas: 1039873.004 units remaining) + - location: 203 (remaining gas: 1039834.561 units remaining) [ (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 (remaining gas: 1039872.984 units remaining) + - location: 200 (remaining gas: 1039834.541 units remaining) [ 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 (remaining gas: 1039872.974 units remaining) + - location: 200 (remaining gas: 1039834.531 units remaining) [ 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 (remaining gas: 1039872.964 units remaining) + - location: 200 (remaining gas: 1039834.521 units remaining) [ 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 (remaining gas: 1039872.954 units remaining) + - location: 200 (remaining gas: 1039834.511 units remaining) [ 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 (remaining gas: 1039872.954 units remaining) + - location: 200 (remaining gas: 1039834.511 units remaining) [ 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 (remaining gas: 1039872.917 units remaining) + - location: 204 (remaining gas: 1039834.511 units remaining) [ 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 (remaining gas: 1039872.907 units remaining) + - location: 207 (remaining gas: 1039834.501 units remaining) [ (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 (remaining gas: 1039872.887 units remaining) + - location: 204 (remaining gas: 1039834.481 units remaining) [ 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 (remaining gas: 1039872.877 units remaining) + - location: 204 (remaining gas: 1039834.471 units remaining) [ 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 (remaining gas: 1039872.867 units remaining) + - location: 204 (remaining gas: 1039834.461 units remaining) [ 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 (remaining gas: 1039872.867 units remaining) + - location: 204 (remaining gas: 1039834.461 units remaining) [ 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 (remaining gas: 1039872.832 units remaining) + - location: 208 (remaining gas: 1039834.461 units remaining) [ 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 (remaining gas: 1039872.822 units remaining) + - location: 211 (remaining gas: 1039834.451 units remaining) [ (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 (remaining gas: 1039872.802 units remaining) + - location: 208 (remaining gas: 1039834.431 units remaining) [ 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 (remaining gas: 1039872.792 units remaining) + - location: 208 (remaining gas: 1039834.421 units remaining) [ 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 (remaining gas: 1039872.792 units remaining) + - location: 208 (remaining gas: 1039834.421 units remaining) [ 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 (remaining gas: 1039872.782 units remaining) + - location: 212 (remaining gas: 1039834.421 units remaining) [ 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 (remaining gas: 1039872.772 units remaining) + - location: 214 (remaining gas: 1039834.411 units remaining) [ (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 (remaining gas: 1039872.752 units remaining) + - location: 212 (remaining gas: 1039834.391 units remaining) [ 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 (remaining gas: 1039872.742 units remaining) + - location: 215 (remaining gas: 1039834.381 units remaining) [ (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 (remaining gas: 1039871.987 units remaining) + - location: 218 (remaining gas: 1039833.626 units remaining) [ 0 ] - - location: 219 (remaining gas: 1039871.977 units remaining) + - location: 219 (remaining gas: 1039833.616 units remaining) [ True ] - - location: 220 (remaining gas: 1039871.967 units remaining) + - location: 220 (remaining gas: 1039833.616 units remaining) [ ] - - location: 220 (remaining gas: 1039871.957 units remaining) + - location: 220 (remaining gas: 1039833.606 units remaining) [ ] - - location: 226 (remaining gas: 1039871.947 units remaining) + - location: 226 (remaining gas: 1039833.596 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039871.937 units remaining) + - location: 227 (remaining gas: 1039833.586 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039871.927 units remaining) + - location: 229 (remaining gas: 1039833.576 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out index 724cc1e44832..846315076802 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out @@ -7,111 +7,111 @@ emitted operations big_map diff trace - - location: 24 (remaining gas: 1039880.082 units remaining) + - location: 24 (remaining gas: 1039840.257 units remaining) [ (Pair (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) Unit) ] - - location: 24 (remaining gas: 1039880.072 units remaining) + - location: 24 (remaining gas: 1039840.247 units remaining) [ (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 25 (remaining gas: 1039880.062 units remaining) + - location: 25 (remaining gas: 1039840.237 units remaining) [ (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 (remaining gas: 1039880.052 units remaining) + - location: 27 (remaining gas: 1039840.227 units remaining) [ 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 (remaining gas: 1039880.042 units remaining) + - location: 28 (remaining gas: 1039840.227 units remaining) [ (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 (remaining gas: 1039880.032 units remaining) + - location: 30 (remaining gas: 1039840.217 units remaining) [ 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 (remaining gas: 1039880.012 units remaining) + - location: 28 (remaining gas: 1039840.197 units remaining) [ 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 (remaining gas: 1039879.977 units remaining) + - location: 31 (remaining gas: 1039840.197 units remaining) [ (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 (remaining gas: 1039879.967 units remaining) + - location: 34 (remaining gas: 1039840.187 units remaining) [ 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 (remaining gas: 1039879.947 units remaining) + - location: 31 (remaining gas: 1039840.167 units remaining) [ 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 (remaining gas: 1039879.937 units remaining) + - location: 31 (remaining gas: 1039840.157 units remaining) [ 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 (remaining gas: 1039879.937 units remaining) + - location: 31 (remaining gas: 1039840.157 units remaining) [ 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 (remaining gas: 1039879.900 units remaining) + - location: 35 (remaining gas: 1039840.157 units remaining) [ (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 (remaining gas: 1039879.890 units remaining) + - location: 38 (remaining gas: 1039840.147 units remaining) [ 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 (remaining gas: 1039879.870 units remaining) + - location: 35 (remaining gas: 1039840.127 units remaining) [ 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 (remaining gas: 1039879.860 units remaining) + - location: 35 (remaining gas: 1039840.117 units remaining) [ 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 (remaining gas: 1039879.850 units remaining) + - location: 35 (remaining gas: 1039840.107 units remaining) [ 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 (remaining gas: 1039879.850 units remaining) + - location: 35 (remaining gas: 1039840.107 units remaining) [ 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 (remaining gas: 1039879.810 units remaining) + - location: 39 (remaining gas: 1039840.107 units remaining) [ (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 (remaining gas: 1039879.800 units remaining) + - location: 42 (remaining gas: 1039840.097 units remaining) [ 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 (remaining gas: 1039879.780 units remaining) + - location: 39 (remaining gas: 1039840.077 units remaining) [ 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 (remaining gas: 1039879.770 units remaining) + - location: 39 (remaining gas: 1039840.067 units remaining) [ 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 (remaining gas: 1039879.760 units remaining) + - location: 39 (remaining gas: 1039840.057 units remaining) [ 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 (remaining gas: 1039879.750 units remaining) + - location: 39 (remaining gas: 1039840.047 units remaining) [ 2 3 12 @@ -119,7 +119,7 @@ trace 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 (remaining gas: 1039879.750 units remaining) + - location: 39 (remaining gas: 1039840.047 units remaining) [ 2 3 12 @@ -127,32 +127,32 @@ trace 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 (remaining gas: 1039879.708 units remaining) + - location: 43 (remaining gas: 1039840.047 units remaining) [ (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 (remaining gas: 1039879.698 units remaining) + - location: 46 (remaining gas: 1039840.037 units remaining) [ 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 (remaining gas: 1039879.678 units remaining) + - location: 43 (remaining gas: 1039840.017 units remaining) [ 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 (remaining gas: 1039879.668 units remaining) + - location: 43 (remaining gas: 1039840.007 units remaining) [ 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 (remaining gas: 1039879.658 units remaining) + - location: 43 (remaining gas: 1039839.997 units remaining) [ 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 (remaining gas: 1039879.648 units remaining) + - location: 43 (remaining gas: 1039839.987 units remaining) [ 3 12 16 @@ -160,7 +160,7 @@ trace 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 (remaining gas: 1039879.638 units remaining) + - location: 43 (remaining gas: 1039839.977 units remaining) [ 2 3 12 @@ -169,7 +169,7 @@ trace 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 (remaining gas: 1039879.638 units remaining) + - location: 43 (remaining gas: 1039839.977 units remaining) [ 2 3 12 @@ -178,32 +178,32 @@ trace 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 (remaining gas: 1039879.593 units remaining) + - location: 47 (remaining gas: 1039839.977 units remaining) [ (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 (remaining gas: 1039879.583 units remaining) + - location: 50 (remaining gas: 1039839.967 units remaining) [ 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 (remaining gas: 1039879.563 units remaining) + - location: 47 (remaining gas: 1039839.947 units remaining) [ 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 (remaining gas: 1039879.553 units remaining) + - location: 47 (remaining gas: 1039839.937 units remaining) [ 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 (remaining gas: 1039879.543 units remaining) + - location: 47 (remaining gas: 1039839.927 units remaining) [ 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 (remaining gas: 1039879.533 units remaining) + - location: 47 (remaining gas: 1039839.917 units remaining) [ 12 16 10 @@ -211,7 +211,7 @@ trace 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 (remaining gas: 1039879.523 units remaining) + - location: 47 (remaining gas: 1039839.907 units remaining) [ 3 12 16 @@ -220,7 +220,7 @@ trace 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 (remaining gas: 1039879.513 units remaining) + - location: 47 (remaining gas: 1039839.897 units remaining) [ 2 3 12 @@ -230,7 +230,7 @@ trace 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 (remaining gas: 1039879.513 units remaining) + - location: 47 (remaining gas: 1039839.897 units remaining) [ 2 3 12 @@ -240,32 +240,32 @@ trace 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 (remaining gas: 1039879.466 units remaining) + - location: 51 (remaining gas: 1039839.897 units remaining) [ (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 (remaining gas: 1039879.456 units remaining) + - location: 54 (remaining gas: 1039839.887 units remaining) [ 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 (remaining gas: 1039879.436 units remaining) + - location: 51 (remaining gas: 1039839.867 units remaining) [ 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 (remaining gas: 1039879.426 units remaining) + - location: 51 (remaining gas: 1039839.857 units remaining) [ 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 (remaining gas: 1039879.416 units remaining) + - location: 51 (remaining gas: 1039839.847 units remaining) [ 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 (remaining gas: 1039879.406 units remaining) + - location: 51 (remaining gas: 1039839.837 units remaining) [ 16 10 14 @@ -273,7 +273,7 @@ trace 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 (remaining gas: 1039879.396 units remaining) + - location: 51 (remaining gas: 1039839.827 units remaining) [ 12 16 10 @@ -282,7 +282,7 @@ trace 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 (remaining gas: 1039879.386 units remaining) + - location: 51 (remaining gas: 1039839.817 units remaining) [ 3 12 16 @@ -292,7 +292,7 @@ trace 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 (remaining gas: 1039879.376 units remaining) + - location: 51 (remaining gas: 1039839.807 units remaining) [ 2 3 12 @@ -303,7 +303,7 @@ trace 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 (remaining gas: 1039879.376 units remaining) + - location: 51 (remaining gas: 1039839.807 units remaining) [ 2 3 12 @@ -314,32 +314,32 @@ trace 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 (remaining gas: 1039879.325 units remaining) + - location: 55 (remaining gas: 1039839.807 units remaining) [ (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 (remaining gas: 1039879.315 units remaining) + - location: 58 (remaining gas: 1039839.797 units remaining) [ 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 (remaining gas: 1039879.295 units remaining) + - location: 55 (remaining gas: 1039839.777 units remaining) [ 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 (remaining gas: 1039879.285 units remaining) + - location: 55 (remaining gas: 1039839.767 units remaining) [ 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 (remaining gas: 1039879.275 units remaining) + - location: 55 (remaining gas: 1039839.757 units remaining) [ 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 (remaining gas: 1039879.265 units remaining) + - location: 55 (remaining gas: 1039839.747 units remaining) [ 10 14 19 @@ -347,7 +347,7 @@ trace 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 (remaining gas: 1039879.255 units remaining) + - location: 55 (remaining gas: 1039839.737 units remaining) [ 16 10 14 @@ -356,7 +356,7 @@ trace 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 (remaining gas: 1039879.245 units remaining) + - location: 55 (remaining gas: 1039839.727 units remaining) [ 12 16 10 @@ -366,7 +366,7 @@ trace 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 (remaining gas: 1039879.235 units remaining) + - location: 55 (remaining gas: 1039839.717 units remaining) [ 3 12 16 @@ -377,7 +377,7 @@ trace 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 (remaining gas: 1039879.225 units remaining) + - location: 55 (remaining gas: 1039839.707 units remaining) [ 2 3 12 @@ -389,7 +389,7 @@ trace 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 (remaining gas: 1039879.225 units remaining) + - location: 55 (remaining gas: 1039839.707 units remaining) [ 2 3 12 @@ -401,32 +401,32 @@ trace 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 (remaining gas: 1039879.172 units remaining) + - location: 59 (remaining gas: 1039839.707 units remaining) [ (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 (remaining gas: 1039879.162 units remaining) + - location: 62 (remaining gas: 1039839.697 units remaining) [ 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 (remaining gas: 1039879.142 units remaining) + - location: 59 (remaining gas: 1039839.677 units remaining) [ 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 (remaining gas: 1039879.132 units remaining) + - location: 59 (remaining gas: 1039839.667 units remaining) [ 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 (remaining gas: 1039879.122 units remaining) + - location: 59 (remaining gas: 1039839.657 units remaining) [ 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 (remaining gas: 1039879.112 units remaining) + - location: 59 (remaining gas: 1039839.647 units remaining) [ 14 19 9 @@ -434,7 +434,7 @@ trace 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 (remaining gas: 1039879.102 units remaining) + - location: 59 (remaining gas: 1039839.637 units remaining) [ 10 14 19 @@ -443,7 +443,7 @@ trace 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 (remaining gas: 1039879.092 units remaining) + - location: 59 (remaining gas: 1039839.627 units remaining) [ 16 10 14 @@ -453,7 +453,7 @@ trace 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 (remaining gas: 1039879.082 units remaining) + - location: 59 (remaining gas: 1039839.617 units remaining) [ 12 16 10 @@ -464,7 +464,7 @@ trace 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 (remaining gas: 1039879.072 units remaining) + - location: 59 (remaining gas: 1039839.607 units remaining) [ 3 12 16 @@ -476,7 +476,7 @@ trace 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 (remaining gas: 1039879.062 units remaining) + - location: 59 (remaining gas: 1039839.597 units remaining) [ 2 3 12 @@ -489,7 +489,7 @@ trace 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 (remaining gas: 1039879.062 units remaining) + - location: 59 (remaining gas: 1039839.597 units remaining) [ 2 3 12 @@ -502,32 +502,32 @@ trace 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 (remaining gas: 1039879.006 units remaining) + - location: 63 (remaining gas: 1039839.597 units remaining) [ (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 (remaining gas: 1039878.996 units remaining) + - location: 66 (remaining gas: 1039839.587 units remaining) [ 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 (remaining gas: 1039878.976 units remaining) + - location: 63 (remaining gas: 1039839.567 units remaining) [ 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 (remaining gas: 1039878.966 units remaining) + - location: 63 (remaining gas: 1039839.557 units remaining) [ 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 (remaining gas: 1039878.956 units remaining) + - location: 63 (remaining gas: 1039839.547 units remaining) [ 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 (remaining gas: 1039878.946 units remaining) + - location: 63 (remaining gas: 1039839.537 units remaining) [ 19 9 18 @@ -535,7 +535,7 @@ trace 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 (remaining gas: 1039878.936 units remaining) + - location: 63 (remaining gas: 1039839.527 units remaining) [ 14 19 9 @@ -544,7 +544,7 @@ trace 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 (remaining gas: 1039878.926 units remaining) + - location: 63 (remaining gas: 1039839.517 units remaining) [ 10 14 19 @@ -554,7 +554,7 @@ trace 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 (remaining gas: 1039878.916 units remaining) + - location: 63 (remaining gas: 1039839.507 units remaining) [ 16 10 14 @@ -565,7 +565,7 @@ trace 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 (remaining gas: 1039878.906 units remaining) + - location: 63 (remaining gas: 1039839.497 units remaining) [ 12 16 10 @@ -577,7 +577,7 @@ trace 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 (remaining gas: 1039878.896 units remaining) + - location: 63 (remaining gas: 1039839.487 units remaining) [ 3 12 16 @@ -590,7 +590,7 @@ trace 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 (remaining gas: 1039878.886 units remaining) + - location: 63 (remaining gas: 1039839.477 units remaining) [ 2 3 12 @@ -604,7 +604,7 @@ trace 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 (remaining gas: 1039878.886 units remaining) + - location: 63 (remaining gas: 1039839.477 units remaining) [ 2 3 12 @@ -618,32 +618,32 @@ trace 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 (remaining gas: 1039878.828 units remaining) + - location: 67 (remaining gas: 1039839.477 units remaining) [ (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 (remaining gas: 1039878.818 units remaining) + - location: 70 (remaining gas: 1039839.467 units remaining) [ 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 (remaining gas: 1039878.798 units remaining) + - location: 67 (remaining gas: 1039839.447 units remaining) [ 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 (remaining gas: 1039878.788 units remaining) + - location: 67 (remaining gas: 1039839.437 units remaining) [ 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 (remaining gas: 1039878.778 units remaining) + - location: 67 (remaining gas: 1039839.427 units remaining) [ 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 (remaining gas: 1039878.768 units remaining) + - location: 67 (remaining gas: 1039839.417 units remaining) [ 9 18 6 @@ -651,7 +651,7 @@ trace 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 (remaining gas: 1039878.758 units remaining) + - location: 67 (remaining gas: 1039839.407 units remaining) [ 19 9 18 @@ -660,7 +660,7 @@ trace 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 (remaining gas: 1039878.748 units remaining) + - location: 67 (remaining gas: 1039839.397 units remaining) [ 14 19 9 @@ -670,7 +670,7 @@ trace 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 (remaining gas: 1039878.738 units remaining) + - location: 67 (remaining gas: 1039839.387 units remaining) [ 10 14 19 @@ -681,7 +681,7 @@ trace 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 (remaining gas: 1039878.728 units remaining) + - location: 67 (remaining gas: 1039839.377 units remaining) [ 16 10 14 @@ -693,7 +693,7 @@ trace 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 (remaining gas: 1039878.718 units remaining) + - location: 67 (remaining gas: 1039839.367 units remaining) [ 12 16 10 @@ -706,7 +706,7 @@ trace 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 (remaining gas: 1039878.708 units remaining) + - location: 67 (remaining gas: 1039839.357 units remaining) [ 3 12 16 @@ -720,7 +720,7 @@ trace 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 (remaining gas: 1039878.698 units remaining) + - location: 67 (remaining gas: 1039839.347 units remaining) [ 2 3 12 @@ -735,7 +735,7 @@ trace 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 (remaining gas: 1039878.698 units remaining) + - location: 67 (remaining gas: 1039839.347 units remaining) [ 2 3 12 @@ -750,32 +750,32 @@ trace 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 (remaining gas: 1039878.637 units remaining) + - location: 71 (remaining gas: 1039839.347 units remaining) [ (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 (remaining gas: 1039878.627 units remaining) + - location: 74 (remaining gas: 1039839.337 units remaining) [ 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 (remaining gas: 1039878.607 units remaining) + - location: 71 (remaining gas: 1039839.317 units remaining) [ 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 (remaining gas: 1039878.597 units remaining) + - location: 71 (remaining gas: 1039839.307 units remaining) [ 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 (remaining gas: 1039878.587 units remaining) + - location: 71 (remaining gas: 1039839.297 units remaining) [ 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 (remaining gas: 1039878.577 units remaining) + - location: 71 (remaining gas: 1039839.287 units remaining) [ 18 6 8 @@ -783,7 +783,7 @@ trace 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 (remaining gas: 1039878.567 units remaining) + - location: 71 (remaining gas: 1039839.277 units remaining) [ 9 18 6 @@ -792,7 +792,7 @@ trace 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 (remaining gas: 1039878.557 units remaining) + - location: 71 (remaining gas: 1039839.267 units remaining) [ 19 9 18 @@ -802,7 +802,7 @@ trace 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 (remaining gas: 1039878.547 units remaining) + - location: 71 (remaining gas: 1039839.257 units remaining) [ 14 19 9 @@ -813,7 +813,7 @@ trace 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 (remaining gas: 1039878.537 units remaining) + - location: 71 (remaining gas: 1039839.247 units remaining) [ 10 14 19 @@ -825,7 +825,7 @@ trace 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 (remaining gas: 1039878.527 units remaining) + - location: 71 (remaining gas: 1039839.237 units remaining) [ 16 10 14 @@ -838,7 +838,7 @@ trace 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 (remaining gas: 1039878.517 units remaining) + - location: 71 (remaining gas: 1039839.227 units remaining) [ 12 16 10 @@ -852,7 +852,7 @@ trace 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 (remaining gas: 1039878.507 units remaining) + - location: 71 (remaining gas: 1039839.217 units remaining) [ 3 12 16 @@ -867,7 +867,7 @@ trace 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 (remaining gas: 1039878.497 units remaining) + - location: 71 (remaining gas: 1039839.207 units remaining) [ 2 3 12 @@ -883,7 +883,7 @@ trace 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 (remaining gas: 1039878.497 units remaining) + - location: 71 (remaining gas: 1039839.207 units remaining) [ 2 3 12 @@ -899,32 +899,32 @@ trace 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 (remaining gas: 1039878.434 units remaining) + - location: 75 (remaining gas: 1039839.207 units remaining) [ (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 (remaining gas: 1039878.424 units remaining) + - location: 78 (remaining gas: 1039839.197 units remaining) [ 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 (remaining gas: 1039878.404 units remaining) + - location: 75 (remaining gas: 1039839.177 units remaining) [ 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 (remaining gas: 1039878.394 units remaining) + - location: 75 (remaining gas: 1039839.167 units remaining) [ 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 (remaining gas: 1039878.384 units remaining) + - location: 75 (remaining gas: 1039839.157 units remaining) [ 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 (remaining gas: 1039878.374 units remaining) + - location: 75 (remaining gas: 1039839.147 units remaining) [ 6 8 11 @@ -932,7 +932,7 @@ trace 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 (remaining gas: 1039878.364 units remaining) + - location: 75 (remaining gas: 1039839.137 units remaining) [ 18 6 8 @@ -941,7 +941,7 @@ trace 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 (remaining gas: 1039878.354 units remaining) + - location: 75 (remaining gas: 1039839.127 units remaining) [ 9 18 6 @@ -951,7 +951,7 @@ trace 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 (remaining gas: 1039878.344 units remaining) + - location: 75 (remaining gas: 1039839.117 units remaining) [ 19 9 18 @@ -962,7 +962,7 @@ trace 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 (remaining gas: 1039878.334 units remaining) + - location: 75 (remaining gas: 1039839.107 units remaining) [ 14 19 9 @@ -974,7 +974,7 @@ trace 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 (remaining gas: 1039878.324 units remaining) + - location: 75 (remaining gas: 1039839.097 units remaining) [ 10 14 19 @@ -987,7 +987,7 @@ trace 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 (remaining gas: 1039878.314 units remaining) + - location: 75 (remaining gas: 1039839.087 units remaining) [ 16 10 14 @@ -1001,7 +1001,7 @@ trace 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 (remaining gas: 1039878.304 units remaining) + - location: 75 (remaining gas: 1039839.077 units remaining) [ 12 16 10 @@ -1016,7 +1016,7 @@ trace 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 (remaining gas: 1039878.294 units remaining) + - location: 75 (remaining gas: 1039839.067 units remaining) [ 3 12 16 @@ -1032,7 +1032,7 @@ trace 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 (remaining gas: 1039878.284 units remaining) + - location: 75 (remaining gas: 1039839.057 units remaining) [ 2 3 12 @@ -1049,7 +1049,7 @@ trace 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 (remaining gas: 1039878.284 units remaining) + - location: 75 (remaining gas: 1039839.057 units remaining) [ 2 3 12 @@ -1066,32 +1066,32 @@ trace 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 (remaining gas: 1039878.218 units remaining) + - location: 79 (remaining gas: 1039839.057 units remaining) [ (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 82 (remaining gas: 1039878.208 units remaining) + - location: 82 (remaining gas: 1039839.047 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.188 units remaining) + - location: 79 (remaining gas: 1039839.027 units remaining) [ 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 (remaining gas: 1039878.178 units remaining) + - location: 79 (remaining gas: 1039839.017 units remaining) [ 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 (remaining gas: 1039878.168 units remaining) + - location: 79 (remaining gas: 1039839.007 units remaining) [ 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 (remaining gas: 1039878.158 units remaining) + - location: 79 (remaining gas: 1039838.997 units remaining) [ 8 11 4 @@ -1099,7 +1099,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.148 units remaining) + - location: 79 (remaining gas: 1039838.987 units remaining) [ 6 8 11 @@ -1108,7 +1108,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.138 units remaining) + - location: 79 (remaining gas: 1039838.977 units remaining) [ 18 6 8 @@ -1118,7 +1118,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.128 units remaining) + - location: 79 (remaining gas: 1039838.967 units remaining) [ 9 18 6 @@ -1129,7 +1129,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.118 units remaining) + - location: 79 (remaining gas: 1039838.957 units remaining) [ 19 9 18 @@ -1141,7 +1141,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.108 units remaining) + - location: 79 (remaining gas: 1039838.947 units remaining) [ 14 19 9 @@ -1154,7 +1154,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.098 units remaining) + - location: 79 (remaining gas: 1039838.937 units remaining) [ 10 14 19 @@ -1168,7 +1168,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.088 units remaining) + - location: 79 (remaining gas: 1039838.927 units remaining) [ 16 10 14 @@ -1183,7 +1183,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.078 units remaining) + - location: 79 (remaining gas: 1039838.917 units remaining) [ 12 16 10 @@ -1199,7 +1199,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.068 units remaining) + - location: 79 (remaining gas: 1039838.907 units remaining) [ 3 12 16 @@ -1216,7 +1216,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.058 units remaining) + - location: 79 (remaining gas: 1039838.897 units remaining) [ 2 3 12 @@ -1234,7 +1234,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 79 (remaining gas: 1039878.058 units remaining) + - location: 79 (remaining gas: 1039838.897 units remaining) [ 2 3 12 @@ -1252,32 +1252,32 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.990 units remaining) + - location: 83 (remaining gas: 1039838.897 units remaining) [ (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 86 (remaining gas: 1039877.980 units remaining) + - location: 86 (remaining gas: 1039838.887 units remaining) [ 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.960 units remaining) + - location: 83 (remaining gas: 1039838.867 units remaining) [ 15 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.950 units remaining) + - location: 83 (remaining gas: 1039838.857 units remaining) [ 13 15 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.940 units remaining) + - location: 83 (remaining gas: 1039838.847 units remaining) [ 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 (remaining gas: 1039877.930 units remaining) + - location: 83 (remaining gas: 1039838.837 units remaining) [ 11 4 13 @@ -1285,7 +1285,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.920 units remaining) + - location: 83 (remaining gas: 1039838.827 units remaining) [ 8 11 4 @@ -1294,7 +1294,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.910 units remaining) + - location: 83 (remaining gas: 1039838.817 units remaining) [ 6 8 11 @@ -1304,7 +1304,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.900 units remaining) + - location: 83 (remaining gas: 1039838.807 units remaining) [ 18 6 8 @@ -1315,7 +1315,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.890 units remaining) + - location: 83 (remaining gas: 1039838.797 units remaining) [ 9 18 6 @@ -1327,7 +1327,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.880 units remaining) + - location: 83 (remaining gas: 1039838.787 units remaining) [ 19 9 18 @@ -1340,7 +1340,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.870 units remaining) + - location: 83 (remaining gas: 1039838.777 units remaining) [ 14 19 9 @@ -1354,7 +1354,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.860 units remaining) + - location: 83 (remaining gas: 1039838.767 units remaining) [ 10 14 19 @@ -1369,7 +1369,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.850 units remaining) + - location: 83 (remaining gas: 1039838.757 units remaining) [ 16 10 14 @@ -1385,7 +1385,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.840 units remaining) + - location: 83 (remaining gas: 1039838.747 units remaining) [ 12 16 10 @@ -1402,7 +1402,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.830 units remaining) + - location: 83 (remaining gas: 1039838.737 units remaining) [ 3 12 16 @@ -1420,7 +1420,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.820 units remaining) + - location: 83 (remaining gas: 1039838.727 units remaining) [ 2 3 12 @@ -1439,7 +1439,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 83 (remaining gas: 1039877.820 units remaining) + - location: 83 (remaining gas: 1039838.727 units remaining) [ 2 3 12 @@ -1458,7 +1458,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 87 (remaining gas: 1039877.790 units remaining) + - location: 87 (remaining gas: 1039838.697 units remaining) [ 2 3 12 @@ -1477,7 +1477,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 89 (remaining gas: 1039877.754 units remaining) + - location: 89 (remaining gas: 1039838.661 units remaining) [ 3 2 12 @@ -1496,7 +1496,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 91 (remaining gas: 1039877.711 units remaining) + - location: 91 (remaining gas: 1039838.618 units remaining) [ 12 3 2 @@ -1515,7 +1515,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 93 (remaining gas: 1039877.662 units remaining) + - location: 93 (remaining gas: 1039838.569 units remaining) [ 16 12 3 @@ -1534,7 +1534,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 95 (remaining gas: 1039877.605 units remaining) + - location: 95 (remaining gas: 1039838.512 units remaining) [ 10 16 12 @@ -1553,7 +1553,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 97 (remaining gas: 1039877.542 units remaining) + - location: 97 (remaining gas: 1039838.449 units remaining) [ 14 10 16 @@ -1572,7 +1572,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 99 (remaining gas: 1039877.472 units remaining) + - location: 99 (remaining gas: 1039838.379 units remaining) [ 19 14 10 @@ -1591,7 +1591,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 101 (remaining gas: 1039877.396 units remaining) + - location: 101 (remaining gas: 1039838.303 units remaining) [ 9 19 14 @@ -1610,7 +1610,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 103 (remaining gas: 1039877.312 units remaining) + - location: 103 (remaining gas: 1039838.219 units remaining) [ 18 9 19 @@ -1629,7 +1629,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 105 (remaining gas: 1039877.222 units remaining) + - location: 105 (remaining gas: 1039838.129 units remaining) [ 6 18 9 @@ -1648,7 +1648,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 107 (remaining gas: 1039877.125 units remaining) + - location: 107 (remaining gas: 1039838.032 units remaining) [ 8 6 18 @@ -1667,7 +1667,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 109 (remaining gas: 1039877.022 units remaining) + - location: 109 (remaining gas: 1039837.929 units remaining) [ 11 8 6 @@ -1686,7 +1686,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 111 (remaining gas: 1039876.911 units remaining) + - location: 111 (remaining gas: 1039837.818 units remaining) [ 4 11 8 @@ -1705,7 +1705,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 113 (remaining gas: 1039876.794 units remaining) + - location: 113 (remaining gas: 1039837.701 units remaining) [ 13 4 11 @@ -1724,7 +1724,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 115 (remaining gas: 1039876.670 units remaining) + - location: 115 (remaining gas: 1039837.577 units remaining) [ 15 13 4 @@ -1743,7 +1743,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 117 (remaining gas: 1039876.540 units remaining) + - location: 117 (remaining gas: 1039837.447 units remaining) [ 5 15 13 @@ -1762,7 +1762,7 @@ trace 2 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 119 (remaining gas: 1039876.402 units remaining) + - location: 119 (remaining gas: 1039837.309 units remaining) [ 1 5 15 @@ -1781,7 +1781,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 121 (remaining gas: 1039876.372 units remaining) + - location: 121 (remaining gas: 1039837.279 units remaining) [ 1 5 15 @@ -1800,7 +1800,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 123 (remaining gas: 1039876.336 units remaining) + - location: 123 (remaining gas: 1039837.243 units remaining) [ 5 1 15 @@ -1819,7 +1819,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 125 (remaining gas: 1039876.293 units remaining) + - location: 125 (remaining gas: 1039837.200 units remaining) [ 15 5 1 @@ -1838,7 +1838,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 127 (remaining gas: 1039876.244 units remaining) + - location: 127 (remaining gas: 1039837.151 units remaining) [ 13 15 5 @@ -1857,7 +1857,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 129 (remaining gas: 1039876.187 units remaining) + - location: 129 (remaining gas: 1039837.094 units remaining) [ 4 13 15 @@ -1876,7 +1876,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 131 (remaining gas: 1039876.124 units remaining) + - location: 131 (remaining gas: 1039837.031 units remaining) [ 11 4 13 @@ -1895,7 +1895,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 133 (remaining gas: 1039876.054 units remaining) + - location: 133 (remaining gas: 1039836.961 units remaining) [ 8 11 4 @@ -1914,7 +1914,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 135 (remaining gas: 1039875.978 units remaining) + - location: 135 (remaining gas: 1039836.885 units remaining) [ 6 8 11 @@ -1933,7 +1933,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 137 (remaining gas: 1039875.894 units remaining) + - location: 137 (remaining gas: 1039836.801 units remaining) [ 18 6 8 @@ -1952,7 +1952,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 139 (remaining gas: 1039875.804 units remaining) + - location: 139 (remaining gas: 1039836.711 units remaining) [ 9 18 6 @@ -1971,7 +1971,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 141 (remaining gas: 1039875.707 units remaining) + - location: 141 (remaining gas: 1039836.614 units remaining) [ 19 9 18 @@ -1990,7 +1990,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 143 (remaining gas: 1039875.604 units remaining) + - location: 143 (remaining gas: 1039836.511 units remaining) [ 14 19 9 @@ -2009,7 +2009,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 145 (remaining gas: 1039875.493 units remaining) + - location: 145 (remaining gas: 1039836.400 units remaining) [ 10 14 19 @@ -2028,7 +2028,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 147 (remaining gas: 1039875.376 units remaining) + - location: 147 (remaining gas: 1039836.283 units remaining) [ 16 10 14 @@ -2047,7 +2047,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 149 (remaining gas: 1039875.252 units remaining) + - location: 149 (remaining gas: 1039836.159 units remaining) [ 12 16 10 @@ -2066,7 +2066,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 151 (remaining gas: 1039875.122 units remaining) + - location: 151 (remaining gas: 1039836.029 units remaining) [ 3 12 16 @@ -2085,7 +2085,7 @@ trace 1 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 153 (remaining gas: 1039874.984 units remaining) + - location: 153 (remaining gas: 1039835.891 units remaining) [ 2 3 12 @@ -2104,36 +2104,36 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.916 units remaining) + - location: 156 (remaining gas: 1039835.891 units remaining) [ 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 159 (remaining gas: 1039874.906 units remaining) + - location: 159 (remaining gas: 1039835.881 units remaining) [ (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.886 units remaining) + - location: 156 (remaining gas: 1039835.861 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.876 units remaining) + - location: 156 (remaining gas: 1039835.851 units remaining) [ 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 (remaining gas: 1039874.866 units remaining) + - location: 156 (remaining gas: 1039835.841 units remaining) [ 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 (remaining gas: 1039874.856 units remaining) + - location: 156 (remaining gas: 1039835.831 units remaining) [ 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 (remaining gas: 1039874.846 units remaining) + - location: 156 (remaining gas: 1039835.821 units remaining) [ 8 11 4 @@ -2141,7 +2141,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.836 units remaining) + - location: 156 (remaining gas: 1039835.811 units remaining) [ 6 8 11 @@ -2150,7 +2150,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.826 units remaining) + - location: 156 (remaining gas: 1039835.801 units remaining) [ 18 6 8 @@ -2160,7 +2160,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.816 units remaining) + - location: 156 (remaining gas: 1039835.791 units remaining) [ 9 18 6 @@ -2171,7 +2171,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.806 units remaining) + - location: 156 (remaining gas: 1039835.781 units remaining) [ 19 9 18 @@ -2183,7 +2183,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.796 units remaining) + - location: 156 (remaining gas: 1039835.771 units remaining) [ 14 19 9 @@ -2196,7 +2196,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.786 units remaining) + - location: 156 (remaining gas: 1039835.761 units remaining) [ 10 14 19 @@ -2210,7 +2210,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.776 units remaining) + - location: 156 (remaining gas: 1039835.751 units remaining) [ 16 10 14 @@ -2225,7 +2225,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.766 units remaining) + - location: 156 (remaining gas: 1039835.741 units remaining) [ 12 16 10 @@ -2241,7 +2241,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.756 units remaining) + - location: 156 (remaining gas: 1039835.731 units remaining) [ 3 12 16 @@ -2258,7 +2258,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.746 units remaining) + - location: 156 (remaining gas: 1039835.721 units remaining) [ 2 3 12 @@ -2276,7 +2276,7 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 156 (remaining gas: 1039874.746 units remaining) + - location: 156 (remaining gas: 1039835.721 units remaining) [ 2 3 12 @@ -2294,36 +2294,36 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 160 (remaining gas: 1039874.680 units remaining) + - location: 160 (remaining gas: 1039835.721 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 163 (remaining gas: 1039874.670 units remaining) + - location: 163 (remaining gas: 1039835.711 units remaining) [ (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] - - location: 160 (remaining gas: 1039874.650 units remaining) + - location: 160 (remaining gas: 1039835.691 units remaining) [ 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 (remaining gas: 1039874.640 units remaining) + - location: 160 (remaining gas: 1039835.681 units remaining) [ 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 (remaining gas: 1039874.630 units remaining) + - location: 160 (remaining gas: 1039835.671 units remaining) [ 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 (remaining gas: 1039874.620 units remaining) + - location: 160 (remaining gas: 1039835.661 units remaining) [ 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 (remaining gas: 1039874.610 units remaining) + - location: 160 (remaining gas: 1039835.651 units remaining) [ 6 8 11 @@ -2331,7 +2331,7 @@ trace 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 (remaining gas: 1039874.600 units remaining) + - location: 160 (remaining gas: 1039835.641 units remaining) [ 18 6 8 @@ -2340,7 +2340,7 @@ trace 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 (remaining gas: 1039874.590 units remaining) + - location: 160 (remaining gas: 1039835.631 units remaining) [ 9 18 6 @@ -2350,7 +2350,7 @@ trace 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 (remaining gas: 1039874.580 units remaining) + - location: 160 (remaining gas: 1039835.621 units remaining) [ 19 9 18 @@ -2361,7 +2361,7 @@ trace 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 (remaining gas: 1039874.570 units remaining) + - location: 160 (remaining gas: 1039835.611 units remaining) [ 14 19 9 @@ -2373,7 +2373,7 @@ trace 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 (remaining gas: 1039874.560 units remaining) + - location: 160 (remaining gas: 1039835.601 units remaining) [ 10 14 19 @@ -2386,7 +2386,7 @@ trace 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 (remaining gas: 1039874.550 units remaining) + - location: 160 (remaining gas: 1039835.591 units remaining) [ 16 10 14 @@ -2400,7 +2400,7 @@ trace 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 (remaining gas: 1039874.540 units remaining) + - location: 160 (remaining gas: 1039835.581 units remaining) [ 12 16 10 @@ -2415,7 +2415,7 @@ trace 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 (remaining gas: 1039874.530 units remaining) + - location: 160 (remaining gas: 1039835.571 units remaining) [ 3 12 16 @@ -2431,7 +2431,7 @@ trace 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 (remaining gas: 1039874.520 units remaining) + - location: 160 (remaining gas: 1039835.561 units remaining) [ 2 3 12 @@ -2448,7 +2448,7 @@ trace 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 (remaining gas: 1039874.520 units remaining) + - location: 160 (remaining gas: 1039835.561 units remaining) [ 2 3 12 @@ -2465,36 +2465,36 @@ trace 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 (remaining gas: 1039874.457 units remaining) + - location: 164 (remaining gas: 1039835.561 units remaining) [ 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 (remaining gas: 1039874.447 units remaining) + - location: 167 (remaining gas: 1039835.551 units remaining) [ (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 (remaining gas: 1039874.427 units remaining) + - location: 164 (remaining gas: 1039835.531 units remaining) [ 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 (remaining gas: 1039874.417 units remaining) + - location: 164 (remaining gas: 1039835.521 units remaining) [ 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 (remaining gas: 1039874.407 units remaining) + - location: 164 (remaining gas: 1039835.511 units remaining) [ 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 (remaining gas: 1039874.397 units remaining) + - location: 164 (remaining gas: 1039835.501 units remaining) [ 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 (remaining gas: 1039874.387 units remaining) + - location: 164 (remaining gas: 1039835.491 units remaining) [ 18 6 8 @@ -2502,7 +2502,7 @@ trace 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 (remaining gas: 1039874.377 units remaining) + - location: 164 (remaining gas: 1039835.481 units remaining) [ 9 18 6 @@ -2511,7 +2511,7 @@ trace 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 (remaining gas: 1039874.367 units remaining) + - location: 164 (remaining gas: 1039835.471 units remaining) [ 19 9 18 @@ -2521,7 +2521,7 @@ trace 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 (remaining gas: 1039874.357 units remaining) + - location: 164 (remaining gas: 1039835.461 units remaining) [ 14 19 9 @@ -2532,7 +2532,7 @@ trace 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 (remaining gas: 1039874.347 units remaining) + - location: 164 (remaining gas: 1039835.451 units remaining) [ 10 14 19 @@ -2544,7 +2544,7 @@ trace 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 (remaining gas: 1039874.337 units remaining) + - location: 164 (remaining gas: 1039835.441 units remaining) [ 16 10 14 @@ -2557,7 +2557,7 @@ trace 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 (remaining gas: 1039874.327 units remaining) + - location: 164 (remaining gas: 1039835.431 units remaining) [ 12 16 10 @@ -2571,7 +2571,7 @@ trace 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 (remaining gas: 1039874.317 units remaining) + - location: 164 (remaining gas: 1039835.421 units remaining) [ 3 12 16 @@ -2586,7 +2586,7 @@ trace 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 (remaining gas: 1039874.307 units remaining) + - location: 164 (remaining gas: 1039835.411 units remaining) [ 2 3 12 @@ -2602,7 +2602,7 @@ trace 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 (remaining gas: 1039874.307 units remaining) + - location: 164 (remaining gas: 1039835.411 units remaining) [ 2 3 12 @@ -2618,36 +2618,36 @@ trace 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 (remaining gas: 1039874.246 units remaining) + - location: 168 (remaining gas: 1039835.411 units remaining) [ 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 (remaining gas: 1039874.236 units remaining) + - location: 171 (remaining gas: 1039835.401 units remaining) [ (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 (remaining gas: 1039874.216 units remaining) + - location: 168 (remaining gas: 1039835.381 units remaining) [ 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 (remaining gas: 1039874.206 units remaining) + - location: 168 (remaining gas: 1039835.371 units remaining) [ 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 (remaining gas: 1039874.196 units remaining) + - location: 168 (remaining gas: 1039835.361 units remaining) [ 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 (remaining gas: 1039874.186 units remaining) + - location: 168 (remaining gas: 1039835.351 units remaining) [ 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 (remaining gas: 1039874.176 units remaining) + - location: 168 (remaining gas: 1039835.341 units remaining) [ 9 18 6 @@ -2655,7 +2655,7 @@ trace 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 (remaining gas: 1039874.166 units remaining) + - location: 168 (remaining gas: 1039835.331 units remaining) [ 19 9 18 @@ -2664,7 +2664,7 @@ trace 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 (remaining gas: 1039874.156 units remaining) + - location: 168 (remaining gas: 1039835.321 units remaining) [ 14 19 9 @@ -2674,7 +2674,7 @@ trace 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 (remaining gas: 1039874.146 units remaining) + - location: 168 (remaining gas: 1039835.311 units remaining) [ 10 14 19 @@ -2685,7 +2685,7 @@ trace 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 (remaining gas: 1039874.136 units remaining) + - location: 168 (remaining gas: 1039835.301 units remaining) [ 16 10 14 @@ -2697,7 +2697,7 @@ trace 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 (remaining gas: 1039874.126 units remaining) + - location: 168 (remaining gas: 1039835.291 units remaining) [ 12 16 10 @@ -2710,7 +2710,7 @@ trace 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 (remaining gas: 1039874.116 units remaining) + - location: 168 (remaining gas: 1039835.281 units remaining) [ 3 12 16 @@ -2724,7 +2724,7 @@ trace 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 (remaining gas: 1039874.106 units remaining) + - location: 168 (remaining gas: 1039835.271 units remaining) [ 2 3 12 @@ -2739,7 +2739,7 @@ trace 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 (remaining gas: 1039874.106 units remaining) + - location: 168 (remaining gas: 1039835.271 units remaining) [ 2 3 12 @@ -2754,36 +2754,36 @@ trace 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 (remaining gas: 1039874.048 units remaining) + - location: 172 (remaining gas: 1039835.271 units remaining) [ 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 (remaining gas: 1039874.038 units remaining) + - location: 175 (remaining gas: 1039835.261 units remaining) [ (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 (remaining gas: 1039874.018 units remaining) + - location: 172 (remaining gas: 1039835.241 units remaining) [ 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 (remaining gas: 1039874.008 units remaining) + - location: 172 (remaining gas: 1039835.231 units remaining) [ 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 (remaining gas: 1039873.998 units remaining) + - location: 172 (remaining gas: 1039835.221 units remaining) [ 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 (remaining gas: 1039873.988 units remaining) + - location: 172 (remaining gas: 1039835.211 units remaining) [ 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 (remaining gas: 1039873.978 units remaining) + - location: 172 (remaining gas: 1039835.201 units remaining) [ 19 9 18 @@ -2791,7 +2791,7 @@ trace 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 (remaining gas: 1039873.968 units remaining) + - location: 172 (remaining gas: 1039835.191 units remaining) [ 14 19 9 @@ -2800,7 +2800,7 @@ trace 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 (remaining gas: 1039873.958 units remaining) + - location: 172 (remaining gas: 1039835.181 units remaining) [ 10 14 19 @@ -2810,7 +2810,7 @@ trace 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 (remaining gas: 1039873.948 units remaining) + - location: 172 (remaining gas: 1039835.171 units remaining) [ 16 10 14 @@ -2821,7 +2821,7 @@ trace 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 (remaining gas: 1039873.938 units remaining) + - location: 172 (remaining gas: 1039835.161 units remaining) [ 12 16 10 @@ -2833,7 +2833,7 @@ trace 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 (remaining gas: 1039873.928 units remaining) + - location: 172 (remaining gas: 1039835.151 units remaining) [ 3 12 16 @@ -2846,7 +2846,7 @@ trace 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 (remaining gas: 1039873.918 units remaining) + - location: 172 (remaining gas: 1039835.141 units remaining) [ 2 3 12 @@ -2860,7 +2860,7 @@ trace 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 (remaining gas: 1039873.918 units remaining) + - location: 172 (remaining gas: 1039835.141 units remaining) [ 2 3 12 @@ -2874,36 +2874,36 @@ trace 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 (remaining gas: 1039873.862 units remaining) + - location: 176 (remaining gas: 1039835.141 units remaining) [ 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 (remaining gas: 1039873.852 units remaining) + - location: 179 (remaining gas: 1039835.131 units remaining) [ (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 (remaining gas: 1039873.832 units remaining) + - location: 176 (remaining gas: 1039835.111 units remaining) [ 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 (remaining gas: 1039873.822 units remaining) + - location: 176 (remaining gas: 1039835.101 units remaining) [ 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 (remaining gas: 1039873.812 units remaining) + - location: 176 (remaining gas: 1039835.091 units remaining) [ 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 (remaining gas: 1039873.802 units remaining) + - location: 176 (remaining gas: 1039835.081 units remaining) [ 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 (remaining gas: 1039873.792 units remaining) + - location: 176 (remaining gas: 1039835.071 units remaining) [ 14 19 9 @@ -2911,7 +2911,7 @@ trace 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 (remaining gas: 1039873.782 units remaining) + - location: 176 (remaining gas: 1039835.061 units remaining) [ 10 14 19 @@ -2920,7 +2920,7 @@ trace 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 (remaining gas: 1039873.772 units remaining) + - location: 176 (remaining gas: 1039835.051 units remaining) [ 16 10 14 @@ -2930,7 +2930,7 @@ trace 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 (remaining gas: 1039873.762 units remaining) + - location: 176 (remaining gas: 1039835.041 units remaining) [ 12 16 10 @@ -2941,7 +2941,7 @@ trace 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 (remaining gas: 1039873.752 units remaining) + - location: 176 (remaining gas: 1039835.031 units remaining) [ 3 12 16 @@ -2953,7 +2953,7 @@ trace 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 (remaining gas: 1039873.742 units remaining) + - location: 176 (remaining gas: 1039835.021 units remaining) [ 2 3 12 @@ -2966,7 +2966,7 @@ trace 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 (remaining gas: 1039873.742 units remaining) + - location: 176 (remaining gas: 1039835.021 units remaining) [ 2 3 12 @@ -2979,36 +2979,36 @@ trace 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 (remaining gas: 1039873.689 units remaining) + - location: 180 (remaining gas: 1039835.021 units remaining) [ 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 (remaining gas: 1039873.679 units remaining) + - location: 183 (remaining gas: 1039835.011 units remaining) [ (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 (remaining gas: 1039873.659 units remaining) + - location: 180 (remaining gas: 1039834.991 units remaining) [ 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 (remaining gas: 1039873.649 units remaining) + - location: 180 (remaining gas: 1039834.981 units remaining) [ 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 (remaining gas: 1039873.639 units remaining) + - location: 180 (remaining gas: 1039834.971 units remaining) [ 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 (remaining gas: 1039873.629 units remaining) + - location: 180 (remaining gas: 1039834.961 units remaining) [ 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 (remaining gas: 1039873.619 units remaining) + - location: 180 (remaining gas: 1039834.951 units remaining) [ 10 14 19 @@ -3016,7 +3016,7 @@ trace 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 (remaining gas: 1039873.609 units remaining) + - location: 180 (remaining gas: 1039834.941 units remaining) [ 16 10 14 @@ -3025,7 +3025,7 @@ trace 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 (remaining gas: 1039873.599 units remaining) + - location: 180 (remaining gas: 1039834.931 units remaining) [ 12 16 10 @@ -3035,7 +3035,7 @@ trace 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 (remaining gas: 1039873.589 units remaining) + - location: 180 (remaining gas: 1039834.921 units remaining) [ 3 12 16 @@ -3046,7 +3046,7 @@ trace 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 (remaining gas: 1039873.579 units remaining) + - location: 180 (remaining gas: 1039834.911 units remaining) [ 2 3 12 @@ -3058,7 +3058,7 @@ trace 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 (remaining gas: 1039873.579 units remaining) + - location: 180 (remaining gas: 1039834.911 units remaining) [ 2 3 12 @@ -3070,36 +3070,36 @@ trace 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 (remaining gas: 1039873.528 units remaining) + - location: 184 (remaining gas: 1039834.911 units remaining) [ 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 (remaining gas: 1039873.518 units remaining) + - location: 187 (remaining gas: 1039834.901 units remaining) [ (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 (remaining gas: 1039873.498 units remaining) + - location: 184 (remaining gas: 1039834.881 units remaining) [ 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 (remaining gas: 1039873.488 units remaining) + - location: 184 (remaining gas: 1039834.871 units remaining) [ 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 (remaining gas: 1039873.478 units remaining) + - location: 184 (remaining gas: 1039834.861 units remaining) [ 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 (remaining gas: 1039873.468 units remaining) + - location: 184 (remaining gas: 1039834.851 units remaining) [ 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 (remaining gas: 1039873.458 units remaining) + - location: 184 (remaining gas: 1039834.841 units remaining) [ 16 10 14 @@ -3107,7 +3107,7 @@ trace 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 (remaining gas: 1039873.448 units remaining) + - location: 184 (remaining gas: 1039834.831 units remaining) [ 12 16 10 @@ -3116,7 +3116,7 @@ trace 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 (remaining gas: 1039873.438 units remaining) + - location: 184 (remaining gas: 1039834.821 units remaining) [ 3 12 16 @@ -3126,7 +3126,7 @@ trace 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 (remaining gas: 1039873.428 units remaining) + - location: 184 (remaining gas: 1039834.811 units remaining) [ 2 3 12 @@ -3137,7 +3137,7 @@ trace 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 (remaining gas: 1039873.428 units remaining) + - location: 184 (remaining gas: 1039834.811 units remaining) [ 2 3 12 @@ -3148,36 +3148,36 @@ trace 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 (remaining gas: 1039873.381 units remaining) + - location: 188 (remaining gas: 1039834.811 units remaining) [ 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 (remaining gas: 1039873.371 units remaining) + - location: 191 (remaining gas: 1039834.801 units remaining) [ (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 (remaining gas: 1039873.351 units remaining) + - location: 188 (remaining gas: 1039834.781 units remaining) [ 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 (remaining gas: 1039873.341 units remaining) + - location: 188 (remaining gas: 1039834.771 units remaining) [ 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 (remaining gas: 1039873.331 units remaining) + - location: 188 (remaining gas: 1039834.761 units remaining) [ 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 (remaining gas: 1039873.321 units remaining) + - location: 188 (remaining gas: 1039834.751 units remaining) [ 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 (remaining gas: 1039873.311 units remaining) + - location: 188 (remaining gas: 1039834.741 units remaining) [ 12 16 10 @@ -3185,7 +3185,7 @@ trace 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 (remaining gas: 1039873.301 units remaining) + - location: 188 (remaining gas: 1039834.731 units remaining) [ 3 12 16 @@ -3194,7 +3194,7 @@ trace 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 (remaining gas: 1039873.291 units remaining) + - location: 188 (remaining gas: 1039834.721 units remaining) [ 2 3 12 @@ -3204,7 +3204,7 @@ trace 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 (remaining gas: 1039873.291 units remaining) + - location: 188 (remaining gas: 1039834.721 units remaining) [ 2 3 12 @@ -3214,36 +3214,36 @@ trace 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 (remaining gas: 1039873.246 units remaining) + - location: 192 (remaining gas: 1039834.721 units remaining) [ 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 (remaining gas: 1039873.236 units remaining) + - location: 195 (remaining gas: 1039834.711 units remaining) [ (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 (remaining gas: 1039873.216 units remaining) + - location: 192 (remaining gas: 1039834.691 units remaining) [ 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 (remaining gas: 1039873.206 units remaining) + - location: 192 (remaining gas: 1039834.681 units remaining) [ 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 (remaining gas: 1039873.196 units remaining) + - location: 192 (remaining gas: 1039834.671 units remaining) [ 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 (remaining gas: 1039873.186 units remaining) + - location: 192 (remaining gas: 1039834.661 units remaining) [ 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 (remaining gas: 1039873.176 units remaining) + - location: 192 (remaining gas: 1039834.651 units remaining) [ 3 12 16 @@ -3251,7 +3251,7 @@ trace 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 (remaining gas: 1039873.166 units remaining) + - location: 192 (remaining gas: 1039834.641 units remaining) [ 2 3 12 @@ -3260,7 +3260,7 @@ trace 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 (remaining gas: 1039873.166 units remaining) + - location: 192 (remaining gas: 1039834.641 units remaining) [ 2 3 12 @@ -3269,36 +3269,36 @@ trace 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 (remaining gas: 1039873.124 units remaining) + - location: 196 (remaining gas: 1039834.641 units remaining) [ 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 (remaining gas: 1039873.114 units remaining) + - location: 199 (remaining gas: 1039834.631 units remaining) [ (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 (remaining gas: 1039873.094 units remaining) + - location: 196 (remaining gas: 1039834.611 units remaining) [ 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 (remaining gas: 1039873.084 units remaining) + - location: 196 (remaining gas: 1039834.601 units remaining) [ 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 (remaining gas: 1039873.074 units remaining) + - location: 196 (remaining gas: 1039834.591 units remaining) [ 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 (remaining gas: 1039873.064 units remaining) + - location: 196 (remaining gas: 1039834.581 units remaining) [ 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 (remaining gas: 1039873.054 units remaining) + - location: 196 (remaining gas: 1039834.571 units remaining) [ 2 3 12 @@ -3306,7 +3306,7 @@ trace 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 (remaining gas: 1039873.054 units remaining) + - location: 196 (remaining gas: 1039834.571 units remaining) [ 2 3 12 @@ -3314,118 +3314,118 @@ trace 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 (remaining gas: 1039873.014 units remaining) + - location: 200 (remaining gas: 1039834.571 units remaining) [ 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 (remaining gas: 1039873.004 units remaining) + - location: 203 (remaining gas: 1039834.561 units remaining) [ (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 (remaining gas: 1039872.984 units remaining) + - location: 200 (remaining gas: 1039834.541 units remaining) [ 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 (remaining gas: 1039872.974 units remaining) + - location: 200 (remaining gas: 1039834.531 units remaining) [ 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 (remaining gas: 1039872.964 units remaining) + - location: 200 (remaining gas: 1039834.521 units remaining) [ 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 (remaining gas: 1039872.954 units remaining) + - location: 200 (remaining gas: 1039834.511 units remaining) [ 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 (remaining gas: 1039872.954 units remaining) + - location: 200 (remaining gas: 1039834.511 units remaining) [ 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 (remaining gas: 1039872.917 units remaining) + - location: 204 (remaining gas: 1039834.511 units remaining) [ 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 (remaining gas: 1039872.907 units remaining) + - location: 207 (remaining gas: 1039834.501 units remaining) [ (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 (remaining gas: 1039872.887 units remaining) + - location: 204 (remaining gas: 1039834.481 units remaining) [ 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 (remaining gas: 1039872.877 units remaining) + - location: 204 (remaining gas: 1039834.471 units remaining) [ 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 (remaining gas: 1039872.867 units remaining) + - location: 204 (remaining gas: 1039834.461 units remaining) [ 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 (remaining gas: 1039872.867 units remaining) + - location: 204 (remaining gas: 1039834.461 units remaining) [ 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 (remaining gas: 1039872.832 units remaining) + - location: 208 (remaining gas: 1039834.461 units remaining) [ 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 (remaining gas: 1039872.822 units remaining) + - location: 211 (remaining gas: 1039834.451 units remaining) [ (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 (remaining gas: 1039872.802 units remaining) + - location: 208 (remaining gas: 1039834.431 units remaining) [ 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 (remaining gas: 1039872.792 units remaining) + - location: 208 (remaining gas: 1039834.421 units remaining) [ 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 (remaining gas: 1039872.792 units remaining) + - location: 208 (remaining gas: 1039834.421 units remaining) [ 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 (remaining gas: 1039872.782 units remaining) + - location: 212 (remaining gas: 1039834.421 units remaining) [ 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 (remaining gas: 1039872.772 units remaining) + - location: 214 (remaining gas: 1039834.411 units remaining) [ (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 (remaining gas: 1039872.752 units remaining) + - location: 212 (remaining gas: 1039834.391 units remaining) [ 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 (remaining gas: 1039872.742 units remaining) + - location: 215 (remaining gas: 1039834.381 units remaining) [ (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 (remaining gas: 1039871.987 units remaining) + - location: 218 (remaining gas: 1039833.626 units remaining) [ 0 ] - - location: 219 (remaining gas: 1039871.977 units remaining) + - location: 219 (remaining gas: 1039833.616 units remaining) [ True ] - - location: 220 (remaining gas: 1039871.967 units remaining) + - location: 220 (remaining gas: 1039833.616 units remaining) [ ] - - location: 220 (remaining gas: 1039871.957 units remaining) + - location: 220 (remaining gas: 1039833.606 units remaining) [ ] - - location: 226 (remaining gas: 1039871.947 units remaining) + - location: 226 (remaining gas: 1039833.596 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039871.937 units remaining) + - location: 227 (remaining gas: 1039833.586 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039871.927 units remaining) + - location: 229 (remaining gas: 1039833.576 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out index 0a9d59340936..a4da22a1b0c1 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out @@ -7,55 +7,55 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039987.775 units remaining) + - location: 15 (remaining gas: 1039988.045 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039987.765 units remaining) + - location: 15 (remaining gas: 1039988.035 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] - - location: 16 (remaining gas: 1039987.755 units remaining) + - location: 16 (remaining gas: 1039988.025 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039987.745 units remaining) + - location: 17 (remaining gas: 1039988.015 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039987.735 units remaining) + - location: 18 (remaining gas: 1039988.005 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039987.725 units remaining) + - location: 19 (remaining gas: 1039987.995 units remaining) [ 1 2 3 4 5 ] - - location: 20 (remaining gas: 1039987.668 units remaining) + - location: 20 (remaining gas: 1039987.938 units remaining) [ 5 1 2 3 4 ] - - location: 22 (remaining gas: 1039987.658 units remaining) + - location: 22 (remaining gas: 1039987.938 units remaining) [ 1 2 3 4 ] - - location: 24 (remaining gas: 1039987.648 units remaining) + - location: 24 (remaining gas: 1039987.928 units remaining) [ 2 3 4 ] - - location: 25 (remaining gas: 1039987.638 units remaining) + - location: 25 (remaining gas: 1039987.918 units remaining) [ 3 4 ] - - location: 26 (remaining gas: 1039987.628 units remaining) + - location: 26 (remaining gas: 1039987.908 units remaining) [ 4 ] - - location: 27 (remaining gas: 1039987.618 units remaining) + - location: 27 (remaining gas: 1039987.898 units remaining) [ ] - - location: 22 (remaining gas: 1039987.598 units remaining) + - location: 22 (remaining gas: 1039987.878 units remaining) [ 5 ] - - location: 28 (remaining gas: 1039987.588 units remaining) + - location: 28 (remaining gas: 1039987.868 units remaining) [ {} 5 ] - - location: 30 (remaining gas: 1039987.578 units remaining) + - location: 30 (remaining gas: 1039987.858 units remaining) [ (Pair {} 5) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out index 3817bf93ef7e..6ba098bd84da 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039991.683 units remaining) + - location: 11 (remaining gas: 1039992.088 units remaining) [ (Pair (Pair 1 1) 0 0) ] - - location: 11 (remaining gas: 1039991.673 units remaining) + - location: 11 (remaining gas: 1039992.078 units remaining) [ (Pair 1 1) ] - - location: 12 (remaining gas: 1039991.663 units remaining) + - location: 12 (remaining gas: 1039992.068 units remaining) [ 1 1 ] - - location: 13 (remaining gas: 1039991.653 units remaining) + - location: 13 (remaining gas: 1039992.058 units remaining) [ 1 1 1 ] - - location: 14 (remaining gas: 1039991.643 units remaining) + - location: 14 (remaining gas: 1039992.058 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039991.608 units remaining) + - location: 16 (remaining gas: 1039992.023 units remaining) [ 2 ] - - location: 14 (remaining gas: 1039991.588 units remaining) + - location: 14 (remaining gas: 1039992.003 units remaining) [ 1 2 ] - - location: 17 (remaining gas: 1039991.578 units remaining) + - location: 17 (remaining gas: 1039991.993 units remaining) [ (Pair 1 2) ] - - location: 18 (remaining gas: 1039991.568 units remaining) + - location: 18 (remaining gas: 1039991.983 units remaining) [ {} (Pair 1 2) ] - - location: 20 (remaining gas: 1039991.558 units remaining) + - location: 20 (remaining gas: 1039991.973 units remaining) [ (Pair {} 1 2) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out index 58dacd42936b..cd96aee20413 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039991.683 units remaining) + - location: 11 (remaining gas: 1039992.088 units remaining) [ (Pair (Pair 15 9) 0 0) ] - - location: 11 (remaining gas: 1039991.673 units remaining) + - location: 11 (remaining gas: 1039992.078 units remaining) [ (Pair 15 9) ] - - location: 12 (remaining gas: 1039991.663 units remaining) + - location: 12 (remaining gas: 1039992.068 units remaining) [ 15 9 ] - - location: 13 (remaining gas: 1039991.653 units remaining) + - location: 13 (remaining gas: 1039992.058 units remaining) [ 15 15 9 ] - - location: 14 (remaining gas: 1039991.643 units remaining) + - location: 14 (remaining gas: 1039992.058 units remaining) [ 15 9 ] - - location: 16 (remaining gas: 1039991.608 units remaining) + - location: 16 (remaining gas: 1039992.023 units remaining) [ 24 ] - - location: 14 (remaining gas: 1039991.588 units remaining) + - location: 14 (remaining gas: 1039992.003 units remaining) [ 15 24 ] - - location: 17 (remaining gas: 1039991.578 units remaining) + - location: 17 (remaining gas: 1039991.993 units remaining) [ (Pair 15 24) ] - - location: 18 (remaining gas: 1039991.568 units remaining) + - location: 18 (remaining gas: 1039991.983 units remaining) [ {} (Pair 15 24) ] - - location: 20 (remaining gas: 1039991.558 units remaining) + - location: 20 (remaining gas: 1039991.973 units remaining) [ (Pair {} 15 24) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out index 1ad578858e58..0e18cd22dcce 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out @@ -7,87 +7,87 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.615 units remaining) + - location: 15 (remaining gas: 1039986.795 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039986.605 units remaining) + - location: 15 (remaining gas: 1039986.785 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] - - location: 16 (remaining gas: 1039986.595 units remaining) + - location: 16 (remaining gas: 1039986.775 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039986.585 units remaining) + - location: 17 (remaining gas: 1039986.765 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039986.575 units remaining) + - location: 18 (remaining gas: 1039986.755 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039986.565 units remaining) + - location: 19 (remaining gas: 1039986.745 units remaining) [ 1 2 3 4 5 ] - - location: 20 (remaining gas: 1039986.523 units remaining) + - location: 20 (remaining gas: 1039986.745 units remaining) [ ] - - location: 23 (remaining gas: 1039986.513 units remaining) + - location: 23 (remaining gas: 1039986.735 units remaining) [ 6 ] - - location: 20 (remaining gas: 1039986.493 units remaining) + - location: 20 (remaining gas: 1039986.715 units remaining) [ 5 6 ] - - location: 20 (remaining gas: 1039986.483 units remaining) + - location: 20 (remaining gas: 1039986.705 units remaining) [ 4 5 6 ] - - location: 20 (remaining gas: 1039986.473 units remaining) + - location: 20 (remaining gas: 1039986.695 units remaining) [ 3 4 5 6 ] - - location: 20 (remaining gas: 1039986.463 units remaining) + - location: 20 (remaining gas: 1039986.685 units remaining) [ 2 3 4 5 6 ] - - location: 20 (remaining gas: 1039986.453 units remaining) + - location: 20 (remaining gas: 1039986.675 units remaining) [ 1 2 3 4 5 6 ] - - location: 20 (remaining gas: 1039986.453 units remaining) + - location: 20 (remaining gas: 1039986.675 units remaining) [ 1 2 3 4 5 6 ] - - location: 26 (remaining gas: 1039986.443 units remaining) + - location: 26 (remaining gas: 1039986.665 units remaining) [ 2 3 4 5 6 ] - - location: 27 (remaining gas: 1039986.433 units remaining) + - location: 27 (remaining gas: 1039986.655 units remaining) [ 3 4 5 6 ] - - location: 28 (remaining gas: 1039986.423 units remaining) + - location: 28 (remaining gas: 1039986.645 units remaining) [ 4 5 6 ] - - location: 29 (remaining gas: 1039986.413 units remaining) + - location: 29 (remaining gas: 1039986.635 units remaining) [ 5 6 ] - - location: 30 (remaining gas: 1039986.403 units remaining) + - location: 30 (remaining gas: 1039986.625 units remaining) [ 6 ] - - location: 31 (remaining gas: 1039986.393 units remaining) + - location: 31 (remaining gas: 1039986.615 units remaining) [ {} 6 ] - - location: 33 (remaining gas: 1039986.383 units remaining) + - location: 33 (remaining gas: 1039986.605 units remaining) [ (Pair {} 6) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out index 8fd478c75983..7ee0f20bcd98 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out @@ -7,51 +7,51 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039988.541 units remaining) + - location: 15 (remaining gas: 1039988.721 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039988.531 units remaining) + - location: 15 (remaining gas: 1039988.711 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] - - location: 16 (remaining gas: 1039988.521 units remaining) + - location: 16 (remaining gas: 1039988.701 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039988.511 units remaining) + - location: 17 (remaining gas: 1039988.691 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039988.501 units remaining) + - location: 18 (remaining gas: 1039988.681 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039988.491 units remaining) + - location: 19 (remaining gas: 1039988.671 units remaining) [ 1 2 3 4 5 ] - - location: 20 (remaining gas: 1039988.429 units remaining) + - location: 20 (remaining gas: 1039988.609 units remaining) [ 2 3 4 5 1 ] - - location: 22 (remaining gas: 1039988.419 units remaining) + - location: 22 (remaining gas: 1039988.599 units remaining) [ 3 4 5 1 ] - - location: 23 (remaining gas: 1039988.409 units remaining) + - location: 23 (remaining gas: 1039988.589 units remaining) [ 4 5 1 ] - - location: 24 (remaining gas: 1039988.399 units remaining) + - location: 24 (remaining gas: 1039988.579 units remaining) [ 5 1 ] - - location: 25 (remaining gas: 1039988.389 units remaining) + - location: 25 (remaining gas: 1039988.569 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039988.379 units remaining) + - location: 26 (remaining gas: 1039988.559 units remaining) [ {} 1 ] - - location: 28 (remaining gas: 1039988.369 units remaining) + - location: 28 (remaining gas: 1039988.549 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out index 30c09ed5847c..e7b660395745 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out @@ -7,38 +7,38 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039956.692 units remaining) + - location: 7 (remaining gas: 1039957.772 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039956.682 units remaining) + - location: 7 (remaining gas: 1039957.762 units remaining) [ ] - - location: 8 (remaining gas: 1039956.672 units remaining) + - location: 8 (remaining gas: 1039957.752 units remaining) [ 5 ] - - location: 11 (remaining gas: 1039956.662 units remaining) + - location: 11 (remaining gas: 1039957.742 units remaining) [ 4 5 ] - - location: 14 (remaining gas: 1039956.652 units remaining) + - location: 14 (remaining gas: 1039957.732 units remaining) [ 3 4 5 ] - - location: 17 (remaining gas: 1039956.642 units remaining) + - location: 17 (remaining gas: 1039957.722 units remaining) [ 2 3 4 5 ] - - location: 20 (remaining gas: 1039956.632 units remaining) + - location: 20 (remaining gas: 1039957.712 units remaining) [ 1 2 3 4 5 ] - - location: 23 (remaining gas: 1039956.611 units remaining) + - location: 23 (remaining gas: 1039957.691 units remaining) [ 1 1 2 3 4 5 ] - - location: 25 (remaining gas: 1039956.601 units remaining) + - location: 25 (remaining gas: 1039957.681 units remaining) [ 1 1 1 @@ -46,40 +46,40 @@ trace 3 4 5 ] - - location: 30 (remaining gas: 1039956.566 units remaining) + - location: 30 (remaining gas: 1039957.646 units remaining) [ 0 1 2 3 4 5 ] - - location: 31 (remaining gas: 1039956.556 units remaining) + - location: 31 (remaining gas: 1039957.636 units remaining) [ True 1 2 3 4 5 ] - - location: 32 (remaining gas: 1039956.546 units remaining) + - location: 32 (remaining gas: 1039957.636 units remaining) [ 1 2 3 4 5 ] - - location: 32 (remaining gas: 1039956.536 units remaining) + - location: 32 (remaining gas: 1039957.626 units remaining) [ 1 2 3 4 5 ] - - location: 38 (remaining gas: 1039956.514 units remaining) + - location: 38 (remaining gas: 1039957.604 units remaining) [ 2 1 2 3 4 5 ] - - location: 40 (remaining gas: 1039956.504 units remaining) + - location: 40 (remaining gas: 1039957.594 units remaining) [ 2 2 1 @@ -87,40 +87,40 @@ trace 3 4 5 ] - - location: 45 (remaining gas: 1039956.469 units remaining) + - location: 45 (remaining gas: 1039957.559 units remaining) [ 0 1 2 3 4 5 ] - - location: 46 (remaining gas: 1039956.459 units remaining) + - location: 46 (remaining gas: 1039957.549 units remaining) [ True 1 2 3 4 5 ] - - location: 47 (remaining gas: 1039956.449 units remaining) + - location: 47 (remaining gas: 1039957.549 units remaining) [ 1 2 3 4 5 ] - - location: 47 (remaining gas: 1039956.439 units remaining) + - location: 47 (remaining gas: 1039957.539 units remaining) [ 1 2 3 4 5 ] - - location: 53 (remaining gas: 1039956.416 units remaining) + - location: 53 (remaining gas: 1039957.516 units remaining) [ 3 1 2 3 4 5 ] - - location: 55 (remaining gas: 1039956.406 units remaining) + - location: 55 (remaining gas: 1039957.506 units remaining) [ 3 3 1 @@ -128,40 +128,40 @@ trace 3 4 5 ] - - location: 60 (remaining gas: 1039956.371 units remaining) + - location: 60 (remaining gas: 1039957.471 units remaining) [ 0 1 2 3 4 5 ] - - location: 61 (remaining gas: 1039956.361 units remaining) + - location: 61 (remaining gas: 1039957.461 units remaining) [ True 1 2 3 4 5 ] - - location: 62 (remaining gas: 1039956.351 units remaining) + - location: 62 (remaining gas: 1039957.461 units remaining) [ 1 2 3 4 5 ] - - location: 62 (remaining gas: 1039956.341 units remaining) + - location: 62 (remaining gas: 1039957.451 units remaining) [ 1 2 3 4 5 ] - - location: 68 (remaining gas: 1039956.317 units remaining) + - location: 68 (remaining gas: 1039957.427 units remaining) [ 4 1 2 3 4 5 ] - - location: 70 (remaining gas: 1039956.307 units remaining) + - location: 70 (remaining gas: 1039957.417 units remaining) [ 4 4 1 @@ -169,40 +169,40 @@ trace 3 4 5 ] - - location: 75 (remaining gas: 1039956.272 units remaining) + - location: 75 (remaining gas: 1039957.382 units remaining) [ 0 1 2 3 4 5 ] - - location: 76 (remaining gas: 1039956.262 units remaining) + - location: 76 (remaining gas: 1039957.372 units remaining) [ True 1 2 3 4 5 ] - - location: 77 (remaining gas: 1039956.252 units remaining) + - location: 77 (remaining gas: 1039957.372 units remaining) [ 1 2 3 4 5 ] - - location: 77 (remaining gas: 1039956.242 units remaining) + - location: 77 (remaining gas: 1039957.362 units remaining) [ 1 2 3 4 5 ] - - location: 83 (remaining gas: 1039956.217 units remaining) + - location: 83 (remaining gas: 1039957.337 units remaining) [ 5 1 2 3 4 5 ] - - location: 85 (remaining gas: 1039956.207 units remaining) + - location: 85 (remaining gas: 1039957.327 units remaining) [ 5 5 1 @@ -210,39 +210,39 @@ trace 3 4 5 ] - - location: 90 (remaining gas: 1039956.172 units remaining) + - location: 90 (remaining gas: 1039957.292 units remaining) [ 0 1 2 3 4 5 ] - - location: 91 (remaining gas: 1039956.162 units remaining) + - location: 91 (remaining gas: 1039957.282 units remaining) [ True 1 2 3 4 5 ] - - location: 92 (remaining gas: 1039956.152 units remaining) + - location: 92 (remaining gas: 1039957.282 units remaining) [ 1 2 3 4 5 ] - - location: 92 (remaining gas: 1039956.142 units remaining) + - location: 92 (remaining gas: 1039957.272 units remaining) [ 1 2 3 4 5 ] - - location: 98 (remaining gas: 1039956.100 units remaining) + - location: 98 (remaining gas: 1039957.230 units remaining) [ ] - - location: 100 (remaining gas: 1039956.090 units remaining) + - location: 100 (remaining gas: 1039957.220 units remaining) [ Unit ] - - location: 101 (remaining gas: 1039956.080 units remaining) + - location: 101 (remaining gas: 1039957.210 units remaining) [ {} Unit ] - - location: 103 (remaining gas: 1039956.070 units remaining) + - location: 103 (remaining gas: 1039957.200 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out index dac75da4144e..8a2163c87cd6 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out @@ -7,136 +7,136 @@ emitted operations big_map diff trace - - location: 25 (remaining gas: 1039973.448 units remaining) + - location: 25 (remaining gas: 1039974.438 units remaining) [ (Pair (Pair -8 2) None None None None) ] - - location: 25 (remaining gas: 1039973.438 units remaining) + - location: 25 (remaining gas: 1039974.428 units remaining) [ (Pair -8 2) ] - - location: 26 (remaining gas: 1039973.428 units remaining) + - location: 26 (remaining gas: 1039974.418 units remaining) [ (Pair -8 2) (Pair -8 2) ] - - location: 27 (remaining gas: 1039973.418 units remaining) + - location: 27 (remaining gas: 1039974.408 units remaining) [ -8 2 (Pair -8 2) ] - - location: 28 (remaining gas: 1039973.398 units remaining) + - location: 28 (remaining gas: 1039974.388 units remaining) [ 8 2 (Pair -8 2) ] - - location: 29 (remaining gas: 1039973.388 units remaining) + - location: 29 (remaining gas: 1039974.388 units remaining) [ 2 (Pair -8 2) ] - - location: 31 (remaining gas: 1039973.368 units remaining) + - location: 31 (remaining gas: 1039974.368 units remaining) [ 2 (Pair -8 2) ] - - location: 29 (remaining gas: 1039973.348 units remaining) + - location: 29 (remaining gas: 1039974.348 units remaining) [ 8 2 (Pair -8 2) ] - - location: 32 (remaining gas: 1039973.243 units remaining) + - location: 32 (remaining gas: 1039974.243 units remaining) [ (Some (Pair 4 0)) (Pair -8 2) ] - - location: 33 (remaining gas: 1039973.233 units remaining) + - location: 33 (remaining gas: 1039974.233 units remaining) [ (Pair -8 2) (Some (Pair 4 0)) ] - - location: 34 (remaining gas: 1039973.223 units remaining) + - location: 34 (remaining gas: 1039974.223 units remaining) [ (Pair -8 2) (Pair -8 2) (Some (Pair 4 0)) ] - - location: 35 (remaining gas: 1039973.213 units remaining) + - location: 35 (remaining gas: 1039974.213 units remaining) [ -8 2 (Pair -8 2) (Some (Pair 4 0)) ] - - location: 36 (remaining gas: 1039973.193 units remaining) + - location: 36 (remaining gas: 1039974.193 units remaining) [ 8 2 (Pair -8 2) (Some (Pair 4 0)) ] - - location: 37 (remaining gas: 1039973.088 units remaining) + - location: 37 (remaining gas: 1039974.088 units remaining) [ (Some (Pair 4 0)) (Pair -8 2) (Some (Pair 4 0)) ] - - location: 38 (remaining gas: 1039973.078 units remaining) + - location: 38 (remaining gas: 1039974.078 units remaining) [ (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 39 (remaining gas: 1039973.068 units remaining) + - location: 39 (remaining gas: 1039974.068 units remaining) [ (Pair -8 2) (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 40 (remaining gas: 1039973.058 units remaining) + - location: 40 (remaining gas: 1039974.058 units remaining) [ -8 2 (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 41 (remaining gas: 1039973.048 units remaining) + - location: 41 (remaining gas: 1039974.058 units remaining) [ 2 (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 43 (remaining gas: 1039973.028 units remaining) + - location: 43 (remaining gas: 1039974.038 units remaining) [ 2 (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 41 (remaining gas: 1039973.008 units remaining) + - location: 41 (remaining gas: 1039974.018 units remaining) [ -8 2 (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 44 (remaining gas: 1039972.903 units remaining) + - location: 44 (remaining gas: 1039973.913 units remaining) [ (Some (Pair -4 0)) (Pair -8 2) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 45 (remaining gas: 1039972.893 units remaining) + - location: 45 (remaining gas: 1039973.903 units remaining) [ (Pair -8 2) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 46 (remaining gas: 1039972.883 units remaining) + - location: 46 (remaining gas: 1039973.893 units remaining) [ -8 2 (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 47 (remaining gas: 1039972.778 units remaining) + - location: 47 (remaining gas: 1039973.788 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 49 (remaining gas: 1039972.743 units remaining) + - location: 49 (remaining gas: 1039973.788 units remaining) [ (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 52 (remaining gas: 1039972.733 units remaining) + - location: 52 (remaining gas: 1039973.778 units remaining) [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039972.713 units remaining) + - location: 49 (remaining gas: 1039973.758 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039972.703 units remaining) + - location: 49 (remaining gas: 1039973.748 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039972.703 units remaining) + - location: 49 (remaining gas: 1039973.748 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 53 (remaining gas: 1039972.693 units remaining) + - location: 53 (remaining gas: 1039973.748 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 55 (remaining gas: 1039972.683 units remaining) + - location: 55 (remaining gas: 1039973.738 units remaining) [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 53 (remaining gas: 1039972.663 units remaining) + - location: 53 (remaining gas: 1039973.718 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 56 (remaining gas: 1039972.653 units remaining) + - location: 56 (remaining gas: 1039973.708 units remaining) [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 57 (remaining gas: 1039972.643 units remaining) + - location: 57 (remaining gas: 1039973.698 units remaining) [ {} (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 59 (remaining gas: 1039972.633 units remaining) + - location: 59 (remaining gas: 1039973.688 units remaining) [ (Pair {} (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out index 989b58ff20c5..4c344786f295 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out @@ -7,136 +7,136 @@ emitted operations big_map diff trace - - location: 25 (remaining gas: 1039973.448 units remaining) + - location: 25 (remaining gas: 1039974.438 units remaining) [ (Pair (Pair 10 -3) None None None None) ] - - location: 25 (remaining gas: 1039973.438 units remaining) + - location: 25 (remaining gas: 1039974.428 units remaining) [ (Pair 10 -3) ] - - location: 26 (remaining gas: 1039973.428 units remaining) + - location: 26 (remaining gas: 1039974.418 units remaining) [ (Pair 10 -3) (Pair 10 -3) ] - - location: 27 (remaining gas: 1039973.418 units remaining) + - location: 27 (remaining gas: 1039974.408 units remaining) [ 10 -3 (Pair 10 -3) ] - - location: 28 (remaining gas: 1039973.398 units remaining) + - location: 28 (remaining gas: 1039974.388 units remaining) [ 10 -3 (Pair 10 -3) ] - - location: 29 (remaining gas: 1039973.388 units remaining) + - location: 29 (remaining gas: 1039974.388 units remaining) [ -3 (Pair 10 -3) ] - - location: 31 (remaining gas: 1039973.368 units remaining) + - location: 31 (remaining gas: 1039974.368 units remaining) [ 3 (Pair 10 -3) ] - - location: 29 (remaining gas: 1039973.348 units remaining) + - location: 29 (remaining gas: 1039974.348 units remaining) [ 10 3 (Pair 10 -3) ] - - location: 32 (remaining gas: 1039973.243 units remaining) + - location: 32 (remaining gas: 1039974.243 units remaining) [ (Some (Pair 3 1)) (Pair 10 -3) ] - - location: 33 (remaining gas: 1039973.233 units remaining) + - location: 33 (remaining gas: 1039974.233 units remaining) [ (Pair 10 -3) (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039973.223 units remaining) + - location: 34 (remaining gas: 1039974.223 units remaining) [ (Pair 10 -3) (Pair 10 -3) (Some (Pair 3 1)) ] - - location: 35 (remaining gas: 1039973.213 units remaining) + - location: 35 (remaining gas: 1039974.213 units remaining) [ 10 -3 (Pair 10 -3) (Some (Pair 3 1)) ] - - location: 36 (remaining gas: 1039973.193 units remaining) + - location: 36 (remaining gas: 1039974.193 units remaining) [ 10 -3 (Pair 10 -3) (Some (Pair 3 1)) ] - - location: 37 (remaining gas: 1039973.088 units remaining) + - location: 37 (remaining gas: 1039974.088 units remaining) [ (Some (Pair -3 1)) (Pair 10 -3) (Some (Pair 3 1)) ] - - location: 38 (remaining gas: 1039973.078 units remaining) + - location: 38 (remaining gas: 1039974.078 units remaining) [ (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 39 (remaining gas: 1039973.068 units remaining) + - location: 39 (remaining gas: 1039974.068 units remaining) [ (Pair 10 -3) (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 40 (remaining gas: 1039973.058 units remaining) + - location: 40 (remaining gas: 1039974.058 units remaining) [ 10 -3 (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 41 (remaining gas: 1039973.048 units remaining) + - location: 41 (remaining gas: 1039974.058 units remaining) [ -3 (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 43 (remaining gas: 1039973.028 units remaining) + - location: 43 (remaining gas: 1039974.038 units remaining) [ 3 (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 41 (remaining gas: 1039973.008 units remaining) + - location: 41 (remaining gas: 1039974.018 units remaining) [ 10 3 (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 44 (remaining gas: 1039972.903 units remaining) + - location: 44 (remaining gas: 1039973.913 units remaining) [ (Some (Pair 3 1)) (Pair 10 -3) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 45 (remaining gas: 1039972.893 units remaining) + - location: 45 (remaining gas: 1039973.903 units remaining) [ (Pair 10 -3) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 46 (remaining gas: 1039972.883 units remaining) + - location: 46 (remaining gas: 1039973.893 units remaining) [ 10 -3 (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 47 (remaining gas: 1039972.778 units remaining) + - location: 47 (remaining gas: 1039973.788 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 49 (remaining gas: 1039972.743 units remaining) + - location: 49 (remaining gas: 1039973.788 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 52 (remaining gas: 1039972.733 units remaining) + - location: 52 (remaining gas: 1039973.778 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039972.713 units remaining) + - location: 49 (remaining gas: 1039973.758 units remaining) [ (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039972.703 units remaining) + - location: 49 (remaining gas: 1039973.748 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039972.703 units remaining) + - location: 49 (remaining gas: 1039973.748 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 53 (remaining gas: 1039972.693 units remaining) + - location: 53 (remaining gas: 1039973.748 units remaining) [ (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 55 (remaining gas: 1039972.683 units remaining) + - location: 55 (remaining gas: 1039973.738 units remaining) [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 53 (remaining gas: 1039972.663 units remaining) + - location: 53 (remaining gas: 1039973.718 units remaining) [ (Some (Pair -3 1)) (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 56 (remaining gas: 1039972.653 units remaining) + - location: 56 (remaining gas: 1039973.708 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 57 (remaining gas: 1039972.643 units remaining) + - location: 57 (remaining gas: 1039973.698 units remaining) [ {} (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 59 (remaining gas: 1039972.633 units remaining) + - location: 59 (remaining gas: 1039973.688 units remaining) [ (Pair {} (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out index e0dd8285cc26..0ff7b2d13503 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out @@ -7,136 +7,136 @@ emitted operations big_map diff trace - - location: 25 (remaining gas: 1039973.448 units remaining) + - location: 25 (remaining gas: 1039974.438 units remaining) [ (Pair (Pair 10 0) None None None None) ] - - location: 25 (remaining gas: 1039973.438 units remaining) + - location: 25 (remaining gas: 1039974.428 units remaining) [ (Pair 10 0) ] - - location: 26 (remaining gas: 1039973.428 units remaining) + - location: 26 (remaining gas: 1039974.418 units remaining) [ (Pair 10 0) (Pair 10 0) ] - - location: 27 (remaining gas: 1039973.418 units remaining) + - location: 27 (remaining gas: 1039974.408 units remaining) [ 10 0 (Pair 10 0) ] - - location: 28 (remaining gas: 1039973.398 units remaining) + - location: 28 (remaining gas: 1039974.388 units remaining) [ 10 0 (Pair 10 0) ] - - location: 29 (remaining gas: 1039973.388 units remaining) + - location: 29 (remaining gas: 1039974.388 units remaining) [ 0 (Pair 10 0) ] - - location: 31 (remaining gas: 1039973.368 units remaining) + - location: 31 (remaining gas: 1039974.368 units remaining) [ 0 (Pair 10 0) ] - - location: 29 (remaining gas: 1039973.348 units remaining) + - location: 29 (remaining gas: 1039974.348 units remaining) [ 10 0 (Pair 10 0) ] - - location: 32 (remaining gas: 1039973.243 units remaining) + - location: 32 (remaining gas: 1039974.243 units remaining) [ None (Pair 10 0) ] - - location: 33 (remaining gas: 1039973.233 units remaining) + - location: 33 (remaining gas: 1039974.233 units remaining) [ (Pair 10 0) None ] - - location: 34 (remaining gas: 1039973.223 units remaining) + - location: 34 (remaining gas: 1039974.223 units remaining) [ (Pair 10 0) (Pair 10 0) None ] - - location: 35 (remaining gas: 1039973.213 units remaining) + - location: 35 (remaining gas: 1039974.213 units remaining) [ 10 0 (Pair 10 0) None ] - - location: 36 (remaining gas: 1039973.193 units remaining) + - location: 36 (remaining gas: 1039974.193 units remaining) [ 10 0 (Pair 10 0) None ] - - location: 37 (remaining gas: 1039973.088 units remaining) + - location: 37 (remaining gas: 1039974.088 units remaining) [ None (Pair 10 0) None ] - - location: 38 (remaining gas: 1039973.078 units remaining) + - location: 38 (remaining gas: 1039974.078 units remaining) [ (Pair 10 0) None None ] - - location: 39 (remaining gas: 1039973.068 units remaining) + - location: 39 (remaining gas: 1039974.068 units remaining) [ (Pair 10 0) (Pair 10 0) None None ] - - location: 40 (remaining gas: 1039973.058 units remaining) + - location: 40 (remaining gas: 1039974.058 units remaining) [ 10 0 (Pair 10 0) None None ] - - location: 41 (remaining gas: 1039973.048 units remaining) + - location: 41 (remaining gas: 1039974.058 units remaining) [ 0 (Pair 10 0) None None ] - - location: 43 (remaining gas: 1039973.028 units remaining) + - location: 43 (remaining gas: 1039974.038 units remaining) [ 0 (Pair 10 0) None None ] - - location: 41 (remaining gas: 1039973.008 units remaining) + - location: 41 (remaining gas: 1039974.018 units remaining) [ 10 0 (Pair 10 0) None None ] - - location: 44 (remaining gas: 1039972.903 units remaining) + - location: 44 (remaining gas: 1039973.913 units remaining) [ None (Pair 10 0) None None ] - - location: 45 (remaining gas: 1039972.893 units remaining) + - location: 45 (remaining gas: 1039973.903 units remaining) [ (Pair 10 0) None None None ] - - location: 46 (remaining gas: 1039972.883 units remaining) + - location: 46 (remaining gas: 1039973.893 units remaining) [ 10 0 None None None ] - - location: 47 (remaining gas: 1039972.778 units remaining) + - location: 47 (remaining gas: 1039973.788 units remaining) [ None None None None ] - - location: 49 (remaining gas: 1039972.743 units remaining) + - location: 49 (remaining gas: 1039973.788 units remaining) [ None None ] - - location: 52 (remaining gas: 1039972.733 units remaining) + - location: 52 (remaining gas: 1039973.778 units remaining) [ (Pair None None) ] - - location: 49 (remaining gas: 1039972.713 units remaining) + - location: 49 (remaining gas: 1039973.758 units remaining) [ None (Pair None None) ] - - location: 49 (remaining gas: 1039972.703 units remaining) + - location: 49 (remaining gas: 1039973.748 units remaining) [ None None (Pair None None) ] - - location: 49 (remaining gas: 1039972.703 units remaining) + - location: 49 (remaining gas: 1039973.748 units remaining) [ None None (Pair None None) ] - - location: 53 (remaining gas: 1039972.693 units remaining) + - location: 53 (remaining gas: 1039973.748 units remaining) [ None (Pair None None) ] - - location: 55 (remaining gas: 1039972.683 units remaining) + - location: 55 (remaining gas: 1039973.738 units remaining) [ (Pair None None None) ] - - location: 53 (remaining gas: 1039972.663 units remaining) + - location: 53 (remaining gas: 1039973.718 units remaining) [ None (Pair None None None) ] - - location: 56 (remaining gas: 1039972.653 units remaining) + - location: 56 (remaining gas: 1039973.708 units remaining) [ (Pair None None None None) ] - - location: 57 (remaining gas: 1039972.643 units remaining) + - location: 57 (remaining gas: 1039973.698 units remaining) [ {} (Pair None None None None) ] - - location: 59 (remaining gas: 1039972.633 units remaining) + - location: 59 (remaining gas: 1039973.688 units remaining) [ (Pair {} None None None None) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out index 5d81a14b0ce4..2b3fcbb39262 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 10 (Left 0)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 10 (Left 0)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 10 (Left 0) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Left 0) 10 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 0 10 ] - - location: 24 (remaining gas: 1039985.671 units remaining) + - location: 24 (remaining gas: 1039985.951 units remaining) [ 10 0 ] - - location: 25 (remaining gas: 1039985.591 units remaining) + - location: 25 (remaining gas: 1039985.871 units remaining) [ None ] - - location: 26 (remaining gas: 1039985.581 units remaining) + - location: 26 (remaining gas: 1039985.861 units remaining) [ (Left None) ] - - location: 22 (remaining gas: 1039985.571 units remaining) + - location: 22 (remaining gas: 1039985.851 units remaining) [ (Left None) ] - - location: 39 (remaining gas: 1039985.561 units remaining) + - location: 39 (remaining gas: 1039985.841 units remaining) [ {} (Left None) ] - - location: 41 (remaining gas: 1039985.551 units remaining) + - location: 41 (remaining gas: 1039985.831 units remaining) [ (Pair {} (Left None)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out index d435d20411ad..9f8ba0381737 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 10 (Left 10)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 10 (Left 10)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 10 (Left 10) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Left 10) 10 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 10 10 ] - - location: 24 (remaining gas: 1039985.671 units remaining) + - location: 24 (remaining gas: 1039985.951 units remaining) [ 10 10 ] - - location: 25 (remaining gas: 1039985.591 units remaining) + - location: 25 (remaining gas: 1039985.871 units remaining) [ (Some (Pair 1 0)) ] - - location: 26 (remaining gas: 1039985.581 units remaining) + - location: 26 (remaining gas: 1039985.861 units remaining) [ (Left (Some (Pair 1 0))) ] - - location: 22 (remaining gas: 1039985.571 units remaining) + - location: 22 (remaining gas: 1039985.851 units remaining) [ (Left (Some (Pair 1 0))) ] - - location: 39 (remaining gas: 1039985.561 units remaining) + - location: 39 (remaining gas: 1039985.841 units remaining) [ {} (Left (Some (Pair 1 0))) ] - - location: 41 (remaining gas: 1039985.551 units remaining) + - location: 41 (remaining gas: 1039985.831 units remaining) [ (Pair {} (Left (Some (Pair 1 0)))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out index 63172eafb4bd..0cfe49550e90 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 10 (Left 3)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 10 (Left 3)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 10 (Left 3) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Left 3) 10 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 3 10 ] - - location: 24 (remaining gas: 1039985.671 units remaining) + - location: 24 (remaining gas: 1039985.951 units remaining) [ 10 3 ] - - location: 25 (remaining gas: 1039985.591 units remaining) + - location: 25 (remaining gas: 1039985.871 units remaining) [ (Some (Pair 3 1)) ] - - location: 26 (remaining gas: 1039985.581 units remaining) + - location: 26 (remaining gas: 1039985.861 units remaining) [ (Left (Some (Pair 3 1))) ] - - location: 22 (remaining gas: 1039985.571 units remaining) + - location: 22 (remaining gas: 1039985.851 units remaining) [ (Left (Some (Pair 3 1))) ] - - location: 39 (remaining gas: 1039985.561 units remaining) + - location: 39 (remaining gas: 1039985.841 units remaining) [ {} (Left (Some (Pair 3 1))) ] - - location: 41 (remaining gas: 1039985.551 units remaining) + - location: 41 (remaining gas: 1039985.831 units remaining) [ (Pair {} (Left (Some (Pair 3 1)))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out index 164bf22861c9..90eca06b0dcb 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 10 (Right 0)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 10 (Right 0)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 10 (Right 0) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Right 0) 10 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 0 10 ] - - location: 32 (remaining gas: 1039985.671 units remaining) + - location: 32 (remaining gas: 1039985.951 units remaining) [ 10 0 ] - - location: 33 (remaining gas: 1039985.601 units remaining) + - location: 33 (remaining gas: 1039985.881 units remaining) [ None ] - - location: 34 (remaining gas: 1039985.591 units remaining) + - location: 34 (remaining gas: 1039985.871 units remaining) [ (Right None) ] - - location: 22 (remaining gas: 1039985.581 units remaining) + - location: 22 (remaining gas: 1039985.861 units remaining) [ (Right None) ] - - location: 39 (remaining gas: 1039985.571 units remaining) + - location: 39 (remaining gas: 1039985.851 units remaining) [ {} (Right None) ] - - location: 41 (remaining gas: 1039985.561 units remaining) + - location: 41 (remaining gas: 1039985.841 units remaining) [ (Pair {} (Right None)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out index 9df6e32c0789..3cde310a08a6 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 10 (Right 10)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 10 (Right 10)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 10 (Right 10) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Right 10) 10 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 10 10 ] - - location: 32 (remaining gas: 1039985.671 units remaining) + - location: 32 (remaining gas: 1039985.951 units remaining) [ 10 10 ] - - location: 33 (remaining gas: 1039985.601 units remaining) + - location: 33 (remaining gas: 1039985.881 units remaining) [ (Some (Pair 1 0)) ] - - location: 34 (remaining gas: 1039985.591 units remaining) + - location: 34 (remaining gas: 1039985.871 units remaining) [ (Right (Some (Pair 1 0))) ] - - location: 22 (remaining gas: 1039985.581 units remaining) + - location: 22 (remaining gas: 1039985.861 units remaining) [ (Right (Some (Pair 1 0))) ] - - location: 39 (remaining gas: 1039985.571 units remaining) + - location: 39 (remaining gas: 1039985.851 units remaining) [ {} (Right (Some (Pair 1 0))) ] - - location: 41 (remaining gas: 1039985.561 units remaining) + - location: 41 (remaining gas: 1039985.841 units remaining) [ (Pair {} (Right (Some (Pair 1 0)))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out index 8e5884d6d2cc..97b1785e7ed5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 10 (Right 3)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 10 (Right 3)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 10 (Right 3) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Right 3) 10 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 3 10 ] - - location: 32 (remaining gas: 1039985.671 units remaining) + - location: 32 (remaining gas: 1039985.951 units remaining) [ 10 3 ] - - location: 33 (remaining gas: 1039985.601 units remaining) + - location: 33 (remaining gas: 1039985.881 units remaining) [ (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039985.591 units remaining) + - location: 34 (remaining gas: 1039985.871 units remaining) [ (Right (Some (Pair 3 1))) ] - - location: 22 (remaining gas: 1039985.581 units remaining) + - location: 22 (remaining gas: 1039985.861 units remaining) [ (Right (Some (Pair 3 1))) ] - - location: 39 (remaining gas: 1039985.571 units remaining) + - location: 39 (remaining gas: 1039985.851 units remaining) [ {} (Right (Some (Pair 3 1))) ] - - location: 41 (remaining gas: 1039985.561 units remaining) + - location: 41 (remaining gas: 1039985.841 units remaining) [ (Pair {} (Right (Some (Pair 3 1)))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out index d7adc1bb0e1a..87571c28443c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 19 (remaining gas: 1039985.721 units remaining) + - location: 19 (remaining gas: 1039985.991 units remaining) [ (Pair (Pair 5 (Right 10)) (Left None)) ] - - location: 19 (remaining gas: 1039985.711 units remaining) + - location: 19 (remaining gas: 1039985.981 units remaining) [ (Pair 5 (Right 10)) ] - - location: 20 (remaining gas: 1039985.701 units remaining) + - location: 20 (remaining gas: 1039985.971 units remaining) [ 5 (Right 10) ] - - location: 21 (remaining gas: 1039985.691 units remaining) + - location: 21 (remaining gas: 1039985.961 units remaining) [ (Right 10) 5 ] - - location: 22 (remaining gas: 1039985.681 units remaining) + - location: 22 (remaining gas: 1039985.961 units remaining) [ 10 5 ] - - location: 32 (remaining gas: 1039985.671 units remaining) + - location: 32 (remaining gas: 1039985.951 units remaining) [ 5 10 ] - - location: 33 (remaining gas: 1039985.601 units remaining) + - location: 33 (remaining gas: 1039985.881 units remaining) [ (Some (Pair 0 5)) ] - - location: 34 (remaining gas: 1039985.591 units remaining) + - location: 34 (remaining gas: 1039985.871 units remaining) [ (Right (Some (Pair 0 5))) ] - - location: 22 (remaining gas: 1039985.581 units remaining) + - location: 22 (remaining gas: 1039985.861 units remaining) [ (Right (Some (Pair 0 5))) ] - - location: 39 (remaining gas: 1039985.571 units remaining) + - location: 39 (remaining gas: 1039985.851 units remaining) [ {} (Right (Some (Pair 0 5))) ] - - location: 41 (remaining gas: 1039985.561 units remaining) + - location: 41 (remaining gas: 1039985.841 units remaining) [ (Pair {} (Right (Some (Pair 0 5)))) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" index 6a530f682d46..184bafc8dadb 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" @@ -7,27 +7,27 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.351 units remaining) + - location: 9 (remaining gas: 1039991.576 units remaining) [ (Pair Unit {}) ] - - location: 9 (remaining gas: 1039991.341 units remaining) + - location: 9 (remaining gas: 1039991.566 units remaining) [ ] - - location: 10 (remaining gas: 1039991.121 units remaining) + - location: 10 (remaining gas: 1039991.346 units remaining) [ {} ] - - location: 13 (remaining gas: 1039991.111 units remaining) + - location: 13 (remaining gas: 1039991.336 units remaining) [ "world" {} ] - - location: 16 (remaining gas: 1039991.101 units remaining) + - location: 16 (remaining gas: 1039991.326 units remaining) [ (Some "world") {} ] - - location: 17 (remaining gas: 1039991.091 units remaining) + - location: 17 (remaining gas: 1039991.316 units remaining) [ "hello" (Some "world") {} ] - - location: 20 (remaining gas: 1039991.001 units remaining) + - location: 20 (remaining gas: 1039991.226 units remaining) [ { Elt "hello" "world" } ] - - location: 21 (remaining gas: 1039990.991 units remaining) + - location: 21 (remaining gas: 1039991.216 units remaining) [ {} { Elt "hello" "world" } ] - - location: 23 (remaining gas: 1039990.981 units remaining) + - location: 23 (remaining gas: 1039991.206 units remaining) [ (Pair {} { Elt "hello" "world" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" index 32ce63c5e4c5..e2c2035869b6 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" @@ -7,42 +7,42 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039988.559 units remaining) + - location: 7 (remaining gas: 1039988.964 units remaining) [ (Pair "" "?") ] - - location: 7 (remaining gas: 1039988.549 units remaining) + - location: 7 (remaining gas: 1039988.954 units remaining) [ "" ] - - location: 8 (remaining gas: 1039988.539 units remaining) + - location: 8 (remaining gas: 1039988.944 units remaining) [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } "" ] - - location: 22 (remaining gas: 1039988.529 units remaining) + - location: 22 (remaining gas: 1039988.934 units remaining) [ "" { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 12 (remaining gas: 1039988.519 units remaining) + - location: 12 (remaining gas: 1039988.924 units remaining) [ "_abc" "" ] - - location: 15 (remaining gas: 1039988.509 units remaining) + - location: 15 (remaining gas: 1039988.914 units remaining) [ {} "_abc" "" ] - - location: 17 (remaining gas: 1039988.499 units remaining) + - location: 17 (remaining gas: 1039988.904 units remaining) [ "_abc" {} "" ] - - location: 18 (remaining gas: 1039988.489 units remaining) + - location: 18 (remaining gas: 1039988.894 units remaining) [ { "_abc" } "" ] - - location: 19 (remaining gas: 1039988.479 units remaining) + - location: 19 (remaining gas: 1039988.884 units remaining) [ "" { "_abc" } ] - - location: 20 (remaining gas: 1039988.469 units remaining) + - location: 20 (remaining gas: 1039988.874 units remaining) [ { "" ; "_abc" } ] - - location: 21 (remaining gas: 1039988.349 units remaining) + - location: 21 (remaining gas: 1039988.754 units remaining) [ "_abc" ] - - location: 23 (remaining gas: 1039988.329 units remaining) + - location: 23 (remaining gas: 1039988.734 units remaining) [ "_abc" ] - - location: 24 (remaining gas: 1039988.319 units remaining) + - location: 24 (remaining gas: 1039988.724 units remaining) [ {} "_abc" ] - - location: 26 (remaining gas: 1039988.309 units remaining) + - location: 26 (remaining gas: 1039988.714 units remaining) [ (Pair {} "_abc") ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" index b2e83dbe65dc..1813f4564704 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" @@ -7,42 +7,42 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039988.519 units remaining) + - location: 7 (remaining gas: 1039988.924 units remaining) [ (Pair "test" "?") ] - - location: 7 (remaining gas: 1039988.509 units remaining) + - location: 7 (remaining gas: 1039988.914 units remaining) [ "test" ] - - location: 8 (remaining gas: 1039988.499 units remaining) + - location: 8 (remaining gas: 1039988.904 units remaining) [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } "test" ] - - location: 22 (remaining gas: 1039988.489 units remaining) + - location: 22 (remaining gas: 1039988.894 units remaining) [ "test" { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 12 (remaining gas: 1039988.479 units remaining) + - location: 12 (remaining gas: 1039988.884 units remaining) [ "_abc" "test" ] - - location: 15 (remaining gas: 1039988.469 units remaining) + - location: 15 (remaining gas: 1039988.874 units remaining) [ {} "_abc" "test" ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.864 units remaining) [ "_abc" {} "test" ] - - location: 18 (remaining gas: 1039988.449 units remaining) + - location: 18 (remaining gas: 1039988.854 units remaining) [ { "_abc" } "test" ] - - location: 19 (remaining gas: 1039988.439 units remaining) + - location: 19 (remaining gas: 1039988.844 units remaining) [ "test" { "_abc" } ] - - location: 20 (remaining gas: 1039988.429 units remaining) + - location: 20 (remaining gas: 1039988.834 units remaining) [ { "test" ; "_abc" } ] - - location: 21 (remaining gas: 1039988.309 units remaining) + - location: 21 (remaining gas: 1039988.714 units remaining) [ "test_abc" ] - - location: 23 (remaining gas: 1039988.289 units remaining) + - location: 23 (remaining gas: 1039988.694 units remaining) [ "test_abc" ] - - location: 24 (remaining gas: 1039988.279 units remaining) + - location: 24 (remaining gas: 1039988.684 units remaining) [ {} "test_abc" ] - - location: 26 (remaining gas: 1039988.269 units remaining) + - location: 26 (remaining gas: 1039988.674 units remaining) [ (Pair {} "test_abc") ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out index 091227a57c88..1a2fd10da4e0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039991.773 units remaining) + - location: 8 (remaining gas: 1039992.178 units remaining) [ (Pair { 1 ; 2 ; 3 ; 4 } 111) ] - - location: 8 (remaining gas: 1039991.763 units remaining) + - location: 8 (remaining gas: 1039992.168 units remaining) [ { 1 ; 2 ; 3 ; 4 } ] - - location: 9 (remaining gas: 1039991.753 units remaining) + - location: 9 (remaining gas: 1039992.168 units remaining) [ 1 { 2 ; 3 ; 4 } ] - - location: 11 (remaining gas: 1039991.743 units remaining) + - location: 11 (remaining gas: 1039992.168 units remaining) [ { 2 ; 3 ; 4 } ] - - location: 13 (remaining gas: 1039991.733 units remaining) + - location: 13 (remaining gas: 1039992.158 units remaining) [ ] - - location: 11 (remaining gas: 1039991.713 units remaining) + - location: 11 (remaining gas: 1039992.138 units remaining) [ 1 ] - - location: 9 (remaining gas: 1039991.703 units remaining) + - location: 9 (remaining gas: 1039992.128 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039991.693 units remaining) + - location: 18 (remaining gas: 1039992.118 units remaining) [ {} 1 ] - - location: 20 (remaining gas: 1039991.683 units remaining) + - location: 20 (remaining gas: 1039992.108 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out index 7865e871f9c9..7d5ef42ec8b2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.073 units remaining) + - location: 8 (remaining gas: 1039992.478 units remaining) [ (Pair { 4 } 111) ] - - location: 8 (remaining gas: 1039992.063 units remaining) + - location: 8 (remaining gas: 1039992.468 units remaining) [ { 4 } ] - - location: 9 (remaining gas: 1039992.053 units remaining) + - location: 9 (remaining gas: 1039992.468 units remaining) [ 4 {} ] - - location: 11 (remaining gas: 1039992.043 units remaining) + - location: 11 (remaining gas: 1039992.468 units remaining) [ {} ] - - location: 13 (remaining gas: 1039992.033 units remaining) + - location: 13 (remaining gas: 1039992.458 units remaining) [ ] - - location: 11 (remaining gas: 1039992.013 units remaining) + - location: 11 (remaining gas: 1039992.438 units remaining) [ 4 ] - - location: 9 (remaining gas: 1039992.003 units remaining) + - location: 9 (remaining gas: 1039992.428 units remaining) [ 4 ] - - location: 18 (remaining gas: 1039991.993 units remaining) + - location: 18 (remaining gas: 1039992.418 units remaining) [ {} 4 ] - - location: 20 (remaining gas: 1039991.983 units remaining) + - location: 20 (remaining gas: 1039992.408 units remaining) [ (Pair {} 4) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" index 59180f11a28b..ddb0c493f1dd 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.561 units remaining) + - location: 13 (remaining gas: 1039991.921 units remaining) [ (Pair "hello" (Some 4) {}) ] - - location: 13 (remaining gas: 1039991.551 units remaining) + - location: 13 (remaining gas: 1039991.911 units remaining) [ "hello" (Pair (Some 4) {}) ] - - location: 14 (remaining gas: 1039991.541 units remaining) + - location: 14 (remaining gas: 1039991.911 units remaining) [ (Pair (Some 4) {}) ] - - location: 16 (remaining gas: 1039991.531 units remaining) + - location: 16 (remaining gas: 1039991.901 units remaining) [ (Some 4) {} ] - - location: 14 (remaining gas: 1039991.511 units remaining) + - location: 14 (remaining gas: 1039991.881 units remaining) [ "hello" (Some 4) {} ] - - location: 17 (remaining gas: 1039991.416 units remaining) + - location: 17 (remaining gas: 1039991.786 units remaining) [ None { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039991.406 units remaining) + - location: 18 (remaining gas: 1039991.776 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039991.396 units remaining) + - location: 19 (remaining gas: 1039991.766 units remaining) [ {} (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039991.386 units remaining) + - location: 21 (remaining gas: 1039991.756 units remaining) [ (Pair {} None { Elt "hello" 4 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" index ab7144a40de7..aaba5770cf0e 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.237 units remaining) + - location: 13 (remaining gas: 1039991.597 units remaining) [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039991.227 units remaining) + - location: 13 (remaining gas: 1039991.587 units remaining) [ "hi" (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 14 (remaining gas: 1039991.217 units remaining) + - location: 14 (remaining gas: 1039991.587 units remaining) [ (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 16 (remaining gas: 1039991.207 units remaining) + - location: 16 (remaining gas: 1039991.577 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039991.187 units remaining) + - location: 14 (remaining gas: 1039991.557 units remaining) [ "hi" (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039991.095 units remaining) + - location: 17 (remaining gas: 1039991.465 units remaining) [ None { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039991.085 units remaining) + - location: 18 (remaining gas: 1039991.455 units remaining) [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039991.075 units remaining) + - location: 19 (remaining gas: 1039991.445 units remaining) [ {} (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039991.065 units remaining) + - location: 21 (remaining gas: 1039991.435 units remaining) [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" index a7f88bbee2eb..5c4760e6d8ea 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.207 units remaining) + - location: 13 (remaining gas: 1039991.567 units remaining) [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039991.197 units remaining) + - location: 13 (remaining gas: 1039991.557 units remaining) [ "hello" (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 14 (remaining gas: 1039991.187 units remaining) + - location: 14 (remaining gas: 1039991.557 units remaining) [ (Pair (Some 5) { Elt "hello" 4 }) ] - - location: 16 (remaining gas: 1039991.177 units remaining) + - location: 16 (remaining gas: 1039991.547 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039991.157 units remaining) + - location: 14 (remaining gas: 1039991.527 units remaining) [ "hello" (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039991.047 units remaining) + - location: 17 (remaining gas: 1039991.417 units remaining) [ (Some 4) { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039991.037 units remaining) + - location: 18 (remaining gas: 1039991.407 units remaining) [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039991.027 units remaining) + - location: 19 (remaining gas: 1039991.397 units remaining) [ {} (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039991.017 units remaining) + - location: 21 (remaining gas: 1039991.387 units remaining) [ (Pair {} (Some 4) { Elt "hello" 5 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" index 5a32d2bf8049..135f0652afc1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.052 units remaining) + - location: 13 (remaining gas: 1039991.412 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039991.042 units remaining) + - location: 13 (remaining gas: 1039991.402 units remaining) [ "1" (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 14 (remaining gas: 1039991.032 units remaining) + - location: 14 (remaining gas: 1039991.402 units remaining) [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 16 (remaining gas: 1039991.022 units remaining) + - location: 16 (remaining gas: 1039991.392 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039991.002 units remaining) + - location: 14 (remaining gas: 1039991.372 units remaining) [ "1" None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039990.913 units remaining) + - location: 17 (remaining gas: 1039991.283 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039990.903 units remaining) + - location: 18 (remaining gas: 1039991.273 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039990.893 units remaining) + - location: 19 (remaining gas: 1039991.263 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039990.883 units remaining) + - location: 21 (remaining gas: 1039991.253 units remaining) [ (Pair {} (Some 1) { Elt "2" 2 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" index dde6e35bfdc3..0837f31141d0 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.052 units remaining) + - location: 13 (remaining gas: 1039991.412 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039991.042 units remaining) + - location: 13 (remaining gas: 1039991.402 units remaining) [ "1" (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 14 (remaining gas: 1039991.032 units remaining) + - location: 14 (remaining gas: 1039991.402 units remaining) [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 16 (remaining gas: 1039991.022 units remaining) + - location: 16 (remaining gas: 1039991.392 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039991.002 units remaining) + - location: 14 (remaining gas: 1039991.372 units remaining) [ "1" None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039990.913 units remaining) + - location: 17 (remaining gas: 1039991.283 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039990.903 units remaining) + - location: 18 (remaining gas: 1039991.273 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039990.893 units remaining) + - location: 19 (remaining gas: 1039991.263 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039990.883 units remaining) + - location: 21 (remaining gas: 1039991.253 units remaining) [ (Pair {} (Some 1) { Elt "2" 2 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" index 456f75d3e14a..ab78f260fa10 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.307 units remaining) + - location: 13 (remaining gas: 1039991.667 units remaining) [ (Pair "hello" None { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039991.297 units remaining) + - location: 13 (remaining gas: 1039991.657 units remaining) [ "hello" (Pair None { Elt "hello" 4 }) ] - - location: 14 (remaining gas: 1039991.287 units remaining) + - location: 14 (remaining gas: 1039991.657 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 16 (remaining gas: 1039991.277 units remaining) + - location: 16 (remaining gas: 1039991.647 units remaining) [ None { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039991.257 units remaining) + - location: 14 (remaining gas: 1039991.627 units remaining) [ "hello" None { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039991.147 units remaining) + - location: 17 (remaining gas: 1039991.517 units remaining) [ (Some 4) {} ] - - location: 18 (remaining gas: 1039991.137 units remaining) + - location: 18 (remaining gas: 1039991.507 units remaining) [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039991.127 units remaining) + - location: 19 (remaining gas: 1039991.497 units remaining) [ {} (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039991.117 units remaining) + - location: 21 (remaining gas: 1039991.487 units remaining) [ (Pair {} (Some 4) {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" index 5d6cf951067f..0a3b356ee36a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039991.661 units remaining) + - location: 13 (remaining gas: 1039992.021 units remaining) [ (Pair "hello" None {}) ] - - location: 13 (remaining gas: 1039991.651 units remaining) + - location: 13 (remaining gas: 1039992.011 units remaining) [ "hello" (Pair None {}) ] - - location: 14 (remaining gas: 1039991.641 units remaining) + - location: 14 (remaining gas: 1039992.011 units remaining) [ (Pair None {}) ] - - location: 16 (remaining gas: 1039991.631 units remaining) + - location: 16 (remaining gas: 1039992.001 units remaining) [ None {} ] - - location: 14 (remaining gas: 1039991.611 units remaining) + - location: 14 (remaining gas: 1039991.981 units remaining) [ "hello" None {} ] - - location: 17 (remaining gas: 1039991.516 units remaining) + - location: 17 (remaining gas: 1039991.886 units remaining) [ None {} ] - - location: 18 (remaining gas: 1039991.506 units remaining) + - location: 18 (remaining gas: 1039991.876 units remaining) [ (Pair None {}) ] - - location: 19 (remaining gas: 1039991.496 units remaining) + - location: 19 (remaining gas: 1039991.866 units remaining) [ {} (Pair None {}) ] - - location: 21 (remaining gas: 1039991.486 units remaining) + - location: 21 (remaining gas: 1039991.856 units remaining) [ (Pair {} None {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" index 393751009318..d23cf0902707 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" @@ -7,35 +7,35 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039988.316 units remaining) + - location: 12 (remaining gas: 1039988.811 units remaining) [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 12 (remaining gas: 1039988.306 units remaining) + - location: 12 (remaining gas: 1039988.801 units remaining) [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 13 (remaining gas: 1039988.296 units remaining) + - location: 13 (remaining gas: 1039988.791 units remaining) [ "1" (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 14 (remaining gas: 1039988.286 units remaining) + - location: 14 (remaining gas: 1039988.791 units remaining) [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 17 (remaining gas: 1039988.276 units remaining) + - location: 17 (remaining gas: 1039988.781 units remaining) [ (Pair None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 18 (remaining gas: 1039988.266 units remaining) + - location: 18 (remaining gas: 1039988.771 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: 19 (remaining gas: 1039988.256 units remaining) + - location: 19 (remaining gas: 1039988.761 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039988.236 units remaining) + - location: 14 (remaining gas: 1039988.741 units remaining) [ "1" { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039988.153 units remaining) + - location: 20 (remaining gas: 1039988.658 units remaining) [ (Some "one") { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039988.143 units remaining) + - location: 21 (remaining gas: 1039988.648 units remaining) [ (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 22 (remaining gas: 1039988.133 units remaining) + - location: 22 (remaining gas: 1039988.638 units remaining) [ {} (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 24 (remaining gas: 1039988.123 units remaining) + - location: 24 (remaining gas: 1039988.628 units remaining) [ (Pair {} (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" index 1aba8737244f..b8fffe28508c 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" @@ -7,35 +7,35 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039988.675 units remaining) + - location: 12 (remaining gas: 1039989.170 units remaining) [ (Pair "" None { Elt "hello" "hi" }) ] - - location: 12 (remaining gas: 1039988.665 units remaining) + - location: 12 (remaining gas: 1039989.160 units remaining) [ (Pair "" None { Elt "hello" "hi" }) (Pair "" None { Elt "hello" "hi" }) ] - - location: 13 (remaining gas: 1039988.655 units remaining) + - location: 13 (remaining gas: 1039989.150 units remaining) [ "" (Pair "" None { Elt "hello" "hi" }) ] - - location: 14 (remaining gas: 1039988.645 units remaining) + - location: 14 (remaining gas: 1039989.150 units remaining) [ (Pair "" None { Elt "hello" "hi" }) ] - - location: 17 (remaining gas: 1039988.635 units remaining) + - location: 17 (remaining gas: 1039989.140 units remaining) [ (Pair None { Elt "hello" "hi" }) ] - - location: 18 (remaining gas: 1039988.625 units remaining) + - location: 18 (remaining gas: 1039989.130 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039988.615 units remaining) + - location: 19 (remaining gas: 1039989.120 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039988.595 units remaining) + - location: 14 (remaining gas: 1039989.100 units remaining) [ "" { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039988.515 units remaining) + - location: 20 (remaining gas: 1039989.020 units remaining) [ None { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039988.505 units remaining) + - location: 21 (remaining gas: 1039989.010 units remaining) [ (Pair None { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039989 units remaining) [ {} (Pair None { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039988.485 units remaining) + - location: 24 (remaining gas: 1039988.990 units remaining) [ (Pair {} None { Elt "hello" "hi" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" index b71f61f8138e..136d46fc9a37 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" @@ -7,35 +7,35 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039988.625 units remaining) + - location: 12 (remaining gas: 1039989.120 units remaining) [ (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 12 (remaining gas: 1039988.615 units remaining) + - location: 12 (remaining gas: 1039989.110 units remaining) [ (Pair "hello" None { Elt "hello" "hi" }) (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 13 (remaining gas: 1039988.605 units remaining) + - location: 13 (remaining gas: 1039989.100 units remaining) [ "hello" (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 14 (remaining gas: 1039988.595 units remaining) + - location: 14 (remaining gas: 1039989.100 units remaining) [ (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 17 (remaining gas: 1039988.585 units remaining) + - location: 17 (remaining gas: 1039989.090 units remaining) [ (Pair None { Elt "hello" "hi" }) ] - - location: 18 (remaining gas: 1039988.575 units remaining) + - location: 18 (remaining gas: 1039989.080 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039988.565 units remaining) + - location: 19 (remaining gas: 1039989.070 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039988.545 units remaining) + - location: 14 (remaining gas: 1039989.050 units remaining) [ "hello" { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039988.455 units remaining) + - location: 20 (remaining gas: 1039988.960 units remaining) [ (Some "hi") { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039988.445 units remaining) + - location: 21 (remaining gas: 1039988.950 units remaining) [ (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039988.435 units remaining) + - location: 22 (remaining gas: 1039988.940 units remaining) [ {} (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039988.425 units remaining) + - location: 24 (remaining gas: 1039988.930 units remaining) [ (Pair {} (Some "hi") { Elt "hello" "hi" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" index aacf22f25d79..13210cf9a3de 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039669.722 units remaining) + - location: 8 (remaining gas: 1039669.947 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" None) ] - - location: 8 (remaining gas: 1039669.712 units remaining) + - location: 8 (remaining gas: 1039669.937 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" ] - - location: 9 (remaining gas: 1039669.107 units remaining) + - location: 9 (remaining gas: 1039669.332 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 10 (remaining gas: 1039669.097 units remaining) + - location: 10 (remaining gas: 1039669.322 units remaining) [ (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] - - location: 11 (remaining gas: 1039669.087 units remaining) + - location: 11 (remaining gas: 1039669.312 units remaining) [ {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] - - location: 13 (remaining gas: 1039669.077 units remaining) + - location: 13 (remaining gas: 1039669.302 units remaining) [ (Pair {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" index b6ba3bc7d502..3bacacb8f0b3 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039669.722 units remaining) + - location: 8 (remaining gas: 1039669.947 units remaining) [ (Pair "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" None) ] - - location: 8 (remaining gas: 1039669.712 units remaining) + - location: 8 (remaining gas: 1039669.937 units remaining) [ "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" ] - - location: 9 (remaining gas: 1039669.107 units remaining) + - location: 9 (remaining gas: 1039669.332 units remaining) [ "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k" ] - - location: 10 (remaining gas: 1039669.097 units remaining) + - location: 10 (remaining gas: 1039669.322 units remaining) [ (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] - - location: 11 (remaining gas: 1039669.087 units remaining) + - location: 11 (remaining gas: 1039669.312 units remaining) [ {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] - - location: 13 (remaining gas: 1039669.077 units remaining) + - location: 13 (remaining gas: 1039669.302 units remaining) [ (Pair {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" index a34aaf6acdde..6e6c76e1a81b 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.846 units remaining) + - location: 7 (remaining gas: 1039995.071 units remaining) [ (Pair "12345" 0x00) ] - - location: 7 (remaining gas: 1039994.836 units remaining) + - location: 7 (remaining gas: 1039995.061 units remaining) [ "12345" ] - - location: 8 (remaining gas: 1039994.345 units remaining) + - location: 8 (remaining gas: 1039994.570 units remaining) [ 0x0501000000053132333435 ] - - location: 9 (remaining gas: 1039993.903 units remaining) + - location: 9 (remaining gas: 1039994.128 units remaining) [ 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] - - location: 10 (remaining gas: 1039993.893 units remaining) + - location: 10 (remaining gas: 1039994.118 units remaining) [ {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] - - location: 12 (remaining gas: 1039993.883 units remaining) + - location: 12 (remaining gas: 1039994.108 units remaining) [ (Pair {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" index 137be6ce2e22..47f1d1c6a877 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.826 units remaining) + - location: 7 (remaining gas: 1039995.051 units remaining) [ (Pair "abcdefg" 0x00) ] - - location: 7 (remaining gas: 1039994.816 units remaining) + - location: 7 (remaining gas: 1039995.041 units remaining) [ "abcdefg" ] - - location: 8 (remaining gas: 1039994.259 units remaining) + - location: 8 (remaining gas: 1039994.484 units remaining) [ 0x05010000000761626364656667 ] - - location: 9 (remaining gas: 1039993.815 units remaining) + - location: 9 (remaining gas: 1039994.040 units remaining) [ 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] - - location: 10 (remaining gas: 1039993.805 units remaining) + - location: 10 (remaining gas: 1039994.030 units remaining) [ {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] - - location: 12 (remaining gas: 1039993.795 units remaining) + - location: 12 (remaining gas: 1039994.020 units remaining) [ (Pair {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out index 99eb3ee98657..faa9466ec509 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.365 units remaining) + - location: 8 (remaining gas: 1039992.680 units remaining) [ (Pair False None) ] - - location: 8 (remaining gas: 1039992.355 units remaining) + - location: 8 (remaining gas: 1039992.670 units remaining) [ False ] - - location: 9 (remaining gas: 1039992.345 units remaining) + - location: 9 (remaining gas: 1039992.670 units remaining) [ ] - - location: 15 (remaining gas: 1039992.335 units remaining) + - location: 15 (remaining gas: 1039992.660 units remaining) [ False ] - - location: 9 (remaining gas: 1039992.325 units remaining) + - location: 9 (remaining gas: 1039992.650 units remaining) [ False ] - - location: 18 (remaining gas: 1039992.315 units remaining) + - location: 18 (remaining gas: 1039992.640 units remaining) [ (Some False) ] - - location: 19 (remaining gas: 1039992.305 units remaining) + - location: 19 (remaining gas: 1039992.630 units remaining) [ {} (Some False) ] - - location: 21 (remaining gas: 1039992.295 units remaining) + - location: 21 (remaining gas: 1039992.620 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out index b384ce5fb366..e1f0dba7902c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.365 units remaining) + - location: 8 (remaining gas: 1039992.680 units remaining) [ (Pair True None) ] - - location: 8 (remaining gas: 1039992.355 units remaining) + - location: 8 (remaining gas: 1039992.670 units remaining) [ True ] - - location: 9 (remaining gas: 1039992.345 units remaining) + - location: 9 (remaining gas: 1039992.670 units remaining) [ ] - - location: 11 (remaining gas: 1039992.335 units remaining) + - location: 11 (remaining gas: 1039992.660 units remaining) [ True ] - - location: 9 (remaining gas: 1039992.325 units remaining) + - location: 9 (remaining gas: 1039992.650 units remaining) [ True ] - - location: 18 (remaining gas: 1039992.315 units remaining) + - location: 18 (remaining gas: 1039992.640 units remaining) [ (Some True) ] - - location: 19 (remaining gas: 1039992.305 units remaining) + - location: 19 (remaining gas: 1039992.630 units remaining) [ {} (Some True) ] - - location: 21 (remaining gas: 1039992.295 units remaining) + - location: 21 (remaining gas: 1039992.620 units remaining) [ (Pair {} (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" index ddd027753686..cfb283f29c4a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.311 units remaining) + - location: 8 (remaining gas: 1039993.581 units remaining) [ (Pair (Some "hello") "?") ] - - location: 8 (remaining gas: 1039993.301 units remaining) + - location: 8 (remaining gas: 1039993.571 units remaining) [ (Some "hello") ] - - location: 10 (remaining gas: 1039993.291 units remaining) + - location: 10 (remaining gas: 1039993.571 units remaining) [ "hello" ] - - location: 10 (remaining gas: 1039993.281 units remaining) + - location: 10 (remaining gas: 1039993.561 units remaining) [ "hello" ] - - location: 16 (remaining gas: 1039993.271 units remaining) + - location: 16 (remaining gas: 1039993.551 units remaining) [ {} "hello" ] - - location: 18 (remaining gas: 1039993.261 units remaining) + - location: 18 (remaining gas: 1039993.541 units remaining) [ (Pair {} "hello") ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" index 03b7cf21ad43..45d487383747 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.475 units remaining) + - location: 8 (remaining gas: 1039993.745 units remaining) [ (Pair None "?") ] - - location: 8 (remaining gas: 1039993.465 units remaining) + - location: 8 (remaining gas: 1039993.735 units remaining) [ None ] - - location: 10 (remaining gas: 1039993.455 units remaining) + - location: 10 (remaining gas: 1039993.735 units remaining) [ ] - - location: 12 (remaining gas: 1039993.445 units remaining) + - location: 12 (remaining gas: 1039993.725 units remaining) [ "" ] - - location: 10 (remaining gas: 1039993.435 units remaining) + - location: 10 (remaining gas: 1039993.715 units remaining) [ "" ] - - location: 16 (remaining gas: 1039993.425 units remaining) + - location: 16 (remaining gas: 1039993.705 units remaining) [ {} "" ] - - location: 18 (remaining gas: 1039993.415 units remaining) + - location: 18 (remaining gas: 1039993.695 units remaining) [ (Pair {} "") ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out index 3e7e6aac1008..528b7f0cdd3f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair 0 None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ 0 ] - - location: 9 (remaining gas: 1039994.702 units remaining) + - location: 9 (remaining gas: 1039994.927 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039994.692 units remaining) + - location: 10 (remaining gas: 1039994.917 units remaining) [ (Some 0) ] - - location: 11 (remaining gas: 1039994.682 units remaining) + - location: 11 (remaining gas: 1039994.907 units remaining) [ {} (Some 0) ] - - location: 13 (remaining gas: 1039994.672 units remaining) + - location: 13 (remaining gas: 1039994.897 units remaining) [ (Pair {} (Some 0)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out index f9a82cbb25b3..f98dbdaf73e8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair 1 None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ 1 ] - - location: 9 (remaining gas: 1039994.702 units remaining) + - location: 9 (remaining gas: 1039994.927 units remaining) [ 1 ] - - location: 10 (remaining gas: 1039994.692 units remaining) + - location: 10 (remaining gas: 1039994.917 units remaining) [ (Some 1) ] - - location: 11 (remaining gas: 1039994.682 units remaining) + - location: 11 (remaining gas: 1039994.907 units remaining) [ {} (Some 1) ] - - location: 13 (remaining gas: 1039994.672 units remaining) + - location: 13 (remaining gas: 1039994.897 units remaining) [ (Pair {} (Some 1)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out index 174547fc600c..5bc234f45062 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair 9999 None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ 9999 ] - - location: 9 (remaining gas: 1039994.702 units remaining) + - location: 9 (remaining gas: 1039994.927 units remaining) [ 9999 ] - - location: 10 (remaining gas: 1039994.692 units remaining) + - location: 10 (remaining gas: 1039994.917 units remaining) [ (Some 9999) ] - - location: 11 (remaining gas: 1039994.682 units remaining) + - location: 11 (remaining gas: 1039994.907 units remaining) [ {} (Some 9999) ] - - location: 13 (remaining gas: 1039994.672 units remaining) + - location: 13 (remaining gas: 1039994.897 units remaining) [ (Pair {} (Some 9999)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out index 3120fd252a6e..2dcbb2e84fcf 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ 0x48656c6c6f2c20776f726c6421 ] - - location: 9 (remaining gas: 1039993.255 units remaining) + - location: 9 (remaining gas: 1039993.480 units remaining) [ 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4 ] - - location: 10 (remaining gas: 1039993.245 units remaining) + - location: 10 (remaining gas: 1039993.470 units remaining) [ (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] - - location: 11 (remaining gas: 1039993.235 units remaining) + - location: 11 (remaining gas: 1039993.460 units remaining) [ {} (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] - - location: 13 (remaining gas: 1039993.225 units remaining) + - location: 13 (remaining gas: 1039993.450 units remaining) [ (Pair {} (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" index f566320c161b..4692cadcd2f1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039992.486 units remaining) + - location: 11 (remaining gas: 1039992.756 units remaining) [ (Pair (Left True) (Left "X")) ] - - location: 11 (remaining gas: 1039992.476 units remaining) + - location: 11 (remaining gas: 1039992.746 units remaining) [ (Left True) ] - - location: 12 (remaining gas: 1039992.466 units remaining) + - location: 12 (remaining gas: 1039992.746 units remaining) [ True ] - - location: 14 (remaining gas: 1039992.456 units remaining) + - location: 14 (remaining gas: 1039992.736 units remaining) [ (Right True) ] - - location: 12 (remaining gas: 1039992.446 units remaining) + - location: 12 (remaining gas: 1039992.726 units remaining) [ (Right True) ] - - location: 19 (remaining gas: 1039992.436 units remaining) + - location: 19 (remaining gas: 1039992.716 units remaining) [ {} (Right True) ] - - location: 21 (remaining gas: 1039992.426 units remaining) + - location: 21 (remaining gas: 1039992.706 units remaining) [ (Pair {} (Right True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" index 47798746b552..136fe1712e4b 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039992.462 units remaining) + - location: 11 (remaining gas: 1039992.732 units remaining) [ (Pair (Right "a") (Left "X")) ] - - location: 11 (remaining gas: 1039992.452 units remaining) + - location: 11 (remaining gas: 1039992.722 units remaining) [ (Right "a") ] - - location: 12 (remaining gas: 1039992.442 units remaining) + - location: 12 (remaining gas: 1039992.722 units remaining) [ "a" ] - - location: 17 (remaining gas: 1039992.432 units remaining) + - location: 17 (remaining gas: 1039992.712 units remaining) [ (Left "a") ] - - location: 12 (remaining gas: 1039992.422 units remaining) + - location: 12 (remaining gas: 1039992.702 units remaining) [ (Left "a") ] - - location: 19 (remaining gas: 1039992.412 units remaining) + - location: 19 (remaining gas: 1039992.692 units remaining) [ {} (Left "a") ] - - location: 21 (remaining gas: 1039992.402 units remaining) + - location: 21 (remaining gas: 1039992.682 units remaining) [ (Pair {} (Left "a")) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out index f3992e56cdbb..f51d352461b5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 111) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.533 units remaining) + - location: 8 (remaining gas: 1039995.713 units remaining) [ 1 ] - - location: 9 (remaining gas: 1039995.523 units remaining) + - location: 9 (remaining gas: 1039995.703 units remaining) [ {} 1 ] - - location: 11 (remaining gas: 1039995.513 units remaining) + - location: 11 (remaining gas: 1039995.693 units remaining) [ (Pair {} 1) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" index 860fd1753fd4..362eff0d118d 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.753 units remaining) + - location: 8 (remaining gas: 1039994.023 units remaining) [ (Pair { "d" ; "e" ; "f" } "abc") ] - - location: 8 (remaining gas: 1039993.743 units remaining) + - location: 8 (remaining gas: 1039994.013 units remaining) [ { "d" ; "e" ; "f" } "abc" ] - - location: 9 (remaining gas: 1039993.733 units remaining) + - location: 9 (remaining gas: 1039994.003 units remaining) [ "abc" { "d" ; "e" ; "f" } ] - - location: 10 (remaining gas: 1039993.723 units remaining) + - location: 10 (remaining gas: 1039993.993 units remaining) [ { "abc" ; "d" ; "e" ; "f" } ] - - location: 11 (remaining gas: 1039993.583 units remaining) + - location: 11 (remaining gas: 1039993.853 units remaining) [ "abcdef" ] - - location: 12 (remaining gas: 1039993.573 units remaining) + - location: 12 (remaining gas: 1039993.843 units remaining) [ {} "abcdef" ] - - location: 14 (remaining gas: 1039993.563 units remaining) + - location: 14 (remaining gas: 1039993.833 units remaining) [ (Pair {} "abcdef") ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" index 40b49bf327ef..9d5f222f8e9c 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.125 units remaining) + - location: 8 (remaining gas: 1039994.395 units remaining) [ (Pair {} "abc") ] - - location: 8 (remaining gas: 1039994.115 units remaining) + - location: 8 (remaining gas: 1039994.385 units remaining) [ {} "abc" ] - - location: 9 (remaining gas: 1039994.105 units remaining) + - location: 9 (remaining gas: 1039994.375 units remaining) [ "abc" {} ] - - location: 10 (remaining gas: 1039994.095 units remaining) + - location: 10 (remaining gas: 1039994.365 units remaining) [ { "abc" } ] - - location: 11 (remaining gas: 1039993.985 units remaining) + - location: 11 (remaining gas: 1039994.255 units remaining) [ "abc" ] - - location: 12 (remaining gas: 1039993.975 units remaining) + - location: 12 (remaining gas: 1039994.245 units remaining) [ {} "abc" ] - - location: 14 (remaining gas: 1039993.965 units remaining) + - location: 14 (remaining gas: 1039994.235 units remaining) [ (Pair {} "abc") ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out index 6abc7fe8613d..9ba19a341644 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.869 units remaining) + - location: 8 (remaining gas: 1039994.139 units remaining) [ (Pair { 0x00 ; 0x11 ; 0x00 } 0x) ] - - location: 8 (remaining gas: 1039993.859 units remaining) + - location: 8 (remaining gas: 1039994.129 units remaining) [ { 0x00 ; 0x11 ; 0x00 } 0x ] - - location: 9 (remaining gas: 1039993.849 units remaining) + - location: 9 (remaining gas: 1039994.119 units remaining) [ 0x { 0x00 ; 0x11 ; 0x00 } ] - - location: 10 (remaining gas: 1039993.839 units remaining) + - location: 10 (remaining gas: 1039994.109 units remaining) [ { 0x ; 0x00 ; 0x11 ; 0x00 } ] - - location: 11 (remaining gas: 1039993.699 units remaining) + - location: 11 (remaining gas: 1039993.969 units remaining) [ 0x001100 ] - - location: 12 (remaining gas: 1039993.689 units remaining) + - location: 12 (remaining gas: 1039993.959 units remaining) [ {} 0x001100 ] - - location: 14 (remaining gas: 1039993.679 units remaining) + - location: 14 (remaining gas: 1039993.949 units remaining) [ (Pair {} 0x001100) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out index 77a314911a5f..3ce3207614fa 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.169 units remaining) + - location: 8 (remaining gas: 1039994.439 units remaining) [ (Pair {} 0x) ] - - location: 8 (remaining gas: 1039994.159 units remaining) + - location: 8 (remaining gas: 1039994.429 units remaining) [ {} 0x ] - - location: 9 (remaining gas: 1039994.149 units remaining) + - location: 9 (remaining gas: 1039994.419 units remaining) [ 0x {} ] - - location: 10 (remaining gas: 1039994.139 units remaining) + - location: 10 (remaining gas: 1039994.409 units remaining) [ { 0x } ] - - location: 11 (remaining gas: 1039994.029 units remaining) + - location: 11 (remaining gas: 1039994.299 units remaining) [ 0x ] - - location: 12 (remaining gas: 1039994.019 units remaining) + - location: 12 (remaining gas: 1039994.289 units remaining) [ {} 0x ] - - location: 14 (remaining gas: 1039994.009 units remaining) + - location: 14 (remaining gas: 1039994.279 units remaining) [ (Pair {} 0x) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out index 22ca32d7086e..49cfda4807f3 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.869 units remaining) + - location: 8 (remaining gas: 1039994.139 units remaining) [ (Pair { 0xcd ; 0xef ; 0x00 } 0x00ab) ] - - location: 8 (remaining gas: 1039993.859 units remaining) + - location: 8 (remaining gas: 1039994.129 units remaining) [ { 0xcd ; 0xef ; 0x00 } 0x00ab ] - - location: 9 (remaining gas: 1039993.849 units remaining) + - location: 9 (remaining gas: 1039994.119 units remaining) [ 0x00ab { 0xcd ; 0xef ; 0x00 } ] - - location: 10 (remaining gas: 1039993.839 units remaining) + - location: 10 (remaining gas: 1039994.109 units remaining) [ { 0x00ab ; 0xcd ; 0xef ; 0x00 } ] - - location: 11 (remaining gas: 1039993.699 units remaining) + - location: 11 (remaining gas: 1039993.969 units remaining) [ 0x00abcdef00 ] - - location: 12 (remaining gas: 1039993.689 units remaining) + - location: 12 (remaining gas: 1039993.959 units remaining) [ {} 0x00abcdef00 ] - - location: 14 (remaining gas: 1039993.679 units remaining) + - location: 14 (remaining gas: 1039993.949 units remaining) [ (Pair {} 0x00abcdef00) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out index bfec653c1a0b..a2f387243109 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.169 units remaining) + - location: 8 (remaining gas: 1039994.439 units remaining) [ (Pair {} 0xabcd) ] - - location: 8 (remaining gas: 1039994.159 units remaining) + - location: 8 (remaining gas: 1039994.429 units remaining) [ {} 0xabcd ] - - location: 9 (remaining gas: 1039994.149 units remaining) + - location: 9 (remaining gas: 1039994.419 units remaining) [ 0xabcd {} ] - - location: 10 (remaining gas: 1039994.139 units remaining) + - location: 10 (remaining gas: 1039994.409 units remaining) [ { 0xabcd } ] - - location: 11 (remaining gas: 1039994.029 units remaining) + - location: 11 (remaining gas: 1039994.299 units remaining) [ 0xabcd ] - - location: 12 (remaining gas: 1039994.019 units remaining) + - location: 12 (remaining gas: 1039994.289 units remaining) [ {} 0xabcd ] - - location: 14 (remaining gas: 1039994.009 units remaining) + - location: 14 (remaining gas: 1039994.279 units remaining) [ (Pair {} 0xabcd) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" index 8303218cddfd..11bff77493c7 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.304 units remaining) + - location: 9 (remaining gas: 1039995.439 units remaining) [ (Pair { "1" ; "2" ; "3" } { "" }) ] - - location: 9 (remaining gas: 1039995.294 units remaining) + - location: 9 (remaining gas: 1039995.429 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 10 (remaining gas: 1039995.284 units remaining) + - location: 10 (remaining gas: 1039995.419 units remaining) [ {} { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039995.274 units remaining) + - location: 12 (remaining gas: 1039995.409 units remaining) [ (Pair {} { "1" ; "2" ; "3" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" index 6d9ade7b2eef..18438064e4ee 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.304 units remaining) + - location: 9 (remaining gas: 1039995.439 units remaining) [ (Pair { "a" ; "b" ; "c" } { "" }) ] - - location: 9 (remaining gas: 1039995.294 units remaining) + - location: 9 (remaining gas: 1039995.429 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 10 (remaining gas: 1039995.284 units remaining) + - location: 10 (remaining gas: 1039995.419 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039995.274 units remaining) + - location: 12 (remaining gas: 1039995.409 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" index 6160beffe4a7..00e458064f20 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.676 units remaining) + - location: 9 (remaining gas: 1039995.811 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039995.666 units remaining) + - location: 9 (remaining gas: 1039995.801 units remaining) [ {} ] - - location: 10 (remaining gas: 1039995.656 units remaining) + - location: 10 (remaining gas: 1039995.791 units remaining) [ {} {} ] - - location: 12 (remaining gas: 1039995.646 units remaining) + - location: 12 (remaining gas: 1039995.781 units remaining) [ (Pair {} {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" index fee41e3c5d89..52db333c0d47 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.328 units remaining) + - location: 9 (remaining gas: 1039994.463 units remaining) [ (Pair { "1" ; "2" ; "3" } { "" }) ] - - location: 9 (remaining gas: 1039994.318 units remaining) + - location: 9 (remaining gas: 1039994.453 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 10 (remaining gas: 1039994.318 units remaining) + - location: 10 (remaining gas: 1039994.453 units remaining) [ "1" ] - - location: 10 (remaining gas: 1039994.308 units remaining) + - location: 10 (remaining gas: 1039994.443 units remaining) [ "2" ] - - location: 10 (remaining gas: 1039994.298 units remaining) + - location: 10 (remaining gas: 1039994.433 units remaining) [ "3" ] - - location: 10 (remaining gas: 1039994.288 units remaining) + - location: 10 (remaining gas: 1039994.423 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039994.278 units remaining) + - location: 12 (remaining gas: 1039994.413 units remaining) [ {} { "1" ; "2" ; "3" } ] - - location: 14 (remaining gas: 1039994.268 units remaining) + - location: 14 (remaining gas: 1039994.403 units remaining) [ (Pair {} { "1" ; "2" ; "3" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" index 716f12dfe084..6dde7d15d834 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.328 units remaining) + - location: 9 (remaining gas: 1039994.463 units remaining) [ (Pair { "a" ; "b" ; "c" } { "" }) ] - - location: 9 (remaining gas: 1039994.318 units remaining) + - location: 9 (remaining gas: 1039994.453 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 10 (remaining gas: 1039994.318 units remaining) + - location: 10 (remaining gas: 1039994.453 units remaining) [ "a" ] - - location: 10 (remaining gas: 1039994.308 units remaining) + - location: 10 (remaining gas: 1039994.443 units remaining) [ "b" ] - - location: 10 (remaining gas: 1039994.298 units remaining) + - location: 10 (remaining gas: 1039994.433 units remaining) [ "c" ] - - location: 10 (remaining gas: 1039994.288 units remaining) + - location: 10 (remaining gas: 1039994.423 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039994.278 units remaining) + - location: 12 (remaining gas: 1039994.413 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039994.268 units remaining) + - location: 14 (remaining gas: 1039994.403 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" index 0bfaf343ded3..e66a7457079a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.700 units remaining) + - location: 9 (remaining gas: 1039994.835 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039994.690 units remaining) + - location: 9 (remaining gas: 1039994.825 units remaining) [ {} ] - - location: 10 (remaining gas: 1039994.690 units remaining) + - location: 10 (remaining gas: 1039994.825 units remaining) [ {} ] - - location: 12 (remaining gas: 1039994.680 units remaining) + - location: 12 (remaining gas: 1039994.815 units remaining) [ {} {} ] - - location: 14 (remaining gas: 1039994.670 units remaining) + - location: 14 (remaining gas: 1039994.805 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out index c0510703b4dc..9532b1f38b01 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.683 units remaining) + - location: 8 (remaining gas: 1039992.953 units remaining) [ (Pair { 10 ; 2 ; 1 } 0) ] - - location: 8 (remaining gas: 1039992.673 units remaining) + - location: 8 (remaining gas: 1039992.943 units remaining) [ { 10 ; 2 ; 1 } ] - - location: 9 (remaining gas: 1039992.663 units remaining) + - location: 9 (remaining gas: 1039992.933 units remaining) [ 1 { 10 ; 2 ; 1 } ] - - location: 12 (remaining gas: 1039992.653 units remaining) + - location: 12 (remaining gas: 1039992.923 units remaining) [ { 10 ; 2 ; 1 } 1 ] - - location: 13 (remaining gas: 1039992.653 units remaining) + - location: 13 (remaining gas: 1039992.923 units remaining) [ 10 1 ] - - location: 15 (remaining gas: 1039992.594 units remaining) + - location: 15 (remaining gas: 1039992.864 units remaining) [ 10 ] - - location: 13 (remaining gas: 1039992.584 units remaining) + - location: 13 (remaining gas: 1039992.854 units remaining) [ 2 10 ] - - location: 15 (remaining gas: 1039992.525 units remaining) + - location: 15 (remaining gas: 1039992.795 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039992.515 units remaining) + - location: 13 (remaining gas: 1039992.785 units remaining) [ 1 20 ] - - location: 15 (remaining gas: 1039992.456 units remaining) + - location: 15 (remaining gas: 1039992.726 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039992.446 units remaining) + - location: 13 (remaining gas: 1039992.716 units remaining) [ 20 ] - - location: 16 (remaining gas: 1039992.436 units remaining) + - location: 16 (remaining gas: 1039992.706 units remaining) [ {} 20 ] - - location: 18 (remaining gas: 1039992.426 units remaining) + - location: 18 (remaining gas: 1039992.696 units remaining) [ (Pair {} 20) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out index e7e8d686fc4c..9f634460e870 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.683 units remaining) + - location: 8 (remaining gas: 1039992.953 units remaining) [ (Pair { 3 ; 6 ; 9 } 0) ] - - location: 8 (remaining gas: 1039992.673 units remaining) + - location: 8 (remaining gas: 1039992.943 units remaining) [ { 3 ; 6 ; 9 } ] - - location: 9 (remaining gas: 1039992.663 units remaining) + - location: 9 (remaining gas: 1039992.933 units remaining) [ 1 { 3 ; 6 ; 9 } ] - - location: 12 (remaining gas: 1039992.653 units remaining) + - location: 12 (remaining gas: 1039992.923 units remaining) [ { 3 ; 6 ; 9 } 1 ] - - location: 13 (remaining gas: 1039992.653 units remaining) + - location: 13 (remaining gas: 1039992.923 units remaining) [ 3 1 ] - - location: 15 (remaining gas: 1039992.594 units remaining) + - location: 15 (remaining gas: 1039992.864 units remaining) [ 3 ] - - location: 13 (remaining gas: 1039992.584 units remaining) + - location: 13 (remaining gas: 1039992.854 units remaining) [ 6 3 ] - - location: 15 (remaining gas: 1039992.525 units remaining) + - location: 15 (remaining gas: 1039992.795 units remaining) [ 18 ] - - location: 13 (remaining gas: 1039992.515 units remaining) + - location: 13 (remaining gas: 1039992.785 units remaining) [ 9 18 ] - - location: 15 (remaining gas: 1039992.456 units remaining) + - location: 15 (remaining gas: 1039992.726 units remaining) [ 162 ] - - location: 13 (remaining gas: 1039992.446 units remaining) + - location: 13 (remaining gas: 1039992.716 units remaining) [ 162 ] - - location: 16 (remaining gas: 1039992.436 units remaining) + - location: 16 (remaining gas: 1039992.706 units remaining) [ {} 162 ] - - location: 18 (remaining gas: 1039992.426 units remaining) + - location: 18 (remaining gas: 1039992.696 units remaining) [ (Pair {} 162) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out index d8be07275f69..dfe88f045c70 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out @@ -7,130 +7,130 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039986.939 units remaining) + - location: 9 (remaining gas: 1039987.569 units remaining) [ (Pair { 1 ; 1 ; 1 ; 1 } { 0 }) ] - - location: 9 (remaining gas: 1039986.929 units remaining) + - location: 9 (remaining gas: 1039987.559 units remaining) [ { 1 ; 1 ; 1 ; 1 } ] - - location: 10 (remaining gas: 1039986.919 units remaining) + - location: 10 (remaining gas: 1039987.549 units remaining) [ 0 { 1 ; 1 ; 1 ; 1 } ] - - location: 13 (remaining gas: 1039986.909 units remaining) + - location: 13 (remaining gas: 1039987.539 units remaining) [ { 1 ; 1 ; 1 ; 1 } 0 ] - - location: 14 (remaining gas: 1039986.909 units remaining) + - location: 14 (remaining gas: 1039987.539 units remaining) [ 1 0 ] - - location: 16 (remaining gas: 1039986.899 units remaining) + - location: 16 (remaining gas: 1039987.539 units remaining) [ 0 ] - - location: 18 (remaining gas: 1039986.889 units remaining) + - location: 18 (remaining gas: 1039987.529 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039986.869 units remaining) + - location: 16 (remaining gas: 1039987.509 units remaining) [ 1 0 0 ] - - location: 19 (remaining gas: 1039986.834 units remaining) + - location: 19 (remaining gas: 1039987.474 units remaining) [ 1 0 ] - - location: 20 (remaining gas: 1039986.824 units remaining) + - location: 20 (remaining gas: 1039987.474 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039986.814 units remaining) + - location: 22 (remaining gas: 1039987.464 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039986.779 units remaining) + - location: 25 (remaining gas: 1039987.429 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039986.759 units remaining) + - location: 20 (remaining gas: 1039987.409 units remaining) [ 1 1 ] - - location: 14 (remaining gas: 1039986.749 units remaining) + - location: 14 (remaining gas: 1039987.399 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039986.739 units remaining) + - location: 16 (remaining gas: 1039987.399 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039986.729 units remaining) + - location: 18 (remaining gas: 1039987.389 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039986.709 units remaining) + - location: 16 (remaining gas: 1039987.369 units remaining) [ 1 1 1 ] - - location: 19 (remaining gas: 1039986.674 units remaining) + - location: 19 (remaining gas: 1039987.334 units remaining) [ 2 1 ] - - location: 20 (remaining gas: 1039986.664 units remaining) + - location: 20 (remaining gas: 1039987.334 units remaining) [ 1 ] - - location: 22 (remaining gas: 1039986.654 units remaining) + - location: 22 (remaining gas: 1039987.324 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039986.619 units remaining) + - location: 25 (remaining gas: 1039987.289 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039986.599 units remaining) + - location: 20 (remaining gas: 1039987.269 units remaining) [ 2 2 ] - - location: 14 (remaining gas: 1039986.589 units remaining) + - location: 14 (remaining gas: 1039987.259 units remaining) [ 1 2 ] - - location: 16 (remaining gas: 1039986.579 units remaining) + - location: 16 (remaining gas: 1039987.259 units remaining) [ 2 ] - - location: 18 (remaining gas: 1039986.569 units remaining) + - location: 18 (remaining gas: 1039987.249 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039986.549 units remaining) + - location: 16 (remaining gas: 1039987.229 units remaining) [ 1 2 2 ] - - location: 19 (remaining gas: 1039986.514 units remaining) + - location: 19 (remaining gas: 1039987.194 units remaining) [ 3 2 ] - - location: 20 (remaining gas: 1039986.504 units remaining) + - location: 20 (remaining gas: 1039987.194 units remaining) [ 2 ] - - location: 22 (remaining gas: 1039986.494 units remaining) + - location: 22 (remaining gas: 1039987.184 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039986.459 units remaining) + - location: 25 (remaining gas: 1039987.149 units remaining) [ 3 ] - - location: 20 (remaining gas: 1039986.439 units remaining) + - location: 20 (remaining gas: 1039987.129 units remaining) [ 3 3 ] - - location: 14 (remaining gas: 1039986.429 units remaining) + - location: 14 (remaining gas: 1039987.119 units remaining) [ 1 3 ] - - location: 16 (remaining gas: 1039986.419 units remaining) + - location: 16 (remaining gas: 1039987.119 units remaining) [ 3 ] - - location: 18 (remaining gas: 1039986.409 units remaining) + - location: 18 (remaining gas: 1039987.109 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039986.389 units remaining) + - location: 16 (remaining gas: 1039987.089 units remaining) [ 1 3 3 ] - - location: 19 (remaining gas: 1039986.354 units remaining) + - location: 19 (remaining gas: 1039987.054 units remaining) [ 4 3 ] - - location: 20 (remaining gas: 1039986.344 units remaining) + - location: 20 (remaining gas: 1039987.054 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039986.334 units remaining) + - location: 22 (remaining gas: 1039987.044 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039986.299 units remaining) + - location: 25 (remaining gas: 1039987.009 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039986.279 units remaining) + - location: 20 (remaining gas: 1039986.989 units remaining) [ 4 4 ] - - location: 14 (remaining gas: 1039986.269 units remaining) + - location: 14 (remaining gas: 1039986.979 units remaining) [ { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 26 (remaining gas: 1039986.259 units remaining) + - location: 26 (remaining gas: 1039986.969 units remaining) [ {} { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 28 (remaining gas: 1039986.249 units remaining) + - location: 28 (remaining gas: 1039986.959 units remaining) [ (Pair {} { 1 ; 2 ; 3 ; 4 }) 4 ] - - location: 29 (remaining gas: 1039986.239 units remaining) + - location: 29 (remaining gas: 1039986.959 units remaining) [ 4 ] - - location: 31 (remaining gas: 1039986.229 units remaining) + - location: 31 (remaining gas: 1039986.949 units remaining) [ ] - - location: 29 (remaining gas: 1039986.209 units remaining) + - location: 29 (remaining gas: 1039986.929 units remaining) [ (Pair {} { 1 ; 2 ; 3 ; 4 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out index 6e0910a95c80..e213a3e4e239 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out @@ -7,130 +7,130 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039986.939 units remaining) + - location: 9 (remaining gas: 1039987.569 units remaining) [ (Pair { 1 ; 2 ; 3 ; 0 } { 0 }) ] - - location: 9 (remaining gas: 1039986.929 units remaining) + - location: 9 (remaining gas: 1039987.559 units remaining) [ { 1 ; 2 ; 3 ; 0 } ] - - location: 10 (remaining gas: 1039986.919 units remaining) + - location: 10 (remaining gas: 1039987.549 units remaining) [ 0 { 1 ; 2 ; 3 ; 0 } ] - - location: 13 (remaining gas: 1039986.909 units remaining) + - location: 13 (remaining gas: 1039987.539 units remaining) [ { 1 ; 2 ; 3 ; 0 } 0 ] - - location: 14 (remaining gas: 1039986.909 units remaining) + - location: 14 (remaining gas: 1039987.539 units remaining) [ 1 0 ] - - location: 16 (remaining gas: 1039986.899 units remaining) + - location: 16 (remaining gas: 1039987.539 units remaining) [ 0 ] - - location: 18 (remaining gas: 1039986.889 units remaining) + - location: 18 (remaining gas: 1039987.529 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039986.869 units remaining) + - location: 16 (remaining gas: 1039987.509 units remaining) [ 1 0 0 ] - - location: 19 (remaining gas: 1039986.834 units remaining) + - location: 19 (remaining gas: 1039987.474 units remaining) [ 1 0 ] - - location: 20 (remaining gas: 1039986.824 units remaining) + - location: 20 (remaining gas: 1039987.474 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039986.814 units remaining) + - location: 22 (remaining gas: 1039987.464 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039986.779 units remaining) + - location: 25 (remaining gas: 1039987.429 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039986.759 units remaining) + - location: 20 (remaining gas: 1039987.409 units remaining) [ 1 1 ] - - location: 14 (remaining gas: 1039986.749 units remaining) + - location: 14 (remaining gas: 1039987.399 units remaining) [ 2 1 ] - - location: 16 (remaining gas: 1039986.739 units remaining) + - location: 16 (remaining gas: 1039987.399 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039986.729 units remaining) + - location: 18 (remaining gas: 1039987.389 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039986.709 units remaining) + - location: 16 (remaining gas: 1039987.369 units remaining) [ 2 1 1 ] - - location: 19 (remaining gas: 1039986.674 units remaining) + - location: 19 (remaining gas: 1039987.334 units remaining) [ 3 1 ] - - location: 20 (remaining gas: 1039986.664 units remaining) + - location: 20 (remaining gas: 1039987.334 units remaining) [ 1 ] - - location: 22 (remaining gas: 1039986.654 units remaining) + - location: 22 (remaining gas: 1039987.324 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039986.619 units remaining) + - location: 25 (remaining gas: 1039987.289 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039986.599 units remaining) + - location: 20 (remaining gas: 1039987.269 units remaining) [ 3 2 ] - - location: 14 (remaining gas: 1039986.589 units remaining) + - location: 14 (remaining gas: 1039987.259 units remaining) [ 3 2 ] - - location: 16 (remaining gas: 1039986.579 units remaining) + - location: 16 (remaining gas: 1039987.259 units remaining) [ 2 ] - - location: 18 (remaining gas: 1039986.569 units remaining) + - location: 18 (remaining gas: 1039987.249 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039986.549 units remaining) + - location: 16 (remaining gas: 1039987.229 units remaining) [ 3 2 2 ] - - location: 19 (remaining gas: 1039986.514 units remaining) + - location: 19 (remaining gas: 1039987.194 units remaining) [ 5 2 ] - - location: 20 (remaining gas: 1039986.504 units remaining) + - location: 20 (remaining gas: 1039987.194 units remaining) [ 2 ] - - location: 22 (remaining gas: 1039986.494 units remaining) + - location: 22 (remaining gas: 1039987.184 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039986.459 units remaining) + - location: 25 (remaining gas: 1039987.149 units remaining) [ 3 ] - - location: 20 (remaining gas: 1039986.439 units remaining) + - location: 20 (remaining gas: 1039987.129 units remaining) [ 5 3 ] - - location: 14 (remaining gas: 1039986.429 units remaining) + - location: 14 (remaining gas: 1039987.119 units remaining) [ 0 3 ] - - location: 16 (remaining gas: 1039986.419 units remaining) + - location: 16 (remaining gas: 1039987.119 units remaining) [ 3 ] - - location: 18 (remaining gas: 1039986.409 units remaining) + - location: 18 (remaining gas: 1039987.109 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039986.389 units remaining) + - location: 16 (remaining gas: 1039987.089 units remaining) [ 0 3 3 ] - - location: 19 (remaining gas: 1039986.354 units remaining) + - location: 19 (remaining gas: 1039987.054 units remaining) [ 3 3 ] - - location: 20 (remaining gas: 1039986.344 units remaining) + - location: 20 (remaining gas: 1039987.054 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039986.334 units remaining) + - location: 22 (remaining gas: 1039987.044 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039986.299 units remaining) + - location: 25 (remaining gas: 1039987.009 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039986.279 units remaining) + - location: 20 (remaining gas: 1039986.989 units remaining) [ 3 4 ] - - location: 14 (remaining gas: 1039986.269 units remaining) + - location: 14 (remaining gas: 1039986.979 units remaining) [ { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 26 (remaining gas: 1039986.259 units remaining) + - location: 26 (remaining gas: 1039986.969 units remaining) [ {} { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 28 (remaining gas: 1039986.249 units remaining) + - location: 28 (remaining gas: 1039986.959 units remaining) [ (Pair {} { 1 ; 3 ; 5 ; 3 }) 4 ] - - location: 29 (remaining gas: 1039986.239 units remaining) + - location: 29 (remaining gas: 1039986.959 units remaining) [ 4 ] - - location: 31 (remaining gas: 1039986.229 units remaining) + - location: 31 (remaining gas: 1039986.949 units remaining) [ ] - - location: 29 (remaining gas: 1039986.209 units remaining) + - location: 29 (remaining gas: 1039986.929 units remaining) [ (Pair {} { 1 ; 3 ; 5 ; 3 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out index ab21a8bb1aab..bab5459c15ce 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out @@ -7,30 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039987.339 units remaining) + - location: 9 (remaining gas: 1039987.969 units remaining) [ (Pair {} { 0 }) ] - - location: 9 (remaining gas: 1039987.329 units remaining) + - location: 9 (remaining gas: 1039987.959 units remaining) [ {} ] - - location: 10 (remaining gas: 1039987.319 units remaining) + - location: 10 (remaining gas: 1039987.949 units remaining) [ 0 {} ] - - location: 13 (remaining gas: 1039987.309 units remaining) + - location: 13 (remaining gas: 1039987.939 units remaining) [ {} 0 ] - - location: 14 (remaining gas: 1039987.309 units remaining) + - location: 14 (remaining gas: 1039987.939 units remaining) [ {} 0 ] - - location: 26 (remaining gas: 1039987.299 units remaining) + - location: 26 (remaining gas: 1039987.929 units remaining) [ {} {} 0 ] - - location: 28 (remaining gas: 1039987.289 units remaining) + - location: 28 (remaining gas: 1039987.919 units remaining) [ (Pair {} {}) 0 ] - - location: 29 (remaining gas: 1039987.279 units remaining) + - location: 29 (remaining gas: 1039987.919 units remaining) [ 0 ] - - location: 31 (remaining gas: 1039987.269 units remaining) + - location: 31 (remaining gas: 1039987.909 units remaining) [ ] - - location: 29 (remaining gas: 1039987.249 units remaining) + - location: 29 (remaining gas: 1039987.889 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out index 8d05d69adf12..0a37ca66348c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.825 units remaining) + - location: 8 (remaining gas: 1039995.005 units remaining) [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] - - location: 8 (remaining gas: 1039994.815 units remaining) + - location: 8 (remaining gas: 1039994.995 units remaining) [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } ] - - location: 9 (remaining gas: 1039994.805 units remaining) + - location: 9 (remaining gas: 1039994.985 units remaining) [ 6 ] - - location: 10 (remaining gas: 1039994.795 units remaining) + - location: 10 (remaining gas: 1039994.975 units remaining) [ {} 6 ] - - location: 12 (remaining gas: 1039994.785 units remaining) + - location: 12 (remaining gas: 1039994.965 units remaining) [ (Pair {} 6) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out index fbb0d9bd3dd1..f31a205d5514 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.125 units remaining) + - location: 8 (remaining gas: 1039995.305 units remaining) [ (Pair { 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039995.115 units remaining) + - location: 8 (remaining gas: 1039995.295 units remaining) [ { 1 ; 2 ; 3 } ] - - location: 9 (remaining gas: 1039995.105 units remaining) + - location: 9 (remaining gas: 1039995.285 units remaining) [ 3 ] - - location: 10 (remaining gas: 1039995.095 units remaining) + - location: 10 (remaining gas: 1039995.275 units remaining) [ {} 3 ] - - location: 12 (remaining gas: 1039995.085 units remaining) + - location: 12 (remaining gas: 1039995.265 units remaining) [ (Pair {} 3) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out index d7974ea29b35..eaece68b2f26 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.325 units remaining) + - location: 8 (remaining gas: 1039995.505 units remaining) [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039995.315 units remaining) + - location: 8 (remaining gas: 1039995.495 units remaining) [ { 1 } ] - - location: 9 (remaining gas: 1039995.305 units remaining) + - location: 9 (remaining gas: 1039995.485 units remaining) [ 1 ] - - location: 10 (remaining gas: 1039995.295 units remaining) + - location: 10 (remaining gas: 1039995.475 units remaining) [ {} 1 ] - - location: 12 (remaining gas: 1039995.285 units remaining) + - location: 12 (remaining gas: 1039995.465 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out index 879528f7724c..efbc5ee6f8d4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.425 units remaining) + - location: 8 (remaining gas: 1039995.605 units remaining) [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039995.415 units remaining) + - location: 8 (remaining gas: 1039995.595 units remaining) [ {} ] - - location: 9 (remaining gas: 1039995.405 units remaining) + - location: 9 (remaining gas: 1039995.585 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039995.395 units remaining) + - location: 10 (remaining gas: 1039995.575 units remaining) [ {} 0 ] - - location: 12 (remaining gas: 1039995.385 units remaining) + - location: 12 (remaining gas: 1039995.565 units remaining) [ (Pair {} 0) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" index 7ab7d183f173..7b2ecc5d6670 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" @@ -7,157 +7,157 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039981.735 units remaining) + - location: 9 (remaining gas: 1039982.365 units remaining) [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039981.725 units remaining) + - location: 9 (remaining gas: 1039982.355 units remaining) [ { "c" ; "b" ; "a" } ] - - location: 10 (remaining gas: 1039981.715 units remaining) + - location: 10 (remaining gas: 1039982.345 units remaining) [ {} { "c" ; "b" ; "a" } ] - - location: 12 (remaining gas: 1039981.705 units remaining) + - location: 12 (remaining gas: 1039982.335 units remaining) [ { "c" ; "b" ; "a" } {} ] - - location: 13 (remaining gas: 1039981.695 units remaining) + - location: 13 (remaining gas: 1039982.325 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 14 (remaining gas: 1039981.685 units remaining) + - location: 14 (remaining gas: 1039982.315 units remaining) [ (Left (Pair { "c" ; "b" ; "a" } {})) ] - - location: 17 (remaining gas: 1039981.685 units remaining) + - location: 41 (remaining gas: 1039982.315 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 19 (remaining gas: 1039981.675 units remaining) + - location: 19 (remaining gas: 1039982.305 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) (Pair { "c" ; "b" ; "a" } {}) ] - - location: 20 (remaining gas: 1039981.665 units remaining) + - location: 20 (remaining gas: 1039982.295 units remaining) [ { "c" ; "b" ; "a" } (Pair { "c" ; "b" ; "a" } {}) ] - - location: 21 (remaining gas: 1039981.655 units remaining) + - location: 21 (remaining gas: 1039982.295 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 23 (remaining gas: 1039981.645 units remaining) + - location: 23 (remaining gas: 1039982.285 units remaining) [ {} ] - - location: 21 (remaining gas: 1039981.625 units remaining) + - location: 21 (remaining gas: 1039982.265 units remaining) [ { "c" ; "b" ; "a" } {} ] - - location: 24 (remaining gas: 1039981.615 units remaining) + - location: 24 (remaining gas: 1039982.265 units remaining) [ "c" { "b" ; "a" } {} ] - - location: 26 (remaining gas: 1039981.605 units remaining) + - location: 26 (remaining gas: 1039982.255 units remaining) [ { "b" ; "a" } "c" {} ] - - location: 27 (remaining gas: 1039981.595 units remaining) + - location: 27 (remaining gas: 1039982.255 units remaining) [ "c" {} ] - - location: 29 (remaining gas: 1039981.585 units remaining) + - location: 29 (remaining gas: 1039982.245 units remaining) [ { "c" } ] - - location: 27 (remaining gas: 1039981.565 units remaining) + - location: 27 (remaining gas: 1039982.225 units remaining) [ { "b" ; "a" } { "c" } ] - - location: 30 (remaining gas: 1039981.555 units remaining) + - location: 30 (remaining gas: 1039982.215 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 31 (remaining gas: 1039981.545 units remaining) + - location: 31 (remaining gas: 1039982.205 units remaining) [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: 24 (remaining gas: 1039981.535 units remaining) + - location: 24 (remaining gas: 1039982.195 units remaining) [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: 17 (remaining gas: 1039981.525 units remaining) + - location: 41 (remaining gas: 1039982.185 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 19 (remaining gas: 1039981.515 units remaining) + - location: 19 (remaining gas: 1039982.175 units remaining) [ (Pair { "b" ; "a" } { "c" }) (Pair { "b" ; "a" } { "c" }) ] - - location: 20 (remaining gas: 1039981.505 units remaining) + - location: 20 (remaining gas: 1039982.165 units remaining) [ { "b" ; "a" } (Pair { "b" ; "a" } { "c" }) ] - - location: 21 (remaining gas: 1039981.495 units remaining) + - location: 21 (remaining gas: 1039982.165 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 23 (remaining gas: 1039981.485 units remaining) + - location: 23 (remaining gas: 1039982.155 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039981.465 units remaining) + - location: 21 (remaining gas: 1039982.135 units remaining) [ { "b" ; "a" } { "c" } ] - - location: 24 (remaining gas: 1039981.455 units remaining) + - location: 24 (remaining gas: 1039982.135 units remaining) [ "b" { "a" } { "c" } ] - - location: 26 (remaining gas: 1039981.445 units remaining) + - location: 26 (remaining gas: 1039982.125 units remaining) [ { "a" } "b" { "c" } ] - - location: 27 (remaining gas: 1039981.435 units remaining) + - location: 27 (remaining gas: 1039982.125 units remaining) [ "b" { "c" } ] - - location: 29 (remaining gas: 1039981.425 units remaining) + - location: 29 (remaining gas: 1039982.115 units remaining) [ { "b" ; "c" } ] - - location: 27 (remaining gas: 1039981.405 units remaining) + - location: 27 (remaining gas: 1039982.095 units remaining) [ { "a" } { "b" ; "c" } ] - - location: 30 (remaining gas: 1039981.395 units remaining) + - location: 30 (remaining gas: 1039982.085 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 31 (remaining gas: 1039981.385 units remaining) + - location: 31 (remaining gas: 1039982.075 units remaining) [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: 24 (remaining gas: 1039981.375 units remaining) + - location: 24 (remaining gas: 1039982.065 units remaining) [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: 17 (remaining gas: 1039981.365 units remaining) + - location: 41 (remaining gas: 1039982.055 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 19 (remaining gas: 1039981.355 units remaining) + - location: 19 (remaining gas: 1039982.045 units remaining) [ (Pair { "a" } { "b" ; "c" }) (Pair { "a" } { "b" ; "c" }) ] - - location: 20 (remaining gas: 1039981.345 units remaining) + - location: 20 (remaining gas: 1039982.035 units remaining) [ { "a" } (Pair { "a" } { "b" ; "c" }) ] - - location: 21 (remaining gas: 1039981.335 units remaining) + - location: 21 (remaining gas: 1039982.035 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 23 (remaining gas: 1039981.325 units remaining) + - location: 23 (remaining gas: 1039982.025 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.305 units remaining) + - location: 21 (remaining gas: 1039982.005 units remaining) [ { "a" } { "b" ; "c" } ] - - location: 24 (remaining gas: 1039981.295 units remaining) + - location: 24 (remaining gas: 1039982.005 units remaining) [ "a" {} { "b" ; "c" } ] - - location: 26 (remaining gas: 1039981.285 units remaining) + - location: 26 (remaining gas: 1039981.995 units remaining) [ {} "a" { "b" ; "c" } ] - - location: 27 (remaining gas: 1039981.275 units remaining) + - location: 27 (remaining gas: 1039981.995 units remaining) [ "a" { "b" ; "c" } ] - - location: 29 (remaining gas: 1039981.265 units remaining) + - location: 29 (remaining gas: 1039981.985 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 27 (remaining gas: 1039981.245 units remaining) + - location: 27 (remaining gas: 1039981.965 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039981.235 units remaining) + - location: 30 (remaining gas: 1039981.955 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 31 (remaining gas: 1039981.225 units remaining) + - location: 31 (remaining gas: 1039981.945 units remaining) [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: 24 (remaining gas: 1039981.215 units remaining) + - location: 24 (remaining gas: 1039981.935 units remaining) [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: 17 (remaining gas: 1039981.205 units remaining) + - location: 41 (remaining gas: 1039981.925 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 19 (remaining gas: 1039981.195 units remaining) + - location: 19 (remaining gas: 1039981.915 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) (Pair {} { "a" ; "b" ; "c" }) ] - - location: 20 (remaining gas: 1039981.185 units remaining) + - location: 20 (remaining gas: 1039981.905 units remaining) [ {} (Pair {} { "a" ; "b" ; "c" }) ] - - location: 21 (remaining gas: 1039981.175 units remaining) + - location: 21 (remaining gas: 1039981.905 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 23 (remaining gas: 1039981.165 units remaining) + - location: 23 (remaining gas: 1039981.895 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.145 units remaining) + - location: 21 (remaining gas: 1039981.875 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039981.135 units remaining) + - location: 24 (remaining gas: 1039981.875 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 35 (remaining gas: 1039981.125 units remaining) + - location: 35 (remaining gas: 1039981.865 units remaining) [ (Right { "a" ; "b" ; "c" }) ] - - location: 24 (remaining gas: 1039981.115 units remaining) + - location: 24 (remaining gas: 1039981.855 units remaining) [ (Right { "a" ; "b" ; "c" }) ] - - location: 17 (remaining gas: 1039981.105 units remaining) + - location: 41 (remaining gas: 1039981.845 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 41 (remaining gas: 1039981.095 units remaining) + - location: 41 (remaining gas: 1039981.835 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 43 (remaining gas: 1039981.085 units remaining) + - location: 43 (remaining gas: 1039981.825 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" index 0f3de780eecb..086e8dab04ff 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" @@ -7,46 +7,46 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039982.107 units remaining) + - location: 9 (remaining gas: 1039982.737 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039982.097 units remaining) + - location: 9 (remaining gas: 1039982.727 units remaining) [ {} ] - - location: 10 (remaining gas: 1039982.087 units remaining) + - location: 10 (remaining gas: 1039982.717 units remaining) [ {} {} ] - - location: 12 (remaining gas: 1039982.077 units remaining) + - location: 12 (remaining gas: 1039982.707 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039982.067 units remaining) + - location: 13 (remaining gas: 1039982.697 units remaining) [ (Pair {} {}) ] - - location: 14 (remaining gas: 1039982.057 units remaining) + - location: 14 (remaining gas: 1039982.687 units remaining) [ (Left (Pair {} {})) ] - - location: 17 (remaining gas: 1039982.057 units remaining) + - location: 41 (remaining gas: 1039982.687 units remaining) [ (Pair {} {}) ] - - location: 19 (remaining gas: 1039982.047 units remaining) + - location: 19 (remaining gas: 1039982.677 units remaining) [ (Pair {} {}) (Pair {} {}) ] - - location: 20 (remaining gas: 1039982.037 units remaining) + - location: 20 (remaining gas: 1039982.667 units remaining) [ {} (Pair {} {}) ] - - location: 21 (remaining gas: 1039982.027 units remaining) + - location: 21 (remaining gas: 1039982.667 units remaining) [ (Pair {} {}) ] - - location: 23 (remaining gas: 1039982.017 units remaining) + - location: 23 (remaining gas: 1039982.657 units remaining) [ {} ] - - location: 21 (remaining gas: 1039981.997 units remaining) + - location: 21 (remaining gas: 1039982.637 units remaining) [ {} {} ] - - location: 24 (remaining gas: 1039981.987 units remaining) + - location: 24 (remaining gas: 1039982.637 units remaining) [ {} ] - - location: 35 (remaining gas: 1039981.977 units remaining) + - location: 35 (remaining gas: 1039982.627 units remaining) [ (Right {}) ] - - location: 24 (remaining gas: 1039981.967 units remaining) + - location: 24 (remaining gas: 1039982.617 units remaining) [ (Right {}) ] - - location: 17 (remaining gas: 1039981.957 units remaining) + - location: 41 (remaining gas: 1039982.607 units remaining) [ {} ] - - location: 41 (remaining gas: 1039981.947 units remaining) + - location: 41 (remaining gas: 1039982.597 units remaining) [ {} {} ] - - location: 43 (remaining gas: 1039981.937 units remaining) + - location: 43 (remaining gas: 1039982.587 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out index 24d91426a762..5031c8a46a2b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039994.834 units remaining) + - location: 11 (remaining gas: 1039994.969 units remaining) [ (Pair { Elt 0 0 ; Elt 3 4 } {}) ] - - location: 11 (remaining gas: 1039994.824 units remaining) + - location: 11 (remaining gas: 1039994.959 units remaining) [ { Elt 0 0 ; Elt 3 4 } ] - - location: 12 (remaining gas: 1039994.814 units remaining) + - location: 12 (remaining gas: 1039994.949 units remaining) [ {} { Elt 0 0 ; Elt 3 4 } ] - - location: 14 (remaining gas: 1039994.804 units remaining) + - location: 14 (remaining gas: 1039994.939 units remaining) [ (Pair {} { Elt 0 0 ; Elt 3 4 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out index 1241a8993b2d..3a89e03bfc44 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039995.149 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair { Elt 0 0 } {}) ] - - location: 11 (remaining gas: 1039995.139 units remaining) + - location: 11 (remaining gas: 1039995.274 units remaining) [ { Elt 0 0 } ] - - location: 12 (remaining gas: 1039995.129 units remaining) + - location: 12 (remaining gas: 1039995.264 units remaining) [ {} { Elt 0 0 } ] - - location: 14 (remaining gas: 1039995.119 units remaining) + - location: 14 (remaining gas: 1039995.254 units remaining) [ (Pair {} { Elt 0 0 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out index 030c26b7a325..2a083aa4058a 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039995.149 units remaining) + - location: 11 (remaining gas: 1039995.284 units remaining) [ (Pair { Elt 0 1 } {}) ] - - location: 11 (remaining gas: 1039995.139 units remaining) + - location: 11 (remaining gas: 1039995.274 units remaining) [ { Elt 0 1 } ] - - location: 12 (remaining gas: 1039995.129 units remaining) + - location: 12 (remaining gas: 1039995.264 units remaining) [ {} { Elt 0 1 } ] - - location: 14 (remaining gas: 1039995.119 units remaining) + - location: 14 (remaining gas: 1039995.254 units remaining) [ (Pair {} { Elt 0 1 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out index 128de3d65401..0cd106b1b672 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out @@ -7,146 +7,146 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039980.259 units remaining) + - location: 11 (remaining gas: 1039981.249 units remaining) [ (Pair { Elt 0 100 ; Elt 2 100 } 0 0) ] - - location: 11 (remaining gas: 1039980.249 units remaining) + - location: 11 (remaining gas: 1039981.239 units remaining) [ { Elt 0 100 ; Elt 2 100 } ] - - location: 12 (remaining gas: 1039980.239 units remaining) + - location: 12 (remaining gas: 1039981.229 units remaining) [ 0 { Elt 0 100 ; Elt 2 100 } ] - - location: 15 (remaining gas: 1039980.229 units remaining) + - location: 15 (remaining gas: 1039981.219 units remaining) [ 0 0 { Elt 0 100 ; Elt 2 100 } ] - - location: 18 (remaining gas: 1039980.219 units remaining) + - location: 18 (remaining gas: 1039981.209 units remaining) [ (Pair 0 0) { Elt 0 100 ; Elt 2 100 } ] - - location: 19 (remaining gas: 1039980.209 units remaining) + - location: 19 (remaining gas: 1039981.199 units remaining) [ { Elt 0 100 ; Elt 2 100 } (Pair 0 0) ] - - location: 20 (remaining gas: 1039980.209 units remaining) + - location: 20 (remaining gas: 1039981.199 units remaining) [ (Pair 0 100) (Pair 0 0) ] - - location: 22 (remaining gas: 1039980.199 units remaining) + - location: 22 (remaining gas: 1039981.199 units remaining) [ (Pair 0 0) ] - - location: 24 (remaining gas: 1039980.189 units remaining) + - location: 24 (remaining gas: 1039981.189 units remaining) [ (Pair 0 0) (Pair 0 0) ] - - location: 25 (remaining gas: 1039980.179 units remaining) + - location: 25 (remaining gas: 1039981.179 units remaining) [ 0 (Pair 0 0) ] - - location: 26 (remaining gas: 1039980.169 units remaining) + - location: 26 (remaining gas: 1039981.179 units remaining) [ (Pair 0 0) ] - - location: 28 (remaining gas: 1039980.159 units remaining) + - location: 28 (remaining gas: 1039981.169 units remaining) [ 0 ] - - location: 26 (remaining gas: 1039980.139 units remaining) + - location: 26 (remaining gas: 1039981.149 units remaining) [ 0 0 ] - - location: 22 (remaining gas: 1039980.119 units remaining) + - location: 22 (remaining gas: 1039981.129 units remaining) [ (Pair 0 100) 0 0 ] - - location: 29 (remaining gas: 1039980.109 units remaining) + - location: 29 (remaining gas: 1039981.119 units remaining) [ (Pair 0 100) (Pair 0 100) 0 0 ] - - location: 30 (remaining gas: 1039980.099 units remaining) + - location: 30 (remaining gas: 1039981.119 units remaining) [ (Pair 0 100) 0 0 ] - - location: 32 (remaining gas: 1039980.089 units remaining) + - location: 32 (remaining gas: 1039981.109 units remaining) [ 0 0 0 ] - - location: 33 (remaining gas: 1039980.054 units remaining) + - location: 33 (remaining gas: 1039981.074 units remaining) [ 0 0 ] - - location: 30 (remaining gas: 1039980.034 units remaining) + - location: 30 (remaining gas: 1039981.054 units remaining) [ (Pair 0 100) 0 0 ] - - location: 34 (remaining gas: 1039980.024 units remaining) + - location: 34 (remaining gas: 1039981.044 units remaining) [ 0 (Pair 0 100) 0 ] - - location: 35 (remaining gas: 1039980.014 units remaining) + - location: 35 (remaining gas: 1039981.044 units remaining) [ (Pair 0 100) 0 ] - - location: 37 (remaining gas: 1039980.004 units remaining) + - location: 37 (remaining gas: 1039981.034 units remaining) [ 100 0 ] - - location: 38 (remaining gas: 1039979.969 units remaining) + - location: 38 (remaining gas: 1039980.999 units remaining) [ 100 ] - - location: 35 (remaining gas: 1039979.949 units remaining) + - location: 35 (remaining gas: 1039980.979 units remaining) [ 0 100 ] - - location: 39 (remaining gas: 1039979.939 units remaining) + - location: 39 (remaining gas: 1039980.969 units remaining) [ (Pair 0 100) ] - - location: 20 (remaining gas: 1039979.929 units remaining) + - location: 20 (remaining gas: 1039980.959 units remaining) [ (Pair 2 100) (Pair 0 100) ] - - location: 22 (remaining gas: 1039979.919 units remaining) + - location: 22 (remaining gas: 1039980.959 units remaining) [ (Pair 0 100) ] - - location: 24 (remaining gas: 1039979.909 units remaining) + - location: 24 (remaining gas: 1039980.949 units remaining) [ (Pair 0 100) (Pair 0 100) ] - - location: 25 (remaining gas: 1039979.899 units remaining) + - location: 25 (remaining gas: 1039980.939 units remaining) [ 0 (Pair 0 100) ] - - location: 26 (remaining gas: 1039979.889 units remaining) + - location: 26 (remaining gas: 1039980.939 units remaining) [ (Pair 0 100) ] - - location: 28 (remaining gas: 1039979.879 units remaining) + - location: 28 (remaining gas: 1039980.929 units remaining) [ 100 ] - - location: 26 (remaining gas: 1039979.859 units remaining) + - location: 26 (remaining gas: 1039980.909 units remaining) [ 0 100 ] - - location: 22 (remaining gas: 1039979.839 units remaining) + - location: 22 (remaining gas: 1039980.889 units remaining) [ (Pair 2 100) 0 100 ] - - location: 29 (remaining gas: 1039979.829 units remaining) + - location: 29 (remaining gas: 1039980.879 units remaining) [ (Pair 2 100) (Pair 2 100) 0 100 ] - - location: 30 (remaining gas: 1039979.819 units remaining) + - location: 30 (remaining gas: 1039980.879 units remaining) [ (Pair 2 100) 0 100 ] - - location: 32 (remaining gas: 1039979.809 units remaining) + - location: 32 (remaining gas: 1039980.869 units remaining) [ 2 0 100 ] - - location: 33 (remaining gas: 1039979.774 units remaining) + - location: 33 (remaining gas: 1039980.834 units remaining) [ 2 100 ] - - location: 30 (remaining gas: 1039979.754 units remaining) + - location: 30 (remaining gas: 1039980.814 units remaining) [ (Pair 2 100) 2 100 ] - - location: 34 (remaining gas: 1039979.744 units remaining) + - location: 34 (remaining gas: 1039980.804 units remaining) [ 2 (Pair 2 100) 100 ] - - location: 35 (remaining gas: 1039979.734 units remaining) + - location: 35 (remaining gas: 1039980.804 units remaining) [ (Pair 2 100) 100 ] - - location: 37 (remaining gas: 1039979.724 units remaining) + - location: 37 (remaining gas: 1039980.794 units remaining) [ 100 100 ] - - location: 38 (remaining gas: 1039979.689 units remaining) + - location: 38 (remaining gas: 1039980.759 units remaining) [ 200 ] - - location: 35 (remaining gas: 1039979.669 units remaining) + - location: 35 (remaining gas: 1039980.739 units remaining) [ 2 200 ] - - location: 39 (remaining gas: 1039979.659 units remaining) + - location: 39 (remaining gas: 1039980.729 units remaining) [ (Pair 2 200) ] - - location: 20 (remaining gas: 1039979.649 units remaining) + - location: 20 (remaining gas: 1039980.719 units remaining) [ (Pair 2 200) ] - - location: 40 (remaining gas: 1039979.639 units remaining) + - location: 40 (remaining gas: 1039980.709 units remaining) [ {} (Pair 2 200) ] - - location: 42 (remaining gas: 1039979.629 units remaining) + - location: 42 (remaining gas: 1039980.699 units remaining) [ (Pair {} 2 200) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out index f0b431f5ddeb..492709cd15fd 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out @@ -7,146 +7,146 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039980.259 units remaining) + - location: 11 (remaining gas: 1039981.249 units remaining) [ (Pair { Elt 1 1 ; Elt 2 100 } 0 0) ] - - location: 11 (remaining gas: 1039980.249 units remaining) + - location: 11 (remaining gas: 1039981.239 units remaining) [ { Elt 1 1 ; Elt 2 100 } ] - - location: 12 (remaining gas: 1039980.239 units remaining) + - location: 12 (remaining gas: 1039981.229 units remaining) [ 0 { Elt 1 1 ; Elt 2 100 } ] - - location: 15 (remaining gas: 1039980.229 units remaining) + - location: 15 (remaining gas: 1039981.219 units remaining) [ 0 0 { Elt 1 1 ; Elt 2 100 } ] - - location: 18 (remaining gas: 1039980.219 units remaining) + - location: 18 (remaining gas: 1039981.209 units remaining) [ (Pair 0 0) { Elt 1 1 ; Elt 2 100 } ] - - location: 19 (remaining gas: 1039980.209 units remaining) + - location: 19 (remaining gas: 1039981.199 units remaining) [ { Elt 1 1 ; Elt 2 100 } (Pair 0 0) ] - - location: 20 (remaining gas: 1039980.209 units remaining) + - location: 20 (remaining gas: 1039981.199 units remaining) [ (Pair 1 1) (Pair 0 0) ] - - location: 22 (remaining gas: 1039980.199 units remaining) + - location: 22 (remaining gas: 1039981.199 units remaining) [ (Pair 0 0) ] - - location: 24 (remaining gas: 1039980.189 units remaining) + - location: 24 (remaining gas: 1039981.189 units remaining) [ (Pair 0 0) (Pair 0 0) ] - - location: 25 (remaining gas: 1039980.179 units remaining) + - location: 25 (remaining gas: 1039981.179 units remaining) [ 0 (Pair 0 0) ] - - location: 26 (remaining gas: 1039980.169 units remaining) + - location: 26 (remaining gas: 1039981.179 units remaining) [ (Pair 0 0) ] - - location: 28 (remaining gas: 1039980.159 units remaining) + - location: 28 (remaining gas: 1039981.169 units remaining) [ 0 ] - - location: 26 (remaining gas: 1039980.139 units remaining) + - location: 26 (remaining gas: 1039981.149 units remaining) [ 0 0 ] - - location: 22 (remaining gas: 1039980.119 units remaining) + - location: 22 (remaining gas: 1039981.129 units remaining) [ (Pair 1 1) 0 0 ] - - location: 29 (remaining gas: 1039980.109 units remaining) + - location: 29 (remaining gas: 1039981.119 units remaining) [ (Pair 1 1) (Pair 1 1) 0 0 ] - - location: 30 (remaining gas: 1039980.099 units remaining) + - location: 30 (remaining gas: 1039981.119 units remaining) [ (Pair 1 1) 0 0 ] - - location: 32 (remaining gas: 1039980.089 units remaining) + - location: 32 (remaining gas: 1039981.109 units remaining) [ 1 0 0 ] - - location: 33 (remaining gas: 1039980.054 units remaining) + - location: 33 (remaining gas: 1039981.074 units remaining) [ 1 0 ] - - location: 30 (remaining gas: 1039980.034 units remaining) + - location: 30 (remaining gas: 1039981.054 units remaining) [ (Pair 1 1) 1 0 ] - - location: 34 (remaining gas: 1039980.024 units remaining) + - location: 34 (remaining gas: 1039981.044 units remaining) [ 1 (Pair 1 1) 0 ] - - location: 35 (remaining gas: 1039980.014 units remaining) + - location: 35 (remaining gas: 1039981.044 units remaining) [ (Pair 1 1) 0 ] - - location: 37 (remaining gas: 1039980.004 units remaining) + - location: 37 (remaining gas: 1039981.034 units remaining) [ 1 0 ] - - location: 38 (remaining gas: 1039979.969 units remaining) + - location: 38 (remaining gas: 1039980.999 units remaining) [ 1 ] - - location: 35 (remaining gas: 1039979.949 units remaining) + - location: 35 (remaining gas: 1039980.979 units remaining) [ 1 1 ] - - location: 39 (remaining gas: 1039979.939 units remaining) + - location: 39 (remaining gas: 1039980.969 units remaining) [ (Pair 1 1) ] - - location: 20 (remaining gas: 1039979.929 units remaining) + - location: 20 (remaining gas: 1039980.959 units remaining) [ (Pair 2 100) (Pair 1 1) ] - - location: 22 (remaining gas: 1039979.919 units remaining) + - location: 22 (remaining gas: 1039980.959 units remaining) [ (Pair 1 1) ] - - location: 24 (remaining gas: 1039979.909 units remaining) + - location: 24 (remaining gas: 1039980.949 units remaining) [ (Pair 1 1) (Pair 1 1) ] - - location: 25 (remaining gas: 1039979.899 units remaining) + - location: 25 (remaining gas: 1039980.939 units remaining) [ 1 (Pair 1 1) ] - - location: 26 (remaining gas: 1039979.889 units remaining) + - location: 26 (remaining gas: 1039980.939 units remaining) [ (Pair 1 1) ] - - location: 28 (remaining gas: 1039979.879 units remaining) + - location: 28 (remaining gas: 1039980.929 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039979.859 units remaining) + - location: 26 (remaining gas: 1039980.909 units remaining) [ 1 1 ] - - location: 22 (remaining gas: 1039979.839 units remaining) + - location: 22 (remaining gas: 1039980.889 units remaining) [ (Pair 2 100) 1 1 ] - - location: 29 (remaining gas: 1039979.829 units remaining) + - location: 29 (remaining gas: 1039980.879 units remaining) [ (Pair 2 100) (Pair 2 100) 1 1 ] - - location: 30 (remaining gas: 1039979.819 units remaining) + - location: 30 (remaining gas: 1039980.879 units remaining) [ (Pair 2 100) 1 1 ] - - location: 32 (remaining gas: 1039979.809 units remaining) + - location: 32 (remaining gas: 1039980.869 units remaining) [ 2 1 1 ] - - location: 33 (remaining gas: 1039979.774 units remaining) + - location: 33 (remaining gas: 1039980.834 units remaining) [ 3 1 ] - - location: 30 (remaining gas: 1039979.754 units remaining) + - location: 30 (remaining gas: 1039980.814 units remaining) [ (Pair 2 100) 3 1 ] - - location: 34 (remaining gas: 1039979.744 units remaining) + - location: 34 (remaining gas: 1039980.804 units remaining) [ 3 (Pair 2 100) 1 ] - - location: 35 (remaining gas: 1039979.734 units remaining) + - location: 35 (remaining gas: 1039980.804 units remaining) [ (Pair 2 100) 1 ] - - location: 37 (remaining gas: 1039979.724 units remaining) + - location: 37 (remaining gas: 1039980.794 units remaining) [ 100 1 ] - - location: 38 (remaining gas: 1039979.689 units remaining) + - location: 38 (remaining gas: 1039980.759 units remaining) [ 101 ] - - location: 35 (remaining gas: 1039979.669 units remaining) + - location: 35 (remaining gas: 1039980.739 units remaining) [ 3 101 ] - - location: 39 (remaining gas: 1039979.659 units remaining) + - location: 39 (remaining gas: 1039980.729 units remaining) [ (Pair 3 101) ] - - location: 20 (remaining gas: 1039979.649 units remaining) + - location: 20 (remaining gas: 1039980.719 units remaining) [ (Pair 3 101) ] - - location: 40 (remaining gas: 1039979.639 units remaining) + - location: 40 (remaining gas: 1039980.709 units remaining) [ {} (Pair 3 101) ] - - location: 42 (remaining gas: 1039979.629 units remaining) + - location: 42 (remaining gas: 1039980.699 units remaining) [ (Pair {} 3 101) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" index 0bd884e6dede..4b84de0b8de9 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" @@ -7,62 +7,62 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.453 units remaining) + - location: 9 (remaining gas: 1039989.948 units remaining) [ (Pair 15 { Elt "bar" 5 ; Elt "foo" 1 }) ] - - location: 9 (remaining gas: 1039989.443 units remaining) + - location: 9 (remaining gas: 1039989.938 units remaining) [ 15 { Elt "bar" 5 ; Elt "foo" 1 } ] - - location: 10 (remaining gas: 1039989.433 units remaining) + - location: 10 (remaining gas: 1039989.928 units remaining) [ { Elt "bar" 5 ; Elt "foo" 1 } 15 ] - - location: 11 (remaining gas: 1039989.433 units remaining) + - location: 11 (remaining gas: 1039989.928 units remaining) [ (Pair "bar" 5) 15 ] - - location: 13 (remaining gas: 1039989.423 units remaining) + - location: 13 (remaining gas: 1039989.918 units remaining) [ 5 15 ] - - location: 14 (remaining gas: 1039989.413 units remaining) + - location: 14 (remaining gas: 1039989.918 units remaining) [ 15 ] - - location: 16 (remaining gas: 1039989.403 units remaining) + - location: 16 (remaining gas: 1039989.908 units remaining) [ 15 15 ] - - location: 14 (remaining gas: 1039989.383 units remaining) + - location: 14 (remaining gas: 1039989.888 units remaining) [ 5 15 15 ] - - location: 17 (remaining gas: 1039989.348 units remaining) + - location: 17 (remaining gas: 1039989.853 units remaining) [ 20 15 ] - - location: 11 (remaining gas: 1039989.338 units remaining) + - location: 11 (remaining gas: 1039989.843 units remaining) [ (Pair "foo" 1) 15 ] - - location: 13 (remaining gas: 1039989.328 units remaining) + - location: 13 (remaining gas: 1039989.833 units remaining) [ 1 15 ] - - location: 14 (remaining gas: 1039989.318 units remaining) + - location: 14 (remaining gas: 1039989.833 units remaining) [ 15 ] - - location: 16 (remaining gas: 1039989.308 units remaining) + - location: 16 (remaining gas: 1039989.823 units remaining) [ 15 15 ] - - location: 14 (remaining gas: 1039989.288 units remaining) + - location: 14 (remaining gas: 1039989.803 units remaining) [ 1 15 15 ] - - location: 17 (remaining gas: 1039989.253 units remaining) + - location: 17 (remaining gas: 1039989.768 units remaining) [ 16 15 ] - - location: 11 (remaining gas: 1039989.243 units remaining) + - location: 11 (remaining gas: 1039989.758 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } 15 ] - - location: 18 (remaining gas: 1039989.233 units remaining) + - location: 18 (remaining gas: 1039989.758 units remaining) [ 15 ] - - location: 20 (remaining gas: 1039989.223 units remaining) + - location: 20 (remaining gas: 1039989.748 units remaining) [ ] - - location: 18 (remaining gas: 1039989.203 units remaining) + - location: 18 (remaining gas: 1039989.728 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 21 (remaining gas: 1039989.193 units remaining) + - location: 21 (remaining gas: 1039989.718 units remaining) [ {} { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 23 (remaining gas: 1039989.183 units remaining) + - location: 23 (remaining gas: 1039989.708 units remaining) [ (Pair {} { Elt "bar" 20 ; Elt "foo" 16 }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" index 0bd67dbb61e7..256c20c1436b 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" @@ -7,44 +7,44 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.824 units remaining) + - location: 9 (remaining gas: 1039990.319 units remaining) [ (Pair 10 { Elt "foo" 1 }) ] - - location: 9 (remaining gas: 1039989.814 units remaining) + - location: 9 (remaining gas: 1039990.309 units remaining) [ 10 { Elt "foo" 1 } ] - - location: 10 (remaining gas: 1039989.804 units remaining) + - location: 10 (remaining gas: 1039990.299 units remaining) [ { Elt "foo" 1 } 10 ] - - location: 11 (remaining gas: 1039989.804 units remaining) + - location: 11 (remaining gas: 1039990.299 units remaining) [ (Pair "foo" 1) 10 ] - - location: 13 (remaining gas: 1039989.794 units remaining) + - location: 13 (remaining gas: 1039990.289 units remaining) [ 1 10 ] - - location: 14 (remaining gas: 1039989.784 units remaining) + - location: 14 (remaining gas: 1039990.289 units remaining) [ 10 ] - - location: 16 (remaining gas: 1039989.774 units remaining) + - location: 16 (remaining gas: 1039990.279 units remaining) [ 10 10 ] - - location: 14 (remaining gas: 1039989.754 units remaining) + - location: 14 (remaining gas: 1039990.259 units remaining) [ 1 10 10 ] - - location: 17 (remaining gas: 1039989.719 units remaining) + - location: 17 (remaining gas: 1039990.224 units remaining) [ 11 10 ] - - location: 11 (remaining gas: 1039989.709 units remaining) + - location: 11 (remaining gas: 1039990.214 units remaining) [ { Elt "foo" 11 } 10 ] - - location: 18 (remaining gas: 1039989.699 units remaining) + - location: 18 (remaining gas: 1039990.214 units remaining) [ 10 ] - - location: 20 (remaining gas: 1039989.689 units remaining) + - location: 20 (remaining gas: 1039990.204 units remaining) [ ] - - location: 18 (remaining gas: 1039989.669 units remaining) + - location: 18 (remaining gas: 1039990.184 units remaining) [ { Elt "foo" 11 } ] - - location: 21 (remaining gas: 1039989.659 units remaining) + - location: 21 (remaining gas: 1039990.174 units remaining) [ {} { Elt "foo" 11 } ] - - location: 23 (remaining gas: 1039989.649 units remaining) + - location: 23 (remaining gas: 1039990.164 units remaining) [ (Pair {} { Elt "foo" 11 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out index 34401e1fab07..2f38eaf0e2f4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039990.154 units remaining) + - location: 9 (remaining gas: 1039990.649 units remaining) [ (Pair 10 {}) ] - - location: 9 (remaining gas: 1039990.144 units remaining) + - location: 9 (remaining gas: 1039990.639 units remaining) [ 10 {} ] - - location: 10 (remaining gas: 1039990.134 units remaining) + - location: 10 (remaining gas: 1039990.629 units remaining) [ {} 10 ] - - location: 11 (remaining gas: 1039990.134 units remaining) + - location: 11 (remaining gas: 1039990.629 units remaining) [ {} 10 ] - - location: 18 (remaining gas: 1039990.124 units remaining) + - location: 18 (remaining gas: 1039990.629 units remaining) [ 10 ] - - location: 20 (remaining gas: 1039990.114 units remaining) + - location: 20 (remaining gas: 1039990.619 units remaining) [ ] - - location: 18 (remaining gas: 1039990.094 units remaining) + - location: 18 (remaining gas: 1039990.599 units remaining) [ {} ] - - location: 21 (remaining gas: 1039990.084 units remaining) + - location: 21 (remaining gas: 1039990.589 units remaining) [ {} {} ] - - location: 23 (remaining gas: 1039990.074 units remaining) + - location: 23 (remaining gas: 1039990.579 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair { Elt 0 .7396e5f090.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair { Elt 0 .7396e5f090.out index 52f96d51b6c0..a5e17ae873e4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair { Elt 0 .7396e5f090.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair { Elt 0 .7396e5f090.out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.789 units remaining) + - location: 12 (remaining gas: 1039990.284 units remaining) [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039989.779 units remaining) + - location: 12 (remaining gas: 1039990.274 units remaining) [ 1 (Pair { Elt 0 1 } None) ] - - location: 13 (remaining gas: 1039989.769 units remaining) + - location: 13 (remaining gas: 1039990.274 units remaining) [ (Pair { Elt 0 1 } None) ] - - location: 15 (remaining gas: 1039989.759 units remaining) + - location: 15 (remaining gas: 1039990.264 units remaining) [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039989.749 units remaining) + - location: 16 (remaining gas: 1039990.254 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: 13 (remaining gas: 1039989.729 units remaining) + - location: 13 (remaining gas: 1039990.234 units remaining) [ 1 { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039989.649 units remaining) + - location: 17 (remaining gas: 1039990.154 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039989.639 units remaining) + - location: 18 (remaining gas: 1039990.144 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039989.629 units remaining) + - location: 19 (remaining gas: 1039990.134 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039989.619 units remaining) + - location: 20 (remaining gas: 1039990.124 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039989.609 units remaining) + - location: 21 (remaining gas: 1039990.114 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039989.599 units remaining) + - location: 23 (remaining gas: 1039990.104 units remaining) [ (Pair {} { Elt 0 1 } (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out index 5dd4c9482c2e..a6afa9d662d5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.789 units remaining) + - location: 12 (remaining gas: 1039990.284 units remaining) [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039989.779 units remaining) + - location: 12 (remaining gas: 1039990.274 units remaining) [ 1 (Pair { Elt 1 0 } None) ] - - location: 13 (remaining gas: 1039989.769 units remaining) + - location: 13 (remaining gas: 1039990.274 units remaining) [ (Pair { Elt 1 0 } None) ] - - location: 15 (remaining gas: 1039989.759 units remaining) + - location: 15 (remaining gas: 1039990.264 units remaining) [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039989.749 units remaining) + - location: 16 (remaining gas: 1039990.254 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: 13 (remaining gas: 1039989.729 units remaining) + - location: 13 (remaining gas: 1039990.234 units remaining) [ 1 { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039989.649 units remaining) + - location: 17 (remaining gas: 1039990.154 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039989.639 units remaining) + - location: 18 (remaining gas: 1039990.144 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039989.629 units remaining) + - location: 19 (remaining gas: 1039990.134 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039989.619 units remaining) + - location: 20 (remaining gas: 1039990.124 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039989.609 units remaining) + - location: 21 (remaining gas: 1039990.114 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039989.599 units remaining) + - location: 23 (remaining gas: 1039990.104 units remaining) [ (Pair {} { Elt 1 0 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out index 7dd53b0ab711..6360854cd53d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.474 units remaining) + - location: 12 (remaining gas: 1039989.969 units remaining) [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039989.464 units remaining) + - location: 12 (remaining gas: 1039989.959 units remaining) [ 1 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039989.454 units remaining) + - location: 13 (remaining gas: 1039989.959 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039989.444 units remaining) + - location: 15 (remaining gas: 1039989.949 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039989.434 units remaining) + - location: 16 (remaining gas: 1039989.939 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039989.414 units remaining) + - location: 13 (remaining gas: 1039989.919 units remaining) [ 1 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039989.334 units remaining) + - location: 17 (remaining gas: 1039989.839 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039989.324 units remaining) + - location: 18 (remaining gas: 1039989.829 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039989.314 units remaining) + - location: 19 (remaining gas: 1039989.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039989.304 units remaining) + - location: 20 (remaining gas: 1039989.809 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039989.294 units remaining) + - location: 21 (remaining gas: 1039989.799 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039989.284 units remaining) + - location: 23 (remaining gas: 1039989.789 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out index de6c5f2e5739..518ecff0484f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.474 units remaining) + - location: 12 (remaining gas: 1039989.969 units remaining) [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039989.464 units remaining) + - location: 12 (remaining gas: 1039989.959 units remaining) [ 2 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039989.454 units remaining) + - location: 13 (remaining gas: 1039989.959 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039989.444 units remaining) + - location: 15 (remaining gas: 1039989.949 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039989.434 units remaining) + - location: 16 (remaining gas: 1039989.939 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039989.414 units remaining) + - location: 13 (remaining gas: 1039989.919 units remaining) [ 2 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039989.334 units remaining) + - location: 17 (remaining gas: 1039989.839 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039989.324 units remaining) + - location: 18 (remaining gas: 1039989.829 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039989.314 units remaining) + - location: 19 (remaining gas: 1039989.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039989.304 units remaining) + - location: 20 (remaining gas: 1039989.809 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039989.294 units remaining) + - location: 21 (remaining gas: 1039989.799 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039989.284 units remaining) + - location: 23 (remaining gas: 1039989.789 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out index 8f67b8fbcfbd..42085d266623 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.474 units remaining) + - location: 12 (remaining gas: 1039989.969 units remaining) [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039989.464 units remaining) + - location: 12 (remaining gas: 1039989.959 units remaining) [ 3 (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 13 (remaining gas: 1039989.454 units remaining) + - location: 13 (remaining gas: 1039989.959 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] - - location: 15 (remaining gas: 1039989.444 units remaining) + - location: 15 (remaining gas: 1039989.949 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039989.434 units remaining) + - location: 16 (remaining gas: 1039989.939 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039989.414 units remaining) + - location: 13 (remaining gas: 1039989.919 units remaining) [ 3 { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039989.334 units remaining) + - location: 17 (remaining gas: 1039989.839 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039989.324 units remaining) + - location: 18 (remaining gas: 1039989.829 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039989.314 units remaining) + - location: 19 (remaining gas: 1039989.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039989.304 units remaining) + - location: 20 (remaining gas: 1039989.809 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039989.294 units remaining) + - location: 21 (remaining gas: 1039989.799 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039989.284 units remaining) + - location: 23 (remaining gas: 1039989.789 units remaining) [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out index e79cc1059765..12d26bad5356 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039990.069 units remaining) + - location: 12 (remaining gas: 1039990.564 units remaining) [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039990.059 units remaining) + - location: 12 (remaining gas: 1039990.554 units remaining) [ 1 (Pair {} None) ] - - location: 13 (remaining gas: 1039990.049 units remaining) + - location: 13 (remaining gas: 1039990.554 units remaining) [ (Pair {} None) ] - - location: 15 (remaining gas: 1039990.039 units remaining) + - location: 15 (remaining gas: 1039990.544 units remaining) [ {} ] - - location: 16 (remaining gas: 1039990.029 units remaining) + - location: 16 (remaining gas: 1039990.534 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039990.009 units remaining) + - location: 13 (remaining gas: 1039990.514 units remaining) [ 1 {} {} ] - - location: 17 (remaining gas: 1039989.929 units remaining) + - location: 17 (remaining gas: 1039990.434 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039989.919 units remaining) + - location: 18 (remaining gas: 1039990.424 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039989.909 units remaining) + - location: 19 (remaining gas: 1039990.414 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039989.899 units remaining) + - location: 20 (remaining gas: 1039990.404 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039989.889 units remaining) + - location: 21 (remaining gas: 1039990.394 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039989.879 units remaining) + - location: 23 (remaining gas: 1039990.384 units remaining) [ (Pair {} {} (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" index 4b191273fe39..67eb8fc04432 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.324 units remaining) + - location: 12 (remaining gas: 1039989.819 units remaining) [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039989.314 units remaining) + - location: 12 (remaining gas: 1039989.809 units remaining) [ "bar" (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 13 (remaining gas: 1039989.304 units remaining) + - location: 13 (remaining gas: 1039989.809 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 15 (remaining gas: 1039989.294 units remaining) + - location: 15 (remaining gas: 1039989.799 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039989.284 units remaining) + - location: 16 (remaining gas: 1039989.789 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039989.264 units remaining) + - location: 13 (remaining gas: 1039989.769 units remaining) [ "bar" { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039989.175 units remaining) + - location: 17 (remaining gas: 1039989.680 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039989.165 units remaining) + - location: 18 (remaining gas: 1039989.670 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039989.155 units remaining) + - location: 19 (remaining gas: 1039989.660 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039989.145 units remaining) + - location: 20 (remaining gas: 1039989.650 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039989.135 units remaining) + - location: 21 (remaining gas: 1039989.640 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039989.125 units remaining) + - location: 23 (remaining gas: 1039989.630 units remaining) [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" index b31d0cedd459..5a6dc2910da7 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.324 units remaining) + - location: 12 (remaining gas: 1039989.819 units remaining) [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039989.314 units remaining) + - location: 12 (remaining gas: 1039989.809 units remaining) [ "foo" (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 13 (remaining gas: 1039989.304 units remaining) + - location: 13 (remaining gas: 1039989.809 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 15 (remaining gas: 1039989.294 units remaining) + - location: 15 (remaining gas: 1039989.799 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039989.284 units remaining) + - location: 16 (remaining gas: 1039989.789 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039989.264 units remaining) + - location: 13 (remaining gas: 1039989.769 units remaining) [ "foo" { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039989.175 units remaining) + - location: 17 (remaining gas: 1039989.680 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039989.165 units remaining) + - location: 18 (remaining gas: 1039989.670 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039989.155 units remaining) + - location: 19 (remaining gas: 1039989.660 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039989.145 units remaining) + - location: 20 (remaining gas: 1039989.650 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039989.135 units remaining) + - location: 21 (remaining gas: 1039989.640 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039989.125 units remaining) + - location: 23 (remaining gas: 1039989.630 units remaining) [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" index 2fbe176afcea..27a5ae23a027 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.324 units remaining) + - location: 12 (remaining gas: 1039989.819 units remaining) [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039989.314 units remaining) + - location: 12 (remaining gas: 1039989.809 units remaining) [ "baz" (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 13 (remaining gas: 1039989.304 units remaining) + - location: 13 (remaining gas: 1039989.809 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 15 (remaining gas: 1039989.294 units remaining) + - location: 15 (remaining gas: 1039989.799 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039989.284 units remaining) + - location: 16 (remaining gas: 1039989.789 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039989.264 units remaining) + - location: 13 (remaining gas: 1039989.769 units remaining) [ "baz" { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039989.175 units remaining) + - location: 17 (remaining gas: 1039989.680 units remaining) [ False { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039989.165 units remaining) + - location: 18 (remaining gas: 1039989.670 units remaining) [ (Some False) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039989.155 units remaining) + - location: 19 (remaining gas: 1039989.660 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some False) ] - - location: 20 (remaining gas: 1039989.145 units remaining) + - location: 20 (remaining gas: 1039989.650 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039989.135 units remaining) + - location: 21 (remaining gas: 1039989.640 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039989.125 units remaining) + - location: 23 (remaining gas: 1039989.630 units remaining) [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" index 865cf42f5d8d..e58f171396e0 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.695 units remaining) + - location: 12 (remaining gas: 1039990.190 units remaining) [ (Pair "foo" { Elt "foo" 0 } None) ] - - location: 12 (remaining gas: 1039989.685 units remaining) + - location: 12 (remaining gas: 1039990.180 units remaining) [ "foo" (Pair { Elt "foo" 0 } None) ] - - location: 13 (remaining gas: 1039989.675 units remaining) + - location: 13 (remaining gas: 1039990.180 units remaining) [ (Pair { Elt "foo" 0 } None) ] - - location: 15 (remaining gas: 1039989.665 units remaining) + - location: 15 (remaining gas: 1039990.170 units remaining) [ { Elt "foo" 0 } ] - - location: 16 (remaining gas: 1039989.655 units remaining) + - location: 16 (remaining gas: 1039990.160 units remaining) [ { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039989.635 units remaining) + - location: 13 (remaining gas: 1039990.140 units remaining) [ "foo" { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039989.549 units remaining) + - location: 17 (remaining gas: 1039990.054 units remaining) [ True { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039989.539 units remaining) + - location: 18 (remaining gas: 1039990.044 units remaining) [ (Some True) { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039989.529 units remaining) + - location: 19 (remaining gas: 1039990.034 units remaining) [ { Elt "foo" 0 } (Some True) ] - - location: 20 (remaining gas: 1039989.519 units remaining) + - location: 20 (remaining gas: 1039990.024 units remaining) [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039989.509 units remaining) + - location: 21 (remaining gas: 1039990.014 units remaining) [ {} (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039989.499 units remaining) + - location: 23 (remaining gas: 1039990.004 units remaining) [ (Pair {} { Elt "foo" 0 } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" index 9ef4743f2ae6..a75d5f59ac2e 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039989.695 units remaining) + - location: 12 (remaining gas: 1039990.190 units remaining) [ (Pair "bar" { Elt "foo" 1 } None) ] - - location: 12 (remaining gas: 1039989.685 units remaining) + - location: 12 (remaining gas: 1039990.180 units remaining) [ "bar" (Pair { Elt "foo" 1 } None) ] - - location: 13 (remaining gas: 1039989.675 units remaining) + - location: 13 (remaining gas: 1039990.180 units remaining) [ (Pair { Elt "foo" 1 } None) ] - - location: 15 (remaining gas: 1039989.665 units remaining) + - location: 15 (remaining gas: 1039990.170 units remaining) [ { Elt "foo" 1 } ] - - location: 16 (remaining gas: 1039989.655 units remaining) + - location: 16 (remaining gas: 1039990.160 units remaining) [ { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039989.635 units remaining) + - location: 13 (remaining gas: 1039990.140 units remaining) [ "bar" { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039989.549 units remaining) + - location: 17 (remaining gas: 1039990.054 units remaining) [ False { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039989.539 units remaining) + - location: 18 (remaining gas: 1039990.044 units remaining) [ (Some False) { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039989.529 units remaining) + - location: 19 (remaining gas: 1039990.034 units remaining) [ { Elt "foo" 1 } (Some False) ] - - location: 20 (remaining gas: 1039989.519 units remaining) + - location: 20 (remaining gas: 1039990.024 units remaining) [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039989.509 units remaining) + - location: 21 (remaining gas: 1039990.014 units remaining) [ {} (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039989.499 units remaining) + - location: 23 (remaining gas: 1039990.004 units remaining) [ (Pair {} { Elt "foo" 1 } (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" index 7103620f8c2c..2fb57047a03a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039990.025 units remaining) + - location: 12 (remaining gas: 1039990.520 units remaining) [ (Pair "bar" {} None) ] - - location: 12 (remaining gas: 1039990.015 units remaining) + - location: 12 (remaining gas: 1039990.510 units remaining) [ "bar" (Pair {} None) ] - - location: 13 (remaining gas: 1039990.005 units remaining) + - location: 13 (remaining gas: 1039990.510 units remaining) [ (Pair {} None) ] - - location: 15 (remaining gas: 1039989.995 units remaining) + - location: 15 (remaining gas: 1039990.500 units remaining) [ {} ] - - location: 16 (remaining gas: 1039989.985 units remaining) + - location: 16 (remaining gas: 1039990.490 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039989.965 units remaining) + - location: 13 (remaining gas: 1039990.470 units remaining) [ "bar" {} {} ] - - location: 17 (remaining gas: 1039989.882 units remaining) + - location: 17 (remaining gas: 1039990.387 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039989.872 units remaining) + - location: 18 (remaining gas: 1039990.377 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039989.862 units remaining) + - location: 19 (remaining gas: 1039990.367 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039989.852 units remaining) + - location: 20 (remaining gas: 1039990.357 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039989.842 units remaining) + - location: 21 (remaining gas: 1039990.347 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039989.832 units remaining) + - location: 23 (remaining gas: 1039990.337 units remaining) [ (Pair {} {} (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" index 9c4f7ec0c3ad..6646f0c7b6d1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.264 units remaining) + - location: 9 (remaining gas: 1039993.444 units remaining) [ (Pair { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 } 111) ] - - location: 9 (remaining gas: 1039993.254 units remaining) + - location: 9 (remaining gas: 1039993.434 units remaining) [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 } ] - - location: 10 (remaining gas: 1039993.244 units remaining) + - location: 10 (remaining gas: 1039993.424 units remaining) [ 6 ] - - location: 11 (remaining gas: 1039993.234 units remaining) + - location: 11 (remaining gas: 1039993.414 units remaining) [ {} 6 ] - - location: 13 (remaining gas: 1039993.224 units remaining) + - location: 13 (remaining gas: 1039993.404 units remaining) [ (Pair {} 6) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" index 81c88527451c..502d121b09d5 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.303 units remaining) + - location: 9 (remaining gas: 1039994.483 units remaining) [ (Pair { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } 111) ] - - location: 9 (remaining gas: 1039994.293 units remaining) + - location: 9 (remaining gas: 1039994.473 units remaining) [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } ] - - location: 10 (remaining gas: 1039994.283 units remaining) + - location: 10 (remaining gas: 1039994.463 units remaining) [ 3 ] - - location: 11 (remaining gas: 1039994.273 units remaining) + - location: 11 (remaining gas: 1039994.453 units remaining) [ {} 3 ] - - location: 13 (remaining gas: 1039994.263 units remaining) + - location: 13 (remaining gas: 1039994.443 units remaining) [ (Pair {} 3) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" index a3eac3ae3612..0a1cea6ecc97 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.991 units remaining) + - location: 9 (remaining gas: 1039995.171 units remaining) [ (Pair { Elt "a" 1 } 111) ] - - location: 9 (remaining gas: 1039994.981 units remaining) + - location: 9 (remaining gas: 1039995.161 units remaining) [ { Elt "a" 1 } ] - - location: 10 (remaining gas: 1039994.971 units remaining) + - location: 10 (remaining gas: 1039995.151 units remaining) [ 1 ] - - location: 11 (remaining gas: 1039994.961 units remaining) + - location: 11 (remaining gas: 1039995.141 units remaining) [ {} 1 ] - - location: 13 (remaining gas: 1039994.951 units remaining) + - location: 13 (remaining gas: 1039995.131 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out index 37be8ce4156a..7ff70c59c6a9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.297 units remaining) + - location: 9 (remaining gas: 1039995.477 units remaining) [ (Pair {} 111) ] - - location: 9 (remaining gas: 1039995.287 units remaining) + - location: 9 (remaining gas: 1039995.467 units remaining) [ {} ] - - location: 10 (remaining gas: 1039995.277 units remaining) + - location: 10 (remaining gas: 1039995.457 units remaining) [ 0 ] - - location: 11 (remaining gas: 1039995.267 units remaining) + - location: 11 (remaining gas: 1039995.447 units remaining) [ {} 0 ] - - location: 13 (remaining gas: 1039995.257 units remaining) + - location: 13 (remaining gas: 1039995.437 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out index 1561e9554521..b971c6b0eaa8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out @@ -7,125 +7,125 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039947.401 units remaining) + - location: 7 (remaining gas: 1039949.201 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039947.391 units remaining) + - location: 7 (remaining gas: 1039949.191 units remaining) [ Unit ] - - location: 8 (remaining gas: 1039947.381 units remaining) + - location: 8 (remaining gas: 1039949.181 units remaining) [ ] - - location: 9 (remaining gas: 1039947.371 units remaining) + - location: 9 (remaining gas: 1039949.171 units remaining) [ 7987 ] - - location: 12 (remaining gas: 1039947.361 units remaining) + - location: 12 (remaining gas: 1039949.161 units remaining) [ 10 7987 ] - - location: 15 (remaining gas: 1039947.361 units remaining) + - location: 15 (remaining gas: 1039949.161 units remaining) [ 79870 ] - - location: 16 (remaining gas: 1039947.351 units remaining) + - location: 16 (remaining gas: 1039949.151 units remaining) [ 79870 79870 ] - - location: 19 (remaining gas: 1039947.316 units remaining) + - location: 19 (remaining gas: 1039949.116 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039947.306 units remaining) + - location: 21 (remaining gas: 1039949.106 units remaining) [ True ] - - location: 22 (remaining gas: 1039947.296 units remaining) + - location: 22 (remaining gas: 1039949.106 units remaining) [ ] - - location: 22 (remaining gas: 1039947.286 units remaining) + - location: 22 (remaining gas: 1039949.096 units remaining) [ ] - - location: 28 (remaining gas: 1039947.276 units remaining) + - location: 28 (remaining gas: 1039949.086 units remaining) [ 10 ] - - location: 31 (remaining gas: 1039947.266 units remaining) + - location: 31 (remaining gas: 1039949.076 units remaining) [ 7987 10 ] - - location: 34 (remaining gas: 1039947.266 units remaining) + - location: 34 (remaining gas: 1039949.076 units remaining) [ 79870 ] - - location: 35 (remaining gas: 1039947.256 units remaining) + - location: 35 (remaining gas: 1039949.066 units remaining) [ 79870 79870 ] - - location: 38 (remaining gas: 1039947.221 units remaining) + - location: 38 (remaining gas: 1039949.031 units remaining) [ 0 ] - - location: 40 (remaining gas: 1039947.211 units remaining) + - location: 40 (remaining gas: 1039949.021 units remaining) [ True ] - - location: 41 (remaining gas: 1039947.201 units remaining) + - location: 41 (remaining gas: 1039949.021 units remaining) [ ] - - location: 41 (remaining gas: 1039947.191 units remaining) + - location: 41 (remaining gas: 1039949.011 units remaining) [ ] - - location: 47 (remaining gas: 1039947.181 units remaining) + - location: 47 (remaining gas: 1039949.001 units remaining) [ 10 ] - - location: 50 (remaining gas: 1039947.171 units remaining) + - location: 50 (remaining gas: 1039948.991 units remaining) [ -7987 10 ] - - location: 53 (remaining gas: 1039947.110 units remaining) + - location: 53 (remaining gas: 1039948.930 units remaining) [ -79870 ] - - location: 54 (remaining gas: 1039947.100 units remaining) + - location: 54 (remaining gas: 1039948.920 units remaining) [ -79870 -79870 ] - - location: 57 (remaining gas: 1039947.065 units remaining) + - location: 57 (remaining gas: 1039948.885 units remaining) [ 0 ] - - location: 59 (remaining gas: 1039947.055 units remaining) + - location: 59 (remaining gas: 1039948.875 units remaining) [ True ] - - location: 60 (remaining gas: 1039947.045 units remaining) + - location: 60 (remaining gas: 1039948.875 units remaining) [ ] - - location: 60 (remaining gas: 1039947.035 units remaining) + - location: 60 (remaining gas: 1039948.865 units remaining) [ ] - - location: 66 (remaining gas: 1039947.025 units remaining) + - location: 66 (remaining gas: 1039948.855 units remaining) [ 10 ] - - location: 69 (remaining gas: 1039947.015 units remaining) + - location: 69 (remaining gas: 1039948.845 units remaining) [ -7987 10 ] - - location: 72 (remaining gas: 1039946.954 units remaining) + - location: 72 (remaining gas: 1039948.784 units remaining) [ -79870 ] - - location: 73 (remaining gas: 1039946.944 units remaining) + - location: 73 (remaining gas: 1039948.774 units remaining) [ -79870 -79870 ] - - location: 76 (remaining gas: 1039946.909 units remaining) + - location: 76 (remaining gas: 1039948.739 units remaining) [ 0 ] - - location: 78 (remaining gas: 1039946.899 units remaining) + - location: 78 (remaining gas: 1039948.729 units remaining) [ True ] - - location: 79 (remaining gas: 1039946.889 units remaining) + - location: 79 (remaining gas: 1039948.729 units remaining) [ ] - - location: 79 (remaining gas: 1039946.879 units remaining) + - location: 79 (remaining gas: 1039948.719 units remaining) [ ] - - location: 85 (remaining gas: 1039946.869 units remaining) + - location: 85 (remaining gas: 1039948.709 units remaining) [ -10 ] - - location: 88 (remaining gas: 1039946.859 units remaining) + - location: 88 (remaining gas: 1039948.699 units remaining) [ 7987 -10 ] - - location: 91 (remaining gas: 1039946.798 units remaining) + - location: 91 (remaining gas: 1039948.638 units remaining) [ -79870 ] - - location: 92 (remaining gas: 1039946.788 units remaining) + - location: 92 (remaining gas: 1039948.628 units remaining) [ -79870 -79870 ] - - location: 95 (remaining gas: 1039946.753 units remaining) + - location: 95 (remaining gas: 1039948.593 units remaining) [ 0 ] - - location: 97 (remaining gas: 1039946.743 units remaining) + - location: 97 (remaining gas: 1039948.583 units remaining) [ True ] - - location: 98 (remaining gas: 1039946.733 units remaining) + - location: 98 (remaining gas: 1039948.583 units remaining) [ ] - - location: 98 (remaining gas: 1039946.723 units remaining) + - location: 98 (remaining gas: 1039948.573 units remaining) [ ] - - location: 104 (remaining gas: 1039946.713 units remaining) + - location: 104 (remaining gas: 1039948.563 units remaining) [ 10 ] - - location: 107 (remaining gas: 1039946.703 units remaining) + - location: 107 (remaining gas: 1039948.553 units remaining) [ 7987 10 ] - - location: 110 (remaining gas: 1039946.642 units remaining) + - location: 110 (remaining gas: 1039948.492 units remaining) [ 79870 ] - - location: 111 (remaining gas: 1039946.632 units remaining) + - location: 111 (remaining gas: 1039948.482 units remaining) [ 79870 79870 ] - - location: 114 (remaining gas: 1039946.597 units remaining) + - location: 114 (remaining gas: 1039948.447 units remaining) [ 0 ] - - location: 116 (remaining gas: 1039946.587 units remaining) + - location: 116 (remaining gas: 1039948.437 units remaining) [ True ] - - location: 117 (remaining gas: 1039946.577 units remaining) + - location: 117 (remaining gas: 1039948.437 units remaining) [ ] - - location: 117 (remaining gas: 1039946.567 units remaining) + - location: 117 (remaining gas: 1039948.427 units remaining) [ ] - - location: 123 (remaining gas: 1039946.557 units remaining) + - location: 123 (remaining gas: 1039948.417 units remaining) [ Unit ] - - location: 124 (remaining gas: 1039946.547 units remaining) + - location: 124 (remaining gas: 1039948.407 units remaining) [ {} Unit ] - - location: 126 (remaining gas: 1039946.537 units remaining) + - location: 126 (remaining gas: 1039948.397 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out index 2e0d30178714..8fd095cc57e3 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039988.603 units remaining) + - location: 7 (remaining gas: 1039989.053 units remaining) [ (Pair 257 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039988.593 units remaining) + - location: 7 (remaining gas: 1039989.043 units remaining) [ 257 ] - - location: 8 (remaining gas: 1039988.583 units remaining) + - location: 8 (remaining gas: 1039989.033 units remaining) [ 1 257 ] - - location: 11 (remaining gas: 1039988.573 units remaining) + - location: 11 (remaining gas: 1039989.023 units remaining) [ 257 1 ] - - location: 12 (remaining gas: 1039988.493 units remaining) + - location: 12 (remaining gas: 1039988.943 units remaining) [ (Some (Pair 257 0)) ] - - location: 14 (remaining gas: 1039988.483 units remaining) + - location: 14 (remaining gas: 1039988.943 units remaining) [ (Pair 257 0) ] - - location: 14 (remaining gas: 1039988.473 units remaining) + - location: 14 (remaining gas: 1039988.933 units remaining) [ (Pair 257 0) ] - - location: 20 (remaining gas: 1039988.463 units remaining) + - location: 20 (remaining gas: 1039988.923 units remaining) [ 257 ] - - location: 21 (remaining gas: 1039988.453 units remaining) + - location: 21 (remaining gas: 1039988.913 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 257 ] - - location: 24 (remaining gas: 1039988.186 units remaining) + - location: 24 (remaining gas: 1039988.646 units remaining) [ 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039988.176 units remaining) + - location: 25 (remaining gas: 1039988.636 units remaining) [ {} 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039988.166 units remaining) + - location: 27 (remaining gas: 1039988.626 units remaining) [ (Pair {} 0x0101000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out index fbf46d175e97..c2f7ec1d981b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039988.603 units remaining) + - location: 7 (remaining gas: 1039989.053 units remaining) [ (Pair 16 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039988.593 units remaining) + - location: 7 (remaining gas: 1039989.043 units remaining) [ 16 ] - - location: 8 (remaining gas: 1039988.583 units remaining) + - location: 8 (remaining gas: 1039989.033 units remaining) [ 1 16 ] - - location: 11 (remaining gas: 1039988.573 units remaining) + - location: 11 (remaining gas: 1039989.023 units remaining) [ 16 1 ] - - location: 12 (remaining gas: 1039988.493 units remaining) + - location: 12 (remaining gas: 1039988.943 units remaining) [ (Some (Pair 16 0)) ] - - location: 14 (remaining gas: 1039988.483 units remaining) + - location: 14 (remaining gas: 1039988.943 units remaining) [ (Pair 16 0) ] - - location: 14 (remaining gas: 1039988.473 units remaining) + - location: 14 (remaining gas: 1039988.933 units remaining) [ (Pair 16 0) ] - - location: 20 (remaining gas: 1039988.463 units remaining) + - location: 20 (remaining gas: 1039988.923 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039988.453 units remaining) + - location: 21 (remaining gas: 1039988.913 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 16 ] - - location: 24 (remaining gas: 1039988.187 units remaining) + - location: 24 (remaining gas: 1039988.647 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039988.177 units remaining) + - location: 25 (remaining gas: 1039988.637 units remaining) [ {} 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039988.167 units remaining) + - location: 27 (remaining gas: 1039988.627 units remaining) [ (Pair {} 0x1000000000000000000000000000000000000000000000000000000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out index d96f68642cc3..25c5d8650687 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.471 units remaining) + - location: 9 (remaining gas: 1039993.831 units remaining) [ (Pair (Left -2) 0) ] - - location: 9 (remaining gas: 1039993.461 units remaining) + - location: 9 (remaining gas: 1039993.821 units remaining) [ (Left -2) ] - - location: 10 (remaining gas: 1039993.451 units remaining) + - location: 10 (remaining gas: 1039993.821 units remaining) [ -2 ] - - location: 12 (remaining gas: 1039993.426 units remaining) + - location: 12 (remaining gas: 1039993.796 units remaining) [ 2 ] - - location: 10 (remaining gas: 1039993.416 units remaining) + - location: 10 (remaining gas: 1039993.786 units remaining) [ 2 ] - - location: 15 (remaining gas: 1039993.406 units remaining) + - location: 15 (remaining gas: 1039993.776 units remaining) [ {} 2 ] - - location: 17 (remaining gas: 1039993.396 units remaining) + - location: 17 (remaining gas: 1039993.766 units remaining) [ (Pair {} 2) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out index fd744c3d504d..542f54843b41 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.471 units remaining) + - location: 9 (remaining gas: 1039993.831 units remaining) [ (Pair (Left 0) 0) ] - - location: 9 (remaining gas: 1039993.461 units remaining) + - location: 9 (remaining gas: 1039993.821 units remaining) [ (Left 0) ] - - location: 10 (remaining gas: 1039993.451 units remaining) + - location: 10 (remaining gas: 1039993.821 units remaining) [ 0 ] - - location: 12 (remaining gas: 1039993.426 units remaining) + - location: 12 (remaining gas: 1039993.796 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039993.416 units remaining) + - location: 10 (remaining gas: 1039993.786 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039993.406 units remaining) + - location: 15 (remaining gas: 1039993.776 units remaining) [ {} 0 ] - - location: 17 (remaining gas: 1039993.396 units remaining) + - location: 17 (remaining gas: 1039993.766 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out index 34844535474e..315b5fe2b05f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.471 units remaining) + - location: 9 (remaining gas: 1039993.831 units remaining) [ (Pair (Left 2) 0) ] - - location: 9 (remaining gas: 1039993.461 units remaining) + - location: 9 (remaining gas: 1039993.821 units remaining) [ (Left 2) ] - - location: 10 (remaining gas: 1039993.451 units remaining) + - location: 10 (remaining gas: 1039993.821 units remaining) [ 2 ] - - location: 12 (remaining gas: 1039993.426 units remaining) + - location: 12 (remaining gas: 1039993.796 units remaining) [ -2 ] - - location: 10 (remaining gas: 1039993.416 units remaining) + - location: 10 (remaining gas: 1039993.786 units remaining) [ -2 ] - - location: 15 (remaining gas: 1039993.406 units remaining) + - location: 15 (remaining gas: 1039993.776 units remaining) [ {} -2 ] - - location: 17 (remaining gas: 1039993.396 units remaining) + - location: 17 (remaining gas: 1039993.766 units remaining) [ (Pair {} -2) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out index 1df71c175d42..11d6e748c2b7 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.471 units remaining) + - location: 9 (remaining gas: 1039993.831 units remaining) [ (Pair (Right 0) 0) ] - - location: 9 (remaining gas: 1039993.461 units remaining) + - location: 9 (remaining gas: 1039993.821 units remaining) [ (Right 0) ] - - location: 10 (remaining gas: 1039993.451 units remaining) + - location: 10 (remaining gas: 1039993.821 units remaining) [ 0 ] - - location: 14 (remaining gas: 1039993.426 units remaining) + - location: 14 (remaining gas: 1039993.796 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039993.416 units remaining) + - location: 10 (remaining gas: 1039993.786 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039993.406 units remaining) + - location: 15 (remaining gas: 1039993.776 units remaining) [ {} 0 ] - - location: 17 (remaining gas: 1039993.396 units remaining) + - location: 17 (remaining gas: 1039993.766 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out index e730efe3dcbf..69d2b5589ab0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out @@ -7,19 +7,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039993.471 units remaining) + - location: 9 (remaining gas: 1039993.831 units remaining) [ (Pair (Right 2) 0) ] - - location: 9 (remaining gas: 1039993.461 units remaining) + - location: 9 (remaining gas: 1039993.821 units remaining) [ (Right 2) ] - - location: 10 (remaining gas: 1039993.451 units remaining) + - location: 10 (remaining gas: 1039993.821 units remaining) [ 2 ] - - location: 14 (remaining gas: 1039993.426 units remaining) + - location: 14 (remaining gas: 1039993.796 units remaining) [ -2 ] - - location: 10 (remaining gas: 1039993.416 units remaining) + - location: 10 (remaining gas: 1039993.786 units remaining) [ -2 ] - - location: 15 (remaining gas: 1039993.406 units remaining) + - location: 15 (remaining gas: 1039993.776 units remaining) [ {} -2 ] - - location: 17 (remaining gas: 1039993.396 units remaining) + - location: 17 (remaining gas: 1039993.766 units remaining) [ (Pair {} -2) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out index f33349181fb3..aea607726d9f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.092 units remaining) + - location: 8 (remaining gas: 1039995.227 units remaining) [ (Pair Unit (Some 10)) ] - - location: 8 (remaining gas: 1039995.082 units remaining) + - location: 8 (remaining gas: 1039995.217 units remaining) [ ] - - location: 9 (remaining gas: 1039995.072 units remaining) + - location: 9 (remaining gas: 1039995.207 units remaining) [ None ] - - location: 11 (remaining gas: 1039995.062 units remaining) + - location: 11 (remaining gas: 1039995.197 units remaining) [ {} None ] - - location: 13 (remaining gas: 1039995.052 units remaining) + - location: 13 (remaining gas: 1039995.187 units remaining) [ (Pair {} None) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out index 5aa9eb56ef1d..280ba34de802 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair False None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ False ] - - location: 9 (remaining gas: 1039994.702 units remaining) + - location: 9 (remaining gas: 1039994.927 units remaining) [ True ] - - location: 10 (remaining gas: 1039994.692 units remaining) + - location: 10 (remaining gas: 1039994.917 units remaining) [ (Some True) ] - - location: 11 (remaining gas: 1039994.682 units remaining) + - location: 11 (remaining gas: 1039994.907 units remaining) [ {} (Some True) ] - - location: 13 (remaining gas: 1039994.672 units remaining) + - location: 13 (remaining gas: 1039994.897 units remaining) [ (Pair {} (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out index 6fbfaa493922..287ae820ecb0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair True None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ True ] - - location: 9 (remaining gas: 1039994.702 units remaining) + - location: 9 (remaining gas: 1039994.927 units remaining) [ False ] - - location: 10 (remaining gas: 1039994.692 units remaining) + - location: 10 (remaining gas: 1039994.917 units remaining) [ (Some False) ] - - location: 11 (remaining gas: 1039994.682 units remaining) + - location: 11 (remaining gas: 1039994.907 units remaining) [ {} (Some False) ] - - location: 13 (remaining gas: 1039994.672 units remaining) + - location: 13 (remaining gas: 1039994.897 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out index 20d65a11f832..71f195e42e32 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Left -8) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Left -8) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ -8 ] - - location: 13 (remaining gas: 1039992.585 units remaining) + - location: 13 (remaining gas: 1039993 units remaining) [ 7 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ 7 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some 7) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some 7) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some 7)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out index 78b9406dd832..2b6416125392 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Left -9) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Left -9) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ -9 ] - - location: 13 (remaining gas: 1039992.585 units remaining) + - location: 13 (remaining gas: 1039993 units remaining) [ 8 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ 8 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some 8) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some 8) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some 8)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out index 46483b2e3036..97c7e142bf48 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Left 0) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Left 0) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039992.585 units remaining) + - location: 13 (remaining gas: 1039993 units remaining) [ -1 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ -1 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some -1) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some -1) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some -1)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out index 9813886ed5c5..3200f96062a2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Left 7) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Left 7) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ 7 ] - - location: 13 (remaining gas: 1039992.585 units remaining) + - location: 13 (remaining gas: 1039993 units remaining) [ -8 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ -8 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some -8) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some -8) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some -8)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out index c764d1cda104..d2ba8e56348b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Left 8) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Left 8) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ 8 ] - - location: 13 (remaining gas: 1039992.585 units remaining) + - location: 13 (remaining gas: 1039993 units remaining) [ -9 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ -9 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some -9) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some -9) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some -9)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out index bef51f0db31b..669920f43df9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Right 0) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Right 0) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039992.585 units remaining) + - location: 15 (remaining gas: 1039993 units remaining) [ -1 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ -1 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some -1) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some -1) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some -1)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out index e4671c92658a..b3a5debadf90 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Right 7) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Right 7) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ 7 ] - - location: 15 (remaining gas: 1039992.585 units remaining) + - location: 15 (remaining gas: 1039993 units remaining) [ -8 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ -8 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some -8) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some -8) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some -8)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out index a4ff668f416b..a07f7b1bf3c4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039992.630 units remaining) + - location: 10 (remaining gas: 1039993.035 units remaining) [ (Pair (Right 8) None) ] - - location: 10 (remaining gas: 1039992.620 units remaining) + - location: 10 (remaining gas: 1039993.025 units remaining) [ (Right 8) ] - - location: 11 (remaining gas: 1039992.610 units remaining) + - location: 11 (remaining gas: 1039993.025 units remaining) [ 8 ] - - location: 15 (remaining gas: 1039992.585 units remaining) + - location: 15 (remaining gas: 1039993 units remaining) [ -9 ] - - location: 11 (remaining gas: 1039992.575 units remaining) + - location: 11 (remaining gas: 1039992.990 units remaining) [ -9 ] - - location: 16 (remaining gas: 1039992.565 units remaining) + - location: 16 (remaining gas: 1039992.980 units remaining) [ (Some -9) ] - - location: 17 (remaining gas: 1039992.555 units remaining) + - location: 17 (remaining gas: 1039992.970 units remaining) [ {} (Some -9) ] - - location: 19 (remaining gas: 1039992.545 units remaining) + - location: 19 (remaining gas: 1039992.960 units remaining) [ (Pair {} (Some -9)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out index 01ff3f3c01b6..eac6d6a9d954 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.885 units remaining) [ (Pair (Pair False False) None) ] - - location: 10 (remaining gas: 1039991.470 units remaining) + - location: 10 (remaining gas: 1039991.875 units remaining) [ (Pair False False) ] - - location: 11 (remaining gas: 1039991.460 units remaining) + - location: 11 (remaining gas: 1039991.865 units remaining) [ (Pair False False) (Pair False False) ] - - location: 12 (remaining gas: 1039991.450 units remaining) + - location: 12 (remaining gas: 1039991.855 units remaining) [ False (Pair False False) ] - - location: 13 (remaining gas: 1039991.440 units remaining) + - location: 13 (remaining gas: 1039991.845 units remaining) [ (Pair False False) False ] - - location: 14 (remaining gas: 1039991.430 units remaining) + - location: 14 (remaining gas: 1039991.835 units remaining) [ False False ] - - location: 15 (remaining gas: 1039991.420 units remaining) + - location: 15 (remaining gas: 1039991.825 units remaining) [ False ] - - location: 16 (remaining gas: 1039991.410 units remaining) + - location: 16 (remaining gas: 1039991.815 units remaining) [ (Some False) ] - - location: 17 (remaining gas: 1039991.400 units remaining) + - location: 17 (remaining gas: 1039991.805 units remaining) [ {} (Some False) ] - - location: 19 (remaining gas: 1039991.390 units remaining) + - location: 19 (remaining gas: 1039991.795 units remaining) [ (Pair {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out index cdd8145e5d50..1aab2abc6fd8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.885 units remaining) [ (Pair (Pair False True) None) ] - - location: 10 (remaining gas: 1039991.470 units remaining) + - location: 10 (remaining gas: 1039991.875 units remaining) [ (Pair False True) ] - - location: 11 (remaining gas: 1039991.460 units remaining) + - location: 11 (remaining gas: 1039991.865 units remaining) [ (Pair False True) (Pair False True) ] - - location: 12 (remaining gas: 1039991.450 units remaining) + - location: 12 (remaining gas: 1039991.855 units remaining) [ False (Pair False True) ] - - location: 13 (remaining gas: 1039991.440 units remaining) + - location: 13 (remaining gas: 1039991.845 units remaining) [ (Pair False True) False ] - - location: 14 (remaining gas: 1039991.430 units remaining) + - location: 14 (remaining gas: 1039991.835 units remaining) [ True False ] - - location: 15 (remaining gas: 1039991.420 units remaining) + - location: 15 (remaining gas: 1039991.825 units remaining) [ True ] - - location: 16 (remaining gas: 1039991.410 units remaining) + - location: 16 (remaining gas: 1039991.815 units remaining) [ (Some True) ] - - location: 17 (remaining gas: 1039991.400 units remaining) + - location: 17 (remaining gas: 1039991.805 units remaining) [ {} (Some True) ] - - location: 19 (remaining gas: 1039991.390 units remaining) + - location: 19 (remaining gas: 1039991.795 units remaining) [ (Pair {} (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out index 3faa65bc7a91..7066c1b6e583 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.885 units remaining) [ (Pair (Pair True False) None) ] - - location: 10 (remaining gas: 1039991.470 units remaining) + - location: 10 (remaining gas: 1039991.875 units remaining) [ (Pair True False) ] - - location: 11 (remaining gas: 1039991.460 units remaining) + - location: 11 (remaining gas: 1039991.865 units remaining) [ (Pair True False) (Pair True False) ] - - location: 12 (remaining gas: 1039991.450 units remaining) + - location: 12 (remaining gas: 1039991.855 units remaining) [ True (Pair True False) ] - - location: 13 (remaining gas: 1039991.440 units remaining) + - location: 13 (remaining gas: 1039991.845 units remaining) [ (Pair True False) True ] - - location: 14 (remaining gas: 1039991.430 units remaining) + - location: 14 (remaining gas: 1039991.835 units remaining) [ False True ] - - location: 15 (remaining gas: 1039991.420 units remaining) + - location: 15 (remaining gas: 1039991.825 units remaining) [ True ] - - location: 16 (remaining gas: 1039991.410 units remaining) + - location: 16 (remaining gas: 1039991.815 units remaining) [ (Some True) ] - - location: 17 (remaining gas: 1039991.400 units remaining) + - location: 17 (remaining gas: 1039991.805 units remaining) [ {} (Some True) ] - - location: 19 (remaining gas: 1039991.390 units remaining) + - location: 19 (remaining gas: 1039991.795 units remaining) [ (Pair {} (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out index 41073064def0..a0d50231329f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out @@ -7,29 +7,29 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.885 units remaining) [ (Pair (Pair True True) None) ] - - location: 10 (remaining gas: 1039991.470 units remaining) + - location: 10 (remaining gas: 1039991.875 units remaining) [ (Pair True True) ] - - location: 11 (remaining gas: 1039991.460 units remaining) + - location: 11 (remaining gas: 1039991.865 units remaining) [ (Pair True True) (Pair True True) ] - - location: 12 (remaining gas: 1039991.450 units remaining) + - location: 12 (remaining gas: 1039991.855 units remaining) [ True (Pair True True) ] - - location: 13 (remaining gas: 1039991.440 units remaining) + - location: 13 (remaining gas: 1039991.845 units remaining) [ (Pair True True) True ] - - location: 14 (remaining gas: 1039991.430 units remaining) + - location: 14 (remaining gas: 1039991.835 units remaining) [ True True ] - - location: 15 (remaining gas: 1039991.420 units remaining) + - location: 15 (remaining gas: 1039991.825 units remaining) [ True ] - - location: 16 (remaining gas: 1039991.410 units remaining) + - location: 16 (remaining gas: 1039991.815 units remaining) [ (Some True) ] - - location: 17 (remaining gas: 1039991.400 units remaining) + - location: 17 (remaining gas: 1039991.805 units remaining) [ {} (Some True) ] - - location: 19 (remaining gas: 1039991.390 units remaining) + - location: 19 (remaining gas: 1039991.795 units remaining) [ (Pair {} (Some True)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out index b5ce21370bee..7134a024f069 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.589 units remaining) + - location: 10 (remaining gas: 1039993.859 units remaining) [ (Pair (Pair 0 8) None) ] - - location: 10 (remaining gas: 1039993.579 units remaining) + - location: 10 (remaining gas: 1039993.849 units remaining) [ (Pair 0 8) ] - - location: 11 (remaining gas: 1039993.569 units remaining) + - location: 11 (remaining gas: 1039993.839 units remaining) [ 0 8 ] - - location: 12 (remaining gas: 1039993.534 units remaining) + - location: 12 (remaining gas: 1039993.804 units remaining) [ 8 ] - - location: 13 (remaining gas: 1039993.524 units remaining) + - location: 13 (remaining gas: 1039993.794 units remaining) [ (Some 8) ] - - location: 14 (remaining gas: 1039993.514 units remaining) + - location: 14 (remaining gas: 1039993.784 units remaining) [ {} (Some 8) ] - - location: 16 (remaining gas: 1039993.504 units remaining) + - location: 16 (remaining gas: 1039993.774 units remaining) [ (Pair {} (Some 8)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out index 3bad34009432..5b231716c634 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.589 units remaining) + - location: 10 (remaining gas: 1039993.859 units remaining) [ (Pair (Pair 14 1) None) ] - - location: 10 (remaining gas: 1039993.579 units remaining) + - location: 10 (remaining gas: 1039993.849 units remaining) [ (Pair 14 1) ] - - location: 11 (remaining gas: 1039993.569 units remaining) + - location: 11 (remaining gas: 1039993.839 units remaining) [ 14 1 ] - - location: 12 (remaining gas: 1039993.534 units remaining) + - location: 12 (remaining gas: 1039993.804 units remaining) [ 15 ] - - location: 13 (remaining gas: 1039993.524 units remaining) + - location: 13 (remaining gas: 1039993.794 units remaining) [ (Some 15) ] - - location: 14 (remaining gas: 1039993.514 units remaining) + - location: 14 (remaining gas: 1039993.784 units remaining) [ {} (Some 15) ] - - location: 16 (remaining gas: 1039993.504 units remaining) + - location: 16 (remaining gas: 1039993.774 units remaining) [ (Pair {} (Some 15)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out index 06c67355b954..936d4717dee7 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.589 units remaining) + - location: 10 (remaining gas: 1039993.859 units remaining) [ (Pair (Pair 15 4) None) ] - - location: 10 (remaining gas: 1039993.579 units remaining) + - location: 10 (remaining gas: 1039993.849 units remaining) [ (Pair 15 4) ] - - location: 11 (remaining gas: 1039993.569 units remaining) + - location: 11 (remaining gas: 1039993.839 units remaining) [ 15 4 ] - - location: 12 (remaining gas: 1039993.534 units remaining) + - location: 12 (remaining gas: 1039993.804 units remaining) [ 15 ] - - location: 13 (remaining gas: 1039993.524 units remaining) + - location: 13 (remaining gas: 1039993.794 units remaining) [ (Some 15) ] - - location: 14 (remaining gas: 1039993.514 units remaining) + - location: 14 (remaining gas: 1039993.784 units remaining) [ {} (Some 15) ] - - location: 16 (remaining gas: 1039993.504 units remaining) + - location: 16 (remaining gas: 1039993.774 units remaining) [ (Pair {} (Some 15)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out index f48d6c443f79..1b62cc25988e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.589 units remaining) + - location: 10 (remaining gas: 1039993.859 units remaining) [ (Pair (Pair 4 8) None) ] - - location: 10 (remaining gas: 1039993.579 units remaining) + - location: 10 (remaining gas: 1039993.849 units remaining) [ (Pair 4 8) ] - - location: 11 (remaining gas: 1039993.569 units remaining) + - location: 11 (remaining gas: 1039993.839 units remaining) [ 4 8 ] - - location: 12 (remaining gas: 1039993.534 units remaining) + - location: 12 (remaining gas: 1039993.804 units remaining) [ 12 ] - - location: 13 (remaining gas: 1039993.524 units remaining) + - location: 13 (remaining gas: 1039993.794 units remaining) [ (Some 12) ] - - location: 14 (remaining gas: 1039993.514 units remaining) + - location: 14 (remaining gas: 1039993.784 units remaining) [ {} (Some 12) ] - - location: 16 (remaining gas: 1039993.504 units remaining) + - location: 16 (remaining gas: 1039993.774 units remaining) [ (Pair {} (Some 12)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out index dc793471feb6..6f0477f2a8f0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.589 units remaining) + - location: 10 (remaining gas: 1039993.859 units remaining) [ (Pair (Pair 7 7) None) ] - - location: 10 (remaining gas: 1039993.579 units remaining) + - location: 10 (remaining gas: 1039993.849 units remaining) [ (Pair 7 7) ] - - location: 11 (remaining gas: 1039993.569 units remaining) + - location: 11 (remaining gas: 1039993.839 units remaining) [ 7 7 ] - - location: 12 (remaining gas: 1039993.534 units remaining) + - location: 12 (remaining gas: 1039993.804 units remaining) [ 7 ] - - location: 13 (remaining gas: 1039993.524 units remaining) + - location: 13 (remaining gas: 1039993.794 units remaining) [ (Some 7) ] - - location: 14 (remaining gas: 1039993.514 units remaining) + - location: 14 (remaining gas: 1039993.784 units remaining) [ {} (Some 7) ] - - location: 16 (remaining gas: 1039993.504 units remaining) + - location: 16 (remaining gas: 1039993.774 units remaining) [ (Pair {} (Some 7)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out index 815674bf0410..a80b14a9830c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out @@ -7,20 +7,20 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.589 units remaining) + - location: 10 (remaining gas: 1039993.859 units remaining) [ (Pair (Pair 8 0) None) ] - - location: 10 (remaining gas: 1039993.579 units remaining) + - location: 10 (remaining gas: 1039993.849 units remaining) [ (Pair 8 0) ] - - location: 11 (remaining gas: 1039993.569 units remaining) + - location: 11 (remaining gas: 1039993.839 units remaining) [ 8 0 ] - - location: 12 (remaining gas: 1039993.534 units remaining) + - location: 12 (remaining gas: 1039993.804 units remaining) [ 8 ] - - location: 13 (remaining gas: 1039993.524 units remaining) + - location: 13 (remaining gas: 1039993.794 units remaining) [ (Some 8) ] - - location: 14 (remaining gas: 1039993.514 units remaining) + - location: 14 (remaining gas: 1039993.784 units remaining) [ {} (Some 8) ] - - location: 16 (remaining gas: 1039993.504 units remaining) + - location: 16 (remaining gas: 1039993.774 units remaining) [ (Pair {} (Some 8)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" index 8144070a0e9a..38d9a473dd52 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" @@ -7,7 +7,7 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039844.030 units remaining) + - location: 16 (remaining gas: 1039851.095 units remaining) [ (Pair (Pair -1 1 "foobar" @@ -18,7 +18,7 @@ trace "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") Unit) ] - - location: 16 (remaining gas: 1039844.020 units remaining) + - location: 16 (remaining gas: 1039851.085 units remaining) [ (Pair -1 1 "foobar" @@ -28,7 +28,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 17 (remaining gas: 1039844.010 units remaining) + - location: 17 (remaining gas: 1039851.075 units remaining) [ (Pair -1 1 "foobar" @@ -47,7 +47,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 18 (remaining gas: 1039844 units remaining) + - location: 18 (remaining gas: 1039851.065 units remaining) [ -1 (Pair -1 1 @@ -58,7 +58,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039843.990 units remaining) + - location: 19 (remaining gas: 1039851.065 units remaining) [ (Pair -1 1 "foobar" @@ -68,7 +68,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 21 (remaining gas: 1039843.980 units remaining) + - location: 21 (remaining gas: 1039851.055 units remaining) [ -1 (Pair 1 "foobar" @@ -78,7 +78,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039843.960 units remaining) + - location: 19 (remaining gas: 1039851.035 units remaining) [ -1 -1 (Pair 1 @@ -89,7 +89,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039843.733 units remaining) + - location: 22 (remaining gas: 1039850.808 units remaining) [ 0x050041 -1 (Pair 1 @@ -100,7 +100,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039843.313 units remaining) + - location: 23 (remaining gas: 1039850.388 units remaining) [ (Some -1) -1 (Pair 1 @@ -111,7 +111,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 26 (remaining gas: 1039843.303 units remaining) + - location: 26 (remaining gas: 1039850.388 units remaining) [ -1 -1 (Pair 1 @@ -122,7 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 26 (remaining gas: 1039843.293 units remaining) + - location: 26 (remaining gas: 1039850.378 units remaining) [ -1 -1 (Pair 1 @@ -133,7 +133,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039843.258 units remaining) + - location: 34 (remaining gas: 1039850.343 units remaining) [ 0 (Pair 1 "foobar" @@ -143,7 +143,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039843.248 units remaining) + - location: 35 (remaining gas: 1039850.333 units remaining) [ True (Pair 1 "foobar" @@ -153,7 +153,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039843.238 units remaining) + - location: 36 (remaining gas: 1039850.333 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -162,7 +162,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039843.228 units remaining) + - location: 36 (remaining gas: 1039850.323 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -171,7 +171,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039843.218 units remaining) + - location: 42 (remaining gas: 1039850.313 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -188,7 +188,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039843.208 units remaining) + - location: 43 (remaining gas: 1039850.303 units remaining) [ 1 (Pair 1 "foobar" @@ -198,7 +198,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039843.198 units remaining) + - location: 44 (remaining gas: 1039850.303 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -207,7 +207,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039843.188 units remaining) + - location: 46 (remaining gas: 1039850.293 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -216,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039843.168 units remaining) + - location: 44 (remaining gas: 1039850.273 units remaining) [ 1 1 (Pair "foobar" @@ -226,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039842.941 units remaining) + - location: 47 (remaining gas: 1039850.046 units remaining) [ 0x050001 1 (Pair "foobar" @@ -236,7 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039842.521 units remaining) + - location: 48 (remaining gas: 1039849.626 units remaining) [ (Some 1) 1 (Pair "foobar" @@ -246,7 +246,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039842.511 units remaining) + - location: 51 (remaining gas: 1039849.626 units remaining) [ 1 1 (Pair "foobar" @@ -256,7 +256,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039842.501 units remaining) + - location: 51 (remaining gas: 1039849.616 units remaining) [ 1 1 (Pair "foobar" @@ -266,7 +266,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039842.466 units remaining) + - location: 59 (remaining gas: 1039849.581 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -275,7 +275,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039842.456 units remaining) + - location: 60 (remaining gas: 1039849.571 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -284,7 +284,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039842.446 units remaining) + - location: 61 (remaining gas: 1039849.571 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -292,7 +292,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039842.436 units remaining) + - location: 61 (remaining gas: 1039849.561 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -300,7 +300,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039842.426 units remaining) + - location: 67 (remaining gas: 1039849.551 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -315,7 +315,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039842.416 units remaining) + - location: 68 (remaining gas: 1039849.541 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -324,7 +324,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039842.406 units remaining) + - location: 69 (remaining gas: 1039849.541 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -332,7 +332,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039842.396 units remaining) + - location: 71 (remaining gas: 1039849.531 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -340,7 +340,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039842.376 units remaining) + - location: 69 (remaining gas: 1039849.511 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -349,7 +349,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039841.852 units remaining) + - location: 72 (remaining gas: 1039848.987 units remaining) [ 0x050100000006666f6f626172 "foobar" (Pair 0x00aabbcc @@ -358,7 +358,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039841.177 units remaining) + - location: 73 (remaining gas: 1039848.312 units remaining) [ (Some "foobar") "foobar" (Pair 0x00aabbcc @@ -367,7 +367,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039841.167 units remaining) + - location: 76 (remaining gas: 1039848.312 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -376,7 +376,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039841.157 units remaining) + - location: 76 (remaining gas: 1039848.302 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -385,7 +385,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039841.122 units remaining) + - location: 84 (remaining gas: 1039848.267 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -393,7 +393,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039841.112 units remaining) + - location: 85 (remaining gas: 1039848.257 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -401,21 +401,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039841.102 units remaining) + - location: 86 (remaining gas: 1039848.257 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039841.092 units remaining) + - location: 86 (remaining gas: 1039848.247 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039841.082 units remaining) + - location: 92 (remaining gas: 1039848.237 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -428,7 +428,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039841.072 units remaining) + - location: 93 (remaining gas: 1039848.227 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -436,21 +436,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039841.062 units remaining) + - location: 94 (remaining gas: 1039848.227 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039841.052 units remaining) + - location: 96 (remaining gas: 1039848.217 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039841.032 units remaining) + - location: 94 (remaining gas: 1039848.197 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -458,7 +458,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039840.574 units remaining) + - location: 97 (remaining gas: 1039847.739 units remaining) [ 0x050a0000000400aabbcc 0x00aabbcc (Pair 1000 @@ -466,7 +466,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039840.013 units remaining) + - location: 98 (remaining gas: 1039847.178 units remaining) [ (Some 0x00aabbcc) 0x00aabbcc (Pair 1000 @@ -474,7 +474,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039840.003 units remaining) + - location: 101 (remaining gas: 1039847.178 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -482,7 +482,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039839.993 units remaining) + - location: 101 (remaining gas: 1039847.168 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -490,33 +490,33 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039839.958 units remaining) + - location: 109 (remaining gas: 1039847.133 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039839.948 units remaining) + - location: 110 (remaining gas: 1039847.123 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039839.938 units remaining) + - location: 111 (remaining gas: 1039847.123 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039839.928 units remaining) + - location: 111 (remaining gas: 1039847.113 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039839.918 units remaining) + - location: 117 (remaining gas: 1039847.103 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -527,83 +527,83 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039839.908 units remaining) + - location: 118 (remaining gas: 1039847.093 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039839.898 units remaining) + - location: 119 (remaining gas: 1039847.093 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039839.888 units remaining) + - location: 121 (remaining gas: 1039847.083 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039839.868 units remaining) + - location: 119 (remaining gas: 1039847.063 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039839.608 units remaining) + - location: 122 (remaining gas: 1039846.803 units remaining) [ 0x0500a80f 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039839.168 units remaining) + - location: 123 (remaining gas: 1039846.363 units remaining) [ (Some 1000) 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039839.158 units remaining) + - location: 126 (remaining gas: 1039846.363 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039839.148 units remaining) + - location: 126 (remaining gas: 1039846.353 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039839.113 units remaining) + - location: 134 (remaining gas: 1039846.318 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039839.103 units remaining) + - location: 135 (remaining gas: 1039846.308 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039839.093 units remaining) + - location: 136 (remaining gas: 1039846.308 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039839.083 units remaining) + - location: 136 (remaining gas: 1039846.298 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039839.073 units remaining) + - location: 142 (remaining gas: 1039846.288 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -612,234 +612,234 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039839.063 units remaining) + - location: 143 (remaining gas: 1039846.278 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039839.053 units remaining) + - location: 144 (remaining gas: 1039846.278 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039839.043 units remaining) + - location: 146 (remaining gas: 1039846.268 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039839.023 units remaining) + - location: 144 (remaining gas: 1039846.248 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039838.796 units remaining) + - location: 147 (remaining gas: 1039846.021 units remaining) [ 0x050303 False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039838.376 units remaining) + - location: 148 (remaining gas: 1039845.601 units remaining) [ (Some False) False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039838.366 units remaining) + - location: 151 (remaining gas: 1039845.601 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039838.356 units remaining) + - location: 151 (remaining gas: 1039845.591 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039838.321 units remaining) + - location: 159 (remaining gas: 1039845.556 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039838.311 units remaining) + - location: 160 (remaining gas: 1039845.546 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039838.301 units remaining) + - location: 161 (remaining gas: 1039845.546 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039838.291 units remaining) + - location: 161 (remaining gas: 1039845.536 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039838.281 units remaining) + - location: 167 (remaining gas: 1039845.526 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039838.271 units remaining) + - location: 168 (remaining gas: 1039845.516 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039838.261 units remaining) + - location: 169 (remaining gas: 1039845.516 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039838.251 units remaining) + - location: 171 (remaining gas: 1039845.506 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039838.231 units remaining) + - location: 169 (remaining gas: 1039845.486 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039837.141 units remaining) + - location: 172 (remaining gas: 1039844.396 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039836.188 units remaining) + - location: 173 (remaining gas: 1039843.443 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039836.178 units remaining) + - location: 176 (remaining gas: 1039843.443 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039836.168 units remaining) + - location: 176 (remaining gas: 1039843.433 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039836.132 units remaining) + - location: 184 (remaining gas: 1039843.397 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039836.122 units remaining) + - location: 185 (remaining gas: 1039843.387 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039836.112 units remaining) + - location: 186 (remaining gas: 1039843.387 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039836.102 units remaining) + - location: 186 (remaining gas: 1039843.377 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039836.092 units remaining) + - location: 192 (remaining gas: 1039843.367 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039836.082 units remaining) + - location: 193 (remaining gas: 1039843.357 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 194 (remaining gas: 1039836.072 units remaining) + - location: 194 (remaining gas: 1039843.357 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039836.062 units remaining) + - location: 196 (remaining gas: 1039843.347 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039836.042 units remaining) + - location: 194 (remaining gas: 1039843.327 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039835.683 units remaining) + - location: 197 (remaining gas: 1039842.968 units remaining) [ 0x050095bbb0d70b "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039835.183 units remaining) + - location: 198 (remaining gas: 1039842.468 units remaining) [ (Some "2019-09-09T08:35:33Z") "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039835.173 units remaining) + - location: 201 (remaining gas: 1039842.468 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039835.163 units remaining) + - location: 201 (remaining gas: 1039842.458 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039835.128 units remaining) + - location: 209 (remaining gas: 1039842.423 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039835.118 units remaining) + - location: 210 (remaining gas: 1039842.413 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039835.108 units remaining) + - location: 211 (remaining gas: 1039842.413 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039835.098 units remaining) + - location: 211 (remaining gas: 1039842.403 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039835.088 units remaining) + - location: 217 (remaining gas: 1039842.393 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039833.965 units remaining) + - location: 218 (remaining gas: 1039841.270 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039832.992 units remaining) + - location: 219 (remaining gas: 1039840.297 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039832.982 units remaining) + - location: 222 (remaining gas: 1039840.297 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039832.972 units remaining) + - location: 222 (remaining gas: 1039840.287 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039832.936 units remaining) + - location: 230 (remaining gas: 1039840.251 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039832.926 units remaining) + - location: 231 (remaining gas: 1039840.241 units remaining) [ True ] - - location: 232 (remaining gas: 1039832.916 units remaining) + - location: 232 (remaining gas: 1039840.241 units remaining) [ ] - - location: 232 (remaining gas: 1039832.906 units remaining) + - location: 232 (remaining gas: 1039840.231 units remaining) [ ] - - location: 238 (remaining gas: 1039832.896 units remaining) + - location: 238 (remaining gas: 1039840.221 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039832.669 units remaining) + - location: 241 (remaining gas: 1039839.994 units remaining) [ 0x050000 ] - - location: 242 (remaining gas: 1039832.249 units remaining) + - location: 242 (remaining gas: 1039839.574 units remaining) [ (Some 0) ] - - location: 245 (remaining gas: 1039832.239 units remaining) + - location: 245 (remaining gas: 1039839.574 units remaining) [ 0 ] - - location: 245 (remaining gas: 1039832.229 units remaining) + - location: 245 (remaining gas: 1039839.564 units remaining) [ 0 ] - - location: 251 (remaining gas: 1039832.219 units remaining) + - location: 251 (remaining gas: 1039839.554 units remaining) [ ] - - location: 252 (remaining gas: 1039832.209 units remaining) + - location: 252 (remaining gas: 1039839.544 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039831.982 units remaining) + - location: 255 (remaining gas: 1039839.317 units remaining) [ 0x050041 ] - - location: 256 (remaining gas: 1039735.662 units remaining) + - location: 256 (remaining gas: 1039742.997 units remaining) [ None ] - - location: 259 (remaining gas: 1039735.652 units remaining) + - location: 259 (remaining gas: 1039742.997 units remaining) [ ] - - location: 259 (remaining gas: 1039735.642 units remaining) + - location: 259 (remaining gas: 1039742.987 units remaining) [ ] - - location: 265 (remaining gas: 1039735.632 units remaining) + - location: 265 (remaining gas: 1039742.977 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039735.372 units remaining) + - location: 268 (remaining gas: 1039742.717 units remaining) [ None ] - - location: 271 (remaining gas: 1039735.362 units remaining) + - location: 271 (remaining gas: 1039742.717 units remaining) [ ] - - location: 271 (remaining gas: 1039735.352 units remaining) + - location: 271 (remaining gas: 1039742.707 units remaining) [ ] - - location: 277 (remaining gas: 1039735.342 units remaining) + - location: 277 (remaining gas: 1039742.697 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039735.062 units remaining) + - location: 280 (remaining gas: 1039742.417 units remaining) [ None ] - - location: 283 (remaining gas: 1039735.052 units remaining) + - location: 283 (remaining gas: 1039742.417 units remaining) [ ] - - location: 283 (remaining gas: 1039735.042 units remaining) + - location: 283 (remaining gas: 1039742.407 units remaining) [ ] - - location: 289 (remaining gas: 1039735.032 units remaining) + - location: 289 (remaining gas: 1039742.397 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039734.752 units remaining) + - location: 292 (remaining gas: 1039742.117 units remaining) [ None ] - - location: 295 (remaining gas: 1039734.742 units remaining) + - location: 295 (remaining gas: 1039742.117 units remaining) [ ] - - location: 295 (remaining gas: 1039734.732 units remaining) + - location: 295 (remaining gas: 1039742.107 units remaining) [ ] - - location: 301 (remaining gas: 1039734.722 units remaining) + - location: 301 (remaining gas: 1039742.097 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039734.712 units remaining) + - location: 302 (remaining gas: 1039742.087 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039734.702 units remaining) + - location: 304 (remaining gas: 1039742.077 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" index 0472548952c7..b92b3e0efded 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" @@ -7,7 +7,7 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039844.030 units remaining) + - location: 16 (remaining gas: 1039851.095 units remaining) [ (Pair (Pair -1 1 "foobar" @@ -18,7 +18,7 @@ trace "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") Unit) ] - - location: 16 (remaining gas: 1039844.020 units remaining) + - location: 16 (remaining gas: 1039851.085 units remaining) [ (Pair -1 1 "foobar" @@ -28,7 +28,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 17 (remaining gas: 1039844.010 units remaining) + - location: 17 (remaining gas: 1039851.075 units remaining) [ (Pair -1 1 "foobar" @@ -47,7 +47,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 18 (remaining gas: 1039844 units remaining) + - location: 18 (remaining gas: 1039851.065 units remaining) [ -1 (Pair -1 1 @@ -58,7 +58,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039843.990 units remaining) + - location: 19 (remaining gas: 1039851.065 units remaining) [ (Pair -1 1 "foobar" @@ -68,7 +68,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 21 (remaining gas: 1039843.980 units remaining) + - location: 21 (remaining gas: 1039851.055 units remaining) [ -1 (Pair 1 "foobar" @@ -78,7 +78,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039843.960 units remaining) + - location: 19 (remaining gas: 1039851.035 units remaining) [ -1 -1 (Pair 1 @@ -89,7 +89,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039843.733 units remaining) + - location: 22 (remaining gas: 1039850.808 units remaining) [ 0x050041 -1 (Pair 1 @@ -100,7 +100,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039843.313 units remaining) + - location: 23 (remaining gas: 1039850.388 units remaining) [ (Some -1) -1 (Pair 1 @@ -111,7 +111,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 26 (remaining gas: 1039843.303 units remaining) + - location: 26 (remaining gas: 1039850.388 units remaining) [ -1 -1 (Pair 1 @@ -122,7 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 26 (remaining gas: 1039843.293 units remaining) + - location: 26 (remaining gas: 1039850.378 units remaining) [ -1 -1 (Pair 1 @@ -133,7 +133,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039843.258 units remaining) + - location: 34 (remaining gas: 1039850.343 units remaining) [ 0 (Pair 1 "foobar" @@ -143,7 +143,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039843.248 units remaining) + - location: 35 (remaining gas: 1039850.333 units remaining) [ True (Pair 1 "foobar" @@ -153,7 +153,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039843.238 units remaining) + - location: 36 (remaining gas: 1039850.333 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -162,7 +162,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039843.228 units remaining) + - location: 36 (remaining gas: 1039850.323 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -171,7 +171,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039843.218 units remaining) + - location: 42 (remaining gas: 1039850.313 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -188,7 +188,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039843.208 units remaining) + - location: 43 (remaining gas: 1039850.303 units remaining) [ 1 (Pair 1 "foobar" @@ -198,7 +198,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039843.198 units remaining) + - location: 44 (remaining gas: 1039850.303 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -207,7 +207,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039843.188 units remaining) + - location: 46 (remaining gas: 1039850.293 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -216,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039843.168 units remaining) + - location: 44 (remaining gas: 1039850.273 units remaining) [ 1 1 (Pair "foobar" @@ -226,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039842.941 units remaining) + - location: 47 (remaining gas: 1039850.046 units remaining) [ 0x050001 1 (Pair "foobar" @@ -236,7 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039842.521 units remaining) + - location: 48 (remaining gas: 1039849.626 units remaining) [ (Some 1) 1 (Pair "foobar" @@ -246,7 +246,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039842.511 units remaining) + - location: 51 (remaining gas: 1039849.626 units remaining) [ 1 1 (Pair "foobar" @@ -256,7 +256,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039842.501 units remaining) + - location: 51 (remaining gas: 1039849.616 units remaining) [ 1 1 (Pair "foobar" @@ -266,7 +266,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039842.466 units remaining) + - location: 59 (remaining gas: 1039849.581 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -275,7 +275,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039842.456 units remaining) + - location: 60 (remaining gas: 1039849.571 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -284,7 +284,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039842.446 units remaining) + - location: 61 (remaining gas: 1039849.571 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -292,7 +292,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039842.436 units remaining) + - location: 61 (remaining gas: 1039849.561 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -300,7 +300,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039842.426 units remaining) + - location: 67 (remaining gas: 1039849.551 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -315,7 +315,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039842.416 units remaining) + - location: 68 (remaining gas: 1039849.541 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -324,7 +324,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039842.406 units remaining) + - location: 69 (remaining gas: 1039849.541 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -332,7 +332,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039842.396 units remaining) + - location: 71 (remaining gas: 1039849.531 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -340,7 +340,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039842.376 units remaining) + - location: 69 (remaining gas: 1039849.511 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -349,7 +349,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039841.852 units remaining) + - location: 72 (remaining gas: 1039848.987 units remaining) [ 0x050100000006666f6f626172 "foobar" (Pair 0x00aabbcc @@ -358,7 +358,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039841.177 units remaining) + - location: 73 (remaining gas: 1039848.312 units remaining) [ (Some "foobar") "foobar" (Pair 0x00aabbcc @@ -367,7 +367,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039841.167 units remaining) + - location: 76 (remaining gas: 1039848.312 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -376,7 +376,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039841.157 units remaining) + - location: 76 (remaining gas: 1039848.302 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -385,7 +385,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039841.122 units remaining) + - location: 84 (remaining gas: 1039848.267 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -393,7 +393,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039841.112 units remaining) + - location: 85 (remaining gas: 1039848.257 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -401,21 +401,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039841.102 units remaining) + - location: 86 (remaining gas: 1039848.257 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039841.092 units remaining) + - location: 86 (remaining gas: 1039848.247 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039841.082 units remaining) + - location: 92 (remaining gas: 1039848.237 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -428,7 +428,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039841.072 units remaining) + - location: 93 (remaining gas: 1039848.227 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -436,21 +436,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039841.062 units remaining) + - location: 94 (remaining gas: 1039848.227 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039841.052 units remaining) + - location: 96 (remaining gas: 1039848.217 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039841.032 units remaining) + - location: 94 (remaining gas: 1039848.197 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -458,7 +458,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039840.574 units remaining) + - location: 97 (remaining gas: 1039847.739 units remaining) [ 0x050a0000000400aabbcc 0x00aabbcc (Pair 1000 @@ -466,7 +466,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039840.013 units remaining) + - location: 98 (remaining gas: 1039847.178 units remaining) [ (Some 0x00aabbcc) 0x00aabbcc (Pair 1000 @@ -474,7 +474,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039840.003 units remaining) + - location: 101 (remaining gas: 1039847.178 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -482,7 +482,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039839.993 units remaining) + - location: 101 (remaining gas: 1039847.168 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -490,33 +490,33 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039839.958 units remaining) + - location: 109 (remaining gas: 1039847.133 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039839.948 units remaining) + - location: 110 (remaining gas: 1039847.123 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039839.938 units remaining) + - location: 111 (remaining gas: 1039847.123 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039839.928 units remaining) + - location: 111 (remaining gas: 1039847.113 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039839.918 units remaining) + - location: 117 (remaining gas: 1039847.103 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -527,83 +527,83 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039839.908 units remaining) + - location: 118 (remaining gas: 1039847.093 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039839.898 units remaining) + - location: 119 (remaining gas: 1039847.093 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039839.888 units remaining) + - location: 121 (remaining gas: 1039847.083 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039839.868 units remaining) + - location: 119 (remaining gas: 1039847.063 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039839.608 units remaining) + - location: 122 (remaining gas: 1039846.803 units remaining) [ 0x0500a80f 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039839.168 units remaining) + - location: 123 (remaining gas: 1039846.363 units remaining) [ (Some 1000) 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039839.158 units remaining) + - location: 126 (remaining gas: 1039846.363 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039839.148 units remaining) + - location: 126 (remaining gas: 1039846.353 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039839.113 units remaining) + - location: 134 (remaining gas: 1039846.318 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039839.103 units remaining) + - location: 135 (remaining gas: 1039846.308 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039839.093 units remaining) + - location: 136 (remaining gas: 1039846.308 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039839.083 units remaining) + - location: 136 (remaining gas: 1039846.298 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039839.073 units remaining) + - location: 142 (remaining gas: 1039846.288 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -612,234 +612,234 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039839.063 units remaining) + - location: 143 (remaining gas: 1039846.278 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039839.053 units remaining) + - location: 144 (remaining gas: 1039846.278 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039839.043 units remaining) + - location: 146 (remaining gas: 1039846.268 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039839.023 units remaining) + - location: 144 (remaining gas: 1039846.248 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039838.796 units remaining) + - location: 147 (remaining gas: 1039846.021 units remaining) [ 0x050303 False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039838.376 units remaining) + - location: 148 (remaining gas: 1039845.601 units remaining) [ (Some False) False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039838.366 units remaining) + - location: 151 (remaining gas: 1039845.601 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039838.356 units remaining) + - location: 151 (remaining gas: 1039845.591 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039838.321 units remaining) + - location: 159 (remaining gas: 1039845.556 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039838.311 units remaining) + - location: 160 (remaining gas: 1039845.546 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039838.301 units remaining) + - location: 161 (remaining gas: 1039845.546 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039838.291 units remaining) + - location: 161 (remaining gas: 1039845.536 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039838.281 units remaining) + - location: 167 (remaining gas: 1039845.526 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039838.271 units remaining) + - location: 168 (remaining gas: 1039845.516 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039838.261 units remaining) + - location: 169 (remaining gas: 1039845.516 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039838.251 units remaining) + - location: 171 (remaining gas: 1039845.506 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039838.231 units remaining) + - location: 169 (remaining gas: 1039845.486 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039837.141 units remaining) + - location: 172 (remaining gas: 1039844.396 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039836.188 units remaining) + - location: 173 (remaining gas: 1039843.443 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039836.178 units remaining) + - location: 176 (remaining gas: 1039843.443 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039836.168 units remaining) + - location: 176 (remaining gas: 1039843.433 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039836.132 units remaining) + - location: 184 (remaining gas: 1039843.397 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039836.122 units remaining) + - location: 185 (remaining gas: 1039843.387 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039836.112 units remaining) + - location: 186 (remaining gas: 1039843.387 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039836.102 units remaining) + - location: 186 (remaining gas: 1039843.377 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039836.092 units remaining) + - location: 192 (remaining gas: 1039843.367 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039836.082 units remaining) + - location: 193 (remaining gas: 1039843.357 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 194 (remaining gas: 1039836.072 units remaining) + - location: 194 (remaining gas: 1039843.357 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039836.062 units remaining) + - location: 196 (remaining gas: 1039843.347 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039836.042 units remaining) + - location: 194 (remaining gas: 1039843.327 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039835.683 units remaining) + - location: 197 (remaining gas: 1039842.968 units remaining) [ 0x050095bbb0d70b "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039835.183 units remaining) + - location: 198 (remaining gas: 1039842.468 units remaining) [ (Some "2019-09-09T08:35:33Z") "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039835.173 units remaining) + - location: 201 (remaining gas: 1039842.468 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039835.163 units remaining) + - location: 201 (remaining gas: 1039842.458 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039835.128 units remaining) + - location: 209 (remaining gas: 1039842.423 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039835.118 units remaining) + - location: 210 (remaining gas: 1039842.413 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039835.108 units remaining) + - location: 211 (remaining gas: 1039842.413 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039835.098 units remaining) + - location: 211 (remaining gas: 1039842.403 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039835.088 units remaining) + - location: 217 (remaining gas: 1039842.393 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039833.965 units remaining) + - location: 218 (remaining gas: 1039841.270 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039832.992 units remaining) + - location: 219 (remaining gas: 1039840.297 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039832.982 units remaining) + - location: 222 (remaining gas: 1039840.297 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039832.972 units remaining) + - location: 222 (remaining gas: 1039840.287 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039832.936 units remaining) + - location: 230 (remaining gas: 1039840.251 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039832.926 units remaining) + - location: 231 (remaining gas: 1039840.241 units remaining) [ True ] - - location: 232 (remaining gas: 1039832.916 units remaining) + - location: 232 (remaining gas: 1039840.241 units remaining) [ ] - - location: 232 (remaining gas: 1039832.906 units remaining) + - location: 232 (remaining gas: 1039840.231 units remaining) [ ] - - location: 238 (remaining gas: 1039832.896 units remaining) + - location: 238 (remaining gas: 1039840.221 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039832.669 units remaining) + - location: 241 (remaining gas: 1039839.994 units remaining) [ 0x050000 ] - - location: 242 (remaining gas: 1039832.249 units remaining) + - location: 242 (remaining gas: 1039839.574 units remaining) [ (Some 0) ] - - location: 245 (remaining gas: 1039832.239 units remaining) + - location: 245 (remaining gas: 1039839.574 units remaining) [ 0 ] - - location: 245 (remaining gas: 1039832.229 units remaining) + - location: 245 (remaining gas: 1039839.564 units remaining) [ 0 ] - - location: 251 (remaining gas: 1039832.219 units remaining) + - location: 251 (remaining gas: 1039839.554 units remaining) [ ] - - location: 252 (remaining gas: 1039832.209 units remaining) + - location: 252 (remaining gas: 1039839.544 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039831.982 units remaining) + - location: 255 (remaining gas: 1039839.317 units remaining) [ 0x050041 ] - - location: 256 (remaining gas: 1039735.662 units remaining) + - location: 256 (remaining gas: 1039742.997 units remaining) [ None ] - - location: 259 (remaining gas: 1039735.652 units remaining) + - location: 259 (remaining gas: 1039742.997 units remaining) [ ] - - location: 259 (remaining gas: 1039735.642 units remaining) + - location: 259 (remaining gas: 1039742.987 units remaining) [ ] - - location: 265 (remaining gas: 1039735.632 units remaining) + - location: 265 (remaining gas: 1039742.977 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039735.372 units remaining) + - location: 268 (remaining gas: 1039742.717 units remaining) [ None ] - - location: 271 (remaining gas: 1039735.362 units remaining) + - location: 271 (remaining gas: 1039742.717 units remaining) [ ] - - location: 271 (remaining gas: 1039735.352 units remaining) + - location: 271 (remaining gas: 1039742.707 units remaining) [ ] - - location: 277 (remaining gas: 1039735.342 units remaining) + - location: 277 (remaining gas: 1039742.697 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039735.062 units remaining) + - location: 280 (remaining gas: 1039742.417 units remaining) [ None ] - - location: 283 (remaining gas: 1039735.052 units remaining) + - location: 283 (remaining gas: 1039742.417 units remaining) [ ] - - location: 283 (remaining gas: 1039735.042 units remaining) + - location: 283 (remaining gas: 1039742.407 units remaining) [ ] - - location: 289 (remaining gas: 1039735.032 units remaining) + - location: 289 (remaining gas: 1039742.397 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039734.752 units remaining) + - location: 292 (remaining gas: 1039742.117 units remaining) [ None ] - - location: 295 (remaining gas: 1039734.742 units remaining) + - location: 295 (remaining gas: 1039742.117 units remaining) [ ] - - location: 295 (remaining gas: 1039734.732 units remaining) + - location: 295 (remaining gas: 1039742.107 units remaining) [ ] - - location: 301 (remaining gas: 1039734.722 units remaining) + - location: 301 (remaining gas: 1039742.097 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039734.712 units remaining) + - location: 302 (remaining gas: 1039742.087 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039734.702 units remaining) + - location: 304 (remaining gas: 1039742.077 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" index dbf8f12aa2f9..b8077bc521a2 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" @@ -7,7 +7,7 @@ emitted operations big_map diff trace - - location: 28 (remaining gas: 1039489.188 units remaining) + - location: 28 (remaining gas: 1039497.693 units remaining) [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -19,7 +19,7 @@ trace { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) Unit) ] - - location: 28 (remaining gas: 1039489.178 units remaining) + - location: 28 (remaining gas: 1039497.683 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -30,7 +30,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 29 (remaining gas: 1039489.168 units remaining) + - location: 29 (remaining gas: 1039497.673 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -51,7 +51,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 30 (remaining gas: 1039489.158 units remaining) + - location: 30 (remaining gas: 1039497.663 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit @@ -63,7 +63,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 31 (remaining gas: 1039489.148 units remaining) + - location: 31 (remaining gas: 1039497.663 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -74,7 +74,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 33 (remaining gas: 1039489.138 units remaining) + - location: 33 (remaining gas: 1039497.653 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -85,7 +85,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 31 (remaining gas: 1039489.118 units remaining) + - location: 31 (remaining gas: 1039497.633 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -97,7 +97,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 34 (remaining gas: 1039487.246 units remaining) + - location: 34 (remaining gas: 1039495.761 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -109,7 +109,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 35 (remaining gas: 1039487.236 units remaining) + - location: 35 (remaining gas: 1039495.761 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -120,7 +120,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 37 (remaining gas: 1039485.364 units remaining) + - location: 37 (remaining gas: 1039493.889 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -131,7 +131,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 38 (remaining gas: 1039164.220 units remaining) + - location: 38 (remaining gas: 1039172.745 units remaining) [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -142,7 +142,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 41 (remaining gas: 1039164.210 units remaining) + - location: 41 (remaining gas: 1039172.745 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -153,7 +153,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 41 (remaining gas: 1039164.200 units remaining) + - location: 41 (remaining gas: 1039172.735 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -164,7 +164,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 47 (remaining gas: 1039162.328 units remaining) + - location: 47 (remaining gas: 1039170.863 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -175,7 +175,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 35 (remaining gas: 1039162.308 units remaining) + - location: 35 (remaining gas: 1039170.843 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f (Pair Unit @@ -187,7 +187,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 50 (remaining gas: 1039162.273 units remaining) + - location: 50 (remaining gas: 1039170.808 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +198,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 51 (remaining gas: 1039162.263 units remaining) + - location: 51 (remaining gas: 1039170.798 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -209,7 +209,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 52 (remaining gas: 1039162.253 units remaining) + - location: 52 (remaining gas: 1039170.798 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -219,7 +219,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 52 (remaining gas: 1039162.243 units remaining) + - location: 52 (remaining gas: 1039170.788 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -229,7 +229,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 58 (remaining gas: 1039162.233 units remaining) + - location: 58 (remaining gas: 1039170.778 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -248,7 +248,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 59 (remaining gas: 1039162.223 units remaining) + - location: 59 (remaining gas: 1039170.768 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -259,7 +259,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039162.213 units remaining) + - location: 60 (remaining gas: 1039170.768 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -269,7 +269,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 62 (remaining gas: 1039162.203 units remaining) + - location: 62 (remaining gas: 1039170.758 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -279,7 +279,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039162.183 units remaining) + - location: 60 (remaining gas: 1039170.738 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -290,7 +290,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 63 (remaining gas: 1039161.956 units remaining) + - location: 63 (remaining gas: 1039170.511 units remaining) [ 0x05030b Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -301,7 +301,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039161.946 units remaining) + - location: 64 (remaining gas: 1039170.511 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -311,7 +311,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 66 (remaining gas: 1039161.719 units remaining) + - location: 66 (remaining gas: 1039170.284 units remaining) [ 0x05030b (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -321,7 +321,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 67 (remaining gas: 1039161.299 units remaining) + - location: 67 (remaining gas: 1039169.864 units remaining) [ (Some Unit) (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -331,7 +331,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 70 (remaining gas: 1039161.289 units remaining) + - location: 70 (remaining gas: 1039169.864 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -341,7 +341,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 70 (remaining gas: 1039161.279 units remaining) + - location: 70 (remaining gas: 1039169.854 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -351,7 +351,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 76 (remaining gas: 1039161.052 units remaining) + - location: 76 (remaining gas: 1039169.627 units remaining) [ 0x05030b (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -361,7 +361,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039161.032 units remaining) + - location: 64 (remaining gas: 1039169.607 units remaining) [ 0x05030b 0x05030b (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -372,7 +372,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 79 (remaining gas: 1039160.997 units remaining) + - location: 79 (remaining gas: 1039169.572 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -382,7 +382,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 80 (remaining gas: 1039160.987 units remaining) + - location: 80 (remaining gas: 1039169.562 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -392,7 +392,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 81 (remaining gas: 1039160.977 units remaining) + - location: 81 (remaining gas: 1039169.562 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -401,7 +401,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 81 (remaining gas: 1039160.967 units remaining) + - location: 81 (remaining gas: 1039169.552 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -410,7 +410,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 87 (remaining gas: 1039160.957 units remaining) + - location: 87 (remaining gas: 1039169.542 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -427,7 +427,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 88 (remaining gas: 1039160.947 units remaining) + - location: 88 (remaining gas: 1039169.532 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -437,7 +437,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039160.937 units remaining) + - location: 89 (remaining gas: 1039169.532 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -446,7 +446,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 91 (remaining gas: 1039160.927 units remaining) + - location: 91 (remaining gas: 1039169.522 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -455,7 +455,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039160.907 units remaining) + - location: 89 (remaining gas: 1039169.502 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -465,7 +465,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 92 (remaining gas: 1039158.420 units remaining) + - location: 92 (remaining gas: 1039167.015 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -475,7 +475,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039158.410 units remaining) + - location: 93 (remaining gas: 1039167.015 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -484,7 +484,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 95 (remaining gas: 1039155.923 units remaining) + - location: 95 (remaining gas: 1039164.528 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -493,7 +493,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 96 (remaining gas: 1039154.120 units remaining) + - location: 96 (remaining gas: 1039162.725 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -502,7 +502,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 99 (remaining gas: 1039154.110 units remaining) + - location: 99 (remaining gas: 1039162.725 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -511,7 +511,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 99 (remaining gas: 1039154.100 units remaining) + - location: 99 (remaining gas: 1039162.715 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -520,7 +520,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 105 (remaining gas: 1039151.613 units remaining) + - location: 105 (remaining gas: 1039160.228 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -529,7 +529,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039151.593 units remaining) + - location: 93 (remaining gas: 1039160.208 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -539,7 +539,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 108 (remaining gas: 1039151.557 units remaining) + - location: 108 (remaining gas: 1039160.172 units remaining) [ 0 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -548,7 +548,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 109 (remaining gas: 1039151.547 units remaining) + - location: 109 (remaining gas: 1039160.162 units remaining) [ True (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -557,7 +557,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 110 (remaining gas: 1039151.537 units remaining) + - location: 110 (remaining gas: 1039160.162 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -565,7 +565,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 110 (remaining gas: 1039151.527 units remaining) + - location: 110 (remaining gas: 1039160.152 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -573,7 +573,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 116 (remaining gas: 1039151.517 units remaining) + - location: 116 (remaining gas: 1039160.142 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -588,7 +588,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 117 (remaining gas: 1039151.507 units remaining) + - location: 117 (remaining gas: 1039160.132 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -597,7 +597,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039151.497 units remaining) + - location: 118 (remaining gas: 1039160.132 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -605,7 +605,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 120 (remaining gas: 1039151.487 units remaining) + - location: 120 (remaining gas: 1039160.122 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -613,7 +613,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039151.467 units remaining) + - location: 118 (remaining gas: 1039160.102 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -622,7 +622,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 121 (remaining gas: 1039148.818 units remaining) + - location: 121 (remaining gas: 1039157.453 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -631,7 +631,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039148.808 units remaining) + - location: 122 (remaining gas: 1039157.453 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -639,7 +639,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 124 (remaining gas: 1039146.159 units remaining) + - location: 124 (remaining gas: 1039154.804 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair { Unit } { True } @@ -647,7 +647,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 125 (remaining gas: 1039144.215 units remaining) + - location: 125 (remaining gas: 1039152.860 units remaining) [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) (Pair { Unit } { True } @@ -655,7 +655,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 129 (remaining gas: 1039144.205 units remaining) + - location: 129 (remaining gas: 1039152.860 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") (Pair { Unit } { True } @@ -663,7 +663,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 129 (remaining gas: 1039144.195 units remaining) + - location: 129 (remaining gas: 1039152.850 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") (Pair { Unit } { True } @@ -671,7 +671,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 135 (remaining gas: 1039141.546 units remaining) + - location: 135 (remaining gas: 1039150.201 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair { Unit } { True } @@ -679,7 +679,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039141.526 units remaining) + - location: 122 (remaining gas: 1039150.181 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair { Unit } @@ -688,7 +688,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 138 (remaining gas: 1039141.490 units remaining) + - location: 138 (remaining gas: 1039150.145 units remaining) [ 0 (Pair { Unit } { True } @@ -696,7 +696,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 139 (remaining gas: 1039141.480 units remaining) + - location: 139 (remaining gas: 1039150.135 units remaining) [ True (Pair { Unit } { True } @@ -704,21 +704,21 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 140 (remaining gas: 1039141.470 units remaining) + - location: 140 (remaining gas: 1039150.135 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 140 (remaining gas: 1039141.460 units remaining) + - location: 140 (remaining gas: 1039150.125 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 146 (remaining gas: 1039141.450 units remaining) + - location: 146 (remaining gas: 1039150.115 units remaining) [ (Pair { Unit } { True } (Pair 19 10) @@ -731,7 +731,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 147 (remaining gas: 1039141.440 units remaining) + - location: 147 (remaining gas: 1039150.105 units remaining) [ { Unit } (Pair { Unit } { True } @@ -739,21 +739,21 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039141.430 units remaining) + - location: 148 (remaining gas: 1039150.105 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 150 (remaining gas: 1039141.420 units remaining) + - location: 150 (remaining gas: 1039150.095 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039141.400 units remaining) + - location: 148 (remaining gas: 1039150.075 units remaining) [ { Unit } { Unit } (Pair { True } @@ -761,7 +761,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 151 (remaining gas: 1039140.912 units remaining) + - location: 151 (remaining gas: 1039149.587 units remaining) [ 0x050200000002030b { Unit } (Pair { True } @@ -769,49 +769,49 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039140.902 units remaining) + - location: 152 (remaining gas: 1039149.587 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 154 (remaining gas: 1039140.414 units remaining) + - location: 154 (remaining gas: 1039149.099 units remaining) [ 0x050200000002030b (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 155 (remaining gas: 1039139.793 units remaining) + - location: 155 (remaining gas: 1039148.478 units remaining) [ (Some { Unit }) (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 159 (remaining gas: 1039139.783 units remaining) + - location: 159 (remaining gas: 1039148.478 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 159 (remaining gas: 1039139.773 units remaining) + - location: 159 (remaining gas: 1039148.468 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 165 (remaining gas: 1039139.285 units remaining) + - location: 165 (remaining gas: 1039147.980 units remaining) [ 0x050200000002030b (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039139.265 units remaining) + - location: 152 (remaining gas: 1039147.960 units remaining) [ 0x050200000002030b 0x050200000002030b (Pair { True } @@ -819,33 +819,33 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 168 (remaining gas: 1039139.230 units remaining) + - location: 168 (remaining gas: 1039147.925 units remaining) [ 0 (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 169 (remaining gas: 1039139.220 units remaining) + - location: 169 (remaining gas: 1039147.915 units remaining) [ True (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 170 (remaining gas: 1039139.210 units remaining) + - location: 170 (remaining gas: 1039147.915 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 170 (remaining gas: 1039139.200 units remaining) + - location: 170 (remaining gas: 1039147.905 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 176 (remaining gas: 1039139.190 units remaining) + - location: 176 (remaining gas: 1039147.895 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @@ -856,105 +856,105 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 177 (remaining gas: 1039139.180 units remaining) + - location: 177 (remaining gas: 1039147.885 units remaining) [ { True } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039139.170 units remaining) + - location: 178 (remaining gas: 1039147.885 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 180 (remaining gas: 1039139.160 units remaining) + - location: 180 (remaining gas: 1039147.875 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039139.140 units remaining) + - location: 178 (remaining gas: 1039147.855 units remaining) [ { True } { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 181 (remaining gas: 1039138.652 units remaining) + - location: 181 (remaining gas: 1039147.367 units remaining) [ 0x050200000002030a { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039138.642 units remaining) + - location: 182 (remaining gas: 1039147.367 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 184 (remaining gas: 1039138.154 units remaining) + - location: 184 (remaining gas: 1039146.879 units remaining) [ 0x050200000002030a (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 185 (remaining gas: 1039137.401 units remaining) + - location: 185 (remaining gas: 1039146.126 units remaining) [ (Some { True }) (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 189 (remaining gas: 1039137.391 units remaining) + - location: 189 (remaining gas: 1039146.126 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 189 (remaining gas: 1039137.381 units remaining) + - location: 189 (remaining gas: 1039146.116 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 195 (remaining gas: 1039136.893 units remaining) + - location: 195 (remaining gas: 1039145.628 units remaining) [ 0x050200000002030a (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039136.873 units remaining) + - location: 182 (remaining gas: 1039145.608 units remaining) [ 0x050200000002030a 0x050200000002030a (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 198 (remaining gas: 1039136.838 units remaining) + - location: 198 (remaining gas: 1039145.573 units remaining) [ 0 (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 199 (remaining gas: 1039136.828 units remaining) + - location: 199 (remaining gas: 1039145.563 units remaining) [ True (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 200 (remaining gas: 1039136.818 units remaining) + - location: 200 (remaining gas: 1039145.563 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 200 (remaining gas: 1039136.808 units remaining) + - location: 200 (remaining gas: 1039145.553 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 206 (remaining gas: 1039136.798 units remaining) + - location: 206 (remaining gas: 1039145.543 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } @@ -963,232 +963,232 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 207 (remaining gas: 1039136.788 units remaining) + - location: 207 (remaining gas: 1039145.533 units remaining) [ (Pair 19 10) (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039136.778 units remaining) + - location: 208 (remaining gas: 1039145.533 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 210 (remaining gas: 1039136.768 units remaining) + - location: 210 (remaining gas: 1039145.523 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039136.748 units remaining) + - location: 208 (remaining gas: 1039145.503 units remaining) [ (Pair 19 10) (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 211 (remaining gas: 1039136.197 units remaining) + - location: 211 (remaining gas: 1039144.952 units remaining) [ 0x0507070013000a (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039136.187 units remaining) + - location: 212 (remaining gas: 1039144.952 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 214 (remaining gas: 1039135.636 units remaining) + - location: 214 (remaining gas: 1039144.401 units remaining) [ 0x0507070013000a (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 215 (remaining gas: 1039134.936 units remaining) + - location: 215 (remaining gas: 1039143.701 units remaining) [ (Some (Pair 19 10)) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 220 (remaining gas: 1039134.926 units remaining) + - location: 220 (remaining gas: 1039143.701 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 220 (remaining gas: 1039134.916 units remaining) + - location: 220 (remaining gas: 1039143.691 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 226 (remaining gas: 1039134.365 units remaining) + - location: 226 (remaining gas: 1039143.140 units remaining) [ 0x0507070013000a (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039134.345 units remaining) + - location: 212 (remaining gas: 1039143.120 units remaining) [ 0x0507070013000a 0x0507070013000a (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 229 (remaining gas: 1039134.310 units remaining) + - location: 229 (remaining gas: 1039143.085 units remaining) [ 0 (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 230 (remaining gas: 1039134.300 units remaining) + - location: 230 (remaining gas: 1039143.075 units remaining) [ True (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 231 (remaining gas: 1039134.290 units remaining) + - location: 231 (remaining gas: 1039143.075 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 231 (remaining gas: 1039134.280 units remaining) + - location: 231 (remaining gas: 1039143.065 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 237 (remaining gas: 1039134.270 units remaining) + - location: 237 (remaining gas: 1039143.055 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 238 (remaining gas: 1039134.260 units remaining) + - location: 238 (remaining gas: 1039143.045 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039134.250 units remaining) + - location: 239 (remaining gas: 1039143.045 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 241 (remaining gas: 1039134.240 units remaining) + - location: 241 (remaining gas: 1039143.035 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039134.220 units remaining) + - location: 239 (remaining gas: 1039143.015 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 242 (remaining gas: 1039132.968 units remaining) + - location: 242 (remaining gas: 1039141.763 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1039132.958 units remaining) + - location: 243 (remaining gas: 1039141.763 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 245 (remaining gas: 1039131.706 units remaining) + - location: 245 (remaining gas: 1039140.511 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 246 (remaining gas: 1039130.613 units remaining) + - location: 246 (remaining gas: 1039139.418 units remaining) [ (Some (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 251 (remaining gas: 1039130.603 units remaining) + - location: 251 (remaining gas: 1039139.418 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 251 (remaining gas: 1039130.593 units remaining) + - location: 251 (remaining gas: 1039139.408 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 257 (remaining gas: 1039129.341 units remaining) + - location: 257 (remaining gas: 1039138.156 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1039129.321 units remaining) + - location: 243 (remaining gas: 1039138.136 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 260 (remaining gas: 1039129.286 units remaining) + - location: 260 (remaining gas: 1039138.101 units remaining) [ 0 (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 261 (remaining gas: 1039129.276 units remaining) + - location: 261 (remaining gas: 1039138.091 units remaining) [ True (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 262 (remaining gas: 1039129.266 units remaining) + - location: 262 (remaining gas: 1039138.091 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 262 (remaining gas: 1039129.256 units remaining) + - location: 262 (remaining gas: 1039138.081 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 268 (remaining gas: 1039129.246 units remaining) + - location: 268 (remaining gas: 1039138.071 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 269 (remaining gas: 1039129.236 units remaining) + - location: 269 (remaining gas: 1039138.061 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 270 (remaining gas: 1039129.226 units remaining) + - location: 270 (remaining gas: 1039138.061 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 272 (remaining gas: 1039129.216 units remaining) + - location: 272 (remaining gas: 1039138.051 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 270 (remaining gas: 1039129.196 units remaining) + - location: 270 (remaining gas: 1039138.031 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 273 (remaining gas: 1039127.591 units remaining) + - location: 273 (remaining gas: 1039136.426 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 274 (remaining gas: 1039127.581 units remaining) + - location: 274 (remaining gas: 1039136.426 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 276 (remaining gas: 1039125.976 units remaining) + - location: 276 (remaining gas: 1039134.821 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 { PACK } ] - - location: 277 (remaining gas: 1039124.330 units remaining) + - location: 277 (remaining gas: 1039133.175 units remaining) [ (Some { Elt 0 "foo" ; Elt 1 "bar" }) { PACK } ] - - location: 282 (remaining gas: 1039124.320 units remaining) + - location: 282 (remaining gas: 1039133.175 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 282 (remaining gas: 1039124.310 units remaining) + - location: 282 (remaining gas: 1039133.165 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 288 (remaining gas: 1039122.705 units remaining) + - location: 288 (remaining gas: 1039131.560 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 { PACK } ] - - location: 274 (remaining gas: 1039122.685 units remaining) + - location: 274 (remaining gas: 1039131.540 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 0x050200000018070400000100000003666f6f070400010100000003626172 { PACK } ] - - location: 291 (remaining gas: 1039122.650 units remaining) + - location: 291 (remaining gas: 1039131.505 units remaining) [ 0 { PACK } ] - - location: 292 (remaining gas: 1039122.640 units remaining) + - location: 292 (remaining gas: 1039131.495 units remaining) [ True { PACK } ] - - location: 293 (remaining gas: 1039122.630 units remaining) + - location: 293 (remaining gas: 1039131.495 units remaining) [ { PACK } ] - - location: 293 (remaining gas: 1039122.620 units remaining) + - location: 293 (remaining gas: 1039131.485 units remaining) [ { PACK } ] - - location: 299 (remaining gas: 1039122.610 units remaining) + - location: 299 (remaining gas: 1039131.475 units remaining) [ { PACK } { PACK } ] - - location: 300 (remaining gas: 1039121.937 units remaining) + - location: 300 (remaining gas: 1039130.802 units remaining) [ 0x050200000002030c { PACK } ] - - location: 301 (remaining gas: 1039121.927 units remaining) + - location: 301 (remaining gas: 1039130.802 units remaining) [ { PACK } ] - - location: 303 (remaining gas: 1039121.254 units remaining) + - location: 303 (remaining gas: 1039130.129 units remaining) [ 0x050200000002030c ] - - location: 304 (remaining gas: 1039120.233 units remaining) + - location: 304 (remaining gas: 1039129.108 units remaining) [ (Some { PACK }) ] - - location: 309 (remaining gas: 1039120.223 units remaining) + - location: 309 (remaining gas: 1039129.108 units remaining) [ { PACK } ] - - location: 309 (remaining gas: 1039120.213 units remaining) + - location: 309 (remaining gas: 1039129.098 units remaining) [ { PACK } ] - - location: 315 (remaining gas: 1039119.540 units remaining) + - location: 315 (remaining gas: 1039128.425 units remaining) [ 0x050200000002030c ] - - location: 301 (remaining gas: 1039119.520 units remaining) + - location: 301 (remaining gas: 1039128.405 units remaining) [ 0x050200000002030c 0x050200000002030c ] - - location: 318 (remaining gas: 1039119.485 units remaining) + - location: 318 (remaining gas: 1039128.370 units remaining) [ 0 ] - - location: 319 (remaining gas: 1039119.475 units remaining) + - location: 319 (remaining gas: 1039128.360 units remaining) [ True ] - - location: 320 (remaining gas: 1039119.465 units remaining) + - location: 320 (remaining gas: 1039128.360 units remaining) [ ] - - location: 320 (remaining gas: 1039119.455 units remaining) + - location: 320 (remaining gas: 1039128.350 units remaining) [ ] - - location: 326 (remaining gas: 1039119.445 units remaining) + - location: 326 (remaining gas: 1039128.340 units remaining) [ Unit ] - - location: 327 (remaining gas: 1039119.435 units remaining) + - location: 327 (remaining gas: 1039128.330 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1039119.425 units remaining) + - location: 329 (remaining gas: 1039128.320 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" index c2b633e3d4a0..7bcd2fc8332c 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" @@ -7,7 +7,7 @@ emitted operations big_map diff trace - - location: 28 (remaining gas: 1039498.193 units remaining) + - location: 28 (remaining gas: 1039506.698 units remaining) [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -19,7 +19,7 @@ trace {} { DUP ; DROP ; PACK }) Unit) ] - - location: 28 (remaining gas: 1039498.183 units remaining) + - location: 28 (remaining gas: 1039506.688 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -30,7 +30,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 29 (remaining gas: 1039498.173 units remaining) + - location: 29 (remaining gas: 1039506.678 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -51,7 +51,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 30 (remaining gas: 1039498.163 units remaining) + - location: 30 (remaining gas: 1039506.668 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit @@ -63,7 +63,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 31 (remaining gas: 1039498.153 units remaining) + - location: 31 (remaining gas: 1039506.668 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -74,7 +74,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 33 (remaining gas: 1039498.143 units remaining) + - location: 33 (remaining gas: 1039506.658 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -85,7 +85,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 31 (remaining gas: 1039498.123 units remaining) + - location: 31 (remaining gas: 1039506.638 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -97,7 +97,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 34 (remaining gas: 1039496.251 units remaining) + - location: 34 (remaining gas: 1039504.766 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -109,7 +109,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039496.241 units remaining) + - location: 35 (remaining gas: 1039504.766 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -120,7 +120,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 37 (remaining gas: 1039494.369 units remaining) + - location: 37 (remaining gas: 1039502.894 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -131,7 +131,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 38 (remaining gas: 1039173.225 units remaining) + - location: 38 (remaining gas: 1039181.750 units remaining) [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -142,7 +142,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 41 (remaining gas: 1039173.215 units remaining) + - location: 41 (remaining gas: 1039181.750 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -153,7 +153,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 41 (remaining gas: 1039173.205 units remaining) + - location: 41 (remaining gas: 1039181.740 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -164,7 +164,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 47 (remaining gas: 1039171.333 units remaining) + - location: 47 (remaining gas: 1039179.868 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -175,7 +175,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039171.313 units remaining) + - location: 35 (remaining gas: 1039179.848 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f (Pair Unit @@ -187,7 +187,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 50 (remaining gas: 1039171.278 units remaining) + - location: 50 (remaining gas: 1039179.813 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +198,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 51 (remaining gas: 1039171.268 units remaining) + - location: 51 (remaining gas: 1039179.803 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -209,7 +209,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 52 (remaining gas: 1039171.258 units remaining) + - location: 52 (remaining gas: 1039179.803 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -219,7 +219,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 52 (remaining gas: 1039171.248 units remaining) + - location: 52 (remaining gas: 1039179.793 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -229,7 +229,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 58 (remaining gas: 1039171.238 units remaining) + - location: 58 (remaining gas: 1039179.783 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -248,7 +248,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 59 (remaining gas: 1039171.228 units remaining) + - location: 59 (remaining gas: 1039179.773 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -259,7 +259,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039171.218 units remaining) + - location: 60 (remaining gas: 1039179.773 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -269,7 +269,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 62 (remaining gas: 1039171.208 units remaining) + - location: 62 (remaining gas: 1039179.763 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -279,7 +279,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039171.188 units remaining) + - location: 60 (remaining gas: 1039179.743 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -290,7 +290,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 63 (remaining gas: 1039170.961 units remaining) + - location: 63 (remaining gas: 1039179.516 units remaining) [ 0x05030b Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -301,7 +301,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039170.951 units remaining) + - location: 64 (remaining gas: 1039179.516 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -311,7 +311,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 66 (remaining gas: 1039170.724 units remaining) + - location: 66 (remaining gas: 1039179.289 units remaining) [ 0x05030b (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -321,7 +321,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 67 (remaining gas: 1039170.304 units remaining) + - location: 67 (remaining gas: 1039178.869 units remaining) [ (Some Unit) (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -331,7 +331,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 70 (remaining gas: 1039170.294 units remaining) + - location: 70 (remaining gas: 1039178.869 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -341,7 +341,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 70 (remaining gas: 1039170.284 units remaining) + - location: 70 (remaining gas: 1039178.859 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -351,7 +351,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 76 (remaining gas: 1039170.057 units remaining) + - location: 76 (remaining gas: 1039178.632 units remaining) [ 0x05030b (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -361,7 +361,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039170.037 units remaining) + - location: 64 (remaining gas: 1039178.612 units remaining) [ 0x05030b 0x05030b (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -372,7 +372,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 79 (remaining gas: 1039170.002 units remaining) + - location: 79 (remaining gas: 1039178.577 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -382,7 +382,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 80 (remaining gas: 1039169.992 units remaining) + - location: 80 (remaining gas: 1039178.567 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -392,7 +392,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 81 (remaining gas: 1039169.982 units remaining) + - location: 81 (remaining gas: 1039178.567 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -401,7 +401,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 81 (remaining gas: 1039169.972 units remaining) + - location: 81 (remaining gas: 1039178.557 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -410,7 +410,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 87 (remaining gas: 1039169.962 units remaining) + - location: 87 (remaining gas: 1039178.547 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -427,7 +427,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 88 (remaining gas: 1039169.952 units remaining) + - location: 88 (remaining gas: 1039178.537 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -437,7 +437,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039169.942 units remaining) + - location: 89 (remaining gas: 1039178.537 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -446,7 +446,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 91 (remaining gas: 1039169.932 units remaining) + - location: 91 (remaining gas: 1039178.527 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -455,7 +455,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039169.912 units remaining) + - location: 89 (remaining gas: 1039178.507 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -465,7 +465,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 92 (remaining gas: 1039167.425 units remaining) + - location: 92 (remaining gas: 1039176.020 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -475,7 +475,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039167.415 units remaining) + - location: 93 (remaining gas: 1039176.020 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -484,7 +484,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 95 (remaining gas: 1039164.928 units remaining) + - location: 95 (remaining gas: 1039173.533 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair None {} @@ -493,7 +493,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 96 (remaining gas: 1039163.125 units remaining) + - location: 96 (remaining gas: 1039171.730 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") (Pair None {} @@ -502,7 +502,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 99 (remaining gas: 1039163.115 units remaining) + - location: 99 (remaining gas: 1039171.730 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" (Pair None {} @@ -511,7 +511,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 99 (remaining gas: 1039163.105 units remaining) + - location: 99 (remaining gas: 1039171.720 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" (Pair None {} @@ -520,7 +520,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 105 (remaining gas: 1039160.618 units remaining) + - location: 105 (remaining gas: 1039169.233 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair None {} @@ -529,7 +529,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039160.598 units remaining) + - location: 93 (remaining gas: 1039169.213 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 (Pair None @@ -539,7 +539,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 108 (remaining gas: 1039160.562 units remaining) + - location: 108 (remaining gas: 1039169.177 units remaining) [ 0 (Pair None {} @@ -548,7 +548,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 109 (remaining gas: 1039160.552 units remaining) + - location: 109 (remaining gas: 1039169.167 units remaining) [ True (Pair None {} @@ -557,7 +557,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 110 (remaining gas: 1039160.542 units remaining) + - location: 110 (remaining gas: 1039169.167 units remaining) [ (Pair None {} {} @@ -565,7 +565,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 110 (remaining gas: 1039160.532 units remaining) + - location: 110 (remaining gas: 1039169.157 units remaining) [ (Pair None {} {} @@ -573,7 +573,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 116 (remaining gas: 1039160.522 units remaining) + - location: 116 (remaining gas: 1039169.147 units remaining) [ (Pair None {} {} @@ -588,7 +588,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 117 (remaining gas: 1039160.512 units remaining) + - location: 117 (remaining gas: 1039169.137 units remaining) [ None (Pair None {} @@ -597,7 +597,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039160.502 units remaining) + - location: 118 (remaining gas: 1039169.137 units remaining) [ (Pair None {} {} @@ -605,7 +605,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 120 (remaining gas: 1039160.492 units remaining) + - location: 120 (remaining gas: 1039169.127 units remaining) [ None (Pair {} {} @@ -613,7 +613,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039160.472 units remaining) + - location: 118 (remaining gas: 1039169.107 units remaining) [ None None (Pair {} @@ -622,7 +622,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 121 (remaining gas: 1039160.245 units remaining) + - location: 121 (remaining gas: 1039168.880 units remaining) [ 0x050306 None (Pair {} @@ -631,7 +631,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039160.235 units remaining) + - location: 122 (remaining gas: 1039168.880 units remaining) [ None (Pair {} {} @@ -639,7 +639,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 124 (remaining gas: 1039160.008 units remaining) + - location: 124 (remaining gas: 1039168.653 units remaining) [ 0x050306 (Pair {} {} @@ -647,7 +647,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 125 (remaining gas: 1039159.588 units remaining) + - location: 125 (remaining gas: 1039168.233 units remaining) [ (Some None) (Pair {} {} @@ -655,7 +655,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 129 (remaining gas: 1039159.578 units remaining) + - location: 129 (remaining gas: 1039168.233 units remaining) [ None (Pair {} {} @@ -663,7 +663,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 129 (remaining gas: 1039159.568 units remaining) + - location: 129 (remaining gas: 1039168.223 units remaining) [ None (Pair {} {} @@ -671,7 +671,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 135 (remaining gas: 1039159.341 units remaining) + - location: 135 (remaining gas: 1039167.996 units remaining) [ 0x050306 (Pair {} {} @@ -679,7 +679,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039159.321 units remaining) + - location: 122 (remaining gas: 1039167.976 units remaining) [ 0x050306 0x050306 (Pair {} @@ -688,7 +688,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 138 (remaining gas: 1039159.286 units remaining) + - location: 138 (remaining gas: 1039167.941 units remaining) [ 0 (Pair {} {} @@ -696,7 +696,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 139 (remaining gas: 1039159.276 units remaining) + - location: 139 (remaining gas: 1039167.931 units remaining) [ True (Pair {} {} @@ -704,21 +704,21 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 140 (remaining gas: 1039159.266 units remaining) + - location: 140 (remaining gas: 1039167.931 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 140 (remaining gas: 1039159.256 units remaining) + - location: 140 (remaining gas: 1039167.921 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 146 (remaining gas: 1039159.246 units remaining) + - location: 146 (remaining gas: 1039167.911 units remaining) [ (Pair {} {} (Pair 40 -10) @@ -731,7 +731,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 147 (remaining gas: 1039159.236 units remaining) + - location: 147 (remaining gas: 1039167.901 units remaining) [ {} (Pair {} {} @@ -739,294 +739,294 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039159.226 units remaining) + - location: 148 (remaining gas: 1039167.901 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 150 (remaining gas: 1039159.216 units remaining) + - location: 150 (remaining gas: 1039167.891 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039159.196 units remaining) + - location: 148 (remaining gas: 1039167.871 units remaining) [ {} {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 151 (remaining gas: 1039158.870 units remaining) + - location: 151 (remaining gas: 1039167.545 units remaining) [ 0x050200000000 {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039158.860 units remaining) + - location: 152 (remaining gas: 1039167.545 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 154 (remaining gas: 1039158.534 units remaining) + - location: 154 (remaining gas: 1039167.219 units remaining) [ 0x050200000000 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 155 (remaining gas: 1039158.054 units remaining) + - location: 155 (remaining gas: 1039166.739 units remaining) [ (Some {}) (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 159 (remaining gas: 1039158.044 units remaining) + - location: 159 (remaining gas: 1039166.739 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 159 (remaining gas: 1039158.034 units remaining) + - location: 159 (remaining gas: 1039166.729 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 165 (remaining gas: 1039157.708 units remaining) + - location: 165 (remaining gas: 1039166.403 units remaining) [ 0x050200000000 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039157.688 units remaining) + - location: 152 (remaining gas: 1039166.383 units remaining) [ 0x050200000000 0x050200000000 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 168 (remaining gas: 1039157.653 units remaining) + - location: 168 (remaining gas: 1039166.348 units remaining) [ 0 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 169 (remaining gas: 1039157.643 units remaining) + - location: 169 (remaining gas: 1039166.338 units remaining) [ True (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 170 (remaining gas: 1039157.633 units remaining) + - location: 170 (remaining gas: 1039166.338 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 170 (remaining gas: 1039157.623 units remaining) + - location: 170 (remaining gas: 1039166.328 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 176 (remaining gas: 1039157.613 units remaining) + - location: 176 (remaining gas: 1039166.318 units remaining) [ (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 (remaining gas: 1039157.603 units remaining) + - location: 177 (remaining gas: 1039166.308 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039157.593 units remaining) + - location: 178 (remaining gas: 1039166.308 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 180 (remaining gas: 1039157.583 units remaining) + - location: 180 (remaining gas: 1039166.298 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039157.563 units remaining) + - location: 178 (remaining gas: 1039166.278 units remaining) [ {} {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 181 (remaining gas: 1039157.237 units remaining) + - location: 181 (remaining gas: 1039165.952 units remaining) [ 0x050200000000 {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039157.227 units remaining) + - location: 182 (remaining gas: 1039165.952 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 184 (remaining gas: 1039156.901 units remaining) + - location: 184 (remaining gas: 1039165.626 units remaining) [ 0x050200000000 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 185 (remaining gas: 1039156.421 units remaining) + - location: 185 (remaining gas: 1039165.146 units remaining) [ (Some {}) (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 189 (remaining gas: 1039156.411 units remaining) + - location: 189 (remaining gas: 1039165.146 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 189 (remaining gas: 1039156.401 units remaining) + - location: 189 (remaining gas: 1039165.136 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 195 (remaining gas: 1039156.075 units remaining) + - location: 195 (remaining gas: 1039164.810 units remaining) [ 0x050200000000 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039156.055 units remaining) + - location: 182 (remaining gas: 1039164.790 units remaining) [ 0x050200000000 0x050200000000 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 198 (remaining gas: 1039156.020 units remaining) + - location: 198 (remaining gas: 1039164.755 units remaining) [ 0 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 199 (remaining gas: 1039156.010 units remaining) + - location: 199 (remaining gas: 1039164.745 units remaining) [ True (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 200 (remaining gas: 1039156 units remaining) + - location: 200 (remaining gas: 1039164.745 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 200 (remaining gas: 1039155.990 units remaining) + - location: 200 (remaining gas: 1039164.735 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 206 (remaining gas: 1039155.980 units remaining) + - location: 206 (remaining gas: 1039164.725 units remaining) [ (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 (remaining gas: 1039155.970 units remaining) + - location: 207 (remaining gas: 1039164.715 units remaining) [ (Pair 40 -10) (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039155.960 units remaining) + - location: 208 (remaining gas: 1039164.715 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 210 (remaining gas: 1039155.950 units remaining) + - location: 210 (remaining gas: 1039164.705 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039155.930 units remaining) + - location: 208 (remaining gas: 1039164.685 units remaining) [ (Pair 40 -10) (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 211 (remaining gas: 1039155.379 units remaining) + - location: 211 (remaining gas: 1039164.134 units remaining) [ 0x0507070028004a (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039155.369 units remaining) + - location: 212 (remaining gas: 1039164.134 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 214 (remaining gas: 1039154.818 units remaining) + - location: 214 (remaining gas: 1039163.583 units remaining) [ 0x0507070028004a (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 215 (remaining gas: 1039154.118 units remaining) + - location: 215 (remaining gas: 1039162.883 units remaining) [ (Some (Pair 40 -10)) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 220 (remaining gas: 1039154.108 units remaining) + - location: 220 (remaining gas: 1039162.883 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 220 (remaining gas: 1039154.098 units remaining) + - location: 220 (remaining gas: 1039162.873 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 226 (remaining gas: 1039153.547 units remaining) + - location: 226 (remaining gas: 1039162.322 units remaining) [ 0x0507070028004a (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039153.527 units remaining) + - location: 212 (remaining gas: 1039162.302 units remaining) [ 0x0507070028004a 0x0507070028004a (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 229 (remaining gas: 1039153.492 units remaining) + - location: 229 (remaining gas: 1039162.267 units remaining) [ 0 (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 230 (remaining gas: 1039153.482 units remaining) + - location: 230 (remaining gas: 1039162.257 units remaining) [ True (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 231 (remaining gas: 1039153.472 units remaining) + - location: 231 (remaining gas: 1039162.257 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 231 (remaining gas: 1039153.462 units remaining) + - location: 231 (remaining gas: 1039162.247 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 237 (remaining gas: 1039153.452 units remaining) + - location: 237 (remaining gas: 1039162.237 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 238 (remaining gas: 1039153.442 units remaining) + - location: 238 (remaining gas: 1039162.227 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039153.432 units remaining) + - location: 239 (remaining gas: 1039162.227 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 241 (remaining gas: 1039153.422 units remaining) + - location: 241 (remaining gas: 1039162.217 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039153.402 units remaining) + - location: 239 (remaining gas: 1039162.197 units remaining) [ (Right "2019-09-09T08:35:33Z") (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 242 (remaining gas: 1039152.881 units remaining) + - location: 242 (remaining gas: 1039161.676 units remaining) [ 0x0505080095bbb0d70b (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039152.871 units remaining) + - location: 243 (remaining gas: 1039161.676 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 245 (remaining gas: 1039152.350 units remaining) + - location: 245 (remaining gas: 1039161.155 units remaining) [ 0x0505080095bbb0d70b (Pair {} { DUP ; DROP ; PACK }) ] - - location: 246 (remaining gas: 1039151.709 units remaining) + - location: 246 (remaining gas: 1039160.514 units remaining) [ (Some (Right "2019-09-09T08:35:33Z")) (Pair {} { DUP ; DROP ; PACK }) ] - - location: 251 (remaining gas: 1039151.699 units remaining) + - location: 251 (remaining gas: 1039160.514 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 251 (remaining gas: 1039151.689 units remaining) + - location: 251 (remaining gas: 1039160.504 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 257 (remaining gas: 1039151.168 units remaining) + - location: 257 (remaining gas: 1039159.983 units remaining) [ 0x0505080095bbb0d70b (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039151.148 units remaining) + - location: 243 (remaining gas: 1039159.963 units remaining) [ 0x0505080095bbb0d70b 0x0505080095bbb0d70b (Pair {} { DUP ; DROP ; PACK }) ] - - location: 260 (remaining gas: 1039151.113 units remaining) + - location: 260 (remaining gas: 1039159.928 units remaining) [ 0 (Pair {} { DUP ; DROP ; PACK }) ] - - location: 261 (remaining gas: 1039151.103 units remaining) + - location: 261 (remaining gas: 1039159.918 units remaining) [ True (Pair {} { DUP ; DROP ; PACK }) ] - - location: 262 (remaining gas: 1039151.093 units remaining) + - location: 262 (remaining gas: 1039159.918 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 262 (remaining gas: 1039151.083 units remaining) + - location: 262 (remaining gas: 1039159.908 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 268 (remaining gas: 1039151.073 units remaining) + - location: 268 (remaining gas: 1039159.898 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) (Pair {} { DUP ; DROP ; PACK }) ] - - location: 269 (remaining gas: 1039151.063 units remaining) + - location: 269 (remaining gas: 1039159.888 units remaining) [ {} (Pair {} { DUP ; DROP ; PACK }) ] - - location: 270 (remaining gas: 1039151.053 units remaining) + - location: 270 (remaining gas: 1039159.888 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 272 (remaining gas: 1039151.043 units remaining) + - location: 272 (remaining gas: 1039159.878 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 270 (remaining gas: 1039151.023 units remaining) + - location: 270 (remaining gas: 1039159.858 units remaining) [ {} {} { DUP ; DROP ; PACK } ] - - location: 273 (remaining gas: 1039150.697 units remaining) + - location: 273 (remaining gas: 1039159.532 units remaining) [ 0x050200000000 {} { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039150.687 units remaining) + - location: 274 (remaining gas: 1039159.532 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 276 (remaining gas: 1039150.361 units remaining) + - location: 276 (remaining gas: 1039159.206 units remaining) [ 0x050200000000 { DUP ; DROP ; PACK } ] - - location: 277 (remaining gas: 1039149.881 units remaining) + - location: 277 (remaining gas: 1039158.726 units remaining) [ (Some {}) { DUP ; DROP ; PACK } ] - - location: 282 (remaining gas: 1039149.871 units remaining) + - location: 282 (remaining gas: 1039158.726 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 282 (remaining gas: 1039149.861 units remaining) + - location: 282 (remaining gas: 1039158.716 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 288 (remaining gas: 1039149.535 units remaining) + - location: 288 (remaining gas: 1039158.390 units remaining) [ 0x050200000000 { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039149.515 units remaining) + - location: 274 (remaining gas: 1039158.370 units remaining) [ 0x050200000000 0x050200000000 { DUP ; DROP ; PACK } ] - - location: 291 (remaining gas: 1039149.480 units remaining) + - location: 291 (remaining gas: 1039158.335 units remaining) [ 0 { DUP ; DROP ; PACK } ] - - location: 292 (remaining gas: 1039149.470 units remaining) + - location: 292 (remaining gas: 1039158.325 units remaining) [ True { DUP ; DROP ; PACK } ] - - location: 293 (remaining gas: 1039149.460 units remaining) + - location: 293 (remaining gas: 1039158.325 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 293 (remaining gas: 1039149.450 units remaining) + - location: 293 (remaining gas: 1039158.315 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 299 (remaining gas: 1039149.440 units remaining) + - location: 299 (remaining gas: 1039158.305 units remaining) [ { DUP ; DROP ; PACK } { DUP ; DROP ; PACK } ] - - location: 300 (remaining gas: 1039148.303 units remaining) + - location: 300 (remaining gas: 1039157.168 units remaining) [ 0x05020000000603210320030c { DUP ; DROP ; PACK } ] - - location: 301 (remaining gas: 1039148.293 units remaining) + - location: 301 (remaining gas: 1039157.168 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 303 (remaining gas: 1039147.156 units remaining) + - location: 303 (remaining gas: 1039156.031 units remaining) [ 0x05020000000603210320030c ] - - location: 304 (remaining gas: 1039145.075 units remaining) + - location: 304 (remaining gas: 1039153.950 units remaining) [ (Some { DUP ; DROP ; PACK }) ] - - location: 309 (remaining gas: 1039145.065 units remaining) + - location: 309 (remaining gas: 1039153.950 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 309 (remaining gas: 1039145.055 units remaining) + - location: 309 (remaining gas: 1039153.940 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 315 (remaining gas: 1039143.918 units remaining) + - location: 315 (remaining gas: 1039152.803 units remaining) [ 0x05020000000603210320030c ] - - location: 301 (remaining gas: 1039143.898 units remaining) + - location: 301 (remaining gas: 1039152.783 units remaining) [ 0x05020000000603210320030c 0x05020000000603210320030c ] - - location: 318 (remaining gas: 1039143.863 units remaining) + - location: 318 (remaining gas: 1039152.748 units remaining) [ 0 ] - - location: 319 (remaining gas: 1039143.853 units remaining) + - location: 319 (remaining gas: 1039152.738 units remaining) [ True ] - - location: 320 (remaining gas: 1039143.843 units remaining) + - location: 320 (remaining gas: 1039152.738 units remaining) [ ] - - location: 320 (remaining gas: 1039143.833 units remaining) + - location: 320 (remaining gas: 1039152.728 units remaining) [ ] - - location: 326 (remaining gas: 1039143.823 units remaining) + - location: 326 (remaining gas: 1039152.718 units remaining) [ Unit ] - - location: 327 (remaining gas: 1039143.813 units remaining) + - location: 327 (remaining gas: 1039152.708 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1039143.803 units remaining) + - location: 329 (remaining gas: 1039152.698 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out index 4fc53272b74b..4d93ce72b796 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039994.319 units remaining) + - location: 12 (remaining gas: 1039994.499 units remaining) [ (Pair (Pair False False) None) ] - - location: 12 (remaining gas: 1039994.309 units remaining) + - location: 12 (remaining gas: 1039994.489 units remaining) [ (Pair False False) ] - - location: 13 (remaining gas: 1039994.299 units remaining) + - location: 13 (remaining gas: 1039994.479 units remaining) [ (Some (Pair False False)) ] - - location: 14 (remaining gas: 1039994.289 units remaining) + - location: 14 (remaining gas: 1039994.469 units remaining) [ {} (Some (Pair False False)) ] - - location: 16 (remaining gas: 1039994.279 units remaining) + - location: 16 (remaining gas: 1039994.459 units remaining) [ (Pair {} (Some (Pair False False))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out index 37ca66061f52..c6633e1a232d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039994.319 units remaining) + - location: 12 (remaining gas: 1039994.499 units remaining) [ (Pair (Pair False True) None) ] - - location: 12 (remaining gas: 1039994.309 units remaining) + - location: 12 (remaining gas: 1039994.489 units remaining) [ (Pair False True) ] - - location: 13 (remaining gas: 1039994.299 units remaining) + - location: 13 (remaining gas: 1039994.479 units remaining) [ (Some (Pair False True)) ] - - location: 14 (remaining gas: 1039994.289 units remaining) + - location: 14 (remaining gas: 1039994.469 units remaining) [ {} (Some (Pair False True)) ] - - location: 16 (remaining gas: 1039994.279 units remaining) + - location: 16 (remaining gas: 1039994.459 units remaining) [ (Pair {} (Some (Pair False True))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out index e357e35f3126..34a143823a1b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039994.319 units remaining) + - location: 12 (remaining gas: 1039994.499 units remaining) [ (Pair (Pair True False) None) ] - - location: 12 (remaining gas: 1039994.309 units remaining) + - location: 12 (remaining gas: 1039994.489 units remaining) [ (Pair True False) ] - - location: 13 (remaining gas: 1039994.299 units remaining) + - location: 13 (remaining gas: 1039994.479 units remaining) [ (Some (Pair True False)) ] - - location: 14 (remaining gas: 1039994.289 units remaining) + - location: 14 (remaining gas: 1039994.469 units remaining) [ {} (Some (Pair True False)) ] - - location: 16 (remaining gas: 1039994.279 units remaining) + - location: 16 (remaining gas: 1039994.459 units remaining) [ (Pair {} (Some (Pair True False))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out index ba00b857dcc5..eacc04badc89 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039994.319 units remaining) + - location: 12 (remaining gas: 1039994.499 units remaining) [ (Pair (Pair True True) None) ] - - location: 12 (remaining gas: 1039994.309 units remaining) + - location: 12 (remaining gas: 1039994.489 units remaining) [ (Pair True True) ] - - location: 13 (remaining gas: 1039994.299 units remaining) + - location: 13 (remaining gas: 1039994.479 units remaining) [ (Some (Pair True True)) ] - - location: 14 (remaining gas: 1039994.289 units remaining) + - location: 14 (remaining gas: 1039994.469 units remaining) [ {} (Some (Pair True True)) ] - - location: 16 (remaining gas: 1039994.279 units remaining) + - location: 16 (remaining gas: 1039994.459 units remaining) [ (Pair {} (Some (Pair True True))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out index e1c85df4081c..f43cd33bd8d2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out @@ -7,41 +7,41 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039990.439 units remaining) + - location: 7 (remaining gas: 1039990.844 units remaining) [ (Pair 38 14) ] - - location: 7 (remaining gas: 1039990.429 units remaining) + - location: 7 (remaining gas: 1039990.834 units remaining) [ { UNPAIR ; ADD } (Pair 38 14) ] - - location: 15 (remaining gas: 1039990.419 units remaining) + - location: 15 (remaining gas: 1039990.824 units remaining) [ (Pair 38 14) { UNPAIR ; ADD } ] - - location: 16 (remaining gas: 1039990.409 units remaining) + - location: 16 (remaining gas: 1039990.814 units remaining) [ 38 14 { UNPAIR ; ADD } ] - - location: 17 (remaining gas: 1039990.399 units remaining) + - location: 17 (remaining gas: 1039990.814 units remaining) [ 14 { UNPAIR ; ADD } ] - - location: 19 (remaining gas: 1039990.194 units remaining) + - location: 19 (remaining gas: 1039990.609 units remaining) [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 17 (remaining gas: 1039990.174 units remaining) + - location: 17 (remaining gas: 1039990.589 units remaining) [ 38 { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 12 (remaining gas: 1039990.164 units remaining) + - location: 12 (remaining gas: 1039990.579 units remaining) [ 14 38 ] - - location: 12 (remaining gas: 1039990.154 units remaining) + - location: 12 (remaining gas: 1039990.569 units remaining) [ (Pair 14 38) ] - - location: 13 (remaining gas: 1039990.144 units remaining) + - location: 13 (remaining gas: 1039990.559 units remaining) [ 14 38 ] - - location: 14 (remaining gas: 1039990.109 units remaining) + - location: 14 (remaining gas: 1039990.524 units remaining) [ 52 ] - - location: 20 (remaining gas: 1039990.089 units remaining) + - location: 20 (remaining gas: 1039990.504 units remaining) [ 52 ] - - location: 21 (remaining gas: 1039990.079 units remaining) + - location: 21 (remaining gas: 1039990.494 units remaining) [ {} 52 ] - - location: 23 (remaining gas: 1039990.069 units remaining) + - location: 23 (remaining gas: 1039990.484 units remaining) [ (Pair {} 52) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out index 721e613fd8a1..ccca26af8fb0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out @@ -7,53 +7,53 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039981.911 units remaining) + - location: 8 (remaining gas: 1039982.586 units remaining) [ (Pair 4 { 0 ; 1 ; 2 ; 3 }) ] - - location: 8 (remaining gas: 1039981.901 units remaining) + - location: 8 (remaining gas: 1039982.576 units remaining) [ 4 { 0 ; 1 ; 2 ; 3 } ] - - location: 9 (remaining gas: 1039981.891 units remaining) + - location: 9 (remaining gas: 1039982.566 units remaining) [ { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } 4 { 0 ; 1 ; 2 ; 3 } ] - - location: 23 (remaining gas: 1039981.881 units remaining) + - location: 23 (remaining gas: 1039982.556 units remaining) [ 4 { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } { 0 ; 1 ; 2 ; 3 } ] - - location: 24 (remaining gas: 1039981.676 units remaining) + - location: 24 (remaining gas: 1039982.351 units remaining) [ { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } { 0 ; 1 ; 2 ; 3 } ] - - location: 25 (remaining gas: 1039981.666 units remaining) + - location: 25 (remaining gas: 1039982.341 units remaining) [ 3 { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } { 0 ; 1 ; 2 ; 3 } ] - - location: 28 (remaining gas: 1039981.461 units remaining) + - location: 28 (remaining gas: 1039982.136 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } { 0 ; 1 ; 2 ; 3 } ] - - location: 29 (remaining gas: 1039981.451 units remaining) + - location: 29 (remaining gas: 1039982.126 units remaining) [ { 0 ; 1 ; 2 ; 3 } { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039981.451 units remaining) + - location: 30 (remaining gas: 1039982.126 units remaining) [ 0 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039981.441 units remaining) + - location: 32 (remaining gas: 1039982.126 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039981.431 units remaining) + - location: 34 (remaining gas: 1039982.116 units remaining) [ { 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 (remaining gas: 1039981.411 units remaining) + - location: 32 (remaining gas: 1039982.096 units remaining) [ 0 { PUSH int 3 ; PAIR ; @@ -61,55 +61,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039981.401 units remaining) + - location: 16 (remaining gas: 1039982.086 units remaining) [ 3 0 ] - - location: 16 (remaining gas: 1039981.391 units remaining) + - location: 16 (remaining gas: 1039982.076 units remaining) [ (Pair 3 0) ] - - location: 16 (remaining gas: 1039981.381 units remaining) + - location: 16 (remaining gas: 1039982.066 units remaining) [ 4 (Pair 3 0) ] - - location: 16 (remaining gas: 1039981.371 units remaining) + - location: 16 (remaining gas: 1039982.056 units remaining) [ (Pair 4 3 0) ] - - location: 17 (remaining gas: 1039981.361 units remaining) + - location: 17 (remaining gas: 1039982.046 units remaining) [ 4 (Pair 3 0) ] - - location: 18 (remaining gas: 1039981.351 units remaining) + - location: 18 (remaining gas: 1039982.046 units remaining) [ (Pair 3 0) ] - - location: 20 (remaining gas: 1039981.341 units remaining) + - location: 20 (remaining gas: 1039982.036 units remaining) [ 3 0 ] - - location: 18 (remaining gas: 1039981.321 units remaining) + - location: 18 (remaining gas: 1039982.016 units remaining) [ 4 3 0 ] - - location: 21 (remaining gas: 1039981.286 units remaining) + - location: 21 (remaining gas: 1039981.981 units remaining) [ 7 0 ] - - location: 22 (remaining gas: 1039981.230 units remaining) + - location: 22 (remaining gas: 1039981.925 units remaining) [ 0 ] - - location: 35 (remaining gas: 1039981.210 units remaining) + - location: 35 (remaining gas: 1039981.905 units remaining) [ 0 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039981.200 units remaining) + - location: 30 (remaining gas: 1039981.895 units remaining) [ 1 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039981.190 units remaining) + - location: 32 (remaining gas: 1039981.895 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039981.180 units remaining) + - location: 34 (remaining gas: 1039981.885 units remaining) [ { 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 (remaining gas: 1039981.160 units remaining) + - location: 32 (remaining gas: 1039981.865 units remaining) [ 1 { PUSH int 3 ; PAIR ; @@ -117,55 +117,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039981.150 units remaining) + - location: 16 (remaining gas: 1039981.855 units remaining) [ 3 1 ] - - location: 16 (remaining gas: 1039981.140 units remaining) + - location: 16 (remaining gas: 1039981.845 units remaining) [ (Pair 3 1) ] - - location: 16 (remaining gas: 1039981.130 units remaining) + - location: 16 (remaining gas: 1039981.835 units remaining) [ 4 (Pair 3 1) ] - - location: 16 (remaining gas: 1039981.120 units remaining) + - location: 16 (remaining gas: 1039981.825 units remaining) [ (Pair 4 3 1) ] - - location: 17 (remaining gas: 1039981.110 units remaining) + - location: 17 (remaining gas: 1039981.815 units remaining) [ 4 (Pair 3 1) ] - - location: 18 (remaining gas: 1039981.100 units remaining) + - location: 18 (remaining gas: 1039981.815 units remaining) [ (Pair 3 1) ] - - location: 20 (remaining gas: 1039981.090 units remaining) + - location: 20 (remaining gas: 1039981.805 units remaining) [ 3 1 ] - - location: 18 (remaining gas: 1039981.070 units remaining) + - location: 18 (remaining gas: 1039981.785 units remaining) [ 4 3 1 ] - - location: 21 (remaining gas: 1039981.035 units remaining) + - location: 21 (remaining gas: 1039981.750 units remaining) [ 7 1 ] - - location: 22 (remaining gas: 1039980.976 units remaining) + - location: 22 (remaining gas: 1039981.691 units remaining) [ 7 ] - - location: 35 (remaining gas: 1039980.956 units remaining) + - location: 35 (remaining gas: 1039981.671 units remaining) [ 7 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039980.946 units remaining) + - location: 30 (remaining gas: 1039981.661 units remaining) [ 2 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039980.936 units remaining) + - location: 32 (remaining gas: 1039981.661 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039980.926 units remaining) + - location: 34 (remaining gas: 1039981.651 units remaining) [ { 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 (remaining gas: 1039980.906 units remaining) + - location: 32 (remaining gas: 1039981.631 units remaining) [ 2 { PUSH int 3 ; PAIR ; @@ -173,55 +173,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039980.896 units remaining) + - location: 16 (remaining gas: 1039981.621 units remaining) [ 3 2 ] - - location: 16 (remaining gas: 1039980.886 units remaining) + - location: 16 (remaining gas: 1039981.611 units remaining) [ (Pair 3 2) ] - - location: 16 (remaining gas: 1039980.876 units remaining) + - location: 16 (remaining gas: 1039981.601 units remaining) [ 4 (Pair 3 2) ] - - location: 16 (remaining gas: 1039980.866 units remaining) + - location: 16 (remaining gas: 1039981.591 units remaining) [ (Pair 4 3 2) ] - - location: 17 (remaining gas: 1039980.856 units remaining) + - location: 17 (remaining gas: 1039981.581 units remaining) [ 4 (Pair 3 2) ] - - location: 18 (remaining gas: 1039980.846 units remaining) + - location: 18 (remaining gas: 1039981.581 units remaining) [ (Pair 3 2) ] - - location: 20 (remaining gas: 1039980.836 units remaining) + - location: 20 (remaining gas: 1039981.571 units remaining) [ 3 2 ] - - location: 18 (remaining gas: 1039980.816 units remaining) + - location: 18 (remaining gas: 1039981.551 units remaining) [ 4 3 2 ] - - location: 21 (remaining gas: 1039980.781 units remaining) + - location: 21 (remaining gas: 1039981.516 units remaining) [ 7 2 ] - - location: 22 (remaining gas: 1039980.722 units remaining) + - location: 22 (remaining gas: 1039981.457 units remaining) [ 14 ] - - location: 35 (remaining gas: 1039980.702 units remaining) + - location: 35 (remaining gas: 1039981.437 units remaining) [ 14 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039980.692 units remaining) + - location: 30 (remaining gas: 1039981.427 units remaining) [ 3 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039980.682 units remaining) + - location: 32 (remaining gas: 1039981.427 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039980.672 units remaining) + - location: 34 (remaining gas: 1039981.417 units remaining) [ { 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 (remaining gas: 1039980.652 units remaining) + - location: 32 (remaining gas: 1039981.397 units remaining) [ 3 { PUSH int 3 ; PAIR ; @@ -229,54 +229,54 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039980.642 units remaining) + - location: 16 (remaining gas: 1039981.387 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039980.632 units remaining) + - location: 16 (remaining gas: 1039981.377 units remaining) [ (Pair 3 3) ] - - location: 16 (remaining gas: 1039980.622 units remaining) + - location: 16 (remaining gas: 1039981.367 units remaining) [ 4 (Pair 3 3) ] - - location: 16 (remaining gas: 1039980.612 units remaining) + - location: 16 (remaining gas: 1039981.357 units remaining) [ (Pair 4 3 3) ] - - location: 17 (remaining gas: 1039980.602 units remaining) + - location: 17 (remaining gas: 1039981.347 units remaining) [ 4 (Pair 3 3) ] - - location: 18 (remaining gas: 1039980.592 units remaining) + - location: 18 (remaining gas: 1039981.347 units remaining) [ (Pair 3 3) ] - - location: 20 (remaining gas: 1039980.582 units remaining) + - location: 20 (remaining gas: 1039981.337 units remaining) [ 3 3 ] - - location: 18 (remaining gas: 1039980.562 units remaining) + - location: 18 (remaining gas: 1039981.317 units remaining) [ 4 3 3 ] - - location: 21 (remaining gas: 1039980.527 units remaining) + - location: 21 (remaining gas: 1039981.282 units remaining) [ 7 3 ] - - location: 22 (remaining gas: 1039980.468 units remaining) + - location: 22 (remaining gas: 1039981.223 units remaining) [ 21 ] - - location: 35 (remaining gas: 1039980.448 units remaining) + - location: 35 (remaining gas: 1039981.203 units remaining) [ 21 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039980.438 units remaining) + - location: 30 (remaining gas: 1039981.193 units remaining) [ { 0 ; 7 ; 14 ; 21 } { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 36 (remaining gas: 1039980.428 units remaining) + - location: 36 (remaining gas: 1039981.193 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 38 (remaining gas: 1039980.418 units remaining) + - location: 38 (remaining gas: 1039981.183 units remaining) [ ] - - location: 36 (remaining gas: 1039980.398 units remaining) + - location: 36 (remaining gas: 1039981.163 units remaining) [ { 0 ; 7 ; 14 ; 21 } ] - - location: 39 (remaining gas: 1039980.388 units remaining) + - location: 39 (remaining gas: 1039981.153 units remaining) [ {} { 0 ; 7 ; 14 ; 21 } ] - - location: 41 (remaining gas: 1039980.378 units remaining) + - location: 41 (remaining gas: 1039981.143 units remaining) [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out index 682bb5f14abf..d5d0e691f0a0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out @@ -7,17 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.306 units remaining) + - location: 8 (remaining gas: 1039994.486 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039994.296 units remaining) + - location: 8 (remaining gas: 1039994.476 units remaining) [ ] - - location: 9 (remaining gas: 1039994.286 units remaining) + - location: 9 (remaining gas: 1039994.466 units remaining) [ 300 ] - - location: 12 (remaining gas: 1039994.276 units remaining) + - location: 12 (remaining gas: 1039994.456 units remaining) [ (Some 300) ] - - location: 13 (remaining gas: 1039994.266 units remaining) + - location: 13 (remaining gas: 1039994.446 units remaining) [ {} (Some 300) ] - - location: 15 (remaining gas: 1039994.256 units remaining) + - location: 15 (remaining gas: 1039994.436 units remaining) [ (Pair {} (Some 300)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" index b2b01b412dc3..254655323718 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" @@ -7,36 +7,36 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.357 units remaining) + - location: 9 (remaining gas: 1039992.627 units remaining) [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039992.347 units remaining) + - location: 9 (remaining gas: 1039992.617 units remaining) [ { "c" ; "b" ; "a" } ] - - location: 10 (remaining gas: 1039992.337 units remaining) + - location: 10 (remaining gas: 1039992.607 units remaining) [ {} { "c" ; "b" ; "a" } ] - - location: 12 (remaining gas: 1039992.327 units remaining) + - location: 12 (remaining gas: 1039992.597 units remaining) [ { "c" ; "b" ; "a" } {} ] - - location: 13 (remaining gas: 1039992.327 units remaining) + - location: 13 (remaining gas: 1039992.597 units remaining) [ "c" {} ] - - location: 15 (remaining gas: 1039992.317 units remaining) + - location: 15 (remaining gas: 1039992.587 units remaining) [ { "c" } ] - - location: 13 (remaining gas: 1039992.307 units remaining) + - location: 13 (remaining gas: 1039992.577 units remaining) [ "b" { "c" } ] - - location: 15 (remaining gas: 1039992.297 units remaining) + - location: 15 (remaining gas: 1039992.567 units remaining) [ { "b" ; "c" } ] - - location: 13 (remaining gas: 1039992.287 units remaining) + - location: 13 (remaining gas: 1039992.557 units remaining) [ "a" { "b" ; "c" } ] - - location: 15 (remaining gas: 1039992.277 units remaining) + - location: 15 (remaining gas: 1039992.547 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 13 (remaining gas: 1039992.267 units remaining) + - location: 13 (remaining gas: 1039992.537 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039992.257 units remaining) + - location: 16 (remaining gas: 1039992.527 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039992.247 units remaining) + - location: 18 (remaining gas: 1039992.517 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" index 17b87c6cb4da..8877879293e1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.729 units remaining) + - location: 9 (remaining gas: 1039992.999 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039992.719 units remaining) + - location: 9 (remaining gas: 1039992.989 units remaining) [ {} ] - - location: 10 (remaining gas: 1039992.709 units remaining) + - location: 10 (remaining gas: 1039992.979 units remaining) [ {} {} ] - - location: 12 (remaining gas: 1039992.699 units remaining) + - location: 12 (remaining gas: 1039992.969 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039992.699 units remaining) + - location: 13 (remaining gas: 1039992.969 units remaining) [ {} ] - - location: 16 (remaining gas: 1039992.689 units remaining) + - location: 16 (remaining gas: 1039992.959 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039992.679 units remaining) + - location: 18 (remaining gas: 1039992.949 units remaining) [ (Pair {} {}) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" index 1d22a8e2e4ae..6fcb7c9b56dc 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" @@ -7,125 +7,125 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039985.212 units remaining) + - location: 9 (remaining gas: 1039985.842 units remaining) [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039985.202 units remaining) + - location: 9 (remaining gas: 1039985.832 units remaining) [ { "c" ; "b" ; "a" } ] - - location: 10 (remaining gas: 1039985.192 units remaining) + - location: 10 (remaining gas: 1039985.822 units remaining) [ {} { "c" ; "b" ; "a" } ] - - location: 12 (remaining gas: 1039985.182 units remaining) + - location: 12 (remaining gas: 1039985.812 units remaining) [ { "c" ; "b" ; "a" } {} ] - - location: 13 (remaining gas: 1039985.172 units remaining) + - location: 13 (remaining gas: 1039985.802 units remaining) [ True { "c" ; "b" ; "a" } {} ] - - location: 16 (remaining gas: 1039985.172 units remaining) + - location: 33 (remaining gas: 1039985.802 units remaining) [ { "c" ; "b" ; "a" } {} ] - - location: 18 (remaining gas: 1039985.162 units remaining) + - location: 18 (remaining gas: 1039985.802 units remaining) [ "c" { "b" ; "a" } {} ] - - location: 20 (remaining gas: 1039985.152 units remaining) + - location: 20 (remaining gas: 1039985.792 units remaining) [ { "b" ; "a" } "c" {} ] - - location: 21 (remaining gas: 1039985.142 units remaining) + - location: 21 (remaining gas: 1039985.792 units remaining) [ "c" {} ] - - location: 23 (remaining gas: 1039985.132 units remaining) + - location: 23 (remaining gas: 1039985.782 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039985.112 units remaining) + - location: 21 (remaining gas: 1039985.762 units remaining) [ { "b" ; "a" } { "c" } ] - - location: 24 (remaining gas: 1039985.102 units remaining) + - location: 24 (remaining gas: 1039985.752 units remaining) [ True { "b" ; "a" } { "c" } ] - - location: 18 (remaining gas: 1039985.092 units remaining) + - location: 18 (remaining gas: 1039985.742 units remaining) [ True { "b" ; "a" } { "c" } ] - - location: 16 (remaining gas: 1039985.082 units remaining) + - location: 33 (remaining gas: 1039985.732 units remaining) [ { "b" ; "a" } { "c" } ] - - location: 18 (remaining gas: 1039985.072 units remaining) + - location: 18 (remaining gas: 1039985.732 units remaining) [ "b" { "a" } { "c" } ] - - location: 20 (remaining gas: 1039985.062 units remaining) + - location: 20 (remaining gas: 1039985.722 units remaining) [ { "a" } "b" { "c" } ] - - location: 21 (remaining gas: 1039985.052 units remaining) + - location: 21 (remaining gas: 1039985.722 units remaining) [ "b" { "c" } ] - - location: 23 (remaining gas: 1039985.042 units remaining) + - location: 23 (remaining gas: 1039985.712 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039985.022 units remaining) + - location: 21 (remaining gas: 1039985.692 units remaining) [ { "a" } { "b" ; "c" } ] - - location: 24 (remaining gas: 1039985.012 units remaining) + - location: 24 (remaining gas: 1039985.682 units remaining) [ True { "a" } { "b" ; "c" } ] - - location: 18 (remaining gas: 1039985.002 units remaining) + - location: 18 (remaining gas: 1039985.672 units remaining) [ True { "a" } { "b" ; "c" } ] - - location: 16 (remaining gas: 1039984.992 units remaining) + - location: 33 (remaining gas: 1039985.662 units remaining) [ { "a" } { "b" ; "c" } ] - - location: 18 (remaining gas: 1039984.982 units remaining) + - location: 18 (remaining gas: 1039985.662 units remaining) [ "a" {} { "b" ; "c" } ] - - location: 20 (remaining gas: 1039984.972 units remaining) + - location: 20 (remaining gas: 1039985.652 units remaining) [ {} "a" { "b" ; "c" } ] - - location: 21 (remaining gas: 1039984.962 units remaining) + - location: 21 (remaining gas: 1039985.652 units remaining) [ "a" { "b" ; "c" } ] - - location: 23 (remaining gas: 1039984.952 units remaining) + - location: 23 (remaining gas: 1039985.642 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039984.932 units remaining) + - location: 21 (remaining gas: 1039985.622 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039984.922 units remaining) + - location: 24 (remaining gas: 1039985.612 units remaining) [ True {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039984.912 units remaining) + - location: 18 (remaining gas: 1039985.602 units remaining) [ True {} { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039984.902 units remaining) + - location: 33 (remaining gas: 1039985.592 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039984.892 units remaining) + - location: 18 (remaining gas: 1039985.592 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039984.882 units remaining) + - location: 28 (remaining gas: 1039985.582 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039984.872 units remaining) + - location: 30 (remaining gas: 1039985.572 units remaining) [ False {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039984.862 units remaining) + - location: 18 (remaining gas: 1039985.562 units remaining) [ False {} { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039984.852 units remaining) + - location: 33 (remaining gas: 1039985.552 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 33 (remaining gas: 1039984.842 units remaining) + - location: 33 (remaining gas: 1039985.542 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 34 (remaining gas: 1039984.832 units remaining) + - location: 34 (remaining gas: 1039985.532 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 36 (remaining gas: 1039984.822 units remaining) + - location: 36 (remaining gas: 1039985.522 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" index 85ba3b4e9829..a3dd27fd66e0 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" @@ -7,44 +7,44 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039985.584 units remaining) + - location: 9 (remaining gas: 1039986.214 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039985.574 units remaining) + - location: 9 (remaining gas: 1039986.204 units remaining) [ {} ] - - location: 10 (remaining gas: 1039985.564 units remaining) + - location: 10 (remaining gas: 1039986.194 units remaining) [ {} {} ] - - location: 12 (remaining gas: 1039985.554 units remaining) + - location: 12 (remaining gas: 1039986.184 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039985.544 units remaining) + - location: 13 (remaining gas: 1039986.174 units remaining) [ True {} {} ] - - location: 16 (remaining gas: 1039985.544 units remaining) + - location: 33 (remaining gas: 1039986.174 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039985.534 units remaining) + - location: 18 (remaining gas: 1039986.174 units remaining) [ {} ] - - location: 28 (remaining gas: 1039985.524 units remaining) + - location: 28 (remaining gas: 1039986.164 units remaining) [ {} {} ] - - location: 30 (remaining gas: 1039985.514 units remaining) + - location: 30 (remaining gas: 1039986.154 units remaining) [ False {} {} ] - - location: 18 (remaining gas: 1039985.504 units remaining) + - location: 18 (remaining gas: 1039986.144 units remaining) [ False {} {} ] - - location: 16 (remaining gas: 1039985.494 units remaining) + - location: 33 (remaining gas: 1039986.134 units remaining) [ {} {} ] - - location: 33 (remaining gas: 1039985.484 units remaining) + - location: 33 (remaining gas: 1039986.124 units remaining) [ {} ] - - location: 34 (remaining gas: 1039985.474 units remaining) + - location: 34 (remaining gas: 1039986.114 units remaining) [ {} {} ] - - location: 36 (remaining gas: 1039985.464 units remaining) + - location: 36 (remaining gas: 1039986.104 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out index 7be46b0c0268..d58f91c0eb3d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.462 units remaining) + - location: 8 (remaining gas: 1039995.642 units remaining) [ (Pair Unit {}) ] - - location: 8 (remaining gas: 1039995.452 units remaining) + - location: 8 (remaining gas: 1039995.632 units remaining) [ ] - - location: 9 (remaining gas: 1039995.442 units remaining) + - location: 9 (remaining gas: 1039995.622 units remaining) [ {} ] - - location: 11 (remaining gas: 1039995.432 units remaining) + - location: 11 (remaining gas: 1039995.612 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039995.422 units remaining) + - location: 13 (remaining gas: 1039995.602 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out index 9cdb5f196ad3..61d0893f7b7f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out @@ -7,40 +7,40 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039985.599 units remaining) + - location: 7 (remaining gas: 1039986.139 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039985.589 units remaining) + - location: 7 (remaining gas: 1039986.129 units remaining) [ ] - - location: 8 (remaining gas: 1039985.579 units remaining) + - location: 8 (remaining gas: 1039986.119 units remaining) [ { DROP ; SELF_ADDRESS } ] - - location: 14 (remaining gas: 1039985.569 units remaining) + - location: 14 (remaining gas: 1039986.109 units remaining) [ Unit { DROP ; SELF_ADDRESS } ] - - location: 12 (remaining gas: 1039985.559 units remaining) + - location: 12 (remaining gas: 1039986.099 units remaining) [ ] - - location: 13 (remaining gas: 1039985.549 units remaining) + - location: 13 (remaining gas: 1039986.089 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 15 (remaining gas: 1039985.529 units remaining) + - location: 15 (remaining gas: 1039986.069 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 16 (remaining gas: 1039985.519 units remaining) + - location: 16 (remaining gas: 1039986.059 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 17 (remaining gas: 1039985.509 units remaining) + - location: 17 (remaining gas: 1039986.049 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 20 (remaining gas: 1039985.473 units remaining) + - location: 20 (remaining gas: 1039986.013 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039985.463 units remaining) + - location: 21 (remaining gas: 1039986.003 units remaining) [ True ] - - location: 22 (remaining gas: 1039985.453 units remaining) + - location: 22 (remaining gas: 1039986.003 units remaining) [ ] - - location: 22 (remaining gas: 1039985.443 units remaining) + - location: 22 (remaining gas: 1039985.993 units remaining) [ ] - - location: 28 (remaining gas: 1039985.433 units remaining) + - location: 28 (remaining gas: 1039985.983 units remaining) [ Unit ] - - location: 29 (remaining gas: 1039985.423 units remaining) + - location: 29 (remaining gas: 1039985.973 units remaining) [ {} Unit ] - - location: 31 (remaining gas: 1039985.413 units remaining) + - location: 31 (remaining gas: 1039985.963 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out index 318c2f7d5e7d..76b8c0bbb530 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out @@ -7,41 +7,41 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039983.765 units remaining) + - location: 13 (remaining gas: 1039984.485 units remaining) [ (Pair (Right (Left Unit)) Unit) ] - - location: 13 (remaining gas: 1039983.755 units remaining) + - location: 13 (remaining gas: 1039984.475 units remaining) [ ] - - location: 14 (remaining gas: 1039983.745 units remaining) + - location: 14 (remaining gas: 1039984.465 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 15 (remaining gas: 1039983.735 units remaining) + - location: 15 (remaining gas: 1039984.455 units remaining) [ ] - - location: 16 (remaining gas: 1039983.725 units remaining) + - location: 16 (remaining gas: 1039984.445 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" ] - - location: 17 (remaining gas: 1039983.715 units remaining) + - location: 17 (remaining gas: 1039984.435 units remaining) [ ] - - location: 18 (remaining gas: 1039983.705 units remaining) + - location: 18 (remaining gas: 1039984.425 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 19 (remaining gas: 1039982.582 units remaining) + - location: 19 (remaining gas: 1039983.302 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 20 (remaining gas: 1039982.572 units remaining) + - location: 20 (remaining gas: 1039983.292 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 21 (remaining gas: 1039981.449 units remaining) + - location: 21 (remaining gas: 1039982.169 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 24 (remaining gas: 1039981.414 units remaining) + - location: 24 (remaining gas: 1039982.134 units remaining) [ 0 ] - - location: 25 (remaining gas: 1039981.404 units remaining) + - location: 25 (remaining gas: 1039982.124 units remaining) [ True ] - - location: 26 (remaining gas: 1039981.394 units remaining) + - location: 26 (remaining gas: 1039982.124 units remaining) [ ] - - location: 26 (remaining gas: 1039981.384 units remaining) + - location: 26 (remaining gas: 1039982.114 units remaining) [ ] - - location: 32 (remaining gas: 1039981.374 units remaining) + - location: 32 (remaining gas: 1039982.104 units remaining) [ Unit ] - - location: 33 (remaining gas: 1039981.364 units remaining) + - location: 33 (remaining gas: 1039982.094 units remaining) [ {} Unit ] - - location: 35 (remaining gas: 1039981.354 units remaining) + - location: 35 (remaining gas: 1039982.084 units remaining) [ (Pair {} Unit) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out index cf1ecabb32ff..f991e2593dce 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out @@ -7,87 +7,87 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039958.301 units remaining) + - location: 13 (remaining gas: 1039959.876 units remaining) [ (Pair (Left (Left 0)) Unit) ] - - location: 13 (remaining gas: 1039958.291 units remaining) + - location: 13 (remaining gas: 1039959.866 units remaining) [ ] - - location: 14 (remaining gas: 1039958.281 units remaining) + - location: 14 (remaining gas: 1039959.856 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" ] - - location: 15 (remaining gas: 1039957.125 units remaining) + - location: 15 (remaining gas: 1039958.700 units remaining) [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] - - location: 16 (remaining gas: 1039957.115 units remaining) + - location: 16 (remaining gas: 1039958.690 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] - - location: 17 (remaining gas: 1039955.992 units remaining) + - location: 17 (remaining gas: 1039957.567 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] - - location: 18 (remaining gas: 1039955.982 units remaining) + - location: 18 (remaining gas: 1039957.557 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] - - location: 19 (remaining gas: 1039955.972 units remaining) + - location: 19 (remaining gas: 1039957.557 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] - - location: 21 (remaining gas: 1039955.962 units remaining) + - location: 21 (remaining gas: 1039957.547 units remaining) [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 19 (remaining gas: 1039955.942 units remaining) + - location: 19 (remaining gas: 1039957.527 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 24 (remaining gas: 1039955.907 units remaining) + - location: 24 (remaining gas: 1039957.492 units remaining) [ -1 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 25 (remaining gas: 1039955.897 units remaining) + - location: 25 (remaining gas: 1039957.482 units remaining) [ True 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 26 (remaining gas: 1039955.887 units remaining) + - location: 26 (remaining gas: 1039957.482 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 26 (remaining gas: 1039955.877 units remaining) + - location: 26 (remaining gas: 1039957.472 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 32 (remaining gas: 1039955.867 units remaining) + - location: 32 (remaining gas: 1039957.462 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 33 (remaining gas: 1039954.744 units remaining) + - location: 33 (remaining gas: 1039956.339 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] - - location: 36 (remaining gas: 1039954.709 units remaining) + - location: 36 (remaining gas: 1039956.304 units remaining) [ 0 ] - - location: 37 (remaining gas: 1039954.699 units remaining) + - location: 37 (remaining gas: 1039956.294 units remaining) [ True ] - - location: 38 (remaining gas: 1039954.689 units remaining) + - location: 38 (remaining gas: 1039956.294 units remaining) [ ] - - location: 38 (remaining gas: 1039954.679 units remaining) + - location: 38 (remaining gas: 1039956.284 units remaining) [ ] - - location: 44 (remaining gas: 1039954.669 units remaining) + - location: 44 (remaining gas: 1039956.274 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" ] - - location: 48 (remaining gas: 1039954.659 units remaining) + - location: 48 (remaining gas: 1039956.264 units remaining) [ ] - - location: 49 (remaining gas: 1039954.649 units remaining) + - location: 49 (remaining gas: 1039956.254 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" ] - - location: 53 (remaining gas: 1039954.639 units remaining) + - location: 53 (remaining gas: 1039956.244 units remaining) [ ] - - location: 54 (remaining gas: 1039954.629 units remaining) + - location: 54 (remaining gas: 1039956.234 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" ] - - location: 60 (remaining gas: 1039954.619 units remaining) + - location: 60 (remaining gas: 1039956.224 units remaining) [ ] - - location: 61 (remaining gas: 1039954.609 units remaining) + - location: 61 (remaining gas: 1039956.214 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" ] - - location: 65 (remaining gas: 1039954.599 units remaining) + - location: 65 (remaining gas: 1039956.204 units remaining) [ ] - - location: 66 (remaining gas: 1039954.589 units remaining) + - location: 66 (remaining gas: 1039956.194 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 76 (remaining gas: 1039954.579 units remaining) + - location: 76 (remaining gas: 1039956.184 units remaining) [ ] - - location: 77 (remaining gas: 1039954.569 units remaining) + - location: 77 (remaining gas: 1039956.174 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 87 (remaining gas: 1039954.559 units remaining) + - location: 87 (remaining gas: 1039956.164 units remaining) [ ] - - location: 88 (remaining gas: 1039954.549 units remaining) + - location: 88 (remaining gas: 1039956.154 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039954.539 units remaining) + - location: 89 (remaining gas: 1039956.144 units remaining) [ {} Unit ] - - location: 91 (remaining gas: 1039954.529 units remaining) + - location: 91 (remaining gas: 1039956.134 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" index 6a36e86fe0b9..4b2a9c58b5d0 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" @@ -7,43 +7,43 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.486 units remaining) + - location: 9 (remaining gas: 1039989.071 units remaining) [ (Pair "" "hello" 0) ] - - location: 9 (remaining gas: 1039988.476 units remaining) + - location: 9 (remaining gas: 1039989.061 units remaining) [ (Pair "" "hello" 0) (Pair "" "hello" 0) ] - - location: 10 (remaining gas: 1039988.466 units remaining) + - location: 10 (remaining gas: 1039989.051 units remaining) [ (Pair "hello" 0) (Pair "" "hello" 0) ] - - location: 11 (remaining gas: 1039988.456 units remaining) + - location: 11 (remaining gas: 1039989.051 units remaining) [ (Pair "" "hello" 0) ] - - location: 13 (remaining gas: 1039988.446 units remaining) + - location: 13 (remaining gas: 1039989.041 units remaining) [ "" ] - - location: 11 (remaining gas: 1039988.426 units remaining) + - location: 11 (remaining gas: 1039989.021 units remaining) [ (Pair "hello" 0) "" ] - - location: 15 (remaining gas: 1039988.416 units remaining) + - location: 15 (remaining gas: 1039989.011 units remaining) [ (Pair "hello" 0) (Pair "hello" 0) "" ] - - location: 16 (remaining gas: 1039988.406 units remaining) + - location: 16 (remaining gas: 1039989.001 units remaining) [ "hello" (Pair "hello" 0) "" ] - - location: 17 (remaining gas: 1039988.396 units remaining) + - location: 17 (remaining gas: 1039988.991 units remaining) [ (Pair "hello" 0) "" ] - - location: 18 (remaining gas: 1039988.386 units remaining) + - location: 18 (remaining gas: 1039988.981 units remaining) [ 0 "" ] - - location: 19 (remaining gas: 1039988.376 units remaining) + - location: 19 (remaining gas: 1039988.971 units remaining) [ "" 0 ] - - location: 20 (remaining gas: 1039988.366 units remaining) + - location: 20 (remaining gas: 1039988.961 units remaining) [ (Pair "" 0) ] - - location: 21 (remaining gas: 1039988.356 units remaining) + - location: 21 (remaining gas: 1039988.951 units remaining) [ {} (Pair "" 0) ] - - location: 23 (remaining gas: 1039988.346 units remaining) + - location: 23 (remaining gas: 1039988.941 units remaining) [ (Pair {} "" 0) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" index 5ac12fd30132..46f23622d08f 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" @@ -7,43 +7,43 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.456 units remaining) + - location: 9 (remaining gas: 1039989.041 units remaining) [ (Pair "abc" "hello" 0) ] - - location: 9 (remaining gas: 1039988.446 units remaining) + - location: 9 (remaining gas: 1039989.031 units remaining) [ (Pair "abc" "hello" 0) (Pair "abc" "hello" 0) ] - - location: 10 (remaining gas: 1039988.436 units remaining) + - location: 10 (remaining gas: 1039989.021 units remaining) [ (Pair "hello" 0) (Pair "abc" "hello" 0) ] - - location: 11 (remaining gas: 1039988.426 units remaining) + - location: 11 (remaining gas: 1039989.021 units remaining) [ (Pair "abc" "hello" 0) ] - - location: 13 (remaining gas: 1039988.416 units remaining) + - location: 13 (remaining gas: 1039989.011 units remaining) [ "abc" ] - - location: 11 (remaining gas: 1039988.396 units remaining) + - location: 11 (remaining gas: 1039988.991 units remaining) [ (Pair "hello" 0) "abc" ] - - location: 15 (remaining gas: 1039988.386 units remaining) + - location: 15 (remaining gas: 1039988.981 units remaining) [ (Pair "hello" 0) (Pair "hello" 0) "abc" ] - - location: 16 (remaining gas: 1039988.376 units remaining) + - location: 16 (remaining gas: 1039988.971 units remaining) [ "hello" (Pair "hello" 0) "abc" ] - - location: 17 (remaining gas: 1039988.366 units remaining) + - location: 17 (remaining gas: 1039988.961 units remaining) [ (Pair "hello" 0) "abc" ] - - location: 18 (remaining gas: 1039988.356 units remaining) + - location: 18 (remaining gas: 1039988.951 units remaining) [ 0 "abc" ] - - location: 19 (remaining gas: 1039988.346 units remaining) + - location: 19 (remaining gas: 1039988.941 units remaining) [ "abc" 0 ] - - location: 20 (remaining gas: 1039988.336 units remaining) + - location: 20 (remaining gas: 1039988.931 units remaining) [ (Pair "abc" 0) ] - - location: 21 (remaining gas: 1039988.326 units remaining) + - location: 21 (remaining gas: 1039988.921 units remaining) [ {} (Pair "abc" 0) ] - - location: 23 (remaining gas: 1039988.316 units remaining) + - location: 23 (remaining gas: 1039988.911 units remaining) [ (Pair {} "abc" 0) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" index 2e43cd357d7b..194c1cb8eeda 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" @@ -7,43 +7,43 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.436 units remaining) + - location: 9 (remaining gas: 1039989.021 units remaining) [ (Pair "world" "hello" 0) ] - - location: 9 (remaining gas: 1039988.426 units remaining) + - location: 9 (remaining gas: 1039989.011 units remaining) [ (Pair "world" "hello" 0) (Pair "world" "hello" 0) ] - - location: 10 (remaining gas: 1039988.416 units remaining) + - location: 10 (remaining gas: 1039989.001 units remaining) [ (Pair "hello" 0) (Pair "world" "hello" 0) ] - - location: 11 (remaining gas: 1039988.406 units remaining) + - location: 11 (remaining gas: 1039989.001 units remaining) [ (Pair "world" "hello" 0) ] - - location: 13 (remaining gas: 1039988.396 units remaining) + - location: 13 (remaining gas: 1039988.991 units remaining) [ "world" ] - - location: 11 (remaining gas: 1039988.376 units remaining) + - location: 11 (remaining gas: 1039988.971 units remaining) [ (Pair "hello" 0) "world" ] - - location: 15 (remaining gas: 1039988.366 units remaining) + - location: 15 (remaining gas: 1039988.961 units remaining) [ (Pair "hello" 0) (Pair "hello" 0) "world" ] - - location: 16 (remaining gas: 1039988.356 units remaining) + - location: 16 (remaining gas: 1039988.951 units remaining) [ "hello" (Pair "hello" 0) "world" ] - - location: 17 (remaining gas: 1039988.346 units remaining) + - location: 17 (remaining gas: 1039988.941 units remaining) [ (Pair "hello" 0) "world" ] - - location: 18 (remaining gas: 1039988.336 units remaining) + - location: 18 (remaining gas: 1039988.931 units remaining) [ 0 "world" ] - - location: 19 (remaining gas: 1039988.326 units remaining) + - location: 19 (remaining gas: 1039988.921 units remaining) [ "world" 0 ] - - location: 20 (remaining gas: 1039988.316 units remaining) + - location: 20 (remaining gas: 1039988.911 units remaining) [ (Pair "world" 0) ] - - location: 21 (remaining gas: 1039988.306 units remaining) + - location: 21 (remaining gas: 1039988.901 units remaining) [ {} (Pair "world" 0) ] - - location: 23 (remaining gas: 1039988.296 units remaining) + - location: 23 (remaining gas: 1039988.891 units remaining) [ (Pair {} "world" 0) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" index 3f77e4d45e99..ae91ab2cf876 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" @@ -7,40 +7,40 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.103 units remaining) + - location: 9 (remaining gas: 1039989.643 units remaining) [ (Pair 1 "hello" 0) ] - - location: 9 (remaining gas: 1039989.093 units remaining) + - location: 9 (remaining gas: 1039989.633 units remaining) [ (Pair 1 "hello" 0) (Pair 1 "hello" 0) ] - - location: 10 (remaining gas: 1039989.083 units remaining) + - location: 10 (remaining gas: 1039989.623 units remaining) [ (Pair "hello" 0) (Pair 1 "hello" 0) ] - - location: 11 (remaining gas: 1039989.073 units remaining) + - location: 11 (remaining gas: 1039989.623 units remaining) [ (Pair 1 "hello" 0) ] - - location: 13 (remaining gas: 1039989.063 units remaining) + - location: 13 (remaining gas: 1039989.613 units remaining) [ 1 ] - - location: 11 (remaining gas: 1039989.043 units remaining) + - location: 11 (remaining gas: 1039989.593 units remaining) [ (Pair "hello" 0) 1 ] - - location: 15 (remaining gas: 1039989.033 units remaining) + - location: 15 (remaining gas: 1039989.583 units remaining) [ (Pair "hello" 0) (Pair "hello" 0) 1 ] - - location: 16 (remaining gas: 1039989.023 units remaining) + - location: 16 (remaining gas: 1039989.573 units remaining) [ 0 (Pair "hello" 0) 1 ] - - location: 17 (remaining gas: 1039989.013 units remaining) + - location: 17 (remaining gas: 1039989.563 units remaining) [ (Pair "hello" 0) 1 ] - - location: 18 (remaining gas: 1039989.003 units remaining) + - location: 18 (remaining gas: 1039989.553 units remaining) [ "hello" 1 ] - - location: 19 (remaining gas: 1039988.993 units remaining) + - location: 19 (remaining gas: 1039989.543 units remaining) [ (Pair "hello" 1) ] - - location: 20 (remaining gas: 1039988.983 units remaining) + - location: 20 (remaining gas: 1039989.533 units remaining) [ {} (Pair "hello" 1) ] - - location: 22 (remaining gas: 1039988.973 units remaining) + - location: 22 (remaining gas: 1039989.523 units remaining) [ (Pair {} "hello" 1) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" index 2bf8cbb177bb..d0f09469a802 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" @@ -7,40 +7,40 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.103 units remaining) + - location: 9 (remaining gas: 1039989.643 units remaining) [ (Pair 3 "hello" 500) ] - - location: 9 (remaining gas: 1039989.093 units remaining) + - location: 9 (remaining gas: 1039989.633 units remaining) [ (Pair 3 "hello" 500) (Pair 3 "hello" 500) ] - - location: 10 (remaining gas: 1039989.083 units remaining) + - location: 10 (remaining gas: 1039989.623 units remaining) [ (Pair "hello" 500) (Pair 3 "hello" 500) ] - - location: 11 (remaining gas: 1039989.073 units remaining) + - location: 11 (remaining gas: 1039989.623 units remaining) [ (Pair 3 "hello" 500) ] - - location: 13 (remaining gas: 1039989.063 units remaining) + - location: 13 (remaining gas: 1039989.613 units remaining) [ 3 ] - - location: 11 (remaining gas: 1039989.043 units remaining) + - location: 11 (remaining gas: 1039989.593 units remaining) [ (Pair "hello" 500) 3 ] - - location: 15 (remaining gas: 1039989.033 units remaining) + - location: 15 (remaining gas: 1039989.583 units remaining) [ (Pair "hello" 500) (Pair "hello" 500) 3 ] - - location: 16 (remaining gas: 1039989.023 units remaining) + - location: 16 (remaining gas: 1039989.573 units remaining) [ 500 (Pair "hello" 500) 3 ] - - location: 17 (remaining gas: 1039989.013 units remaining) + - location: 17 (remaining gas: 1039989.563 units remaining) [ (Pair "hello" 500) 3 ] - - location: 18 (remaining gas: 1039989.003 units remaining) + - location: 18 (remaining gas: 1039989.553 units remaining) [ "hello" 3 ] - - location: 19 (remaining gas: 1039988.993 units remaining) + - location: 19 (remaining gas: 1039989.543 units remaining) [ (Pair "hello" 3) ] - - location: 20 (remaining gas: 1039988.983 units remaining) + - location: 20 (remaining gas: 1039989.533 units remaining) [ {} (Pair "hello" 3) ] - - location: 22 (remaining gas: 1039988.973 units remaining) + - location: 22 (remaining gas: 1039989.523 units remaining) [ (Pair {} "hello" 3) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" index 8e141d47f54c..a5d0362a8d3a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" @@ -7,40 +7,40 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.103 units remaining) + - location: 9 (remaining gas: 1039989.643 units remaining) [ (Pair 100 "hello" 7) ] - - location: 9 (remaining gas: 1039989.093 units remaining) + - location: 9 (remaining gas: 1039989.633 units remaining) [ (Pair 100 "hello" 7) (Pair 100 "hello" 7) ] - - location: 10 (remaining gas: 1039989.083 units remaining) + - location: 10 (remaining gas: 1039989.623 units remaining) [ (Pair "hello" 7) (Pair 100 "hello" 7) ] - - location: 11 (remaining gas: 1039989.073 units remaining) + - location: 11 (remaining gas: 1039989.623 units remaining) [ (Pair 100 "hello" 7) ] - - location: 13 (remaining gas: 1039989.063 units remaining) + - location: 13 (remaining gas: 1039989.613 units remaining) [ 100 ] - - location: 11 (remaining gas: 1039989.043 units remaining) + - location: 11 (remaining gas: 1039989.593 units remaining) [ (Pair "hello" 7) 100 ] - - location: 15 (remaining gas: 1039989.033 units remaining) + - location: 15 (remaining gas: 1039989.583 units remaining) [ (Pair "hello" 7) (Pair "hello" 7) 100 ] - - location: 16 (remaining gas: 1039989.023 units remaining) + - location: 16 (remaining gas: 1039989.573 units remaining) [ 7 (Pair "hello" 7) 100 ] - - location: 17 (remaining gas: 1039989.013 units remaining) + - location: 17 (remaining gas: 1039989.563 units remaining) [ (Pair "hello" 7) 100 ] - - location: 18 (remaining gas: 1039989.003 units remaining) + - location: 18 (remaining gas: 1039989.553 units remaining) [ "hello" 100 ] - - location: 19 (remaining gas: 1039988.993 units remaining) + - location: 19 (remaining gas: 1039989.543 units remaining) [ (Pair "hello" 100) ] - - location: 20 (remaining gas: 1039988.983 units remaining) + - location: 20 (remaining gas: 1039989.533 units remaining) [ {} (Pair "hello" 100) ] - - location: 22 (remaining gas: 1039988.973 units remaining) + - location: 22 (remaining gas: 1039989.523 units remaining) [ (Pair {} "hello" 100) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" index f1f686053810..24d930fc2679 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039994.946 units remaining) + - location: 9 (remaining gas: 1039995.081 units remaining) [ (Pair { "a" ; "b" ; "c" } {}) ] - - location: 9 (remaining gas: 1039994.936 units remaining) + - location: 9 (remaining gas: 1039995.071 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 10 (remaining gas: 1039994.926 units remaining) + - location: 10 (remaining gas: 1039995.061 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039994.916 units remaining) + - location: 12 (remaining gas: 1039995.051 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" index c92567549436..f0fd5c2f9d87 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.163 units remaining) + - location: 9 (remaining gas: 1039995.298 units remaining) [ (Pair { "asdf" ; "bcde" } {}) ] - - location: 9 (remaining gas: 1039995.153 units remaining) + - location: 9 (remaining gas: 1039995.288 units remaining) [ { "asdf" ; "bcde" } ] - - location: 10 (remaining gas: 1039995.143 units remaining) + - location: 10 (remaining gas: 1039995.278 units remaining) [ {} { "asdf" ; "bcde" } ] - - location: 12 (remaining gas: 1039995.133 units remaining) + - location: 12 (remaining gas: 1039995.268 units remaining) [ (Pair {} { "asdf" ; "bcde" }) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out index d70c03eb6357..1364ddb2fefb 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out @@ -7,13 +7,13 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039995.790 units remaining) + - location: 9 (remaining gas: 1039995.925 units remaining) [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039995.780 units remaining) + - location: 9 (remaining gas: 1039995.915 units remaining) [ {} ] - - location: 10 (remaining gas: 1039995.770 units remaining) + - location: 10 (remaining gas: 1039995.905 units remaining) [ {} {} ] - - location: 12 (remaining gas: 1039995.760 units remaining) + - location: 12 (remaining gas: 1039995.895 units remaining) [ (Pair {} {}) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out index 08450db9c8cc..2e3dac5eafe0 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out @@ -7,41 +7,41 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039991.958 units remaining) + - location: 8 (remaining gas: 1039992.228 units remaining) [ (Pair { -100 ; 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039991.948 units remaining) + - location: 8 (remaining gas: 1039992.218 units remaining) [ { -100 ; 1 ; 2 ; 3 } ] - - location: 9 (remaining gas: 1039991.938 units remaining) + - location: 9 (remaining gas: 1039992.208 units remaining) [ 0 { -100 ; 1 ; 2 ; 3 } ] - - location: 12 (remaining gas: 1039991.928 units remaining) + - location: 12 (remaining gas: 1039992.198 units remaining) [ { -100 ; 1 ; 2 ; 3 } 0 ] - - location: 13 (remaining gas: 1039991.928 units remaining) + - location: 13 (remaining gas: 1039992.198 units remaining) [ -100 0 ] - - location: 15 (remaining gas: 1039991.893 units remaining) + - location: 15 (remaining gas: 1039992.163 units remaining) [ -100 ] - - location: 13 (remaining gas: 1039991.883 units remaining) + - location: 13 (remaining gas: 1039992.153 units remaining) [ 1 -100 ] - - location: 15 (remaining gas: 1039991.848 units remaining) + - location: 15 (remaining gas: 1039992.118 units remaining) [ -99 ] - - location: 13 (remaining gas: 1039991.838 units remaining) + - location: 13 (remaining gas: 1039992.108 units remaining) [ 2 -99 ] - - location: 15 (remaining gas: 1039991.803 units remaining) + - location: 15 (remaining gas: 1039992.073 units remaining) [ -97 ] - - location: 13 (remaining gas: 1039991.793 units remaining) + - location: 13 (remaining gas: 1039992.063 units remaining) [ 3 -97 ] - - location: 15 (remaining gas: 1039991.758 units remaining) + - location: 15 (remaining gas: 1039992.028 units remaining) [ -94 ] - - location: 13 (remaining gas: 1039991.748 units remaining) + - location: 13 (remaining gas: 1039992.018 units remaining) [ -94 ] - - location: 16 (remaining gas: 1039991.738 units remaining) + - location: 16 (remaining gas: 1039992.008 units remaining) [ {} -94 ] - - location: 18 (remaining gas: 1039991.728 units remaining) + - location: 18 (remaining gas: 1039991.998 units remaining) [ (Pair {} -94) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out index aa188a50a4ea..c94548703f29 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.753 units remaining) + - location: 8 (remaining gas: 1039993.023 units remaining) [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039992.743 units remaining) + - location: 8 (remaining gas: 1039993.013 units remaining) [ { 1 } ] - - location: 9 (remaining gas: 1039992.733 units remaining) + - location: 9 (remaining gas: 1039993.003 units remaining) [ 0 { 1 } ] - - location: 12 (remaining gas: 1039992.723 units remaining) + - location: 12 (remaining gas: 1039992.993 units remaining) [ { 1 } 0 ] - - location: 13 (remaining gas: 1039992.723 units remaining) + - location: 13 (remaining gas: 1039992.993 units remaining) [ 1 0 ] - - location: 15 (remaining gas: 1039992.688 units remaining) + - location: 15 (remaining gas: 1039992.958 units remaining) [ 1 ] - - location: 13 (remaining gas: 1039992.678 units remaining) + - location: 13 (remaining gas: 1039992.948 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039992.668 units remaining) + - location: 16 (remaining gas: 1039992.938 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039992.658 units remaining) + - location: 18 (remaining gas: 1039992.928 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out index a1827ec0e496..7cd18a2beac9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out @@ -7,21 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.983 units remaining) + - location: 8 (remaining gas: 1039993.253 units remaining) [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039992.973 units remaining) + - location: 8 (remaining gas: 1039993.243 units remaining) [ {} ] - - location: 9 (remaining gas: 1039992.963 units remaining) + - location: 9 (remaining gas: 1039993.233 units remaining) [ 0 {} ] - - location: 12 (remaining gas: 1039992.953 units remaining) + - location: 12 (remaining gas: 1039993.223 units remaining) [ {} 0 ] - - location: 13 (remaining gas: 1039992.953 units remaining) + - location: 13 (remaining gas: 1039993.223 units remaining) [ 0 ] - - location: 16 (remaining gas: 1039992.943 units remaining) + - location: 16 (remaining gas: 1039993.213 units remaining) [ {} 0 ] - - location: 18 (remaining gas: 1039992.933 units remaining) + - location: 18 (remaining gas: 1039993.203 units remaining) [ (Pair {} 0) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" index 8fca9269dc87..3b2808b71eaa 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" @@ -7,55 +7,55 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039984.878 units remaining) + - location: 11 (remaining gas: 1039985.643 units remaining) [ (Pair "" { "Hello" ; "World" } None) ] - - location: 11 (remaining gas: 1039984.868 units remaining) + - location: 11 (remaining gas: 1039985.633 units remaining) [ (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 12 (remaining gas: 1039984.858 units remaining) + - location: 12 (remaining gas: 1039985.623 units remaining) [ (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 13 (remaining gas: 1039984.848 units remaining) + - location: 13 (remaining gas: 1039985.613 units remaining) [ "" (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 14 (remaining gas: 1039984.838 units remaining) + - location: 14 (remaining gas: 1039985.613 units remaining) [ (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 17 (remaining gas: 1039984.828 units remaining) + - location: 17 (remaining gas: 1039985.603 units remaining) [ (Pair { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 18 (remaining gas: 1039984.818 units remaining) + - location: 18 (remaining gas: 1039985.593 units remaining) [ { "Hello" ; "World" } (Pair "" { "Hello" ; "World" } None) ] - - location: 14 (remaining gas: 1039984.798 units remaining) + - location: 14 (remaining gas: 1039985.573 units remaining) [ "" { "Hello" ; "World" } (Pair "" { "Hello" ; "World" } None) ] - - location: 19 (remaining gas: 1039984.683 units remaining) + - location: 19 (remaining gas: 1039985.458 units remaining) [ False (Pair "" { "Hello" ; "World" } None) ] - - location: 20 (remaining gas: 1039984.673 units remaining) + - location: 20 (remaining gas: 1039985.448 units remaining) [ (Some False) (Pair "" { "Hello" ; "World" } None) ] - - location: 21 (remaining gas: 1039984.663 units remaining) + - location: 21 (remaining gas: 1039985.448 units remaining) [ (Pair "" { "Hello" ; "World" } None) ] - - location: 24 (remaining gas: 1039984.653 units remaining) + - location: 24 (remaining gas: 1039985.438 units remaining) [ (Pair { "Hello" ; "World" } None) ] - - location: 25 (remaining gas: 1039984.643 units remaining) + - location: 25 (remaining gas: 1039985.428 units remaining) [ { "Hello" ; "World" } ] - - location: 21 (remaining gas: 1039984.623 units remaining) + - location: 21 (remaining gas: 1039985.408 units remaining) [ (Some False) { "Hello" ; "World" } ] - - location: 26 (remaining gas: 1039984.613 units remaining) + - location: 26 (remaining gas: 1039985.398 units remaining) [ { "Hello" ; "World" } (Some False) ] - - location: 27 (remaining gas: 1039984.603 units remaining) + - location: 27 (remaining gas: 1039985.388 units remaining) [ (Pair { "Hello" ; "World" } (Some False)) ] - - location: 28 (remaining gas: 1039984.593 units remaining) + - location: 28 (remaining gas: 1039985.378 units remaining) [ {} (Pair { "Hello" ; "World" } (Some False)) ] - - location: 30 (remaining gas: 1039984.583 units remaining) + - location: 30 (remaining gas: 1039985.368 units remaining) [ (Pair {} { "Hello" ; "World" } (Some False)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" index 4ef7261f71ef..98b5ee3bdab5 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" @@ -7,55 +7,55 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039985.243 units remaining) + - location: 11 (remaining gas: 1039986.008 units remaining) [ (Pair "Hi" { "Hi" } None) ] - - location: 11 (remaining gas: 1039985.233 units remaining) + - location: 11 (remaining gas: 1039985.998 units remaining) [ (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 12 (remaining gas: 1039985.223 units remaining) + - location: 12 (remaining gas: 1039985.988 units remaining) [ (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 13 (remaining gas: 1039985.213 units remaining) + - location: 13 (remaining gas: 1039985.978 units remaining) [ "Hi" (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 14 (remaining gas: 1039985.203 units remaining) + - location: 14 (remaining gas: 1039985.978 units remaining) [ (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 17 (remaining gas: 1039985.193 units remaining) + - location: 17 (remaining gas: 1039985.968 units remaining) [ (Pair { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 18 (remaining gas: 1039985.183 units remaining) + - location: 18 (remaining gas: 1039985.958 units remaining) [ { "Hi" } (Pair "Hi" { "Hi" } None) ] - - location: 14 (remaining gas: 1039985.163 units remaining) + - location: 14 (remaining gas: 1039985.938 units remaining) [ "Hi" { "Hi" } (Pair "Hi" { "Hi" } None) ] - - location: 19 (remaining gas: 1039985.044 units remaining) + - location: 19 (remaining gas: 1039985.819 units remaining) [ True (Pair "Hi" { "Hi" } None) ] - - location: 20 (remaining gas: 1039985.034 units remaining) + - location: 20 (remaining gas: 1039985.809 units remaining) [ (Some True) (Pair "Hi" { "Hi" } None) ] - - location: 21 (remaining gas: 1039985.024 units remaining) + - location: 21 (remaining gas: 1039985.809 units remaining) [ (Pair "Hi" { "Hi" } None) ] - - location: 24 (remaining gas: 1039985.014 units remaining) + - location: 24 (remaining gas: 1039985.799 units remaining) [ (Pair { "Hi" } None) ] - - location: 25 (remaining gas: 1039985.004 units remaining) + - location: 25 (remaining gas: 1039985.789 units remaining) [ { "Hi" } ] - - location: 21 (remaining gas: 1039984.984 units remaining) + - location: 21 (remaining gas: 1039985.769 units remaining) [ (Some True) { "Hi" } ] - - location: 26 (remaining gas: 1039984.974 units remaining) + - location: 26 (remaining gas: 1039985.759 units remaining) [ { "Hi" } (Some True) ] - - location: 27 (remaining gas: 1039984.964 units remaining) + - location: 27 (remaining gas: 1039985.749 units remaining) [ (Pair { "Hi" } (Some True)) ] - - location: 28 (remaining gas: 1039984.954 units remaining) + - location: 28 (remaining gas: 1039985.739 units remaining) [ {} (Pair { "Hi" } (Some True)) ] - - location: 30 (remaining gas: 1039984.944 units remaining) + - location: 30 (remaining gas: 1039985.729 units remaining) [ (Pair {} { "Hi" } (Some True)) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" index 284b999fdb48..649d1080e19c 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" @@ -7,55 +7,55 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039985.511 units remaining) + - location: 11 (remaining gas: 1039986.276 units remaining) [ (Pair "Hi" {} None) ] - - location: 11 (remaining gas: 1039985.501 units remaining) + - location: 11 (remaining gas: 1039986.266 units remaining) [ (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 12 (remaining gas: 1039985.491 units remaining) + - location: 12 (remaining gas: 1039986.256 units remaining) [ (Pair "Hi" {} None) (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 13 (remaining gas: 1039985.481 units remaining) + - location: 13 (remaining gas: 1039986.246 units remaining) [ "Hi" (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 14 (remaining gas: 1039985.471 units remaining) + - location: 14 (remaining gas: 1039986.246 units remaining) [ (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 17 (remaining gas: 1039985.461 units remaining) + - location: 17 (remaining gas: 1039986.236 units remaining) [ (Pair {} None) (Pair "Hi" {} None) ] - - location: 18 (remaining gas: 1039985.451 units remaining) + - location: 18 (remaining gas: 1039986.226 units remaining) [ {} (Pair "Hi" {} None) ] - - location: 14 (remaining gas: 1039985.431 units remaining) + - location: 14 (remaining gas: 1039986.206 units remaining) [ "Hi" {} (Pair "Hi" {} None) ] - - location: 19 (remaining gas: 1039985.314 units remaining) + - location: 19 (remaining gas: 1039986.089 units remaining) [ False (Pair "Hi" {} None) ] - - location: 20 (remaining gas: 1039985.304 units remaining) + - location: 20 (remaining gas: 1039986.079 units remaining) [ (Some False) (Pair "Hi" {} None) ] - - location: 21 (remaining gas: 1039985.294 units remaining) + - location: 21 (remaining gas: 1039986.079 units remaining) [ (Pair "Hi" {} None) ] - - location: 24 (remaining gas: 1039985.284 units remaining) + - location: 24 (remaining gas: 1039986.069 units remaining) [ (Pair {} None) ] - - location: 25 (remaining gas: 1039985.274 units remaining) + - location: 25 (remaining gas: 1039986.059 units remaining) [ {} ] - - location: 21 (remaining gas: 1039985.254 units remaining) + - location: 21 (remaining gas: 1039986.039 units remaining) [ (Some False) {} ] - - location: 26 (remaining gas: 1039985.244 units remaining) + - location: 26 (remaining gas: 1039986.029 units remaining) [ {} (Some False) ] - - location: 27 (remaining gas: 1039985.234 units remaining) + - location: 27 (remaining gas: 1039986.019 units remaining) [ (Pair {} (Some False)) ] - - location: 28 (remaining gas: 1039985.224 units remaining) + - location: 28 (remaining gas: 1039986.009 units remaining) [ {} (Pair {} (Some False)) ] - - location: 30 (remaining gas: 1039985.214 units remaining) + - location: 30 (remaining gas: 1039985.999 units remaining) [ (Pair {} {} (Some False)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out index 35f62dd05bf0..1b29dccb3aca 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.870 units remaining) + - location: 8 (remaining gas: 1039994.050 units remaining) [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] - - location: 8 (remaining gas: 1039993.860 units remaining) + - location: 8 (remaining gas: 1039994.040 units remaining) [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } ] - - location: 9 (remaining gas: 1039993.850 units remaining) + - location: 9 (remaining gas: 1039994.030 units remaining) [ 6 ] - - location: 10 (remaining gas: 1039993.840 units remaining) + - location: 10 (remaining gas: 1039994.020 units remaining) [ {} 6 ] - - location: 12 (remaining gas: 1039993.830 units remaining) + - location: 12 (remaining gas: 1039994.010 units remaining) [ (Pair {} 6) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out index 88fcd5005747..9447751f582c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.665 units remaining) + - location: 8 (remaining gas: 1039994.845 units remaining) [ (Pair { 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039994.655 units remaining) + - location: 8 (remaining gas: 1039994.835 units remaining) [ { 1 ; 2 ; 3 } ] - - location: 9 (remaining gas: 1039994.645 units remaining) + - location: 9 (remaining gas: 1039994.825 units remaining) [ 3 ] - - location: 10 (remaining gas: 1039994.635 units remaining) + - location: 10 (remaining gas: 1039994.815 units remaining) [ {} 3 ] - - location: 12 (remaining gas: 1039994.625 units remaining) + - location: 12 (remaining gas: 1039994.805 units remaining) [ (Pair {} 3) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out index f2be0f7ec376..e7dc590f5c8c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.195 units remaining) + - location: 8 (remaining gas: 1039995.375 units remaining) [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039995.185 units remaining) + - location: 8 (remaining gas: 1039995.365 units remaining) [ { 1 } ] - - location: 9 (remaining gas: 1039995.175 units remaining) + - location: 9 (remaining gas: 1039995.355 units remaining) [ 1 ] - - location: 10 (remaining gas: 1039995.165 units remaining) + - location: 10 (remaining gas: 1039995.345 units remaining) [ {} 1 ] - - location: 12 (remaining gas: 1039995.155 units remaining) + - location: 12 (remaining gas: 1039995.335 units remaining) [ (Pair {} 1) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out index 0176917e292f..bd3ff05764d5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.425 units remaining) + - location: 8 (remaining gas: 1039995.605 units remaining) [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039995.415 units remaining) + - location: 8 (remaining gas: 1039995.595 units remaining) [ {} ] - - location: 9 (remaining gas: 1039995.405 units remaining) + - location: 9 (remaining gas: 1039995.585 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039995.395 units remaining) + - location: 10 (remaining gas: 1039995.575 units remaining) [ {} 0 ] - - location: 12 (remaining gas: 1039995.385 units remaining) + - location: 12 (remaining gas: 1039995.565 units remaining) [ (Pair {} 0) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out index e57337d8f624..e6aa2f293527 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out @@ -7,18 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.722 units remaining) + - location: 8 (remaining gas: 1039994.947 units remaining) [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] - - location: 8 (remaining gas: 1039994.712 units remaining) + - location: 8 (remaining gas: 1039994.937 units remaining) [ 0x48656c6c6f2c20776f726c6421 ] - - location: 9 (remaining gas: 1039993.255 units remaining) + - location: 9 (remaining gas: 1039993.480 units remaining) [ 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722 ] - - location: 10 (remaining gas: 1039993.245 units remaining) + - location: 10 (remaining gas: 1039993.470 units remaining) [ (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] - - location: 11 (remaining gas: 1039993.235 units remaining) + - location: 11 (remaining gas: 1039993.460 units remaining) [ {} (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] - - location: 13 (remaining gas: 1039993.225 units remaining) + - location: 13 (remaining gas: 1039993.450 units remaining) [ (Pair {} (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out index 9bb7b629c40b..9db7974e7876 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Left (Pair 0 0)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Left (Pair 0 0)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 0 0) ] - - location: 17 (remaining gas: 1039990.664 units remaining) + - location: 17 (remaining gas: 1039991.169 units remaining) [ 0 0 ] - - location: 18 (remaining gas: 1039990.664 units remaining) + - location: 18 (remaining gas: 1039991.169 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 0)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out index 035d6a4e57c7..03d0ce2c6b20 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Left (Pair 0 1)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Left (Pair 0 1)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 0 1) ] - - location: 17 (remaining gas: 1039990.664 units remaining) + - location: 17 (remaining gas: 1039991.169 units remaining) [ 0 1 ] - - location: 18 (remaining gas: 1039990.664 units remaining) + - location: 18 (remaining gas: 1039991.169 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 0)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out index 8bcf5515773e..f8bcf94745aa 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Left (Pair 1 2)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Left (Pair 1 2)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 1 2) ] - - location: 17 (remaining gas: 1039990.664 units remaining) + - location: 17 (remaining gas: 1039991.169 units remaining) [ 1 2 ] - - location: 18 (remaining gas: 1039990.664 units remaining) + - location: 18 (remaining gas: 1039991.169 units remaining) [ 4 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 4 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 4) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 4) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 4)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out index 1c4a8c5b5c5a..433ef0926d87 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Left (Pair 15 2)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Left (Pair 15 2)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 15 2) ] - - location: 17 (remaining gas: 1039990.664 units remaining) + - location: 17 (remaining gas: 1039991.169 units remaining) [ 15 2 ] - - location: 18 (remaining gas: 1039990.664 units remaining) + - location: 18 (remaining gas: 1039991.169 units remaining) [ 60 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 60 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 60) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 60) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 60)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out index 9de9ed186478..4b40703a9cf9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Left (Pair 8 1)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Left (Pair 8 1)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 8 1) ] - - location: 17 (remaining gas: 1039990.664 units remaining) + - location: 17 (remaining gas: 1039991.169 units remaining) [ 8 1 ] - - location: 18 (remaining gas: 1039990.664 units remaining) + - location: 18 (remaining gas: 1039991.169 units remaining) [ 16 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 16 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 16) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 16) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 16)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out index 68e182c29dd8..133cbb7b17bd 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Right (Pair 0 0)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Right (Pair 0 0)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 0 0) ] - - location: 20 (remaining gas: 1039990.664 units remaining) + - location: 20 (remaining gas: 1039991.169 units remaining) [ 0 0 ] - - location: 21 (remaining gas: 1039990.664 units remaining) + - location: 21 (remaining gas: 1039991.169 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 0)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out index 383ef4579fe2..0b0dbdb11eec 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Right (Pair 0 1)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Right (Pair 0 1)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 0 1) ] - - location: 20 (remaining gas: 1039990.664 units remaining) + - location: 20 (remaining gas: 1039991.169 units remaining) [ 0 1 ] - - location: 21 (remaining gas: 1039990.664 units remaining) + - location: 21 (remaining gas: 1039991.169 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 0)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out index e679b4406281..7cfa79b6396b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Right (Pair 1 2)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Right (Pair 1 2)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 1 2) ] - - location: 20 (remaining gas: 1039990.664 units remaining) + - location: 20 (remaining gas: 1039991.169 units remaining) [ 1 2 ] - - location: 21 (remaining gas: 1039990.664 units remaining) + - location: 21 (remaining gas: 1039991.169 units remaining) [ 0 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 0)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out index d8b1b904f687..62e585c178c2 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Right (Pair 15 2)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Right (Pair 15 2)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 15 2) ] - - location: 20 (remaining gas: 1039990.664 units remaining) + - location: 20 (remaining gas: 1039991.169 units remaining) [ 15 2 ] - - location: 21 (remaining gas: 1039990.664 units remaining) + - location: 21 (remaining gas: 1039991.169 units remaining) [ 3 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 3) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 3) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 3)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out index 52449bff3695..69e01f848f3b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out @@ -7,24 +7,24 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039990.694 units remaining) + - location: 14 (remaining gas: 1039991.189 units remaining) [ (Pair (Right (Pair 8 1)) None) ] - - location: 14 (remaining gas: 1039990.684 units remaining) + - location: 14 (remaining gas: 1039991.179 units remaining) [ (Right (Pair 8 1)) ] - - location: 15 (remaining gas: 1039990.674 units remaining) + - location: 15 (remaining gas: 1039991.179 units remaining) [ (Pair 8 1) ] - - location: 20 (remaining gas: 1039990.664 units remaining) + - location: 20 (remaining gas: 1039991.169 units remaining) [ 8 1 ] - - location: 21 (remaining gas: 1039990.664 units remaining) + - location: 21 (remaining gas: 1039991.169 units remaining) [ 4 ] - - location: 15 (remaining gas: 1039990.654 units remaining) + - location: 15 (remaining gas: 1039991.159 units remaining) [ 4 ] - - location: 22 (remaining gas: 1039990.644 units remaining) + - location: 22 (remaining gas: 1039991.149 units remaining) [ (Some 4) ] - - location: 23 (remaining gas: 1039990.634 units remaining) + - location: 23 (remaining gas: 1039991.139 units remaining) [ {} (Some 4) ] - - location: 25 (remaining gas: 1039990.624 units remaining) + - location: 25 (remaining gas: 1039991.129 units remaining) [ (Pair {} (Some 4)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out index 531309997362..6b5f0f31927a 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out @@ -7,25 +7,25 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.307 units remaining) + - location: 10 (remaining gas: 1039990.802 units remaining) [ (Pair (Pair 0 0) None) ] - - location: 10 (remaining gas: 1039990.297 units remaining) + - location: 10 (remaining gas: 1039990.792 units remaining) [ (Pair 0 0) None ] - - location: 11 (remaining gas: 1039990.287 units remaining) + - location: 11 (remaining gas: 1039990.782 units remaining) [ None (Pair 0 0) ] - - location: 13 (remaining gas: 1039990.277 units remaining) + - location: 13 (remaining gas: 1039990.782 units remaining) [ (Pair 0 0) ] - - location: 15 (remaining gas: 1039990.267 units remaining) + - location: 15 (remaining gas: 1039990.772 units remaining) [ ] - - location: 16 (remaining gas: 1039990.257 units remaining) + - location: 16 (remaining gas: 1039990.762 units remaining) [ None ] - - location: 13 (remaining gas: 1039990.247 units remaining) + - location: 13 (remaining gas: 1039990.752 units remaining) [ None ] - - location: 22 (remaining gas: 1039990.237 units remaining) + - location: 22 (remaining gas: 1039990.742 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039990.227 units remaining) + - location: 24 (remaining gas: 1039990.732 units remaining) [ (Pair {} None) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" index 5120d9098c73..865f9223c97b 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.163 units remaining) + - location: 10 (remaining gas: 1039990.658 units remaining) [ (Pair (Pair 0 0) (Some "Foo")) ] - - location: 10 (remaining gas: 1039990.153 units remaining) + - location: 10 (remaining gas: 1039990.648 units remaining) [ (Pair 0 0) (Some "Foo") ] - - location: 11 (remaining gas: 1039990.143 units remaining) + - location: 11 (remaining gas: 1039990.638 units remaining) [ (Some "Foo") (Pair 0 0) ] - - location: 13 (remaining gas: 1039990.133 units remaining) + - location: 13 (remaining gas: 1039990.638 units remaining) [ "Foo" (Pair 0 0) ] - - location: 19 (remaining gas: 1039990.123 units remaining) + - location: 19 (remaining gas: 1039990.628 units remaining) [ (Pair 0 0) "Foo" ] - - location: 20 (remaining gas: 1039990.113 units remaining) + - location: 20 (remaining gas: 1039990.618 units remaining) [ 0 0 "Foo" ] - - location: 21 (remaining gas: 1039990.088 units remaining) + - location: 21 (remaining gas: 1039990.593 units remaining) [ (Some "") ] - - location: 13 (remaining gas: 1039990.078 units remaining) + - location: 13 (remaining gas: 1039990.583 units remaining) [ (Some "") ] - - location: 22 (remaining gas: 1039990.068 units remaining) + - location: 22 (remaining gas: 1039990.573 units remaining) [ {} (Some "") ] - - location: 24 (remaining gas: 1039990.058 units remaining) + - location: 24 (remaining gas: 1039990.563 units remaining) [ (Pair {} (Some "")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" index 84a38e9cfd5d..2d7ece3e11de 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.163 units remaining) + - location: 10 (remaining gas: 1039990.658 units remaining) [ (Pair (Pair 0 10) (Some "Foo")) ] - - location: 10 (remaining gas: 1039990.153 units remaining) + - location: 10 (remaining gas: 1039990.648 units remaining) [ (Pair 0 10) (Some "Foo") ] - - location: 11 (remaining gas: 1039990.143 units remaining) + - location: 11 (remaining gas: 1039990.638 units remaining) [ (Some "Foo") (Pair 0 10) ] - - location: 13 (remaining gas: 1039990.133 units remaining) + - location: 13 (remaining gas: 1039990.638 units remaining) [ "Foo" (Pair 0 10) ] - - location: 19 (remaining gas: 1039990.123 units remaining) + - location: 19 (remaining gas: 1039990.628 units remaining) [ (Pair 0 10) "Foo" ] - - location: 20 (remaining gas: 1039990.113 units remaining) + - location: 20 (remaining gas: 1039990.618 units remaining) [ 0 10 "Foo" ] - - location: 21 (remaining gas: 1039990.088 units remaining) + - location: 21 (remaining gas: 1039990.593 units remaining) [ None ] - - location: 13 (remaining gas: 1039990.078 units remaining) + - location: 13 (remaining gas: 1039990.583 units remaining) [ None ] - - location: 22 (remaining gas: 1039990.068 units remaining) + - location: 22 (remaining gas: 1039990.573 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039990.058 units remaining) + - location: 24 (remaining gas: 1039990.563 units remaining) [ (Pair {} None) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" index 31483c34d03f..5786af3552f1 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.163 units remaining) + - location: 10 (remaining gas: 1039990.658 units remaining) [ (Pair (Pair 0 2) (Some "Foo")) ] - - location: 10 (remaining gas: 1039990.153 units remaining) + - location: 10 (remaining gas: 1039990.648 units remaining) [ (Pair 0 2) (Some "Foo") ] - - location: 11 (remaining gas: 1039990.143 units remaining) + - location: 11 (remaining gas: 1039990.638 units remaining) [ (Some "Foo") (Pair 0 2) ] - - location: 13 (remaining gas: 1039990.133 units remaining) + - location: 13 (remaining gas: 1039990.638 units remaining) [ "Foo" (Pair 0 2) ] - - location: 19 (remaining gas: 1039990.123 units remaining) + - location: 19 (remaining gas: 1039990.628 units remaining) [ (Pair 0 2) "Foo" ] - - location: 20 (remaining gas: 1039990.113 units remaining) + - location: 20 (remaining gas: 1039990.618 units remaining) [ 0 2 "Foo" ] - - location: 21 (remaining gas: 1039990.088 units remaining) + - location: 21 (remaining gas: 1039990.593 units remaining) [ (Some "Fo") ] - - location: 13 (remaining gas: 1039990.078 units remaining) + - location: 13 (remaining gas: 1039990.583 units remaining) [ (Some "Fo") ] - - location: 22 (remaining gas: 1039990.068 units remaining) + - location: 22 (remaining gas: 1039990.573 units remaining) [ {} (Some "Fo") ] - - location: 24 (remaining gas: 1039990.058 units remaining) + - location: 24 (remaining gas: 1039990.563 units remaining) [ (Pair {} (Some "Fo")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" index 61f6318c2430..ccfca9ccdc82 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.163 units remaining) + - location: 10 (remaining gas: 1039990.658 units remaining) [ (Pair (Pair 1 1) (Some "Foo")) ] - - location: 10 (remaining gas: 1039990.153 units remaining) + - location: 10 (remaining gas: 1039990.648 units remaining) [ (Pair 1 1) (Some "Foo") ] - - location: 11 (remaining gas: 1039990.143 units remaining) + - location: 11 (remaining gas: 1039990.638 units remaining) [ (Some "Foo") (Pair 1 1) ] - - location: 13 (remaining gas: 1039990.133 units remaining) + - location: 13 (remaining gas: 1039990.638 units remaining) [ "Foo" (Pair 1 1) ] - - location: 19 (remaining gas: 1039990.123 units remaining) + - location: 19 (remaining gas: 1039990.628 units remaining) [ (Pair 1 1) "Foo" ] - - location: 20 (remaining gas: 1039990.113 units remaining) + - location: 20 (remaining gas: 1039990.618 units remaining) [ 1 1 "Foo" ] - - location: 21 (remaining gas: 1039990.088 units remaining) + - location: 21 (remaining gas: 1039990.593 units remaining) [ (Some "o") ] - - location: 13 (remaining gas: 1039990.078 units remaining) + - location: 13 (remaining gas: 1039990.583 units remaining) [ (Some "o") ] - - location: 22 (remaining gas: 1039990.068 units remaining) + - location: 22 (remaining gas: 1039990.573 units remaining) [ {} (Some "o") ] - - location: 24 (remaining gas: 1039990.058 units remaining) + - location: 24 (remaining gas: 1039990.563 units remaining) [ (Pair {} (Some "o")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" index 28b6a60219da..d65a7d665380 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.163 units remaining) + - location: 10 (remaining gas: 1039990.658 units remaining) [ (Pair (Pair 1 3) (Some "Foo")) ] - - location: 10 (remaining gas: 1039990.153 units remaining) + - location: 10 (remaining gas: 1039990.648 units remaining) [ (Pair 1 3) (Some "Foo") ] - - location: 11 (remaining gas: 1039990.143 units remaining) + - location: 11 (remaining gas: 1039990.638 units remaining) [ (Some "Foo") (Pair 1 3) ] - - location: 13 (remaining gas: 1039990.133 units remaining) + - location: 13 (remaining gas: 1039990.638 units remaining) [ "Foo" (Pair 1 3) ] - - location: 19 (remaining gas: 1039990.123 units remaining) + - location: 19 (remaining gas: 1039990.628 units remaining) [ (Pair 1 3) "Foo" ] - - location: 20 (remaining gas: 1039990.113 units remaining) + - location: 20 (remaining gas: 1039990.618 units remaining) [ 1 3 "Foo" ] - - location: 21 (remaining gas: 1039990.088 units remaining) + - location: 21 (remaining gas: 1039990.593 units remaining) [ None ] - - location: 13 (remaining gas: 1039990.078 units remaining) + - location: 13 (remaining gas: 1039990.583 units remaining) [ None ] - - location: 22 (remaining gas: 1039990.068 units remaining) + - location: 22 (remaining gas: 1039990.573 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039990.058 units remaining) + - location: 24 (remaining gas: 1039990.563 units remaining) [ (Pair {} None) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" index dd3606d18b3a..59c07afc1e79 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.163 units remaining) + - location: 10 (remaining gas: 1039990.658 units remaining) [ (Pair (Pair 10 5) (Some "Foo")) ] - - location: 10 (remaining gas: 1039990.153 units remaining) + - location: 10 (remaining gas: 1039990.648 units remaining) [ (Pair 10 5) (Some "Foo") ] - - location: 11 (remaining gas: 1039990.143 units remaining) + - location: 11 (remaining gas: 1039990.638 units remaining) [ (Some "Foo") (Pair 10 5) ] - - location: 13 (remaining gas: 1039990.133 units remaining) + - location: 13 (remaining gas: 1039990.638 units remaining) [ "Foo" (Pair 10 5) ] - - location: 19 (remaining gas: 1039990.123 units remaining) + - location: 19 (remaining gas: 1039990.628 units remaining) [ (Pair 10 5) "Foo" ] - - location: 20 (remaining gas: 1039990.113 units remaining) + - location: 20 (remaining gas: 1039990.618 units remaining) [ 10 5 "Foo" ] - - location: 21 (remaining gas: 1039990.088 units remaining) + - location: 21 (remaining gas: 1039990.593 units remaining) [ None ] - - location: 13 (remaining gas: 1039990.078 units remaining) + - location: 13 (remaining gas: 1039990.583 units remaining) [ None ] - - location: 22 (remaining gas: 1039990.068 units remaining) + - location: 22 (remaining gas: 1039990.573 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039990.058 units remaining) + - location: 24 (remaining gas: 1039990.563 units remaining) [ (Pair {} None) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" index f9a79a1a16ba..88f9f6096c29 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039930.193 units remaining) + - location: 10 (remaining gas: 1039930.688 units remaining) [ (Pair (Pair 1 10000) (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo")) ] - - location: 10 (remaining gas: 1039930.183 units remaining) + - location: 10 (remaining gas: 1039930.678 units remaining) [ (Pair 1 10000) (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") ] - - location: 11 (remaining gas: 1039930.173 units remaining) + - location: 11 (remaining gas: 1039930.668 units remaining) [ (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") (Pair 1 10000) ] - - location: 13 (remaining gas: 1039930.163 units remaining) + - location: 13 (remaining gas: 1039930.668 units remaining) [ "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" (Pair 1 10000) ] - - location: 19 (remaining gas: 1039930.153 units remaining) + - location: 19 (remaining gas: 1039930.658 units remaining) [ (Pair 1 10000) "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" ] - - location: 20 (remaining gas: 1039930.143 units remaining) + - location: 20 (remaining gas: 1039930.648 units remaining) [ 1 10000 "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" ] - - location: 21 (remaining gas: 1039929.743 units remaining) + - location: 21 (remaining gas: 1039930.248 units remaining) [ None ] - - location: 13 (remaining gas: 1039929.733 units remaining) + - location: 13 (remaining gas: 1039930.238 units remaining) [ None ] - - location: 22 (remaining gas: 1039929.723 units remaining) + - location: 22 (remaining gas: 1039930.228 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039929.713 units remaining) + - location: 24 (remaining gas: 1039930.218 units remaining) [ (Pair {} None) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out index c4a3f24965f9..e36e0d05491e 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out @@ -7,25 +7,25 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.307 units remaining) + - location: 10 (remaining gas: 1039990.802 units remaining) [ (Pair (Pair 0 1) None) ] - - location: 10 (remaining gas: 1039990.297 units remaining) + - location: 10 (remaining gas: 1039990.792 units remaining) [ (Pair 0 1) None ] - - location: 11 (remaining gas: 1039990.287 units remaining) + - location: 11 (remaining gas: 1039990.782 units remaining) [ None (Pair 0 1) ] - - location: 13 (remaining gas: 1039990.277 units remaining) + - location: 13 (remaining gas: 1039990.782 units remaining) [ (Pair 0 1) ] - - location: 15 (remaining gas: 1039990.267 units remaining) + - location: 15 (remaining gas: 1039990.772 units remaining) [ ] - - location: 16 (remaining gas: 1039990.257 units remaining) + - location: 16 (remaining gas: 1039990.762 units remaining) [ None ] - - location: 13 (remaining gas: 1039990.247 units remaining) + - location: 13 (remaining gas: 1039990.752 units remaining) [ None ] - - location: 22 (remaining gas: 1039990.237 units remaining) + - location: 22 (remaining gas: 1039990.742 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039990.227 units remaining) + - location: 24 (remaining gas: 1039990.732 units remaining) [ (Pair {} None) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out index 6f85dce1a173..cdc11ea1ea1b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 0 0) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 0 0) (Some 0xaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbcc) (Pair 0 0) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbcc (Pair 0 0) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 0 0) 0xaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 0 0 0xaabbcc ] - - location: 21 (remaining gas: 1039990.132 units remaining) + - location: 21 (remaining gas: 1039990.637 units remaining) [ (Some 0x) ] - - location: 13 (remaining gas: 1039990.122 units remaining) + - location: 13 (remaining gas: 1039990.627 units remaining) [ (Some 0x) ] - - location: 22 (remaining gas: 1039990.112 units remaining) + - location: 22 (remaining gas: 1039990.617 units remaining) [ {} (Some 0x) ] - - location: 24 (remaining gas: 1039990.102 units remaining) + - location: 24 (remaining gas: 1039990.607 units remaining) [ (Pair {} (Some 0x)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out index 5da1fe12d171..b8bfad0e40b9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 0 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 0 1) (Some 0xaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbcc) (Pair 0 1) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbcc (Pair 0 1) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 0 1) 0xaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 0 1 0xaabbcc ] - - location: 21 (remaining gas: 1039990.132 units remaining) + - location: 21 (remaining gas: 1039990.637 units remaining) [ (Some 0xaa) ] - - location: 13 (remaining gas: 1039990.122 units remaining) + - location: 13 (remaining gas: 1039990.627 units remaining) [ (Some 0xaa) ] - - location: 22 (remaining gas: 1039990.112 units remaining) + - location: 22 (remaining gas: 1039990.617 units remaining) [ {} (Some 0xaa) ] - - location: 24 (remaining gas: 1039990.102 units remaining) + - location: 24 (remaining gas: 1039990.607 units remaining) [ (Pair {} (Some 0xaa)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out index c596b6eb507e..8bea82e95189 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 1 1) (Some 0xaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbcc) (Pair 1 1) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbcc (Pair 1 1) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 1 1) 0xaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 1 1 0xaabbcc ] - - location: 21 (remaining gas: 1039990.132 units remaining) + - location: 21 (remaining gas: 1039990.637 units remaining) [ (Some 0xbb) ] - - location: 13 (remaining gas: 1039990.122 units remaining) + - location: 13 (remaining gas: 1039990.627 units remaining) [ (Some 0xbb) ] - - location: 22 (remaining gas: 1039990.112 units remaining) + - location: 22 (remaining gas: 1039990.617 units remaining) [ {} (Some 0xbb) ] - - location: 24 (remaining gas: 1039990.102 units remaining) + - location: 24 (remaining gas: 1039990.607 units remaining) [ (Pair {} (Some 0xbb)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out index 120f0881f65a..8214c0fa1945 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 1 1) (Some 0xaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbcc) (Pair 1 1) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbcc (Pair 1 1) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 1 1) 0xaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 1 1 0xaabbcc ] - - location: 21 (remaining gas: 1039990.132 units remaining) + - location: 21 (remaining gas: 1039990.637 units remaining) [ (Some 0xbb) ] - - location: 13 (remaining gas: 1039990.122 units remaining) + - location: 13 (remaining gas: 1039990.627 units remaining) [ (Some 0xbb) ] - - location: 22 (remaining gas: 1039990.112 units remaining) + - location: 22 (remaining gas: 1039990.617 units remaining) [ {} (Some 0xbb) ] - - location: 24 (remaining gas: 1039990.102 units remaining) + - location: 24 (remaining gas: 1039990.607 units remaining) [ (Pair {} (Some 0xbb)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out index 57f5bbd526de..fa2a12755fd5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 1 2) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 1 2) (Some 0xaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbcc) (Pair 1 2) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbcc (Pair 1 2) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 1 2) 0xaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 1 2 0xaabbcc ] - - location: 21 (remaining gas: 1039990.132 units remaining) + - location: 21 (remaining gas: 1039990.637 units remaining) [ (Some 0xbbcc) ] - - location: 13 (remaining gas: 1039990.122 units remaining) + - location: 13 (remaining gas: 1039990.627 units remaining) [ (Some 0xbbcc) ] - - location: 22 (remaining gas: 1039990.112 units remaining) + - location: 22 (remaining gas: 1039990.617 units remaining) [ {} (Some 0xbbcc) ] - - location: 24 (remaining gas: 1039990.102 units remaining) + - location: 24 (remaining gas: 1039990.607 units remaining) [ (Pair {} (Some 0xbbcc)) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out index 6b822b5b7e58..2e5442a39ea3 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out @@ -7,31 +7,31 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 1 3) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 1 3) (Some 0xaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbcc) (Pair 1 3) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbcc (Pair 1 3) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 1 3) 0xaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 1 3 0xaabbcc ] - - location: 21 (remaining gas: 1039990.132 units remaining) + - location: 21 (remaining gas: 1039990.637 units remaining) [ None ] - - location: 13 (remaining gas: 1039990.122 units remaining) + - location: 13 (remaining gas: 1039990.627 units remaining) [ None ] - - location: 22 (remaining gas: 1039990.112 units remaining) + - location: 22 (remaining gas: 1039990.617 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039990.102 units remaining) + - location: 24 (remaining gas: 1039990.607 units remaining) [ (Pair {} None) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out index 455023dc4c5a..cee682f36c3b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out @@ -7,32 +7,32 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039990.207 units remaining) + - location: 10 (remaining gas: 1039990.702 units remaining) [ (Pair (Pair 1 10000) (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc)) ] - - location: 10 (remaining gas: 1039990.197 units remaining) + - location: 10 (remaining gas: 1039990.692 units remaining) [ (Pair 1 10000) (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) ] - - location: 11 (remaining gas: 1039990.187 units remaining) + - location: 11 (remaining gas: 1039990.682 units remaining) [ (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) (Pair 1 10000) ] - - location: 13 (remaining gas: 1039990.177 units remaining) + - location: 13 (remaining gas: 1039990.682 units remaining) [ 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc (Pair 1 10000) ] - - location: 19 (remaining gas: 1039990.167 units remaining) + - location: 19 (remaining gas: 1039990.672 units remaining) [ (Pair 1 10000) 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc ] - - location: 20 (remaining gas: 1039990.157 units remaining) + - location: 20 (remaining gas: 1039990.662 units remaining) [ 1 10000 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc ] - - location: 21 (remaining gas: 1039989.757 units remaining) + - location: 21 (remaining gas: 1039990.262 units remaining) [ None ] - - location: 13 (remaining gas: 1039989.747 units remaining) + - location: 13 (remaining gas: 1039990.252 units remaining) [ None ] - - location: 22 (remaining gas: 1039989.737 units remaining) + - location: 22 (remaining gas: 1039990.242 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039989.727 units remaining) + - location: 24 (remaining gas: 1039990.232 units remaining) [ (Pair {} None) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" index 9392fa5f2d9a..255c5d36a685 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.256 units remaining) + - location: 8 (remaining gas: 1039995.436 units remaining) [ (Pair "Hello" None) ] - - location: 8 (remaining gas: 1039995.246 units remaining) + - location: 8 (remaining gas: 1039995.426 units remaining) [ "Hello" ] - - location: 9 (remaining gas: 1039995.236 units remaining) + - location: 9 (remaining gas: 1039995.416 units remaining) [ (Some "Hello") ] - - location: 10 (remaining gas: 1039995.226 units remaining) + - location: 10 (remaining gas: 1039995.406 units remaining) [ {} (Some "Hello") ] - - location: 12 (remaining gas: 1039995.216 units remaining) + - location: 12 (remaining gas: 1039995.396 units remaining) [ (Pair {} (Some "Hello")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" index 563fccd94db9..5dff047de07a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.266 units remaining) + - location: 8 (remaining gas: 1039995.446 units remaining) [ (Pair "abcd" None) ] - - location: 8 (remaining gas: 1039995.256 units remaining) + - location: 8 (remaining gas: 1039995.436 units remaining) [ "abcd" ] - - location: 9 (remaining gas: 1039995.246 units remaining) + - location: 9 (remaining gas: 1039995.426 units remaining) [ (Some "abcd") ] - - location: 10 (remaining gas: 1039995.236 units remaining) + - location: 10 (remaining gas: 1039995.416 units remaining) [ {} (Some "abcd") ] - - location: 12 (remaining gas: 1039995.226 units remaining) + - location: 12 (remaining gas: 1039995.406 units remaining) [ (Pair {} (Some "abcd")) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" index 0c319de51a73..67d0b063c94a 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.158 units remaining) + - location: 9 (remaining gas: 1039992.563 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" -100) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039992.148 units remaining) + - location: 9 (remaining gas: 1039992.553 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 10 (remaining gas: 1039992.138 units remaining) + - location: 10 (remaining gas: 1039992.543 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 11 (remaining gas: 1039992.533 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 12 (remaining gas: 1039992.118 units remaining) + - location: 12 (remaining gas: 1039992.533 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) ] - - location: 14 (remaining gas: 1039992.108 units remaining) + - location: 14 (remaining gas: 1039992.523 units remaining) [ -100 ] - - location: 12 (remaining gas: 1039992.088 units remaining) + - location: 12 (remaining gas: 1039992.503 units remaining) [ "1970-01-01T00:01:40Z" -100 ] - - location: 15 (remaining gas: 1039992.053 units remaining) + - location: 15 (remaining gas: 1039992.468 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 16 (remaining gas: 1039992.043 units remaining) + - location: 16 (remaining gas: 1039992.458 units remaining) [ {} "1970-01-01T00:03:20Z" ] - - location: 18 (remaining gas: 1039992.033 units remaining) + - location: 18 (remaining gas: 1039992.448 units remaining) [ (Pair {} "1970-01-01T00:03:20Z") ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" index 55f1bbbd72dd..dcec2117010e 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.158 units remaining) + - location: 9 (remaining gas: 1039992.563 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" 100) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039992.148 units remaining) + - location: 9 (remaining gas: 1039992.553 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 10 (remaining gas: 1039992.138 units remaining) + - location: 10 (remaining gas: 1039992.543 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 11 (remaining gas: 1039992.533 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 12 (remaining gas: 1039992.118 units remaining) + - location: 12 (remaining gas: 1039992.533 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) ] - - location: 14 (remaining gas: 1039992.108 units remaining) + - location: 14 (remaining gas: 1039992.523 units remaining) [ 100 ] - - location: 12 (remaining gas: 1039992.088 units remaining) + - location: 12 (remaining gas: 1039992.503 units remaining) [ "1970-01-01T00:01:40Z" 100 ] - - location: 15 (remaining gas: 1039992.053 units remaining) + - location: 15 (remaining gas: 1039992.468 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039992.043 units remaining) + - location: 16 (remaining gas: 1039992.458 units remaining) [ {} "1970-01-01T00:00:00Z" ] - - location: 18 (remaining gas: 1039992.033 units remaining) + - location: 18 (remaining gas: 1039992.448 units remaining) [ (Pair {} "1970-01-01T00:00:00Z") ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out index 10c9576da7a5..86f92c517381 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out @@ -7,28 +7,28 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.158 units remaining) + - location: 9 (remaining gas: 1039992.563 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" 2000000000000000000) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039992.148 units remaining) + - location: 9 (remaining gas: 1039992.553 units remaining) [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] - - location: 10 (remaining gas: 1039992.138 units remaining) + - location: 10 (remaining gas: 1039992.543 units remaining) [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 11 (remaining gas: 1039992.533 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] - - location: 12 (remaining gas: 1039992.118 units remaining) + - location: 12 (remaining gas: 1039992.533 units remaining) [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] - - location: 14 (remaining gas: 1039992.108 units remaining) + - location: 14 (remaining gas: 1039992.523 units remaining) [ 2000000000000000000 ] - - location: 12 (remaining gas: 1039992.088 units remaining) + - location: 12 (remaining gas: 1039992.503 units remaining) [ "1970-01-01T00:01:40Z" 2000000000000000000 ] - - location: 15 (remaining gas: 1039992.053 units remaining) + - location: 15 (remaining gas: 1039992.468 units remaining) [ -1999999999999999900 ] - - location: 16 (remaining gas: 1039992.043 units remaining) + - location: 16 (remaining gas: 1039992.458 units remaining) [ {} -1999999999999999900 ] - - location: 18 (remaining gas: 1039992.033 units remaining) + - location: 18 (remaining gas: 1039992.448 units remaining) [ (Pair {} -1999999999999999900) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out index e53d8e3e9123..34f277ac4117 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out @@ -7,65 +7,65 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039981.970 units remaining) + - location: 12 (remaining gas: 1039983.005 units remaining) [ (Pair (Pair 2000000 1000000) None) ] - - location: 12 (remaining gas: 1039981.960 units remaining) + - location: 12 (remaining gas: 1039982.995 units remaining) [ (Pair 2000000 1000000) ] - - location: 13 (remaining gas: 1039981.950 units remaining) + - location: 13 (remaining gas: 1039982.985 units remaining) [ (Pair 2000000 1000000) (Pair 2000000 1000000) ] - - location: 14 (remaining gas: 1039981.940 units remaining) + - location: 14 (remaining gas: 1039982.975 units remaining) [ (Pair 2000000 1000000) (Pair 2000000 1000000) (Pair 2000000 1000000) ] - - location: 15 (remaining gas: 1039981.930 units remaining) + - location: 15 (remaining gas: 1039982.965 units remaining) [ 2000000 (Pair 2000000 1000000) (Pair 2000000 1000000) ] - - location: 16 (remaining gas: 1039981.920 units remaining) + - location: 16 (remaining gas: 1039982.965 units remaining) [ (Pair 2000000 1000000) (Pair 2000000 1000000) ] - - location: 18 (remaining gas: 1039981.910 units remaining) + - location: 18 (remaining gas: 1039982.955 units remaining) [ 1000000 (Pair 2000000 1000000) ] - - location: 16 (remaining gas: 1039981.890 units remaining) + - location: 16 (remaining gas: 1039982.935 units remaining) [ 2000000 1000000 (Pair 2000000 1000000) ] - - location: 19 (remaining gas: 1039981.870 units remaining) + - location: 19 (remaining gas: 1039982.915 units remaining) [ 3000000 (Pair 2000000 1000000) ] - - location: 20 (remaining gas: 1039981.860 units remaining) + - location: 20 (remaining gas: 1039982.915 units remaining) [ (Pair 2000000 1000000) ] - - location: 22 (remaining gas: 1039981.850 units remaining) + - location: 22 (remaining gas: 1039982.905 units remaining) [ (Pair 2000000 1000000) (Pair 2000000 1000000) ] - - location: 23 (remaining gas: 1039981.840 units remaining) + - location: 23 (remaining gas: 1039982.895 units remaining) [ 2000000 (Pair 2000000 1000000) ] - - location: 24 (remaining gas: 1039981.830 units remaining) + - location: 24 (remaining gas: 1039982.895 units remaining) [ (Pair 2000000 1000000) ] - - location: 26 (remaining gas: 1039981.820 units remaining) + - location: 26 (remaining gas: 1039982.885 units remaining) [ 1000000 ] - - location: 24 (remaining gas: 1039981.800 units remaining) + - location: 24 (remaining gas: 1039982.865 units remaining) [ 2000000 1000000 ] - - location: 27 (remaining gas: 1039981.785 units remaining) + - location: 27 (remaining gas: 1039982.850 units remaining) [ (Some 1000000) ] - - location: 29 (remaining gas: 1039981.775 units remaining) + - location: 29 (remaining gas: 1039982.850 units remaining) [ 1000000 ] - - location: 29 (remaining gas: 1039981.765 units remaining) + - location: 29 (remaining gas: 1039982.840 units remaining) [ 1000000 ] - - location: 20 (remaining gas: 1039981.745 units remaining) + - location: 20 (remaining gas: 1039982.820 units remaining) [ 3000000 1000000 ] - - location: 35 (remaining gas: 1039981.735 units remaining) + - location: 35 (remaining gas: 1039982.810 units remaining) [ (Pair 3000000 1000000) ] - - location: 36 (remaining gas: 1039981.725 units remaining) + - location: 36 (remaining gas: 1039982.800 units remaining) [ (Some (Pair 3000000 1000000)) ] - - location: 37 (remaining gas: 1039981.715 units remaining) + - location: 37 (remaining gas: 1039982.790 units remaining) [ {} (Some (Pair 3000000 1000000)) ] - - location: 39 (remaining gas: 1039981.705 units remaining) + - location: 39 (remaining gas: 1039982.780 units remaining) [ (Pair {} (Some (Pair 3000000 1000000))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out index e56f950b5b50..12400407a76c 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out @@ -7,65 +7,65 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039981.970 units remaining) + - location: 12 (remaining gas: 1039983.005 units remaining) [ (Pair (Pair 2310000 1010000) None) ] - - location: 12 (remaining gas: 1039981.960 units remaining) + - location: 12 (remaining gas: 1039982.995 units remaining) [ (Pair 2310000 1010000) ] - - location: 13 (remaining gas: 1039981.950 units remaining) + - location: 13 (remaining gas: 1039982.985 units remaining) [ (Pair 2310000 1010000) (Pair 2310000 1010000) ] - - location: 14 (remaining gas: 1039981.940 units remaining) + - location: 14 (remaining gas: 1039982.975 units remaining) [ (Pair 2310000 1010000) (Pair 2310000 1010000) (Pair 2310000 1010000) ] - - location: 15 (remaining gas: 1039981.930 units remaining) + - location: 15 (remaining gas: 1039982.965 units remaining) [ 2310000 (Pair 2310000 1010000) (Pair 2310000 1010000) ] - - location: 16 (remaining gas: 1039981.920 units remaining) + - location: 16 (remaining gas: 1039982.965 units remaining) [ (Pair 2310000 1010000) (Pair 2310000 1010000) ] - - location: 18 (remaining gas: 1039981.910 units remaining) + - location: 18 (remaining gas: 1039982.955 units remaining) [ 1010000 (Pair 2310000 1010000) ] - - location: 16 (remaining gas: 1039981.890 units remaining) + - location: 16 (remaining gas: 1039982.935 units remaining) [ 2310000 1010000 (Pair 2310000 1010000) ] - - location: 19 (remaining gas: 1039981.870 units remaining) + - location: 19 (remaining gas: 1039982.915 units remaining) [ 3320000 (Pair 2310000 1010000) ] - - location: 20 (remaining gas: 1039981.860 units remaining) + - location: 20 (remaining gas: 1039982.915 units remaining) [ (Pair 2310000 1010000) ] - - location: 22 (remaining gas: 1039981.850 units remaining) + - location: 22 (remaining gas: 1039982.905 units remaining) [ (Pair 2310000 1010000) (Pair 2310000 1010000) ] - - location: 23 (remaining gas: 1039981.840 units remaining) + - location: 23 (remaining gas: 1039982.895 units remaining) [ 2310000 (Pair 2310000 1010000) ] - - location: 24 (remaining gas: 1039981.830 units remaining) + - location: 24 (remaining gas: 1039982.895 units remaining) [ (Pair 2310000 1010000) ] - - location: 26 (remaining gas: 1039981.820 units remaining) + - location: 26 (remaining gas: 1039982.885 units remaining) [ 1010000 ] - - location: 24 (remaining gas: 1039981.800 units remaining) + - location: 24 (remaining gas: 1039982.865 units remaining) [ 2310000 1010000 ] - - location: 27 (remaining gas: 1039981.785 units remaining) + - location: 27 (remaining gas: 1039982.850 units remaining) [ (Some 1300000) ] - - location: 29 (remaining gas: 1039981.775 units remaining) + - location: 29 (remaining gas: 1039982.850 units remaining) [ 1300000 ] - - location: 29 (remaining gas: 1039981.765 units remaining) + - location: 29 (remaining gas: 1039982.840 units remaining) [ 1300000 ] - - location: 20 (remaining gas: 1039981.745 units remaining) + - location: 20 (remaining gas: 1039982.820 units remaining) [ 3320000 1300000 ] - - location: 35 (remaining gas: 1039981.735 units remaining) + - location: 35 (remaining gas: 1039982.810 units remaining) [ (Pair 3320000 1300000) ] - - location: 36 (remaining gas: 1039981.725 units remaining) + - location: 36 (remaining gas: 1039982.800 units remaining) [ (Some (Pair 3320000 1300000)) ] - - location: 37 (remaining gas: 1039981.715 units remaining) + - location: 37 (remaining gas: 1039982.790 units remaining) [ {} (Some (Pair 3320000 1300000)) ] - - location: 39 (remaining gas: 1039981.705 units remaining) + - location: 39 (remaining gas: 1039982.780 units remaining) [ (Pair {} (Some (Pair 3320000 1300000))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out index 1694cb96743a..1e71b5f8ca50 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out @@ -7,44 +7,44 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039989.451 units remaining) + - location: 10 (remaining gas: 1039989.856 units remaining) [ (Pair (Pair 1 4 2) 0) ] - - location: 10 (remaining gas: 1039989.441 units remaining) + - location: 10 (remaining gas: 1039989.846 units remaining) [ (Pair 1 4 2) ] - - location: 11 (remaining gas: 1039989.404 units remaining) + - location: 11 (remaining gas: 1039989.809 units remaining) [ 1 4 2 ] - - location: 13 (remaining gas: 1039989.394 units remaining) + - location: 13 (remaining gas: 1039989.799 units remaining) [ 100 1 4 2 ] - - location: 16 (remaining gas: 1039989.335 units remaining) + - location: 16 (remaining gas: 1039989.740 units remaining) [ 100 4 2 ] - - location: 17 (remaining gas: 1039989.325 units remaining) + - location: 17 (remaining gas: 1039989.730 units remaining) [ 4 100 2 ] - - location: 18 (remaining gas: 1039989.315 units remaining) + - location: 18 (remaining gas: 1039989.720 units remaining) [ 10 4 100 2 ] - - location: 21 (remaining gas: 1039989.256 units remaining) + - location: 21 (remaining gas: 1039989.661 units remaining) [ 40 100 2 ] - - location: 22 (remaining gas: 1039989.221 units remaining) + - location: 22 (remaining gas: 1039989.626 units remaining) [ 140 2 ] - - location: 23 (remaining gas: 1039989.186 units remaining) + - location: 23 (remaining gas: 1039989.591 units remaining) [ 142 ] - - location: 24 (remaining gas: 1039989.176 units remaining) + - location: 24 (remaining gas: 1039989.581 units remaining) [ {} 142 ] - - location: 26 (remaining gas: 1039989.166 units remaining) + - location: 26 (remaining gas: 1039989.571 units remaining) [ (Pair {} 142) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out index cd538ac185a4..37880ab7c233 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out @@ -7,456 +7,456 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039873.694 units remaining) + - location: 7 (remaining gas: 1039872.209 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039873.684 units remaining) + - location: 7 (remaining gas: 1039872.199 units remaining) [ ] - - location: 8 (remaining gas: 1039873.674 units remaining) + - location: 8 (remaining gas: 1039872.189 units remaining) [ Unit ] - - location: 9 (remaining gas: 1039873.664 units remaining) + - location: 9 (remaining gas: 1039872.179 units remaining) [ Unit Unit ] - - location: 10 (remaining gas: 1039873.654 units remaining) + - location: 10 (remaining gas: 1039872.169 units remaining) [ (Pair Unit Unit) ] - - location: 11 (remaining gas: 1039873.644 units remaining) + - location: 11 (remaining gas: 1039872.159 units remaining) [ Unit Unit ] - - location: 12 (remaining gas: 1039873.609 units remaining) + - location: 12 (remaining gas: 1039872.124 units remaining) [ ] - - location: 14 (remaining gas: 1039873.599 units remaining) + - location: 14 (remaining gas: 1039872.114 units remaining) [ Unit ] - - location: 15 (remaining gas: 1039873.589 units remaining) + - location: 15 (remaining gas: 1039872.104 units remaining) [ Unit Unit ] - - location: 16 (remaining gas: 1039873.579 units remaining) + - location: 16 (remaining gas: 1039872.094 units remaining) [ (Pair Unit Unit) ] - - location: 17 (remaining gas: 1039873.569 units remaining) + - location: 17 (remaining gas: 1039872.084 units remaining) [ Unit Unit ] - - location: 18 (remaining gas: 1039873.534 units remaining) + - location: 18 (remaining gas: 1039872.049 units remaining) [ ] - - location: 20 (remaining gas: 1039873.524 units remaining) + - location: 20 (remaining gas: 1039872.039 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039873.514 units remaining) + - location: 21 (remaining gas: 1039872.029 units remaining) [ Unit Unit ] - - location: 22 (remaining gas: 1039873.504 units remaining) + - location: 22 (remaining gas: 1039872.019 units remaining) [ (Pair Unit Unit) ] - - location: 23 (remaining gas: 1039873.494 units remaining) + - location: 23 (remaining gas: 1039872.009 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 24 (remaining gas: 1039873.484 units remaining) + - location: 24 (remaining gas: 1039871.999 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 25 (remaining gas: 1039873.449 units remaining) + - location: 25 (remaining gas: 1039871.964 units remaining) [ (Pair Unit Unit) ] - - location: 27 (remaining gas: 1039873.439 units remaining) + - location: 27 (remaining gas: 1039871.954 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 28 (remaining gas: 1039873.429 units remaining) + - location: 28 (remaining gas: 1039871.944 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 29 (remaining gas: 1039873.394 units remaining) + - location: 29 (remaining gas: 1039871.909 units remaining) [ (Pair Unit Unit) ] - - location: 31 (remaining gas: 1039873.384 units remaining) + - location: 31 (remaining gas: 1039871.899 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 32 (remaining gas: 1039873.374 units remaining) + - location: 32 (remaining gas: 1039871.889 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 33 (remaining gas: 1039873.339 units remaining) + - location: 33 (remaining gas: 1039871.854 units remaining) [ (Pair Unit Unit) ] - - location: 35 (remaining gas: 1039873.329 units remaining) + - location: 35 (remaining gas: 1039871.844 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 36 (remaining gas: 1039873.319 units remaining) + - location: 36 (remaining gas: 1039871.834 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 37 (remaining gas: 1039873.284 units remaining) + - location: 37 (remaining gas: 1039871.799 units remaining) [ (Pair Unit Unit) ] - - location: 39 (remaining gas: 1039873.274 units remaining) + - location: 39 (remaining gas: 1039871.789 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 40 (remaining gas: 1039873.264 units remaining) + - location: 40 (remaining gas: 1039871.779 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 41 (remaining gas: 1039873.229 units remaining) + - location: 41 (remaining gas: 1039871.744 units remaining) [ (Pair Unit Unit) ] - - location: 43 (remaining gas: 1039873.219 units remaining) + - location: 43 (remaining gas: 1039871.734 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 44 (remaining gas: 1039873.209 units remaining) + - location: 44 (remaining gas: 1039871.724 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 45 (remaining gas: 1039873.174 units remaining) + - location: 45 (remaining gas: 1039871.689 units remaining) [ (Pair Unit Unit) ] - - location: 47 (remaining gas: 1039873.164 units remaining) + - location: 47 (remaining gas: 1039871.679 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 48 (remaining gas: 1039873.154 units remaining) + - location: 48 (remaining gas: 1039871.669 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 49 (remaining gas: 1039873.119 units remaining) + - location: 49 (remaining gas: 1039871.634 units remaining) [ (Pair Unit Unit) ] - - location: 51 (remaining gas: 1039873.109 units remaining) + - location: 51 (remaining gas: 1039871.624 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 52 (remaining gas: 1039873.099 units remaining) + - location: 52 (remaining gas: 1039871.614 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 53 (remaining gas: 1039873.064 units remaining) + - location: 53 (remaining gas: 1039871.579 units remaining) [ (Pair Unit Unit) ] - - location: 55 (remaining gas: 1039873.054 units remaining) + - location: 55 (remaining gas: 1039871.569 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 56 (remaining gas: 1039873.044 units remaining) + - location: 56 (remaining gas: 1039871.559 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 57 (remaining gas: 1039873.009 units remaining) + - location: 57 (remaining gas: 1039871.524 units remaining) [ (Pair Unit Unit) ] - - location: 59 (remaining gas: 1039872.999 units remaining) + - location: 59 (remaining gas: 1039871.514 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 60 (remaining gas: 1039872.989 units remaining) + - location: 60 (remaining gas: 1039871.504 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 61 (remaining gas: 1039872.954 units remaining) + - location: 61 (remaining gas: 1039871.469 units remaining) [ (Pair Unit Unit) ] - - location: 63 (remaining gas: 1039872.944 units remaining) + - location: 63 (remaining gas: 1039871.459 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 64 (remaining gas: 1039872.934 units remaining) + - location: 64 (remaining gas: 1039871.449 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 65 (remaining gas: 1039872.899 units remaining) + - location: 65 (remaining gas: 1039871.414 units remaining) [ (Pair Unit Unit) ] - - location: 67 (remaining gas: 1039872.889 units remaining) + - location: 67 (remaining gas: 1039871.404 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 68 (remaining gas: 1039872.879 units remaining) + - location: 68 (remaining gas: 1039871.394 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 69 (remaining gas: 1039872.844 units remaining) + - location: 69 (remaining gas: 1039871.359 units remaining) [ (Pair Unit Unit) ] - - location: 71 (remaining gas: 1039872.834 units remaining) + - location: 71 (remaining gas: 1039871.349 units remaining) [ ] - - location: 72 (remaining gas: 1039872.824 units remaining) + - location: 72 (remaining gas: 1039871.339 units remaining) [ Unit ] - - location: 73 (remaining gas: 1039872.814 units remaining) + - location: 73 (remaining gas: 1039871.329 units remaining) [ Unit Unit ] - - location: 74 (remaining gas: 1039872.804 units remaining) + - location: 74 (remaining gas: 1039871.319 units remaining) [ (Pair Unit Unit) ] - - location: 75 (remaining gas: 1039872.794 units remaining) + - location: 75 (remaining gas: 1039871.309 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 76 (remaining gas: 1039872.784 units remaining) + - location: 76 (remaining gas: 1039871.299 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 77 (remaining gas: 1039872.749 units remaining) + - location: 77 (remaining gas: 1039871.264 units remaining) [ (Pair Unit Unit) ] - - location: 79 (remaining gas: 1039872.739 units remaining) + - location: 79 (remaining gas: 1039871.254 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 80 (remaining gas: 1039872.729 units remaining) + - location: 80 (remaining gas: 1039871.244 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 81 (remaining gas: 1039872.694 units remaining) + - location: 81 (remaining gas: 1039871.209 units remaining) [ (Pair Unit Unit) ] - - location: 83 (remaining gas: 1039872.684 units remaining) + - location: 83 (remaining gas: 1039871.199 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 84 (remaining gas: 1039872.674 units remaining) + - location: 84 (remaining gas: 1039871.189 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 85 (remaining gas: 1039872.639 units remaining) + - location: 85 (remaining gas: 1039871.154 units remaining) [ (Pair Unit Unit) ] - - location: 87 (remaining gas: 1039872.629 units remaining) + - location: 87 (remaining gas: 1039871.144 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 88 (remaining gas: 1039872.619 units remaining) + - location: 88 (remaining gas: 1039871.134 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 89 (remaining gas: 1039872.584 units remaining) + - location: 89 (remaining gas: 1039871.099 units remaining) [ (Pair Unit Unit) ] - - location: 91 (remaining gas: 1039872.574 units remaining) + - location: 91 (remaining gas: 1039871.089 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 92 (remaining gas: 1039872.564 units remaining) + - location: 92 (remaining gas: 1039871.079 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 93 (remaining gas: 1039872.529 units remaining) + - location: 93 (remaining gas: 1039871.044 units remaining) [ (Pair Unit Unit) ] - - location: 95 (remaining gas: 1039872.519 units remaining) + - location: 95 (remaining gas: 1039871.034 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 96 (remaining gas: 1039872.509 units remaining) + - location: 96 (remaining gas: 1039871.024 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 97 (remaining gas: 1039872.474 units remaining) + - location: 97 (remaining gas: 1039870.989 units remaining) [ (Pair Unit Unit) ] - - location: 99 (remaining gas: 1039872.464 units remaining) + - location: 99 (remaining gas: 1039870.979 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 100 (remaining gas: 1039872.454 units remaining) + - location: 100 (remaining gas: 1039870.969 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 101 (remaining gas: 1039872.419 units remaining) + - location: 101 (remaining gas: 1039870.934 units remaining) [ (Pair Unit Unit) ] - - location: 103 (remaining gas: 1039872.409 units remaining) + - location: 103 (remaining gas: 1039870.924 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 104 (remaining gas: 1039872.399 units remaining) + - location: 104 (remaining gas: 1039870.914 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 105 (remaining gas: 1039872.364 units remaining) + - location: 105 (remaining gas: 1039870.879 units remaining) [ (Pair Unit Unit) ] - - location: 107 (remaining gas: 1039872.354 units remaining) + - location: 107 (remaining gas: 1039870.869 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 108 (remaining gas: 1039872.344 units remaining) + - location: 108 (remaining gas: 1039870.859 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 109 (remaining gas: 1039872.309 units remaining) + - location: 109 (remaining gas: 1039870.824 units remaining) [ (Pair Unit Unit) ] - - location: 111 (remaining gas: 1039872.299 units remaining) + - location: 111 (remaining gas: 1039870.814 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 112 (remaining gas: 1039872.289 units remaining) + - location: 112 (remaining gas: 1039870.804 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 113 (remaining gas: 1039872.254 units remaining) + - location: 113 (remaining gas: 1039870.769 units remaining) [ (Pair Unit Unit) ] - - location: 115 (remaining gas: 1039872.244 units remaining) + - location: 115 (remaining gas: 1039870.759 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 116 (remaining gas: 1039872.234 units remaining) + - location: 116 (remaining gas: 1039870.749 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 117 (remaining gas: 1039872.199 units remaining) + - location: 117 (remaining gas: 1039870.714 units remaining) [ (Pair Unit Unit) ] - - location: 119 (remaining gas: 1039872.189 units remaining) + - location: 119 (remaining gas: 1039870.704 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 120 (remaining gas: 1039872.179 units remaining) + - location: 120 (remaining gas: 1039870.694 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 121 (remaining gas: 1039872.144 units remaining) + - location: 121 (remaining gas: 1039870.659 units remaining) [ (Pair Unit Unit) ] - - location: 123 (remaining gas: 1039872.134 units remaining) + - location: 123 (remaining gas: 1039870.649 units remaining) [ ] - - location: 124 (remaining gas: 1039872.124 units remaining) + - location: 124 (remaining gas: 1039870.639 units remaining) [ Unit ] - - location: 125 (remaining gas: 1039872.114 units remaining) + - location: 125 (remaining gas: 1039870.629 units remaining) [ Unit Unit ] - - location: 126 (remaining gas: 1039872.104 units remaining) + - location: 126 (remaining gas: 1039870.619 units remaining) [ (Pair Unit Unit) ] - - location: 127 (remaining gas: 1039872.094 units remaining) + - location: 127 (remaining gas: 1039870.609 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 128 (remaining gas: 1039872.084 units remaining) + - location: 128 (remaining gas: 1039870.599 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 129 (remaining gas: 1039872.049 units remaining) + - location: 129 (remaining gas: 1039870.564 units remaining) [ (Pair Unit Unit) ] - - location: 131 (remaining gas: 1039872.039 units remaining) + - location: 131 (remaining gas: 1039870.554 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 132 (remaining gas: 1039872.029 units remaining) + - location: 132 (remaining gas: 1039870.544 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 133 (remaining gas: 1039871.994 units remaining) + - location: 133 (remaining gas: 1039870.509 units remaining) [ (Pair Unit Unit) ] - - location: 135 (remaining gas: 1039871.984 units remaining) + - location: 135 (remaining gas: 1039870.499 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 136 (remaining gas: 1039871.974 units remaining) + - location: 136 (remaining gas: 1039870.489 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 137 (remaining gas: 1039871.939 units remaining) + - location: 137 (remaining gas: 1039870.454 units remaining) [ (Pair Unit Unit) ] - - location: 139 (remaining gas: 1039871.929 units remaining) + - location: 139 (remaining gas: 1039870.444 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 140 (remaining gas: 1039871.919 units remaining) + - location: 140 (remaining gas: 1039870.434 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 141 (remaining gas: 1039871.884 units remaining) + - location: 141 (remaining gas: 1039870.399 units remaining) [ (Pair Unit Unit) ] - - location: 143 (remaining gas: 1039871.874 units remaining) + - location: 143 (remaining gas: 1039870.389 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 144 (remaining gas: 1039871.864 units remaining) + - location: 144 (remaining gas: 1039870.379 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 145 (remaining gas: 1039871.829 units remaining) + - location: 145 (remaining gas: 1039870.344 units remaining) [ (Pair Unit Unit) ] - - location: 147 (remaining gas: 1039871.819 units remaining) + - location: 147 (remaining gas: 1039870.334 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 148 (remaining gas: 1039871.809 units remaining) + - location: 148 (remaining gas: 1039870.324 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 149 (remaining gas: 1039871.774 units remaining) + - location: 149 (remaining gas: 1039870.289 units remaining) [ (Pair Unit Unit) ] - - location: 151 (remaining gas: 1039871.764 units remaining) + - location: 151 (remaining gas: 1039870.279 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 152 (remaining gas: 1039871.754 units remaining) + - location: 152 (remaining gas: 1039870.269 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 153 (remaining gas: 1039871.719 units remaining) + - location: 153 (remaining gas: 1039870.234 units remaining) [ (Pair Unit Unit) ] - - location: 155 (remaining gas: 1039871.709 units remaining) + - location: 155 (remaining gas: 1039870.224 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 156 (remaining gas: 1039871.699 units remaining) + - location: 156 (remaining gas: 1039870.214 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 157 (remaining gas: 1039871.664 units remaining) + - location: 157 (remaining gas: 1039870.179 units remaining) [ (Pair Unit Unit) ] - - location: 159 (remaining gas: 1039871.654 units remaining) + - location: 159 (remaining gas: 1039870.169 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 160 (remaining gas: 1039871.644 units remaining) + - location: 160 (remaining gas: 1039870.159 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 161 (remaining gas: 1039871.609 units remaining) + - location: 161 (remaining gas: 1039870.124 units remaining) [ (Pair Unit Unit) ] - - location: 163 (remaining gas: 1039871.599 units remaining) + - location: 163 (remaining gas: 1039870.114 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 164 (remaining gas: 1039871.589 units remaining) + - location: 164 (remaining gas: 1039870.104 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 165 (remaining gas: 1039871.554 units remaining) + - location: 165 (remaining gas: 1039870.069 units remaining) [ (Pair Unit Unit) ] - - location: 167 (remaining gas: 1039871.544 units remaining) + - location: 167 (remaining gas: 1039870.059 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 168 (remaining gas: 1039871.534 units remaining) + - location: 168 (remaining gas: 1039870.049 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 169 (remaining gas: 1039871.499 units remaining) + - location: 169 (remaining gas: 1039870.014 units remaining) [ (Pair Unit Unit) ] - - location: 171 (remaining gas: 1039871.489 units remaining) + - location: 171 (remaining gas: 1039870.004 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 172 (remaining gas: 1039871.479 units remaining) + - location: 172 (remaining gas: 1039869.994 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 173 (remaining gas: 1039871.444 units remaining) + - location: 173 (remaining gas: 1039869.959 units remaining) [ (Pair Unit Unit) ] - - location: 175 (remaining gas: 1039871.434 units remaining) + - location: 175 (remaining gas: 1039869.949 units remaining) [ ] - - location: 176 (remaining gas: 1039871.424 units remaining) + - location: 176 (remaining gas: 1039869.939 units remaining) [ Unit ] - - location: 177 (remaining gas: 1039871.414 units remaining) + - location: 177 (remaining gas: 1039869.929 units remaining) [ Unit Unit ] - - location: 178 (remaining gas: 1039871.404 units remaining) + - location: 178 (remaining gas: 1039869.919 units remaining) [ (Pair Unit Unit) ] - - location: 179 (remaining gas: 1039871.394 units remaining) + - location: 179 (remaining gas: 1039869.909 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 180 (remaining gas: 1039871.384 units remaining) + - location: 180 (remaining gas: 1039869.899 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 181 (remaining gas: 1039871.349 units remaining) + - location: 181 (remaining gas: 1039869.864 units remaining) [ (Pair Unit Unit) ] - - location: 183 (remaining gas: 1039871.339 units remaining) + - location: 183 (remaining gas: 1039869.854 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 184 (remaining gas: 1039871.329 units remaining) + - location: 184 (remaining gas: 1039869.844 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 185 (remaining gas: 1039871.294 units remaining) + - location: 185 (remaining gas: 1039869.809 units remaining) [ (Pair Unit Unit) ] - - location: 187 (remaining gas: 1039871.284 units remaining) + - location: 187 (remaining gas: 1039869.799 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 188 (remaining gas: 1039871.274 units remaining) + - location: 188 (remaining gas: 1039869.789 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 189 (remaining gas: 1039871.239 units remaining) + - location: 189 (remaining gas: 1039869.754 units remaining) [ (Pair Unit Unit) ] - - location: 191 (remaining gas: 1039871.229 units remaining) + - location: 191 (remaining gas: 1039869.744 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 192 (remaining gas: 1039871.219 units remaining) + - location: 192 (remaining gas: 1039869.734 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 193 (remaining gas: 1039871.184 units remaining) + - location: 193 (remaining gas: 1039869.699 units remaining) [ (Pair Unit Unit) ] - - location: 195 (remaining gas: 1039871.174 units remaining) + - location: 195 (remaining gas: 1039869.689 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 196 (remaining gas: 1039871.164 units remaining) + - location: 196 (remaining gas: 1039869.679 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 197 (remaining gas: 1039871.129 units remaining) + - location: 197 (remaining gas: 1039869.644 units remaining) [ (Pair Unit Unit) ] - - location: 199 (remaining gas: 1039871.119 units remaining) + - location: 199 (remaining gas: 1039869.634 units remaining) [ ] - - location: 200 (remaining gas: 1039871.109 units remaining) + - location: 200 (remaining gas: 1039869.624 units remaining) [ Unit ] - - location: 201 (remaining gas: 1039871.099 units remaining) + - location: 201 (remaining gas: 1039869.614 units remaining) [ Unit Unit ] - - location: 202 (remaining gas: 1039871.089 units remaining) + - location: 202 (remaining gas: 1039869.604 units remaining) [ (Pair Unit Unit) ] - - location: 203 (remaining gas: 1039871.079 units remaining) + - location: 203 (remaining gas: 1039869.594 units remaining) [ Unit Unit ] - - location: 204 (remaining gas: 1039871.044 units remaining) + - location: 204 (remaining gas: 1039869.559 units remaining) [ ] - - location: 206 (remaining gas: 1039871.034 units remaining) + - location: 206 (remaining gas: 1039869.549 units remaining) [ Unit ] - - location: 207 (remaining gas: 1039871.024 units remaining) + - location: 207 (remaining gas: 1039869.539 units remaining) [ {} Unit ] - - location: 209 (remaining gas: 1039871.014 units remaining) + - location: 209 (remaining gas: 1039869.529 units remaining) [ (Pair {} Unit) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b42f8370be.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b42f8370be.out" index dd776850a598..fe34347160db 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b42f8370be.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b42f8370be.out" @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039667.248 units remaining) + - location: 9 (remaining gas: 1039667.653 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" 0 0) ] - - location: 9 (remaining gas: 1039667.238 units remaining) + - location: 9 (remaining gas: 1039667.643 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" ] - - location: 10 (remaining gas: 1039666.633 units remaining) + - location: 10 (remaining gas: 1039667.038 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 11 (remaining gas: 1039446.087 units remaining) + - location: 11 (remaining gas: 1039446.492 units remaining) [ 4000000000000 ] - - location: 12 (remaining gas: 1039446.077 units remaining) + - location: 12 (remaining gas: 1039446.492 units remaining) [ ] - - location: 14 (remaining gas: 1039235.691 units remaining) + - location: 14 (remaining gas: 1039236.106 units remaining) [ 20000000000000 ] - - location: 12 (remaining gas: 1039235.671 units remaining) + - location: 12 (remaining gas: 1039236.086 units remaining) [ 4000000000000 20000000000000 ] - - location: 15 (remaining gas: 1039235.661 units remaining) + - location: 15 (remaining gas: 1039236.076 units remaining) [ (Pair 4000000000000 20000000000000) ] - - location: 16 (remaining gas: 1039235.651 units remaining) + - location: 16 (remaining gas: 1039236.066 units remaining) [ {} (Pair 4000000000000 20000000000000) ] - - location: 18 (remaining gas: 1039235.641 units remaining) + - location: 18 (remaining gas: 1039236.056 units remaining) [ (Pair {} 4000000000000 20000000000000) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out index 1b4db2d3c86c..f686dccb85e4 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Left (Pair False False)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Left (Pair False False)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair False False) ] - - location: 19 (remaining gas: 1039988.449 units remaining) + - location: 19 (remaining gas: 1039988.954 units remaining) [ False False ] - - location: 20 (remaining gas: 1039988.434 units remaining) + - location: 20 (remaining gas: 1039988.939 units remaining) [ False ] - - location: 21 (remaining gas: 1039988.424 units remaining) + - location: 21 (remaining gas: 1039988.929 units remaining) [ (Left False) ] - - location: 17 (remaining gas: 1039988.414 units remaining) + - location: 17 (remaining gas: 1039988.919 units remaining) [ (Left False) ] - - location: 28 (remaining gas: 1039988.404 units remaining) + - location: 28 (remaining gas: 1039988.909 units remaining) [ (Some (Left False)) ] - - location: 29 (remaining gas: 1039988.394 units remaining) + - location: 29 (remaining gas: 1039988.899 units remaining) [ {} (Some (Left False)) ] - - location: 31 (remaining gas: 1039988.384 units remaining) + - location: 31 (remaining gas: 1039988.889 units remaining) [ (Pair {} (Some (Left False))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out index fb65502e0a2f..b219d12e2609 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Left (Pair False True)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Left (Pair False True)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair False True) ] - - location: 19 (remaining gas: 1039988.449 units remaining) + - location: 19 (remaining gas: 1039988.954 units remaining) [ False True ] - - location: 20 (remaining gas: 1039988.434 units remaining) + - location: 20 (remaining gas: 1039988.939 units remaining) [ True ] - - location: 21 (remaining gas: 1039988.424 units remaining) + - location: 21 (remaining gas: 1039988.929 units remaining) [ (Left True) ] - - location: 17 (remaining gas: 1039988.414 units remaining) + - location: 17 (remaining gas: 1039988.919 units remaining) [ (Left True) ] - - location: 28 (remaining gas: 1039988.404 units remaining) + - location: 28 (remaining gas: 1039988.909 units remaining) [ (Some (Left True)) ] - - location: 29 (remaining gas: 1039988.394 units remaining) + - location: 29 (remaining gas: 1039988.899 units remaining) [ {} (Some (Left True)) ] - - location: 31 (remaining gas: 1039988.384 units remaining) + - location: 31 (remaining gas: 1039988.889 units remaining) [ (Pair {} (Some (Left True))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out index 9ec679a52227..b58fe3328706 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Left (Pair True False)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Left (Pair True False)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair True False) ] - - location: 19 (remaining gas: 1039988.449 units remaining) + - location: 19 (remaining gas: 1039988.954 units remaining) [ True False ] - - location: 20 (remaining gas: 1039988.434 units remaining) + - location: 20 (remaining gas: 1039988.939 units remaining) [ True ] - - location: 21 (remaining gas: 1039988.424 units remaining) + - location: 21 (remaining gas: 1039988.929 units remaining) [ (Left True) ] - - location: 17 (remaining gas: 1039988.414 units remaining) + - location: 17 (remaining gas: 1039988.919 units remaining) [ (Left True) ] - - location: 28 (remaining gas: 1039988.404 units remaining) + - location: 28 (remaining gas: 1039988.909 units remaining) [ (Some (Left True)) ] - - location: 29 (remaining gas: 1039988.394 units remaining) + - location: 29 (remaining gas: 1039988.899 units remaining) [ {} (Some (Left True)) ] - - location: 31 (remaining gas: 1039988.384 units remaining) + - location: 31 (remaining gas: 1039988.889 units remaining) [ (Pair {} (Some (Left True))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out index d4f5f81b04ef..4457f68eda0d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Left (Pair True True)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Left (Pair True True)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair True True) ] - - location: 19 (remaining gas: 1039988.449 units remaining) + - location: 19 (remaining gas: 1039988.954 units remaining) [ True True ] - - location: 20 (remaining gas: 1039988.434 units remaining) + - location: 20 (remaining gas: 1039988.939 units remaining) [ False ] - - location: 21 (remaining gas: 1039988.424 units remaining) + - location: 21 (remaining gas: 1039988.929 units remaining) [ (Left False) ] - - location: 17 (remaining gas: 1039988.414 units remaining) + - location: 17 (remaining gas: 1039988.919 units remaining) [ (Left False) ] - - location: 28 (remaining gas: 1039988.404 units remaining) + - location: 28 (remaining gas: 1039988.909 units remaining) [ (Some (Left False)) ] - - location: 29 (remaining gas: 1039988.394 units remaining) + - location: 29 (remaining gas: 1039988.899 units remaining) [ {} (Some (Left False)) ] - - location: 31 (remaining gas: 1039988.384 units remaining) + - location: 31 (remaining gas: 1039988.889 units remaining) [ (Pair {} (Some (Left False))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out index a3ccecc92d9f..e4d3746412fd 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Right (Pair 0 0)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Right (Pair 0 0)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair 0 0) ] - - location: 24 (remaining gas: 1039988.449 units remaining) + - location: 24 (remaining gas: 1039988.954 units remaining) [ 0 0 ] - - location: 25 (remaining gas: 1039988.414 units remaining) + - location: 25 (remaining gas: 1039988.919 units remaining) [ 0 ] - - location: 26 (remaining gas: 1039988.404 units remaining) + - location: 26 (remaining gas: 1039988.909 units remaining) [ (Right 0) ] - - location: 17 (remaining gas: 1039988.394 units remaining) + - location: 17 (remaining gas: 1039988.899 units remaining) [ (Right 0) ] - - location: 28 (remaining gas: 1039988.384 units remaining) + - location: 28 (remaining gas: 1039988.889 units remaining) [ (Some (Right 0)) ] - - location: 29 (remaining gas: 1039988.374 units remaining) + - location: 29 (remaining gas: 1039988.879 units remaining) [ {} (Some (Right 0)) ] - - location: 31 (remaining gas: 1039988.364 units remaining) + - location: 31 (remaining gas: 1039988.869 units remaining) [ (Pair {} (Some (Right 0))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out index 53c99e0ab45b..23cefee7d25a 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Right (Pair 0 1)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Right (Pair 0 1)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair 0 1) ] - - location: 24 (remaining gas: 1039988.449 units remaining) + - location: 24 (remaining gas: 1039988.954 units remaining) [ 0 1 ] - - location: 25 (remaining gas: 1039988.414 units remaining) + - location: 25 (remaining gas: 1039988.919 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039988.404 units remaining) + - location: 26 (remaining gas: 1039988.909 units remaining) [ (Right 1) ] - - location: 17 (remaining gas: 1039988.394 units remaining) + - location: 17 (remaining gas: 1039988.899 units remaining) [ (Right 1) ] - - location: 28 (remaining gas: 1039988.384 units remaining) + - location: 28 (remaining gas: 1039988.889 units remaining) [ (Some (Right 1)) ] - - location: 29 (remaining gas: 1039988.374 units remaining) + - location: 29 (remaining gas: 1039988.879 units remaining) [ {} (Some (Right 1)) ] - - location: 31 (remaining gas: 1039988.364 units remaining) + - location: 31 (remaining gas: 1039988.869 units remaining) [ (Pair {} (Some (Right 1))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out index 861722fa99ae..5a9cca55b525 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Right (Pair 1 0)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Right (Pair 1 0)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair 1 0) ] - - location: 24 (remaining gas: 1039988.449 units remaining) + - location: 24 (remaining gas: 1039988.954 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039988.414 units remaining) + - location: 25 (remaining gas: 1039988.919 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039988.404 units remaining) + - location: 26 (remaining gas: 1039988.909 units remaining) [ (Right 1) ] - - location: 17 (remaining gas: 1039988.394 units remaining) + - location: 17 (remaining gas: 1039988.899 units remaining) [ (Right 1) ] - - location: 28 (remaining gas: 1039988.384 units remaining) + - location: 28 (remaining gas: 1039988.889 units remaining) [ (Some (Right 1)) ] - - location: 29 (remaining gas: 1039988.374 units remaining) + - location: 29 (remaining gas: 1039988.879 units remaining) [ {} (Some (Right 1)) ] - - location: 31 (remaining gas: 1039988.364 units remaining) + - location: 31 (remaining gas: 1039988.869 units remaining) [ (Pair {} (Some (Right 1))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out index a9002c7fb280..fdfd17924a05 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Right (Pair 1 1)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Right (Pair 1 1)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair 1 1) ] - - location: 24 (remaining gas: 1039988.449 units remaining) + - location: 24 (remaining gas: 1039988.954 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039988.414 units remaining) + - location: 25 (remaining gas: 1039988.919 units remaining) [ 0 ] - - location: 26 (remaining gas: 1039988.404 units remaining) + - location: 26 (remaining gas: 1039988.909 units remaining) [ (Right 0) ] - - location: 17 (remaining gas: 1039988.394 units remaining) + - location: 17 (remaining gas: 1039988.899 units remaining) [ (Right 0) ] - - location: 28 (remaining gas: 1039988.384 units remaining) + - location: 28 (remaining gas: 1039988.889 units remaining) [ (Some (Right 0)) ] - - location: 29 (remaining gas: 1039988.374 units remaining) + - location: 29 (remaining gas: 1039988.879 units remaining) [ {} (Some (Right 0)) ] - - location: 31 (remaining gas: 1039988.364 units remaining) + - location: 31 (remaining gas: 1039988.869 units remaining) [ (Pair {} (Some (Right 0))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out index 0c28491dd0f0..4bc4b71a99f8 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Right (Pair 42 21)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Right (Pair 42 21)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair 42 21) ] - - location: 24 (remaining gas: 1039988.449 units remaining) + - location: 24 (remaining gas: 1039988.954 units remaining) [ 42 21 ] - - location: 25 (remaining gas: 1039988.414 units remaining) + - location: 25 (remaining gas: 1039988.919 units remaining) [ 63 ] - - location: 26 (remaining gas: 1039988.404 units remaining) + - location: 26 (remaining gas: 1039988.909 units remaining) [ (Right 63) ] - - location: 17 (remaining gas: 1039988.394 units remaining) + - location: 17 (remaining gas: 1039988.899 units remaining) [ (Right 63) ] - - location: 28 (remaining gas: 1039988.384 units remaining) + - location: 28 (remaining gas: 1039988.889 units remaining) [ (Some (Right 63)) ] - - location: 29 (remaining gas: 1039988.374 units remaining) + - location: 29 (remaining gas: 1039988.879 units remaining) [ {} (Some (Right 63)) ] - - location: 31 (remaining gas: 1039988.364 units remaining) + - location: 31 (remaining gas: 1039988.869 units remaining) [ (Pair {} (Some (Right 63))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out index 47e92ca34293..7d36eedff836 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out @@ -7,26 +7,26 @@ emitted operations big_map diff trace - - location: 16 (remaining gas: 1039988.479 units remaining) + - location: 16 (remaining gas: 1039988.974 units remaining) [ (Pair (Right (Pair 42 63)) None) ] - - location: 16 (remaining gas: 1039988.469 units remaining) + - location: 16 (remaining gas: 1039988.964 units remaining) [ (Right (Pair 42 63)) ] - - location: 17 (remaining gas: 1039988.459 units remaining) + - location: 17 (remaining gas: 1039988.964 units remaining) [ (Pair 42 63) ] - - location: 24 (remaining gas: 1039988.449 units remaining) + - location: 24 (remaining gas: 1039988.954 units remaining) [ 42 63 ] - - location: 25 (remaining gas: 1039988.414 units remaining) + - location: 25 (remaining gas: 1039988.919 units remaining) [ 21 ] - - location: 26 (remaining gas: 1039988.404 units remaining) + - location: 26 (remaining gas: 1039988.909 units remaining) [ (Right 21) ] - - location: 17 (remaining gas: 1039988.394 units remaining) + - location: 17 (remaining gas: 1039988.899 units remaining) [ (Right 21) ] - - location: 28 (remaining gas: 1039988.384 units remaining) + - location: 28 (remaining gas: 1039988.889 units remaining) [ (Some (Right 21)) ] - - location: 29 (remaining gas: 1039988.374 units remaining) + - location: 29 (remaining gas: 1039988.879 units remaining) [ {} (Some (Right 21)) ] - - location: 31 (remaining gas: 1039988.364 units remaining) + - location: 31 (remaining gas: 1039988.869 units remaining) [ (Pair {} (Some (Right 21))) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_level.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_level.out index b5659395ed3d..3fd53e9ec357 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_level.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_level.out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039995.553 units remaining) + - location: 7 (remaining gas: 1039995.733 units remaining) [ (Pair Unit 9999999) ] - - location: 7 (remaining gas: 1039995.543 units remaining) + - location: 7 (remaining gas: 1039995.723 units remaining) [ ] - - location: 8 (remaining gas: 1039995.533 units remaining) + - location: 8 (remaining gas: 1039995.713 units remaining) [ 10 ] - - location: 9 (remaining gas: 1039995.523 units remaining) + - location: 9 (remaining gas: 1039995.703 units remaining) [ {} 10 ] - - location: 11 (remaining gas: 1039995.513 units remaining) + - location: 11 (remaining gas: 1039995.693 units remaining) [ (Pair {} 10) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_now.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_now.out index bbfbf4054996..cae17577e559 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_now.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_now.out @@ -7,15 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.723 units remaining) + - location: 7 (remaining gas: 1039994.903 units remaining) [ (Pair Unit "2017-07-13T09:19:01Z") ] - - location: 7 (remaining gas: 1039994.713 units remaining) + - location: 7 (remaining gas: 1039994.893 units remaining) [ ] - - location: 8 (remaining gas: 1039994.703 units remaining) + - location: 8 (remaining gas: 1039994.883 units remaining) [ "2021-10-13T10:16:52Z" ] - - location: 9 (remaining gas: 1039994.693 units remaining) + - location: 9 (remaining gas: 1039994.873 units remaining) [ {} "2021-10-13T10:16:52Z" ] - - location: 11 (remaining gas: 1039994.683 units remaining) + - location: 11 (remaining gas: 1039994.863 units remaining) [ (Pair {} "2021-10-13T10:16:52Z") ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out index 78a7ce3dd416..8ea5490b4403 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out @@ -7,53 +7,53 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039979.421 units remaining) + - location: 15 (remaining gas: 1039980.231 units remaining) [ (Pair (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) Unit) ] - - location: 15 (remaining gas: 1039979.411 units remaining) + - location: 15 (remaining gas: 1039980.221 units remaining) [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) ] - - location: 16 (remaining gas: 1039979.401 units remaining) + - location: 16 (remaining gas: 1039980.211 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 17 (remaining gas: 1039979.391 units remaining) + - location: 17 (remaining gas: 1039980.211 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 19 (remaining gas: 1039979.381 units remaining) + - location: 19 (remaining gas: 1039980.201 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 17 (remaining gas: 1039979.361 units remaining) + - location: 17 (remaining gas: 1039980.181 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 20 (remaining gas: 1039976.921 units remaining) + - location: 20 (remaining gas: 1039977.741 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 23 (remaining gas: 1039976.886 units remaining) + - location: 23 (remaining gas: 1039977.706 units remaining) [ 0 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 24 (remaining gas: 1039976.876 units remaining) + - location: 24 (remaining gas: 1039977.696 units remaining) [ True 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 25 (remaining gas: 1039976.866 units remaining) + - location: 25 (remaining gas: 1039977.696 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 25 (remaining gas: 1039976.856 units remaining) + - location: 25 (remaining gas: 1039977.686 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 31 (remaining gas: 1039974.118 units remaining) + - location: 31 (remaining gas: 1039974.948 units remaining) [ (Some (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 })) ] - - location: 40 (remaining gas: 1039974.108 units remaining) + - location: 40 (remaining gas: 1039974.948 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) ] - - location: 40 (remaining gas: 1039974.098 units remaining) + - location: 40 (remaining gas: 1039974.938 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) ] - - location: 46 (remaining gas: 1039974.088 units remaining) + - location: 46 (remaining gas: 1039974.928 units remaining) [ ] - - location: 47 (remaining gas: 1039974.078 units remaining) + - location: 47 (remaining gas: 1039974.918 units remaining) [ Unit ] - - location: 48 (remaining gas: 1039974.068 units remaining) + - location: 48 (remaining gas: 1039974.908 units remaining) [ {} Unit ] - - location: 50 (remaining gas: 1039974.058 units remaining) + - location: 50 (remaining gas: 1039974.898 units remaining) [ (Pair {} Unit) ] Runtime error in contract [CONTRACT_HASH]: @@ -68,38 +68,38 @@ At line 4 characters 14 to 26, script reached FAILWITH instruction with Unit trace - - location: 15 (remaining gas: 1039979.421 units remaining) + - location: 15 (remaining gas: 1039980.231 units remaining) [ (Pair (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) Unit) ] - - location: 15 (remaining gas: 1039979.411 units remaining) + - location: 15 (remaining gas: 1039980.221 units remaining) [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) ] - - location: 16 (remaining gas: 1039979.401 units remaining) + - location: 16 (remaining gas: 1039980.211 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 17 (remaining gas: 1039979.391 units remaining) + - location: 17 (remaining gas: 1039980.211 units remaining) [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 19 (remaining gas: 1039979.381 units remaining) + - location: 19 (remaining gas: 1039980.201 units remaining) [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 17 (remaining gas: 1039979.361 units remaining) + - location: 17 (remaining gas: 1039980.181 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 20 (remaining gas: 1039976.921 units remaining) + - location: 20 (remaining gas: 1039977.741 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 23 (remaining gas: 1039976.886 units remaining) + - location: 23 (remaining gas: 1039977.706 units remaining) [ -1 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 24 (remaining gas: 1039976.876 units remaining) + - location: 24 (remaining gas: 1039977.696 units remaining) [ False 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 25 (remaining gas: 1039976.866 units remaining) + - location: 25 (remaining gas: 1039977.696 units remaining) [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 29 (remaining gas: 1039976.856 units remaining) + - location: 29 (remaining gas: 1039977.686 units remaining) [ Unit 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] Fatal error: diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_add_liquidity.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_add_liquidity.out index 69e8f29edb90..b0ff68a4b2c9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_add_liquidity.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_add_liquidity.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_add_liquidity Node is bootstrapped. -Estimated gas: 8521.106 units (will add 100 for safety) +Estimated gas: 8554.448 units (will add 100 for safety) Estimated storage: 141 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -12,13 +12,13 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.001218 + Fee to the baker: ꜩ0.001221 Expected counter: [EXPECTED_COUNTER] - Gas limit: 8622 + Gas limit: 8655 Storage limit: 161 bytes Balance updates: - [CONTRACT_HASH] ... -ꜩ0.001218 - payload fees(the block proposer) ....... +ꜩ0.001218 + [CONTRACT_HASH] ... -ꜩ0.001221 + payload fees(the block proposer) ....... +ꜩ0.001221 Transaction: Amount: ꜩ9001 From: [CONTRACT_HASH] @@ -34,7 +34,7 @@ This sequence of operations was run: 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4633 bytes Paid storage size diff: 3 bytes - Consumed gas: 2275.556 + Consumed gas: 2275.499 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00075 storage fees ........................... +ꜩ0.00075 @@ -58,7 +58,7 @@ This sequence of operations was run: Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 721 Storage size: 2263 bytes Paid storage size diff: 68 bytes - Consumed gas: 3065.689 + Consumed gas: 3065.632 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 storage fees ........................... +ꜩ0.017 @@ -75,7 +75,7 @@ This sequence of operations was run: Set map(2)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 72007 Storage size: 2048 bytes Paid storage size diff: 70 bytes - Consumed gas: 3179.861 + Consumed gas: 3213.317 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0175 storage fees ........................... +ꜩ0.0175 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approval.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approval.out index 0deab38e572d..af6780a16bbc 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approval.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approval.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_approval Node is bootstrapped. -Estimated gas: 1679.846 units (will add 100 for safety) +Estimated gas: 1679.789 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c)] to 1000 Storage size: 2116 bytes Paid storage size diff: 68 bytes - Consumed gas: 1679.846 + Consumed gas: 1679.789 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 storage fees ........................... +ꜩ0.017 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approved_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approved_transfer.out index c5fac1f50e3e..119bfcd7fff9 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approved_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_approved_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_approved_transfer Node is bootstrapped. -Estimated gas: 3044.233 units (will add 100 for safety) +Estimated gas: 3044.176 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -36,6 +36,6 @@ This sequence of operations was run: Set map(2)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 71007 Set map(2)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 1000 Storage size: 2116 bytes - Consumed gas: 3044.233 + Consumed gas: 3044.176 Injected block at minimal timestamp diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve1.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve1.out index 9f577271a8f9..a2b97a3116c5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve1.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve1.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_call_approve1 Node is bootstrapped. -Estimated gas: 1679.922 units (will add 100 for safety) +Estimated gas: 1679.865 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 Storage size: 2053 bytes Paid storage size diff: 71 bytes - Consumed gas: 1679.922 + Consumed gas: 1679.865 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve2.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve2.out index 2016cdb210e5..3a9b9dfdf974 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve2.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve2.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_call_approve2 Node is bootstrapped. -Estimated gas: 1679.922 units (will add 100 for safety) +Estimated gas: 1679.865 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 Storage size: 2124 bytes Paid storage size diff: 71 bytes - Consumed gas: 1679.922 + Consumed gas: 1679.865 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve3.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve3.out index a32a6e3bca72..3f2592ec4b64 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve3.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_approve3.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_call_approve3 Node is bootstrapped. -Estimated gas: 1679.922 units (will add 100 for safety) +Estimated gas: 1679.865 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 Storage size: 2195 bytes Paid storage size diff: 71 bytes - Consumed gas: 1679.922 + Consumed gas: 1679.865 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_mint_or_burn.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_mint_or_burn.out index 1618fceb0599..3d10d78f26fc 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_mint_or_burn.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_call_mint_or_burn.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_call_mint_or_burn Node is bootstrapped. -Estimated gas: 3183.550 units (will add 100 for safety) +Estimated gas: 3217.120 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 '[BLOCK_HASH]' @@ -12,13 +12,13 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000641 + Fee to the baker: ꜩ0.000644 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3284 + Gas limit: 3318 Storage limit: 91 bytes Balance updates: - [CONTRACT_HASH] ... -ꜩ0.000641 - payload fees(the block proposer) ....... +ꜩ0.000641 + [CONTRACT_HASH] ... -ꜩ0.000644 + payload fees(the block proposer) ....... +ꜩ0.000644 Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -32,7 +32,7 @@ This sequence of operations was run: Set map(0)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 100000000 Storage size: 1982 bytes Paid storage size diff: 71 bytes - Consumed gas: 3184.234 + Consumed gas: 3217.690 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_remove_liquidity.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_remove_liquidity.out index 207d522bdc3a..6297ca93821b 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_remove_liquidity.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestAddApproveTransferRemove::test_remove_liquidity.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestAddApproveTransferRemove::test_remove_liquidity Node is bootstrapped. -Estimated gas: 7519.047 units (will add 100 for safety) +Estimated gas: 7518.876 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 '[BLOCK_HASH]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001114 Expected counter: [EXPECTED_COUNTER] - Gas limit: 7620 + Gas limit: 7619 Storage limit: 87 bytes Balance updates: [CONTRACT_HASH] ... -ꜩ0.001114 @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4633 bytes - Consumed gas: 2277.706 + Consumed gas: 2277.649 Internal operations: Internal Transaction: Amount: ꜩ0 @@ -47,7 +47,7 @@ This sequence of operations was run: Updated big_maps: Unset map(2)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] Storage size: 2048 bytes - Consumed gas: 1873.367 + Consumed gas: 1873.310 Internal Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -63,7 +63,7 @@ This sequence of operations was run: Set map(0)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 10 Storage size: 2330 bytes Paid storage size diff: 67 bytes - Consumed gas: 2367.974 + Consumed gas: 2367.917 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01675 storage fees ........................... +ꜩ0.01675 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_add_liquidity.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_add_liquidity.out index e2738e165f07..96903ce99823 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_add_liquidity.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_add_liquidity.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_add_liquidity Node is bootstrapped. -Estimated gas: 8521.106 units (will add 100 for safety) +Estimated gas: 8554.448 units (will add 100 for safety) Estimated storage: 141 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -12,13 +12,13 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.001218 + Fee to the baker: ꜩ0.001221 Expected counter: [EXPECTED_COUNTER] - Gas limit: 8622 + Gas limit: 8655 Storage limit: 161 bytes Balance updates: - [CONTRACT_HASH] ... -ꜩ0.001218 - payload fees(the block proposer) ....... +ꜩ0.001218 + [CONTRACT_HASH] ... -ꜩ0.001221 + payload fees(the block proposer) ....... +ꜩ0.001221 Transaction: Amount: ꜩ9001 From: [CONTRACT_HASH] @@ -34,7 +34,7 @@ This sequence of operations was run: 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4633 bytes Paid storage size diff: 3 bytes - Consumed gas: 2275.556 + Consumed gas: 2275.499 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00075 storage fees ........................... +ꜩ0.00075 @@ -58,7 +58,7 @@ This sequence of operations was run: Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 721 Storage size: 2263 bytes Paid storage size diff: 68 bytes - Consumed gas: 3065.689 + Consumed gas: 3065.632 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 storage fees ........................... +ꜩ0.017 @@ -75,7 +75,7 @@ This sequence of operations was run: Set map(2)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 72007 Storage size: 2048 bytes Paid storage size diff: 70 bytes - Consumed gas: 3179.861 + Consumed gas: 3213.317 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0175 storage fees ........................... +ꜩ0.0175 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_buy_tok.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_buy_tok.out index 9adda170f74d..f19475cb43bb 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_buy_tok.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_buy_tok.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_buy_tok Node is bootstrapped. -Estimated gas: 5114.558 units (will add 100 for safety) +Estimated gas: 5114.444 units (will add 100 for safety) Estimated storage: 326 bytes added (will add 20 for safety) Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -34,7 +34,7 @@ This sequence of operations was run: 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4634 bytes Paid storage size diff: 1 bytes - Consumed gas: 1746.580 + Consumed gas: 1746.523 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00025 storage fees ........................... +ꜩ0.00025 @@ -56,7 +56,7 @@ This sequence of operations was run: Set map(0)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 360 Storage size: 2331 bytes Paid storage size diff: 68 bytes - Consumed gas: 2367.978 + Consumed gas: 2367.921 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 storage fees ........................... +ꜩ0.017 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve1.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve1.out index 46fe9c6db93e..370bbb55f44d 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve1.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve1.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_call_approve1 Node is bootstrapped. -Estimated gas: 1679.922 units (will add 100 for safety) +Estimated gas: 1679.865 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 Storage size: 2053 bytes Paid storage size diff: 71 bytes - Consumed gas: 1679.922 + Consumed gas: 1679.865 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve2.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve2.out index 943b0b083947..21e85ba88725 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve2.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve2.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_call_approve2 Node is bootstrapped. -Estimated gas: 1679.922 units (will add 100 for safety) +Estimated gas: 1679.865 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 Storage size: 2124 bytes Paid storage size diff: 71 bytes - Consumed gas: 1679.922 + Consumed gas: 1679.865 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve3.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve3.out index 83cfd7847853..6b9473d8fd0f 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve3.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_approve3.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_call_approve3 Node is bootstrapped. -Estimated gas: 1679.922 units (will add 100 for safety) +Estimated gas: 1679.865 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 '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 Storage size: 2195 bytes Paid storage size diff: 71 bytes - Consumed gas: 1679.922 + Consumed gas: 1679.865 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_mint_or_burn.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_mint_or_burn.out index 07c0380757c6..3959740c9ec5 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_mint_or_burn.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_call_mint_or_burn.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_call_mint_or_burn Node is bootstrapped. -Estimated gas: 3183.550 units (will add 100 for safety) +Estimated gas: 3217.120 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 '[BLOCK_HASH]' @@ -12,13 +12,13 @@ and/or an external block explorer to make sure that it has been included. This sequence of operations was run: Manager signed operations: From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000641 + Fee to the baker: ꜩ0.000644 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3284 + Gas limit: 3318 Storage limit: 91 bytes Balance updates: - [CONTRACT_HASH] ... -ꜩ0.000641 - payload fees(the block proposer) ....... +ꜩ0.000641 + [CONTRACT_HASH] ... -ꜩ0.000644 + payload fees(the block proposer) ....... +ꜩ0.000644 Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -32,7 +32,7 @@ This sequence of operations was run: Set map(0)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 100000000 Storage size: 1982 bytes Paid storage size diff: 71 bytes - Consumed gas: 3184.234 + Consumed gas: 3217.690 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01775 storage fees ........................... +ꜩ0.01775 diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_sell_tok.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_sell_tok.out index 2771ad0c0efd..78cefa2c7afe 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_sell_tok.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_sell_tok.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_sell_tok Node is bootstrapped. -Estimated gas: 7013.489 units (will add 100 for safety) +Estimated gas: 7013.375 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4633 bytes - Consumed gas: 1747.764 + Consumed gas: 1747.707 Internal operations: Internal Transaction: Amount: ꜩ0 @@ -51,7 +51,7 @@ This sequence of operations was run: Unset map(0)[0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6] Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 461 Storage size: 2331 bytes - Consumed gas: 3265.725 + Consumed gas: 3265.668 Internal Transaction: Amount: ꜩ3891.966034 From: [CONTRACT_HASH] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_transfer.out b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_transfer.out index 9b49737f438a..00d718087320 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_transfer.out +++ b/tests_python/tests_alpha/_regtest_outputs/test_liquidity_baking.TestTrades::test_transfer.out @@ -1,7 +1,7 @@ tests_alpha/test_liquidity_baking.py::TestTrades::test_transfer Node is bootstrapped. -Estimated gas: 2376.678 units (will add 100 for safety) +Estimated gas: 2376.621 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 '[BLOCK_HASH]' @@ -35,7 +35,7 @@ This sequence of operations was run: Set map(0)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 260 Storage size: 2399 bytes Paid storage size diff: 68 bytes - Consumed gas: 2376.678 + Consumed gas: 2376.621 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 storage fees ........................... +ꜩ0.017 -- GitLab From eb7e2631df0df82db777b517cfe72b034f90fd72 Mon Sep 17 00:00:00 2001 From: Sventimir Date: Fri, 17 Jun 2022 16:49:26 +0200 Subject: [PATCH 42/42] Proto/Michelson: Add missing docstrings. --- .../lib_protocol/script_interpreter_logging.mli | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli index a5b7ba0f0eaf..f2e26a0cef56 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_logging.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter_logging.mli @@ -79,6 +79,10 @@ val log_exit : protects us from calling this by mistake.*) val log_control : logger -> ('a, 'b, 'c, 'd) continuation -> unit +(** [instrument_cont logger sty] creates a function instrumenting + continuations starting from the stack type described by [sty]. + Instrumentation consists in wrapping inner continuations in + [KLog] continuation so that logging continues. *) val instrument_cont : logger -> ('a, 'b) stack_ty -> @@ -112,11 +116,18 @@ val log_next_kinstr : ('a, 'b, 'c, 'd) kinstr -> ('a, 'b, 'c, 'd) kinstr tzresult +(* [kinstr_final_stack_type sty instr] computes the stack type after + [instr] has been executed, assuming [sty] is the type of the stack + prior to execution. *) val kinstr_final_stack_type : ('a, 'b) stack_ty -> ('a, 'b, 'c, 'd) kinstr -> ('c, 'd) stack_ty option tzresult +(* The same as [kinstr_final_stack_type], but selects from multiple + possible execution branches. If the first instr ends with FAILWITH, + it will try the next and so on. Note that all instructions must + result in the same stack type. *) val branched_final_stack_type : ('r, 'f) ex_init_stack_ty list -> ('r, 'f) stack_ty option tzresult -- GitLab