From 18fab981f2a9738e47c888cbdb5c3c901e91b617 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 14 Apr 2021 09:10:17 +0200 Subject: [PATCH 01/69] Proto/Gas: Use a more efficient numbits in cost model Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/michelson_v1_gas.ml | 2 +- .../lib_protocol/saturation_repr.ml | 24 +++++++++++++++++++ .../lib_protocol/saturation_repr.mli | 4 ++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/michelson_v1_gas.ml b/src/proto_alpha/lib_protocol/michelson_v1_gas.ml index f23ec5bb2fa3..5874122f2d66 100644 --- a/src/proto_alpha/lib_protocol/michelson_v1_gas.ml +++ b/src/proto_alpha/lib_protocol/michelson_v1_gas.ml @@ -32,7 +32,7 @@ module S = Saturation_repr module Cost_of = struct module S_syntax = struct (* This is a good enough approximation. S.numbits 0 = 0 *) - let log2 x = S.safe_int (1 + Z.numbits (S.to_z x)) + let log2 x = S.safe_int (1 + S.numbits x) let ( + ) = S.add diff --git a/src/proto_alpha/lib_protocol/saturation_repr.ml b/src/proto_alpha/lib_protocol/saturation_repr.ml index a09c3e5c8519..329be9ce1b71 100644 --- a/src/proto_alpha/lib_protocol/saturation_repr.ml +++ b/src/proto_alpha/lib_protocol/saturation_repr.ml @@ -68,6 +68,30 @@ let saturate_if_undef = function None -> saturated | Some x -> x let safe_int x = of_int_opt x |> saturate_if_undef +let numbits x = + let x = ref x and n = ref 0 in + (let y = !x lsr 32 in + if y <> 0 then ( + n := !n + 32 ; + x := y )) ; + (let y = !x lsr 16 in + if y <> 0 then ( + n := !n + 16 ; + x := y )) ; + (let y = !x lsr 8 in + if y <> 0 then ( + n := !n + 8 ; + x := y )) ; + (let y = !x lsr 4 in + if y <> 0 then ( + n := !n + 4 ; + x := y )) ; + (let y = !x lsr 2 in + if y <> 0 then ( + n := !n + 2 ; + x := y )) ; + if !x lsr 1 <> 0 then !n + 2 else !n + !x + let zero = 0 let small_enough z = diff --git a/src/proto_alpha/lib_protocol/saturation_repr.mli b/src/proto_alpha/lib_protocol/saturation_repr.mli index 4ef8539ef8c5..01c80f0bc016 100644 --- a/src/proto_alpha/lib_protocol/saturation_repr.mli +++ b/src/proto_alpha/lib_protocol/saturation_repr.mli @@ -96,6 +96,10 @@ val max : 'a t -> 'a t -> 'a t val compare : 'a t -> 'b t -> int +(** [numbits x] returns the number of bits used in the binary representation + of [x]. *) +val numbits : 'a t -> int + (** [shift_right x y] behaves like a logical shift of [x] by [y] bits to the right. [y] must be between 0 and 63. *) val shift_right : 'a t -> int -> 'a t -- GitLab From 9ebd5aebd2991038501516e090800a73a8f4cc03 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 14 Apr 2021 09:12:13 +0200 Subject: [PATCH 02/69] Proto/Gas: Expose a more efficient interface for gas monitoring Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/alpha_context.ml | 7 +++++++ src/proto_alpha/lib_protocol/alpha_context.mli | 15 +++++++++++++-- src/proto_alpha/lib_protocol/gas_limit_repr.mli | 4 +++- src/proto_alpha/lib_protocol/raw_context.ml | 2 ++ src/proto_alpha/lib_protocol/raw_context.mli | 6 ++++++ 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/alpha_context.ml b/src/proto_alpha/lib_protocol/alpha_context.ml index 7b037b50d302..5290f07c7942 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.ml +++ b/src/proto_alpha/lib_protocol/alpha_context.ml @@ -138,6 +138,13 @@ module Gas = struct let consume = Raw_context.consume_gas + let remaining_operation_gas = Raw_context.remaining_operation_gas + + let update_remaining_operation_gas = + Raw_context.update_remaining_operation_gas + + let gas_exhausted_error = Raw_context.gas_exhausted_error + let check_enough = Raw_context.check_enough_gas let level = Raw_context.gas_level diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index af63c3c68d41..2e102605a81f 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -173,7 +173,9 @@ module Cycle : sig end module Gas : sig - module Arith : Fixed_point_repr.Safe + module Arith : + Fixed_point_repr.Safe + with type 'a t = Saturation_repr.may_saturate Saturation_repr.t type t = private Unaccounted | Limited of {remaining : Arith.fp} @@ -181,7 +183,7 @@ module Gas : sig val pp : Format.formatter -> t -> unit - type cost + type cost = Saturation_repr.may_saturate Saturation_repr.t val cost_encoding : cost Data_encoding.encoding @@ -232,6 +234,15 @@ module Gas : sig operation *) val consume : context -> cost -> context tzresult + (** Returns the current gas counter. *) + val remaining_operation_gas : context -> Arith.fp + + (** Update gas counter in the context. *) + val update_remaining_operation_gas : context -> Arith.fp -> context + + (** Triggers an error in case of gas exhaustion. *) + val gas_exhausted_error : context -> 'a tzresult + (** Checks that enough operation gas remains for the given cost *) val check_enough : context -> cost -> unit tzresult diff --git a/src/proto_alpha/lib_protocol/gas_limit_repr.mli b/src/proto_alpha/lib_protocol/gas_limit_repr.mli index 629679f49bbc..a9e26c3de1be 100644 --- a/src/proto_alpha/lib_protocol/gas_limit_repr.mli +++ b/src/proto_alpha/lib_protocol/gas_limit_repr.mli @@ -23,7 +23,9 @@ (* *) (*****************************************************************************) -module Arith : Fixed_point_repr.Full +module Arith : + Fixed_point_repr.Full + with type 'a t = Saturation_repr.may_saturate Saturation_repr.t type t = Unaccounted | Limited of {remaining : Arith.fp} diff --git a/src/proto_alpha/lib_protocol/raw_context.ml b/src/proto_alpha/lib_protocol/raw_context.ml index f7694fe57e3e..a926957b16da 100644 --- a/src/proto_alpha/lib_protocol/raw_context.ml +++ b/src/proto_alpha/lib_protocol/raw_context.ml @@ -395,6 +395,8 @@ let set_gas_limit ctxt (remaining : 'a Gas_limit_repr.Arith.t) = let set_gas_unlimited ctxt = update_unlimited_operation_gas ctxt true +let gas_exhausted_error _ctxt = error Operation_quota_exceeded + let consume_gas ctxt cost = match Gas_limit_repr.raw_consume (remaining_operation_gas ctxt) cost with | Some gas_counter -> diff --git a/src/proto_alpha/lib_protocol/raw_context.mli b/src/proto_alpha/lib_protocol/raw_context.mli index 85a882a6727b..6cd245f918b3 100644 --- a/src/proto_alpha/lib_protocol/raw_context.mli +++ b/src/proto_alpha/lib_protocol/raw_context.mli @@ -129,6 +129,12 @@ val gas_level : t -> Gas_limit_repr.t val gas_consumed : since:t -> until:t -> Gas_limit_repr.Arith.fp +val remaining_operation_gas : t -> Gas_limit_repr.Arith.fp + +val update_remaining_operation_gas : t -> Gas_limit_repr.Arith.fp -> t + +val gas_exhausted_error : t -> 'a tzresult + val block_gas_level : t -> Gas_limit_repr.Arith.fp val storage_space_to_pay : t -> Z.t option -- GitLab From e61d7c7142fb5480cdbedf6e59416235333f544b Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 14 Apr 2021 09:13:02 +0200 Subject: [PATCH 03/69] Proto/Gas: Cosmetics Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/saturation_repr.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/saturation_repr.ml b/src/proto_alpha/lib_protocol/saturation_repr.ml index 329be9ce1b71..24fd55b6d7d9 100644 --- a/src/proto_alpha/lib_protocol/saturation_repr.ml +++ b/src/proto_alpha/lib_protocol/saturation_repr.ml @@ -139,7 +139,7 @@ let scale_fast x y = let add x y = let z = x + y in - if z >= 0 then z else saturated + if Compare.Int.(z >= 0) then z else saturated let sub x y = Compare.Int.max (x - y) 0 -- GitLab From 3d6d2d3d4651c6ee1875ce66d524a45efc58c25d Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:13:01 +0200 Subject: [PATCH 04/69] Proto/Michelson: Rewrite Michelson interpreter in CPS A-Stack style Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/TEZOS_PROTOCOL | 1 + src/proto_alpha/lib_protocol/dune.inc | 5 + .../lib_protocol/script_interpreter.ml | 3246 +++++++++++------ .../lib_protocol/script_interpreter.mli | 137 +- .../lib_protocol/script_ir_translator.ml | 4 +- .../lib_protocol/script_ir_translator.mli | 2 +- .../lib_protocol/script_typed_cps_ir.ml | 2641 ++++++++++++++ .../lib_protocol/script_typed_ir.ml | 99 +- .../lib_protocol/test/test_interpretation.ml | 21 +- 9 files changed, 4933 insertions(+), 1223 deletions(-) create mode 100644 src/proto_alpha/lib_protocol/script_typed_cps_ir.ml diff --git a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL index 6a82eb356a0b..554358c0b6bb 100644 --- a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL +++ b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL @@ -72,6 +72,7 @@ "Alpha_context", "Script_typed_ir", + "Script_typed_cps_ir", "Script_tc_errors", "Michelson_v1_gas", "Script_ir_annot", diff --git a/src/proto_alpha/lib_protocol/dune.inc b/src/proto_alpha/lib_protocol/dune.inc index 969c8694bdc4..2b2f82d7388e 100644 --- a/src/proto_alpha/lib_protocol/dune.inc +++ b/src/proto_alpha/lib_protocol/dune.inc @@ -84,6 +84,7 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml + script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml @@ -175,6 +176,7 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml + script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml @@ -266,6 +268,7 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml + script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml @@ -377,6 +380,7 @@ include Tezos_raw_protocol_alpha.Main Sapling_validator Alpha_context Script_typed_ir + Script_typed_cps_ir Script_tc_errors Michelson_v1_gas Script_ir_annot @@ -504,6 +508,7 @@ include Tezos_raw_protocol_alpha.Main sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml + script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index f48c647f7fae..de4c38d312ab 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1,7 +1,7 @@ (*****************************************************************************) (* *) (* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) +(* Copyright (c) 2020 Dynamic Ledger Solutions, Inc. *) (* Copyright (c) 2020 Metastate AG *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) @@ -24,9 +24,78 @@ (* *) (*****************************************************************************) +(* + + This module implements an interpreter for Michelson. It takes the + form of a [step] function that interprets script instructions in a + dedicated abstract machine. + + The interpreter is written in a small-step style: an execution + [step] only interprets a single instruction by updating the + configuration of a dedicated abstract machine. + + This abstract machine has two components: + + - a stack to control which instructions must be executed ; and + + - a stack of values where instructions get their inputs and put + their outputs. + + In addition, the machine has access to effectful primitives to interact + with the execution environment (e.g. the tezos node). These primitives + live in the [Lwt+State+Error] monad. Hence, this interpreter produces + a computation in the [Lwt+State+Error] monad. + + This interpreter enjoys the following properties: + + - The interpreter is tail-recursive, hence it is robust to stack + overflow. This property is checked by the compiler thanks to the + [@ocaml.tailcall] annotation of each recursive calls. + + - The interpreter is type-preserving. Thanks to GADTs, the + typing rules of Michelson are statically checked by the OCaml + typechecker: a Michelson program cannot go wrong. + + - The interpreter is tagless. Thanks to GADTs, the exact shape + of the stack is known statically so the interpreter does not + have to check that the input stack has the shape expected by + the instruction to be executed. + + Outline + ======= + + This file is organized as follows: + + 1. Runtime errors: + The standard incantations to register the errors + that can be produced by this module's functions. + + 2. Gas accounting: + The function [cost_of_instr] assigns a gas consumption + to an instruction and a stack of values according to + the cost model. This function is used in the interpretation + loop. Several auxiliary functions are given to deal with + gas accounting. + + 3. Logging: + One can instrument the interpreter with logging functions. + + 4. Interpretation loop: + This is the main functionality of this module, aka the + [step] function. + + 5. Interface functions: + This part of the module builds high-level functions + on top the more basic [step] function. + + Implementation details are explained along the file. + +*) + open Alpha_context open Script open Script_typed_ir +open Script_typed_cps_ir open Script_ir_translator module S = Saturation_repr @@ -131,429 +200,2053 @@ let () = "The returned storage was too big to be serialized with the provided gas" Data_encoding.empty (function Cannot_serialize_storage -> Some () | _ -> None) - (fun () -> Cannot_serialize_storage) ; - (* Michelson Stack Overflow *) - register_error_kind - `Permanent - ~id:"michelson_v1.interp_too_many_recursive_calls" - ~title:"Too many recursive calls during interpretation" - ~description: - "Too many recursive calls were needed for interpretation of a Michelson \ - script" - Data_encoding.empty - (function Michelson_too_many_recursive_calls -> Some () | _ -> None) - (fun () -> Michelson_too_many_recursive_calls) + (fun () -> Cannot_serialize_storage) -(* ---- interpreter ---------------------------------------------------------*) +(* -module Interp_costs = Michelson_v1_gas.Cost_of.Interpreter + Control stack + ============= -let rec interp_stack_prefix_preserving_operation : - type fbef bef faft aft result. - (fbef -> (faft * result) tzresult Lwt.t) -> - (fbef, faft, bef, aft) stack_prefix_preservation_witness -> - bef -> - (aft * result) tzresult Lwt.t = - fun f n stk -> - match (n, stk) with - | ( Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix - (Prefix (Prefix (Prefix (Prefix (Prefix n))))))))))))))), - ( v0, - ( v1, - ( v2, - ( v3, - ( v4, - ( v5, - ( v6, - (v7, (v8, (v9, (va, (vb, (vc, (vd, (ve, (vf, rest))))))))) - ) ) ) ) ) ) ) ) -> - interp_stack_prefix_preserving_operation f n rest - >|=? fun (rest', result) -> - ( ( v0, - ( v1, - ( v2, - ( v3, - ( v4, - ( v5, - ( v6, - ( v7, - (v8, (v9, (va, (vb, (vc, (vd, (ve, (vf, rest')))))))) - ) ) ) ) ) ) ) ), - result ) - | (Prefix (Prefix (Prefix (Prefix n))), (v0, (v1, (v2, (v3, rest))))) -> - interp_stack_prefix_preserving_operation f n rest - >|=? fun (rest', result) -> ((v0, (v1, (v2, (v3, rest')))), result) - | (Prefix n, (v, rest)) -> - interp_stack_prefix_preserving_operation f n rest - >|=? fun (rest', result) -> ((v, rest'), result) - | (Rest, v) -> - f v - [@@coq_axiom_with_reason "gadt"] + The stack of control is a list of [kinstr]. This type is documented + in the module [Script_typed_cps_ir]. -type step_constants = { - source : Contract.t; - payer : Contract.t; - self : Contract.t; - amount : Tez.t; - chain_id : Chain_id.t; -} + Since [kinstr] denotes a list of instructions, the stack of control + can be seen as a list of instruction sequences, each representing a + form of delimited continuation (i.e. a control stack fragment). The + [continuation] GADT ensures that the input and output stack types of the + continuations are consistent. -module type STEP_LOGGER = sig - val log_interp : - context -> ('bef, 'aft) Script_typed_ir.descr -> 'bef -> unit + Loops have a special treatment because their control stack is reused + as is during the next iteration. This avoids the reallocation of a + control stack cell at each iteration. - val log_entry : context -> ('bef, 'aft) Script_typed_ir.descr -> 'bef -> unit + Higher-order iterators (i.e. MAPs and ITERs) need internal instructions + to implement [step] as a tail-recursive function. Roughly speaking, + these instructions help in decomposing the execution of [I f c] + (where [I] is an higher-order iterator over a container [c]) into + three phases: to start the iteration, to execute [f] if there are + elements to be processed in [c], and to loop. - val log_exit : context -> ('bef, 'aft) Script_typed_ir.descr -> 'aft -> unit + Dip also has a dedicated constructor in the control stack. This + allows the stack prefix to be restored after the execution of the + [Dip]'s body. - val get_log : unit -> execution_trace option tzresult Lwt.t -end + Following the same style as in [kinstr], [continuation] has four + arguments, two for each stack types. More precisely, with -type logger = (module STEP_LOGGER) + [('bef_top, 'bef, 'aft_top, 'aft) continuation] -module No_trace : STEP_LOGGER = struct - let log_interp _ctxt _descr _stack = () + we encode the fact that the stack before executing the continuation + has type [('bef_top * 'bef)] and that the stack after this execution + has type [('aft_top * 'aft)]. - let log_entry _ctxt _descr _stack = () +*) +type (_, _, _, _) continuation = + | KNil : ('r, 'f, 'r, 'f) continuation + | KCons : + ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation + -> ('a, 's, 'r, 'f) continuation + | KUndip : + 'b * ('b, 'a * 's, 'r, 'f) continuation + -> ('a, 's, 'r, 'f) continuation + | KLoop_in : + ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation + -> (bool, 'a * 's, 'r, 'f) continuation + | KLoop_in_left : + ('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 + -> ('b, 's, 'r, 'f) continuation + | KList_mapping : + ('a, 'c * 's, 'b, 'c * 's) kinstr + * 'a list + * 'b list + * int + * ('b boxed_list, 'c * 's, 'r, 'f) continuation + -> ('c, 's, 'r, 'f) continuation + | KList_mapped : + ('a, 'c * 's, 'b, 'c * 's) kinstr + * 'a list + * 'b list + * int + * ('b boxed_list, 'c * 's, 'r, 'f) continuation + -> ('b, 'c * 's, 'r, 'f) continuation + | KMap_mapping : + ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr + * ('a * 'b) list + * ('a, 'c) map + * (('a, 'c) map, 'd * 's, 'r, 'f) continuation + -> ('d, 's, 'r, 'f) continuation + | KMap_mapped : + ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr + * ('a * 'b) list + * ('a, 'c) map + * 'a + * (('a, 'c) map, 'd * 's, 'r, 'f) continuation + -> ('c, 'd * 's, 'r, 'f) continuation - let log_exit _ctxt _descr _stack = () +(* - let get_log () = return_none -end + Computing the cost of Michelson instructions + ============================================ -let cost_of_instr : type b a. (b, a) descr -> b -> Gas.cost = - fun descr stack -> - match (descr.instr, stack) with - | (Drop, _) -> - Interp_costs.drop - | (Dup, _) -> - Interp_costs.dup - | (Swap, _) -> - Interp_costs.swap - | (Const _, _) -> - Interp_costs.push - | (Cons_some, _) -> - Interp_costs.cons_some - | (Cons_none _, _) -> - Interp_costs.cons_none - | (If_none _, _) -> - Interp_costs.if_none - | (Cons_pair, _) -> - Interp_costs.cons_pair - | (Unpair, _) -> - Interp_costs.unpair - | (Car, _) -> - Interp_costs.car - | (Cdr, _) -> - Interp_costs.cdr - | (Cons_left, _) -> - Interp_costs.cons_left - | (Cons_right, _) -> - Interp_costs.cons_right - | (If_left _, _) -> - Interp_costs.if_left - | (Cons_list, _) -> - Interp_costs.cons_list - | (Nil, _) -> - Interp_costs.nil - | (If_cons _, _) -> - Interp_costs.if_cons - | (List_map _, (list, _)) -> + The function [cost_of_instr] provides a cost model for Michelson + instructions. It is used by the interpreter to track the + consumption of gas. This consumption may depend on the values + on the stack. + + *) + +module Interp_costs = Michelson_v1_gas.Cost_of.Interpreter + +let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = + fun i accu stack -> + match i with + | IList_map _ -> + let list = accu in Interp_costs.list_map list - | (List_size, _) -> - Interp_costs.list_size - | (List_iter _, (l, _)) -> - Interp_costs.list_iter l - | (Empty_set _, _) -> - Interp_costs.empty_set - | (Set_iter _, (set, _)) -> + | IList_iter _ -> + let list = accu in + Interp_costs.list_iter list + | ISet_iter _ -> + let set = accu in Interp_costs.set_iter set - | (Set_mem, (v, (set, _))) -> + | ISet_mem _ -> + let v = accu and (set, _) = stack in Interp_costs.set_mem v set - | (Set_update, (v, (_, (set, _)))) -> + | ISet_update _ -> + let v = accu and (_, (set, _)) = stack in Interp_costs.set_update v set - | (Set_size, _) -> - Interp_costs.set_size - | (Empty_map _, _) -> - Interp_costs.empty_map - | (Map_map _, (map, _)) -> + | IMap_map _ -> + let map = accu in Interp_costs.map_map map - | (Map_iter _, (map, _)) -> + | IMap_iter _ -> + let map = accu in Interp_costs.map_iter map - | (Map_mem, (v, (map, _rest))) -> + | IMap_mem _ -> + let v = accu and (map, _) = stack in Interp_costs.map_mem v map - | (Map_get, (v, (map, _rest))) -> + | IMap_get _ -> + let v = accu and (map, _) = stack in Interp_costs.map_get v map - | (Map_update, (k, (_, (map, _)))) -> + | IMap_update _ -> + let k = accu and (_, (map, _)) = stack in Interp_costs.map_update k map - | (Map_get_and_update, (k, (_, (map, _)))) -> + | IMap_get_and_update _ -> + let k = accu and (_, (map, _)) = stack in Interp_costs.map_get_and_update k map - | (Map_size, _) -> - Interp_costs.map_size - | (Empty_big_map _, _) -> - Interp_costs.empty_map - | (Big_map_mem, (_, (map, _))) -> + | IBig_map_mem _ -> + let (map, _) = stack in Interp_costs.big_map_mem map.diff - | (Big_map_get, (_, (map, _))) -> + | IBig_map_get _ -> + let (map, _) = stack in Interp_costs.big_map_get map.diff - | (Big_map_update, (_, (_, (map, _)))) -> + | IBig_map_update _ -> + let (_, (map, _)) = stack in Interp_costs.big_map_update map.diff - | (Big_map_get_and_update, (_, (_, (map, _)))) -> + | IBig_map_get_and_update _ -> + let (_, (map, _)) = stack in Interp_costs.big_map_get_and_update map.diff - | (Add_seconds_to_timestamp, (n, (t, _))) -> + | IAdd_seconds_to_timestamp _ -> + let n = accu and (t, _) = stack in Interp_costs.add_seconds_timestamp n t - | (Add_timestamp_to_seconds, (t, (n, _))) -> + | IAdd_timestamp_to_seconds _ -> + let t = accu and (n, _) = stack in Interp_costs.add_seconds_timestamp n t - | (Sub_timestamp_seconds, (t, (n, _))) -> + | ISub_timestamp_seconds _ -> + let t = accu and (n, _) = stack in Interp_costs.sub_seconds_timestamp n t - | (Diff_timestamps, (t1, (t2, _))) -> + | IDiff_timestamps _ -> + let t1 = accu and (t2, _) = stack in Interp_costs.diff_timestamps t1 t2 - | (Concat_string_pair, (x, (y, _))) -> + | IConcat_string_pair _ -> + let x = accu and (y, _) = stack in Interp_costs.concat_string_pair x y - | (Concat_string, (ss, _)) -> + | IConcat_string _ -> + let ss = accu in Interp_costs.concat_string_precheck ss - | (Slice_string, (_offset, (_length, (s, _)))) -> + | ISlice_string _ -> + let (_, (s, _)) = stack in Interp_costs.slice_string s - | (String_size, _) -> - Interp_costs.string_size - | (Concat_bytes_pair, (x, (y, _))) -> + | IConcat_bytes_pair _ -> + let x = accu and (y, _) = stack in Interp_costs.concat_bytes_pair x y - | (Concat_bytes, (ss, _)) -> + | IConcat_bytes _ -> + let ss = accu in Interp_costs.concat_string_precheck ss - | (Slice_bytes, (_offset, (_length, (s, _)))) -> + | ISlice_bytes _ -> + let (_, (s, _)) = stack in Interp_costs.slice_bytes s - | (Bytes_size, _) -> - Interp_costs.bytes_size - | (Add_tez, _) -> - Interp_costs.add_tez - | (Sub_tez, _) -> - Interp_costs.sub_tez - | (Mul_teznat, (_, (n, _))) -> + | IMul_teznat _ -> + let (n, _) = stack in Interp_costs.mul_teznat n - | (Mul_nattez, (n, (_, _))) -> + | IMul_nattez _ -> + let n = accu in Interp_costs.mul_teznat n - | (Or, _) -> - Interp_costs.bool_or - | (And, _) -> - Interp_costs.bool_and - | (Xor, _) -> - Interp_costs.bool_xor - | (Not, _) -> - Interp_costs.bool_not - | (Is_nat, _) -> - Interp_costs.is_nat - | (Abs_int, (x, _)) -> + | IAbs_int _ -> + let x = accu in Interp_costs.abs_int x - | (Int_nat, _) -> - Interp_costs.int_nat - | (Neg_int, (x, _)) -> + | INeg_int _ -> + let x = accu in Interp_costs.neg_int x - | (Neg_nat, (x, _)) -> + | INeg_nat _ -> + let x = accu in Interp_costs.neg_nat x - | (Add_intint, (x, (y, _))) -> + | IAdd_intint _ -> + let x = accu and (y, _) = stack in Interp_costs.add_bigint x y - | (Add_intnat, (x, (y, _))) -> + | IAdd_intnat _ -> + let x = accu and (y, _) = stack in Interp_costs.add_bigint x y - | (Add_natint, (x, (y, _))) -> + | IAdd_natint _ -> + let x = accu and (y, _) = stack in Interp_costs.add_bigint x y - | (Add_natnat, (x, (y, _))) -> + | IAdd_natnat _ -> + let x = accu and (y, _) = stack in Interp_costs.add_bigint x y - | (Sub_int, (x, (y, _))) -> + | ISub_int _ -> + let x = accu and (y, _) = stack in Interp_costs.sub_bigint x y - | (Mul_intint, (x, (y, _))) -> + | IMul_intint _ -> + let x = accu and (y, _) = stack in Interp_costs.mul_bigint x y - | (Mul_intnat, (x, (y, _))) -> + | IMul_intnat _ -> + let x = accu and (y, _) = stack in Interp_costs.mul_bigint x y - | (Mul_natint, (x, (y, _))) -> + | IMul_natint _ -> + let x = accu and (y, _) = stack in Interp_costs.mul_bigint x y - | (Mul_natnat, (x, (y, _))) -> + | IMul_natnat _ -> + let x = accu and (y, _) = stack in Interp_costs.mul_bigint x y - | (Ediv_teznat, (x, (y, _))) -> + | IEdiv_teznat _ -> + let x = accu and (y, _) = stack in Interp_costs.ediv_teznat x y - | (Ediv_tez, _) -> - Interp_costs.ediv_tez - | (Ediv_intint, (x, (y, _))) -> + | IEdiv_intint _ -> + let x = accu and (y, _) = stack in Interp_costs.ediv_bigint x y - | (Ediv_intnat, (x, (y, _))) -> + | IEdiv_intnat _ -> + let x = accu and (y, _) = stack in Interp_costs.ediv_bigint x y - | (Ediv_natint, (x, (y, _))) -> + | IEdiv_natint _ -> + let x = accu and (y, _) = stack in Interp_costs.ediv_bigint x y - | (Ediv_natnat, (x, (y, _))) -> + | IEdiv_natnat _ -> + let x = accu and (y, _) = stack in Interp_costs.ediv_bigint x y - | (Lsl_nat, (x, _)) -> + | ILsl_nat _ -> + let x = accu in Interp_costs.lsl_nat x - | (Lsr_nat, (x, _)) -> + | ILsr_nat _ -> + let x = accu in Interp_costs.lsr_nat x - | (Or_nat, (x, (y, _))) -> + | IOr_nat _ -> + let x = accu and (y, _) = stack in Interp_costs.or_nat x y - | (And_nat, (x, (y, _))) -> + | IAnd_nat _ -> + let x = accu and (y, _) = stack in Interp_costs.and_nat x y - | (And_int_nat, (x, (y, _))) -> + | IAnd_int_nat _ -> + let x = accu and (y, _) = stack in Interp_costs.and_nat x y - | (Xor_nat, (x, (y, _))) -> + | IXor_nat _ -> + let x = accu and (y, _) = stack in Interp_costs.xor_nat x y - | (Not_int, (x, _)) -> + | INot_int _ -> + let x = accu in Interp_costs.not_nat x - | (Not_nat, (x, _)) -> + | INot_nat _ -> + let x = accu in Interp_costs.not_nat x - | (Seq _, _) -> - Interp_costs.seq - | (If _, _) -> + | ICompare (_, ty, _) -> + let a = accu and (b, _) = stack in + Interp_costs.compare ty a b + | ICheck_signature _ -> + let key = accu and (_, (message, _)) = stack in + Interp_costs.check_signature key message + | IHash_key _ -> + let pk = accu in + Interp_costs.hash_key pk + | IBlake2b _ -> + let bytes = accu in + Interp_costs.blake2b bytes + | ISha256 _ -> + let bytes = accu in + Interp_costs.sha256 bytes + | ISha512 _ -> + let bytes = accu in + Interp_costs.sha512 bytes + | IKeccak _ -> + let bytes = accu in + Interp_costs.keccak bytes + | ISha3 _ -> + let bytes = accu in + Interp_costs.sha3 bytes + | IPairing_check_bls12_381 _ -> + let pairs = accu in + Interp_costs.pairing_check_bls12_381 pairs + | ISapling_verify_update _ -> + let tx = accu in + let inputs = List.length tx.inputs in + let outputs = List.length tx.outputs in + Interp_costs.sapling_verify_update ~inputs ~outputs + | ISplit_ticket _ -> + let ticket = accu and ((amount_a, amount_b), _) = stack in + Interp_costs.split_ticket ticket.amount amount_a amount_b + | IJoin_tickets (_, ty, _) -> + let (ticket_a, ticket_b) = accu in + Interp_costs.join_tickets ty ticket_a ticket_b + | IHalt _ -> + (* FIXME *) + Gas.free + | IDrop _ -> + Interp_costs.drop + | IDup _ -> + Interp_costs.dup + | ISwap _ -> + Interp_costs.swap + | IConst _ -> + Interp_costs.push + | ICons_some _ -> + Interp_costs.cons_some + | ICons_none _ -> + Interp_costs.cons_none + | IIf_none _ -> + Interp_costs.if_none + | ICons_pair _ -> + Interp_costs.cons_pair + | IUnpair _ -> + Interp_costs.unpair + | ICar _ -> + Interp_costs.car + | ICdr _ -> + Interp_costs.cdr + | ICons_left _ -> + Interp_costs.cons_left + | ICons_right _ -> + Interp_costs.cons_right + | IIf_left _ -> + Interp_costs.if_left + | ICons_list _ -> + Interp_costs.cons_list + | INil _ -> + Interp_costs.nil + | IIf_cons _ -> + Interp_costs.if_cons + | IList_size _ -> + Interp_costs.list_size + | IEmpty_set _ -> + Interp_costs.empty_set + | ISet_size _ -> + Interp_costs.set_size + | IEmpty_map _ -> + Interp_costs.empty_map + | IMap_size _ -> + Interp_costs.map_size + | IEmpty_big_map _ -> + Interp_costs.empty_map + | IString_size _ -> + Interp_costs.string_size + | IBytes_size _ -> + Interp_costs.bytes_size + | IAdd_tez _ -> + Interp_costs.add_tez + | ISub_tez _ -> + Interp_costs.sub_tez + | IOr _ -> + Interp_costs.bool_or + | IAnd _ -> + Interp_costs.bool_and + | IXor _ -> + Interp_costs.bool_xor + | INot _ -> + Interp_costs.bool_not + | IIs_nat _ -> + Interp_costs.is_nat + | IInt_nat _ -> + Interp_costs.int_nat + | IInt_bls12_381_fr _ -> + Interp_costs.int_bls12_381_fr + | IEdiv_tez _ -> + Interp_costs.ediv_tez + | IIf _ -> Interp_costs.if_ - | (Loop _, _) -> + | ILoop _ -> Interp_costs.loop - | (Loop_left _, _) -> + | ILoop_left _ -> Interp_costs.loop_left - | (Dip _, _) -> + | IDip _ -> Interp_costs.dip - | (Exec, _) -> + | IExec _ -> Interp_costs.exec - | (Apply _, _) -> + | IApply _ -> Interp_costs.apply - | (Lambda _, _) -> + | ILambda _ -> Interp_costs.push - | (Failwith _, _) -> + | IFailwith _ -> Gas.free - | (Nop, _) -> + | INop _ -> Interp_costs.nop - | (Compare ty, (a, (b, _))) -> - Interp_costs.compare ty a b - | (Eq, _) -> + | IEq _ -> Interp_costs.neq - | (Neq, _) -> + | INeq _ -> Interp_costs.neq - | (Lt, _) -> + | ILt _ -> Interp_costs.neq - | (Le, _) -> + | ILe _ -> Interp_costs.neq - | (Gt, _) -> + | IGt _ -> Interp_costs.neq - | (Ge, _) -> + | IGe _ -> Interp_costs.neq - | (Pack _, _) -> + | IPack _ -> Gas.free - | (Unpack _, _) -> + | IUnpack _ -> Gas.free - | (Address, _) -> + | IAddress _ -> Interp_costs.address - | (Contract _, _) -> + | IContract _ -> Interp_costs.contract - | (Transfer_tokens, _) -> + | ITransfer_tokens _ -> Interp_costs.transfer_tokens - | (Implicit_account, _) -> + | IImplicit_account _ -> Interp_costs.implicit_account - | (Set_delegate, _) -> + | ISet_delegate _ -> Interp_costs.set_delegate - | (Balance, _) -> + | IBalance _ -> Interp_costs.balance - | (Level, _) -> + | ILevel _ -> Interp_costs.level - | (Now, _) -> + | INow _ -> Interp_costs.now - | (Check_signature, (key, (_, (message, _)))) -> - Interp_costs.check_signature key message - | (Hash_key, (pk, _)) -> - Interp_costs.hash_key pk - | (Blake2b, (bytes, _)) -> - Interp_costs.blake2b bytes - | (Sha256, (bytes, _)) -> - Interp_costs.sha256 bytes - | (Sha512, (bytes, _)) -> - Interp_costs.sha512 bytes - | (Source, _) -> + | ISapling_empty_state _ -> + Interp_costs.sapling_empty_state + | ISource _ -> Interp_costs.source - | (Sender, _) -> + | ISender _ -> Interp_costs.source - | (Self _, _) -> + | ISelf _ -> Interp_costs.self - | (Self_address, _) -> + | ISelf_address _ -> Interp_costs.self - | (Amount, _) -> + | IAmount _ -> Interp_costs.amount - | (Dig (n, _), _) -> + | IDig (_, n, _, _) -> Interp_costs.dign n - | (Dug (n, _), _) -> + | IDug (_, n, _, _) -> Interp_costs.dugn n - | (Dipn (n, _, _), _) -> + | IDipn (_, n, _, _, _) -> Interp_costs.dipn n - | (Dropn (n, _), _) -> + | IDropn (_, n, _, _) -> Interp_costs.dropn n - | (ChainId, _) -> + | IChainId _ -> Interp_costs.chain_id - | (Create_contract _, _) -> + | ICreate_contract _ -> Interp_costs.create_contract - | (Never, (_, _)) -> - . - | (Voting_power, _) -> + | INever _ -> + Gas.free + | IVoting_power _ -> Interp_costs.voting_power - | (Total_voting_power, _) -> + | ITotal_voting_power _ -> Interp_costs.total_voting_power - | (Keccak, (bytes, _)) -> - Interp_costs.keccak bytes - | (Sha3, (bytes, _)) -> - Interp_costs.sha3 bytes - | (Add_bls12_381_g1, _) -> + | IAdd_bls12_381_g1 _ -> Interp_costs.add_bls12_381_g1 - | (Add_bls12_381_g2, _) -> + | IAdd_bls12_381_g2 _ -> Interp_costs.add_bls12_381_g2 - | (Add_bls12_381_fr, _) -> + | IAdd_bls12_381_fr _ -> Interp_costs.add_bls12_381_fr - | (Mul_bls12_381_g1, _) -> + | IMul_bls12_381_g1 _ -> Interp_costs.mul_bls12_381_g1 - | (Mul_bls12_381_g2, _) -> + | IMul_bls12_381_g2 _ -> Interp_costs.mul_bls12_381_g2 - | (Mul_bls12_381_fr, _) -> + | IMul_bls12_381_fr _ -> Interp_costs.mul_bls12_381_fr - | (Mul_bls12_381_fr_z, _) -> - Interp_costs.mul_bls12_381_fr_z - | (Mul_bls12_381_z_fr, _) -> - Interp_costs.mul_bls12_381_fr_z - | (Int_bls12_381_fr, _) -> - Interp_costs.int_bls12_381_fr - | (Neg_bls12_381_g1, _) -> + | INeg_bls12_381_g1 _ -> Interp_costs.neg_bls12_381_g1 - | (Neg_bls12_381_g2, _) -> + | INeg_bls12_381_g2 _ -> Interp_costs.neg_bls12_381_g2 - | (Neg_bls12_381_fr, _) -> + | INeg_bls12_381_fr _ -> Interp_costs.neg_bls12_381_fr - | (Pairing_check_bls12_381, (pairs, _)) -> - Interp_costs.pairing_check_bls12_381 pairs - | (Comb (n, _), _) -> + | IMul_bls12_381_fr_z _ -> + Interp_costs.mul_bls12_381_fr_z + | IMul_bls12_381_z_fr _ -> + Interp_costs.mul_bls12_381_fr_z + | IDup_n (_, n, _, _) -> + Interp_costs.dupn n + | IComb (_, n, _, _) -> Interp_costs.comb n - | (Uncomb (n, _), _) -> + | IUncomb (_, n, _, _) -> Interp_costs.uncomb n - | (Comb_get (n, _), _) -> + | IComb_get (_, n, _, _) -> Interp_costs.comb_get n - | (Comb_set (n, _), _) -> + | IComb_set (_, n, _, _) -> Interp_costs.comb_set n - | (Dup_n (n, _), _) -> - Interp_costs.dupn n - | (Sapling_empty_state _, _) -> - Interp_costs.sapling_empty_state - | (Sapling_verify_update, (tx, _)) -> - let inputs = List.length tx.inputs in - let outputs = List.length tx.outputs in - Interp_costs.sapling_verify_update ~inputs ~outputs - | (Ticket, _) -> + | ITicket _ -> Interp_costs.ticket - | (Read_ticket, _) -> + | IRead_ticket _ -> Interp_costs.read_ticket - | (Split_ticket, (ticket, ((amount_a, amount_b), _))) -> - Interp_costs.split_ticket ticket.amount amount_a amount_b - | (Join_tickets ty, ((ticket_a, ticket_b), _)) -> - Interp_costs.join_tickets ty ticket_a ticket_b + [@@ocaml.inline always] + +let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = + fun ks -> + match ks with + | KNil -> + Gas.free + | KCons (_, _) -> + Gas.free + | KUndip (_, _) -> + Gas.free + | KLoop_in (_, _) -> + Gas.free + | KLoop_in_left (_, _) -> + Gas.free + | KIter (_, _, _) -> + Gas.free + | KList_mapping (_, _, _, _, _) -> + Gas.free + | KList_mapped (_, _, _, _, _) -> + Gas.free + | KMap_mapping (_, _, _, _) -> + Gas.free + | KMap_mapped (_, _, _, _, _) -> + Gas.free + +(* + + Gas update and check for gas exhaustion + ======================================= + + Each instruction has a cost. The runtime subtracts this cost + to an amount of gas made available for the script execution. + + Updating the gas counter is a critical aspect to Michelson + execution because it is done at each execution step. + + For this reason, the interpreter must read and update the + gas counter as quickly as possible. Hence, the gas counter + should be stored in a machine register. To motivate the + OCaml compiler to make that choice, we represent the gas + counter as a local parameter of the execution [step] + function. + +*) + +type local_gas_counter = int + +(* + + The gas counter stored in the context is desynchronized with the + [local_gas_counter] used in the interpretation loop. When we have + to call a gas-consuming function which lives outside the + interpreter, we must update the context so that it carries an + up-to-date gas counter. Similarly, when we return from such a + function, the [local_gas_counter] must be updated as well. + + To statically track these points where the context's gas counter + must be updated, we introduce a type for outdated contexts. The + [step] function carries an [outdated_context]. When an external + function needs a [context], the typechecker points out the need for + a conversion: this forces us to either call [update_context], or + better, when this is possible, the function + [use_gas_counter_in_ctxt]. + +*) +type outdated_context = OutDatedContext of context [@@unboxed] + +let update_context local_gas_counter = function + | OutDatedContext ctxt -> + Gas.update_gas_counter ctxt (Saturation_repr.safe_int local_gas_counter) + [@@ocaml.inline always] + +let update_local_gas_counter ctxt = + (Gas.gas_counter ctxt :> int) + [@@ocaml.inline always] + +let outdated ctxt = OutDatedContext ctxt [@@ocaml.inline always] + +let context_from_outdated_context (OutDatedContext ctxt) = + ctxt + [@@ocaml.inline always] + +let use_gas_counter_in_ctxt ctxt local_gas_counter f = + let ctxt = update_context local_gas_counter ctxt in + f ctxt + >>=? fun (y, ctxt) -> return (y, outdated ctxt, update_local_gas_counter ctxt) + [@@ocaml.inline always] + +(* + + [step] calls [consume] at the beginning of each execution step. + + [consume'] is used in the implementation of [IConcat_string] + and [IConcat_bytes] because in that special cases, the cost + is expressed with respec to the final result of the concatenation. + +*) + +let update_and_check gas_counter cost = + let gas_counter = gas_counter - cost in + if Compare.Int.(gas_counter < 0) then None else Some gas_counter + [@@ocaml.inline always] + +let consume local_gas_counter k accu stack = + let cost = cost_of_instr k accu stack in + update_and_check local_gas_counter (cost :> int) + [@@ocaml.inline always] + +let consume' ctxt local_gas_counter cost = + match update_and_check local_gas_counter cost with + | None -> + Gas.gas_exhausted_error (update_context local_gas_counter ctxt) + | Some local_gas_counter -> + Ok local_gas_counter + [@@ocaml.inline always] + +let consume_control local_gas_counter ks = + let cost = cost_of_control ks in + update_and_check local_gas_counter (cost :> int) + [@@ocaml.inline always] + +(* + + Execution instrumentation + ========================= -let unpack ctxt ~ty ~bytes = + One can observe the context and the stack at some specific + points of an execution step. This feature is implemented by + calling back some [logging_function]s defined in a first + class module [STEP_LOGGER] passed as argument to the step + function. The interface documentation describes the points + where these functions are called. + +*) +type ('a, 's, 'b, 'f, 'u) logging_function = + ('a, 's, 'b, 'f) kinstr -> + context -> + Script.location -> + 'u stack_ty -> + 'u -> + unit + +module type STEP_LOGGER = sig + val log_interp : ('a, 's, 'b, 'f, 'u) logging_function + + val log_entry : ('a, 's, 'b, 'f, 'a * 's) logging_function + + val log_control : ('a, 's, 'b, 'f) continuation -> unit + + val log_exit : ('a, 's, 'b, 'f, 'u) logging_function + + val get_log : unit -> execution_trace option tzresult Lwt.t +end + +type logger = (module STEP_LOGGER) + +let log_entry (logger : logger) ctxt gas k accu stack = + let module Log = (val logger) in + let kinfo = kinfo_of_kinstr k in + let ctxt = update_context gas ctxt in + Log.log_entry k ctxt kinfo.kloc kinfo.kstack_ty (accu, stack) + +let log_exit (logger : logger) ctxt gas kprev k accu stack = + let module Log = (val logger) in + let ctxt = update_context gas ctxt in + let kinfo_prev = kinfo_of_kinstr kprev and kinfo = kinfo_of_kinstr k in + Log.log_exit k ctxt kinfo_prev.kloc kinfo.kstack_ty (accu, stack) + +let log_control (logger : logger) ks = + let module Log = (val logger) in + Log.log_control ks + +let get_log (logger : logger option) = + match logger with + | None -> + Lwt.return (Ok None) + | Some logger -> + let module Log = (val logger) in + Log.get_log () + [@@ocaml.inline always] + +(* + + Interpretation loop + =================== + + *) + +(* + + The interpreter is parameterized by a small set of values. + +*) +type step_constants = { + source : Contract.t; + payer : Contract.t; + self : Contract.t; + amount : Tez.t; + chain_id : Chain_id.t; +} + +let rec interp_stack_prefix_preserving_operation : + type fbef bef faft aft result. + (fbef -> faft * result) -> + (fbef, faft, bef, aft) stack_prefix_preservation_witness -> + bef -> + aft * result = + fun f n stk -> + match (n, stk) with + | (Prefix n, (v, rest)) -> + let (rest', result) = + interp_stack_prefix_preserving_operation f n rest + in + ((v, rest'), result) + | (Rest, v) -> + f v + +(* + + As announced earlier, the step function produces a computation in + the [Lwt+State+Error] monad. The [State] monad is implemented by + having the [context] passed as input and returned updated as + output. The [Error] monad is represented by the [tzresult] type + constructor. + + The [step] function is actually defined as an internal + tail-recursive routine of the toplevel [step]. It monitors the gas + level before executing the instruction under focus, once this is + done, it recursively calls itself on the continuation held by the + current instruction. + + For each pure instruction (i.e. that is not monadic), the + interpretation simply updates the input arguments of the [step] + function. Since these arguments are (most likely) stored in + hardware registers and since the tail-recursive calls are compiled + into direct jumps, this interpretation technique offers good + performances while saving safety thanks to a rich typing. + + For each impure instruction, the interpreter makes use of monadic + bindings to compose monadic primitives with the [step] function. + Again, we make sure that the recursive calls to [step] are tail + calls by annotating them with [@ocaml.tailcall]. + +*) +let rec run_descr : + type bef aft. + logger option -> + context * step_constants -> + (bef, aft) kdescr -> + bef -> + (aft * context) tzresult Lwt.t = + fun logger (ctxt, sc) descr stack -> + let (KDescr {kinstr; kli; klo}) = descr in + let (accu, stack) = lift kli stack in + let gas = (Gas.gas_counter ctxt :> int) in + step logger (outdated ctxt, sc) gas kinstr KNil accu stack + >>=? fun (accu, stack, ctxt, gas) -> + return (unlift klo (accu, stack), update_context gas ctxt) + +and run : + type a a' s s' b t b' t' r f. + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + (a', s', b', t') kinstr -> + (a, s, b, t) kinstr -> + (b, t, r, f) continuation -> + a -> + s -> + (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = + fun logger g gas k k' ks accu stack -> + ( match logger with + | None -> + () + | Some logger -> + let (ctxt, _) = g in + log_exit logger ctxt gas k k' accu stack ) ; + (step [@ocaml.tailcall]) logger g gas k' ks accu stack + [@@inline.always] + +and next : + type a s r f. + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + (a, s, r, f) continuation -> + a -> + s -> + (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = + fun logger ((ctxt, _) as g) gas ks0 accu stack -> + (match logger with None -> () | Some logger -> log_control logger ks0) ; + match ks0 with + | KNil -> + Lwt.return (Ok (accu, stack, ctxt, gas)) + | KCons (k, ks) -> + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | KLoop_in (ki, ks') -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + let (accu', stack') = stack in + if accu then (step [@ocaml.tailcall]) logger g gas ki ks0 accu' stack' + else (next [@ocaml.tailcall]) logger g gas ks' accu' stack' ) + | KLoop_in_left (ki, ks') -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match accu with + | L v -> + (step [@ocaml.tailcall]) logger g gas ki ks0 v stack + | R v -> + (next [@ocaml.tailcall]) logger g gas ks' v stack ) ) + | KUndip (x, ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + next logger g gas ks x (accu, stack) ) + | KIter (body, xs, ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match xs with + | [] -> + next logger g gas ks accu stack + | x :: xs -> + let ks = KIter (body, xs, ks) in + (step [@ocaml.tailcall]) logger g gas body ks x (accu, stack) ) ) + | KList_mapping (body, xs, ys, len, ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match xs with + | [] -> + let ys = {elements = List.rev ys; length = len} in + next logger g gas ks ys (accu, stack) + | x :: xs -> + let ks = KList_mapped (body, xs, ys, len, ks) in + (step [@ocaml.tailcall]) logger g gas body ks x (accu, stack) ) ) + | KList_mapped (body, xs, ys, len, ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + let ks = KList_mapping (body, xs, accu :: ys, len, ks) in + let (accu, stack) = stack in + next logger g gas ks accu stack ) + | KMap_mapping (body, xs, ys, ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match xs with + | [] -> + next logger g gas ks ys (accu, stack) + | (xk, xv) :: xs -> + let ks = KMap_mapped (body, xs, ys, xk, ks) in + let res = (xk, xv) in + let stack = (accu, stack) in + (step [@ocaml.tailcall]) logger g gas body ks res stack ) ) + | KMap_mapped (body, xs, ys, yk, ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + let ys = map_update yk (Some accu) ys in + let ks = KMap_mapping (body, xs, ys, ks) in + let (accu, stack) = stack in + next logger g gas ks accu stack ) + +and step : + type a s b t r f. + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + (a, s, b, t) kinstr -> + (b, t, r, f) continuation -> + a -> + s -> + (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = + fun logger ((ctxt, sc) as g) gas i ks accu stack -> + match consume gas i accu stack with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + ( match logger with + | None -> + () + | Some logger -> + log_entry logger ctxt gas i accu stack ) ; + match i with + | IHalt _ -> + next logger g gas ks accu stack + (* stack ops *) + | IDrop (_, k) -> + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IDup (_, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks accu (accu, stack) + | ISwap (_, k) -> + let (top, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks top (accu, stack) + | IConst (_, v, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks v (accu, stack) + (* options *) + | ICons_some (_, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks (Some accu) stack + | ICons_none (_, _, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks None (accu, stack) + | IIf_none (_, bt, bf) -> ( + match accu with + | None -> + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i bt ks accu stack + | Some v -> + (run [@ocaml.tailcall]) logger g gas i bf ks v stack ) + (* pairs *) + | ICons_pair (_, k) -> + let (b, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks (accu, b) stack + | IUnpair (_, k) -> + let (a, b) = accu in + (run [@ocaml.tailcall]) logger g gas i k ks a (b, stack) + | ICar (_, k) -> + let (a, _) = accu in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + | ICdr (_, k) -> + let (_, b) = accu in + (run [@ocaml.tailcall]) logger g gas i k ks b stack + (* unions *) + | ICons_left (_, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks (L accu) stack + | ICons_right (_, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks (R accu) stack + | IIf_left (_, bl, br) -> ( + match accu with + | L v -> + (run [@ocaml.tailcall]) logger g gas i bl ks v stack + | R v -> + (run [@ocaml.tailcall]) logger g gas i br ks v stack ) + (* lists *) + | ICons_list (_, k) -> + let (tl, stack) = stack in + let accu = list_cons accu tl in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | INil (_, k) -> + let stack = (accu, stack) in + let accu = list_empty in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IIf_cons (_, bc, bn) -> ( + match accu.elements with + | [] -> + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i bn ks accu stack + | hd :: tl -> + let tl = {elements = tl; length = accu.length - 1} in + (run [@ocaml.tailcall]) logger g gas i bc ks hd (tl, stack) ) + | IList_map (_, body, k) -> + let xs = accu.elements in + let ys = [] in + let len = accu.length in + let ks = KList_mapping (body, xs, ys, len, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IList_size (_, k) -> + let list = accu in + let len = Script_int.(abs (of_int list.length)) in + (run [@ocaml.tailcall]) logger g gas i k ks len stack + | IList_iter (_, body, k) -> + let xs = accu.elements in + let ks = KIter (body, xs, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + (* sets *) + | IEmpty_set (_, ty, k) -> + let res = empty_set ty in + let stack = (accu, stack) in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ISet_iter (_, body, k) -> + let set = accu in + let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in + let ks = KIter (body, l, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | ISet_mem (_, k) -> + let (set, stack) = stack in + let res = set_mem accu set in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ISet_update (_, k) -> + let (presence, (set, stack)) = stack in + let res = set_update accu presence set in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ISet_size (_, k) -> + let res = set_size accu in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + (* maps *) + | IEmpty_map (_, ty, _, k) -> + let res = empty_map ty and stack = (accu, stack) in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMap_map (_, body, k) -> + let map = accu in + let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in + let ys = empty_map (map_key_ty map) in + let ks = KMap_mapping (body, xs, ys, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IMap_iter (_, body, k) -> + let map = accu in + let l = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in + let ks = KIter (body, l, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IMap_mem (_, k) -> + let (map, stack) = stack in + let res = map_mem accu map in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMap_get (_, k) -> + let (map, stack) = stack in + let res = map_get accu map in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMap_update (_, k) -> + let (v, (map, stack)) = stack in + let key = accu in + let res = map_update key v map in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMap_get_and_update (_, k) -> + let key = accu in + let (v, (map, rest)) = stack in + let map' = map_update key v map in + let v' = map_get key map in + (run [@ocaml.tailcall]) logger g gas i k ks v' (map', rest) + | IMap_size (_, k) -> + let res = map_size accu in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + (* Big map operations *) + | IEmpty_big_map (_, tk, tv, k) -> + let ebm = Script_ir_translator.empty_big_map tk tv in + (run [@ocaml.tailcall]) logger g gas i k ks ebm (accu, stack) + | IBig_map_mem (_, k) -> + let (map, stack) = stack in + let key = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> Script_ir_translator.big_map_mem ctxt key map ) + >>=? fun (res, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack + | IBig_map_get (_, k) -> + let (map, stack) = stack in + let key = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> Script_ir_translator.big_map_get ctxt key map ) + >>=? fun (res, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack + | IBig_map_update (_, k) -> + let key = accu in + let (maybe_value, (map, stack)) = stack in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> + Script_ir_translator.big_map_update ctxt key maybe_value map ) + >>=? fun (big_map, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks big_map stack + | IBig_map_get_and_update (_, k) -> + let key = accu in + let (v, (map, stack)) = stack in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> + Script_ir_translator.big_map_get_and_update ctxt key v map ) + >>=? fun ((v', map'), ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks v' (map', stack) + (* timestamp operations *) + | IAdd_seconds_to_timestamp (_, k) -> + let n = accu in + let (t, stack) = stack in + let result = Script_timestamp.add_delta t n in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + | IAdd_timestamp_to_seconds (_, k) -> + let t = accu in + let (n, stack) = stack in + let result = Script_timestamp.add_delta t n in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + | ISub_timestamp_seconds (_, k) -> + let t = accu in + let (s, stack) = stack in + let result = Script_timestamp.sub_delta t s in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + | IDiff_timestamps (_, k) -> + let t1 = accu in + let (t2, stack) = stack in + let result = Script_timestamp.diff t1 t2 in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + (* string operations *) + | IConcat_string_pair (_, k) -> + let x = accu in + let (y, stack) = stack in + let s = String.concat "" [x; y] in + (run [@ocaml.tailcall]) logger g gas i k ks s stack + | IConcat_string (_, k) -> + let ss = accu in + (* The cost for this fold_left has been paid upfront *) + let total_length = + List.fold_left + (fun acc s -> S.add acc (S.safe_int (String.length s))) + (S.zero |> S.may_saturate) + accu.elements + in + consume' ctxt gas (Interp_costs.concat_string total_length :> int) + >>?= fun gas -> + let s = String.concat "" ss.elements in + (run [@ocaml.tailcall]) logger g gas i k ks s stack + | ISlice_string (_, k) -> + let offset = accu and (length, (s, stack)) = stack in + let s_length = Z.of_int (String.length s) in + let offset = Script_int.to_zint offset in + let length = Script_int.to_zint length in + if Compare.Z.(offset < s_length && Z.add offset length <= s_length) + then + let s = String.sub s (Z.to_int offset) (Z.to_int length) in + (run [@ocaml.tailcall]) logger g gas i k ks (Some s) stack + else (run [@ocaml.tailcall]) logger g gas i k ks None stack + | IString_size (_, k) -> + let s = accu in + let result = Script_int.(abs (of_int (String.length s))) in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + (* bytes operations *) + | IConcat_bytes_pair (_, k) -> + let x = accu in + let (y, stack) = stack in + let s = Bytes.cat x y in + (run [@ocaml.tailcall]) logger g gas i k ks s stack + | IConcat_bytes (_, k) -> + let ss = accu in + (* The cost for this fold_left has been paid upfront *) + let total_length = + List.fold_left + (fun acc s -> S.add acc (S.safe_int (Bytes.length s))) + (S.zero |> S.may_saturate) + accu.elements + in + consume' ctxt gas (Interp_costs.concat_string total_length :> int) + >>?= fun gas -> + let s = Bytes.concat Bytes.empty ss.elements in + (run [@ocaml.tailcall]) logger g gas i k ks s stack + | ISlice_bytes (_, k) -> + let offset = accu and (length, (s, stack)) = stack in + let s_length = Z.of_int (Bytes.length s) in + let offset = Script_int.to_zint offset in + let length = Script_int.to_zint length in + if Compare.Z.(offset < s_length && Z.add offset length <= s_length) + then + let s = Bytes.sub s (Z.to_int offset) (Z.to_int length) in + (run [@ocaml.tailcall]) logger g gas i k ks (Some s) stack + else (run [@ocaml.tailcall]) logger g gas i k ks None stack + | IBytes_size (_, k) -> + let s = accu in + let result = Script_int.(abs (of_int (Bytes.length s))) in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + (* currency operations *) + | IAdd_tez (_, k) -> + let x = accu in + let (y, stack) = stack in + Tez.(x +? y) + >>?= fun res -> (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ISub_tez (_, k) -> + let x = accu in + let (y, stack) = stack in + Tez.(x -? y) + >>?= fun res -> (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMul_teznat (kinfo, k) -> ( + 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.kloc, log)) + | Some y -> + Tez.(x *? y) + >>?= fun res -> + (run [@ocaml.tailcall]) logger g gas i k ks res stack ) + | IMul_nattez (kinfo, k) -> ( + 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.kloc, log)) + | Some y -> + Tez.(x *? y) + >>?= fun res -> + (run [@ocaml.tailcall]) logger g gas i k ks res stack ) + (* boolean operations *) + | IOr (_, k) -> + let x = accu in + let (y, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks (x || y) stack + | IAnd (_, k) -> + let x = accu in + let (y, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks (x && y) stack + | IXor (_, k) -> + let x = accu in + let (y, stack) = stack in + let res = Compare.Bool.(x <> y) in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | INot (_, k) -> + let x = accu in + (run [@ocaml.tailcall]) logger g gas i k ks (not x) stack + (* integer operations *) + | IIs_nat (_, k) -> + let x = accu in + let res = Script_int.is_nat x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAbs_int (_, k) -> + let x = accu in + let res = Script_int.abs x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IInt_nat (_, k) -> + let x = accu in + let res = Script_int.int x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | INeg_int (_, k) -> + let x = accu in + let res = Script_int.neg x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | INeg_nat (_, k) -> + let x = accu in + let res = Script_int.neg x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAdd_intint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAdd_intnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAdd_natint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAdd_natnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add_n x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ISub_int (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.sub x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMul_intint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMul_intnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMul_natint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMul_natnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul_n x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IEdiv_teznat (_, k) -> + let x = accu and (y, stack) = stack in + let x = Script_int.of_int64 (Tez.to_mutez x) in + let result = + match Script_int.ediv x y with + | None -> + None + | Some (q, r) -> ( + match (Script_int.to_int64 q, Script_int.to_int64 r) with + | (Some q, Some r) -> ( + match (Tez.of_mutez q, Tez.of_mutez r) with + | (Some q, Some r) -> + Some (q, r) + (* Cannot overflow *) + | _ -> + assert false ) + (* Cannot overflow *) + | _ -> + assert false ) + in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + | IEdiv_tez (_, k) -> + let x = accu and (y, stack) = stack in + let x = Script_int.abs (Script_int.of_int64 (Tez.to_mutez x)) in + let y = Script_int.abs (Script_int.of_int64 (Tez.to_mutez y)) in + let result = + match Script_int.ediv_n x y with + | None -> + None + | Some (q, r) -> ( + match Script_int.to_int64 r with + | None -> + assert false (* Cannot overflow *) + | Some r -> ( + match Tez.of_mutez r with + | None -> + assert false (* Cannot overflow *) + | Some r -> + Some (q, r) ) ) + in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + | IEdiv_intint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IEdiv_intnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IEdiv_natint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IEdiv_natnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv_n x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ILsl_nat (kinfo, k) -> ( + 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.kloc, log)) + | Some x -> + (run [@ocaml.tailcall]) logger g gas i k ks x stack ) + | ILsr_nat (kinfo, k) -> ( + 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.kloc, log)) + | Some r -> + (run [@ocaml.tailcall]) logger g gas i k ks r stack ) + | IOr_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logor x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAnd_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logand x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IAnd_int_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logand x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IXor_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logxor x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | INot_int (_, k) -> + let x = accu in + let res = Script_int.lognot x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | INot_nat (_, k) -> + let x = accu in + let res = Script_int.lognot x in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + (* control *) + | IIf (_, bt, bf) -> + let (res, stack) = stack in + if accu then (run [@ocaml.tailcall]) logger g gas i bt ks res stack + else (run [@ocaml.tailcall]) logger g gas i bf ks res stack + | ILoop (_, body, k) -> + let ks = KLoop_in (body, KCons (k, ks)) in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | ILoop_left (_, bl, br) -> + let ks = KLoop_in_left (bl, KCons (br, ks)) in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IDip (_, _, b, k) -> + let ign = accu in + let ks = KUndip (ign, KCons (k, ks)) in + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i b ks accu stack + | IExec (_, k) -> + let arg = accu and (code, stack) = stack in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> interp logger (ctxt, sc) code arg ) + >>=? fun (res, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack + | IApply (_, capture_ty, k) -> + let capture = accu in + let (lam, stack) = stack in + apply ctxt gas capture_ty capture lam + >>=? fun (lam', ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks lam' stack + | ILambda (_, lam, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks lam (accu, stack) + | IFailwith (_, kloc, tv, _) -> + let v = accu in + let ctxt = update_context gas ctxt in + trace Cannot_serialize_failure (unparse_data ctxt Optimized tv v) + >>=? fun (v, _ctxt) -> + let v = Micheline.strip_locations v in + get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) + | INop (_, k) -> + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + (* comparison *) + | ICompare (_, ty, k) -> + let a = accu in + let (b, stack) = stack in + let r = + Script_int.of_int @@ Script_ir_translator.compare_comparable ty a b + in + (run [@ocaml.tailcall]) logger g gas i k ks r stack + (* comparators *) + | IEq (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a = 0) in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + | INeq (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a <> 0) in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + | ILt (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a < 0) in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + | ILe (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a <= 0) in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + | IGt (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a > 0) in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + | IGe (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a >= 0) in + (run [@ocaml.tailcall]) logger g gas i k ks a stack + (* packing *) + | IPack (_, ty, k) -> + let value = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> Script_ir_translator.pack_data ctxt ty value ) + >>=? fun (bytes, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks bytes stack + | IUnpack (_, ty, k) -> + let bytes = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> unpack ctxt ~ty ~bytes ) + >>=? fun (opt, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks opt stack + | IAddress (_, k) -> + let (_, address) = accu in + (run [@ocaml.tailcall]) logger g gas i k ks address stack + | IContract (kinfo, t, entrypoint, k) -> ( + let contract = accu in + match (contract, entrypoint) with + | ((contract, "default"), entrypoint) + | ((contract, entrypoint), "default") -> + let ctxt = update_context gas ctxt in + Script_ir_translator.parse_contract_for_script + ctxt + kinfo.kloc + t + contract + ~entrypoint + >>=? fun (ctxt, maybe_contract) -> + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + let accu = maybe_contract in + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks accu stack + | _ -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks None stack ) + | ITransfer_tokens (_, k) -> + let p = accu in + let (amount, ((tp, (destination, entrypoint)), stack)) = stack in + transfer (ctxt, sc) gas amount tp p destination entrypoint + >>=? fun (accu, ctxt, gas) -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks accu stack + | IImplicit_account (_, k) -> + let key = accu in + let contract = Contract.implicit_contract key in + let res = (Unit_t None, (contract, "default")) in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | ICreate_contract + (_, storage_type, param_type, Lam (_, code), root_name, k) -> + (* Removed the instruction's arguments manager, spendable and delegatable *) + let delegate = accu in + let (credit, (init, stack)) = stack in + create_contract + g + gas + storage_type + param_type + code + root_name + delegate + credit + init + >>=? fun (res, contract, ctxt, gas) -> + let stack = ((contract, "default"), stack) in + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack + | ISet_delegate (_, k) -> + let delegate = accu in + let operation = Delegation delegate in + let ctxt = update_context gas ctxt in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let res = + (Internal_operation {source = sc.self; operation; nonce}, None) + in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack + | IBalance (_, k) -> + let ctxt = update_context gas ctxt in + Contract.get_balance_carbonated ctxt sc.self + >>=? fun (ctxt, balance) -> + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + let g = (ctxt, sc) in + (run [@ocaml.tailcall]) logger g gas i k ks balance (accu, stack) + | ILevel (_, k) -> + let level = + (Level.current (context_from_outdated_context ctxt)).level + |> Raw_level.to_int32 |> Script_int.of_int32 |> Script_int.abs + in + (run [@ocaml.tailcall]) logger g gas i k ks level (accu, stack) + | INow (_, k) -> + let now = + Script_timestamp.now (context_from_outdated_context ctxt) + in + (run [@ocaml.tailcall]) logger g gas i k ks now (accu, stack) + | ICheck_signature (_, k) -> + let key = accu and (signature, (message, stack)) = stack in + let res = Signature.check key signature message in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IHash_key (_, k) -> + let key = accu in + let res = Signature.Public_key.hash key in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IBlake2b (_, k) -> + let bytes = accu in + let hash = Raw_hashes.blake2b bytes in + (run [@ocaml.tailcall]) logger g gas i k ks hash stack + | ISha256 (_, k) -> + let bytes = accu in + let hash = Raw_hashes.sha256 bytes in + (run [@ocaml.tailcall]) logger g gas i k ks hash stack + | ISha512 (_, k) -> + let bytes = accu in + let hash = Raw_hashes.sha512 bytes in + (run [@ocaml.tailcall]) logger g gas i k ks hash stack + | ISource (_, k) -> + let res = (sc.payer, "default") in + (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) + | ISender (_, k) -> + let res = (sc.source, "default") in + (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) + | ISelf (_, ty, entrypoint, k) -> + let res = (ty, (sc.self, entrypoint)) in + (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) + | ISelf_address (_, k) -> + let res = (sc.self, "default") in + (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) + | IAmount (_, k) -> + let accu = sc.amount and stack = (accu, stack) in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IDig (_, _n, n', k) -> + let (stack, accu) = + interp_stack_prefix_preserving_operation + (fun (v, stack) -> (stack, v)) + n' + (accu, stack) + in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IDug (_, _n, n', k) -> + let v = accu in + let (stack, ()) = + interp_stack_prefix_preserving_operation + (fun stack -> ((v, stack), ())) + n' + stack + in + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IDipn (_, _n, n', b, k) -> ( + match kundip n' (accu, stack) (ExKInstr k) with + | (stack, ExKInstr restore_prefix) -> + let ks = KCons (restore_prefix, ks) in + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i b ks accu stack ) + | IDropn (_, _n, n', k) -> + let (_, stack) = + interp_stack_prefix_preserving_operation + (fun stack -> (stack, stack)) + n' + (accu, stack) + in + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | ISapling_empty_state (_, memo_size, k) -> + let state = Sapling.empty_state ~memo_size () in + (run [@ocaml.tailcall]) logger g gas i k ks state (accu, stack) + | ISapling_verify_update (_, k) -> ( + let transaction = accu in + let (state, stack) = stack in + let address = Contract.to_b58check sc.self in + let chain_id = Chain_id.to_b58check sc.chain_id in + let anti_replay = address ^ chain_id in + let ctxt = update_context gas ctxt in + Sapling.verify_update ctxt state transaction anti_replay + >>=? fun (ctxt, balance_state_opt) -> + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + match balance_state_opt with + | Some (balance, state) -> + let state = Some (Script_int.of_int64 balance, state) in + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks state stack + | None -> + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks None stack ) + | IChainId (_, k) -> + let accu = sc.chain_id and stack = (accu, stack) in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | INever _ -> ( + match accu with _ -> . ) + | IVoting_power (_, k) -> + let key_hash = accu in + let ctxt = update_context gas ctxt in + Vote.get_voting_power ctxt key_hash + >>=? fun (ctxt, rolls) -> + let power = Script_int.(abs (of_int32 rolls)) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks power stack + | ITotal_voting_power (_, k) -> + let ctxt = update_context gas ctxt in + Vote.get_total_voting_power ctxt + >>=? fun (ctxt, rolls) -> + let power = Script_int.(abs (of_int32 rolls)) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + let g = (ctxt, sc) in + (run [@ocaml.tailcall]) logger g gas i k ks power (accu, stack) + | IKeccak (_, k) -> + let bytes = accu in + let hash = Raw_hashes.keccak256 bytes in + (run [@ocaml.tailcall]) logger g gas i k ks hash stack + | ISha3 (_, k) -> + let bytes = accu in + let hash = Raw_hashes.sha3_256 bytes in + (run [@ocaml.tailcall]) logger g gas i k ks hash stack + | IAdd_bls12_381_g1 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G1.add x y in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IAdd_bls12_381_g2 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G2.add x y in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IAdd_bls12_381_fr (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.Fr.add x y in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IMul_bls12_381_g1 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G1.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IMul_bls12_381_g2 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G2.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IMul_bls12_381_fr (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.Fr.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IMul_bls12_381_fr_z (_, k) -> + let x = accu and (y, stack) = stack in + let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in + let res = Bls12_381.Fr.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IMul_bls12_381_z_fr (_, k) -> + let y = accu and (x, stack) = stack in + let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in + let res = Bls12_381.Fr.mul x y in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | IInt_bls12_381_fr (_, k) -> + let x = accu in + let res = Script_int.of_zint (Bls12_381.Fr.to_z x) in + (run [@ocaml.tailcall]) logger g gas i k ks res stack + | INeg_bls12_381_g1 (_, k) -> + let x = accu in + let accu = Bls12_381.G1.negate x in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | INeg_bls12_381_g2 (_, k) -> + let x = accu in + let accu = Bls12_381.G2.negate x in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | INeg_bls12_381_fr (_, k) -> + let x = accu in + let accu = Bls12_381.Fr.negate x in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IPairing_check_bls12_381 (_, k) -> + let pairs = accu in + let check = + match pairs.elements with + | [] -> + true + | pairs -> + Bls12_381.( + miller_loop pairs |> final_exponentiation_opt + |> Option.map Gt.(eq one)) + |> Option.value ~default:false + in + (run [@ocaml.tailcall]) logger g gas i k ks check stack + | IComb (_, _, witness, k) -> + let rec aux : + type before after. + (before, after) comb_gadt_witness -> before -> after = + fun witness stack -> + match (witness, stack) with + | (Comb_one, stack) -> + stack + | (Comb_succ witness', (a, tl)) -> + let (b, tl') = aux witness' tl in + ((a, b), tl') + in + let stack = aux witness (accu, stack) in + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IUncomb (_, _, witness, k) -> + let rec aux : + type before after. + (before, after) uncomb_gadt_witness -> before -> after = + fun witness stack -> + match (witness, stack) with + | (Uncomb_one, stack) -> + stack + | (Uncomb_succ witness', ((a, b), tl)) -> + (a, aux witness' (b, tl)) + in + let stack = aux witness (accu, stack) in + let (accu, stack) = stack in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IComb_get (_, _, witness, k) -> + let comb = accu in + let rec aux : + type before after. + (before, after) comb_get_gadt_witness -> before -> after = + fun witness comb -> + match (witness, comb) with + | (Comb_get_zero, v) -> + v + | (Comb_get_one, (a, _)) -> + a + | (Comb_get_plus_two witness', (_, b)) -> + aux witness' b + in + let accu = aux witness comb in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IComb_set (_, _, witness, k) -> + let value = accu and (comb, stack) = stack in + let rec aux : + type value before after. + (value, before, after) comb_set_gadt_witness -> + value -> + before -> + after = + fun witness value item -> + match (witness, item) with + | (Comb_set_zero, _) -> + value + | (Comb_set_one, (_hd, tl)) -> + (value, tl) + | (Comb_set_plus_two witness', (hd, tl)) -> + (hd, aux witness' value tl) + in + let accu = aux witness value comb in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IDup_n (_, _, witness, k) -> + let rec aux : + type before after. + (before, after) dup_n_gadt_witness -> before -> after = + fun witness stack -> + match (witness, stack) with + | (Dup_n_zero, (a, _)) -> + a + | (Dup_n_succ witness', (_, tl)) -> + aux witness' tl + in + let stack = (accu, stack) in + let accu = aux witness stack in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + (* Tickets *) + | ITicket (_, k) -> + let contents = accu and (amount, stack) = stack in + let ticketer = (sc.self, "default") in + let accu = {ticketer; contents; amount} in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | IRead_ticket (_, k) -> + let {ticketer; contents; amount} = accu in + let stack = (accu, stack) in + let accu = (ticketer, (contents, amount)) in + (run [@ocaml.tailcall]) logger g gas i k ks accu stack + | ISplit_ticket (_, k) -> + let ticket = accu and ((amount_a, amount_b), stack) = stack in + let result = + if + Compare.Int.( + Script_int.(compare (add_n amount_a amount_b) ticket.amount) + = 0) + then + Some + ( {ticket with amount = amount_a}, + {ticket with amount = amount_b} ) + else None + in + (run [@ocaml.tailcall]) logger g gas i k ks result stack + | IJoin_tickets (_, contents_ty, k) -> + let (ticket_a, ticket_b) = accu in + let result = + if + Compare.Int.( + compare_address ticket_a.ticketer ticket_b.ticketer = 0 + && compare_comparable + contents_ty + ticket_a.contents + ticket_b.contents + = 0) + then + Some + { + ticketer = ticket_a.ticketer; + contents = ticket_a.contents; + amount = Script_int.add_n ticket_a.amount ticket_b.amount; + } + else None + in + (run [@ocaml.tailcall]) logger g gas i k ks result stack ) + +(* + + The following function pops n elements from the stack + and push their reintroduction in the continuations stack. + + *) +and kundip : + type w u v s b t. + (w, v, s, u) kstack_prefix_preservation_witness -> + s -> + (u, b, t) exkinstr -> + w * (v, b, t) exkinstr = + fun w stack k -> + match (w, stack) with + | (KPrefix (kinfo, _, IsLifted lu', w), (x, stack)) -> ( + match k with + | ExKInstr k -> ( + match inverse_lift lu' with + | ExLiftInverse Refl -> + kundip w stack (ExKInstr (IConst (kinfo, x, k))) ) ) + | (KRest (_, _), _) -> + (stack, k) + +(** [apply ctxt gas ty v lam] specializes [lam] by fixing its first + formal argument to [v]. The type of [v] is represented by [ty]. *) +and apply : + type a b c. + outdated_context -> + local_gas_counter -> + a ty -> + a -> + (a * b, c) lambda -> + ((b, c) lambda * outdated_context * local_gas_counter) tzresult Lwt.t = + fun ctxt gas capture_ty capture lam -> + let (Lam (descr, expr)) = lam in + let (Item_t (full_arg_ty, _, _)) = descr.bef in + let ctxt = update_context gas ctxt in + unparse_data ctxt Optimized capture_ty capture + >>=? fun (const_expr, ctxt) -> + unparse_ty ctxt capture_ty + >>?= fun (ty_expr, ctxt) -> + match full_arg_ty with + | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> + let arg_stack_ty = Item_t (arg_ty, Empty_t, None) in + let const_descr = + ( { + loc = descr.loc; + bef = arg_stack_ty; + aft = Item_t (capture_ty, arg_stack_ty, None); + instr = Const capture; + } + : (_, _) descr ) + in + let pair_descr = + ( { + loc = descr.loc; + bef = Item_t (capture_ty, arg_stack_ty, None); + aft = Item_t (full_arg_ty, Empty_t, None); + instr = Cons_pair; + } + : (_, _) descr ) + in + let seq_descr = + ( { + loc = descr.loc; + bef = arg_stack_ty; + aft = Item_t (full_arg_ty, Empty_t, None); + instr = Seq (const_descr, pair_descr); + } + : (_, _) descr ) + in + let full_descr = + ( { + loc = descr.loc; + bef = arg_stack_ty; + aft = descr.aft; + instr = Seq (seq_descr, descr); + } + : (_, _) descr ) + in + let full_expr = + Micheline.Seq + ( 0, + [ Prim (0, I_PUSH, [ty_expr; const_expr], []); + Prim (0, I_PAIR, [], []); + expr ] ) + in + let lam' = Lam (full_descr, full_expr) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (lam', ctxt, gas) + | _ -> + assert false + +(** [transfer (ctxt, sc) gas tez tp p destination entrypoint] + creates an operation that transfers an amount of [tez] to + a contract determined by [(destination, entrypoint)] + instantiated with argument [p] of type [tp]. *) +and transfer : + type a. + outdated_context * step_constants -> + local_gas_counter -> + Tez.t -> + a ty -> + a -> + Contract.t -> + string -> + (operation * outdated_context * local_gas_counter) tzresult Lwt.t = + fun (ctxt, sc) gas amount tp p destination entrypoint -> + let ctxt = update_context gas ctxt in + collect_lazy_storage ctxt tp p + >>?= fun (to_duplicate, ctxt) -> + let to_update = no_lazy_storage_id in + extract_lazy_storage_diff + ctxt + Optimized + tp + p + ~to_duplicate + ~to_update + ~temporary:true + >>=? fun (p, lazy_storage_diff, ctxt) -> + unparse_data ctxt Optimized tp p + >>=? fun (p, ctxt) -> + Gas.consume ctxt (Script.strip_locations_cost p) + >>?= fun ctxt -> + let operation = + Transaction + { + amount; + destination; + entrypoint; + parameters = Script.lazy_expr (Micheline.strip_locations p); + } + in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let iop = {source = sc.self; operation; nonce} in + let res = (Internal_operation iop, lazy_storage_diff) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (res, ctxt, gas) + +(** [create_contract (ctxt, sc) gas storage_ty param_ty code root_name + delegate credit init] creates an origination operation for a + contract represented by [code], with some [root_name], some initial + [credit] (taken to contract being executed), and an initial storage + [init] of type [storage_ty]. The type of the new contract argument + is [param_ty]. *) +and create_contract : + type a b. + outdated_context * step_constants -> + local_gas_counter -> + a ty -> + b ty -> + node -> + field_annot option -> + public_key_hash option -> + Tez.t -> + a -> + (operation * Contract.t * outdated_context * local_gas_counter) tzresult + Lwt.t = + fun (ctxt, sc) gas storage_type param_type code root_name delegate credit init -> + let ctxt = update_context gas ctxt in + unparse_ty ctxt param_type + >>?= fun (unparsed_param_type, ctxt) -> + let unparsed_param_type = + Script_ir_translator.add_field_annot root_name None unparsed_param_type + in + unparse_ty ctxt storage_type + >>?= fun (unparsed_storage_type, ctxt) -> + let code = + Micheline.strip_locations + (Seq + ( 0, + [ Prim (0, K_parameter, [unparsed_param_type], []); + Prim (0, K_storage, [unparsed_storage_type], []); + Prim (0, K_code, [code], []) ] )) + in + collect_lazy_storage ctxt storage_type init + >>?= fun (to_duplicate, ctxt) -> + let to_update = no_lazy_storage_id in + extract_lazy_storage_diff + ctxt + Optimized + storage_type + init + ~to_duplicate + ~to_update + ~temporary:true + >>=? fun (init, lazy_storage_diff, ctxt) -> + unparse_data ctxt Optimized storage_type init + >>=? fun (storage, ctxt) -> + Gas.consume ctxt (Script.strip_locations_cost storage) + >>?= fun ctxt -> + let storage = Micheline.strip_locations storage in + Contract.fresh_contract_from_current_nonce ctxt + >>?= fun (ctxt, contract) -> + let operation = + Origination + { + credit; + delegate; + preorigination = Some contract; + script = + {code = Script.lazy_expr code; storage = Script.lazy_expr storage}; + } + in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let res = + (Internal_operation {source = sc.self; operation; nonce}, lazy_storage_diff) + in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (res, contract, ctxt, gas) + +and unpack : + type a. + context -> ty:a ty -> bytes:bytes -> (a option * context) tzresult Lwt.t = + fun ctxt ~ty ~bytes -> Gas.check_enough ctxt (Script.serialized_cost bytes) >>?= fun () -> if @@ -583,899 +2276,55 @@ let unpack ctxt ~ty ~bytes = >|? fun ctxt -> (None, ctxt) ) else return (None, ctxt) -let rec step_bounded : +(* FIXME: This ugly function will disappear when elaboration is ready. *) +and step_descr : type b a. - logger -> - stack_depth:int -> - context -> - step_constants -> + bool -> + logger option -> + context * step_constants -> (b, a) descr -> b -> (a * context) tzresult Lwt.t = - fun logger ~stack_depth ctxt step_constants ({instr; loc; _} as descr) stack -> - let gas = cost_of_instr descr stack in - Gas.consume ctxt gas - >>?= fun ctxt -> - let module Log = (val logger) in - Log.log_entry ctxt descr stack ; - let logged_return : a * context -> (a * context) tzresult Lwt.t = - fun (ret, ctxt) -> - Log.log_exit ctxt descr ret ; - return (ret, ctxt) - in - let non_terminal_recursion ~ctxt ?(stack_depth = stack_depth + 1) descr stack - = - if Compare.Int.(stack_depth >= 10_000) then - fail Michelson_too_many_recursive_calls - else step_bounded logger ~stack_depth ctxt step_constants descr stack - in - match (instr, stack) with - (* stack ops *) - | (Drop, (_, rest)) -> - logged_return (rest, ctxt) - | (Dup, (v, rest)) -> - logged_return ((v, (v, rest)), ctxt) - | (Swap, (vi, (vo, rest))) -> - logged_return ((vo, (vi, rest)), ctxt) - | (Const v, rest) -> - logged_return ((v, rest), ctxt) - (* options *) - | (Cons_some, (v, rest)) -> - logged_return ((Some v, rest), ctxt) - | (Cons_none _, rest) -> - logged_return ((None, rest), ctxt) - | (If_none (bt, _), (None, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bt rest - | (If_none (_, bf), (Some v, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bf (v, rest) - (* pairs *) - | (Cons_pair, (a, (b, rest))) -> - logged_return (((a, b), rest), ctxt) - | (Unpair, ((a, b), rest)) -> - logged_return ((a, (b, rest)), ctxt) - | (Car, ((a, _), rest)) -> - logged_return ((a, rest), ctxt) - | (Cdr, ((_, b), rest)) -> - logged_return ((b, rest), ctxt) - (* unions *) - | (Cons_left, (v, rest)) -> - logged_return ((L v, rest), ctxt) - | (Cons_right, (v, rest)) -> - logged_return ((R v, rest), ctxt) - | (If_left (bt, _), (L v, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bt (v, rest) - | (If_left (_, bf), (R v, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bf (v, rest) - (* lists *) - | (Cons_list, (hd, (tl, rest))) -> - logged_return ((list_cons hd tl, rest), ctxt) - | (Nil, rest) -> - logged_return ((list_empty, rest), ctxt) - | (If_cons (_, bf), ({elements = []; _}, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bf rest - | (If_cons (bt, _), ({elements = hd :: tl; length}, rest)) -> - let tl = {elements = tl; length = length - 1} in - step_bounded logger ~stack_depth ctxt step_constants bt (hd, (tl, rest)) - | (List_map body, (list, rest)) -> - let rec loop rest ctxt l acc = - match l with - | [] -> - let result = {elements = List.rev acc; length = list.length} in - return ((result, rest), ctxt) - | hd :: tl -> - non_terminal_recursion ~ctxt body (hd, rest) - >>=? fun ((hd, rest), ctxt) -> loop rest ctxt tl (hd :: acc) - in - loop rest ctxt list.elements [] - >>=? fun (res, ctxt) -> logged_return (res, ctxt) - | (List_size, (list, rest)) -> - logged_return ((Script_int.(abs (of_int list.length)), rest), ctxt) - | (List_iter body, (l, init)) -> - let rec loop ctxt l stack = - match l with - | [] -> - return (stack, ctxt) - | hd :: tl -> - non_terminal_recursion ~ctxt body (hd, stack) - >>=? fun (stack, ctxt) -> loop ctxt tl stack - in - loop ctxt l.elements init - >>=? fun (res, ctxt) -> logged_return (res, ctxt) - (* sets *) - | (Empty_set t, rest) -> - logged_return ((empty_set t, rest), ctxt) - | (Set_iter body, (set, init)) -> - let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in - let rec loop ctxt l stack = - match l with - | [] -> - return (stack, ctxt) - | hd :: tl -> - non_terminal_recursion ~ctxt body (hd, stack) - >>=? fun (stack, ctxt) -> loop ctxt tl stack - in - loop ctxt l init >>=? fun (res, ctxt) -> logged_return (res, ctxt) - | (Set_mem, (v, (set, rest))) -> - logged_return ((set_mem v set, rest), ctxt) - | (Set_update, (v, (presence, (set, rest)))) -> - logged_return ((set_update v presence set, rest), ctxt) - | (Set_size, (set, rest)) -> - logged_return ((set_size set, rest), ctxt) - (* maps *) - | (Empty_map (t, _), rest) -> - logged_return ((empty_map t, rest), ctxt) - | (Map_map body, (map, rest)) -> - let l = List.rev (map_fold (fun k v acc -> (k, v) :: acc) map []) in - let rec loop rest ctxt l acc = - match l with - | [] -> - return ((acc, rest), ctxt) - | ((k, _) as hd) :: tl -> - non_terminal_recursion ~ctxt body (hd, rest) - >>=? fun ((hd, rest), ctxt) -> - loop rest ctxt tl (map_update k (Some hd) acc) - in - loop rest ctxt l (empty_map (map_key_ty map)) - >>=? fun (res, ctxt) -> logged_return (res, ctxt) - | (Map_iter body, (map, init)) -> - let l = List.rev (map_fold (fun k v acc -> (k, v) :: acc) map []) in - let rec loop ctxt l stack = - match l with - | [] -> - return (stack, ctxt) - | hd :: tl -> - non_terminal_recursion ~ctxt body (hd, stack) - >>=? fun (stack, ctxt) -> loop ctxt tl stack - in - loop ctxt l init >>=? fun (res, ctxt) -> logged_return (res, ctxt) - | (Map_mem, (v, (map, rest))) -> - logged_return ((map_mem v map, rest), ctxt) - | (Map_get, (v, (map, rest))) -> - logged_return ((map_get v map, rest), ctxt) - | (Map_update, (k, (v, (map, rest)))) -> - logged_return ((map_update k v map, rest), ctxt) - | (Map_get_and_update, (k, (v, (map, rest)))) -> - let map' = map_update k v map in - let v' = map_get k map in - logged_return ((v', (map', rest)), ctxt) - | (Map_size, (map, rest)) -> - logged_return ((map_size map, rest), ctxt) - (* Big map operations *) - | (Empty_big_map (tk, tv), rest) -> - logged_return ((Script_ir_translator.empty_big_map tk tv, rest), ctxt) - | (Big_map_mem, (key, (map, rest))) -> - Script_ir_translator.big_map_mem ctxt key map - >>=? fun (res, ctxt) -> logged_return ((res, rest), ctxt) - | (Big_map_get, (key, (map, rest))) -> - Script_ir_translator.big_map_get ctxt key map - >>=? fun (res, ctxt) -> logged_return ((res, rest), ctxt) - | (Big_map_update, (key, (maybe_value, (map, rest)))) -> - Script_ir_translator.big_map_update ctxt key maybe_value map - >>=? fun (res, ctxt) -> logged_return ((res, rest), ctxt) - | (Big_map_get_and_update, (k, (v, (map, rest)))) -> - Script_ir_translator.big_map_get_and_update ctxt k v map - >>=? fun (v', map', ctxt) -> logged_return ((v', (map', rest)), ctxt) - (* timestamp operations *) - | (Add_seconds_to_timestamp, (n, (t, rest))) -> - let result = Script_timestamp.add_delta t n in - logged_return ((result, rest), ctxt) - | (Add_timestamp_to_seconds, (t, (n, rest))) -> - let result = Script_timestamp.add_delta t n in - logged_return ((result, rest), ctxt) - | (Sub_timestamp_seconds, (t, (s, rest))) -> - let result = Script_timestamp.sub_delta t s in - logged_return ((result, rest), ctxt) - | (Diff_timestamps, (t1, (t2, rest))) -> - let result = Script_timestamp.diff t1 t2 in - logged_return ((result, rest), ctxt) - (* string operations *) - | (Concat_string_pair, (x, (y, rest))) -> - let s = String.concat "" [x; y] in - logged_return ((s, rest), ctxt) - | (Concat_string, (ss, rest)) -> - (* The cost for this fold_left has been paid upfront *) - let total_length = - List.fold_left - (fun acc s -> S.add acc (S.safe_int (String.length s))) - S.zero - ss.elements - in - Gas.consume ctxt (Interp_costs.concat_string total_length) - >>?= fun ctxt -> - let s = String.concat "" ss.elements in - logged_return ((s, rest), ctxt) - | (Slice_string, (offset, (length, (s, rest)))) -> - let s_length = Z.of_int (String.length s) in - let offset = Script_int.to_zint offset in - let length = Script_int.to_zint length in - if Compare.Z.(offset < s_length && Z.add offset length <= s_length) then - logged_return - ( (Some (String.sub s (Z.to_int offset) (Z.to_int length)), rest), - ctxt ) - else logged_return ((None, rest), ctxt) - | (String_size, (s, rest)) -> - logged_return ((Script_int.(abs (of_int (String.length s))), rest), ctxt) - (* bytes operations *) - | (Concat_bytes_pair, (x, (y, rest))) -> - let s = Bytes.cat x y in - logged_return ((s, rest), ctxt) - | (Concat_bytes, (ss, rest)) -> - (* The cost for this fold_left has been paid upfront *) - let total_length = - List.fold_left - (fun acc s -> S.add acc (S.safe_int (Bytes.length s))) - S.zero - ss.elements - in - Gas.consume ctxt (Interp_costs.concat_string total_length) - >>?= fun ctxt -> - let s = Bytes.concat Bytes.empty ss.elements in - logged_return ((s, rest), ctxt) - | (Slice_bytes, (offset, (length, (s, rest)))) -> - let s_length = Z.of_int (Bytes.length s) in - let offset = Script_int.to_zint offset in - let length = Script_int.to_zint length in - if Compare.Z.(offset < s_length && Z.add offset length <= s_length) then - logged_return - ((Some (Bytes.sub s (Z.to_int offset) (Z.to_int length)), rest), ctxt) - else logged_return ((None, rest), ctxt) - | (Bytes_size, (s, rest)) -> - logged_return ((Script_int.(abs (of_int (Bytes.length s))), rest), ctxt) - (* currency operations *) - | (Add_tez, (x, (y, rest))) -> - Tez.(x +? y) >>?= fun res -> logged_return ((res, rest), ctxt) - | (Sub_tez, (x, (y, rest))) -> - Tez.(x -? y) >>?= fun res -> logged_return ((res, rest), ctxt) - | (Mul_teznat, (x, (y, rest))) -> ( - match Script_int.to_int64 y with + fun log_now logger g descr stack -> + (* FIXME: That's ugly but this is only temporary. *) + let (KDescr {kinstr} as kdescr) = translate descr in + ( if log_now then + match logger with | None -> - Log.get_log () >>=? fun log -> fail (Overflow (loc, log)) - | Some y -> - Tez.(x *? y) >>?= fun res -> logged_return ((res, rest), ctxt) ) - | (Mul_nattez, (y, (x, rest))) -> ( - match Script_int.to_int64 y with - | None -> - Log.get_log () >>=? fun log -> fail (Overflow (loc, log)) - | Some y -> - Tez.(x *? y) >>?= fun res -> logged_return ((res, rest), ctxt) ) - (* boolean operations *) - | (Or, (x, (y, rest))) -> - logged_return ((x || y, rest), ctxt) - | (And, (x, (y, rest))) -> - logged_return ((x && y, rest), ctxt) - | (Xor, (x, (y, rest))) -> - logged_return ((Compare.Bool.(x <> y), rest), ctxt) - | (Not, (x, rest)) -> - logged_return ((not x, rest), ctxt) - (* integer operations *) - | (Is_nat, (x, rest)) -> - logged_return ((Script_int.is_nat x, rest), ctxt) - | (Abs_int, (x, rest)) -> - logged_return ((Script_int.abs x, rest), ctxt) - | (Int_nat, (x, rest)) -> - logged_return ((Script_int.int x, rest), ctxt) - | (Neg_int, (x, rest)) -> - logged_return ((Script_int.neg x, rest), ctxt) - | (Neg_nat, (x, rest)) -> - logged_return ((Script_int.neg x, rest), ctxt) - | (Add_intint, (x, (y, rest))) -> - logged_return ((Script_int.add x y, rest), ctxt) - | (Add_intnat, (x, (y, rest))) -> - logged_return ((Script_int.add x y, rest), ctxt) - | (Add_natint, (x, (y, rest))) -> - logged_return ((Script_int.add x y, rest), ctxt) - | (Add_natnat, (x, (y, rest))) -> - logged_return ((Script_int.add_n x y, rest), ctxt) - | (Sub_int, (x, (y, rest))) -> - logged_return ((Script_int.sub x y, rest), ctxt) - | (Mul_intint, (x, (y, rest))) -> - logged_return ((Script_int.mul x y, rest), ctxt) - | (Mul_intnat, (x, (y, rest))) -> - logged_return ((Script_int.mul x y, rest), ctxt) - | (Mul_natint, (x, (y, rest))) -> - logged_return ((Script_int.mul x y, rest), ctxt) - | (Mul_natnat, (x, (y, rest))) -> - logged_return ((Script_int.mul_n x y, rest), ctxt) - | (Ediv_teznat, (x, (y, rest))) -> - let x = Script_int.of_int64 (Tez.to_mutez x) in - let result = - match Script_int.ediv x y with - | None -> - None - | Some (q, r) -> ( - match (Script_int.to_int64 q, Script_int.to_int64 r) with - | (Some q, Some r) -> ( - match (Tez.of_mutez q, Tez.of_mutez r) with - | (Some q, Some r) -> - Some (q, r) - (* Cannot overflow *) - | _ -> - assert false ) - (* Cannot overflow *) - | _ -> - assert false ) - in - logged_return ((result, rest), ctxt) - | (Ediv_tez, (x, (y, rest))) -> - let x = Script_int.abs (Script_int.of_int64 (Tez.to_mutez x)) in - let y = Script_int.abs (Script_int.of_int64 (Tez.to_mutez y)) in - let result = - match Script_int.ediv_n x y with - | None -> - None - | Some (q, r) -> ( - match Script_int.to_int64 r with - | None -> - assert false (* Cannot overflow *) - | Some r -> ( - match Tez.of_mutez r with - | None -> - assert false (* Cannot overflow *) - | Some r -> - Some (q, r) ) ) - in - logged_return ((result, rest), ctxt) - | (Ediv_intint, (x, (y, rest))) -> - logged_return ((Script_int.ediv x y, rest), ctxt) - | (Ediv_intnat, (x, (y, rest))) -> - logged_return ((Script_int.ediv x y, rest), ctxt) - | (Ediv_natint, (x, (y, rest))) -> - logged_return ((Script_int.ediv x y, rest), ctxt) - | (Ediv_natnat, (x, (y, rest))) -> - logged_return ((Script_int.ediv_n x y, rest), ctxt) - | (Lsl_nat, (x, (y, rest))) -> ( - match Script_int.shift_left_n x y with - | None -> - Log.get_log () >>=? fun log -> fail (Overflow (loc, log)) - | Some x -> - logged_return ((x, rest), ctxt) ) - | (Lsr_nat, (x, (y, rest))) -> ( - match Script_int.shift_right_n x y with - | None -> - Log.get_log () >>=? fun log -> fail (Overflow (loc, log)) - | Some r -> - logged_return ((r, rest), ctxt) ) - | (Or_nat, (x, (y, rest))) -> - logged_return ((Script_int.logor x y, rest), ctxt) - | (And_nat, (x, (y, rest))) -> - logged_return ((Script_int.logand x y, rest), ctxt) - | (And_int_nat, (x, (y, rest))) -> - logged_return ((Script_int.logand x y, rest), ctxt) - | (Xor_nat, (x, (y, rest))) -> - logged_return ((Script_int.logxor x y, rest), ctxt) - | (Not_int, (x, rest)) -> - logged_return ((Script_int.lognot x, rest), ctxt) - | (Not_nat, (x, rest)) -> - logged_return ((Script_int.lognot x, rest), ctxt) - (* control *) - | (Seq (hd, tl), stack) -> - non_terminal_recursion ~ctxt hd stack - >>=? fun (trans, ctxt) -> - step_bounded logger ~stack_depth ctxt step_constants tl trans - | (If (bt, _), (true, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bt rest - | (If (_, bf), (false, rest)) -> - step_bounded logger ~stack_depth ctxt step_constants bf rest - | (Loop body, (true, rest)) -> - non_terminal_recursion ~ctxt body rest - >>=? fun (trans, ctxt) -> - step_bounded logger ~stack_depth ctxt step_constants descr trans - | (Loop _, (false, rest)) -> - logged_return (rest, ctxt) - | (Loop_left body, (L v, rest)) -> - non_terminal_recursion ~ctxt body (v, rest) - >>=? fun (trans, ctxt) -> - step_bounded logger ~stack_depth ctxt step_constants descr trans - | (Loop_left _, (R v, rest)) -> - logged_return ((v, rest), ctxt) - | (Dip b, (ign, rest)) -> - non_terminal_recursion ~ctxt b rest - >>=? fun (res, ctxt) -> logged_return ((ign, res), ctxt) - | (Exec, (arg, (Lam (code, _), rest))) -> - Log.log_interp ctxt code (arg, ()) ; - non_terminal_recursion ~ctxt code (arg, ()) - >>=? fun ((res, ()), ctxt) -> logged_return ((res, rest), ctxt) - | (Apply capture_ty, (capture, (lam, rest))) -> ( - let (Lam (descr, expr)) = lam in - let (Item_t (full_arg_ty, _, _)) = descr.bef in - unparse_data ctxt Optimized capture_ty capture - >>=? fun (const_expr, ctxt) -> - unparse_ty ctxt capture_ty - >>?= fun (ty_expr, ctxt) -> - match full_arg_ty with - | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> - let arg_stack_ty = Item_t (arg_ty, Empty_t, None) in - let const_descr = - ( { - loc = descr.loc; - bef = arg_stack_ty; - aft = Item_t (capture_ty, arg_stack_ty, None); - instr = Const capture; - } - : (_, _) descr ) - in - let pair_descr = - ( { - loc = descr.loc; - bef = Item_t (capture_ty, arg_stack_ty, None); - aft = Item_t (full_arg_ty, Empty_t, None); - instr = Cons_pair; - } - : (_, _) descr ) - in - let seq_descr = - ( { - loc = descr.loc; - bef = arg_stack_ty; - aft = Item_t (full_arg_ty, Empty_t, None); - instr = Seq (const_descr, pair_descr); - } - : (_, _) descr ) - in - let full_descr = - ( { - loc = descr.loc; - bef = arg_stack_ty; - aft = descr.aft; - instr = Seq (seq_descr, descr); - } - : (_, _) descr ) - in - let full_expr = - Micheline.Seq - ( 0, - [ Prim (0, I_PUSH, [ty_expr; const_expr], []); - Prim (0, I_PAIR, [], []); - expr ] ) - in - let lam' = Lam (full_descr, full_expr) in - logged_return ((lam', rest), ctxt) - | _ -> - assert false ) - | (Lambda lam, rest) -> - logged_return ((lam, rest), ctxt) - | (Failwith tv, (v, _)) -> - trace Cannot_serialize_failure (unparse_data ctxt Optimized tv v) - >>=? fun (v, _ctxt) -> - let v = Micheline.strip_locations v in - Log.get_log () >>=? fun log -> fail (Reject (loc, v, log)) - | (Nop, stack) -> - logged_return (stack, ctxt) - (* comparison *) - | (Compare ty, (a, (b, rest))) -> - logged_return - ( ( Script_int.of_int @@ Script_ir_translator.compare_comparable ty a b, - rest ), - ctxt ) - (* comparators *) - | (Eq, (cmpres, rest)) -> - let cmpres = Script_int.compare cmpres Script_int.zero in - let cmpres = Compare.Int.(cmpres = 0) in - logged_return ((cmpres, rest), ctxt) - | (Neq, (cmpres, rest)) -> - let cmpres = Script_int.compare cmpres Script_int.zero in - let cmpres = Compare.Int.(cmpres <> 0) in - logged_return ((cmpres, rest), ctxt) - | (Lt, (cmpres, rest)) -> - let cmpres = Script_int.compare cmpres Script_int.zero in - let cmpres = Compare.Int.(cmpres < 0) in - logged_return ((cmpres, rest), ctxt) - | (Le, (cmpres, rest)) -> - let cmpres = Script_int.compare cmpres Script_int.zero in - let cmpres = Compare.Int.(cmpres <= 0) in - logged_return ((cmpres, rest), ctxt) - | (Gt, (cmpres, rest)) -> - let cmpres = Script_int.compare cmpres Script_int.zero in - let cmpres = Compare.Int.(cmpres > 0) in - logged_return ((cmpres, rest), ctxt) - | (Ge, (cmpres, rest)) -> - let cmpres = Script_int.compare cmpres Script_int.zero in - let cmpres = Compare.Int.(cmpres >= 0) in - logged_return ((cmpres, rest), ctxt) - (* packing *) - | (Pack t, (value, rest)) -> - Script_ir_translator.pack_data ctxt t value - >>=? fun (bytes, ctxt) -> logged_return ((bytes, rest), ctxt) - | (Unpack ty, (bytes, rest)) -> - unpack ctxt ~ty ~bytes - >>=? fun (opt, ctxt) -> logged_return ((opt, rest), ctxt) - (* protocol *) - | (Address, ((_, address), rest)) -> - logged_return ((address, rest), ctxt) - | (Contract (t, entrypoint), (contract, rest)) -> ( - match (contract, entrypoint) with - | ((contract, "default"), entrypoint) | ((contract, entrypoint), "default") - -> - Script_ir_translator.parse_contract_for_script - ctxt - loc - t - contract - ~entrypoint - >>=? fun (ctxt, maybe_contract) -> - logged_return ((maybe_contract, rest), ctxt) - | _ -> - logged_return ((None, rest), ctxt) ) - | (Transfer_tokens, (p, (amount, ((tp, (destination, entrypoint)), rest)))) - -> - collect_lazy_storage ctxt tp p - >>?= fun (to_duplicate, ctxt) -> - let to_update = no_lazy_storage_id in - extract_lazy_storage_diff - ctxt - Optimized - tp - p - ~to_duplicate - ~to_update - ~temporary:true - >>=? fun (p, lazy_storage_diff, ctxt) -> - unparse_data ctxt Optimized tp p - >>=? fun (p, ctxt) -> - Gas.consume ctxt (Script.strip_locations_cost p) - >>?= fun ctxt -> - let operation = - Transaction - { - amount; - destination; - entrypoint; - parameters = Script.lazy_expr (Micheline.strip_locations p); - } - in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - logged_return - ( ( ( Internal_operation - {source = step_constants.self; operation; nonce}, - lazy_storage_diff ), - rest ), - ctxt ) - | (Implicit_account, (key, rest)) -> - let contract = Contract.implicit_contract key in - logged_return (((Unit_t None, (contract, "default")), rest), ctxt) - | ( Create_contract (storage_type, param_type, Lam (_, code), root_name), - (* Removed the instruction's arguments manager, spendable and delegatable *) - (delegate, (credit, (init, rest))) ) -> - unparse_ty ctxt param_type - >>?= fun (unparsed_param_type, ctxt) -> - let unparsed_param_type = - Script_ir_translator.add_field_annot root_name None unparsed_param_type - in - unparse_ty ctxt storage_type - >>?= fun (unparsed_storage_type, ctxt) -> - let code = - Micheline.strip_locations - (Seq - ( 0, - [ Prim (0, K_parameter, [unparsed_param_type], []); - Prim (0, K_storage, [unparsed_storage_type], []); - Prim (0, K_code, [code], []) ] )) - in - collect_lazy_storage ctxt storage_type init - >>?= fun (to_duplicate, ctxt) -> - let to_update = no_lazy_storage_id in - extract_lazy_storage_diff - ctxt - Optimized - storage_type - init - ~to_duplicate - ~to_update - ~temporary:true - >>=? fun (init, lazy_storage_diff, ctxt) -> - unparse_data ctxt Optimized storage_type init - >>=? fun (storage, ctxt) -> - Gas.consume ctxt (Script.strip_locations_cost storage) - >>?= fun ctxt -> - let storage = Micheline.strip_locations storage in - Contract.fresh_contract_from_current_nonce ctxt - >>?= fun (ctxt, contract) -> - let operation = - Origination - { - credit; - delegate; - preorigination = Some contract; - script = - { - code = Script.lazy_expr code; - storage = Script.lazy_expr storage; - }; - } - in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - logged_return - ( ( ( Internal_operation - {source = step_constants.self; operation; nonce}, - lazy_storage_diff ), - ((contract, "default"), rest) ), - ctxt ) - | (Set_delegate, (delegate, rest)) -> - let operation = Delegation delegate in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - logged_return - ( ( ( Internal_operation - {source = step_constants.self; operation; nonce}, - None ), - rest ), - ctxt ) - | (Balance, rest) -> - Contract.get_balance_carbonated ctxt step_constants.self - >>=? fun (ctxt, balance) -> logged_return ((balance, rest), ctxt) - | (Level, rest) -> - let level = - (Level.current ctxt).level |> Raw_level.to_int32 |> Script_int.of_int32 - |> Script_int.abs - in - logged_return ((level, rest), ctxt) - | (Now, rest) -> - let now = Script_timestamp.now ctxt in - logged_return ((now, rest), ctxt) - | (Check_signature, (key, (signature, (message, rest)))) -> - let res = Signature.check key signature message in - logged_return ((res, rest), ctxt) - | (Hash_key, (key, rest)) -> - logged_return ((Signature.Public_key.hash key, rest), ctxt) - | (Blake2b, (bytes, rest)) -> - let hash = Raw_hashes.blake2b bytes in - logged_return ((hash, rest), ctxt) - | (Sha256, (bytes, rest)) -> - let hash = Raw_hashes.sha256 bytes in - logged_return ((hash, rest), ctxt) - | (Sha512, (bytes, rest)) -> - let hash = Raw_hashes.sha512 bytes in - logged_return ((hash, rest), ctxt) - | (Source, rest) -> - logged_return (((step_constants.payer, "default"), rest), ctxt) - | (Sender, rest) -> - logged_return (((step_constants.source, "default"), rest), ctxt) - | (Self (t, entrypoint), rest) -> - logged_return (((t, (step_constants.self, entrypoint)), rest), ctxt) - | (Self_address, rest) -> - logged_return (((step_constants.self, "default"), rest), ctxt) - | (Amount, rest) -> - logged_return ((step_constants.amount, rest), ctxt) - | (Dig (_n, n'), stack) -> - interp_stack_prefix_preserving_operation - (fun (v, rest) -> return (rest, v)) - n' - stack - >>=? fun (aft, x) -> logged_return ((x, aft), ctxt) - | (Dug (_n, n'), (v, rest)) -> - interp_stack_prefix_preserving_operation - (fun stk -> return ((v, stk), ())) - n' - rest - >>=? fun (aft, ()) -> logged_return (aft, ctxt) - | (Dipn (n, n', b), stack) -> - interp_stack_prefix_preserving_operation - (fun stk -> - non_terminal_recursion - ~ctxt - b - stk - (* This is a cheap upper bound of the number recursive calls to - `interp_stack_prefix_preserving_operation`, which does - ((n / 16) + log2 (n % 16)) iterations *) - ~stack_depth:(stack_depth + 4 + (n / 16))) - n' - stack - >>=? fun (aft, ctxt') -> logged_return (aft, ctxt') - | (Dropn (_n, n'), stack) -> - interp_stack_prefix_preserving_operation - (fun stk -> return (stk, stk)) - n' - stack - >>=? fun (_, rest) -> logged_return (rest, ctxt) - | (Sapling_empty_state {memo_size}, stack) -> - logged_return ((Sapling.empty_state ~memo_size (), stack), ctxt) - | (Sapling_verify_update, (transaction, (state, rest))) -> ( - let address = Contract.to_b58check step_constants.self in - let chain_id = Chain_id.to_b58check step_constants.chain_id in - let anti_replay = address ^ chain_id in - Sapling.verify_update ctxt state transaction anti_replay - >>=? fun (ctxt, balance_state_opt) -> - match balance_state_opt with - | Some (balance, state) -> - logged_return - ((Some (Script_int.of_int64 balance, state), rest), ctxt) - | None -> - logged_return ((None, rest), ctxt) ) - | (ChainId, rest) -> - logged_return ((step_constants.chain_id, rest), ctxt) - | (Never, (_, _)) -> - . - | (Voting_power, (key_hash, rest)) -> - Vote.get_voting_power ctxt key_hash - >>=? fun (ctxt, rolls) -> - logged_return ((Script_int.(abs (of_int32 rolls)), rest), ctxt) - | (Total_voting_power, rest) -> - Vote.get_total_voting_power ctxt - >>=? fun (ctxt, rolls) -> - logged_return ((Script_int.(abs (of_int32 rolls)), rest), ctxt) - | (Keccak, (bytes, rest)) -> - let hash = Raw_hashes.keccak256 bytes in - logged_return ((hash, rest), ctxt) - | (Sha3, (bytes, rest)) -> - let hash = Raw_hashes.sha3_256 bytes in - logged_return ((hash, rest), ctxt) - | (Add_bls12_381_g1, (x, (y, rest))) -> - logged_return ((Bls12_381.G1.add x y, rest), ctxt) - | (Add_bls12_381_g2, (x, (y, rest))) -> - logged_return ((Bls12_381.G2.add x y, rest), ctxt) - | (Add_bls12_381_fr, (x, (y, rest))) -> - logged_return ((Bls12_381.Fr.add x y, rest), ctxt) - | (Mul_bls12_381_g1, (x, (y, rest))) -> - logged_return ((Bls12_381.G1.mul x y, rest), ctxt) - | (Mul_bls12_381_g2, (x, (y, rest))) -> - logged_return ((Bls12_381.G2.mul x y, rest), ctxt) - | (Mul_bls12_381_fr, (x, (y, rest))) -> - logged_return ((Bls12_381.Fr.mul x y, rest), ctxt) - | (Mul_bls12_381_fr_z, (x, (y, rest))) -> - let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in - let res = (Bls12_381.Fr.mul x y, rest) in - logged_return (res, ctxt) - | (Mul_bls12_381_z_fr, (y, (x, rest))) -> - let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in - let res = (Bls12_381.Fr.mul x y, rest) in - logged_return (res, ctxt) - | (Int_bls12_381_fr, (x, rest)) -> - logged_return ((Script_int.of_zint (Bls12_381.Fr.to_z x), rest), ctxt) - | (Neg_bls12_381_g1, (x, rest)) -> - logged_return ((Bls12_381.G1.negate x, rest), ctxt) - | (Neg_bls12_381_g2, (x, rest)) -> - logged_return ((Bls12_381.G2.negate x, rest), ctxt) - | (Neg_bls12_381_fr, (x, rest)) -> - logged_return ((Bls12_381.Fr.negate x, rest), ctxt) - | (Pairing_check_bls12_381, (pairs, rest)) -> - let check = - match pairs.elements with - | [] -> - true - | pairs -> - Bls12_381.( - miller_loop pairs |> final_exponentiation_opt - |> Option.map Gt.(eq one)) - |> Option.value ~default:false - in - logged_return ((check, rest), ctxt) - | (Comb (_, witness), stack) -> - let rec aux : - type before after. - (before, after) comb_gadt_witness -> before -> after = - fun witness stack -> - match (witness, stack) with - | (Comb_one, stack) -> - stack - | (Comb_succ witness', (a, tl)) -> - let (b, tl') = aux witness' tl in - ((a, b), tl') - in - logged_return (aux witness stack, ctxt) - | (Uncomb (_, witness), stack) -> - let rec aux : - type before after. - (before, after) uncomb_gadt_witness -> before -> after = - fun witness stack -> - match (witness, stack) with - | (Uncomb_one, stack) -> - stack - | (Uncomb_succ witness', ((a, b), tl)) -> - (a, aux witness' (b, tl)) - in - logged_return (aux witness stack, ctxt) - | (Comb_get (_, witness), (comb, stack)) -> - let rec aux : - type before after. - (before, after) comb_get_gadt_witness -> before -> after = - fun witness comb -> - match (witness, comb) with - | (Comb_get_zero, v) -> - v - | (Comb_get_one, (a, _)) -> - a - | (Comb_get_plus_two witness', (_, b)) -> - aux witness' b - in - logged_return ((aux witness comb, stack), ctxt) - | (Comb_set (_, witness), (value, (comb, stack))) -> - let rec aux : - type value before after. - (value, before, after) comb_set_gadt_witness -> - value -> - before -> - after = - fun witness value item -> - match (witness, item) with - | (Comb_set_zero, _) -> - value - | (Comb_set_one, (_hd, tl)) -> - (value, tl) - | (Comb_set_plus_two witness', (hd, tl)) -> - (hd, aux witness' value tl) - in - logged_return ((aux witness value comb, stack), ctxt) - | (Dup_n (_, witness), stack) -> - let rec aux : - type before after. - (before, after) dup_n_gadt_witness -> before -> after = - fun witness stack -> - match (witness, stack) with - | (Dup_n_zero, (a, _)) -> - a - | (Dup_n_succ witness', (_, tl)) -> - aux witness' tl - in - logged_return ((aux witness stack, stack), ctxt) - (* Tickets *) - | (Ticket, (contents, (amount, rest))) -> - let ticketer = (step_constants.self, "default") in - logged_return (({ticketer; contents; amount}, rest), ctxt) - | (Read_ticket, (({ticketer; contents; amount}, _) as stack)) -> - logged_return (((ticketer, (contents, amount)), stack), ctxt) - | (Split_ticket, (ticket, ((amount_a, amount_b), rest))) -> - let result = - if - Compare.Int.( - Script_int.(compare (add_n amount_a amount_b) ticket.amount) = 0) - then - Some - ({ticket with amount = amount_a}, {ticket with amount = amount_b}) - else None - in - logged_return ((result, rest), ctxt) - | (Join_tickets contents_ty, ((ticket_a, ticket_b), rest)) -> - let result = - if - Compare.Int.( - compare_address ticket_a.ticketer ticket_b.ticketer = 0 - && compare_comparable - contents_ty - ticket_a.contents - ticket_b.contents - = 0) - then - Some - { - ticketer = ticket_a.ticketer; - contents = ticket_a.contents; - amount = Script_int.add_n ticket_a.amount ticket_b.amount; - } - else None - in - logged_return ((result, rest), ctxt) - [@@coq_axiom_with_reason "gadt"] - -let step : - type b a. - logger -> - context -> - step_constants -> - (b, a) descr -> - b -> - (a * context) tzresult Lwt.t = - step_bounded ~stack_depth:0 + () + | Some logger -> + let module Log = (val logger) in + let kinfo = kinfo_of_kinstr kinstr in + let ctxt = fst g in + Log.log_interp kinstr ctxt kinfo.kloc descr.bef stack ) ; + run_descr logger g kdescr stack -let interp : +and interp : type p r. - logger -> - context -> - step_constants -> + logger option -> + context * step_constants -> (p, r) lambda -> p -> (r * context) tzresult Lwt.t = - fun logger ctxt step_constants (Lam (code, _)) arg -> + fun logger g (Lam (code, _)) arg -> let stack = (arg, ()) in - let module Log = (val logger) in - Log.log_interp ctxt code stack ; - step logger ctxt step_constants code stack - >|=? fun ((ret, ()), ctxt) -> (ret, ctxt) - [@@coq_axiom_with_reason "gadt"] + step_descr true logger g code stack >|=? fun ((ret, ()), ctxt) -> (ret, ctxt) + +let kstep logger ctxt step_constants kinstr accu stack = + let gas = (Gas.gas_counter ctxt :> int) in + step logger (outdated ctxt, step_constants) gas kinstr KNil accu stack + >>=? fun (accu, stack, ctxt, gas) -> + return (accu, stack, update_context gas ctxt) + +let step logger ctxt step_constants descr stack = + step_descr false logger (ctxt, step_constants) descr stack -(* ---- contract handling ---------------------------------------------------*) +(* + + High-level functions + ==================== + +*) let execute logger ctxt mode step_constants ~entrypoint ~internal unparsed_script arg : ( Script.expr @@ -1502,7 +2351,7 @@ let execute logger ctxt mode step_constants ~entrypoint ~internal >>?= fun (to_update, ctxt) -> trace (Runtime_contract_error (step_constants.self, script_code)) - (interp logger ctxt step_constants code (arg, storage)) + (interp logger (ctxt, step_constants) code (arg, storage)) >>=? fun ((ops, storage), ctxt) -> Script_ir_translator.extract_lazy_storage_diff ctxt @@ -1541,8 +2390,8 @@ type execution_result = { operations : packed_internal_operation list; } -let execute ?(logger = (module No_trace : STEP_LOGGER)) ctxt mode - step_constants ~script ~entrypoint ~parameter ~internal = +let execute ?logger ctxt mode step_constants ~script ~entrypoint ~parameter + ~internal = execute logger ctxt @@ -1554,3 +2403,22 @@ let execute ?(logger = (module No_trace : STEP_LOGGER)) ctxt mode (Micheline.root parameter) >|=? fun (storage, operations, ctxt, lazy_storage_diff) -> {ctxt; storage; lazy_storage_diff; operations} + +(* + + We export the internals definitions for tool that requires + a white-box view on the interpreter, typically snoop, the + gas model inference engine. + +*) +module Internals = struct + type nonrec local_gas_counter = local_gas_counter + + type nonrec outdated_context = outdated_context = + | OutDatedContext of Alpha_context.t + [@@unboxed] + + let run = run + + let next = next +end diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index 9d2f9147da7e..25e89b3f4c7e 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -23,7 +23,17 @@ (* *) (*****************************************************************************) +(** This is the Michelson interpreter. + + This module offers a way to execute either a Michelson script or a + Michelson instruction. + + Implementation details are documented in the .ml file. + +*) + open Alpha_context +open Script_typed_cps_ir type execution_trace = (Script.location * Gas.t * (Script.expr * string option) list) list @@ -58,6 +68,62 @@ type step_constants = { chain_id : Chain_id.t; } +(** The interpreter uses a control stack with specific cases for loops + and DIP. See the details in the implementation file. *) +type (_, _, _, _) continuation = + | KNil : ('r, 'f, 'r, 'f) continuation + | KCons : + ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation + -> ('a, 's, 'r, 'f) continuation + | KUndip : + 'b * ('b, 'a * 's, 'r, 'f) continuation + -> ('a, 's, 'r, 'f) continuation + | KLoop_in : + ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation + -> (bool, 'a * 's, 'r, 'f) continuation + | KLoop_in_left : + ('a, 's, ('a, 'b) Script_typed_ir.union, 's) kinstr + * ('b, 's, 'r, 'f) continuation + -> (('a, 'b) Script_typed_ir.union, 's, 'r, 'f) continuation + | KIter : + ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation + -> ('b, 's, 'r, 'f) continuation + | KList_mapping : + ('a, 'c * 's, 'b, 'c * 's) kinstr + * 'a list + * 'b list + * int + * ('b Script_typed_ir.boxed_list, 'c * 's, 'r, 'f) continuation + -> ('c, 's, 'r, 'f) continuation + | KList_mapped : + ('a, 'c * 's, 'b, 'c * 's) kinstr + * 'a list + * 'b list + * int + * ('b Script_typed_ir.boxed_list, 'c * 's, 'r, 'f) continuation + -> ('b, 'c * 's, 'r, 'f) continuation + | KMap_mapping : + ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr + * ('a * 'b) list + * ('a, 'c) Script_typed_ir.map + * (('a, 'c) Script_typed_ir.map, 'd * 's, 'r, 'f) continuation + -> ('d, 's, 'r, 'f) continuation + | KMap_mapped : + ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr + * ('a * 'b) list + * ('a, 'c) Script_typed_ir.map + * 'a + * (('a, 'c) Script_typed_ir.map, 'd * 's, 'r, 'f) continuation + -> ('c, 'd * 's, 'r, 'f) continuation + +type ('a, 's, 'b, 'f, 'u) logging_function = + ('a, 's, 'b, 'f) Script_typed_cps_ir.kinstr -> + context -> + Script.location -> + 'u Script_typed_ir.stack_ty -> + 'u -> + unit + (** [STEP_LOGGER] is the module type of logging modules as passed to the Michelson interpreter. Note that logging must be performed by side-effects @@ -67,17 +133,18 @@ module type STEP_LOGGER = sig function [interp]. [interp] is called when starting the interpretation of a script and subsequently at each [Exec] instruction. *) - val log_interp : - context -> ('bef, 'aft) Script_typed_ir.descr -> 'bef -> unit + val log_interp : ('a, 's, 'b, 'f, 'u) logging_function (** [log_entry] is called {i before} executing each instruction but {i after} gas for this instruction has been successfully consumed. *) - val log_entry : context -> ('bef, 'aft) Script_typed_ir.descr -> 'bef -> unit + val log_entry : ('a, 's, 'b, 'f, 'a * 's) logging_function + + val log_control : ('a, 's, 'b, 'f) continuation -> unit (** [log_exit] is called {i after} executing each instruction. *) - val log_exit : context -> ('bef, 'aft) Script_typed_ir.descr -> 'aft -> unit + val log_exit : ('a, 's, 'b, 'f, 'u) logging_function (** [get_log] allows to obtain an execution trace, if any was produced. *) @@ -87,7 +154,7 @@ end type logger = (module STEP_LOGGER) val step : - logger -> + logger option -> context -> step_constants -> ('bef, 'aft) Script_typed_ir.descr -> @@ -104,3 +171,63 @@ val execute : parameter:Script.expr -> internal:bool -> execution_result tzresult Lwt.t + +(** [kstep logger ctxt step_constants kinstr accu stack] interprets the + script represented by [kinstr] under the context [ctxt]. This will + turn a stack whose topmost element is [accu] and remaining elements + [stack] into a new accumulator and a new stack. This function also + returns an updated context. If [logger] is given, [kstep] calls back + its functions at specific points of the execution. The execution is + parameterized by some [step_constants]. *) +val kstep : + logger option -> + context -> + step_constants -> + ('a, 's, 'r, 'f) Script_typed_cps_ir.kinstr -> + 'a -> + 's -> + ('r * 'f * context) tzresult Lwt.t + +(** Internal interpretation loop + ============================ + + The following types and the following function are exposed + in the interface to allow the inference of a gas model in + snoop. + + Strictly speaking, they should not be considered as part of + the interface since they expose implementation details that + may change in the future. + +*) + +module Internals : sig + (** Internally, the interpretation loop uses a local gas counter. *) + type local_gas_counter = int + + (** During the evaluation, the gas level in the context is outdated. *) + type outdated_context = OutDatedContext of context [@@unboxed] + + (** [run logger ctxt step_constants local_gas_counter i k ks accu stack] + evaluates [k] (having [i] as predecessor) under the control flow + stack [ks] and the A-stack represented by [accu] and [stack]. *) + val run : + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + ('c, 'u, 'd, 'v) kinstr -> + ('a, 's, 'b, 't) kinstr -> + ('b, 't, 'r, 'f) continuation -> + 'a -> + 's -> + ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t + + val next : + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + ('a, 's, 'r, 'f) continuation -> + 'a -> + 's -> + ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t +end diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 59fe8547a5a2..b85cf25e5c20 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -2604,7 +2604,7 @@ type _ dipn_proof_argument = type _ dropn_proof_argument = | Dropn_proof_argument : - ( ('rest, 'rest, 'bef, 'aft) stack_prefix_preservation_witness + ( ('rest, 'rest, 'bef, 'bef) stack_prefix_preservation_witness * 'rest stack_ty * 'aft stack_ty ) -> 'bef dropn_proof_argument @@ -7004,7 +7004,7 @@ let big_map_get_and_update ctxt key value map = big_map_update_by_hash ctxt key_hash key value map >>=? fun (map', ctxt) -> big_map_get_by_hash ctxt key_hash map - >>=? fun (old_value, ctxt) -> return (old_value, map', ctxt) + >>=? fun (old_value, ctxt) -> return ((old_value, map'), ctxt) (* ---------------- Lazy storage---------------------------------------------*) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.mli b/src/proto_alpha/lib_protocol/script_ir_translator.mli index 2c2ba2de3e39..4a1f73d54e6f 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.mli +++ b/src/proto_alpha/lib_protocol/script_ir_translator.mli @@ -150,7 +150,7 @@ val big_map_get_and_update : 'key -> 'value option -> ('key, 'value) Script_typed_ir.big_map -> - ('value option * ('key, 'value) Script_typed_ir.big_map * context) tzresult + (('value option * ('key, 'value) Script_typed_ir.big_map) * context) tzresult Lwt.t val ty_eq : diff --git a/src/proto_alpha/lib_protocol/script_typed_cps_ir.ml b/src/proto_alpha/lib_protocol/script_typed_cps_ir.ml new file mode 100644 index 000000000000..1ce642951a20 --- /dev/null +++ b/src/proto_alpha/lib_protocol/script_typed_cps_ir.ml @@ -0,0 +1,2641 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2020 Dynamic Ledger Solutions, Inc. *) +(* Copyright (c) 2020 Metastate AG *) +(* *) +(* 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_int +open Script_typed_ir + +(* ---- Instructions --------------------------------------------------------*) + +(* + + The instructions of Michelson are represented in the following + Generalized Algebraic Datatypes. + + There are three important aspects in that type declaration. + + First, we follow a tagless approach for values: they are directly + represented as OCaml values. This reduces the computational cost of + interpretation because there is no need to check the shape of a + value before applying an operation to it. To achieve that, the GADT + encodes the typing rules of the Michelson programming + language. This static information is sufficient for the typechecker + to justify the absence of runtime checks. As a bonus, it also + ensures that well-typed Michelson programs cannot go wrong: if the + interpreter typechecks then we have the static guarantee that no + stack underflow or type error can occur at runtime. + + Second, we maintain the invariant that the stack type always has a + distinguished topmost element. This invariant is important to + implement the stack as an accumulator followed by a linked list of + cells. This representation is considered in the literature as an + efficient representation of the stack for a stack-based abstract + machine, mainly because this opens the opportunity for the + accumulator to be stored in a hardware register. In the GADT, this + invariant is encoded by representing the stack type using two + parameters instead of one: the first one is the type of the + accumulator while the second is the type of the rest of the stack. + + Third, in this representation, each instruction embeds its + potential successor instructions in the control flow. This design + choice permits an efficient implementation of the continuation + stack in the interpreter. Assigning a precise type to this kind of + instruction which is a cell in a linked list of instructions is + similar to the typing of delimited continuations: we need to give a + type [`bef] to the stack before the execution of the instruction, a + type [`aft] to the stack after the execution of the instruction and + before the execution of the next, and a type [`res] for the resulting + stack type after the execution of the whole chain of instructions. + + Combining these three aspects, the type [kinstr] needs four parameters: + + ('bef_top, 'bef, 'res_top, `res) kinstr + + Notice that we could have chosen to only give two parameters to [kinstr] + by manually enforcing each argument to be a pair but this is + error-prone: with four parameters, this constraint is enforced by the arity of + the type constructor itself. + + Hence, an instruction which has a successor instruction enjoys a + type of the form: + + ('aft_top, 'aft, 'res_top, 'res) kinstr -> + ('bef_top, 'bef, 'res_top, 'res) kinstr + + where [bef_top] and [bef] are the types of the stack top and rest + before the instruction chain, and [res_top] and [res] are the types + of the stack top and rest after the instruction chain + + Notations: + ---------- + + In the following declaration, we use 'a, 'b, 'c, 'd, ... + to assign types to stack cell contents while we use 's, 't, + 'u, 'v, ... to assign types to stacks. + + The types for the final result and stack rest of a whole + sequence of instructions are written 'r and 'f + (standing for "result" and "final stack rest", respectively). + + Instructions for internal execution steps + ========================================= + + Some instructions of the following list are not present in the + source language. They only appear during evaluation to account + for intermediate execution steps. Indeed, since the interpreter + follows a small-step style, it is sometimes necessary to decompose + a source-level instruction (e.g. List_map) into several instructions + with smaller steps. This technique seems required to get an efficient + tail-recursive interpreter. + +*) + +type ('bef_top, 'bef, 'res_top, 'res) kinstr = + (* + Stack + ----- + *) + | IDrop : + ('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, 'r, 'f) kinstr + | IConst : + ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + (* + Pairs + ----- + *) + | ICons_pair : + ('a, 'b * 's) kinfo * ('a * 'b, 's, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr + | ICar : + ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr + -> ('a * 'b, 's, 'r, 'f) kinstr + | ICdr : + ('a * 'b, 's) kinfo * ('b, 's, 'r, 'f) kinstr + -> ('a * 'b, 's, 'r, 'f) kinstr + | IUnpair : + ('a * 'b, 's) kinfo * ('a, 'b * 's, 'r, 'f) kinstr + -> ('a * 'b, 's, 'r, 'f) kinstr + (* + Options + ------- + *) + | ICons_some : + ('v, 's) kinfo * ('v option, 's, 'r, 'f) kinstr + -> ('v, 's, 'r, 'f) kinstr + | ICons_none : + ('a, 's) kinfo * 'b ty * ('b option, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IIf_none : + ('a option, 'b * 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('b, 's, 'r, 'f) kinstr + * ('a, 'b * 's, 'r, 'f) kinstr + -> ('a option, 'b * 's, 'r, 'f) kinstr + (* + Unions + ------ + *) + | ICons_left : + ('a, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ICons_right : + ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr + -> ('b, 's, 'r, 'f) kinstr + | IIf_left : + (('a, 'b) union, 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('a, 's, 'r, 'f) kinstr + * ('b, 's, 'r, 'f) kinstr + -> (('a, 'b) union, 's, 'r, 'f) kinstr + (* + Lists + ----- + *) + | ICons_list : + ('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, 'r, 'f) kinstr + | IIf_cons : + ('a boxed_list, 'b * 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('a, 'a boxed_list * ('b * 's), 'r, 'f) kinstr + * ('b, 's, 'r, 'f) kinstr + -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr + | IList_map : + ('a boxed_list, 'c * 's) kinfo + * ('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 + * ('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 + -> ('a boxed_list, 's, 'r, 'f) kinstr + (* + Sets + ---- + *) + | IEmpty_set : + ('a, 's) kinfo * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISet_iter : + ('a set, 'b * 's) kinfo + * ('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 + -> ('a, 'a set * 's, 'r, 'f) kinstr + | ISet_update : + ('a, bool * ('a set * 's)) kinfo * ('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 + -> ('a set, 's, 'r, 'f) kinstr + (* + Maps + ---- + *) + | IEmpty_map : + ('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 * '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, '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 + -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr + | IMap_get : + ('a, ('a, 'b) map * 's) kinfo * ('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 + -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr + | IMap_get_and_update : + ('a, 'v option * (('a, 'v) map * 'rest)) kinfo + * ('v option, ('a, 'v) map * 'rest, 'r, 'f) kinstr + -> ('a, 'v option * (('a, 'v) map * 'rest), 'r, 'f) kinstr + | IMap_size : + (('a, 'b) map, 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (('a, 'b) map, 's, 'r, 'f) kinstr + (* + Big maps + -------- + *) + | IEmpty_big_map : + ('a, 's) kinfo + * '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 + -> ('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 + -> ('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 + -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr + | IBig_map_get_and_update : + ('a, 'v option * (('a, 'v) big_map * 'rest)) kinfo + * ('v option, ('a, 'v) big_map * 'rest, 'r, 'f) kinstr + -> ('a, 'v option * (('a, 'v) big_map * 'rest), 'r, 'f) kinstr + (* + Strings + ------- + *) + | IConcat_string : + (string boxed_list, 's) kinfo * (string, 's, 'r, 'f) kinstr + -> (string boxed_list, 's, 'r, 'f) kinstr + | IConcat_string_pair : + (string, string * 's) kinfo * (string, 's, 'r, 'f) kinstr + -> (string, string * 's, 'r, 'f) kinstr + | ISlice_string : + (n num, n num * (string * 's)) kinfo * (string option, 's, 'r, 'f) kinstr + -> (n num, n num * (string * 's), 'r, 'f) kinstr + | IString_size : + (string, 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (string, 's, 'r, 'f) kinstr + (* + Bytes + ----- + *) + | IConcat_bytes : + (bytes boxed_list, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes boxed_list, 's, 'r, 'f) kinstr + | IConcat_bytes_pair : + (bytes, bytes * 's) kinfo * (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 + -> (n num, n num * (bytes * 's), 'r, 'f) kinstr + | IBytes_size : + (bytes, 's) kinfo * (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 + -> (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_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_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_timestamp.t, Script_timestamp.t * 's, 'r, 'f) kinstr + (* + Tez + --- + *) + | IAdd_tez : + (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr + | ISub_tez : + (Tez.t, Tez.t * 's) kinfo * (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 + -> (Tez.t, n num * 's, 'r, 'f) kinstr + | IMul_nattez : + (n num, Tez.t * 's) kinfo * (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 + -> (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 + -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr + (* + Booleans + -------- + *) + | IOr : + (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, bool * 's, 'r, 'f) kinstr + | IAnd : + (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, bool * 's, 'r, 'f) kinstr + | IXor : + (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, bool * 's, 'r, 'f) kinstr + | INot : + (bool, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, 's, 'r, 'f) kinstr + (* + Integers + -------- + *) + | IIs_nat : + (z num, 's) kinfo * (n num option, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | INeg_nat : + (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, 's, 'r, 'f) kinstr + | INeg_int : + (z num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IAbs_int : + (z num, 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IInt_nat : + (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, 's, 'r, 'f) kinstr + | IAdd_intint : + (z num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, z num * 's, 'r, 'f) kinstr + | IAdd_intnat : + (z num, n num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, n num * 's, 'r, 'f) kinstr + | IAdd_natint : + (n num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, z num * 's, 'r, 'f) kinstr + | IAdd_natnat : + (n num, n num * 's) kinfo * (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 + -> ('a num, 'b num * 's, 'r, 'f) kinstr + | IMul_intint : + (z num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, z num * 's, 'r, 'f) kinstr + | IMul_intnat : + (z num, n num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, n num * 's, 'r, 'f) kinstr + | IMul_natint : + (n num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, z num * 's, 'r, 'f) kinstr + | IMul_natnat : + (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (n num, n num * 's, 'r, 'f) kinstr + | IEdiv_intint : + (z num, z num * 's) kinfo + * ((z num, n num) pair option, 's, 'r, 'f) kinstr + -> (z num, z num * 's, 'r, 'f) kinstr + | IEdiv_intnat : + (z num, n num * 's) kinfo + * ((z num, n num) pair option, 's, 'r, 'f) kinstr + -> (z num, n num * 's, 'r, 'f) kinstr + | IEdiv_natint : + (n num, z num * 's) kinfo + * ((z num, n num) pair option, 's, 'r, 'f) kinstr + -> (n num, z num * 's, 'r, 'f) kinstr + | IEdiv_natnat : + (n num, n num * 's) kinfo + * ((n num, n num) pair option, 's, 'r, 'f) kinstr + -> (n num, n num * 's, 'r, 'f) kinstr + | ILsl_nat : + (n num, n num * 's) kinfo * (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 + -> (n num, n num * 's, 'r, 'f) kinstr + | IOr_nat : + (n num, n num * 's) kinfo * (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 + -> (n num, n num * 's, 'r, 'f) kinstr + | IAnd_int_nat : + (z num, n num * 's) kinfo * (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 + -> (n num, n num * 's, 'r, 'f) kinstr + | INot_nat : + (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, 's, 'r, 'f) kinstr + | INot_int : + (z num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + (* + Control + ------- + *) + | IIf : + (bool, 'a * 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('a, 's, 'r, 'f) kinstr + * ('a, 's, '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 + -> (bool, 'a * 's, 'r, 'f) kinstr + | ILoop_left : + (('a, 'b) union, 's) kinfo + * ('a, 's, ('a, 'b) union, 's) kinstr + * ('b, 's, 'r, 'f) kinstr + -> (('a, 'b) union, 's, 'r, 'f) kinstr + | IDip : + ('a, 'b * 's) kinfo + * ('c, 't) kinfo + * ('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 + -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr + | IApply : + ('a, ('a * 't, 'b) lambda * 's) kinfo + * 'a ty + * (('t, 'b) lambda, 's, 'r, 'f) kinstr + -> ('a, ('a * 't, 'b) lambda * 's, 'r, 'f) kinstr + | ILambda : + ('a, 's) kinfo + * ('b, 'c) lambda + * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IFailwith : + ('a, 's) kinfo * Script.location * 'a ty * ('b, 't, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | INop : ('a, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr + (* + Comparison + ---------- + *) + | ICompare : + ('a, 'a * 's) kinfo * 'a comparable_ty * (z num, 's, 'r, 'f) kinstr + -> ('a, 'a * 's, 'r, 'f) kinstr + (* + Comparators + ----------- + *) + | IEq : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | INeq : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | ILt : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IGt : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | ILe : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IGe : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + (* + Protocol + -------- + *) + | IAddress : + ('a typed_contract, 's) kinfo * (address, 's, 'r, 'f) kinstr + -> ('a typed_contract, 's, 'r, 'f) kinstr + | IContract : + (address, 's) kinfo + * 'a ty + * string + * ('a typed_contract option, 's, 'r, 'f) kinstr + -> (address, 's, 'r, 'f) kinstr + | ITransfer_tokens : + ('a, Tez.t * ('a typed_contract * 's)) kinfo + * (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 + -> (public_key_hash, 's, 'r, 'f) kinstr + | ICreate_contract : + (public_key_hash option, Tez.t * ('a * 's)) kinfo + * 'a ty + * 'b ty + * ('b * 'a, operation boxed_list * 'a) lambda + * field_annot option + * (operation, address * 's, 'r, 'f) kinstr + -> (public_key_hash option, Tez.t * ('a * '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 + | INow : + ('a, 's) kinfo * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IBalance : + ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ILevel : + ('a, 's) kinfo * (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 + -> (public_key, signature * (bytes * 's), 'r, 'f) kinstr + | IHash_key : + (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 + | IUnpack : + (bytes, 's) kinfo * 'a ty * ('a option, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | IBlake2b : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISha256 : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISha512 : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISource : + ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISender : + ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISelf : + ('a, 's) kinfo + * 'b ty + * string + * ('b typed_contract, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISelf_address : + ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IAmount : + ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISapling_empty_state : + ('a, 's) kinfo + * 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 + * ((z num, Sapling.state) pair option, 's, 'r, 'f) kinstr + -> (Sapling.transaction, Sapling.state * 's, 'r, 'f) kinstr + | IDig : + ('a, 's) kinfo + * int + * ('b * 't, 't, 'a * 's, 'u) stack_prefix_preservation_witness + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IDug : + ('a, 's) kinfo + * int + * ('t, 'a * 't, 's, 'b * 'u) stack_prefix_preservation_witness + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IDipn : + ('a, 's) kinfo + * int + * ('c * 't, 'd * 'v, 'a * 's, 'b * 'u) kstack_prefix_preservation_witness + * ('c, 't, 'd, 'v) kinstr + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IDropn : + ('a, 's) kinfo + * 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 * (Chain_id.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | INever : + (never, 's) kinfo * ('b, 'u, 'r, 'f) kinstr + -> (never, 's, 'r, 'f) kinstr + | IVoting_power : + (public_key_hash, 's) kinfo * (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 + -> ('a, 's, 'r, 'f) kinstr + | IKeccak : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISha3 : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | IAdd_bls12_381_g1 : + (Bls12_381.G1.t, Bls12_381.G1.t * 's) kinfo + * (Bls12_381.G1.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G1.t, Bls12_381.G1.t * 's, 'r, 'f) kinstr + | IAdd_bls12_381_g2 : + (Bls12_381.G2.t, Bls12_381.G2.t * 's) kinfo + * (Bls12_381.G2.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G2.t, Bls12_381.G2.t * 's, 'r, 'f) kinstr + | IAdd_bls12_381_fr : + (Bls12_381.Fr.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_g1 : + (Bls12_381.G1.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.G1.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G1.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_g2 : + (Bls12_381.G2.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.G2.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G2.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_fr : + (Bls12_381.Fr.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_z_fr : + (Bls12_381.Fr.t, 'a num * 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, 'a num * 's, 'r, 'f) kinstr + | IMul_bls12_381_fr_z : + ('a num, Bls12_381.Fr.t * 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> ('a num, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IInt_bls12_381_fr : + (Bls12_381.Fr.t, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + | INeg_bls12_381_g1 : + (Bls12_381.G1.t, 's) kinfo * (Bls12_381.G1.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G1.t, 's, 'r, 'f) kinstr + | INeg_bls12_381_g2 : + (Bls12_381.G2.t, 's) kinfo * (Bls12_381.G2.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G2.t, 's, 'r, 'f) kinstr + | INeg_bls12_381_fr : + (Bls12_381.Fr.t, 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + | IPairing_check_bls12_381 : + ((Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list, 's) kinfo + * (bool, 's, 'r, 'f) kinstr + -> ((Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list, 's, 'r, 'f) kinstr + | IComb : + ('a, 's) kinfo + * int + * ('a * 's, 'b * 'u) comb_gadt_witness + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IUncomb : + ('a, 's) kinfo + * int + * ('a * 's, 'b * 'u) uncomb_gadt_witness + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IComb_get : + ('t, 's) kinfo + * int + * ('t, 'v) comb_get_gadt_witness + * ('v, 's, 'r, 'f) kinstr + -> ('t, 's, 'r, 'f) kinstr + | IComb_set : + ('a, 'b * 's) kinfo + * int + * ('a, 'b, 'c) comb_set_gadt_witness + * ('c, 's, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr + | IDup_n : + ('a, 's) kinfo + * int + * ('a * 's, 't) dup_n_gadt_witness + * ('t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ITicket : + ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr + -> ('a, n num * 's, 'r, 'f) kinstr + | IRead_ticket : + ('a ticket, 's) kinfo + * (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 + -> ('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 + -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr + | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr + +and ('bef, 'aft) kdescr = + | KDescr : { + kloc : Script.location; + kbef : 'bef stack_ty; + kaft : 'aft stack_ty; + kli : ('bef, 'a * 's) lift; + klo : ('aft, 'r * 'f) lift; + kinstr : ('a, 's, 'r, 'f) kinstr; + } + -> ('bef, 'aft) kdescr + +and ('a, 's) kinfo = {kloc : Script.location; kstack_ty : ('a * 's) stack_ty} + +and (_, _) lift = + | BaseLift : (unit, unit * unit) lift + | IndLift : ('a, 'y * 'b) lift -> ('x * 'a, 'x * ('y * 'b)) lift + +and _ is_lifted = IsLifted : ('a, 'b) lift -> 'b is_lifted + +and ('bef, 'aft, 'bef_suffix, 'aft_suffix) kstack_prefix_preservation_witness = + | KPrefix : + ('y, 'aft) kinfo + * 'bef is_lifted + * ('y * 'aft) is_lifted + * ('fbef, 'faft, 'bef, 'y * 'aft) kstack_prefix_preservation_witness + -> ( 'fbef, + 'faft, + 'x * 'bef, + 'x * ('y * 'aft) ) + kstack_prefix_preservation_witness + | KRest : + 'bef is_lifted * 'aft is_lifted + -> ('bef, 'aft, 'bef, 'aft) kstack_prefix_preservation_witness + +(* + + We sometimes need to hide the exact shape of the input stack behind + an existential quantification. + + [('t, 'b, 'u) exkinstr = exists 'x 'z, ('x, 'z, 'b, 'u) kinstr] + + *) + +type (_, _, _) exkinstr = + | ExKInstr : ('x, 'z, 'b, 'u) kinstr -> ('x * 'z, 'b, 'u) exkinstr +[@@unboxed] + +let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = + 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 + | 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 + | 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_nat (kinfo, _) -> + kinfo + | INeg_int (kinfo, _) -> + kinfo + | IAbs_int (kinfo, _) -> + kinfo + | IInt_nat (kinfo, _) -> + kinfo + | IAdd_intint (kinfo, _) -> + kinfo + | IAdd_intnat (kinfo, _) -> + kinfo + | IAdd_natint (kinfo, _) -> + kinfo + | IAdd_natnat (kinfo, _) -> + kinfo + | ISub_int (kinfo, _) -> + kinfo + | IMul_intint (kinfo, _) -> + kinfo + | IMul_intnat (kinfo, _) -> + kinfo + | IMul_natint (kinfo, _) -> + kinfo + | IMul_natnat (kinfo, _) -> + kinfo + | IEdiv_intint (kinfo, _) -> + kinfo + | IEdiv_intnat (kinfo, _) -> + kinfo + | IEdiv_natint (kinfo, _) -> + kinfo + | IEdiv_natnat (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_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 + | INop (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 + | IImplicit_account (kinfo, _) -> + kinfo + | ICreate_contract (kinfo, _, _, _, _, _) -> + kinfo + | ISet_delegate (kinfo, _) -> + kinfo + | INow (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 + | 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 + +(* + FIXME: After this point, the code is TEMPORARY and will be significantly simplified + FIXME: when the new elaboration is in place. +*) + +let rec lift : type s t. (s, t) lift -> s -> t = + fun l s -> + match l with BaseLift -> ((), ()) | IndLift l -> (fst s, lift l (snd s)) + +let rec unlift : type s t. (s, t) lift -> t -> s = + fun l t -> + match l with BaseLift -> () | IndLift l -> (fst t, unlift l (snd t)) + +let succ_lift : ('a, 'y * 'b) lift -> ('x * 'a, 'x * ('y * 'b)) lift = + fun l -> IndLift l + +let coerce_lift : type x y a b. (x * a, x * b) lift -> (y * a, y * b) lift = + function + | IndLift l -> + IndLift l + +let succ_is_lifted : type x a. a is_lifted -> (x * a) is_lifted = function + | IsLifted BaseLift -> + IsLifted (IndLift BaseLift) + | IsLifted (IndLift l) -> + IsLifted (IndLift (IndLift l)) + +type (_, _) eq = Refl : ('a, 'a) eq + +type (_, _) exlift_inverse = + | ExLiftInverse : ('a * 'w, 'v) eq -> ('u, 'v) exlift_inverse + +let inverse_lift : type u v. (u, v) lift -> (u, v) exlift_inverse = function + | BaseLift -> + ExLiftInverse Refl + | IndLift _ -> + ExLiftInverse Refl + +type _ exlift = ExLift : ('v, 'a * 'w) lift -> 'v exlift + +let rec lift_type : + type v. v stack_ty -> (* ∃ a w. (v, a * w) lift *) v exlift = function + | Empty_t -> + ExLift BaseLift + | Item_t (_, s, _) -> ( + match lift_type s with ExLift l -> ExLift (IndLift l) ) + +let rec fun_lift : type a b c. (a, b) lift -> (a, c) lift -> (b, c) eq = + fun l1 l2 -> + match (l1, l2) with + | (BaseLift, BaseLift) -> + Refl + | (IndLift l1, IndLift l2) -> ( + match fun_lift l1 l2 with Refl -> Refl ) + +let rec kstack_prefix_preservation_witness : + type s u s' u' ds du ds' du'. + Script.location -> + u' stack_ty -> + (ds, du, s, u) stack_prefix_preservation_witness -> + (s, s') lift -> + (u, u') lift -> + (ds, ds') lift -> + (du, du') lift -> + (ds', du', s', u') kstack_prefix_preservation_witness = + fun kloc kstack_ty w ls lu lds ldu -> + match w with + | Rest -> ( + match fun_lift ls lds with + | Refl -> ( + match fun_lift lu ldu with + | Refl -> + (* ds = s, du = u *) + KRest (IsLifted lds, IsLifted ldu) ) ) + | Prefix w -> ( + (* + s = x * s0 + u = x * u0 + *) + match (ls, lu) with + | (IndLift ls, IndLift lu) -> ( + (* + s' = x * s'0 + u' = x * u'0 + ls : (s0, s'0) + lu : (u0, u'0) + *) + match kstack_ty with + | Item_t (_, kstack_ty, _) -> + let kw = + kstack_prefix_preservation_witness kloc kstack_ty w ls lu lds ldu + in + let kinfo = {kloc; kstack_ty} in + KPrefix (kinfo, IsLifted ls, IsLifted lu, kw) ) ) + +type (_, _, _, _) exlift_stack_prefix_preservation_witness = + | ExLiftStackPrefixPreservationWitness : + ('ds, 'lds) lift + * ('du, 'ldu) lift + * ('lds, 'ldu, 's, 'u) stack_prefix_preservation_witness + -> ('ds, 'du, 's, 'u) exlift_stack_prefix_preservation_witness + +let rec lift_stack_prefix_preservation_witness : + type s u s' u' ds du. + (ds, du, s, u) stack_prefix_preservation_witness -> + (s, s') lift -> + (u, u') lift -> + (ds, du, s', u') exlift_stack_prefix_preservation_witness = + fun w ls lu -> + match w with + | Rest -> + (* ds = s, du = u *) + ExLiftStackPrefixPreservationWitness (ls, lu, Rest) + | Prefix w -> ( + (* + s = x * s0 + u = x * u0 + *) + match (ls, lu) with + | (IndLift ls, IndLift lu) -> ( + (* + s' = x * s'0 + u' = x * u'0 + ls : (s0, s'0) + lu : (u0, u'0) + *) + match lift_stack_prefix_preservation_witness w ls lu with + | ExLiftStackPrefixPreservationWitness (lds, ldu, w) -> + (* + lds : lift (ds, 'lds) + ldu : lift (du, 'ldu) + w : ('lds, 'ldu, s'0, u'0) + *) + ExLiftStackPrefixPreservationWitness (lds, ldu, Prefix w) ) ) + +let rec lift_dup_n_gadt_witness : + type s s' a. + (s, a) dup_n_gadt_witness -> (s, s') lift -> (s', a) dup_n_gadt_witness = + fun w l -> + match w with + | Dup_n_zero -> ( + (* s = a * s0 *) + match l with IndLift _ -> Dup_n_zero ) + | Dup_n_succ w -> ( + (* s = a * s0 *) + match l with + | IndLift l -> + let w = lift_dup_n_gadt_witness w l in + Dup_n_succ w ) + +let rec lift_comb_gadt_witness : + type s s' u u'. + (s, u) comb_gadt_witness -> + (s, s') lift -> + (u, u') lift -> + (s', u') comb_gadt_witness = + fun w li lo -> + match w with + | Comb_one -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> Comb_one ) ) ) + | Comb_succ w -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> + let w = lift_comb_gadt_witness w li (IndLift lo) in + Comb_succ w ) ) + +let rec lift_stack_ty : + type t a s. (t, a * s) lift -> t stack_ty -> (a * s) stack_ty = + fun li stack -> + match li with + | BaseLift -> + Item_t (Unit_t None, stack, None) + | IndLift li -> ( + match stack with + | Item_t (ty, stack, a) -> + let kstack = lift_stack_ty li stack in + Item_t (ty, kstack, a) ) + +let rec lift_uncomb_gadt_witness : + type s s' u u'. + (s, u) uncomb_gadt_witness -> + (s, s') lift -> + (u, u') lift -> + (s', u') uncomb_gadt_witness = + fun w li lo -> + match w with + | Uncomb_one -> ( + match fun_lift li lo with Refl -> Uncomb_one ) + | Uncomb_succ w -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> + let w = lift_uncomb_gadt_witness w (IndLift li) lo in + Uncomb_succ w ) ) + +let rec translate_instr : + type a b s t v u r f. + (t, v) descr -> + (t, a * s) lift -> + (v, b * u) lift -> + (b, u, r, f) kinstr -> + (a, s, r, f) kinstr = + let return k = k in + fun i li lo k -> + let kstack_ty = lift_stack_ty li i.bef in + let kinfo = {kloc = i.loc; kstack_ty} in + match i.instr with + | Seq (i1, i2) -> ( + match lift_type i1.aft with + | ExLift lii -> + let ki2 = translate_instr i2 lii lo k in + translate_instr i1 li lii ki2 ) + | Drop -> ( + match li with + | IndLift l -> ( + match fun_lift l lo with Refl -> return (IDrop (kinfo, k)) ) ) + | Dup -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ IDup (kinfo, k) ) ) ) ) + | Swap -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match fun_lift lo li with Refl -> return @@ ISwap (kinfo, k) ) ) + ) ) ) + | Const ty -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ IConst (kinfo, ty, k) ) ) + | Cons_pair -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICons_pair (kinfo, k) ) + ) ) ) + | Car -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICar (kinfo, k) ) ) ) + | Cdr -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICdr (kinfo, k) ) ) ) + | Unpair -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ IUnpair (kinfo, k) ) ) + ) ) + | Cons_some -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICons_some (kinfo, k) ) ) + ) + | Cons_none ty -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICons_none (kinfo, ty, k) ) + ) + | If_none (i1, i2) -> ( + match li with + | IndLift li' -> + let ki1 = translate_instr i1 li' lo k in + let ki2 = translate_instr i2 (coerce_lift li) lo k in + return @@ IIf_none (kinfo, ki1, ki2) ) + | Cons_left -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICons_left (kinfo, k) ) ) + ) + | Cons_right -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICons_right (kinfo, k) ) + ) ) + | If_left (i1, i2) -> ( + match li with + | IndLift _ -> + let ki1 = translate_instr i1 (coerce_lift li) lo k in + let ki2 = translate_instr i2 (coerce_lift li) lo k in + return @@ IIf_left (kinfo, ki1, ki2) ) + | Cons_list -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ ICons_list (kinfo, k) ) + ) ) ) + | Nil -> ( + match lo with + | IndLift lo -> ( + match fun_lift lo li with Refl -> return @@ INil (kinfo, k) ) ) + | If_cons (i1, i2) -> ( + match li with + | IndLift li' -> + let ki1 = translate_instr i1 (succ_lift li) lo k in + let ki2 = translate_instr i2 li' lo k in + return @@ IIf_cons (kinfo, ki1, ki2) ) + | List_map i -> ( + match li with + | IndLift li' -> ( + match lo with + | IndLift lo' -> ( + match fun_lift li' lo' with + | Refl -> + let khalt = + IHalt + { + kloc = i.loc; + kstack_ty = lift_stack_ty (coerce_lift lo) i.aft; + } + in + let ki = + translate_instr i (coerce_lift li) (coerce_lift lo) khalt + in + return @@ IList_map (kinfo, ki, k) ) ) ) + | List_iter i -> ( + match li with + | IndLift li' -> ( + match fun_lift li' lo with + | Refl -> + let kinfo' = {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} in + let ki = translate_instr i (coerce_lift li) lo (IHalt kinfo') in + return @@ IList_iter (kinfo, ki, k) ) ) + | List_size -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IList_size (kinfo, k) ) ) + ) + | Empty_set ty -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IEmpty_set (kinfo, ty, k) ) + ) + | Set_iter i -> ( + match li with + | IndLift li' -> ( + match fun_lift li' lo with + | Refl -> + let kinfo' = {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} in + let ki = translate_instr i (coerce_lift li) lo (IHalt kinfo') in + return @@ ISet_iter (kinfo, ki, k) ) ) + | Set_mem -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISet_mem (kinfo, k) ) ) + ) ) + | Set_update -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISet_update (kinfo, k) ) ) ) ) ) + | Set_size -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISet_size (kinfo, k) ) ) + ) + | Empty_map (cty, ty) -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEmpty_map (kinfo, cty, ty, k) ) ) + | Map_map i -> ( + match li with + | IndLift li' -> ( + match lo with + | IndLift lo' -> ( + match fun_lift li' lo' with + | Refl -> + let khalt = + IHalt + { + kloc = i.loc; + kstack_ty = lift_stack_ty (coerce_lift lo) i.aft; + } + in + let ki = + translate_instr i (coerce_lift li) (coerce_lift lo) khalt + in + return @@ IMap_map (kinfo, ki, k) ) ) ) + | Map_iter i -> ( + match li with + | IndLift li' -> ( + match fun_lift li' lo with + | Refl -> + let khalt = + IHalt {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} + in + let ki = translate_instr i (coerce_lift li) lo khalt in + return @@ IMap_iter (kinfo, ki, k) ) ) + | Map_mem -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMap_mem (kinfo, k) ) ) + ) ) + | Map_get -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMap_get (kinfo, k) ) ) + ) ) + | Map_update -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMap_update (kinfo, k) ) ) ) ) ) + | Map_get_and_update -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMap_get_and_update (kinfo, k) ) ) ) ) ) ) + | Map_size -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMap_size (kinfo, k) ) ) + ) + | Empty_big_map (cty, ty) -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEmpty_big_map (kinfo, cty, ty, k) ) ) + | Big_map_mem -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IBig_map_mem (kinfo, k) ) ) ) ) + | Big_map_get -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IBig_map_get (kinfo, k) ) ) ) ) + | Big_map_get_and_update -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IBig_map_get_and_update (kinfo, k) ) ) ) ) ) ) + | Big_map_update -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IBig_map_update (kinfo, k) ) ) ) ) ) + | Concat_string -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IConcat_string (kinfo, k) ) ) ) + | Concat_string_pair -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IConcat_string_pair (kinfo, k) ) ) ) ) + | Slice_string -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISlice_string (kinfo, k) ) ) ) ) ) + | String_size -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IString_size (kinfo, k) ) + ) ) + | Concat_bytes -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IConcat_bytes (kinfo, k) + ) ) ) + | Concat_bytes_pair -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IConcat_bytes_pair (kinfo, k) ) ) ) ) + | Slice_bytes -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISlice_bytes (kinfo, k) ) ) ) ) ) + | Bytes_size -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IBytes_size (kinfo, k) ) + ) ) + | Add_seconds_to_timestamp -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IAdd_seconds_to_timestamp (kinfo, k) ) ) ) ) + | Add_timestamp_to_seconds -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IAdd_timestamp_to_seconds (kinfo, k) ) ) ) ) + | Sub_timestamp_seconds -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISub_timestamp_seconds (kinfo, k) ) ) ) ) + | Diff_timestamps -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IDiff_timestamps (kinfo, k) ) ) ) ) + | Add_tez -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAdd_tez (kinfo, k) ) ) + ) ) + | Sub_tez -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISub_tez (kinfo, k) ) ) + ) ) + | Mul_teznat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMul_teznat (kinfo, k) + ) ) ) ) + | Mul_nattez -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMul_nattez (kinfo, k) + ) ) ) ) + | Ediv_teznat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEdiv_teznat (kinfo, k) ) ) ) ) + | Ediv_tez -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IEdiv_tez (kinfo, k) ) + ) ) ) + | Or -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IOr (kinfo, k) ) ) ) ) + | And -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAnd (kinfo, k) ) ) ) ) + | Xor -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IXor (kinfo, k) ) ) ) ) + | Not -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INot (kinfo, k) ) ) ) + | Is_nat -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IIs_nat (kinfo, k) ) ) ) + | Neg_nat -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INeg_nat (kinfo, k) ) ) ) + | Neg_int -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INeg_int (kinfo, k) ) ) ) + | Abs_int -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAbs_int (kinfo, k) ) ) ) + | Int_bls12_381_fr -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IInt_bls12_381_fr (kinfo, k) ) ) ) + | Int_nat -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IInt_nat (kinfo, k) ) ) ) + | Add_intint -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAdd_intint (kinfo, k) + ) ) ) ) + | Add_intnat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAdd_intnat (kinfo, k) + ) ) ) ) + | Add_natint -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAdd_natint (kinfo, k) + ) ) ) ) + | Add_natnat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAdd_natnat (kinfo, k) + ) ) ) ) + | Sub_int -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISub_int (kinfo, k) ) ) + ) ) + | Mul_intint -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMul_intint (kinfo, k) + ) ) ) ) + | Mul_intnat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMul_intnat (kinfo, k) + ) ) ) ) + | Mul_natint -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMul_natint (kinfo, k) + ) ) ) ) + | Mul_natnat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IMul_natnat (kinfo, k) + ) ) ) ) + | Ediv_intint -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEdiv_intint (kinfo, k) ) ) ) ) + | Ediv_intnat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEdiv_intnat (kinfo, k) ) ) ) ) + | Ediv_natint -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEdiv_natint (kinfo, k) ) ) ) ) + | Ediv_natnat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IEdiv_natnat (kinfo, k) ) ) ) ) + | Lsl_nat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ILsl_nat (kinfo, k) ) ) + ) ) + | Lsr_nat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ILsr_nat (kinfo, k) ) ) + ) ) + | Or_nat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IOr_nat (kinfo, k) ) ) + ) ) + | And_nat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAnd_nat (kinfo, k) ) ) + ) ) + | And_int_nat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IAnd_int_nat (kinfo, k) ) ) ) ) + | Xor_nat -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IXor_nat (kinfo, k) ) ) + ) ) + | Not_nat -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INot_nat (kinfo, k) ) ) ) + | Not_int -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INot_int (kinfo, k) ) ) ) + | If (i1, i2) -> ( + match li with + | IndLift li -> + let ki1 = translate_instr i1 li lo k in + let ki2 = translate_instr i2 li lo k in + return @@ IIf (kinfo, ki1, ki2) ) + | Loop i -> ( + match li with + | IndLift li' -> ( + match fun_lift li' lo with + | Refl -> + let khalt = + IHalt {kloc = i.loc; kstack_ty = lift_stack_ty li i.aft} + in + let ki = translate_instr i li' li khalt in + return @@ ILoop (kinfo, ki, k) ) ) + | Loop_left i -> ( + match li with + | IndLift li' -> ( + match lo with + | IndLift lo' -> ( + match fun_lift li' lo' with + | Refl -> + let khalt = + IHalt {kloc = i.loc; kstack_ty = lift_stack_ty li i.aft} + in + let ki = translate_instr i (coerce_lift li) li khalt in + return @@ ILoop_left (kinfo, ki, k) ) ) ) + | Dip i -> ( + match li with + | IndLift li' -> ( + match lo with + | IndLift lo -> + let kinfo_const = + {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} + in + let ki = translate_instr i li' lo (IHalt kinfo_const) in + return @@ IDip (kinfo, kinfo_const, ki, k) ) ) + | Exec -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IExec (kinfo, k) ) ) ) + ) + | Apply f -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IApply (kinfo, f, k) ) + ) ) ) + | Lambda b -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ILambda (kinfo, b, k) ) ) + | Failwith e -> ( + match li with IndLift _ -> return @@ IFailwith (kinfo, i.loc, e, k) ) + | Nop -> ( + match fun_lift li lo with Refl -> return @@ INop (kinfo, k) ) + | Compare c -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ICompare (kinfo, c, k) + ) ) ) ) + | Eq -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IEq (kinfo, k) ) ) ) + | Neq -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INeq (kinfo, k) ) ) ) + | Lt -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ILt (kinfo, k) ) ) ) + | Gt -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IGt (kinfo, k) ) ) ) + | Le -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ILe (kinfo, k) ) ) ) + | Ge -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IGe (kinfo, k) ) ) ) + | Address -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAddress (kinfo, k) ) ) ) + | Contract (a, b) -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IContract (kinfo, a, b, k) ) ) ) + | Transfer_tokens -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ITransfer_tokens (kinfo, k) ) ) ) ) ) + | Implicit_account -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IImplicit_account (kinfo, k) ) ) ) + | Create_contract (a, b, c, d) -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ICreate_contract (kinfo, a, b, c, d, k) ) ) ) ) ) + ) + | Set_delegate -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISet_delegate (kinfo, k) + ) ) ) + | Now -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ INow (kinfo, k) ) ) + | Balance -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IBalance (kinfo, k) ) ) + | Level -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ILevel (kinfo, k) ) ) + | Check_signature -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ICheck_signature (kinfo, k) ) ) ) ) ) + | Hash_key -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IHash_key (kinfo, k) ) ) + ) + | Pack ty -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IPack (kinfo, ty, k) ) ) + ) + | Unpack ty -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IUnpack (kinfo, ty, k) ) + ) ) + | Blake2b -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IBlake2b (kinfo, k) ) ) ) + | Sha256 -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISha256 (kinfo, k) ) ) ) + | Sha512 -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISha512 (kinfo, k) ) ) ) + | Source -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISource (kinfo, k) ) ) + | Sender -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISender (kinfo, k) ) ) + | Self (a, b) -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISelf (kinfo, a, b, k) ) ) + | Self_address -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISelf_address (kinfo, k) ) + ) + | Amount -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IAmount (kinfo, k) ) ) + | Sapling_empty_state m -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISapling_empty_state (kinfo, m.memo_size, k) ) ) + | Sapling_verify_update -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISapling_verify_update (kinfo, k) ) ) ) ) + | Dig (n, w) -> ( + match lo with + | IndLift lo' -> ( + match lift_stack_prefix_preservation_witness w li lo' with + | ExLiftStackPrefixPreservationWitness (lds, ldu, w') -> ( + match lds with + | IndLift lds -> ( + match fun_lift lds ldu with + | Refl -> + return @@ IDig (kinfo, n, w', k) ) ) ) ) + | Dug (n, w) -> ( + match li with + | IndLift li' -> ( + match lift_stack_prefix_preservation_witness w li' lo with + | ExLiftStackPrefixPreservationWitness (lds, ldu, w') -> ( + match ldu with + | IndLift ldu -> ( + match fun_lift lds ldu with + | Refl -> + return @@ IDug (kinfo, n, w', k) ) ) ) ) + | Dipn (n, w, i') -> ( + match lift_stack_prefix_preservation_witness w li lo with + | ExLiftStackPrefixPreservationWitness (lds, ldu, _) -> ( + match inverse_lift lds with + | ExLiftInverse Refl -> ( + match inverse_lift ldu with + | ExLiftInverse Refl -> + let hinfo = + {kloc = i.loc; kstack_ty = lift_stack_ty ldu i'.aft} + in + let ki' = translate_instr i' lds ldu (IHalt hinfo) in + let sty = lift_stack_ty lo i.aft in + let l = i.loc in + let w = + kstack_prefix_preservation_witness l sty w li lo lds ldu + in + return @@ IDipn (kinfo, n, w, ki', k) ) ) ) + | Dropn (n, w) -> ( + match lift_stack_prefix_preservation_witness w li li with + | ExLiftStackPrefixPreservationWitness (lds, ldu, w') -> ( + match inverse_lift lds with + | ExLiftInverse Refl -> ( + match inverse_lift ldu with + | ExLiftInverse Refl -> ( + match fun_lift lds ldu with + | Refl -> ( + match fun_lift lo lds with + | Refl -> + return @@ IDropn (kinfo, n, w', k) ) ) ) ) ) + | ChainId -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IChainId (kinfo, k) ) ) + | Never -> ( + match li with IndLift _ -> return @@ INever (kinfo, k) ) + | Voting_power -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IVoting_power (kinfo, k) + ) ) ) + | Total_voting_power -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ITotal_voting_power (kinfo, k) ) ) + | Keccak -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IKeccak (kinfo, k) ) ) ) + | Sha3 -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ISha3 (kinfo, k) ) ) ) + | Add_bls12_381_g1 -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IAdd_bls12_381_g1 (kinfo, k) ) ) ) ) + | Add_bls12_381_g2 -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IAdd_bls12_381_g2 (kinfo, k) ) ) ) ) + | Add_bls12_381_fr -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IAdd_bls12_381_fr (kinfo, k) ) ) ) ) + | Mul_bls12_381_g1 -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMul_bls12_381_g1 (kinfo, k) ) ) ) ) + | Mul_bls12_381_g2 -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMul_bls12_381_g2 (kinfo, k) ) ) ) ) + | Mul_bls12_381_z_fr -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMul_bls12_381_z_fr (kinfo, k) ) ) ) ) + | Mul_bls12_381_fr_z -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMul_bls12_381_fr_z (kinfo, k) ) ) ) ) + | Mul_bls12_381_fr -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IMul_bls12_381_fr (kinfo, k) ) ) ) ) + | Neg_bls12_381_g1 -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ INeg_bls12_381_g1 (kinfo, k) ) ) ) + | Neg_bls12_381_g2 -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ INeg_bls12_381_g2 (kinfo, k) ) ) ) + | Neg_bls12_381_fr -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ INeg_bls12_381_fr (kinfo, k) ) ) ) + | Pairing_check_bls12_381 -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IPairing_check_bls12_381 (kinfo, k) ) ) ) + | Dup_n (n, i) -> ( + let i = lift_dup_n_gadt_witness i li in + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ IDup_n (kinfo, n, i, k) ) + ) + | Comb (n, w) -> + let w = lift_comb_gadt_witness w li lo in + return @@ IComb (kinfo, n, w, k) + | Uncomb (n, w) -> + let w = lift_uncomb_gadt_witness w li lo in + return @@ IUncomb (kinfo, n, w, k) + | Comb_get (n, w) -> ( + match li with + | IndLift li' -> ( + match lo with + | IndLift lo' -> ( + match fun_lift li' lo' with + | Refl -> + return @@ IComb_get (kinfo, n, w, k) ) ) ) + | Comb_set (n, w) -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IComb_set (kinfo, n, w, k) ) ) ) ) + | Ticket -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with Refl -> return @@ ITicket (kinfo, k) ) ) + ) ) + | Read_ticket -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IRead_ticket (kinfo, k) ) ) ) ) + | Split_ticket -> ( + match li with + | IndLift li -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ ISplit_ticket (kinfo, k) ) ) ) ) + | Join_tickets cty -> ( + match li with + | IndLift li -> ( + match lo with + | IndLift lo -> ( + match fun_lift li lo with + | Refl -> + return @@ IJoin_tickets (kinfo, cty, k) ) ) ) + +let translate : type bef aft. (bef, aft) descr -> (bef, aft) kdescr = + fun d -> + match (lift_type d.bef, lift_type d.aft) with + | (ExLift kli, ExLift klo) -> + let khalt = IHalt {kloc = d.loc; kstack_ty = lift_stack_ty klo d.aft} in + let kinstr = translate_instr d kli klo khalt in + KDescr {kloc = d.loc; kbef = d.bef; kaft = d.aft; kli; klo; kinstr} diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 502db7dd7e80..1d5ec39ecb39 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -441,7 +441,7 @@ and ('bef, 'aft) instr = * ('fbef, 'faft) descr -> ('bef, 'aft) instr | Dropn : - int * ('rest, 'rest, 'bef, _) stack_prefix_preservation_witness + int * ('rest, 'rest, 'bef, 'bef) stack_prefix_preservation_witness -> ('bef, 'rest) instr | ChainId : ('rest, Chain_id.t * 'rest) instr | Never : (never * 'rest, 'aft) instr @@ -537,19 +537,33 @@ and ('value, 'before, 'after) comb_set_gadt_witness = ('value, 'before, 'after) comb_set_gadt_witness -> ('value, 'a * 'before, 'a * 'after) comb_set_gadt_witness -and ('before, 'after) dup_n_gadt_witness = +(* + + [dup_n_gadt_witness ('s, 't)] ensures that the n-th element of ['s] + is of type ['t]. + + This relational predicate is defined by induction on [n]. + +*) +and (_, _) dup_n_gadt_witness = | Dup_n_zero : ('a * 'rest, 'a) dup_n_gadt_witness | Dup_n_succ : - ('before, 'b) dup_n_gadt_witness - -> ('a * 'before, 'b) dup_n_gadt_witness + ('stack, 'b) dup_n_gadt_witness + -> ('a * 'stack, 'b) dup_n_gadt_witness + +(* -(* Type witness for operations that work deep in the stack ignoring + Type witness for operations that work deep in the stack ignoring (and preserving) a prefix. The two right parameters are the shape of the stack with the (same) - prefix before and after the transformation. The two left - parameters are the shape of the stack without the prefix before and - after. The inductive definition makes it so by construction. *) + prefix before and after the transformation. The two left parameters + are the shape of the stack without the prefix before and after. + + This relational predicate is defined by induction on the common + prefix of the two topmost stacks. + +*) and ('bef, 'aft, 'bef_suffix, 'aft_suffix) stack_prefix_preservation_witness = | Prefix : ('fbef, 'faft, 'bef, 'aft) stack_prefix_preservation_witness @@ -562,3 +576,72 @@ and ('bef, 'aft) descr = { aft : 'aft stack_ty; instr : ('bef, 'aft) instr; } + +let rec ty_of_comparable_ty : type a. a comparable_ty -> a ty = + fun s -> + match s with + | Unit_key _ -> + Unit_t None + | Never_key _ -> + Never_t None + | Int_key _ -> + Int_t None + | Nat_key _ -> + Nat_t None + | Signature_key _ -> + Signature_t None + | String_key _ -> + String_t None + | Bytes_key _ -> + Bytes_t None + | Mutez_key _ -> + Mutez_t None + | Bool_key _ -> + Bool_t None + | Key_hash_key _ -> + Key_hash_t None + | Key_key _ -> + Key_t None + | Timestamp_key _ -> + Timestamp_t None + | Chain_id_key _ -> + Chain_id_t None + | Address_key _ -> + Address_t None + | Pair_key ((a, _), (b, _), _) -> + Pair_t + ( (ty_of_comparable_ty a, None, None), + (ty_of_comparable_ty b, None, None), + None ) + | Union_key ((a, _), (b, _), _) -> + Union_t + ((ty_of_comparable_ty a, None), (ty_of_comparable_ty b, None), None) + | Option_key (t, _) -> + Option_t (ty_of_comparable_ty t, None) + +let unlist_ty : type a. a boxed_list ty -> a ty = function + | List_t (a, _) -> + a + | _ -> + (* FIXME: This is not robust to evolutions. *) + (* because of the concrete implementations of the type + constructors occurring in the definition of [ty]: *) + assert false + +let unset_ty : type a. a set ty -> a ty = function + | Set_t (a, _) -> + ty_of_comparable_ty a + | _ -> + (* FIXME: This is not robust to evolutions. *) + (* because of the concrete implementations of the type + constructors occurring in the definition of [ty]: *) + assert false + +let unmap_ty : type k v. (k, v) map ty -> k ty * v ty = function + | Map_t (k, v, _) -> + (ty_of_comparable_ty k, v) + | _ -> + (* FIXME: This is not robust to evolutions. *) + (* because of the concrete implementations of the type + constructors occurring in the definition of [ty]: *) + assert false diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index bd01a29bf70e..64cc6aee83fd 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -56,23 +56,8 @@ let run_script ctx ?(step_constants = default_step_constants) contract ~internal:false >>=?? fun res -> return res -module Logger : STEP_LOGGER = struct - let log_interp _ctxt _descr _stack = () - - let log_entry _ctxt _descr _stack = () - - let log_exit _ctxt _descr _stack = () - - let get_log () = Lwt.return (Ok None) -end - let run_step ctxt code param = - Script_interpreter.step - (module Logger) - ctxt - default_step_constants - code - param + Script_interpreter.step None ctxt default_step_constants code param (** Runs a script with an ill-typed parameter and verifies that a Bad_contract_parameter error is returned. *) @@ -103,7 +88,7 @@ let read_file filename = let s = really_input_string ch (in_channel_length ch) in close_in ch ; s -(* Check that too many recursive calls of the Michelson interpreter result in an error *) +(* Confront the Michelson interpreter to deep recursions. *) let test_stack_overflow () = test_context () >>=? fun ctxt -> @@ -116,7 +101,7 @@ let test_stack_overflow () = in aux n (descr Nop) in - run_step ctxt (enorme_et_seq 10_001) () + run_step ctxt (enorme_et_seq 100_000) () >>= function | Ok _ -> Alcotest.fail "expected an error" -- GitLab From 9ccb42fc6a400fccf1770a2675c910cba0a8a753 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 20:57:12 +0200 Subject: [PATCH 05/69] Proto/Michelson: Migrate the elaboration to the new IR Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/TEZOS_PROTOCOL | 1 - src/proto_alpha/lib_protocol/dune.inc | 5 - .../lib_protocol/script_interpreter.ml | 247 +- .../lib_protocol/script_interpreter.mli | 28 +- .../lib_protocol/script_ir_translator.ml | 1800 ++++++----- .../lib_protocol/script_ir_translator.mli | 33 +- .../lib_protocol/script_typed_cps_ir.ml | 2641 ----------------- .../lib_protocol/script_typed_ir.ml | 1488 +++++++--- .../lib_protocol/test/test_interpretation.ml | 17 +- 9 files changed, 2301 insertions(+), 3959 deletions(-) delete mode 100644 src/proto_alpha/lib_protocol/script_typed_cps_ir.ml diff --git a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL index 554358c0b6bb..6a82eb356a0b 100644 --- a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL +++ b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL @@ -72,7 +72,6 @@ "Alpha_context", "Script_typed_ir", - "Script_typed_cps_ir", "Script_tc_errors", "Michelson_v1_gas", "Script_ir_annot", diff --git a/src/proto_alpha/lib_protocol/dune.inc b/src/proto_alpha/lib_protocol/dune.inc index 2b2f82d7388e..969c8694bdc4 100644 --- a/src/proto_alpha/lib_protocol/dune.inc +++ b/src/proto_alpha/lib_protocol/dune.inc @@ -84,7 +84,6 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml - script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml @@ -176,7 +175,6 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml - script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml @@ -268,7 +266,6 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml - script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml @@ -380,7 +377,6 @@ include Tezos_raw_protocol_alpha.Main Sapling_validator Alpha_context Script_typed_ir - Script_typed_cps_ir Script_tc_errors Michelson_v1_gas Script_ir_annot @@ -508,7 +504,6 @@ include Tezos_raw_protocol_alpha.Main sapling_validator.ml alpha_context.mli alpha_context.ml script_typed_ir.ml - script_typed_cps_ir.ml script_tc_errors.ml michelson_v1_gas.mli michelson_v1_gas.ml script_ir_annot.mli script_ir_annot.ml diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index de4c38d312ab..d9391a9b0a6d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -95,7 +95,6 @@ open Alpha_context open Script open Script_typed_ir -open Script_typed_cps_ir open Script_ir_translator module S = Saturation_repr @@ -208,7 +207,7 @@ let () = ============= The stack of control is a list of [kinstr]. This type is documented - in the module [Script_typed_cps_ir]. + in the module [Script_typed_ir]. Since [kinstr] denotes a list of instructions, the stack of control can be seen as a list of instruction sequences, each representing a @@ -246,6 +245,9 @@ type (_, _, _, _) continuation = | KCons : ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation + | KReturn : + 's * ('a, 's, 'r, 'f) continuation + -> ('a, end_of_stack, 'r, 'f) continuation | KUndip : 'b * ('b, 'a * 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation @@ -695,6 +697,8 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = Gas.free | KCons (_, _) -> Gas.free + | KReturn _ -> + Gas.free | KUndip (_, _) -> Gas.free | KLoop_in (_, _) -> @@ -821,22 +825,22 @@ let consume_control local_gas_counter ks = where these functions are called. *) -type ('a, 's, 'b, 'f, 'u) logging_function = +type ('a, 's, 'b, 'f, 'c, 'u) logging_function = ('a, 's, 'b, 'f) kinstr -> context -> Script.location -> - 'u stack_ty -> - 'u -> + ('c, 'u) stack_ty -> + 'c * 'u -> unit module type STEP_LOGGER = sig - val log_interp : ('a, 's, 'b, 'f, 'u) logging_function + val log_interp : ('a, 's, 'b, 'f, 'c, 'u) logging_function - val log_entry : ('a, 's, 'b, 'f, 'a * 's) logging_function + val log_entry : ('a, 's, 'b, 'f, 'a, 's) logging_function val log_control : ('a, 's, 'b, 'f) continuation -> unit - val log_exit : ('a, 's, 'b, 'f, 'u) logging_function + val log_exit : ('a, 's, 'b, 'f, 'c, 'u) logging_function val get_log : unit -> execution_trace option tzresult Lwt.t end @@ -847,13 +851,13 @@ let log_entry (logger : logger) ctxt gas k accu stack = let module Log = (val logger) in let kinfo = kinfo_of_kinstr k in let ctxt = update_context gas ctxt in - Log.log_entry k ctxt kinfo.kloc kinfo.kstack_ty (accu, stack) + Log.log_entry k ctxt kinfo.iloc kinfo.kstack_ty (accu, stack) let log_exit (logger : logger) ctxt gas kprev k accu stack = let module Log = (val logger) in let ctxt = update_context gas ctxt in let kinfo_prev = kinfo_of_kinstr kprev and kinfo = kinfo_of_kinstr k in - Log.log_exit k ctxt kinfo_prev.kloc kinfo.kstack_ty (accu, stack) + Log.log_exit k ctxt kinfo_prev.iloc kinfo.kstack_ty (accu, stack) let log_control (logger : logger) ks = let module Log = (val logger) in @@ -873,7 +877,7 @@ let get_log (logger : logger option) = Interpretation loop =================== - *) +*) (* @@ -889,20 +893,19 @@ type step_constants = { } let rec interp_stack_prefix_preserving_operation : - type fbef bef faft aft result. - (fbef -> faft * result) -> - (fbef, faft, bef, aft) stack_prefix_preservation_witness -> - bef -> - aft * result = - fun f n stk -> + type a s b t c u d w result. + (a -> s -> (b * t) * result) -> + (a, s, b, t, c, u, d, w) stack_prefix_preservation_witness -> + c -> + u -> + (d * w) * result = + fun f n accu stk -> match (n, stk) with - | (Prefix n, (v, rest)) -> - let (rest', result) = - interp_stack_prefix_preserving_operation f n rest - in - ((v, rest'), result) - | (Rest, v) -> - f v + | (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 (* @@ -932,19 +935,18 @@ let rec interp_stack_prefix_preserving_operation : *) let rec run_descr : - type bef aft. + type a s r f. logger option -> context * step_constants -> - (bef, aft) kdescr -> - bef -> - (aft * context) tzresult Lwt.t = - fun logger (ctxt, sc) descr stack -> - let (KDescr {kinstr; kli; klo}) = descr in - let (accu, stack) = lift kli stack in + (a, s, r, f) kdescr -> + a -> + s -> + (r * f * context) tzresult Lwt.t = + fun logger (ctxt, sc) descr accu stack -> let gas = (Gas.gas_counter ctxt :> int) in - step logger (outdated ctxt, sc) gas kinstr KNil accu stack + step logger (outdated ctxt, sc) gas descr.kinstr KNil accu stack >>=? fun (accu, stack, ctxt, gas) -> - return (unlift klo (accu, stack), update_context gas ctxt) + return (accu, stack, update_context gas ctxt) and run : type a a' s s' b t b' t' r f. @@ -991,6 +993,12 @@ and next : let (accu', stack') = stack in if accu then (step [@ocaml.tailcall]) logger g gas ki ks0 accu' stack' else (next [@ocaml.tailcall]) logger g gas ks' accu' stack' ) + | KReturn (stack', ks) -> ( + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + next logger g gas ks accu stack' ) | KLoop_in_left (ki, ks') -> ( match consume_control gas ks0 with | None -> @@ -1362,7 +1370,7 @@ and step : let (y, stack) = stack in match Script_int.to_int64 y with | None -> - get_log logger >>=? fun log -> fail (Overflow (kinfo.kloc, log)) + get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) | Some y -> Tez.(x *? y) >>?= fun res -> @@ -1372,7 +1380,7 @@ and step : let (x, stack) = stack in match Script_int.to_int64 y with | None -> - get_log logger >>=? fun log -> fail (Overflow (kinfo.kloc, log)) + get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) | Some y -> Tez.(x *? y) >>?= fun res -> @@ -1512,14 +1520,14 @@ and step : 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.kloc, log)) + get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) | Some x -> (run [@ocaml.tailcall]) logger g gas i k ks x stack ) | ILsr_nat (kinfo, k) -> ( 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.kloc, log)) + get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) | Some r -> (run [@ocaml.tailcall]) logger g gas i k ks r stack ) | IOr_nat (_, k) -> @@ -1564,10 +1572,10 @@ and step : (run [@ocaml.tailcall]) logger g gas i b ks accu stack | IExec (_, k) -> let arg = accu and (code, stack) = stack in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> interp logger (ctxt, sc) code arg ) - >>=? fun (res, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack + let (Lam (code, _)) = code in + let code = code.kinstr in + let ks = KReturn (stack, KCons (k, ks)) in + (run [@ocaml.tailcall]) logger g gas i code ks arg ((), ()) | IApply (_, capture_ty, k) -> let capture = accu in let (lam, stack) = stack in @@ -1648,7 +1656,7 @@ and step : let ctxt = update_context gas ctxt in Script_ir_translator.parse_contract_for_script ctxt - kinfo.kloc + kinfo.iloc t contract ~entrypoint @@ -1755,35 +1763,47 @@ and step : let accu = sc.amount and stack = (accu, stack) in (run [@ocaml.tailcall]) logger g gas i k ks accu stack | IDig (_, _n, n', k) -> - let (stack, accu) = + let ((accu, stack), x) = interp_stack_prefix_preserving_operation - (fun (v, stack) -> (stack, v)) + (fun v stack -> (stack, v)) n' - (accu, stack) + accu + stack in + let accu = x and stack = (accu, stack) in (run [@ocaml.tailcall]) logger g gas i k ks accu stack | IDug (_, _n, n', k) -> let v = accu in - let (stack, ()) = + let (accu, stack) = stack in + let ((accu, stack), ()) = interp_stack_prefix_preserving_operation - (fun stack -> ((v, stack), ())) + (fun accu stack -> ((v, (accu, stack)), ())) n' + accu stack in - let (accu, stack) = stack in (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IDipn (_, _n, n', b, k) -> ( - match kundip n' (accu, stack) (ExKInstr k) with - | (stack, ExKInstr restore_prefix) -> - let ks = KCons (restore_prefix, ks) in - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i b ks accu stack ) + | IDipn (_, _n, n', b, k) -> + let (accu, stack, restore_prefix) = kundip n' accu stack k in + let ks = KCons (restore_prefix, ks) in + (run [@ocaml.tailcall]) logger g gas i b ks accu stack | IDropn (_, _n, n', k) -> - let (_, stack) = - interp_stack_prefix_preserving_operation - (fun stack -> (stack, stack)) - n' - (accu, stack) + let stack = + let rec aux : + type a s b t. + (b, t, b, t, a, s, a, s) stack_prefix_preservation_witness -> + a -> + s -> + b * t = + fun w accu stack -> + match w with + | KRest -> + (accu, stack) + | KPrefix (_, w) -> + let (accu, stack) = stack in + aux w accu stack + in + aux n' accu stack in let (accu, stack) = stack in (run [@ocaml.tailcall]) logger g gas i k ks accu stack @@ -2033,21 +2053,20 @@ and step : *) and kundip : - type w u v s b t. - (w, v, s, u) kstack_prefix_preservation_witness -> - s -> - (u, b, t) exkinstr -> - w * (v, b, t) exkinstr = - fun w stack k -> - match (w, stack) with - | (KPrefix (kinfo, _, IsLifted lu', w), (x, stack)) -> ( - match k with - | ExKInstr k -> ( - match inverse_lift lu' with - | ExLiftInverse Refl -> - kundip w stack (ExKInstr (IConst (kinfo, x, k))) ) ) - | (KRest (_, _), _) -> - (stack, k) + type a s e z c u d w b t. + (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> + c -> + u -> + (d, w, b, t) kinstr -> + 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 + let (accu, stack) = stack in + kundip w accu stack k + | KRest -> + (accu, stack, k) (** [apply ctxt gas ty v lam] specializes [lam] by fixing its first formal argument to [v]. The type of [v] is represented by [ty]. *) @@ -2061,7 +2080,7 @@ and apply : ((b, c) lambda * outdated_context * local_gas_counter) tzresult Lwt.t = fun ctxt gas capture_ty capture lam -> let (Lam (descr, expr)) = lam in - let (Item_t (full_arg_ty, _, _)) = descr.bef in + let (Item_t (full_arg_ty, _, _)) = descr.kbef in let ctxt = update_context gas ctxt in unparse_data ctxt Optimized capture_ty capture >>=? fun (const_expr, ctxt) -> @@ -2069,42 +2088,23 @@ and apply : >>?= fun (ty_expr, ctxt) -> match full_arg_ty with | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> - let arg_stack_ty = Item_t (arg_ty, Empty_t, None) in - let const_descr = - ( { - loc = descr.loc; - bef = arg_stack_ty; - aft = Item_t (capture_ty, arg_stack_ty, None); - instr = Const capture; - } - : (_, _) descr ) - in - let pair_descr = - ( { - loc = descr.loc; - bef = Item_t (capture_ty, arg_stack_ty, None); - aft = Item_t (full_arg_ty, Empty_t, None); - instr = Cons_pair; - } - : (_, _) descr ) - in - let seq_descr = - ( { - loc = descr.loc; - bef = arg_stack_ty; - aft = Item_t (full_arg_ty, Empty_t, None); - instr = Seq (const_descr, pair_descr); - } - : (_, _) descr ) - in + let arg_stack_ty = Item_t (arg_ty, Bot_t, None) in let full_descr = - ( { - loc = descr.loc; - bef = arg_stack_ty; - aft = descr.aft; - instr = Seq (seq_descr, descr); - } - : (_, _) descr ) + { + kloc = descr.kloc; + 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, None); + } + in + IConst + (kinfo_const, capture, ICons_pair (kinfo_pair, descr.kinstr))); + } in let full_expr = Micheline.Seq @@ -2115,8 +2115,7 @@ and apply : in let lam' = Lam (full_descr, full_expr) in let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - return (lam', ctxt, gas) + return (lam', outdated ctxt, gas) | _ -> assert false @@ -2276,28 +2275,26 @@ and unpack : >|? fun ctxt -> (None, ctxt) ) else return (None, ctxt) -(* FIXME: This ugly function will disappear when elaboration is ready. *) and step_descr : - type b a. + type a s r f. bool -> logger option -> context * step_constants -> - (b, a) descr -> - b -> - (a * context) tzresult Lwt.t = - fun log_now logger g descr stack -> - (* FIXME: That's ugly but this is only temporary. *) - let (KDescr {kinstr} as kdescr) = translate descr in + (a, s, r, f) kdescr -> + a -> + s -> + (r * f * context) tzresult Lwt.t = + fun log_now logger g descr accu stack -> ( if log_now then match logger with | None -> () | Some logger -> let module Log = (val logger) in - let kinfo = kinfo_of_kinstr kinstr in + let kinfo = kinfo_of_kinstr descr.kinstr in let ctxt = fst g in - Log.log_interp kinstr ctxt kinfo.kloc descr.bef stack ) ; - run_descr logger g kdescr stack + Log.log_interp descr.kinstr ctxt kinfo.iloc descr.kbef (accu, stack) ) ; + run_descr logger g descr accu stack and interp : type p r. @@ -2307,8 +2304,8 @@ and interp : p -> (r * context) tzresult Lwt.t = fun logger g (Lam (code, _)) arg -> - let stack = (arg, ()) in - step_descr true logger g code stack >|=? fun ((ret, ()), ctxt) -> (ret, ctxt) + step_descr true logger g code arg ((), ()) + >|=? fun (ret, _, ctxt) -> (ret, ctxt) let kstep logger ctxt step_constants kinstr accu stack = let gas = (Gas.gas_counter ctxt :> int) in diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index 25e89b3f4c7e..e9287f53d0e2 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -33,7 +33,7 @@ *) open Alpha_context -open Script_typed_cps_ir +open Script_typed_ir type execution_trace = (Script.location * Gas.t * (Script.expr * string option) list) list @@ -75,6 +75,9 @@ type (_, _, _, _) continuation = | KCons : ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation + | KReturn : + 's * ('a, 's, 'r, 'f) continuation + -> ('a, end_of_stack, 'r, 'f) continuation | KUndip : 'b * ('b, 'a * 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation @@ -116,12 +119,12 @@ type (_, _, _, _) continuation = * (('a, 'c) Script_typed_ir.map, 'd * 's, 'r, 'f) continuation -> ('c, 'd * 's, 'r, 'f) continuation -type ('a, 's, 'b, 'f, 'u) logging_function = - ('a, 's, 'b, 'f) Script_typed_cps_ir.kinstr -> +type ('a, 's, 'b, 'f, 'c, 'u) logging_function = + ('a, 's, 'b, 'f) Script_typed_ir.kinstr -> context -> Script.location -> - 'u Script_typed_ir.stack_ty -> - 'u -> + ('c, 'u) Script_typed_ir.stack_ty -> + 'c * 'u -> unit (** [STEP_LOGGER] is the module type of logging @@ -133,18 +136,18 @@ module type STEP_LOGGER = sig function [interp]. [interp] is called when starting the interpretation of a script and subsequently at each [Exec] instruction. *) - val log_interp : ('a, 's, 'b, 'f, 'u) logging_function + val log_interp : ('a, 's, 'b, 'f, 'c, 'u) logging_function (** [log_entry] is called {i before} executing each instruction but {i after} gas for this instruction has been successfully consumed. *) - val log_entry : ('a, 's, 'b, 'f, 'a * 's) logging_function + val log_entry : ('a, 's, 'b, 'f, 'a, 's) logging_function val log_control : ('a, 's, 'b, 'f) continuation -> unit (** [log_exit] is called {i after} executing each instruction. *) - val log_exit : ('a, 's, 'b, 'f, 'u) logging_function + val log_exit : ('a, 's, 'b, 'f, 'c, 'u) logging_function (** [get_log] allows to obtain an execution trace, if any was produced. *) @@ -157,9 +160,10 @@ val step : logger option -> context -> step_constants -> - ('bef, 'aft) Script_typed_ir.descr -> - 'bef -> - ('aft * context) tzresult Lwt.t + ('a, 's, 'r, 'f) Script_typed_ir.kdescr -> + 'a -> + 's -> + ('r * 'f * context) tzresult Lwt.t val execute : ?logger:logger -> @@ -183,7 +187,7 @@ val kstep : logger option -> context -> step_constants -> - ('a, 's, 'r, 'f) Script_typed_cps_ir.kinstr -> + ('a, 's, 'r, 'f) Script_typed_ir.kinstr -> 'a -> 's -> ('r * 'f * context) tzresult Lwt.t diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index b85cf25e5c20..7978c9a5d6b5 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -27,9 +27,9 @@ open Alpha_context open Micheline open Script -open Script_typed_ir open Script_tc_errors open Script_ir_annot +open Script_typed_ir module Typecheck_costs = Michelson_v1_gas.Cost_of.Typechecking module Unparse_costs = Michelson_v1_gas.Cost_of.Unparsing @@ -38,11 +38,54 @@ type ex_comparable_ty = type ex_ty = Ex_ty : 'a ty -> ex_ty -type ex_stack_ty = Ex_stack_ty : 'a stack_ty -> ex_stack_ty +type ex_stack_ty = Ex_stack_ty : ('a, 's) stack_ty -> ex_stack_ty + +type ('a, 's, 'b, 'u) cinstr = { + csize : int; + apply : + 'r 'f. ('a, 's) kinfo -> ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; +} + +type ('a, 's, 'b, 'u) descr = { + loc : Script.location; + bef : ('a, 's) stack_ty; + aft : ('b, 'u) stack_ty; + instr : ('a, 's, 'b, 'u) cinstr; +} + +let close_descr {loc; bef; aft; instr} = + let kinfo = {iloc = loc; kstack_ty = aft} in + let kinfo' = {iloc = loc; kstack_ty = bef} 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 compose_descr : + type a s b u c v. + Script.location -> + (a, s, b, u) descr -> + (b, u, c, v) descr -> + (a, s, c, v) descr = + fun loc d1 d2 -> + { + loc; + bef = d1.bef; + aft = d2.aft; + instr = + { + csize = d1.instr.csize + d2.instr.csize; + apply = + (fun _ k -> + d1.instr.apply + (kinfo_of_descr d1) + (d2.instr.apply (kinfo_of_descr d2) k)); + }; + } type tc_context = | Lambda : tc_context - | Dip : 'a stack_ty * tc_context -> tc_context + | Dip : ('a, 's) stack_ty * tc_context -> tc_context | Toplevel : { storage_type : 'sto ty; param_type : 'param ty; @@ -62,7 +105,7 @@ type type_logger = let add_dip ty annot prev = match prev with | Lambda | Toplevel _ -> - Dip (Item_t (ty, Empty_t, annot), prev) + Dip (Item_t (ty, Item_t (Unit_t None, Bot_t, None), annot), prev) | Dip (stack, _) -> Dip (Item_t (ty, stack, annot), prev) @@ -171,10 +214,11 @@ let rec type_size : type t. t ty -> int = | Contract_t (arg, _) -> 1 + type_size arg -let rec type_size_of_stack_head : type st. st stack_ty -> up_to:int -> int = +let rec type_size_of_stack_head : type a s. (a, s) stack_ty -> up_to:int -> int + = fun stack ~up_to -> match stack with - | Empty_t -> + | Bot_t -> 0 | Item_t (head, tail, _annot) -> if Compare.Int.(up_to > 0) then @@ -194,335 +238,9 @@ let rec type_size_of_stack_head : type st. st stack_ty -> up_to:int -> int = If the instr is parameterized by [(b', a') descr] then you may assume that types in [a'] don't exceed the limit. *) -let number_of_generated_growing_types : type b a. (b, a) instr -> int = - function - (* Constructors *) - | Const _ -> - 1 - | Cons_pair -> - 1 - | Cons_some -> - 1 - | Cons_none _ -> - 1 - | Cons_left -> - 1 - | Cons_right -> - 1 - | Nil -> - 1 - | Empty_set _ -> - 1 - | Empty_map _ -> - 1 - | Empty_big_map _ -> - 1 - | Lambda _ -> - 1 - | Self _ -> - 1 - | Contract _ -> - 1 - | Ticket -> - 1 - | Read_ticket -> - (* `pair address (pair T nat)` is bigger than `ticket T` *) - 1 - | Split_ticket -> - 1 - (* Magic constructor *) - | Unpack _ -> - 1 - (* Mappings *) - | List_map _ -> - 1 - | Map_map _ -> - 1 - (* Others: - - don't add types - - don't change types - - decrease type sizes - - produce only constants - - have types bounded by parameters - - etc. *) - | Drop -> - 0 - | Dup -> - 0 - | Swap -> - 0 - | Unpair -> - 0 - | Car -> - 0 - | Cdr -> - 0 - | If_none _ -> - 0 - | If_left _ -> - 0 - | Cons_list -> - 0 - | If_cons _ -> - 0 - | List_size -> - 0 - | List_iter _ -> - 0 - | Set_iter _ -> - 0 - | Set_mem -> - 0 - | Set_update -> - 0 - | Set_size -> - 0 - | Map_iter _ -> - 0 - | Map_mem -> - 0 - | Map_get -> - 0 - | Map_update -> - 0 - | Map_get_and_update -> - 0 - | Map_size -> - 0 - | Big_map_get -> - 0 - | Big_map_update -> - 0 - | Big_map_get_and_update -> - 0 - | Big_map_mem -> - 0 - | Concat_string -> - 0 - | Concat_string_pair -> - 0 - | Slice_string -> - 0 - | String_size -> - 0 - | Concat_bytes -> - 0 - | Concat_bytes_pair -> - 0 - | Slice_bytes -> - 0 - | Bytes_size -> - 0 - | Add_seconds_to_timestamp -> - 0 - | Add_timestamp_to_seconds -> - 0 - | Sub_timestamp_seconds -> - 0 - | Diff_timestamps -> - 0 - | Add_tez -> - 0 - | Sub_tez -> - 0 - | Mul_teznat -> - 0 - | Mul_nattez -> - 0 - | Ediv_teznat -> - 0 - | Ediv_tez -> - 0 - | Or -> - 0 - | And -> - 0 - | Xor -> - 0 - | Not -> - 0 - | Is_nat -> - 0 - | Neg_nat -> - 0 - | Neg_int -> - 0 - | Abs_int -> - 0 - | Int_nat -> - 0 - | Add_intint -> - 0 - | Add_intnat -> - 0 - | Add_natint -> - 0 - | Add_natnat -> - 0 - | Sub_int -> - 0 - | Mul_intint -> - 0 - | Mul_intnat -> - 0 - | Mul_natint -> - 0 - | Mul_natnat -> - 0 - | Ediv_intint -> - 0 - | Ediv_intnat -> - 0 - | Ediv_natint -> - 0 - | Ediv_natnat -> - 0 - | Lsl_nat -> - 0 - | Lsr_nat -> - 0 - | Or_nat -> - 0 - | And_nat -> - 0 - | And_int_nat -> - 0 - | Xor_nat -> - 0 - | Not_nat -> - 0 - | Not_int -> - 0 - | Seq _ -> - 0 - | If _ -> - 0 - | Loop _ -> - 0 - | Loop_left _ -> - 0 - | Dip _ -> - 0 - | Exec -> - 0 - | Apply _ -> - 0 - | Failwith _ -> - 0 - | Nop -> - 0 - | Compare _ -> - 0 - | Eq -> - 0 - | Neq -> - 0 - | Lt -> - 0 - | Gt -> - 0 - | Le -> - 0 - | Ge -> - 0 - | Address -> - 0 - | Transfer_tokens -> - 0 - | Implicit_account -> - 0 - | Create_contract _ -> - 0 - | Now -> - 0 - | Level -> - 0 - | Balance -> - 0 - | Check_signature -> - 0 - | Hash_key -> - 0 - | Blake2b -> - 0 - | Sha256 -> - 0 - | Sha512 -> - 0 - | Source -> - 0 - | Sender -> - 0 - | Amount -> - 0 - | Self_address -> - 0 - | Sapling_empty_state _ -> - 0 - | Sapling_verify_update -> - 0 - | Set_delegate -> - 0 - | Pack _ -> - 0 - | Dig _ -> - 0 - | Dug _ -> - 0 - | Dipn _ -> - 0 - | Dropn _ -> - 0 - | ChainId -> - 0 - | Never -> - 0 - | Voting_power -> - 0 - | Total_voting_power -> - 0 - | Keccak -> - 0 - | Sha3 -> - 0 - | Add_bls12_381_g1 -> - 0 - | Add_bls12_381_g2 -> - 0 - | Add_bls12_381_fr -> - 0 - | Mul_bls12_381_g1 -> - 0 - | Mul_bls12_381_g2 -> - 0 - | Mul_bls12_381_fr -> - 0 - | Mul_bls12_381_fr_z -> - 0 - | Mul_bls12_381_z_fr -> - 0 - | Int_bls12_381_fr -> - 0 - | Neg_bls12_381_g1 -> - 0 - | Neg_bls12_381_g2 -> - 0 - | Neg_bls12_381_fr -> - 0 - | Pairing_check_bls12_381 -> - 0 - | Uncomb _ -> - 0 - | Comb_get _ -> - 0 - | Comb _ -> - 1 - | Comb_set _ -> - 1 - | Dup_n _ -> - 0 - | Join_tickets _ -> - 0 +let number_of_generated_growing_types : + type a s r f. (a, s, r, f) cinstr -> int = + fun c -> c.csize (* ---- Error helpers -------------------------------------------------------*) @@ -1076,12 +794,12 @@ let rec comparable_ty_of_ty : >>? fun (t, _ctxt) -> error (Comparable_type_expected (loc, t)) let rec unparse_stack : - type a. + type a s. context -> - a stack_ty -> + (a, s) stack_ty -> ((Script.expr * Script.annot) list * context) tzresult = fun ctxt -> function - | Empty_t -> + | Bot_t -> ok ([], ctxt) | Item_t (ty, rest, annot) -> unparse_ty ctxt ty @@ -1872,26 +1590,28 @@ let ty_eq : merge_types ~legacy:true ctxt loc ta tb >|? fun (eq, _ty, ctxt) -> (eq, ctxt) let merge_stacks : - type ta tb. + type ta tb ts tu. legacy:bool -> Script.location -> context -> int -> - ta stack_ty -> - tb stack_ty -> - ((ta stack_ty, tb stack_ty) eq * ta stack_ty * context) tzresult = + (ta, ts) stack_ty -> + (tb, tu) stack_ty -> + (((ta, ts) stack_ty, (tb, tu) stack_ty) eq * (ta, ts) stack_ty * context) + tzresult = fun ~legacy loc -> let rec help : - type a b. + type ta tb ts tu. context -> int -> - a stack_ty -> - b stack_ty -> - ((a stack_ty, b stack_ty) eq * a stack_ty * context) tzresult = + (ta, ts) stack_ty -> + (tb, tu) stack_ty -> + (((ta, ts) stack_ty, (tb, tu) stack_ty) eq * (ta, ts) stack_ty * context) + tzresult = fun ctxt lvl stack1 stack2 -> match (stack1, stack2) with - | (Empty_t, Empty_t) -> - ok (Eq, Empty_t, ctxt) + | (Bot_t, Bot_t) -> + ok (Eq, Bot_t, ctxt) | (Item_t (ty1, rest1, annot1), Item_t (ty2, rest2, annot2)) -> merge_types ~legacy ctxt loc ty1 ty2 |> record_trace (Bad_stack_item lvl) @@ -1899,7 +1619,9 @@ let merge_stacks : help ctxt (lvl + 1) rest1 rest2 >|? fun (Eq, rest, ctxt) -> let annot = merge_var_annot annot1 annot2 in - ((Eq : (a stack_ty, b stack_ty) eq), Item_t (ty, rest, annot), ctxt) + ( (Eq : ((ta, ts) stack_ty, (tb, tu) stack_ty) eq), + Item_t (ty, rest, annot), + ctxt ) | (_, _) -> error Bad_stack_length in @@ -1907,29 +1629,31 @@ let merge_stacks : (* ---- Type checker results -------------------------------------------------*) -type 'bef judgement = - | Typed : ('bef, 'aft) descr -> 'bef judgement +type ('a, 's) judgement = + | Typed : ('a, 's, 'b, 'u) descr -> ('a, 's) judgement | Failed : { - descr : 'aft. 'aft stack_ty -> ('bef, 'aft) descr; + descr : 'b 'u. ('b, 'u) stack_ty -> ('a, 's, 'b, 'u) descr; } - -> 'bef judgement + -> ('a, 's) judgement (* ---- Type checker (Untyped expressions -> Typed IR) ----------------------*) -type ('t, 'f, 'b) branch = { - branch : 'r. ('t, 'r) descr -> ('f, 'r) descr -> ('b, 'r) descr; +type ('a, 's, 'b, 'u, 'c, 'v) branch = { + branch : + 'r 'f. ('a, 's, 'r, 'f) descr -> ('b, 'u, 'r, 'f) descr -> + ('c, 'v, 'r, 'f) descr; } [@@unboxed] let merge_branches : - type bef a b. + type a s b u c v. legacy:bool -> context -> int -> - a judgement -> - b judgement -> - (a, b, bef) branch -> - (bef judgement * context) tzresult = + (a, s) judgement -> + (b, u) judgement -> + (a, s, b, u, c, v) branch -> + ((c, v) judgement * context) tzresult = fun ~legacy ctxt loc btr bfr {branch} -> match (btr, bfr) with | (Typed ({aft = aftbt; _} as dbt), Typed ({aft = aftbf; _} as dbf)) -> @@ -2581,43 +2305,44 @@ type ex_script = Ex_script : ('a, 'c) script -> ex_script type ex_code = Ex_code : ('a, 'c) code -> ex_code -type _ dig_proof_argument = +type (_, _) dig_proof_argument = | Dig_proof_argument : - ( ('x * 'rest, 'rest, 'bef, 'aft) stack_prefix_preservation_witness - * ('x ty * var_annot option) - * 'aft stack_ty ) - -> 'bef dig_proof_argument + ('x, 'a * 's, 'a, 's, 'b, 't, 'c, 'u) stack_prefix_preservation_witness + * 'x ty + * var_annot option + * ('c, 'u) stack_ty + -> ('b, 't) dig_proof_argument -type (_, _) dug_proof_argument = +type (_, _, _) dug_proof_argument = | Dug_proof_argument : - ( ('rest, 'x * 'rest, 'bef, 'aft) stack_prefix_preservation_witness + ( ('a, 's, 'x, 'a * 's, 'b, 't, 'c, 'u) stack_prefix_preservation_witness * unit - * 'aft stack_ty ) - -> ('bef, 'x) dug_proof_argument + * ('c, 'u) stack_ty ) + -> ('b, 't, 'x) dug_proof_argument -type _ dipn_proof_argument = +type (_, _) dipn_proof_argument = | Dipn_proof_argument : - ( ('fbef, 'faft, 'bef, 'aft) stack_prefix_preservation_witness - * (context * ('fbef, 'faft) descr) - * 'aft stack_ty ) - -> 'bef dipn_proof_argument + ('fa, 'fs, 'fb, 'fu, 'a, 's, 'b, 'u) stack_prefix_preservation_witness + * context + * ('fa, 'fs, 'fb, 'fu) descr + * ('b, 'u) stack_ty + -> ('a, 's) dipn_proof_argument -type _ dropn_proof_argument = +type (_, _) dropn_proof_argument = | Dropn_proof_argument : - ( ('rest, 'rest, 'bef, 'bef) stack_prefix_preservation_witness - * 'rest stack_ty - * 'aft stack_ty ) - -> 'bef dropn_proof_argument + ('fa, 'fs, 'fa, 'fs, 'a, 's, 'a, 's) stack_prefix_preservation_witness + * ('fa, 'fs) stack_ty + -> ('a, 's) dropn_proof_argument type 'before comb_proof_argument = | Comb_proof_argument : - ('before, 'after) comb_gadt_witness * 'after stack_ty - -> 'before comb_proof_argument + ('a * 's, 'b * 'u) comb_gadt_witness * ('b, 'u) stack_ty + -> ('a * 's) comb_proof_argument type 'before uncomb_proof_argument = | Uncomb_proof_argument : - ('before, 'after) uncomb_gadt_witness * 'after stack_ty - -> 'before uncomb_proof_argument + ('a * 's, 'b * 'u) uncomb_gadt_witness * ('b, 'u) stack_ty + -> ('a * 's) uncomb_proof_argument type 'before comb_get_proof_argument = | Comb_get_proof_argument : @@ -3658,9 +3383,9 @@ and parse_returning : ~legacy ~stack_depth:(stack_depth + 1) script_instr - (Item_t (arg, Empty_t, arg_annot)) + (Item_t (arg, Bot_t, arg_annot)) >>=? function - | (Typed ({loc; aft = Item_t (ty, Empty_t, _) as stack_ty; _} as descr), ctxt) + | (Typed ({loc; aft = Item_t (ty, Bot_t, _) as stack_ty; _} as descr), ctxt) -> Lwt.return @@ record_trace_eval @@ -3671,7 +3396,8 @@ and parse_returning : >|? fun (stack_ty, _ctxt) -> Bad_return (loc, stack_ty, ret)) ( merge_types ~legacy ctxt loc ty ret >|? fun (Eq, _ret, ctxt) -> - ((Lam (descr, script_instr) : (arg, ret) lambda), ctxt) ) + ((Lam (close_descr descr, script_instr) : (arg, ret) lambda), ctxt) + ) | (Typed {loc; aft = stack_ty; _}, ctxt) -> Lwt.return ( serialize_ty_for_error ctxt ret @@ -3680,20 +3406,20 @@ and parse_returning : >>? fun (stack_ty, _ctxt) -> error (Bad_return (loc, stack_ty, ret)) ) | (Failed {descr}, ctxt) -> return - ( ( Lam (descr (Item_t (ret, Empty_t, None)), script_instr) + ( ( Lam (close_descr (descr (Item_t (ret, Bot_t, None))), script_instr) : (arg, ret) lambda ), ctxt ) and parse_instr : - type bef. + type a s. ?type_logger:type_logger -> stack_depth:int -> tc_context -> context -> legacy:bool -> Script.node -> - bef stack_ty -> - (bef judgement * context) tzresult Lwt.t = + (a, s) stack_ty -> + ((a, s) judgement * context) tzresult Lwt.t = fun ?type_logger ~stack_depth tc_context ctxt ~legacy script_instr stack_ty -> let check_item_ty (type a b) ctxt (exp : a ty) (got : b ty) loc name n m : ((a, b) eq * a ty * context) tzresult = @@ -3711,15 +3437,15 @@ and parse_instr : ok_unit | (Some log, (Prim _ | Seq _)) -> (* Unparsing for logging done in an unlimited context as this - is used only by the client and not the protocol *) + is used only by the client and not the protocol *) let ctxt = Gas.set_unlimited ctxt in unparse_stack ctxt stack_ty >>? fun (stack_ty, _) -> unparse_stack ctxt aft >|? fun (aft, _) -> log loc stack_ty aft ; () in let return_no_lwt : - type bef. context -> bef judgement -> (bef judgement * context) tzresult - = + type a s. + context -> (a, s) judgement -> ((a, s) judgement * context) tzresult = fun ctxt judgement -> match judgement with | Typed {instr; loc; aft; _} -> @@ -3736,8 +3462,10 @@ and parse_instr : ok (judgement, ctxt) in let return : - type bef. - context -> bef judgement -> (bef judgement * context) tzresult Lwt.t = + type a s. + context -> + (a, s) judgement -> + ((a, s) judgement * context) tzresult Lwt.t = fun ctxt judgement -> Lwt.return @@ return_no_lwt ctxt judgement in let typed_no_lwt ctxt loc instr aft = @@ -3766,25 +3494,31 @@ and parse_instr : match (script_instr, stack_ty) with (* stack ops *) | (Prim (loc, I_DROP, [], annot), Item_t (_, rest, _)) -> - ( error_unexpected_annot loc annot >>?= fun () -> typed ctxt loc Drop rest - : (bef judgement * context) tzresult Lwt.t ) + ( error_unexpected_annot loc annot + >>?= fun () -> + typed + ctxt + loc + {csize = 0; apply = (fun kinfo k -> IDrop (kinfo, k))} + rest + : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_DROP, [n], result_annot), whole_stack) -> parse_uint10 n >>?= fun whole_n -> Gas.consume ctxt (Typecheck_costs.proof_argument whole_n) >>?= fun ctxt -> let rec make_proof_argument : - type tstk. int -> tstk stack_ty -> tstk dropn_proof_argument tzresult - = + type a s. + int -> (a, s) stack_ty -> (a, s) dropn_proof_argument tzresult = fun n stk -> match (Compare.Int.(n = 0), stk) with | (true, rest) -> - ok @@ Dropn_proof_argument (Rest, rest, rest) - | (false, Item_t (v, rest, annot)) -> + ok @@ Dropn_proof_argument (KRest, rest) + | (false, Item_t (_, rest, _)) -> make_proof_argument (n - 1) rest - >|? fun (Dropn_proof_argument (n', stack_after_drops, aft')) -> - Dropn_proof_argument - (Prefix n', stack_after_drops, Item_t (v, aft', annot)) + >|? 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) | (_, _) -> serialize_stack_for_error ctxt whole_stack >>? fun (whole_stack, _ctxt) -> @@ -3793,11 +3527,12 @@ and parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument whole_n whole_stack - >>?= fun (Dropn_proof_argument (n', stack_after_drops, _aft)) -> - typed ctxt loc (Dropn (whole_n, n')) stack_after_drops + >>?= fun (Dropn_proof_argument (n', stack_after_drops)) -> + let kdropn kinfo k = IDropn (kinfo, whole_n, n', k) in + typed ctxt loc {csize = 0; 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. - However, DROP is equivalent to DROP 1 so hinting at an arity of 1 makes sense. *) + However, DROP is equivalent to DROP 1 so hinting at an arity of 1 makes sense. *) fail (Invalid_arity (loc, I_DROP, 1, List.length l)) | (Prim (loc, I_DUP, [], annot), Item_t (v, rest, stack_annot)) -> parse_var_annot loc annot ~default:stack_annot @@ -3808,14 +3543,15 @@ and parse_instr : >|? fun (t, _ctxt) -> Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc v) >>?= fun ctxt -> - typed ctxt loc Dup (Item_t (v, Item_t (v, rest, stack_annot), annot)) + let dup = {csize = 0; apply = (fun kinfo k -> IDup (kinfo, k))} in + typed ctxt loc dup (Item_t (v, Item_t (v, rest, stack_annot), annot)) | (Prim (loc, I_DUP, [n], v_annot), stack_ty) -> parse_var_annot loc v_annot >>?= fun annot -> let rec make_proof_argument : - type before. - int -> before stack_ty -> before dup_n_proof_argument tzresult = - fun n (stack_ty : before stack_ty) -> + 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) @@ -3842,22 +3578,28 @@ and parse_instr : >|? fun (t, _ctxt) -> Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc after_ty) >>?= fun ctxt -> - typed ctxt loc (Dup_n (n, witness)) (Item_t (after_ty, stack_ty, annot)) + let dupn = + {csize = 0; apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} + in + typed ctxt loc dupn (Item_t (after_ty, stack_ty, annot)) | (Prim (loc, I_DIG, [n], result_annot), stack) -> let rec make_proof_argument : - type tstk. int -> tstk stack_ty -> tstk dig_proof_argument tzresult = + type a s. + int -> (a, s) stack_ty -> (a, s) dig_proof_argument tzresult = fun n stk -> match (Compare.Int.(n = 0), stk) with | (true, Item_t (v, rest, annot)) -> - ok @@ Dig_proof_argument (Rest, (v, annot), rest) + ok @@ Dig_proof_argument (KRest, v, annot, rest) | (false, Item_t (v, rest, annot)) -> make_proof_argument (n - 1) rest - >|? fun (Dig_proof_argument (n', (x, xv), aft')) -> - Dig_proof_argument (Prefix n', (x, xv), Item_t (v, aft', annot)) + >|? fun (Dig_proof_argument (n', x, xv, aft')) -> + let kinfo = {iloc = loc; kstack_ty = aft'} in + Dig_proof_argument + (KPrefix (kinfo, n'), x, xv, Item_t (v, aft', annot)) | (_, _) -> serialize_stack_for_error ctxt stack >>? fun (whole_stack, _ctxt) -> - error (Bad_stack (loc, I_DIG, 1, whole_stack)) + error (Bad_stack (loc, I_DIG, 3, whole_stack)) in parse_uint10 n >>?= fun n -> @@ -3866,8 +3608,9 @@ and parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n stack - >>?= fun (Dig_proof_argument (n', (x, stack_annot), aft)) -> - typed ctxt loc (Dig (n, n')) (Item_t (x, aft, stack_annot)) + >>?= fun (Dig_proof_argument (n', x, stack_annot, aft)) -> + let dig = {csize = 0; apply = (fun kinfo k -> IDig (kinfo, n, n', k))} in + typed ctxt loc dig (Item_t (x, aft, stack_annot)) | (Prim (loc, I_DIG, (([] | _ :: _ :: _) as l), _), _) -> fail (Invalid_arity (loc, I_DIG, 1, List.length l)) | (Prim (loc, I_DUG, [n], result_annot), Item_t (x, whole_stack, stack_annot)) @@ -3877,20 +3620,22 @@ and parse_instr : Gas.consume ctxt (Typecheck_costs.proof_argument whole_n) >>?= fun ctxt -> let rec make_proof_argument : - type tstk x. + type a s x. int -> x ty -> var_annot option -> - tstk stack_ty -> - (tstk, x) dug_proof_argument tzresult = + (a, s) stack_ty -> + (a, s, x) dug_proof_argument tzresult = fun n x stack_annot stk -> match (Compare.Int.(n = 0), stk) with | (true, rest) -> - ok @@ Dug_proof_argument (Rest, (), Item_t (x, rest, stack_annot)) + ok @@ Dug_proof_argument (KRest, (), Item_t (x, rest, stack_annot)) | (false, Item_t (v, rest, annot)) -> make_proof_argument (n - 1) x stack_annot rest >|? fun (Dug_proof_argument (n', (), aft')) -> - Dug_proof_argument (Prefix n', (), Item_t (v, aft', annot)) + let kinfo = {iloc = loc; kstack_ty = aft'} in + Dug_proof_argument + (KPrefix (kinfo, n'), (), Item_t (v, aft', annot)) | (_, _) -> serialize_stack_for_error ctxt whole_stack >>? fun (whole_stack, _ctxt) -> @@ -3900,8 +3645,11 @@ and parse_instr : >>?= fun () -> make_proof_argument whole_n x stack_annot whole_stack >>?= fun (Dug_proof_argument (n', (), aft)) -> - typed ctxt loc (Dug (whole_n, n')) aft - | (Prim (loc, I_DUG, [_], result_annot), (Empty_t as stack)) -> + let dug = + {csize = 0; apply = (fun kinfo k -> IDug (kinfo, whole_n, n', k))} + in + typed ctxt loc dug aft + | (Prim (loc, I_DUG, [_], result_annot), stack) -> Lwt.return ( error_unexpected_annot loc result_annot >>? fun () -> @@ -3913,11 +3661,11 @@ and parse_instr : Item_t (v, Item_t (w, rest, stack_annot), cur_top_annot) ) -> error_unexpected_annot loc annot >>?= fun () -> - typed - ctxt - loc - Swap - (Item_t (w, Item_t (v, rest, cur_top_annot), stack_annot)) + let swap = {csize = 0; apply = (fun kinfo k -> ISwap (kinfo, k))} in + let stack_ty = + Item_t (w, Item_t (v, rest, cur_top_annot), stack_annot) + in + typed ctxt loc swap stack_ty | (Prim (loc, I_PUSH, [t; d], annot), stack) -> parse_var_annot loc annot >>?= fun annot -> @@ -3931,26 +3679,34 @@ and parse_instr : ~allow_forged:false t d - >>=? fun (v, ctxt) -> typed ctxt loc (Const v) (Item_t (t, stack, annot)) + >>=? fun (v, ctxt) -> + let const = {csize = 1; apply = (fun kinfo k -> IConst (kinfo, v, k))} in + typed ctxt loc const (Item_t (t, stack, annot)) | (Prim (loc, I_UNIT, [], annot), stack) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - typed ctxt loc (Const ()) (Item_t (Unit_t ty_name, stack, annot)) + let const = + {csize = 1; apply = (fun kinfo k -> IConst (kinfo, (), k))} + in + typed ctxt loc const (Item_t (Unit_t ty_name, stack, annot)) (* options *) | (Prim (loc, I_SOME, [], annot), Item_t (t, rest, _)) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - typed ctxt loc Cons_some (Item_t (Option_t (t, ty_name), rest, annot)) + let cons_some = + {csize = 1; apply = (fun kinfo k -> ICons_some (kinfo, k))} + in + typed ctxt loc cons_some (Item_t (Option_t (t, ty_name), rest, annot)) | (Prim (loc, I_NONE, [t], annot), stack) -> parse_any_ty ctxt ~legacy t >>?= fun (Ex_ty t, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - typed - ctxt - loc - (Cons_none t) - (Item_t (Option_t (t, ty_name), stack, annot)) + let cons_none = + {csize = 1; apply = (fun kinfo k -> ICons_none (kinfo, t, k))} + in + let stack_ty = Item_t (Option_t (t, ty_name), stack, annot) in + typed ctxt loc cons_none stack_ty | ( Prim (loc, I_IF_NONE, [bt; bf], annot), (Item_t (Option_t (t, _), rest, option_annot) as bef) ) -> check_kind [Seq_kind] bt @@ -3962,16 +3718,22 @@ and parse_instr : let annot = gen_access_annot option_annot default_some_annot in non_terminal_recursion ?type_logger tc_context ctxt ~legacy bt rest >>=? fun (btr, ctxt) -> - non_terminal_recursion - ?type_logger - tc_context - ctxt - ~legacy - bf - (Item_t (t, rest, annot)) + let stack_ty = Item_t (t, rest, annot) in + non_terminal_recursion ?type_logger tc_context ctxt ~legacy bf stack_ty >>=? fun (bfr, ctxt) -> let branch ibt ibf = - {loc; instr = If_none (ibt, ibf); bef; aft = ibt.aft} + let ifnone = + { + csize = 0; + apply = + (fun kinfo k -> + let btinfo = kinfo_of_descr ibt + and bfinfo = kinfo_of_descr ibf in + IIf_none + (kinfo, ibt.instr.apply btinfo k, ibf.instr.apply bfinfo k)); + } + in + {loc; instr = ifnone; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} >>?= fun (judgement, ctxt) -> return ctxt judgement @@ -3984,22 +3746,24 @@ and parse_instr : ~if_special_first:(var_to_field_annot fst_annot) ~if_special_second:(var_to_field_annot snd_annot) >>?= fun (annot, ty_name, l_field, r_field) -> - typed - ctxt - loc - Cons_pair - (Item_t - ( Pair_t ((a, l_field, fst_annot), (b, r_field, snd_annot), ty_name), - rest, - annot )) + let stack_ty = + Item_t + ( Pair_t ((a, l_field, fst_annot), (b, r_field, snd_annot), ty_name), + rest, + annot ) + in + let cons_pair = + {csize = 1; apply = (fun kinfo k -> ICons_pair (kinfo, k))} + in + typed ctxt loc cons_pair stack_ty | (Prim (loc, I_PAIR, [n], annot), stack_ty) -> parse_var_annot loc annot >>?= fun annot -> let rec make_proof_argument : - type before. + type a s. int -> - before stack_ty -> - (before comb_proof_argument * var_annot option) tzresult = + (a, s) stack_ty -> + ((a * s) comb_proof_argument * var_annot option) tzresult = fun n stack_ty -> match (n, stack_ty) with | (1, Item_t (a_ty, tl_ty, a_annot_opt)) -> @@ -4035,13 +3799,16 @@ and parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Comb_proof_argument (witness, after_ty), _none) -> - typed ctxt loc (Comb (n, witness)) after_ty + let comb = + {csize = 0; 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 before. - int -> before stack_ty -> before uncomb_proof_argument tzresult = + type a s. + int -> (a, s) stack_ty -> (a * s) uncomb_proof_argument tzresult = fun n stack_ty -> match (n, stack_ty) with | (1, Item_t (a_ty, tl_ty, annot)) -> @@ -4073,13 +3840,15 @@ and parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> - typed ctxt loc (Uncomb (n, witness)) after_ty + let uncomb = + {csize = 0; 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, _)) -> parse_var_annot loc annot >>?= fun annot -> let rec make_proof_argument : - type before. - int -> before ty -> before comb_get_proof_argument tzresult = + type b. int -> b ty -> b comb_get_proof_argument tzresult = fun n ty -> match (n, ty) with | (0, value_ty) -> @@ -4103,7 +3872,10 @@ and parse_instr : make_proof_argument n comb_ty >>?= fun (Comb_get_proof_argument (witness, ty')) -> let after_stack_ty = Item_t (ty', rest_ty, annot) in - typed ctxt loc (Comb_get (n, witness)) after_stack_ty + let comb_get = + {csize = 0; apply = (fun kinfo k -> IComb_get (kinfo, 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, _), _) ) -> parse_var_annot loc annot @@ -4143,7 +3915,10 @@ and parse_instr : make_proof_argument n value_ty comb_ty >>?= fun (Comb_set_proof_argument (witness, after_ty)) -> let after_stack_ty = Item_t (after_ty, rest_ty, annot) in - typed ctxt loc (Comb_set (n, witness)) after_stack_ty + let comb_set = + {csize = 0; apply = (fun kinfo k -> IComb_set (kinfo, n, witness, k))} + in + typed ctxt loc comb_set after_stack_ty | ( Prim (loc, I_UNPAIR, [], annot), Item_t ( Pair_t @@ -4165,7 +3940,8 @@ and parse_instr : >>?= fun () -> check_correct_field field_b expected_field_annot_b >>?= fun () -> - typed ctxt loc Unpair (Item_t (a, Item_t (b, rest, annot_b), annot_a)) + let unpair = {csize = 0; apply = (fun kinfo k -> IUnpair (kinfo, k))} in + typed ctxt loc unpair (Item_t (a, Item_t (b, rest, annot_b), annot_a)) | ( Prim (loc, I_CAR, [], annot), Item_t (Pair_t ((a, expected_field_annot, a_annot), _, _), rest, pair_annot) @@ -4179,7 +3955,9 @@ and parse_instr : ~default_accessor:default_car_annot >>?= fun (annot, field_annot) -> check_correct_field field_annot expected_field_annot - >>?= fun () -> typed ctxt loc Car (Item_t (a, rest, annot)) + >>?= fun () -> + let car = {csize = 0; apply = (fun kinfo k -> ICar (kinfo, k))} in + typed ctxt loc car (Item_t (a, rest, annot)) | ( Prim (loc, I_CDR, [], annot), Item_t (Pair_t (_, (b, expected_field_annot, b_annot), _), rest, pair_annot) @@ -4193,7 +3971,9 @@ and parse_instr : ~default_accessor:default_cdr_annot >>?= fun (annot, field_annot) -> check_correct_field field_annot expected_field_annot - >>?= fun () -> typed ctxt loc Cdr (Item_t (b, rest, annot)) + >>?= fun () -> + let cdr = {csize = 0; apply = (fun kinfo k -> ICdr (kinfo, k))} in + typed ctxt loc cdr (Item_t (b, rest, annot)) (* unions *) | (Prim (loc, I_LEFT, [tr], annot), Item_t (tl, rest, stack_annot)) -> parse_any_ty ctxt ~legacy tr @@ -4203,11 +3983,13 @@ and parse_instr : annot ~if_special_first:(var_to_field_annot stack_annot) >>?= fun (annot, tname, l_field, r_field) -> - typed - ctxt - loc - Cons_left - (Item_t (Union_t ((tl, l_field), (tr, r_field), tname), rest, annot)) + let cons_left = + {csize = 1; apply = (fun kinfo k -> ICons_left (kinfo, k))} + in + let stack_ty = + Item_t (Union_t ((tl, l_field), (tr, r_field), tname), rest, annot) + in + typed ctxt loc cons_left stack_ty | (Prim (loc, I_RIGHT, [tl], annot), Item_t (tr, rest, stack_annot)) -> parse_any_ty ctxt ~legacy tl >>?= fun (Ex_ty tl, ctxt) -> @@ -4216,11 +3998,13 @@ and parse_instr : annot ~if_special_second:(var_to_field_annot stack_annot) >>?= fun (annot, tname, l_field, r_field) -> - typed - ctxt - loc - Cons_right - (Item_t (Union_t ((tl, l_field), (tr, r_field), tname), rest, annot)) + let cons_right = + {csize = 1; apply = (fun kinfo k -> ICons_right (kinfo, k))} + in + let stack_ty = + Item_t (Union_t ((tl, l_field), (tr, r_field), tname), rest, annot) + in + typed ctxt loc cons_right stack_ty | ( Prim (loc, I_IF_LEFT, [bt; bf], annot), ( Item_t (Union_t ((tl, l_field), (tr, r_field), _), rest, union_annot) as bef ) ) -> @@ -4253,7 +4037,17 @@ and parse_instr : (Item_t (tr, rest, right_annot)) >>=? fun (bfr, ctxt) -> let branch ibt ibf = - {loc; instr = If_left (ibt, ibf); bef; aft = ibt.aft} + let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + IIf_left + (kinfo, ibt.instr.apply infobt k, ibf.instr.apply infobf k)); + } + in + {loc; instr; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} >>?= fun (judgement, ctxt) -> return ctxt judgement @@ -4263,14 +4057,19 @@ and parse_instr : >>?= fun (Ex_ty t, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - typed ctxt loc Nil (Item_t (List_t (t, ty_name), stack, annot)) + let nil = {csize = 1; apply = (fun kinfo k -> INil (kinfo, k))} in + typed ctxt loc nil (Item_t (List_t (t, ty_name), stack, annot)) | ( Prim (loc, I_CONS, [], annot), Item_t (tv, Item_t (List_t (t, ty_name), rest, _), _) ) -> check_item_ty ctxt tv t loc I_CONS 1 2 >>?= fun (Eq, t, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Cons_list (Item_t (List_t (t, ty_name), rest, annot)) + let cons_list = + {csize = 0; apply = (fun kinfo k -> ICons_list (kinfo, k))} + in + ( typed ctxt loc cons_list (Item_t (List_t (t, ty_name), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_IF_CONS, [bt; bf], annot), (Item_t (List_t (t, ty_name), rest, list_annot) as bef) ) -> check_kind [Seq_kind] bt @@ -4292,14 +4091,27 @@ and parse_instr : non_terminal_recursion ?type_logger tc_context ctxt ~legacy bf rest >>=? fun (bfr, ctxt) -> let branch ibt ibf = - {loc; instr = If_cons (ibt, ibf); bef; aft = ibt.aft} + let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + IIf_cons + (kinfo, ibt.instr.apply infobt k, ibf.instr.apply infobf k)); + } + in + {loc; instr; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} >>?= fun (judgement, ctxt) -> return ctxt judgement | (Prim (loc, I_SIZE, [], annot), Item_t (List_t _, rest, _)) -> parse_var_type_annot loc annot >>?= fun (annot, tname) -> - typed ctxt loc List_size (Item_t (Nat_t tname, rest, annot)) + let list_size = + {csize = 0; apply = (fun kinfo k -> IList_size (kinfo, k))} + in + typed ctxt loc list_size (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_MAP, [body], annot), Item_t (List_t (elt, _), starting_rest, list_annot) ) -> ( check_kind [Seq_kind] body @@ -4326,10 +4138,26 @@ and parse_instr : invalid_map_body ( merge_stacks ~legacy loc ctxt 1 rest starting_rest >>? fun (Eq, rest, ctxt) -> + let list_map = + { + csize = 1; + apply = + (fun kinfo k -> + let binfo = kinfo_of_descr ibody in + let hinfo = + { + iloc = loc; + kstack_ty = Item_t (ret, rest, ret_annot); + } + in + let ibody = ibody.instr.apply binfo (IHalt hinfo) in + IList_map (kinfo, ibody, k)); + } + in typed_no_lwt ctxt loc - (List_map ibody) + list_map (Item_t (List_t (ret, list_ty_name), rest, ret_annot)) ) | Typed {aft; _} -> Lwt.return @@ -4365,16 +4193,43 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - typed_no_lwt ctxt loc (List_iter ibody) rest ) + let list_iter = + { + csize = 0; + apply = + (fun kinfo k -> + 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)); + } + in + ( typed_no_lwt ctxt loc list_iter rest + : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - typed ctxt loc (List_iter (descr rest)) rest ) + let list_iter = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = descr rest in + 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)); + } + in + typed ctxt loc list_iter rest ) (* sets *) | (Prim (loc, I_EMPTY_SET, [t], annot), rest) -> parse_comparable_ty ctxt t >>?= fun (Ex_comparable_ty t, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, tname) -> - typed ctxt loc (Empty_set t) (Item_t (Set_t (t, tname), rest, annot)) + let instr = + {csize = 1; apply = (fun kinfo k -> IEmpty_set (kinfo, t, k))} + in + typed ctxt loc instr (Item_t (Set_t (t, tname), rest, annot)) | ( Prim (loc, I_ITER, [body], annot), Item_t (Set_t (comp_elt, _), rest, set_annot) ) -> ( check_kind [Seq_kind] body @@ -4404,9 +4259,33 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - typed_no_lwt ctxt loc (Set_iter ibody) rest ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + 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)); + } + in + ( typed_no_lwt ctxt loc instr rest + : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - typed ctxt loc (Set_iter (descr rest)) rest ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = descr rest in + 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)); + } + in + typed ctxt loc instr rest ) | ( Prim (loc, I_MEM, [], annot), Item_t (v, Item_t (Set_t (elt, _), rest, _), _) ) -> let elt = ty_of_comparable_ty elt in @@ -4414,7 +4293,9 @@ and parse_instr : >>?= fun (annot, tname) -> check_item_ty ctxt elt v loc I_MEM 1 2 >>?= fun (Eq, _, ctxt) -> - typed ctxt loc Set_mem (Item_t (Bool_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISet_mem (kinfo, k))} in + ( typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_UPDATE, [], annot), Item_t ( v, @@ -4424,11 +4305,16 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot ~default:set_annot >>?= fun annot -> - typed ctxt loc Set_update (Item_t (Set_t (elt, tname), rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ISet_update (kinfo, k))} + in + ( typed ctxt loc instr (Item_t (Set_t (elt, tname), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_SIZE, [], annot), Item_t (Set_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Set_size (Item_t (Nat_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISet_size (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) (* maps *) | (Prim (loc, I_EMPTY_MAP, [tk; tv], annot), stack) -> parse_comparable_ty ctxt tk @@ -4437,11 +4323,10 @@ and parse_instr : >>?= fun (Ex_ty tv, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - typed - ctxt - loc - (Empty_map (tk, tv)) - (Item_t (Map_t (tk, tv, ty_name), stack, annot)) + let instr = + {csize = 1; apply = (fun kinfo k -> IEmpty_map (kinfo, tk, tv, k))} + in + typed ctxt loc instr (Item_t (Map_t (tk, tv, ty_name), stack, annot)) | ( Prim (loc, I_MAP, [body], annot), Item_t (Map_t (ck, elt, _), starting_rest, _map_annot) ) -> ( let k = ty_of_comparable_ty ck in @@ -4473,10 +4358,26 @@ and parse_instr : invalid_map_body ( merge_stacks ~legacy loc ctxt 1 rest starting_rest >>? fun (Eq, rest, ctxt) -> + let instr = + { + csize = 1; + apply = + (fun kinfo k -> + let binfo = kinfo_of_descr ibody in + let hinfo = + { + iloc = loc; + kstack_ty = Item_t (ret, rest, ret_annot); + } + in + let ibody = ibody.instr.apply binfo (IHalt hinfo) in + IMap_map (kinfo, ibody, k)); + } + in typed_no_lwt ctxt loc - (Map_map ibody) + instr (Item_t (Map_t (ck, ret, ty_name), rest, ret_annot)) ) | Typed {aft; _} -> Lwt.return @@ -4517,9 +4418,33 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - typed_no_lwt ctxt loc (Map_iter ibody) rest ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + 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)); + } + in + ( typed_no_lwt ctxt loc instr rest + : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - typed ctxt loc (Map_iter (descr rest)) rest ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = descr rest in + 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)); + } + in + typed ctxt loc instr rest ) | ( Prim (loc, I_MEM, [], annot), Item_t (vk, Item_t (Map_t (ck, _, _), rest, _), _) ) -> let k = ty_of_comparable_ty ck in @@ -4527,7 +4452,9 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Map_mem (Item_t (Bool_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IMap_mem (kinfo, k))} in + ( typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Map_t (ck, elt, _), rest, _), _) ) -> let k = ty_of_comparable_ty ck in @@ -4535,7 +4462,9 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Map_get (Item_t (Option_t (elt, None), rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IMap_get (kinfo, k))} in + ( typed ctxt loc instr (Item_t (Option_t (elt, None), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_UPDATE, [], annot), Item_t ( vk, @@ -4551,7 +4480,11 @@ and parse_instr : >>?= fun (Eq, v, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - typed ctxt loc Map_update (Item_t (Map_t (ck, v, map_name), rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMap_update (kinfo, k))} + in + ( typed ctxt loc instr (Item_t (Map_t (ck, v, map_name), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t ( vk, @@ -4567,18 +4500,23 @@ and parse_instr : >>?= fun (Eq, v, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - typed - ctxt - loc - Map_get_and_update - (Item_t - ( Option_t (vv, vname), - Item_t (Map_t (ck, v, map_name), rest, annot), - v_annot )) + let instr = + {csize = 0; apply = (fun kinfo k -> IMap_get_and_update (kinfo, k))} + in + ( typed + ctxt + loc + instr + (Item_t + ( Option_t (vv, vname), + Item_t (Map_t (ck, v, map_name), rest, annot), + v_annot )) + : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_SIZE, [], annot), Item_t (Map_t (_, _, _), rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Map_size (Item_t (Nat_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IMap_size (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) (* big_map *) | (Prim (loc, I_EMPTY_BIG_MAP, [tk; tv], annot), stack) -> parse_comparable_ty ctxt tk @@ -4587,11 +4525,10 @@ and parse_instr : >>?= fun (Ex_ty tv, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - typed - ctxt - loc - (Empty_big_map (tk, tv)) - (Item_t (Big_map_t (tk, tv, ty_name), stack, annot)) + let instr = + {csize = 1; apply = (fun kinfo k -> IEmpty_big_map (kinfo, tk, tv, k))} + in + typed ctxt loc instr (Item_t (Big_map_t (tk, tv, ty_name), stack, annot)) | ( Prim (loc, I_MEM, [], annot), Item_t (set_key, Item_t (Big_map_t (map_key, _, _), rest, _), _) ) -> let k = ty_of_comparable_ty map_key in @@ -4599,7 +4536,11 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Big_map_mem (Item_t (Bool_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IBig_map_mem (kinfo, k))} + in + ( typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Big_map_t (ck, elt, _), rest, _), _) ) -> let k = ty_of_comparable_ty ck in @@ -4607,7 +4548,11 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Big_map_get (Item_t (Option_t (elt, None), rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IBig_map_get (kinfo, k))} + in + ( typed ctxt loc instr (Item_t (Option_t (elt, None), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_UPDATE, [], annot), Item_t ( set_key, @@ -4623,11 +4568,15 @@ and parse_instr : >>?= fun (Eq, map_value, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - typed - ctxt - loc - Big_map_update - (Item_t (Big_map_t (map_key, map_value, map_name), rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IBig_map_update (kinfo, k))} + in + ( typed + ctxt + loc + instr + (Item_t (Big_map_t (map_key, map_value, map_name), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t ( vk, @@ -4643,24 +4592,37 @@ and parse_instr : >>?= fun (Eq, v, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - typed - ctxt - loc - Big_map_get_and_update - (Item_t - ( Option_t (vv, vname), - Item_t (Big_map_t (ck, v, map_name), rest, annot), - v_annot )) + let instr = + { + csize = 0; + apply = (fun kinfo k -> IBig_map_get_and_update (kinfo, k)); + } + in + ( typed + ctxt + loc + instr + (Item_t + ( Option_t (vv, vname), + Item_t (Big_map_t (ck, v, map_name), rest, annot), + v_annot )) + : ((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 -> parse_var_annot loc annot ~default:default_sapling_state_annot >>?= fun annot -> + let instr = + { + csize = 0; + apply = (fun kinfo k -> ISapling_empty_state (kinfo, memo_size, k)); + } + in typed ctxt loc - (Sapling_empty_state {memo_size}) + instr (Item_t (Sapling_state_t (memo_size, None), rest, annot)) | ( Prim (loc, I_SAPLING_VERIFY_UPDATE, [], _), Item_t @@ -4672,10 +4634,13 @@ and parse_instr : _ ) ) -> merge_memo_sizes state_memo_size transaction_memo_size >>?= fun _memo_size -> + let instr = + {csize = 0; apply = (fun kinfo k -> ISapling_verify_update (kinfo, k))} + in typed ctxt loc - Sapling_verify_update + instr (Item_t ( Option_t ( Pair_t @@ -4687,21 +4652,10 @@ and parse_instr : stack_annot )) (* control *) | (Seq (loc, []), stack) -> - typed ctxt loc Nop stack - | (Seq (loc, [single]), stack) -> ( + let instr = {csize = 0; apply = (fun kinfo k -> INop (kinfo, k))} in + typed ctxt loc instr stack + | (Seq (_, [single]), stack) -> non_terminal_recursion ?type_logger tc_context ctxt ~legacy single stack - >>=? fun (judgement, ctxt) -> - match judgement with - | Typed ({aft; _} as instr) -> - let nop = {bef = aft; loc; aft; instr = Nop} in - typed ctxt loc (Seq (instr, nop)) aft - | Failed {descr; _} -> - let descr aft = - let nop = {bef = aft; loc; aft; instr = Nop} in - let descr = descr aft in - {descr with instr = Seq (descr, nop)} - in - return ctxt (Failed {descr}) ) | (Seq (loc, hd :: tl), stack) -> ( non_terminal_recursion ?type_logger tc_context ctxt ~legacy hd stack >>=? fun (judgement, ctxt) -> @@ -4719,12 +4673,11 @@ and parse_instr : >>=? fun (judgement, ctxt) -> match judgement with | Failed {descr} -> - let descr ret = - {loc; instr = Seq (ihd, descr ret); bef = stack; aft = ret} - in + let descr ret = compose_descr loc ihd (descr ret) in return ctxt (Failed {descr}) | Typed itl -> - typed ctxt loc (Seq (ihd, itl)) itl.aft ) ) + ( Lwt.return (Ok (Typed (compose_descr loc ihd itl), ctxt)) + : ((a, s) judgement * context) tzresult Lwt.t ) ) ) | (Prim (loc, I_IF, [bt; bf], annot), (Item_t (Bool_t _, rest, _) as bef)) -> check_kind [Seq_kind] bt >>?= fun () -> @@ -4736,7 +4689,18 @@ and parse_instr : >>=? fun (btr, ctxt) -> non_terminal_recursion ?type_logger tc_context ctxt ~legacy bf rest >>=? fun (bfr, ctxt) -> - let branch ibt ibf = {loc; instr = If (ibt, ibf); bef; aft = ibt.aft} in + let branch ibt ibf = + let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + IIf (kinfo, ibt.instr.apply infobt k, ibf.instr.apply infobf k)); + } + in + {loc; instr; bef; aft = ibt.aft} + in merge_branches ~legacy ctxt loc btr bfr {branch} >>?= fun (judgement, ctxt) -> return ctxt judgement | ( Prim (loc, I_LOOP, [body], annot), @@ -4760,10 +4724,32 @@ and parse_instr : unmatched_branches ( merge_stacks ~legacy loc ctxt 1 ibody.aft stack >>? fun (Eq, _stack, ctxt) -> - typed_no_lwt ctxt loc (Loop ibody) rest ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = + ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) + in + ILoop (kinfo, ibody, k)); + } + in + typed_no_lwt ctxt loc instr rest ) | Failed {descr} -> - let ibody = descr stack in - typed ctxt loc (Loop ibody) rest ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = descr stack in + let ibody = + ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) + in + ILoop (kinfo, ibody, k)); + } + in + typed ctxt loc instr rest ) | ( Prim (loc, I_LOOP_LEFT, [body], annot), (Item_t (Union_t ((tl, l_field), (tr, _), _), rest, union_annot) as stack) ) -> ( @@ -4795,14 +4781,32 @@ and parse_instr : unmatched_branches ( merge_stacks ~legacy loc ctxt 1 ibody.aft stack >>? fun (Eq, _stack, ctxt) -> - typed_no_lwt - ctxt - loc - (Loop_left ibody) - (Item_t (tr, rest, annot)) ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = + ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) + in + ILoop_left (kinfo, ibody, k)); + } + in + typed_no_lwt ctxt loc instr (Item_t (tr, rest, annot)) ) | Failed {descr} -> - let ibody = descr stack in - typed ctxt loc (Loop_left ibody) (Item_t (tr, rest, annot)) ) + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + let ibody = descr stack in + let ibody = + ibody.instr.apply (kinfo_of_descr ibody) (IHalt kinfo) + in + ILoop_left (kinfo, ibody, k)); + } + in + typed ctxt loc instr (Item_t (tr, rest, annot)) ) | (Prim (loc, I_LAMBDA, [arg; ret; code], annot), stack) -> parse_any_ty ctxt ~legacy arg >>?= fun (Ex_ty arg, ctxt) -> @@ -4822,17 +4826,19 @@ and parse_instr : ret code >>=? fun (lambda, ctxt) -> - typed - ctxt - loc - (Lambda lambda) - (Item_t (Lambda_t (arg, ret, None), stack, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ILambda (kinfo, lambda, k))} + in + typed ctxt loc instr (Item_t (Lambda_t (arg, ret, None), stack, annot)) | ( Prim (loc, I_EXEC, [], annot), Item_t (arg, Item_t (Lambda_t (param, ret, _), rest, _), _) ) -> check_item_ty ctxt arg param loc I_EXEC 1 2 >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Exec (Item_t (ret, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> IExec (kinfo, k))} in + ( typed ctxt loc instr (Item_t (ret, rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_APPLY, [], annot), Item_t ( capture, @@ -4848,11 +4854,15 @@ and parse_instr : >>?= fun (Eq, capture_ty, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - (Apply capture_ty) - (Item_t (Lambda_t (arg_ty, ret, lam_annot), rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IApply (kinfo, capture_ty, k))} + in + ( typed + ctxt + loc + instr + (Item_t (Lambda_t (arg_ty, ret, lam_annot), rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_DIP, [code], annot), Item_t (v, rest, stack_annot)) -> ( error_unexpected_annot loc annot >>?= fun () -> @@ -4868,7 +4878,18 @@ and parse_instr : >>=? fun (judgement, ctxt) -> match judgement with | Typed descr -> - typed ctxt loc (Dip descr) (Item_t (v, descr.aft, stack_annot)) + let instr = + { + csize = 0; + 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 b = descr.instr.apply binfo (IHalt kinfoh) in + IDip (kinfo, kinfoh, b, k)); + } + in + typed ctxt loc instr (Item_t (v, descr.aft, stack_annot)) | Failed _ -> fail (Fail_not_in_tail_position loc) ) | (Prim (loc, I_DIP, [n; code], result_annot), stack) -> @@ -4877,12 +4898,11 @@ and parse_instr : Gas.consume ctxt (Typecheck_costs.proof_argument n) >>?= fun ctxt -> let rec make_proof_argument : - type tstk. - int - (* -> (fbef stack_ty -> (fbef judgement * context) tzresult Lwt.t) *) -> + type a s. + int -> tc_context -> - tstk stack_ty -> - tstk dipn_proof_argument tzresult Lwt.t = + (a, s) stack_ty -> + (a, s) dipn_proof_argument tzresult Lwt.t = fun n inner_tc_context stk -> match (Compare.Int.(n = 0), stk) with | (true, rest) -> ( @@ -4894,17 +4914,20 @@ and parse_instr : code rest >>=? fun (judgement, ctxt) -> - Lwt.return - @@ match judgement with | Typed descr -> - ok @@ Dipn_proof_argument (Rest, (ctxt, descr), descr.aft) + Lwt.return + (ok + ( Dipn_proof_argument (KRest, ctxt, descr, descr.aft) + : (a, s) dipn_proof_argument )) | Failed _ -> - error (Fail_not_in_tail_position loc) ) + Lwt.return (error (Fail_not_in_tail_position loc)) ) | (false, Item_t (v, rest, annot)) -> make_proof_argument (n - 1) (add_dip v annot tc_context) rest - >|=? fun (Dipn_proof_argument (n', descr, aft')) -> - Dipn_proof_argument (Prefix n', descr, Item_t (v, aft', annot)) + >|=? fun (Dipn_proof_argument (n', ctxt, descr, aft')) -> + let kinfo' = {iloc = loc; kstack_ty = aft'} in + let w = KPrefix (kinfo', n') in + Dipn_proof_argument (w, ctxt, descr, Item_t (v, aft', annot)) | (_, _) -> Lwt.return ( serialize_stack_for_error ctxt stack @@ -4914,62 +4937,78 @@ and parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n tc_context stack - >>=? fun (Dipn_proof_argument (n', (new_ctxt, descr), aft)) -> + >>=? fun (Dipn_proof_argument (n', new_ctxt, descr, aft)) -> (* TODO: which context should be used in the next line? new_ctxt or the old ctxt? *) - typed new_ctxt loc (Dipn (n, n', descr)) aft + let kinfo = {iloc = descr.loc; kstack_ty = descr.bef} in + let kinfoh = {iloc = descr.loc; kstack_ty = descr.aft} in + let b = descr.instr.apply kinfo (IHalt kinfoh) in + let res = + {csize = 0; apply = (fun kinfo k -> IDipn (kinfo, n, n', b, k))} + in + typed new_ctxt loc res aft | (Prim (loc, I_DIP, (([] | _ :: _ :: _ :: _) as l), _), _) -> (* Technically, the arities 1 and 2 are allowed but the error only mentions 2. - However, DIP {code} is equivalent to DIP 1 {code} so hinting at an arity of 2 makes sense. *) + However, DIP {code} is equivalent to DIP 1 {code} so hinting at an arity of 2 makes sense. *) fail (Invalid_arity (loc, I_DIP, 2, List.length l)) | (Prim (loc, I_FAILWITH, [], annot), Item_t (v, _rest, _)) -> error_unexpected_annot loc annot >>?= fun () -> (if legacy then ok_unit else check_packable ~legacy:false loc v) >>?= fun () -> - let descr aft = {loc; instr = Failwith v; bef = stack_ty; aft} in - log_stack ctxt loc stack_ty Empty_t + let instr = + {csize = 0; apply = (fun kinfo k -> IFailwith (kinfo, loc, v, k))} + in + let descr aft = {loc; instr; bef = stack_ty; aft} in + log_stack ctxt loc stack_ty Bot_t >>?= fun () -> return ctxt (Failed {descr}) | (Prim (loc, I_NEVER, [], annot), Item_t (Never_t _, _rest, _)) -> error_unexpected_annot loc annot >>?= fun () -> - let descr aft = {loc; instr = Never; bef = stack_ty; aft} in - log_stack ctxt loc stack_ty Empty_t + let instr = {csize = 0; apply = (fun kinfo k -> INever (kinfo, k))} in + let descr aft = {loc; instr; bef = stack_ty; aft} in + log_stack ctxt loc stack_ty Bot_t >>?= fun () -> return ctxt (Failed {descr}) (* timestamp operations *) | ( Prim (loc, I_ADD, [], annot), Item_t (Timestamp_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Add_timestamp_to_seconds - (Item_t (Timestamp_t tname, rest, annot)) + let instr = + { + csize = 0; + apply = (fun kinfo k -> IAdd_timestamp_to_seconds (kinfo, k)); + } + in + typed ctxt loc instr (Item_t (Timestamp_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t _, Item_t (Timestamp_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Add_seconds_to_timestamp - (Item_t (Timestamp_t tname, rest, annot)) + let instr = + { + csize = 0; + apply = (fun kinfo k -> IAdd_seconds_to_timestamp (kinfo, k)); + } + in + typed ctxt loc instr (Item_t (Timestamp_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Sub_timestamp_seconds - (Item_t (Timestamp_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ISub_timestamp_seconds (kinfo, k))} + in + typed ctxt loc instr (Item_t (Timestamp_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t tn1, Item_t (Timestamp_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Diff_timestamps (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IDiff_timestamps (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) (* string operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (String_t tn1, Item_t (String_t tn2, rest, _), _) ) -> @@ -4977,12 +5016,18 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Concat_string_pair (Item_t (String_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IConcat_string_pair (kinfo, k))} + in + typed ctxt loc instr (Item_t (String_t tname, rest, annot)) | ( Prim (loc, I_CONCAT, [], annot), Item_t (List_t (String_t tname, _), rest, list_annot) ) -> parse_var_annot ~default:list_annot loc annot >>?= fun annot -> - typed ctxt loc Concat_string (Item_t (String_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IConcat_string (kinfo, k))} + in + typed ctxt loc instr (Item_t (String_t tname, rest, annot)) | ( Prim (loc, I_SLICE, [], annot), Item_t ( Nat_t _, @@ -4993,15 +5038,21 @@ and parse_instr : loc annot >>?= fun annot -> + let instr = + {csize = 0; apply = (fun kinfo k -> ISlice_string (kinfo, k))} + in typed ctxt loc - Slice_string + instr (Item_t (Option_t (String_t tname, None), rest, annot)) | (Prim (loc, I_SIZE, [], annot), Item_t (String_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc String_size (Item_t (Nat_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IString_size (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) (* bytes operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (Bytes_t tn1, Item_t (Bytes_t tn2, rest, _), _) ) -> @@ -5009,12 +5060,18 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Concat_bytes_pair (Item_t (Bytes_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IConcat_bytes_pair (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bytes_t tname, rest, annot)) | ( Prim (loc, I_CONCAT, [], annot), Item_t (List_t (Bytes_t tname, _), rest, list_annot) ) -> parse_var_annot ~default:list_annot loc annot >>?= fun annot -> - typed ctxt loc Concat_bytes (Item_t (Bytes_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IConcat_bytes (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bytes_t tname, rest, annot)) | ( Prim (loc, I_SLICE, [], annot), Item_t ( Nat_t _, @@ -5025,15 +5082,21 @@ and parse_instr : loc annot >>?= fun annot -> + let instr = + {csize = 0; apply = (fun kinfo k -> ISlice_bytes (kinfo, k))} + in typed ctxt loc - Slice_bytes + instr (Item_t (Option_t (Bytes_t tname, None), rest, annot)) | (Prim (loc, I_SIZE, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Bytes_size (Item_t (Nat_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IBytes_size (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) (* currency operations *) | ( Prim (loc, I_ADD, [], annot), Item_t (Mutez_t tn1, Item_t (Mutez_t tn2, rest, _), _) ) -> @@ -5041,149 +5104,201 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Add_tez (Item_t (Mutez_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IAdd_tez (kinfo, k))} in + typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Mutez_t tn1, Item_t (Mutez_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Sub_tez (Item_t (Mutez_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISub_tez (kinfo, k))} in + typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Mutez_t tname, Item_t (Nat_t _, rest, _), _) ) -> (* no type name check *) parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Mul_teznat (Item_t (Mutez_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_teznat (kinfo, k))} + in + typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t _, Item_t (Mutez_t tname, rest, _), _) ) -> (* no type name check *) parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Mul_nattez (Item_t (Mutez_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_nattez (kinfo, k))} + in + typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) (* boolean operations *) | ( Prim (loc, I_OR, [], annot), Item_t (Bool_t tn1, Item_t (Bool_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 - >>?= fun tname -> typed ctxt loc Or (Item_t (Bool_t tname, rest, annot)) + >>?= fun tname -> + let instr = {csize = 0; apply = (fun kinfo k -> IOr (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) | ( Prim (loc, I_AND, [], annot), Item_t (Bool_t tn1, Item_t (Bool_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 - >>?= fun tname -> typed ctxt loc And (Item_t (Bool_t tname, rest, annot)) + >>?= fun tname -> + let instr = {csize = 0; apply = (fun kinfo k -> IAnd (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) | ( Prim (loc, I_XOR, [], annot), Item_t (Bool_t tn1, Item_t (Bool_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 - >>?= fun tname -> typed ctxt loc Xor (Item_t (Bool_t tname, rest, annot)) + >>?= fun tname -> + let instr = {csize = 0; apply = (fun kinfo k -> IXor (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) | (Prim (loc, I_NOT, [], annot), Item_t (Bool_t tname, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Not (Item_t (Bool_t tname, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> INot (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) (* integer operations *) | (Prim (loc, I_ABS, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Abs_int (Item_t (Nat_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IAbs_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) | (Prim (loc, I_ISNAT, [], annot), Item_t (Int_t _, rest, int_annot)) -> parse_var_annot loc annot ~default:int_annot >>?= fun annot -> - typed ctxt loc Is_nat (Item_t (Option_t (Nat_t None, None), rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IIs_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Option_t (Nat_t None, None), rest, annot)) | (Prim (loc, I_INT, [], annot), Item_t (Nat_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Int_nat (Item_t (Int_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IInt_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t None, rest, annot)) | (Prim (loc, I_NEG, [], annot), Item_t (Int_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Neg_int (Item_t (Int_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> INeg_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | (Prim (loc, I_NEG, [], annot), Item_t (Nat_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Neg_nat (Item_t (Int_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> INeg_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t None, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Add_intint (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_intint (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Add_intnat (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_intnat (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Nat_t _, Item_t (Int_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Add_natint (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_natint (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Add_natnat (Item_t (Nat_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_natnat (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Sub_int (Item_t (Int_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Sub_int (Item_t (Int_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Nat_t _, Item_t (Int_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Sub_int (Item_t (Int_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun _tname -> - typed ctxt loc Sub_int (Item_t (Int_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t None, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Mul_intint (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_intint (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Mul_intnat (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_intnat (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t _, Item_t (Int_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Mul_natint (Item_t (Int_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_natint (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Mul_natnat (Item_t (Nat_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_natnat (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> + let instr = + {csize = 0; apply = (fun kinfo k -> IEdiv_teznat (kinfo, k))} + in typed ctxt loc - Ediv_teznat + instr (Item_t ( Option_t ( Pair_t @@ -5199,10 +5314,11 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> + let instr = {csize = 0; apply = (fun kinfo k -> IEdiv_tez (kinfo, k))} in typed ctxt loc - Ediv_tez + instr (Item_t ( Option_t ( Pair_t @@ -5216,10 +5332,13 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> + let instr = + {csize = 0; apply = (fun kinfo k -> IEdiv_intint (kinfo, k))} + in typed ctxt loc - Ediv_intint + instr (Item_t ( Option_t ( Pair_t @@ -5231,10 +5350,13 @@ and parse_instr : Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> + let instr = + {csize = 0; apply = (fun kinfo k -> IEdiv_intnat (kinfo, k))} + in typed ctxt loc - Ediv_intnat + instr (Item_t ( Option_t ( Pair_t @@ -5246,10 +5368,13 @@ and parse_instr : Item_t (Nat_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> + let instr = + {csize = 0; apply = (fun kinfo k -> IEdiv_natint (kinfo, k))} + in typed ctxt loc - Ediv_natint + instr (Item_t ( Option_t ( Pair_t @@ -5263,10 +5388,13 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> + let instr = + {csize = 0; apply = (fun kinfo k -> IEdiv_natnat (kinfo, k))} + in typed ctxt loc - Ediv_natnat + instr (Item_t ( Option_t ( Pair_t @@ -5280,48 +5408,58 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Lsl_nat (Item_t (Nat_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ILsl_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_LSR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Lsr_nat (Item_t (Nat_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ILsr_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_OR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Or_nat (Item_t (Nat_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IOr_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_AND, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc And_nat (Item_t (Nat_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IAnd_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_AND, [], annot), Item_t (Int_t _, Item_t (Nat_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc And_int_nat (Item_t (Nat_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAnd_int_nat (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_XOR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed ctxt loc Xor_nat (Item_t (Nat_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IXor_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | (Prim (loc, I_NOT, [], annot), Item_t (Int_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Not_int (Item_t (Int_t tname, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> INot_int (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) | (Prim (loc, I_NOT, [], annot), Item_t (Nat_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Not_nat (Item_t (Int_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> INot_nat (kinfo, k))} in + typed ctxt loc instr (Item_t (Int_t None, rest, annot)) (* comparison *) | (Prim (loc, I_COMPARE, [], annot), Item_t (t1, Item_t (t2, rest, _), _)) -> parse_var_annot loc annot @@ -5330,26 +5468,42 @@ and parse_instr : >>?= fun (Eq, t, ctxt) -> comparable_ty_of_ty ctxt loc t >>?= fun (key, ctxt) -> - typed ctxt loc (Compare key) (Item_t (Int_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ICompare (kinfo, key, k))} + in + ( typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) (* comparators *) | (Prim (loc, I_EQ, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Eq (Item_t (Bool_t None, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> IEq (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) | (Prim (loc, I_NEQ, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Neq (Item_t (Bool_t None, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> INeq (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) | (Prim (loc, I_LT, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Lt (Item_t (Bool_t None, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> ILt (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) | (Prim (loc, I_GT, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Gt (Item_t (Bool_t None, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> IGt (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) | (Prim (loc, I_LE, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Le (Item_t (Bool_t None, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> ILe (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) | (Prim (loc, I_GE, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot - >>?= fun annot -> typed ctxt loc Ge (Item_t (Bool_t None, rest, annot)) + >>?= fun annot -> + let instr = {csize = 0; apply = (fun kinfo k -> IGe (kinfo, k))} in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) (* annotations *) | (Prim (loc, I_CAST, [cast_t], annot), Item_t (t, stack, item_annot)) -> parse_var_annot loc annot ~default:item_annot @@ -5358,12 +5512,15 @@ and parse_instr : >>?= fun (Ex_ty cast_t, ctxt) -> merge_types ~legacy ctxt loc cast_t t >>?= fun (Eq, _, ctxt) -> - typed ctxt loc Nop (Item_t (cast_t, stack, annot)) - | (Prim (loc, I_RENAME, [], annot), Item_t (t, stack, _)) -> + let instr = {csize = 0; apply = (fun kinfo k -> INop (kinfo, k))} in + ( typed ctxt loc instr (Item_t (cast_t, stack, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) + | (Prim (loc, I_RENAME, [], annot), Item_t (t, (Item_t _ as stack), _)) -> parse_var_annot loc annot >>?= fun annot -> (* can erase annot *) - typed ctxt loc Nop (Item_t (t, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> INop (kinfo, k))} in + typed ctxt loc instr (Item_t (t, stack, annot)) (* packing *) | (Prim (loc, I_PACK, [], annot), Item_t (t, rest, unpacked_annot)) -> check_packable @@ -5376,7 +5533,8 @@ and parse_instr : annot ~default:(gen_access_annot unpacked_annot default_pack_annot) >>?= fun annot -> - typed ctxt loc (Pack t) (Item_t (Bytes_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IPack (kinfo, t, k))} in + typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) | (Prim (loc, I_UNPACK, [ty], annot), Item_t (Bytes_t _, rest, packed_annot)) -> parse_packable_ty ctxt ~legacy ty @@ -5388,7 +5546,10 @@ and parse_instr : annot ~default:(gen_access_annot packed_annot default_unpack_annot) in - typed ctxt loc (Unpack t) (Item_t (Option_t (t, ty_name), rest, annot)) + let instr = + {csize = 1; apply = (fun kinfo k -> IUnpack (kinfo, t, k))} + in + typed ctxt loc instr (Item_t (Option_t (t, ty_name), rest, annot)) (* protocol *) | ( Prim (loc, I_ADDRESS, [], annot), Item_t (Contract_t _, rest, contract_annot) ) -> @@ -5397,7 +5558,8 @@ and parse_instr : annot ~default:(gen_access_annot contract_annot default_addr_annot) >>?= fun annot -> - typed ctxt loc Address (Item_t (Address_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IAddress (kinfo, k))} in + typed ctxt loc instr (Item_t (Address_t None, rest, annot)) | ( Prim (loc, I_CONTRACT, [ty], annot), Item_t (Address_t _, rest, addr_annot) ) -> parse_parameter_ty ctxt ~legacy ty @@ -5417,10 +5579,16 @@ and parse_instr : error (Entrypoint_name_too_long entrypoint) else Ok entrypoint ) >>?= fun entrypoint -> + let instr = + { + csize = 1; + apply = (fun kinfo k -> IContract (kinfo, t, entrypoint, k)); + } + in typed ctxt loc - (Contract (t, entrypoint)) + instr (Item_t (Option_t (Contract_t (t, None), None), rest, annot)) | ( Prim (loc, I_TRANSFER_TOKENS, [], annot), Item_t (p, Item_t (Mutez_t _, Item_t (Contract_t (cp, _), rest, _), _), _) @@ -5429,22 +5597,32 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Transfer_tokens (Item_t (Operation_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ITransfer_tokens (kinfo, k))} + in + ( typed ctxt loc instr (Item_t (Operation_t None, rest, annot)) + : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_SET_DELEGATE, [], annot), Item_t (Option_t (Key_hash_t _, _), rest, _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Set_delegate (Item_t (Operation_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ISet_delegate (kinfo, k))} + in + typed ctxt loc instr (Item_t (Operation_t None, rest, annot)) | (Prim (_, I_CREATE_ACCOUNT, _, _), _) -> fail (Deprecated_instruction I_CREATE_ACCOUNT) | (Prim (loc, I_IMPLICIT_ACCOUNT, [], annot), Item_t (Key_hash_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> + let instr = + {csize = 0; apply = (fun kinfo k -> IImplicit_account (kinfo, k))} + in typed ctxt loc - Implicit_account + instr (Item_t (Contract_t (Unit_t None, None), rest, annot)) | ( Prim (loc, I_CREATE_CONTRACT, [(Seq _ as code)], annot), Item_t @@ -5506,8 +5684,8 @@ and parse_instr : ret_type_full code_field) >>=? fun ( ( Lam - ( { bef = Item_t (arg, Empty_t, _); - aft = Item_t (ret, Empty_t, _); + ( { kbef = Item_t (arg, Bot_t, _); + kaft = Item_t (ret, Bot_t, _); _ }, _ ) as lambda ), ctxt ) -> @@ -5517,10 +5695,19 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> merge_types ~legacy ctxt loc storage_type ginit >>?= fun (Eq, _, ctxt) -> + let instr = + { + csize = 0; + apply = + (fun kinfo k -> + ICreate_contract + (kinfo, storage_type, arg_type, lambda, root_name, k)); + } + in typed ctxt loc - (Create_contract (storage_type, arg_type, lambda, root_name)) + instr (Item_t ( Operation_t None, Item_t (Address_t None, rest, addr_annot), @@ -5528,41 +5715,54 @@ and parse_instr : | (Prim (loc, I_NOW, [], annot), stack) -> parse_var_annot loc annot ~default:default_now_annot >>?= fun annot -> - typed ctxt loc Now (Item_t (Timestamp_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> INow (kinfo, k))} in + typed ctxt loc instr (Item_t (Timestamp_t None, stack, annot)) | (Prim (loc, I_AMOUNT, [], annot), stack) -> parse_var_annot loc annot ~default:default_amount_annot >>?= fun annot -> - typed ctxt loc Amount (Item_t (Mutez_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IAmount (kinfo, k))} in + typed ctxt loc instr (Item_t (Mutez_t None, stack, annot)) | (Prim (loc, I_CHAIN_ID, [], annot), stack) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc ChainId (Item_t (Chain_id_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IChainId (kinfo, k))} in + typed ctxt loc instr (Item_t (Chain_id_t None, stack, annot)) | (Prim (loc, I_BALANCE, [], annot), stack) -> parse_var_annot loc annot ~default:default_balance_annot >>?= fun annot -> - typed ctxt loc Balance (Item_t (Mutez_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IBalance (kinfo, k))} in + typed ctxt loc instr (Item_t (Mutez_t None, stack, annot)) | (Prim (loc, I_LEVEL, [], annot), stack) -> parse_var_annot loc annot ~default:default_level_annot >>?= fun annot -> - typed ctxt loc Level (Item_t (Nat_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ILevel (kinfo, k))} in + typed ctxt loc instr (Item_t (Nat_t None, stack, annot)) | (Prim (loc, I_VOTING_POWER, [], annot), Item_t (Key_hash_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Voting_power (Item_t (Nat_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IVoting_power (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) | (Prim (loc, I_TOTAL_VOTING_POWER, [], annot), stack) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Total_voting_power (Item_t (Nat_t None, stack, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ITotal_voting_power (kinfo, k))} + in + typed ctxt loc instr (Item_t (Nat_t None, stack, annot)) | (Prim (_, I_STEPS_TO_QUOTA, _, _), _) -> fail (Deprecated_instruction I_STEPS_TO_QUOTA) | (Prim (loc, I_SOURCE, [], annot), stack) -> parse_var_annot loc annot ~default:default_source_annot >>?= fun annot -> - typed ctxt loc Source (Item_t (Address_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISource (kinfo, k))} in + typed ctxt loc instr (Item_t (Address_t None, stack, annot)) | (Prim (loc, I_SENDER, [], annot), stack) -> parse_var_annot loc annot ~default:default_sender_annot >>?= fun annot -> - typed ctxt loc Sender (Item_t (Address_t None, stack, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISender (kinfo, k))} in + typed ctxt loc instr (Item_t (Address_t None, stack, annot)) | (Prim (loc, I_SELF, [], annot), stack) -> Lwt.return ( parse_entrypoint_annot loc annot ~default:default_self_annot @@ -5574,7 +5774,7 @@ and parse_instr : entrypoint in let rec get_toplevel_type : - tc_context -> (bef judgement * context) tzresult = function + tc_context -> ((a, s) judgement * context) tzresult = function | Lambda -> error (Self_in_lambda loc) | Dip (_, prev) -> @@ -5584,181 +5784,197 @@ and parse_instr : -> find_entrypoint param_type ~root_name entrypoint >>? fun (_, Ex_ty param_type) -> + let instr = + { + csize = 1; + apply = + (fun kinfo k -> ISelf (kinfo, param_type, entrypoint, k)); + } + in typed_no_lwt ctxt loc - (Self (param_type, entrypoint)) + instr (Item_t (Contract_t (param_type, None), stack, annot)) | Toplevel {param_type; root_name = _; legacy_create_contract_literal = true} -> + let instr = + { + csize = 1; + apply = + (fun kinfo k -> ISelf (kinfo, param_type, "default", k)); + } + in typed_no_lwt ctxt loc - (Self (param_type, "default")) + instr (Item_t (Contract_t (param_type, None), stack, annot)) in get_toplevel_type tc_context ) | (Prim (loc, I_SELF_ADDRESS, [], annot), stack) -> parse_var_annot loc annot ~default:default_self_annot >>?= fun annot -> - typed ctxt loc Self_address (Item_t (Address_t None, stack, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ISelf_address (kinfo, k))} + in + typed ctxt loc instr (Item_t (Address_t None, stack, annot)) (* cryptography *) | (Prim (loc, I_HASH_KEY, [], annot), Item_t (Key_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Hash_key (Item_t (Key_hash_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IHash_key (kinfo, k))} in + typed ctxt loc instr (Item_t (Key_hash_t None, rest, annot)) | ( Prim (loc, I_CHECK_SIGNATURE, [], annot), Item_t (Key_t _, Item_t (Signature_t _, Item_t (Bytes_t _, rest, _), _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Check_signature (Item_t (Bool_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> ICheck_signature (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) | (Prim (loc, I_BLAKE2B, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Blake2b (Item_t (Bytes_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IBlake2b (kinfo, k))} in + typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) | (Prim (loc, I_SHA256, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Sha256 (Item_t (Bytes_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISha256 (kinfo, k))} in + typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) | (Prim (loc, I_SHA512, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Sha512 (Item_t (Bytes_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISha512 (kinfo, k))} in + typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) | (Prim (loc, I_KECCAK, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Keccak (Item_t (Bytes_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> IKeccak (kinfo, k))} in + typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) | (Prim (loc, I_SHA3, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Sha3 (Item_t (Bytes_t None, rest, annot)) + let instr = {csize = 0; apply = (fun kinfo k -> ISha3 (kinfo, k))} in + typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g1_t tn1, Item_t (Bls12_381_g1_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed - ctxt - loc - Add_bls12_381_g1 - (Item_t (Bls12_381_g1_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_bls12_381_g1 (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_g1_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g2_t tn1, Item_t (Bls12_381_g2_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed - ctxt - loc - Add_bls12_381_g2 - (Item_t (Bls12_381_g2_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_bls12_381_g2 (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_g2_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_fr_t tn1, Item_t (Bls12_381_fr_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - typed - ctxt - loc - Add_bls12_381_fr - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IAdd_bls12_381_fr (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g1_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_g1 - (Item_t (Bls12_381_g1_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_g1 (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_g1_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g2_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_g2 - (Item_t (Bls12_381_g2_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_g2 (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_g2_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_fr - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_fr (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_fr_z - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_fr_z - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_z_fr - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Mul_bls12_381_z_fr - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | (Prim (loc, I_INT, [], annot), Item_t (Bls12_381_fr_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed ctxt loc Int_bls12_381_fr (Item_t (Int_t None, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> IInt_bls12_381_fr (kinfo, k))} + in + typed ctxt loc instr (Item_t (Int_t None, rest, annot)) | (Prim (loc, I_NEG, [], annot), Item_t (Bls12_381_g1_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Neg_bls12_381_g1 - (Item_t (Bls12_381_g1_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> INeg_bls12_381_g1 (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_g1_t tname, rest, annot)) | (Prim (loc, I_NEG, [], annot), Item_t (Bls12_381_g2_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Neg_bls12_381_g2 - (Item_t (Bls12_381_g2_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> INeg_bls12_381_g2 (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_g2_t tname, rest, annot)) | (Prim (loc, I_NEG, [], annot), Item_t (Bls12_381_fr_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Neg_bls12_381_fr - (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = + {csize = 0; apply = (fun kinfo k -> INeg_bls12_381_fr (kinfo, k))} + in + typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) | ( Prim (loc, I_PAIRING_CHECK, [], annot), Item_t ( List_t @@ -5767,11 +5983,13 @@ and parse_instr : _ ) ) -> parse_var_annot loc annot >>?= fun annot -> - typed - ctxt - loc - Pairing_check_bls12_381 - (Item_t (Bool_t None, rest, annot)) + let instr = + { + csize = 0; + apply = (fun kinfo k -> IPairing_check_bls12_381 (kinfo, k)); + } + in + typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) (* Tickets *) | (Prim (loc, I_TICKET, [], annot), Item_t (t, Item_t (Nat_t _, rest, _), _)) -> @@ -5779,14 +5997,18 @@ and parse_instr : >>?= fun annot -> comparable_ty_of_ty ctxt loc t >>?= fun (ty, ctxt) -> - typed ctxt loc Ticket (Item_t (Ticket_t (ty, None), rest, annot)) + let instr = {csize = 1; apply = (fun kinfo k -> ITicket (kinfo, k))} in + typed ctxt loc instr (Item_t (Ticket_t (ty, None), rest, annot)) | ( Prim (loc, I_READ_TICKET, [], annot), (Item_t (Ticket_t (t, _), _, _) as full_stack) ) -> parse_var_annot loc annot >>?= fun annot -> let () = check_dupable_comparable_ty t in let result = ty_of_comparable_ty @@ opened_ticket_type t in - typed ctxt loc Read_ticket (Item_t (result, full_stack, annot)) + let instr = + {csize = 1; apply = (fun kinfo k -> IRead_ticket (kinfo, k))} + in + typed ctxt loc instr (Item_t (result, full_stack, annot)) | ( Prim (loc, I_SPLIT_TICKET, [], annot), Item_t ( (Ticket_t (t, _) as ticket_t), @@ -5800,7 +6022,10 @@ and parse_instr : Option_t (Pair_t ((ticket_t, fa_a, a_a), (ticket_t, fa_b, a_b), None), None) in - typed ctxt loc Split_ticket (Item_t (result, rest, annot)) + let instr = + {csize = 1; apply = (fun kinfo k -> ISplit_ticket (kinfo, k))} + in + typed ctxt loc instr (Item_t (result, rest, annot)) | ( Prim (loc, I_JOIN_TICKETS, [], annot), Item_t ( Pair_t (((Ticket_t _ as ty_a), _, _), ((Ticket_t _ as ty_b), _, _), _), @@ -5812,11 +6037,13 @@ and parse_instr : >>?= fun (Eq, ty, ctxt) -> match ty with | Ticket_t (contents_ty, _) -> - typed - ctxt - loc - (Join_tickets contents_ty) - (Item_t (Option_t (ty, None), rest, annot)) + let instr = + { + csize = 0; + apply = (fun kinfo k -> IJoin_tickets (kinfo, contents_ty, k)); + } + in + typed ctxt loc instr (Item_t (Option_t (ty, None), rest, annot)) | _ -> (* TODO: fix injectivity of types *) assert false ) (* Primitive parsing errors *) @@ -5963,7 +6190,7 @@ and parse_instr : | I_LE | I_GE (* CONCAT is both unary and binary; this case can only be triggered - on a singleton stack *) + on a singleton stack *) | I_CONCAT ) as name ), [], _ ), @@ -7434,7 +7661,24 @@ let list_of_big_map_ids ids = let parse_data = parse_data ~stack_depth:0 -let parse_instr = parse_instr ~stack_depth:0 +let parse_instr : + type a s. + ?type_logger:type_logger -> + tc_context -> + context -> + legacy:bool -> + Script.node -> + (a, s) stack_ty -> + ((a, s) judgement * context) tzresult Lwt.t = + fun ?type_logger tc_context ctxt ~legacy script_instr stack_ty -> + parse_instr + ~stack_depth:0 + ?type_logger + tc_context + ctxt + ~legacy + script_instr + stack_ty let unparse_data = unparse_data ~stack_depth:0 diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.mli b/src/proto_alpha/lib_protocol/script_ir_translator.mli index 4a1f73d54e6f..130b13b193b4 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.mli +++ b/src/proto_alpha/lib_protocol/script_ir_translator.mli @@ -33,7 +33,8 @@ type ex_comparable_ty = type ex_ty = Ex_ty : 'a Script_typed_ir.ty -> ex_ty -type ex_stack_ty = Ex_stack_ty : 'a Script_typed_ir.stack_ty -> ex_stack_ty +type ex_stack_ty = + | Ex_stack_ty : ('a, 's) Script_typed_ir.stack_ty -> ex_stack_ty type ex_script = Ex_script : ('a, 'b) Script_typed_ir.script -> ex_script @@ -51,9 +52,24 @@ type ('arg, 'storage) code = { type ex_code = Ex_code : ('a, 'c) code -> ex_code +type ('a, 's, 'b, 'u) cinstr = { + csize : int; + 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; +} + +type ('a, 's, 'b, 'u) descr = { + loc : Script.location; + bef : ('a, 's) Script_typed_ir.stack_ty; + aft : ('b, 'u) Script_typed_ir.stack_ty; + instr : ('a, 's, 'b, 'u) cinstr; +} + type tc_context = | Lambda : tc_context - | Dip : 'a Script_typed_ir.stack_ty * tc_context -> tc_context + | Dip : ('a, 's) Script_typed_ir.stack_ty * tc_context -> tc_context | Toplevel : { storage_type : 'sto Script_typed_ir.ty; param_type : 'param Script_typed_ir.ty; @@ -62,14 +78,13 @@ type tc_context = } -> tc_context -type 'bef judgement = - | Typed : ('bef, 'aft) Script_typed_ir.descr -> 'bef judgement +type ('a, 's) judgement = + | Typed : ('a, 's, 'b, 'u) descr -> ('a, 's) judgement | Failed : { descr : - 'aft. 'aft Script_typed_ir.stack_ty -> - ('bef, 'aft) Script_typed_ir.descr; + 'b 'u. ('b, 'u) Script_typed_ir.stack_ty -> ('a, 's, 'b, 'u) descr; } - -> 'bef judgement + -> ('a, 's) judgement type unparsing_mode = Optimized | Readable | Optimized_legacy @@ -199,8 +214,8 @@ val parse_instr : context -> legacy:bool -> Script.node -> - 'bef Script_typed_ir.stack_ty -> - ('bef judgement * context) tzresult Lwt.t + ('a, 's) Script_typed_ir.stack_ty -> + (('a, 's) judgement * context) tzresult Lwt.t (** [parse_ty] specialized for the right-hand side part of a big map type, i.e. diff --git a/src/proto_alpha/lib_protocol/script_typed_cps_ir.ml b/src/proto_alpha/lib_protocol/script_typed_cps_ir.ml deleted file mode 100644 index 1ce642951a20..000000000000 --- a/src/proto_alpha/lib_protocol/script_typed_cps_ir.ml +++ /dev/null @@ -1,2641 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Dynamic Ledger Solutions, Inc. *) -(* Copyright (c) 2020 Metastate AG *) -(* *) -(* 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_int -open Script_typed_ir - -(* ---- Instructions --------------------------------------------------------*) - -(* - - The instructions of Michelson are represented in the following - Generalized Algebraic Datatypes. - - There are three important aspects in that type declaration. - - First, we follow a tagless approach for values: they are directly - represented as OCaml values. This reduces the computational cost of - interpretation because there is no need to check the shape of a - value before applying an operation to it. To achieve that, the GADT - encodes the typing rules of the Michelson programming - language. This static information is sufficient for the typechecker - to justify the absence of runtime checks. As a bonus, it also - ensures that well-typed Michelson programs cannot go wrong: if the - interpreter typechecks then we have the static guarantee that no - stack underflow or type error can occur at runtime. - - Second, we maintain the invariant that the stack type always has a - distinguished topmost element. This invariant is important to - implement the stack as an accumulator followed by a linked list of - cells. This representation is considered in the literature as an - efficient representation of the stack for a stack-based abstract - machine, mainly because this opens the opportunity for the - accumulator to be stored in a hardware register. In the GADT, this - invariant is encoded by representing the stack type using two - parameters instead of one: the first one is the type of the - accumulator while the second is the type of the rest of the stack. - - Third, in this representation, each instruction embeds its - potential successor instructions in the control flow. This design - choice permits an efficient implementation of the continuation - stack in the interpreter. Assigning a precise type to this kind of - instruction which is a cell in a linked list of instructions is - similar to the typing of delimited continuations: we need to give a - type [`bef] to the stack before the execution of the instruction, a - type [`aft] to the stack after the execution of the instruction and - before the execution of the next, and a type [`res] for the resulting - stack type after the execution of the whole chain of instructions. - - Combining these three aspects, the type [kinstr] needs four parameters: - - ('bef_top, 'bef, 'res_top, `res) kinstr - - Notice that we could have chosen to only give two parameters to [kinstr] - by manually enforcing each argument to be a pair but this is - error-prone: with four parameters, this constraint is enforced by the arity of - the type constructor itself. - - Hence, an instruction which has a successor instruction enjoys a - type of the form: - - ('aft_top, 'aft, 'res_top, 'res) kinstr -> - ('bef_top, 'bef, 'res_top, 'res) kinstr - - where [bef_top] and [bef] are the types of the stack top and rest - before the instruction chain, and [res_top] and [res] are the types - of the stack top and rest after the instruction chain - - Notations: - ---------- - - In the following declaration, we use 'a, 'b, 'c, 'd, ... - to assign types to stack cell contents while we use 's, 't, - 'u, 'v, ... to assign types to stacks. - - The types for the final result and stack rest of a whole - sequence of instructions are written 'r and 'f - (standing for "result" and "final stack rest", respectively). - - Instructions for internal execution steps - ========================================= - - Some instructions of the following list are not present in the - source language. They only appear during evaluation to account - for intermediate execution steps. Indeed, since the interpreter - follows a small-step style, it is sometimes necessary to decompose - a source-level instruction (e.g. List_map) into several instructions - with smaller steps. This technique seems required to get an efficient - tail-recursive interpreter. - -*) - -type ('bef_top, 'bef, 'res_top, 'res) kinstr = - (* - Stack - ----- - *) - | IDrop : - ('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, 'r, 'f) kinstr - | IConst : - ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - (* - Pairs - ----- - *) - | ICons_pair : - ('a, 'b * 's) kinfo * ('a * 'b, 's, 'r, 'f) kinstr - -> ('a, 'b * 's, 'r, 'f) kinstr - | ICar : - ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr - -> ('a * 'b, 's, 'r, 'f) kinstr - | ICdr : - ('a * 'b, 's) kinfo * ('b, 's, 'r, 'f) kinstr - -> ('a * 'b, 's, 'r, 'f) kinstr - | IUnpair : - ('a * 'b, 's) kinfo * ('a, 'b * 's, 'r, 'f) kinstr - -> ('a * 'b, 's, 'r, 'f) kinstr - (* - Options - ------- - *) - | ICons_some : - ('v, 's) kinfo * ('v option, 's, 'r, 'f) kinstr - -> ('v, 's, 'r, 'f) kinstr - | ICons_none : - ('a, 's) kinfo * 'b ty * ('b option, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IIf_none : - ('a option, 'b * 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) - * ('b, 's, 'r, 'f) kinstr - * ('a, 'b * 's, 'r, 'f) kinstr - -> ('a option, 'b * 's, 'r, 'f) kinstr - (* - Unions - ------ - *) - | ICons_left : - ('a, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ICons_right : - ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr - -> ('b, 's, 'r, 'f) kinstr - | IIf_left : - (('a, 'b) union, 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) - * ('a, 's, 'r, 'f) kinstr - * ('b, 's, 'r, 'f) kinstr - -> (('a, 'b) union, 's, 'r, 'f) kinstr - (* - Lists - ----- - *) - | ICons_list : - ('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, 'r, 'f) kinstr - | IIf_cons : - ('a boxed_list, 'b * 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) - * ('a, 'a boxed_list * ('b * 's), 'r, 'f) kinstr - * ('b, 's, 'r, 'f) kinstr - -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr - | IList_map : - ('a boxed_list, 'c * 's) kinfo - * ('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 - * ('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 - -> ('a boxed_list, 's, 'r, 'f) kinstr - (* - Sets - ---- - *) - | IEmpty_set : - ('a, 's) kinfo * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISet_iter : - ('a set, 'b * 's) kinfo - * ('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 - -> ('a, 'a set * 's, 'r, 'f) kinstr - | ISet_update : - ('a, bool * ('a set * 's)) kinfo * ('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 - -> ('a set, 's, 'r, 'f) kinstr - (* - Maps - ---- - *) - | IEmpty_map : - ('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 * '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, '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 - -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr - | IMap_get : - ('a, ('a, 'b) map * 's) kinfo * ('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 - -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr - | IMap_get_and_update : - ('a, 'v option * (('a, 'v) map * 'rest)) kinfo - * ('v option, ('a, 'v) map * 'rest, 'r, 'f) kinstr - -> ('a, 'v option * (('a, 'v) map * 'rest), 'r, 'f) kinstr - | IMap_size : - (('a, 'b) map, 's) kinfo * (n num, 's, 'r, 'f) kinstr - -> (('a, 'b) map, 's, 'r, 'f) kinstr - (* - Big maps - -------- - *) - | IEmpty_big_map : - ('a, 's) kinfo - * '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 - -> ('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 - -> ('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 - -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr - | IBig_map_get_and_update : - ('a, 'v option * (('a, 'v) big_map * 'rest)) kinfo - * ('v option, ('a, 'v) big_map * 'rest, 'r, 'f) kinstr - -> ('a, 'v option * (('a, 'v) big_map * 'rest), 'r, 'f) kinstr - (* - Strings - ------- - *) - | IConcat_string : - (string boxed_list, 's) kinfo * (string, 's, 'r, 'f) kinstr - -> (string boxed_list, 's, 'r, 'f) kinstr - | IConcat_string_pair : - (string, string * 's) kinfo * (string, 's, 'r, 'f) kinstr - -> (string, string * 's, 'r, 'f) kinstr - | ISlice_string : - (n num, n num * (string * 's)) kinfo * (string option, 's, 'r, 'f) kinstr - -> (n num, n num * (string * 's), 'r, 'f) kinstr - | IString_size : - (string, 's) kinfo * (n num, 's, 'r, 'f) kinstr - -> (string, 's, 'r, 'f) kinstr - (* - Bytes - ----- - *) - | IConcat_bytes : - (bytes boxed_list, 's) kinfo * (bytes, 's, 'r, 'f) kinstr - -> (bytes boxed_list, 's, 'r, 'f) kinstr - | IConcat_bytes_pair : - (bytes, bytes * 's) kinfo * (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 - -> (n num, n num * (bytes * 's), 'r, 'f) kinstr - | IBytes_size : - (bytes, 's) kinfo * (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 - -> (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_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_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_timestamp.t, Script_timestamp.t * 's, 'r, 'f) kinstr - (* - Tez - --- - *) - | IAdd_tez : - (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr - -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr - | ISub_tez : - (Tez.t, Tez.t * 's) kinfo * (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 - -> (Tez.t, n num * 's, 'r, 'f) kinstr - | IMul_nattez : - (n num, Tez.t * 's) kinfo * (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 - -> (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 - -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr - (* - Booleans - -------- - *) - | IOr : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (bool, bool * 's, 'r, 'f) kinstr - | IAnd : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (bool, bool * 's, 'r, 'f) kinstr - | IXor : - (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (bool, bool * 's, 'r, 'f) kinstr - | INot : - (bool, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (bool, 's, 'r, 'f) kinstr - (* - Integers - -------- - *) - | IIs_nat : - (z num, 's) kinfo * (n num option, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | INeg_nat : - (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (n num, 's, 'r, 'f) kinstr - | INeg_int : - (z num, 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | IAbs_int : - (z num, 's) kinfo * (n num, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | IInt_nat : - (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (n num, 's, 'r, 'f) kinstr - | IAdd_intint : - (z num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (z num, z num * 's, 'r, 'f) kinstr - | IAdd_intnat : - (z num, n num * 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (z num, n num * 's, 'r, 'f) kinstr - | IAdd_natint : - (n num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (n num, z num * 's, 'r, 'f) kinstr - | IAdd_natnat : - (n num, n num * 's) kinfo * (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 - -> ('a num, 'b num * 's, 'r, 'f) kinstr - | IMul_intint : - (z num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (z num, z num * 's, 'r, 'f) kinstr - | IMul_intnat : - (z num, n num * 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (z num, n num * 's, 'r, 'f) kinstr - | IMul_natint : - (n num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (n num, z num * 's, 'r, 'f) kinstr - | IMul_natnat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr - -> (n num, n num * 's, 'r, 'f) kinstr - | IEdiv_intint : - (z num, z num * 's) kinfo - * ((z num, n num) pair option, 's, 'r, 'f) kinstr - -> (z num, z num * 's, 'r, 'f) kinstr - | IEdiv_intnat : - (z num, n num * 's) kinfo - * ((z num, n num) pair option, 's, 'r, 'f) kinstr - -> (z num, n num * 's, 'r, 'f) kinstr - | IEdiv_natint : - (n num, z num * 's) kinfo - * ((z num, n num) pair option, 's, 'r, 'f) kinstr - -> (n num, z num * 's, 'r, 'f) kinstr - | IEdiv_natnat : - (n num, n num * 's) kinfo - * ((n num, n num) pair option, 's, 'r, 'f) kinstr - -> (n num, n num * 's, 'r, 'f) kinstr - | ILsl_nat : - (n num, n num * 's) kinfo * (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 - -> (n num, n num * 's, 'r, 'f) kinstr - | IOr_nat : - (n num, n num * 's) kinfo * (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 - -> (n num, n num * 's, 'r, 'f) kinstr - | IAnd_int_nat : - (z num, n num * 's) kinfo * (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 - -> (n num, n num * 's, 'r, 'f) kinstr - | INot_nat : - (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (n num, 's, 'r, 'f) kinstr - | INot_int : - (z num, 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - (* - Control - ------- - *) - | IIf : - (bool, 'a * 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) - * ('a, 's, 'r, 'f) kinstr - * ('a, 's, '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 - -> (bool, 'a * 's, 'r, 'f) kinstr - | ILoop_left : - (('a, 'b) union, 's) kinfo - * ('a, 's, ('a, 'b) union, 's) kinstr - * ('b, 's, 'r, 'f) kinstr - -> (('a, 'b) union, 's, 'r, 'f) kinstr - | IDip : - ('a, 'b * 's) kinfo - * ('c, 't) kinfo - * ('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 - -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr - | IApply : - ('a, ('a * 't, 'b) lambda * 's) kinfo - * 'a ty - * (('t, 'b) lambda, 's, 'r, 'f) kinstr - -> ('a, ('a * 't, 'b) lambda * 's, 'r, 'f) kinstr - | ILambda : - ('a, 's) kinfo - * ('b, 'c) lambda - * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IFailwith : - ('a, 's) kinfo * Script.location * 'a ty * ('b, 't, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | INop : ('a, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - (* - Comparison - ---------- - *) - | ICompare : - ('a, 'a * 's) kinfo * 'a comparable_ty * (z num, 's, 'r, 'f) kinstr - -> ('a, 'a * 's, 'r, 'f) kinstr - (* - Comparators - ----------- - *) - | IEq : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | INeq : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | ILt : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | IGt : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | ILe : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - | IGe : - (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr - -> (z num, 's, 'r, 'f) kinstr - (* - Protocol - -------- - *) - | IAddress : - ('a typed_contract, 's) kinfo * (address, 's, 'r, 'f) kinstr - -> ('a typed_contract, 's, 'r, 'f) kinstr - | IContract : - (address, 's) kinfo - * 'a ty - * string - * ('a typed_contract option, 's, 'r, 'f) kinstr - -> (address, 's, 'r, 'f) kinstr - | ITransfer_tokens : - ('a, Tez.t * ('a typed_contract * 's)) kinfo - * (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 - -> (public_key_hash, 's, 'r, 'f) kinstr - | ICreate_contract : - (public_key_hash option, Tez.t * ('a * 's)) kinfo - * 'a ty - * 'b ty - * ('b * 'a, operation boxed_list * 'a) lambda - * field_annot option - * (operation, address * 's, 'r, 'f) kinstr - -> (public_key_hash option, Tez.t * ('a * '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 - | INow : - ('a, 's) kinfo * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IBalance : - ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ILevel : - ('a, 's) kinfo * (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 - -> (public_key, signature * (bytes * 's), 'r, 'f) kinstr - | IHash_key : - (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 - | IUnpack : - (bytes, 's) kinfo * 'a ty * ('a option, 's, 'r, 'f) kinstr - -> (bytes, 's, 'r, 'f) kinstr - | IBlake2b : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr - -> (bytes, 's, 'r, 'f) kinstr - | ISha256 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr - -> (bytes, 's, 'r, 'f) kinstr - | ISha512 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr - -> (bytes, 's, 'r, 'f) kinstr - | ISource : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISender : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISelf : - ('a, 's) kinfo - * 'b ty - * string - * ('b typed_contract, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISelf_address : - ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IAmount : - ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ISapling_empty_state : - ('a, 's) kinfo - * 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 - * ((z num, Sapling.state) pair option, 's, 'r, 'f) kinstr - -> (Sapling.transaction, Sapling.state * 's, 'r, 'f) kinstr - | IDig : - ('a, 's) kinfo - * int - * ('b * 't, 't, 'a * 's, 'u) stack_prefix_preservation_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IDug : - ('a, 's) kinfo - * int - * ('t, 'a * 't, 's, 'b * 'u) stack_prefix_preservation_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IDipn : - ('a, 's) kinfo - * int - * ('c * 't, 'd * 'v, 'a * 's, 'b * 'u) kstack_prefix_preservation_witness - * ('c, 't, 'd, 'v) kinstr - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IDropn : - ('a, 's) kinfo - * 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 * (Chain_id.t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | INever : - (never, 's) kinfo * ('b, 'u, 'r, 'f) kinstr - -> (never, 's, 'r, 'f) kinstr - | IVoting_power : - (public_key_hash, 's) kinfo * (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 - -> ('a, 's, 'r, 'f) kinstr - | IKeccak : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr - -> (bytes, 's, 'r, 'f) kinstr - | ISha3 : - (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr - -> (bytes, 's, 'r, 'f) kinstr - | IAdd_bls12_381_g1 : - (Bls12_381.G1.t, Bls12_381.G1.t * 's) kinfo - * (Bls12_381.G1.t, 's, 'r, 'f) kinstr - -> (Bls12_381.G1.t, Bls12_381.G1.t * 's, 'r, 'f) kinstr - | IAdd_bls12_381_g2 : - (Bls12_381.G2.t, Bls12_381.G2.t * 's) kinfo - * (Bls12_381.G2.t, 's, 'r, 'f) kinstr - -> (Bls12_381.G2.t, Bls12_381.G2.t * 's, 'r, 'f) kinstr - | IAdd_bls12_381_fr : - (Bls12_381.Fr.t, Bls12_381.Fr.t * 's) kinfo - * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - -> (Bls12_381.Fr.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr - | IMul_bls12_381_g1 : - (Bls12_381.G1.t, Bls12_381.Fr.t * 's) kinfo - * (Bls12_381.G1.t, 's, 'r, 'f) kinstr - -> (Bls12_381.G1.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr - | IMul_bls12_381_g2 : - (Bls12_381.G2.t, Bls12_381.Fr.t * 's) kinfo - * (Bls12_381.G2.t, 's, 'r, 'f) kinstr - -> (Bls12_381.G2.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr - | IMul_bls12_381_fr : - (Bls12_381.Fr.t, Bls12_381.Fr.t * 's) kinfo - * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - -> (Bls12_381.Fr.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr - | IMul_bls12_381_z_fr : - (Bls12_381.Fr.t, 'a num * 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - -> (Bls12_381.Fr.t, 'a num * 's, 'r, 'f) kinstr - | IMul_bls12_381_fr_z : - ('a num, Bls12_381.Fr.t * 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - -> ('a num, Bls12_381.Fr.t * 's, 'r, 'f) kinstr - | IInt_bls12_381_fr : - (Bls12_381.Fr.t, 's) kinfo * (z num, 's, 'r, 'f) kinstr - -> (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - | INeg_bls12_381_g1 : - (Bls12_381.G1.t, 's) kinfo * (Bls12_381.G1.t, 's, 'r, 'f) kinstr - -> (Bls12_381.G1.t, 's, 'r, 'f) kinstr - | INeg_bls12_381_g2 : - (Bls12_381.G2.t, 's) kinfo * (Bls12_381.G2.t, 's, 'r, 'f) kinstr - -> (Bls12_381.G2.t, 's, 'r, 'f) kinstr - | INeg_bls12_381_fr : - (Bls12_381.Fr.t, 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - -> (Bls12_381.Fr.t, 's, 'r, 'f) kinstr - | IPairing_check_bls12_381 : - ((Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list, 's) kinfo - * (bool, 's, 'r, 'f) kinstr - -> ((Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list, 's, 'r, 'f) kinstr - | IComb : - ('a, 's) kinfo - * int - * ('a * 's, 'b * 'u) comb_gadt_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IUncomb : - ('a, 's) kinfo - * int - * ('a * 's, 'b * 'u) uncomb_gadt_witness - * ('b, 'u, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | IComb_get : - ('t, 's) kinfo - * int - * ('t, 'v) comb_get_gadt_witness - * ('v, 's, 'r, 'f) kinstr - -> ('t, 's, 'r, 'f) kinstr - | IComb_set : - ('a, 'b * 's) kinfo - * int - * ('a, 'b, 'c) comb_set_gadt_witness - * ('c, 's, 'r, 'f) kinstr - -> ('a, 'b * 's, 'r, 'f) kinstr - | IDup_n : - ('a, 's) kinfo - * int - * ('a * 's, 't) dup_n_gadt_witness - * ('t, 'a * 's, 'r, 'f) kinstr - -> ('a, 's, 'r, 'f) kinstr - | ITicket : - ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr - -> ('a, n num * 's, 'r, 'f) kinstr - | IRead_ticket : - ('a ticket, 's) kinfo - * (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 - -> ('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 - -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr - | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr - -and ('bef, 'aft) kdescr = - | KDescr : { - kloc : Script.location; - kbef : 'bef stack_ty; - kaft : 'aft stack_ty; - kli : ('bef, 'a * 's) lift; - klo : ('aft, 'r * 'f) lift; - kinstr : ('a, 's, 'r, 'f) kinstr; - } - -> ('bef, 'aft) kdescr - -and ('a, 's) kinfo = {kloc : Script.location; kstack_ty : ('a * 's) stack_ty} - -and (_, _) lift = - | BaseLift : (unit, unit * unit) lift - | IndLift : ('a, 'y * 'b) lift -> ('x * 'a, 'x * ('y * 'b)) lift - -and _ is_lifted = IsLifted : ('a, 'b) lift -> 'b is_lifted - -and ('bef, 'aft, 'bef_suffix, 'aft_suffix) kstack_prefix_preservation_witness = - | KPrefix : - ('y, 'aft) kinfo - * 'bef is_lifted - * ('y * 'aft) is_lifted - * ('fbef, 'faft, 'bef, 'y * 'aft) kstack_prefix_preservation_witness - -> ( 'fbef, - 'faft, - 'x * 'bef, - 'x * ('y * 'aft) ) - kstack_prefix_preservation_witness - | KRest : - 'bef is_lifted * 'aft is_lifted - -> ('bef, 'aft, 'bef, 'aft) kstack_prefix_preservation_witness - -(* - - We sometimes need to hide the exact shape of the input stack behind - an existential quantification. - - [('t, 'b, 'u) exkinstr = exists 'x 'z, ('x, 'z, 'b, 'u) kinstr] - - *) - -type (_, _, _) exkinstr = - | ExKInstr : ('x, 'z, 'b, 'u) kinstr -> ('x * 'z, 'b, 'u) exkinstr -[@@unboxed] - -let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = - 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 - | 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 - | 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_nat (kinfo, _) -> - kinfo - | INeg_int (kinfo, _) -> - kinfo - | IAbs_int (kinfo, _) -> - kinfo - | IInt_nat (kinfo, _) -> - kinfo - | IAdd_intint (kinfo, _) -> - kinfo - | IAdd_intnat (kinfo, _) -> - kinfo - | IAdd_natint (kinfo, _) -> - kinfo - | IAdd_natnat (kinfo, _) -> - kinfo - | ISub_int (kinfo, _) -> - kinfo - | IMul_intint (kinfo, _) -> - kinfo - | IMul_intnat (kinfo, _) -> - kinfo - | IMul_natint (kinfo, _) -> - kinfo - | IMul_natnat (kinfo, _) -> - kinfo - | IEdiv_intint (kinfo, _) -> - kinfo - | IEdiv_intnat (kinfo, _) -> - kinfo - | IEdiv_natint (kinfo, _) -> - kinfo - | IEdiv_natnat (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_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 - | INop (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 - | IImplicit_account (kinfo, _) -> - kinfo - | ICreate_contract (kinfo, _, _, _, _, _) -> - kinfo - | ISet_delegate (kinfo, _) -> - kinfo - | INow (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 - | 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 - -(* - FIXME: After this point, the code is TEMPORARY and will be significantly simplified - FIXME: when the new elaboration is in place. -*) - -let rec lift : type s t. (s, t) lift -> s -> t = - fun l s -> - match l with BaseLift -> ((), ()) | IndLift l -> (fst s, lift l (snd s)) - -let rec unlift : type s t. (s, t) lift -> t -> s = - fun l t -> - match l with BaseLift -> () | IndLift l -> (fst t, unlift l (snd t)) - -let succ_lift : ('a, 'y * 'b) lift -> ('x * 'a, 'x * ('y * 'b)) lift = - fun l -> IndLift l - -let coerce_lift : type x y a b. (x * a, x * b) lift -> (y * a, y * b) lift = - function - | IndLift l -> - IndLift l - -let succ_is_lifted : type x a. a is_lifted -> (x * a) is_lifted = function - | IsLifted BaseLift -> - IsLifted (IndLift BaseLift) - | IsLifted (IndLift l) -> - IsLifted (IndLift (IndLift l)) - -type (_, _) eq = Refl : ('a, 'a) eq - -type (_, _) exlift_inverse = - | ExLiftInverse : ('a * 'w, 'v) eq -> ('u, 'v) exlift_inverse - -let inverse_lift : type u v. (u, v) lift -> (u, v) exlift_inverse = function - | BaseLift -> - ExLiftInverse Refl - | IndLift _ -> - ExLiftInverse Refl - -type _ exlift = ExLift : ('v, 'a * 'w) lift -> 'v exlift - -let rec lift_type : - type v. v stack_ty -> (* ∃ a w. (v, a * w) lift *) v exlift = function - | Empty_t -> - ExLift BaseLift - | Item_t (_, s, _) -> ( - match lift_type s with ExLift l -> ExLift (IndLift l) ) - -let rec fun_lift : type a b c. (a, b) lift -> (a, c) lift -> (b, c) eq = - fun l1 l2 -> - match (l1, l2) with - | (BaseLift, BaseLift) -> - Refl - | (IndLift l1, IndLift l2) -> ( - match fun_lift l1 l2 with Refl -> Refl ) - -let rec kstack_prefix_preservation_witness : - type s u s' u' ds du ds' du'. - Script.location -> - u' stack_ty -> - (ds, du, s, u) stack_prefix_preservation_witness -> - (s, s') lift -> - (u, u') lift -> - (ds, ds') lift -> - (du, du') lift -> - (ds', du', s', u') kstack_prefix_preservation_witness = - fun kloc kstack_ty w ls lu lds ldu -> - match w with - | Rest -> ( - match fun_lift ls lds with - | Refl -> ( - match fun_lift lu ldu with - | Refl -> - (* ds = s, du = u *) - KRest (IsLifted lds, IsLifted ldu) ) ) - | Prefix w -> ( - (* - s = x * s0 - u = x * u0 - *) - match (ls, lu) with - | (IndLift ls, IndLift lu) -> ( - (* - s' = x * s'0 - u' = x * u'0 - ls : (s0, s'0) - lu : (u0, u'0) - *) - match kstack_ty with - | Item_t (_, kstack_ty, _) -> - let kw = - kstack_prefix_preservation_witness kloc kstack_ty w ls lu lds ldu - in - let kinfo = {kloc; kstack_ty} in - KPrefix (kinfo, IsLifted ls, IsLifted lu, kw) ) ) - -type (_, _, _, _) exlift_stack_prefix_preservation_witness = - | ExLiftStackPrefixPreservationWitness : - ('ds, 'lds) lift - * ('du, 'ldu) lift - * ('lds, 'ldu, 's, 'u) stack_prefix_preservation_witness - -> ('ds, 'du, 's, 'u) exlift_stack_prefix_preservation_witness - -let rec lift_stack_prefix_preservation_witness : - type s u s' u' ds du. - (ds, du, s, u) stack_prefix_preservation_witness -> - (s, s') lift -> - (u, u') lift -> - (ds, du, s', u') exlift_stack_prefix_preservation_witness = - fun w ls lu -> - match w with - | Rest -> - (* ds = s, du = u *) - ExLiftStackPrefixPreservationWitness (ls, lu, Rest) - | Prefix w -> ( - (* - s = x * s0 - u = x * u0 - *) - match (ls, lu) with - | (IndLift ls, IndLift lu) -> ( - (* - s' = x * s'0 - u' = x * u'0 - ls : (s0, s'0) - lu : (u0, u'0) - *) - match lift_stack_prefix_preservation_witness w ls lu with - | ExLiftStackPrefixPreservationWitness (lds, ldu, w) -> - (* - lds : lift (ds, 'lds) - ldu : lift (du, 'ldu) - w : ('lds, 'ldu, s'0, u'0) - *) - ExLiftStackPrefixPreservationWitness (lds, ldu, Prefix w) ) ) - -let rec lift_dup_n_gadt_witness : - type s s' a. - (s, a) dup_n_gadt_witness -> (s, s') lift -> (s', a) dup_n_gadt_witness = - fun w l -> - match w with - | Dup_n_zero -> ( - (* s = a * s0 *) - match l with IndLift _ -> Dup_n_zero ) - | Dup_n_succ w -> ( - (* s = a * s0 *) - match l with - | IndLift l -> - let w = lift_dup_n_gadt_witness w l in - Dup_n_succ w ) - -let rec lift_comb_gadt_witness : - type s s' u u'. - (s, u) comb_gadt_witness -> - (s, s') lift -> - (u, u') lift -> - (s', u') comb_gadt_witness = - fun w li lo -> - match w with - | Comb_one -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> Comb_one ) ) ) - | Comb_succ w -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> - let w = lift_comb_gadt_witness w li (IndLift lo) in - Comb_succ w ) ) - -let rec lift_stack_ty : - type t a s. (t, a * s) lift -> t stack_ty -> (a * s) stack_ty = - fun li stack -> - match li with - | BaseLift -> - Item_t (Unit_t None, stack, None) - | IndLift li -> ( - match stack with - | Item_t (ty, stack, a) -> - let kstack = lift_stack_ty li stack in - Item_t (ty, kstack, a) ) - -let rec lift_uncomb_gadt_witness : - type s s' u u'. - (s, u) uncomb_gadt_witness -> - (s, s') lift -> - (u, u') lift -> - (s', u') uncomb_gadt_witness = - fun w li lo -> - match w with - | Uncomb_one -> ( - match fun_lift li lo with Refl -> Uncomb_one ) - | Uncomb_succ w -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> - let w = lift_uncomb_gadt_witness w (IndLift li) lo in - Uncomb_succ w ) ) - -let rec translate_instr : - type a b s t v u r f. - (t, v) descr -> - (t, a * s) lift -> - (v, b * u) lift -> - (b, u, r, f) kinstr -> - (a, s, r, f) kinstr = - let return k = k in - fun i li lo k -> - let kstack_ty = lift_stack_ty li i.bef in - let kinfo = {kloc = i.loc; kstack_ty} in - match i.instr with - | Seq (i1, i2) -> ( - match lift_type i1.aft with - | ExLift lii -> - let ki2 = translate_instr i2 lii lo k in - translate_instr i1 li lii ki2 ) - | Drop -> ( - match li with - | IndLift l -> ( - match fun_lift l lo with Refl -> return (IDrop (kinfo, k)) ) ) - | Dup -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ IDup (kinfo, k) ) ) ) ) - | Swap -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match fun_lift lo li with Refl -> return @@ ISwap (kinfo, k) ) ) - ) ) ) - | Const ty -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ IConst (kinfo, ty, k) ) ) - | Cons_pair -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICons_pair (kinfo, k) ) - ) ) ) - | Car -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICar (kinfo, k) ) ) ) - | Cdr -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICdr (kinfo, k) ) ) ) - | Unpair -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ IUnpair (kinfo, k) ) ) - ) ) - | Cons_some -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICons_some (kinfo, k) ) ) - ) - | Cons_none ty -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICons_none (kinfo, ty, k) ) - ) - | If_none (i1, i2) -> ( - match li with - | IndLift li' -> - let ki1 = translate_instr i1 li' lo k in - let ki2 = translate_instr i2 (coerce_lift li) lo k in - return @@ IIf_none (kinfo, ki1, ki2) ) - | Cons_left -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICons_left (kinfo, k) ) ) - ) - | Cons_right -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICons_right (kinfo, k) ) - ) ) - | If_left (i1, i2) -> ( - match li with - | IndLift _ -> - let ki1 = translate_instr i1 (coerce_lift li) lo k in - let ki2 = translate_instr i2 (coerce_lift li) lo k in - return @@ IIf_left (kinfo, ki1, ki2) ) - | Cons_list -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ ICons_list (kinfo, k) ) - ) ) ) - | Nil -> ( - match lo with - | IndLift lo -> ( - match fun_lift lo li with Refl -> return @@ INil (kinfo, k) ) ) - | If_cons (i1, i2) -> ( - match li with - | IndLift li' -> - let ki1 = translate_instr i1 (succ_lift li) lo k in - let ki2 = translate_instr i2 li' lo k in - return @@ IIf_cons (kinfo, ki1, ki2) ) - | List_map i -> ( - match li with - | IndLift li' -> ( - match lo with - | IndLift lo' -> ( - match fun_lift li' lo' with - | Refl -> - let khalt = - IHalt - { - kloc = i.loc; - kstack_ty = lift_stack_ty (coerce_lift lo) i.aft; - } - in - let ki = - translate_instr i (coerce_lift li) (coerce_lift lo) khalt - in - return @@ IList_map (kinfo, ki, k) ) ) ) - | List_iter i -> ( - match li with - | IndLift li' -> ( - match fun_lift li' lo with - | Refl -> - let kinfo' = {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} in - let ki = translate_instr i (coerce_lift li) lo (IHalt kinfo') in - return @@ IList_iter (kinfo, ki, k) ) ) - | List_size -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IList_size (kinfo, k) ) ) - ) - | Empty_set ty -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IEmpty_set (kinfo, ty, k) ) - ) - | Set_iter i -> ( - match li with - | IndLift li' -> ( - match fun_lift li' lo with - | Refl -> - let kinfo' = {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} in - let ki = translate_instr i (coerce_lift li) lo (IHalt kinfo') in - return @@ ISet_iter (kinfo, ki, k) ) ) - | Set_mem -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISet_mem (kinfo, k) ) ) - ) ) - | Set_update -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISet_update (kinfo, k) ) ) ) ) ) - | Set_size -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISet_size (kinfo, k) ) ) - ) - | Empty_map (cty, ty) -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEmpty_map (kinfo, cty, ty, k) ) ) - | Map_map i -> ( - match li with - | IndLift li' -> ( - match lo with - | IndLift lo' -> ( - match fun_lift li' lo' with - | Refl -> - let khalt = - IHalt - { - kloc = i.loc; - kstack_ty = lift_stack_ty (coerce_lift lo) i.aft; - } - in - let ki = - translate_instr i (coerce_lift li) (coerce_lift lo) khalt - in - return @@ IMap_map (kinfo, ki, k) ) ) ) - | Map_iter i -> ( - match li with - | IndLift li' -> ( - match fun_lift li' lo with - | Refl -> - let khalt = - IHalt {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} - in - let ki = translate_instr i (coerce_lift li) lo khalt in - return @@ IMap_iter (kinfo, ki, k) ) ) - | Map_mem -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMap_mem (kinfo, k) ) ) - ) ) - | Map_get -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMap_get (kinfo, k) ) ) - ) ) - | Map_update -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMap_update (kinfo, k) ) ) ) ) ) - | Map_get_and_update -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMap_get_and_update (kinfo, k) ) ) ) ) ) ) - | Map_size -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMap_size (kinfo, k) ) ) - ) - | Empty_big_map (cty, ty) -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEmpty_big_map (kinfo, cty, ty, k) ) ) - | Big_map_mem -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IBig_map_mem (kinfo, k) ) ) ) ) - | Big_map_get -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IBig_map_get (kinfo, k) ) ) ) ) - | Big_map_get_and_update -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IBig_map_get_and_update (kinfo, k) ) ) ) ) ) ) - | Big_map_update -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IBig_map_update (kinfo, k) ) ) ) ) ) - | Concat_string -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IConcat_string (kinfo, k) ) ) ) - | Concat_string_pair -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IConcat_string_pair (kinfo, k) ) ) ) ) - | Slice_string -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISlice_string (kinfo, k) ) ) ) ) ) - | String_size -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IString_size (kinfo, k) ) - ) ) - | Concat_bytes -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IConcat_bytes (kinfo, k) - ) ) ) - | Concat_bytes_pair -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IConcat_bytes_pair (kinfo, k) ) ) ) ) - | Slice_bytes -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISlice_bytes (kinfo, k) ) ) ) ) ) - | Bytes_size -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IBytes_size (kinfo, k) ) - ) ) - | Add_seconds_to_timestamp -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IAdd_seconds_to_timestamp (kinfo, k) ) ) ) ) - | Add_timestamp_to_seconds -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IAdd_timestamp_to_seconds (kinfo, k) ) ) ) ) - | Sub_timestamp_seconds -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISub_timestamp_seconds (kinfo, k) ) ) ) ) - | Diff_timestamps -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IDiff_timestamps (kinfo, k) ) ) ) ) - | Add_tez -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAdd_tez (kinfo, k) ) ) - ) ) - | Sub_tez -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISub_tez (kinfo, k) ) ) - ) ) - | Mul_teznat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMul_teznat (kinfo, k) - ) ) ) ) - | Mul_nattez -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMul_nattez (kinfo, k) - ) ) ) ) - | Ediv_teznat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEdiv_teznat (kinfo, k) ) ) ) ) - | Ediv_tez -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IEdiv_tez (kinfo, k) ) - ) ) ) - | Or -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IOr (kinfo, k) ) ) ) ) - | And -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAnd (kinfo, k) ) ) ) ) - | Xor -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IXor (kinfo, k) ) ) ) ) - | Not -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INot (kinfo, k) ) ) ) - | Is_nat -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IIs_nat (kinfo, k) ) ) ) - | Neg_nat -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INeg_nat (kinfo, k) ) ) ) - | Neg_int -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INeg_int (kinfo, k) ) ) ) - | Abs_int -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAbs_int (kinfo, k) ) ) ) - | Int_bls12_381_fr -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IInt_bls12_381_fr (kinfo, k) ) ) ) - | Int_nat -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IInt_nat (kinfo, k) ) ) ) - | Add_intint -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAdd_intint (kinfo, k) - ) ) ) ) - | Add_intnat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAdd_intnat (kinfo, k) - ) ) ) ) - | Add_natint -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAdd_natint (kinfo, k) - ) ) ) ) - | Add_natnat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAdd_natnat (kinfo, k) - ) ) ) ) - | Sub_int -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISub_int (kinfo, k) ) ) - ) ) - | Mul_intint -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMul_intint (kinfo, k) - ) ) ) ) - | Mul_intnat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMul_intnat (kinfo, k) - ) ) ) ) - | Mul_natint -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMul_natint (kinfo, k) - ) ) ) ) - | Mul_natnat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IMul_natnat (kinfo, k) - ) ) ) ) - | Ediv_intint -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEdiv_intint (kinfo, k) ) ) ) ) - | Ediv_intnat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEdiv_intnat (kinfo, k) ) ) ) ) - | Ediv_natint -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEdiv_natint (kinfo, k) ) ) ) ) - | Ediv_natnat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IEdiv_natnat (kinfo, k) ) ) ) ) - | Lsl_nat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ILsl_nat (kinfo, k) ) ) - ) ) - | Lsr_nat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ILsr_nat (kinfo, k) ) ) - ) ) - | Or_nat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IOr_nat (kinfo, k) ) ) - ) ) - | And_nat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAnd_nat (kinfo, k) ) ) - ) ) - | And_int_nat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IAnd_int_nat (kinfo, k) ) ) ) ) - | Xor_nat -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IXor_nat (kinfo, k) ) ) - ) ) - | Not_nat -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INot_nat (kinfo, k) ) ) ) - | Not_int -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INot_int (kinfo, k) ) ) ) - | If (i1, i2) -> ( - match li with - | IndLift li -> - let ki1 = translate_instr i1 li lo k in - let ki2 = translate_instr i2 li lo k in - return @@ IIf (kinfo, ki1, ki2) ) - | Loop i -> ( - match li with - | IndLift li' -> ( - match fun_lift li' lo with - | Refl -> - let khalt = - IHalt {kloc = i.loc; kstack_ty = lift_stack_ty li i.aft} - in - let ki = translate_instr i li' li khalt in - return @@ ILoop (kinfo, ki, k) ) ) - | Loop_left i -> ( - match li with - | IndLift li' -> ( - match lo with - | IndLift lo' -> ( - match fun_lift li' lo' with - | Refl -> - let khalt = - IHalt {kloc = i.loc; kstack_ty = lift_stack_ty li i.aft} - in - let ki = translate_instr i (coerce_lift li) li khalt in - return @@ ILoop_left (kinfo, ki, k) ) ) ) - | Dip i -> ( - match li with - | IndLift li' -> ( - match lo with - | IndLift lo -> - let kinfo_const = - {kloc = i.loc; kstack_ty = lift_stack_ty lo i.aft} - in - let ki = translate_instr i li' lo (IHalt kinfo_const) in - return @@ IDip (kinfo, kinfo_const, ki, k) ) ) - | Exec -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IExec (kinfo, k) ) ) ) - ) - | Apply f -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IApply (kinfo, f, k) ) - ) ) ) - | Lambda b -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ILambda (kinfo, b, k) ) ) - | Failwith e -> ( - match li with IndLift _ -> return @@ IFailwith (kinfo, i.loc, e, k) ) - | Nop -> ( - match fun_lift li lo with Refl -> return @@ INop (kinfo, k) ) - | Compare c -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ICompare (kinfo, c, k) - ) ) ) ) - | Eq -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IEq (kinfo, k) ) ) ) - | Neq -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INeq (kinfo, k) ) ) ) - | Lt -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ILt (kinfo, k) ) ) ) - | Gt -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IGt (kinfo, k) ) ) ) - | Le -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ILe (kinfo, k) ) ) ) - | Ge -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IGe (kinfo, k) ) ) ) - | Address -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAddress (kinfo, k) ) ) ) - | Contract (a, b) -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IContract (kinfo, a, b, k) ) ) ) - | Transfer_tokens -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ITransfer_tokens (kinfo, k) ) ) ) ) ) - | Implicit_account -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IImplicit_account (kinfo, k) ) ) ) - | Create_contract (a, b, c, d) -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ICreate_contract (kinfo, a, b, c, d, k) ) ) ) ) ) - ) - | Set_delegate -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISet_delegate (kinfo, k) - ) ) ) - | Now -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ INow (kinfo, k) ) ) - | Balance -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IBalance (kinfo, k) ) ) - | Level -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ILevel (kinfo, k) ) ) - | Check_signature -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ICheck_signature (kinfo, k) ) ) ) ) ) - | Hash_key -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IHash_key (kinfo, k) ) ) - ) - | Pack ty -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IPack (kinfo, ty, k) ) ) - ) - | Unpack ty -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IUnpack (kinfo, ty, k) ) - ) ) - | Blake2b -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IBlake2b (kinfo, k) ) ) ) - | Sha256 -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISha256 (kinfo, k) ) ) ) - | Sha512 -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISha512 (kinfo, k) ) ) ) - | Source -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISource (kinfo, k) ) ) - | Sender -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISender (kinfo, k) ) ) - | Self (a, b) -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISelf (kinfo, a, b, k) ) ) - | Self_address -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISelf_address (kinfo, k) ) - ) - | Amount -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IAmount (kinfo, k) ) ) - | Sapling_empty_state m -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISapling_empty_state (kinfo, m.memo_size, k) ) ) - | Sapling_verify_update -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISapling_verify_update (kinfo, k) ) ) ) ) - | Dig (n, w) -> ( - match lo with - | IndLift lo' -> ( - match lift_stack_prefix_preservation_witness w li lo' with - | ExLiftStackPrefixPreservationWitness (lds, ldu, w') -> ( - match lds with - | IndLift lds -> ( - match fun_lift lds ldu with - | Refl -> - return @@ IDig (kinfo, n, w', k) ) ) ) ) - | Dug (n, w) -> ( - match li with - | IndLift li' -> ( - match lift_stack_prefix_preservation_witness w li' lo with - | ExLiftStackPrefixPreservationWitness (lds, ldu, w') -> ( - match ldu with - | IndLift ldu -> ( - match fun_lift lds ldu with - | Refl -> - return @@ IDug (kinfo, n, w', k) ) ) ) ) - | Dipn (n, w, i') -> ( - match lift_stack_prefix_preservation_witness w li lo with - | ExLiftStackPrefixPreservationWitness (lds, ldu, _) -> ( - match inverse_lift lds with - | ExLiftInverse Refl -> ( - match inverse_lift ldu with - | ExLiftInverse Refl -> - let hinfo = - {kloc = i.loc; kstack_ty = lift_stack_ty ldu i'.aft} - in - let ki' = translate_instr i' lds ldu (IHalt hinfo) in - let sty = lift_stack_ty lo i.aft in - let l = i.loc in - let w = - kstack_prefix_preservation_witness l sty w li lo lds ldu - in - return @@ IDipn (kinfo, n, w, ki', k) ) ) ) - | Dropn (n, w) -> ( - match lift_stack_prefix_preservation_witness w li li with - | ExLiftStackPrefixPreservationWitness (lds, ldu, w') -> ( - match inverse_lift lds with - | ExLiftInverse Refl -> ( - match inverse_lift ldu with - | ExLiftInverse Refl -> ( - match fun_lift lds ldu with - | Refl -> ( - match fun_lift lo lds with - | Refl -> - return @@ IDropn (kinfo, n, w', k) ) ) ) ) ) - | ChainId -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IChainId (kinfo, k) ) ) - | Never -> ( - match li with IndLift _ -> return @@ INever (kinfo, k) ) - | Voting_power -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IVoting_power (kinfo, k) - ) ) ) - | Total_voting_power -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ITotal_voting_power (kinfo, k) ) ) - | Keccak -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IKeccak (kinfo, k) ) ) ) - | Sha3 -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ISha3 (kinfo, k) ) ) ) - | Add_bls12_381_g1 -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IAdd_bls12_381_g1 (kinfo, k) ) ) ) ) - | Add_bls12_381_g2 -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IAdd_bls12_381_g2 (kinfo, k) ) ) ) ) - | Add_bls12_381_fr -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IAdd_bls12_381_fr (kinfo, k) ) ) ) ) - | Mul_bls12_381_g1 -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMul_bls12_381_g1 (kinfo, k) ) ) ) ) - | Mul_bls12_381_g2 -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMul_bls12_381_g2 (kinfo, k) ) ) ) ) - | Mul_bls12_381_z_fr -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMul_bls12_381_z_fr (kinfo, k) ) ) ) ) - | Mul_bls12_381_fr_z -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMul_bls12_381_fr_z (kinfo, k) ) ) ) ) - | Mul_bls12_381_fr -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IMul_bls12_381_fr (kinfo, k) ) ) ) ) - | Neg_bls12_381_g1 -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ INeg_bls12_381_g1 (kinfo, k) ) ) ) - | Neg_bls12_381_g2 -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ INeg_bls12_381_g2 (kinfo, k) ) ) ) - | Neg_bls12_381_fr -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ INeg_bls12_381_fr (kinfo, k) ) ) ) - | Pairing_check_bls12_381 -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IPairing_check_bls12_381 (kinfo, k) ) ) ) - | Dup_n (n, i) -> ( - let i = lift_dup_n_gadt_witness i li in - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ IDup_n (kinfo, n, i, k) ) - ) - | Comb (n, w) -> - let w = lift_comb_gadt_witness w li lo in - return @@ IComb (kinfo, n, w, k) - | Uncomb (n, w) -> - let w = lift_uncomb_gadt_witness w li lo in - return @@ IUncomb (kinfo, n, w, k) - | Comb_get (n, w) -> ( - match li with - | IndLift li' -> ( - match lo with - | IndLift lo' -> ( - match fun_lift li' lo' with - | Refl -> - return @@ IComb_get (kinfo, n, w, k) ) ) ) - | Comb_set (n, w) -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IComb_set (kinfo, n, w, k) ) ) ) ) - | Ticket -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with Refl -> return @@ ITicket (kinfo, k) ) ) - ) ) - | Read_ticket -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IRead_ticket (kinfo, k) ) ) ) ) - | Split_ticket -> ( - match li with - | IndLift li -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ ISplit_ticket (kinfo, k) ) ) ) ) - | Join_tickets cty -> ( - match li with - | IndLift li -> ( - match lo with - | IndLift lo -> ( - match fun_lift li lo with - | Refl -> - return @@ IJoin_tickets (kinfo, cty, k) ) ) ) - -let translate : type bef aft. (bef, aft) descr -> (bef, aft) kdescr = - fun d -> - match (lift_type d.bef, lift_type d.aft) with - | (ExLift kli, ExLift klo) -> - let khalt = IHalt {kloc = d.loc; kstack_ty = lift_stack_ty klo d.aft} in - let kinstr = translate_instr d kli klo khalt in - KDescr {kloc = d.loc; kbef = d.bef; kaft = d.aft; kli; klo; kinstr} diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 1d5ec39ecb39..11efe2584e7c 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -27,7 +27,7 @@ open Alpha_context open Script_int -(* ---- Auxiliary types -----------------------------------------------------*) +(* Preliminary definitions. *) type var_annot = Var_annot of string @@ -35,13 +35,19 @@ type type_annot = Type_annot of string type field_annot = Field_annot of string +type never = | + type address = Contract.t * string type ('a, 'b) pair = 'a * 'b type ('a, 'b) union = L of 'a | R of 'b -type never = | +type operation = packed_internal_operation * Lazy_storage.diffs option + +type 'a ticket = {ticketer : address; contents : 'a; amount : n num} + +type end_of_stack = unit * unit type _ comparable_ty = | Unit_key : type_annot option -> unit comparable_ty @@ -112,11 +118,9 @@ type ('key, 'value) big_map_overlay = { size : int; } -type operation = packed_internal_operation * Lazy_storage.diffs option - -type 'a ticket = {ticketer : address; contents : 'a; amount : n num} +and 'elt boxed_list = {elements : 'elt list; length : int} -type ('arg, 'storage) script = { +and ('arg, 'storage) script = { code : (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; arg_type : 'arg ty; storage : 'storage; @@ -124,16 +128,765 @@ type ('arg, 'storage) script = { root_name : field_annot option; } -and end_of_stack = unit +(* ---- Instructions --------------------------------------------------------*) + +(* + + The instructions of Michelson are represented in the following + Generalized Algebraic Datatypes. + + There are three important aspects in that type declaration. + + First, we follow a tagless approach for values: they are directly + represented as OCaml values. This reduces the computational cost of + interpretation because there is no need to check the shape of a + value before applying an operation to it. To achieve that, the GADT + encodes the typing rules of the Michelson programming + language. This static information is sufficient for the typechecker + to justify the absence of runtime checks. As a bonus, it also + ensures that well-typed Michelson programs cannot go wrong: if the + interpreter typechecks then we have the static guarantee that no + stack underflow or type error can occur at runtime. + + Second, we maintain the invariant that the stack type always has a + distinguished topmost element. This invariant is important to + implement the stack as an accumulator followed by a linked list of + cells. This representation is considered in the literature as an + efficient representation of the stack for a stack-based abstract + machine, mainly because this opens the opportunity for the + accumulator to be stored in a hardware register. In the GADT, this + invariant is encoded by representing the stack type using two + parameters instead of one: the first one is the type of the + accumulator while the second is the type of the rest of the stack. + + Third, in this representation, each instruction embeds its + potential successor instructions in the control flow. This design + choice permits an efficient implementation of the continuation + stack in the interpreter. Assigning a precise type to this kind of + instruction which is a cell in a linked list of instructions is + similar to the typing of delimited continuations: we need to give a + type to the stack ['before] the execution of the instruction, a + type to the stack ['after] the execution of the instruction and + before the execution of the next, and a type for the [`result]ing + stack type after the execution of the whole chain of instructions. + + Combining these three aspects, the type [kinstr] needs four + parameters: + + ('before_top, 'before, 'result_top, 'result) kinstr + + Notice that we could have chosen to only give two parameters to + [kinstr] by manually enforcing each argument to be a pair but this + is error-prone: with four parameters, this constraint is enforced + by the arity of the type constructor itself. + + Hence, an instruction which has a successor instruction enjoys a + type of the form: + + ('after_top, 'after, 'result_top, 'result) kinstr -> + ('before_top, 'before, 'result_top, 'result) kinstr + + where ['before_top] and ['before] are the types of the stack top + and rest before the instruction chain, ['after_top] and ['after] + are the types of the stack top and rest after the instruction + chain, and ['result_top] and ['result] are the types of the stack + top and rest after the instruction chain + + Notations: + ---------- + + In the following declaration, we use 'a, 'b, 'c, 'd, ... to assign + types to stack cell contents while we use 's, 't, 'u, 'v, ... to + assign types to stacks. + + The types for the final result and stack rest of a whole sequence + of instructions are written 'r and 'f (standing for "result" and + "final stack rest", respectively). + + Instructions for internal execution steps + ========================================= + + Some instructions of the following list are not present in the + source language. They only appear during evaluation to account for + intermediate execution steps. Indeed, since the interpreter follows + a small-step style, it is sometimes necessary to decompose a + source-level instruction (e.g. List_map) into several instructions + with smaller steps. This technique seems required to get an + efficient tail-recursive interpreter. + + References + ========== + + [1]: http://www.complang.tuwien.ac.at/projects/interpreters.html + +*) +and ('before_top, 'before, 'result_top, 'result) kinstr = + (* + Stack + ----- + *) + | IDrop : + ('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, 'r, 'f) kinstr + | IConst : + ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + (* + Pairs + ----- + *) + | ICons_pair : + ('a, 'b * 's) kinfo * ('a * 'b, 's, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr + | ICar : + ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr + -> ('a * 'b, 's, 'r, 'f) kinstr + | ICdr : + ('a * 'b, 's) kinfo * ('b, 's, 'r, 'f) kinstr + -> ('a * 'b, 's, 'r, 'f) kinstr + | IUnpair : + ('a * 'b, 's) kinfo * ('a, 'b * 's, 'r, 'f) kinstr + -> ('a * 'b, 's, 'r, 'f) kinstr + (* + Options + ------- + *) + | ICons_some : + ('v, 's) kinfo * ('v option, 's, 'r, 'f) kinstr + -> ('v, 's, 'r, 'f) kinstr + | ICons_none : + ('a, 's) kinfo * 'b ty * ('b option, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IIf_none : + ('a option, 'b * 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('b, 's, 'r, 'f) kinstr + * ('a, 'b * 's, 'r, 'f) kinstr + -> ('a option, 'b * 's, 'r, 'f) kinstr + (* + Unions + ------ + *) + | ICons_left : + ('a, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ICons_right : + ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr + -> ('b, 's, 'r, 'f) kinstr + | IIf_left : + (('a, 'b) union, 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('a, 's, 'r, 'f) kinstr + * ('b, 's, 'r, 'f) kinstr + -> (('a, 'b) union, 's, 'r, 'f) kinstr + (* + Lists + ----- + *) + | ICons_list : + ('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, 'r, 'f) kinstr + | IIf_cons : + ('a boxed_list, 'b * 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('a, 'a boxed_list * ('b * 's), 'r, 'f) kinstr + * ('b, 's, 'r, 'f) kinstr + -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr + | IList_map : + ('a boxed_list, 'c * 's) kinfo + * ('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 + * ('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 + -> ('a boxed_list, 's, 'r, 'f) kinstr + (* + Sets + ---- + *) + | IEmpty_set : + ('a, 's) kinfo * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISet_iter : + ('a set, 'b * 's) kinfo + * ('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 + -> ('a, 'a set * 's, 'r, 'f) kinstr + | ISet_update : + ('a, bool * ('a set * 's)) kinfo * ('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 + -> ('a set, 's, 'r, 'f) kinstr + (* + Maps + ---- + *) + | IEmpty_map : + ('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 * '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, '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 + -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr + | IMap_get : + ('a, ('a, 'b) map * 's) kinfo * ('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 + -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr + | IMap_get_and_update : + ('a, 'v option * (('a, 'v) map * 'rest)) kinfo + * ('v option, ('a, 'v) map * 'rest, 'r, 'f) kinstr + -> ('a, 'v option * (('a, 'v) map * 'rest), 'r, 'f) kinstr + | IMap_size : + (('a, 'b) map, 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (('a, 'b) map, 's, 'r, 'f) kinstr + (* + Big maps + -------- + *) + | IEmpty_big_map : + ('a, 's) kinfo + * '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 + -> ('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 + -> ('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 + -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr + | IBig_map_get_and_update : + ('a, 'v option * (('a, 'v) big_map * 'rest)) kinfo + * ('v option, ('a, 'v) big_map * 'rest, 'r, 'f) kinstr + -> ('a, 'v option * (('a, 'v) big_map * 'rest), 'r, 'f) kinstr + (* + Strings + ------- + *) + | IConcat_string : + (string boxed_list, 's) kinfo * (string, 's, 'r, 'f) kinstr + -> (string boxed_list, 's, 'r, 'f) kinstr + | IConcat_string_pair : + (string, string * 's) kinfo * (string, 's, 'r, 'f) kinstr + -> (string, string * 's, 'r, 'f) kinstr + | ISlice_string : + (n num, n num * (string * 's)) kinfo * (string option, 's, 'r, 'f) kinstr + -> (n num, n num * (string * 's), 'r, 'f) kinstr + | IString_size : + (string, 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (string, 's, 'r, 'f) kinstr + (* + Bytes + ----- + *) + | IConcat_bytes : + (bytes boxed_list, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes boxed_list, 's, 'r, 'f) kinstr + | IConcat_bytes_pair : + (bytes, bytes * 's) kinfo * (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 + -> (n num, n num * (bytes * 's), 'r, 'f) kinstr + | IBytes_size : + (bytes, 's) kinfo * (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 + -> (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_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_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_timestamp.t, Script_timestamp.t * 's, 'r, 'f) kinstr + (* + Tez + --- + *) + | IAdd_tez : + (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr + -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr + | ISub_tez : + (Tez.t, Tez.t * 's) kinfo * (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 + -> (Tez.t, n num * 's, 'r, 'f) kinstr + | IMul_nattez : + (n num, Tez.t * 's) kinfo * (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 + -> (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 + -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr + (* + Booleans + -------- + *) + | IOr : + (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, bool * 's, 'r, 'f) kinstr + | IAnd : + (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, bool * 's, 'r, 'f) kinstr + | IXor : + (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, bool * 's, 'r, 'f) kinstr + | INot : + (bool, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (bool, 's, 'r, 'f) kinstr + (* + Integers + -------- + *) + | IIs_nat : + (z num, 's) kinfo * (n num option, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | INeg_nat : + (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, 's, 'r, 'f) kinstr + | INeg_int : + (z num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IAbs_int : + (z num, 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IInt_nat : + (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, 's, 'r, 'f) kinstr + | IAdd_intint : + (z num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, z num * 's, 'r, 'f) kinstr + | IAdd_intnat : + (z num, n num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, n num * 's, 'r, 'f) kinstr + | IAdd_natint : + (n num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, z num * 's, 'r, 'f) kinstr + | IAdd_natnat : + (n num, n num * 's) kinfo * (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 + -> ('a num, 'b num * 's, 'r, 'f) kinstr + | IMul_intint : + (z num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, z num * 's, 'r, 'f) kinstr + | IMul_intnat : + (z num, n num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, n num * 's, 'r, 'f) kinstr + | IMul_natint : + (n num, z num * 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, z num * 's, 'r, 'f) kinstr + | IMul_natnat : + (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + -> (n num, n num * 's, 'r, 'f) kinstr + | IEdiv_intint : + (z num, z num * 's) kinfo + * ((z num, n num) pair option, 's, 'r, 'f) kinstr + -> (z num, z num * 's, 'r, 'f) kinstr + | IEdiv_intnat : + (z num, n num * 's) kinfo + * ((z num, n num) pair option, 's, 'r, 'f) kinstr + -> (z num, n num * 's, 'r, 'f) kinstr + | IEdiv_natint : + (n num, z num * 's) kinfo + * ((z num, n num) pair option, 's, 'r, 'f) kinstr + -> (n num, z num * 's, 'r, 'f) kinstr + | IEdiv_natnat : + (n num, n num * 's) kinfo + * ((n num, n num) pair option, 's, 'r, 'f) kinstr + -> (n num, n num * 's, 'r, 'f) kinstr + | ILsl_nat : + (n num, n num * 's) kinfo * (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 + -> (n num, n num * 's, 'r, 'f) kinstr + | IOr_nat : + (n num, n num * 's) kinfo * (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 + -> (n num, n num * 's, 'r, 'f) kinstr + | IAnd_int_nat : + (z num, n num * 's) kinfo * (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 + -> (n num, n num * 's, 'r, 'f) kinstr + | INot_nat : + (n num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (n num, 's, 'r, 'f) kinstr + | INot_int : + (z num, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + (* + Control + ------- + *) + | IIf : + (bool, 'a * 's) kinfo + (* Notice that the continuations of the following two + instructions should have a shared suffix to avoid code + duplication. *) + * ('a, 's, 'r, 'f) kinstr + * ('a, 's, '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 + -> (bool, 'a * 's, 'r, 'f) kinstr + | ILoop_left : + (('a, 'b) union, 's) kinfo + * ('a, 's, ('a, 'b) union, 's) kinstr + * ('b, 's, 'r, 'f) kinstr + -> (('a, 'b) union, 's, 'r, 'f) kinstr + | IDip : + ('a, 'b * 's) kinfo + * ('c, 't) kinfo + * ('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 + -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr + | IApply : + ('a, ('a * 't, 'b) lambda * 's) kinfo + * 'a ty + * (('t, 'b) lambda, 's, 'r, 'f) kinstr + -> ('a, ('a * 't, 'b) lambda * 's, 'r, 'f) kinstr + | ILambda : + ('a, 's) kinfo + * ('b, 'c) lambda + * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IFailwith : + ('a, 's) kinfo * Script.location * 'a ty * ('b, 't, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | INop : ('a, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr + (* + Comparison + ---------- + *) + | ICompare : + ('a, 'a * 's) kinfo * 'a comparable_ty * (z num, 's, 'r, 'f) kinstr + -> ('a, 'a * 's, 'r, 'f) kinstr + (* + Comparators + ----------- + *) + | IEq : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | INeq : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | ILt : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IGt : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | ILe : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + | IGe : + (z num, 's) kinfo * (bool, 's, 'r, 'f) kinstr + -> (z num, 's, 'r, 'f) kinstr + (* + Protocol + -------- + *) + | IAddress : + ('a typed_contract, 's) kinfo * (address, 's, 'r, 'f) kinstr + -> ('a typed_contract, 's, 'r, 'f) kinstr + | IContract : + (address, 's) kinfo + * 'a ty + * string + * ('a typed_contract option, 's, 'r, 'f) kinstr + -> (address, 's, 'r, 'f) kinstr + | ITransfer_tokens : + ('a, Tez.t * ('a typed_contract * 's)) kinfo + * (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 + -> (public_key_hash, 's, 'r, 'f) kinstr + | ICreate_contract : + (public_key_hash option, Tez.t * ('a * 's)) kinfo + * 'a ty + * 'b ty + * ('b * 'a, operation boxed_list * 'a) lambda + * field_annot option + * (operation, address * 's, 'r, 'f) kinstr + -> (public_key_hash option, Tez.t * ('a * '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 + | INow : + ('a, 's) kinfo * (Script_timestamp.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IBalance : + ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ILevel : + ('a, 's) kinfo * (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 + -> (public_key, signature * (bytes * 's), 'r, 'f) kinstr + | IHash_key : + (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 + | IUnpack : + (bytes, 's) kinfo * 'a ty * ('a option, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | IBlake2b : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISha256 : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISha512 : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISource : + ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISender : + ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISelf : + ('a, 's) kinfo + * 'b ty + * string + * ('b typed_contract, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISelf_address : + ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IAmount : + ('a, 's) kinfo * (Tez.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ISapling_empty_state : + ('a, 's) kinfo + * 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 + * ((z num, Sapling.state) pair option, 's, 'r, 'f) kinstr + -> (Sapling.transaction, Sapling.state * 's, 'r, 'f) kinstr + | IDig : + ('a, 's) kinfo + * 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 + * 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 + * 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 + * 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 * (Chain_id.t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | INever : + (never, 's) kinfo * ('b, 'u, 'r, 'f) kinstr + -> (never, 's, 'r, 'f) kinstr + | IVoting_power : + (public_key_hash, 's) kinfo * (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 + -> ('a, 's, 'r, 'f) kinstr + | IKeccak : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | ISha3 : + (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr + -> (bytes, 's, 'r, 'f) kinstr + | IAdd_bls12_381_g1 : + (Bls12_381.G1.t, Bls12_381.G1.t * 's) kinfo + * (Bls12_381.G1.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G1.t, Bls12_381.G1.t * 's, 'r, 'f) kinstr + | IAdd_bls12_381_g2 : + (Bls12_381.G2.t, Bls12_381.G2.t * 's) kinfo + * (Bls12_381.G2.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G2.t, Bls12_381.G2.t * 's, 'r, 'f) kinstr + | IAdd_bls12_381_fr : + (Bls12_381.Fr.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_g1 : + (Bls12_381.G1.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.G1.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G1.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_g2 : + (Bls12_381.G2.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.G2.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G2.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_fr : + (Bls12_381.Fr.t, Bls12_381.Fr.t * 's) kinfo + * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IMul_bls12_381_z_fr : + (Bls12_381.Fr.t, 'a num * 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, 'a num * 's, 'r, 'f) kinstr + | IMul_bls12_381_fr_z : + ('a num, Bls12_381.Fr.t * 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> ('a num, Bls12_381.Fr.t * 's, 'r, 'f) kinstr + | IInt_bls12_381_fr : + (Bls12_381.Fr.t, 's) kinfo * (z num, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + | INeg_bls12_381_g1 : + (Bls12_381.G1.t, 's) kinfo * (Bls12_381.G1.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G1.t, 's, 'r, 'f) kinstr + | INeg_bls12_381_g2 : + (Bls12_381.G2.t, 's) kinfo * (Bls12_381.G2.t, 's, 'r, 'f) kinstr + -> (Bls12_381.G2.t, 's, 'r, 'f) kinstr + | INeg_bls12_381_fr : + (Bls12_381.Fr.t, 's) kinfo * (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + -> (Bls12_381.Fr.t, 's, 'r, 'f) kinstr + | IPairing_check_bls12_381 : + ((Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list, 's) kinfo + * (bool, 's, 'r, 'f) kinstr + -> ((Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list, 's, 'r, 'f) kinstr + | IComb : + ('a, 's) kinfo + * int + * ('a * 's, 'b * 'u) comb_gadt_witness + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IUncomb : + ('a, 's) kinfo + * int + * ('a * 's, 'b * 'u) uncomb_gadt_witness + * ('b, 'u, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | IComb_get : + ('t, 's) kinfo + * int + * ('t, 'v) comb_get_gadt_witness + * ('v, 's, 'r, 'f) kinstr + -> ('t, 's, 'r, 'f) kinstr + | IComb_set : + ('a, 'b * 's) kinfo + * int + * ('a, 'b, 'c) comb_set_gadt_witness + * ('c, 's, 'r, 'f) kinstr + -> ('a, 'b * 's, 'r, 'f) kinstr + | IDup_n : + ('a, 's) kinfo + * int + * ('a * 's, 't) dup_n_gadt_witness + * ('t, 'a * 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + | ITicket : + ('a, n num * 's) kinfo * ('a ticket, 's, 'r, 'f) kinstr + -> ('a, n num * 's, 'r, 'f) kinstr + | IRead_ticket : + ('a ticket, 's) kinfo + * (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 + -> ('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 + -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr + | IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr and ('arg, 'ret) lambda = | Lam : - ('arg * end_of_stack, 'ret * end_of_stack) descr * Script.node + ('arg, end_of_stack, 'ret, end_of_stack) kdescr * Script.node -> ('arg, 'ret) lambda -[@@coq_force_gadt] and 'arg typed_contract = 'arg ty * address +(* ---- Auxiliary types -----------------------------------------------------*) and 'ty ty = | Unit_t : type_annot option -> unit ty | Int_t : type_annot option -> z num ty @@ -180,11 +933,11 @@ and 'ty ty = | Bls12_381_fr_t : type_annot option -> Bls12_381.Fr.t ty | Ticket_t : 'a comparable_ty * type_annot option -> 'a ticket ty -and 'ty stack_ty = +and ('top_ty, 'resty) stack_ty = | Item_t : - 'ty ty * 'rest stack_ty * var_annot option - -> ('ty * 'rest) stack_ty - | Empty_t : end_of_stack stack_ty + 'ty ty * ('ty2, 'rest) stack_ty * var_annot option + -> ('ty, 'ty2 * 'rest) stack_ty + | Bot_t : (unit, unit) stack_ty and ('key, 'value) big_map = { id : Big_map.Id.t option; @@ -193,326 +946,32 @@ and ('key, 'value) big_map = { value_type : 'value ty; } -and 'elt boxed_list = {elements : 'elt list; length : int} - -(* ---- Instructions --------------------------------------------------------*) +and ('a, 's, 'r, 'f) kdescr = { + kloc : Script.location; + kbef : ('a, 's) stack_ty; + kaft : ('r, 'f) stack_ty; + kinstr : ('a, 's, 'r, 'f) kinstr; +} -(* The low-level, typed instructions, as a GADT whose parameters - encode the typing rules. +and ('a, 's) kinfo = {iloc : Script.location; kstack_ty : ('a, 's) stack_ty} - The left parameter is the typed shape of the stack before the - instruction, the right one the shape after. Any program whose - construction is accepted by OCaml's type-checker is guaranteed to - be type-safe. Overloadings of the concrete syntax are already - resolved in this representation, either by using different - constructors or type witness parameters. - - When adding a new instruction, please check whether it is duplicating a data - (rule of thumb: the type variable appears twice in the after stack, beware - it might be hidden in a witness). - If it is, please protect it with [check_dupable_ty]. -*) -and ('bef, 'aft) instr = - (* stack ops *) - | Drop : (_ * 'rest, 'rest) instr - | Dup : ('top * 'rest, 'top * ('top * 'rest)) instr - | Swap : ('tip * ('top * 'rest), 'top * ('tip * 'rest)) instr - | Const : 'ty -> ('rest, 'ty * 'rest) instr - (* pairs *) - | Cons_pair : ('car * ('cdr * 'rest), ('car, 'cdr) pair * 'rest) instr - | Car : (('car, _) pair * 'rest, 'car * 'rest) instr - | Cdr : ((_, 'cdr) pair * 'rest, 'cdr * 'rest) instr - | Unpair : (('car, 'cdr) pair * 'rest, 'car * ('cdr * 'rest)) instr - (* options *) - | Cons_some : ('v * 'rest, 'v option * 'rest) instr - | Cons_none : 'a ty -> ('rest, 'a option * 'rest) instr - | If_none : - ('bef, 'aft) descr * ('a * 'bef, 'aft) descr - -> ('a option * 'bef, 'aft) instr - (* unions *) - | Cons_left : ('l * 'rest, ('l, 'r) union * 'rest) instr - | Cons_right : ('r * 'rest, ('l, 'r) union * 'rest) instr - | If_left : - ('l * 'bef, 'aft) descr * ('r * 'bef, 'aft) descr - -> (('l, 'r) union * 'bef, 'aft) instr - (* lists *) - | Cons_list : ('a * ('a boxed_list * 'rest), 'a boxed_list * 'rest) instr - | Nil : ('rest, 'a boxed_list * 'rest) instr - | If_cons : - ('a * ('a boxed_list * 'bef), 'aft) descr * ('bef, 'aft) descr - -> ('a boxed_list * 'bef, 'aft) instr - | List_map : - ('a * 'rest, 'b * 'rest) descr - -> ('a boxed_list * 'rest, 'b boxed_list * 'rest) instr - | List_iter : - ('a * 'rest, 'rest) descr - -> ('a boxed_list * 'rest, 'rest) instr - | List_size : ('a boxed_list * 'rest, n num * 'rest) instr - (* sets *) - | Empty_set : 'a comparable_ty -> ('rest, 'a set * 'rest) instr - | Set_iter : ('a * 'rest, 'rest) descr -> ('a set * 'rest, 'rest) instr - | Set_mem : ('elt * ('elt set * 'rest), bool * 'rest) instr - | Set_update : ('elt * (bool * ('elt set * 'rest)), 'elt set * 'rest) instr - | Set_size : ('a set * 'rest, n num * 'rest) instr - (* maps *) - | Empty_map : 'a comparable_ty * 'v ty -> ('rest, ('a, 'v) map * 'rest) instr - | Map_map : - (('a * 'v) * 'rest, 'r * 'rest) descr - -> (('a, 'v) map * 'rest, ('a, 'r) map * 'rest) instr - | Map_iter : - (('a * 'v) * 'rest, 'rest) descr - -> (('a, 'v) map * 'rest, 'rest) instr - | Map_mem : ('a * (('a, 'v) map * 'rest), bool * 'rest) instr - | Map_get : ('a * (('a, 'v) map * 'rest), 'v option * 'rest) instr - | Map_update - : ('a * ('v option * (('a, 'v) map * 'rest)), ('a, 'v) map * 'rest) instr - | Map_get_and_update - : ( 'a * ('v option * (('a, 'v) map * 'rest)), - 'v option * (('a, 'v) map * 'rest) ) - instr - | Map_size : (('a, 'b) map * 'rest, n num * 'rest) instr - (* big maps *) - | Empty_big_map : - 'a comparable_ty * 'v ty - -> ('rest, ('a, 'v) big_map * 'rest) instr - | Big_map_mem : ('a * (('a, 'v) big_map * 'rest), bool * 'rest) instr - | Big_map_get : ('a * (('a, 'v) big_map * 'rest), 'v option * 'rest) instr - | Big_map_update - : ( 'key * ('value option * (('key, 'value) big_map * 'rest)), - ('key, 'value) big_map * 'rest ) - instr - | Big_map_get_and_update - : ( 'a * ('v option * (('a, 'v) big_map * 'rest)), - 'v option * (('a, 'v) big_map * 'rest) ) - instr - (* string operations *) - | Concat_string : (string boxed_list * 'rest, string * 'rest) instr - | Concat_string_pair : (string * (string * 'rest), string * 'rest) instr - | Slice_string - : (n num * (n num * (string * 'rest)), string option * 'rest) instr - | String_size : (string * 'rest, n num * 'rest) instr - (* bytes operations *) - | Concat_bytes : (bytes boxed_list * 'rest, bytes * 'rest) instr - | Concat_bytes_pair : (bytes * (bytes * 'rest), bytes * 'rest) instr - | Slice_bytes - : (n num * (n num * (bytes * 'rest)), bytes option * 'rest) instr - | Bytes_size : (bytes * 'rest, n num * 'rest) instr - (* timestamp operations *) - | Add_seconds_to_timestamp - : ( z num * (Script_timestamp.t * 'rest), - Script_timestamp.t * 'rest ) - instr - | Add_timestamp_to_seconds - : ( Script_timestamp.t * (z num * 'rest), - Script_timestamp.t * 'rest ) - instr - | Sub_timestamp_seconds - : ( Script_timestamp.t * (z num * 'rest), - Script_timestamp.t * 'rest ) - instr - | Diff_timestamps - : ( Script_timestamp.t * (Script_timestamp.t * 'rest), - z num * 'rest ) - instr - (* tez operations *) - | Add_tez : (Tez.t * (Tez.t * 'rest), Tez.t * 'rest) instr - | Sub_tez : (Tez.t * (Tez.t * 'rest), Tez.t * 'rest) instr - | Mul_teznat : (Tez.t * (n num * 'rest), Tez.t * 'rest) instr - | Mul_nattez : (n num * (Tez.t * 'rest), Tez.t * 'rest) instr - | Ediv_teznat - : (Tez.t * (n num * 'rest), (Tez.t, Tez.t) pair option * 'rest) instr - | Ediv_tez - : (Tez.t * (Tez.t * 'rest), (n num, Tez.t) pair option * 'rest) instr - (* boolean operations *) - | Or : (bool * (bool * 'rest), bool * 'rest) instr - | And : (bool * (bool * 'rest), bool * 'rest) instr - | Xor : (bool * (bool * 'rest), bool * 'rest) instr - | Not : (bool * 'rest, bool * 'rest) instr - (* integer operations *) - | Is_nat : (z num * 'rest, n num option * 'rest) instr - | Neg_nat : (n num * 'rest, z num * 'rest) instr - | Neg_int : (z num * 'rest, z num * 'rest) instr - | Abs_int : (z num * 'rest, n num * 'rest) instr - | Int_nat : (n num * 'rest, z num * 'rest) instr - | Add_intint : (z num * (z num * 'rest), z num * 'rest) instr - | Add_intnat : (z num * (n num * 'rest), z num * 'rest) instr - | Add_natint : (n num * (z num * 'rest), z num * 'rest) instr - | Add_natnat : (n num * (n num * 'rest), n num * 'rest) instr - | Sub_int : ('s num * ('t num * 'rest), z num * 'rest) instr - | Mul_intint : (z num * (z num * 'rest), z num * 'rest) instr - | Mul_intnat : (z num * (n num * 'rest), z num * 'rest) instr - | Mul_natint : (n num * (z num * 'rest), z num * 'rest) instr - | Mul_natnat : (n num * (n num * 'rest), n num * 'rest) instr - | Ediv_intint - : (z num * (z num * 'rest), (z num, n num) pair option * 'rest) instr - | Ediv_intnat - : (z num * (n num * 'rest), (z num, n num) pair option * 'rest) instr - | Ediv_natint - : (n num * (z num * 'rest), (z num, n num) pair option * 'rest) instr - | Ediv_natnat - : (n num * (n num * 'rest), (n num, n num) pair option * 'rest) instr - | Lsl_nat : (n num * (n num * 'rest), n num * 'rest) instr - | Lsr_nat : (n num * (n num * 'rest), n num * 'rest) instr - | Or_nat : (n num * (n num * 'rest), n num * 'rest) instr - | And_nat : (n num * (n num * 'rest), n num * 'rest) instr - | And_int_nat : (z num * (n num * 'rest), n num * 'rest) instr - | Xor_nat : (n num * (n num * 'rest), n num * 'rest) instr - | Not_nat : (n num * 'rest, z num * 'rest) instr - | Not_int : (z num * 'rest, z num * 'rest) instr - (* control *) - | Seq : ('bef, 'trans) descr * ('trans, 'aft) descr -> ('bef, 'aft) instr - | If : ('bef, 'aft) descr * ('bef, 'aft) descr -> (bool * 'bef, 'aft) instr - | Loop : ('rest, bool * 'rest) descr -> (bool * 'rest, 'rest) instr - | Loop_left : - ('a * 'rest, ('a, 'b) union * 'rest) descr - -> (('a, 'b) union * 'rest, 'b * 'rest) instr - | Dip : ('bef, 'aft) descr -> ('top * 'bef, 'top * 'aft) instr - | Exec : ('arg * (('arg, 'ret) lambda * 'rest), 'ret * 'rest) instr - | Apply : - 'arg ty - -> ( 'arg * (('arg * 'remaining, 'ret) lambda * 'rest), - ('remaining, 'ret) lambda * 'rest ) - instr - | Lambda : ('arg, 'ret) lambda -> ('rest, ('arg, 'ret) lambda * 'rest) instr - | Failwith : 'a ty -> ('a * 'rest, 'aft) instr - | Nop : ('rest, 'rest) instr - (* comparison *) - | Compare : 'a comparable_ty -> ('a * ('a * 'rest), z num * 'rest) instr - (* comparators *) - | Eq : (z num * 'rest, bool * 'rest) instr - | Neq : (z num * 'rest, bool * 'rest) instr - | Lt : (z num * 'rest, bool * 'rest) instr - | Gt : (z num * 'rest, bool * 'rest) instr - | Le : (z num * 'rest, bool * 'rest) instr - | Ge : (z num * 'rest, bool * 'rest) instr - (* protocol *) - | Address : (_ typed_contract * 'rest, address * 'rest) instr - | Contract : - 'p ty * string - -> (address * 'rest, 'p typed_contract option * 'rest) instr - | Transfer_tokens - : ( 'arg * (Tez.t * ('arg typed_contract * 'rest)), - operation * 'rest ) - instr - | Implicit_account - : (public_key_hash * 'rest, unit typed_contract * 'rest) instr - | Create_contract : - 'g ty - * 'p ty - * ('p * 'g, operation boxed_list * 'g) lambda - * field_annot option - -> ( public_key_hash option * (Tez.t * ('g * 'rest)), - operation * (address * 'rest) ) - instr - | Set_delegate : (public_key_hash option * 'rest, operation * 'rest) instr - | Now : ('rest, Script_timestamp.t * 'rest) instr - | Balance : ('rest, Tez.t * 'rest) instr - | Level : ('rest, n num * 'rest) instr - | Check_signature - : (public_key * (signature * (bytes * 'rest)), bool * 'rest) instr - | Hash_key : (public_key * 'rest, public_key_hash * 'rest) instr - | Pack : 'a ty -> ('a * 'rest, bytes * 'rest) instr - | Unpack : 'a ty -> (bytes * 'rest, 'a option * 'rest) instr - | Blake2b : (bytes * 'rest, bytes * 'rest) instr - | Sha256 : (bytes * 'rest, bytes * 'rest) instr - | Sha512 : (bytes * 'rest, bytes * 'rest) instr - | Source : ('rest, address * 'rest) instr - | Sender : ('rest, address * 'rest) instr - | Self : 'p ty * string -> ('rest, 'p typed_contract * 'rest) instr - | Self_address : ('rest, address * 'rest) instr - | Amount : ('rest, Tez.t * 'rest) instr - | Sapling_empty_state : { - memo_size : Sapling.Memo_size.t; - } - -> ('rest, Sapling.state * 'rest) instr - | Sapling_verify_update - : ( Sapling.transaction * (Sapling.state * 'rest), - (z num, Sapling.state) pair option * 'rest ) - instr - | Dig : - int * ('x * 'rest, 'rest, 'bef, 'aft) stack_prefix_preservation_witness - -> ('bef, 'x * 'aft) instr - | Dug : - int * ('rest, 'x * 'rest, 'bef, 'aft) stack_prefix_preservation_witness - -> ('x * 'bef, 'aft) instr - | Dipn : - int - * ('fbef, 'faft, 'bef, 'aft) stack_prefix_preservation_witness - * ('fbef, 'faft) descr - -> ('bef, 'aft) instr - | Dropn : - int * ('rest, 'rest, 'bef, 'bef) stack_prefix_preservation_witness - -> ('bef, 'rest) instr - | ChainId : ('rest, Chain_id.t * 'rest) instr - | Never : (never * 'rest, 'aft) instr - | Voting_power : (public_key_hash * 'rest, n num * 'rest) instr - | Total_voting_power : ('rest, n num * 'rest) instr - | Keccak : (bytes * 'rest, bytes * 'rest) instr - | Sha3 : (bytes * 'rest, bytes * 'rest) instr - | Add_bls12_381_g1 - : ( Bls12_381.G1.t * (Bls12_381.G1.t * 'rest), - Bls12_381.G1.t * 'rest ) - instr - | Add_bls12_381_g2 - : ( Bls12_381.G2.t * (Bls12_381.G2.t * 'rest), - Bls12_381.G2.t * 'rest ) - instr - | Add_bls12_381_fr - : ( Bls12_381.Fr.t * (Bls12_381.Fr.t * 'rest), - Bls12_381.Fr.t * 'rest ) - instr - | Mul_bls12_381_g1 - : ( Bls12_381.G1.t * (Bls12_381.Fr.t * 'rest), - Bls12_381.G1.t * 'rest ) - instr - | Mul_bls12_381_g2 - : ( Bls12_381.G2.t * (Bls12_381.Fr.t * 'rest), - Bls12_381.G2.t * 'rest ) - instr - | Mul_bls12_381_fr - : ( Bls12_381.Fr.t * (Bls12_381.Fr.t * 'rest), - Bls12_381.Fr.t * 'rest ) - instr - | Mul_bls12_381_z_fr - : (Bls12_381.Fr.t * (_ num * 'rest), Bls12_381.Fr.t * 'rest) instr - | Mul_bls12_381_fr_z - : (_ num * (Bls12_381.Fr.t * 'rest), Bls12_381.Fr.t * 'rest) instr - | Int_bls12_381_fr : (Bls12_381.Fr.t * 'rest, z num * 'rest) instr - | Neg_bls12_381_g1 : (Bls12_381.G1.t * 'rest, Bls12_381.G1.t * 'rest) instr - | Neg_bls12_381_g2 : (Bls12_381.G2.t * 'rest, Bls12_381.G2.t * 'rest) instr - | Neg_bls12_381_fr : (Bls12_381.Fr.t * 'rest, Bls12_381.Fr.t * 'rest) instr - | Pairing_check_bls12_381 - : ( (Bls12_381.G1.t, Bls12_381.G2.t) pair boxed_list * 'rest, - bool * 'rest ) - instr - | Comb : int * ('before, 'after) comb_gadt_witness -> ('before, 'after) instr - | Uncomb : - int * ('before, 'after) uncomb_gadt_witness - -> ('before, 'after) instr - | Comb_get : - int * ('before, 'after) comb_get_gadt_witness - -> ('before * 'rest, 'after * 'rest) instr - | Comb_set : - int * ('value, 'before, 'after) comb_set_gadt_witness - -> ('value * ('before * 'rest), 'after * 'rest) instr - | Dup_n : - int * ('before, 'after) dup_n_gadt_witness - -> ('before, 'after * 'before) instr - | Ticket : ('a * (n num * 'rest), 'a ticket * 'rest) instr - | Read_ticket - : ( 'a ticket * 'rest, - (address * ('a * n num)) * ('a ticket * 'rest) ) - instr - | Split_ticket - : ( 'a ticket * ((n num * n num) * 'rest), - ('a ticket * 'a ticket) option * 'rest ) - instr - | Join_tickets : - 'a comparable_ty - -> (('a ticket * 'a ticket) * 'rest, 'a ticket option * 'rest) instr +and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = + | KPrefix : + ('y, 'u) kinfo + * ('c, 'v, 'd, 'w, 'x, 's, 'y, 'u) stack_prefix_preservation_witness + -> ( 'c, + 'v, + 'd, + 'w, + 'a, + 'x * 's, + 'a, + 'y * 'u ) + 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 * 'before, 'a * 'before) 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 @@ -551,31 +1010,325 @@ and (_, _) dup_n_gadt_witness = ('stack, 'b) dup_n_gadt_witness -> ('a * 'stack, 'b) dup_n_gadt_witness -(* - - Type witness for operations that work deep in the stack ignoring - (and preserving) a prefix. - - The two right parameters are the shape of the stack with the (same) - prefix before and after the transformation. The two left parameters - are the shape of the stack without the prefix before and after. - - This relational predicate is defined by induction on the common - prefix of the two topmost stacks. - -*) -and ('bef, 'aft, 'bef_suffix, 'aft_suffix) stack_prefix_preservation_witness = - | Prefix : - ('fbef, 'faft, 'bef, 'aft) stack_prefix_preservation_witness - -> ('fbef, 'faft, 'x * 'bef, 'x * 'aft) stack_prefix_preservation_witness - | Rest : ('bef, 'aft, 'bef, 'aft) stack_prefix_preservation_witness - -and ('bef, 'aft) descr = { - loc : Script.location; - bef : 'bef stack_ty; - aft : 'aft stack_ty; - instr : ('bef, 'aft) instr; -} +let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = + 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 + | 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 + | 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_nat (kinfo, _) -> + kinfo + | INeg_int (kinfo, _) -> + kinfo + | IAbs_int (kinfo, _) -> + kinfo + | IInt_nat (kinfo, _) -> + kinfo + | IAdd_intint (kinfo, _) -> + kinfo + | IAdd_intnat (kinfo, _) -> + kinfo + | IAdd_natint (kinfo, _) -> + kinfo + | IAdd_natnat (kinfo, _) -> + kinfo + | ISub_int (kinfo, _) -> + kinfo + | IMul_intint (kinfo, _) -> + kinfo + | IMul_intnat (kinfo, _) -> + kinfo + | IMul_natint (kinfo, _) -> + kinfo + | IMul_natnat (kinfo, _) -> + kinfo + | IEdiv_intint (kinfo, _) -> + kinfo + | IEdiv_intnat (kinfo, _) -> + kinfo + | IEdiv_natint (kinfo, _) -> + kinfo + | IEdiv_natnat (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_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 + | INop (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 + | IImplicit_account (kinfo, _) -> + kinfo + | ICreate_contract (kinfo, _, _, _, _, _) -> + kinfo + | ISet_delegate (kinfo, _) -> + kinfo + | INow (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 + | 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 let rec ty_of_comparable_ty : type a. a comparable_ty -> a ty = fun s -> @@ -618,30 +1371,3 @@ let rec ty_of_comparable_ty : type a. a comparable_ty -> a ty = ((ty_of_comparable_ty a, None), (ty_of_comparable_ty b, None), None) | Option_key (t, _) -> Option_t (ty_of_comparable_ty t, None) - -let unlist_ty : type a. a boxed_list ty -> a ty = function - | List_t (a, _) -> - a - | _ -> - (* FIXME: This is not robust to evolutions. *) - (* because of the concrete implementations of the type - constructors occurring in the definition of [ty]: *) - assert false - -let unset_ty : type a. a set ty -> a ty = function - | Set_t (a, _) -> - ty_of_comparable_ty a - | _ -> - (* FIXME: This is not robust to evolutions. *) - (* because of the concrete implementations of the type - constructors occurring in the definition of [ty]: *) - assert false - -let unmap_ty : type k v. (k, v) map ty -> k ty * v ty = function - | Map_t (k, v, _) -> - (ty_of_comparable_ty k, v) - | _ -> - (* FIXME: This is not robust to evolutions. *) - (* because of the concrete implementations of the type - constructors occurring in the definition of [ty]: *) - assert false diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index 64cc6aee83fd..aa56e858f086 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -56,8 +56,8 @@ let run_script ctx ?(step_constants = default_step_constants) contract ~internal:false >>=?? fun res -> return res -let run_step ctxt code param = - Script_interpreter.step None ctxt default_step_constants code param +let run_step ctxt code accu stack = + Script_interpreter.step None ctxt default_step_constants code accu stack (** Runs a script with an ill-typed parameter and verifies that a Bad_contract_parameter error is returned. *) @@ -90,18 +90,21 @@ let read_file filename = (* Confront the Michelson interpreter to deep recursions. *) let test_stack_overflow () = + let open Script_typed_ir in test_context () >>=? fun ctxt -> - let descr instr = - Script_typed_ir.{loc = 0; bef = Empty_t; aft = Empty_t; instr} + let stack = Script_typed_ir.Bot_t in + let descr kinstr = + Script_typed_ir.{kloc = 0; kbef = stack; kaft = stack; kinstr} in + let kinfo = {iloc = -1; kstack_ty = stack} in let enorme_et_seq n = let rec aux n acc = - if n = 0 then acc else aux (n - 1) (descr (Seq (acc, descr Nop))) + if n = 0 then acc else aux (n - 1) (INop (kinfo, acc)) in - aux n (descr Nop) + aux n (IHalt kinfo) in - run_step ctxt (enorme_et_seq 100_000) () + run_step ctxt (descr (enorme_et_seq 100_000)) () () >>= function | Ok _ -> Alcotest.fail "expected an error" -- GitLab From e1e8af60ddeb80eeafaf1c472e9caf26214f6ed3 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas <946787-yrg@users.noreply.gitlab.com> Date: Wed, 17 Mar 2021 19:10:46 +0000 Subject: [PATCH 06/69] Proto/Michelson: Improve docstrings --- .../lib_protocol/script_interpreter.ml | 50 +++++++++++++------ .../lib_protocol/script_interpreter.mli | 13 +++-- .../lib_protocol/script_typed_ir.ml | 50 +++++++++++-------- 3 files changed, 72 insertions(+), 41 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index d9391a9b0a6d..4b0567be663d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -42,7 +42,7 @@ their outputs. In addition, the machine has access to effectful primitives to interact - with the execution environment (e.g. the tezos node). These primitives + with the execution environment (e.g. the Tezos node). These primitives live in the [Lwt+State+Error] monad. Hence, this interpreter produces a computation in the [Lwt+State+Error] monad. @@ -50,7 +50,7 @@ - The interpreter is tail-recursive, hence it is robust to stack overflow. This property is checked by the compiler thanks to the - [@ocaml.tailcall] annotation of each recursive calls. + [@ocaml.tailcall] annotation of each recursive call. - The interpreter is type-preserving. Thanks to GADTs, the typing rules of Michelson are statically checked by the OCaml @@ -206,24 +206,24 @@ let () = Control stack ============= - The stack of control is a list of [kinstr]. This type is documented + The control stack is a list of [kinstr]. This type is documented in the module [Script_typed_ir]. - Since [kinstr] denotes a list of instructions, the stack of control - can be seen as a list of instruction sequences, each representing a - form of delimited continuation (i.e. a control stack fragment). The - [continuation] GADT ensures that the input and output stack types of the + Since [kinstr] denotes a list of instructions, the control stack + can be seen as a list of instruction sequences, each representing a + form of delimited continuation (i.e. a control stack fragment). The + [continuation] GADT ensures that the input and output stack types of the continuations are consistent. Loops have a special treatment because their control stack is reused as is during the next iteration. This avoids the reallocation of a control stack cell at each iteration. - Higher-order iterators (i.e. MAPs and ITERs) need internal instructions - to implement [step] as a tail-recursive function. Roughly speaking, - these instructions help in decomposing the execution of [I f c] - (where [I] is an higher-order iterator over a container [c]) into - three phases: to start the iteration, to execute [f] if there are + To implement [step] as a tail-recursive function, we implement + higher-order iterators (i.e. MAPs and ITERs) using internal instructions +. Roughly speaking, these instructions help in decomposing the execution + of [I f c] (where [I] is an higher-order iterator over a container [c]) + into three phases: to start the iteration, to execute [f] if there are elements to be processed in [c], and to loop. Dip also has a dedicated constructor in the control stack. This @@ -241,25 +241,40 @@ let () = *) type (_, _, _, _) continuation = + (* This continuation returns immediately. *) | KNil : ('r, 'f, 'r, 'f) continuation + (* This continuation starts with the next instruction to execute. *) | KCons : ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation + (* This continuation represents a call frame: it stores the caller's + 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 -> ('a, end_of_stack, 'r, 'f) continuation + (* This continuation comes right after a [Dip i] to restore the topmost + element ['b] of the stack after having executed [i] in the substack + of type ['a * 's]. *) | KUndip : 'b * ('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. *) | KLoop_in : ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation -> (bool, 'a * 's, 'r, 'f) continuation + (* This continuation is executed at each iteration of a loop with + a condition encoded by a sum type. *) | KLoop_in_left : ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) continuation -> (('a, 'b) union, 's, 'r, 'f) continuation + (* This continuation is executed at each iteration of a traversal. + (Used in List, Map and Big_map.) *) | KIter : ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation -> ('b, 's, 'r, 'f) continuation + (* This continuation represents each step of a List.map. *) | KList_mapping : ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list @@ -267,6 +282,7 @@ type (_, _, _, _) continuation = * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation + (* This continuation represents what is done after each step of a List.map. *) | KList_mapped : ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list @@ -274,12 +290,14 @@ type (_, _, _, _) continuation = * int * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation + (* This continuation represents each step of a Map.map. *) | KMap_mapping : ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map * (('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. *) | KMap_mapped : ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list @@ -500,7 +518,7 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = let (ticket_a, ticket_b) = accu in Interp_costs.join_tickets ty ticket_a ticket_b | IHalt _ -> - (* FIXME *) + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | IDrop _ -> Interp_costs.drop @@ -722,7 +740,7 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = ======================================= Each instruction has a cost. The runtime subtracts this cost - to an amount of gas made available for the script execution. + from an amount of gas made available for the script execution. Updating the gas counter is a critical aspect to Michelson execution because it is done at each execution step. @@ -748,7 +766,7 @@ type local_gas_counter = int function, the [local_gas_counter] must be updated as well. To statically track these points where the context's gas counter - must be updated, we introduce a type for outdated contexts. The + must be updated, we introduce a type for outdated contexts. The [step] function carries an [outdated_context]. When an external function needs a [context], the typechecker points out the need for a conversion: this forces us to either call [update_context], or @@ -785,7 +803,7 @@ let use_gas_counter_in_ctxt ctxt local_gas_counter f = [consume'] is used in the implementation of [IConcat_string] and [IConcat_bytes] because in that special cases, the cost - is expressed with respec to the final result of the concatenation. + is expressed with respect to the final result of the concatenation. *) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index e9287f53d0e2..538cbfcdf32c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -209,12 +209,14 @@ module Internals : sig (** Internally, the interpretation loop uses a local gas counter. *) type local_gas_counter = int - (** During the evaluation, the gas level in the context is outdated. *) + (** During the evaluation, the gas level in the context is outdated. + See comments in the implementation file for more details. *) type outdated_context = OutDatedContext of context [@@unboxed] - (** [run logger ctxt step_constants local_gas_counter i k ks accu stack] - evaluates [k] (having [i] as predecessor) under the control flow - stack [ks] and the A-stack represented by [accu] and [stack]. *) + (** [run logger (ctxt, step_constants) local_gas_counter i k ks accu + stack] evaluates instruction [k] (having [i] as predecessor) + under the control flow stack [ks] and the A-stack represented by + [accu] and [stack]. *) val run : logger option -> outdated_context * step_constants -> @@ -226,6 +228,9 @@ module Internals : sig 's -> ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t + (** [next logger (ctxt, step_constants) local_gas_counter ks accu + stack] is an internal function which interprets the continuation + [ks] to execute the interpreter on the current A-stack. *) val next : logger option -> outdated_context * step_constants -> diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 11efe2584e7c..392408f2acba 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -151,13 +151,14 @@ and ('arg, 'storage) script = { Second, we maintain the invariant that the stack type always has a distinguished topmost element. This invariant is important to implement the stack as an accumulator followed by a linked list of - cells. This representation is considered in the literature as an - efficient representation of the stack for a stack-based abstract - machine, mainly because this opens the opportunity for the - accumulator to be stored in a hardware register. In the GADT, this - invariant is encoded by representing the stack type using two - parameters instead of one: the first one is the type of the - accumulator while the second is the type of the rest of the stack. + cells, a so-called A-Stack. This representation is considered in + the literature[1] as an efficient representation of the stack for a + stack-based abstract machine, mainly because this opens the + opportunity for the accumulator to be stored in a hardware + register. In the GADT, this invariant is encoded by representing + the stack type using two parameters instead of one: the first one + is the type of the accumulator while the second is the type of the + rest of the stack. Third, in this representation, each instruction embeds its potential successor instructions in the control flow. This design @@ -183,14 +184,21 @@ and ('arg, 'storage) script = { Hence, an instruction which has a successor instruction enjoys a type of the form: - ('after_top, 'after, 'result_top, 'result) kinstr -> + ... * ('after_top, 'after, 'result_top, 'result) kinstr * ... -> ('before_top, 'before, 'result_top, 'result) kinstr where ['before_top] and ['before] are the types of the stack top and rest before the instruction chain, ['after_top] and ['after] are the types of the stack top and rest after the instruction chain, and ['result_top] and ['result] are the types of the stack - top and rest after the instruction chain + top and rest after the instruction chain. The [IHalt] instruction + ends a sequence of instructions and has no successor, as shown by + its type: + + IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr + + Each instruction is decorated by some metadata (typically to hold + locations). The type for these metadata is [kinfo]. Notations: ---------- @@ -206,7 +214,7 @@ and ('arg, 'storage) script = { Instructions for internal execution steps ========================================= - Some instructions of the following list are not present in the + Some instructions encoded in the following type are not present in the source language. They only appear during evaluation to account for intermediate execution steps. Indeed, since the interpreter follows a small-step style, it is sometimes necessary to decompose a @@ -219,6 +227,10 @@ and ('arg, 'storage) script = { [1]: http://www.complang.tuwien.ac.at/projects/interpreters.html + References + ========== + [1]: http://www.complang.tuwien.ac.at/projects/interpreters.html + *) and ('before_top, 'before, 'result_top, 'result) kinstr = (* @@ -283,9 +295,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('b, 's, 'r, 'f) kinstr | IIf_left : (('a, 'b) union, 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) + (* See remark in IIf_none. *) * ('a, 's, 'r, 'f) kinstr * ('b, 's, 'r, 'f) kinstr -> (('a, 'b) union, 's, 'r, 'f) kinstr @@ -301,9 +311,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> ('a, 's, 'r, 'f) kinstr | IIf_cons : ('a boxed_list, 'b * 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) + (* See remark in IIf_none. *) * ('a, 'a boxed_list * ('b * 's), 'r, 'f) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr @@ -586,9 +594,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = *) | IIf : (bool, 'a * 's) kinfo - (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) + (* See remark in IIf_none. *) * ('a, 's, 'r, 'f) kinstr * ('a, 's, 'r, 'f) kinstr -> (bool, 'a * 's, 'r, 'f) kinstr @@ -998,8 +1004,10 @@ and ('value, 'before, 'after) comb_set_gadt_witness = (* - [dup_n_gadt_witness ('s, 't)] ensures that the n-th element of ['s] - is of type ['t]. + [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 + ['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]. -- GitLab From 6adca9f2fa3e2b9046f4cda26b7715c9aa9c8734 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 29 Mar 2021 18:05:39 +0200 Subject: [PATCH 07/69] Proto/Michelson: Use appropriate cost definition for IEq Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 4b0567be663d..8ac0bad7dc88 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -609,7 +609,7 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = | INop _ -> Interp_costs.nop | IEq _ -> - Interp_costs.neq + Interp_costs.eq | INeq _ -> Interp_costs.neq | ILt _ -> -- GitLab From 4720a297313a8423497f4ea582a621a63fcbdcbc Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 7 Apr 2021 16:53:09 +0200 Subject: [PATCH 08/69] Proto/Michelson: Add FIXMEs for cost model update Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 8ac0bad7dc88..edd882335811 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -712,26 +712,37 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = fun ks -> match ks with | KNil -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KCons (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KReturn _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KUndip (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KLoop_in (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KLoop_in_left (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KIter (_, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KList_mapping (_, _, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KList_mapped (_, _, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KMap_mapping (_, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KMap_mapped (_, _, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free (* -- GitLab From dd2071e3261b126d07f973091c15fe26941ded1e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 14 Apr 2021 09:21:34 +0200 Subject: [PATCH 09/69] Proto/Michelson: *_mapping to *_enter_body, *_mapped to *_exit_body Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 36 +++++++++---------- .../lib_protocol/script_interpreter.mli | 8 ++--- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index edd882335811..beb32ec1e0f5 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -275,7 +275,7 @@ type (_, _, _, _) continuation = ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation -> ('b, 's, 'r, 'f) continuation (* This continuation represents each step of a List.map. *) - | KList_mapping : + | KList_enter_body : ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list @@ -283,7 +283,7 @@ type (_, _, _, _) continuation = * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation (* This continuation represents what is done after each step of a List.map. *) - | KList_mapped : + | KList_exit_body : ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list @@ -291,14 +291,14 @@ type (_, _, _, _) continuation = * ('b boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation (* This continuation represents each step of a Map.map. *) - | KMap_mapping : + | KMap_enter_body : ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map * (('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. *) - | KMap_mapped : + | KMap_exit_body : ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) map @@ -732,16 +732,16 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = | KIter (_, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free - | KList_mapping (_, _, _, _, _) -> + | KList_enter_body (_, _, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free - | KList_mapped (_, _, _, _, _) -> + | KList_exit_body (_, _, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free - | KMap_mapping (_, _, _, _) -> + | KMap_enter_body (_, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free - | KMap_mapped (_, _, _, _, _) -> + | KMap_exit_body (_, _, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free @@ -1055,7 +1055,7 @@ and next : | x :: xs -> let ks = KIter (body, xs, ks) in (step [@ocaml.tailcall]) logger g gas body ks x (accu, stack) ) ) - | KList_mapping (body, xs, ys, len, ks) -> ( + | KList_enter_body (body, xs, ys, len, ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) @@ -1065,17 +1065,17 @@ and next : let ys = {elements = List.rev ys; length = len} in next logger g gas ks ys (accu, stack) | x :: xs -> - let ks = KList_mapped (body, xs, ys, len, ks) in + let ks = KList_exit_body (body, xs, ys, len, ks) in (step [@ocaml.tailcall]) logger g gas body ks x (accu, stack) ) ) - | KList_mapped (body, xs, ys, len, ks) -> ( + | KList_exit_body (body, xs, ys, len, ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> - let ks = KList_mapping (body, xs, accu :: ys, len, ks) in + let ks = KList_enter_body (body, xs, accu :: ys, len, ks) in let (accu, stack) = stack in next logger g gas ks accu stack ) - | KMap_mapping (body, xs, ys, ks) -> ( + | KMap_enter_body (body, xs, ys, ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) @@ -1084,17 +1084,17 @@ and next : | [] -> next logger g gas ks ys (accu, stack) | (xk, xv) :: xs -> - let ks = KMap_mapped (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]) logger g gas body ks res stack ) ) - | KMap_mapped (body, xs, ys, yk, ks) -> ( + | KMap_exit_body (body, xs, ys, yk, ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> let ys = map_update yk (Some accu) ys in - let ks = KMap_mapping (body, xs, ys, ks) in + let ks = KMap_enter_body (body, xs, ys, ks) in let (accu, stack) = stack in next logger g gas ks accu stack ) @@ -1189,7 +1189,7 @@ and step : let xs = accu.elements in let ys = [] in let len = accu.length in - let ks = KList_mapping (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]) logger g gas ks accu stack | IList_size (_, k) -> @@ -1231,7 +1231,7 @@ and step : let map = accu in let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in let ys = empty_map (map_key_ty map) in - let ks = KMap_mapping (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]) logger g gas ks accu stack | IMap_iter (_, body, k) -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index 538cbfcdf32c..7f174f3eb8b3 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -91,27 +91,27 @@ type (_, _, _, _) continuation = | KIter : ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation -> ('b, 's, 'r, 'f) continuation - | KList_mapping : + | KList_enter_body : ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list * int * ('b Script_typed_ir.boxed_list, 'c * 's, 'r, 'f) continuation -> ('c, 's, 'r, 'f) continuation - | KList_mapped : + | KList_exit_body : ('a, 'c * 's, 'b, 'c * 's) kinstr * 'a list * 'b list * int * ('b Script_typed_ir.boxed_list, 'c * 's, 'r, 'f) continuation -> ('b, 'c * 's, 'r, 'f) continuation - | KMap_mapping : + | KMap_enter_body : ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) Script_typed_ir.map * (('a, 'c) Script_typed_ir.map, 'd * 's, 'r, 'f) continuation -> ('d, 's, 'r, 'f) continuation - | KMap_mapped : + | KMap_exit_body : ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * ('a * 'b) list * ('a, 'c) Script_typed_ir.map -- GitLab From f32095db9fb18e00cf2159c0b6edf7f518d746b8 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 14 Apr 2021 17:04:28 +0200 Subject: [PATCH 10/69] Proto/Michelson: Implement zero-cost logging This commit: - moves the definition of the continuation to Script_typed_ir ; - moves the logger definition to Script_typed_ir ; - add ILog to kinstr and KLog to continuation ; - updates the interpreter, the elaboration, and some clients accordingly. Signed-off-by: Yann Regis-Gianas --- .../lib_client/client_proto_programs.mli | 4 +- .../lib_protocol/script_interpreter.ml | 2260 ++++++++--------- .../lib_protocol/script_interpreter.mli | 106 - .../lib_protocol/script_ir_translator.ml | 21 +- .../lib_protocol/script_typed_ir.ml | 532 +++- 5 files changed, 1635 insertions(+), 1288 deletions(-) diff --git a/src/proto_alpha/lib_client/client_proto_programs.mli b/src/proto_alpha/lib_client/client_proto_programs.mli index f66958f9f693..e7bce5f3629a 100644 --- a/src/proto_alpha/lib_client/client_proto_programs.mli +++ b/src/proto_alpha/lib_client/client_proto_programs.mli @@ -68,7 +68,7 @@ val trace : unit -> ( Script.expr * packed_internal_operation list - * Script_interpreter.execution_trace + * Script_typed_ir.execution_trace * Lazy_storage.diffs option ) tzresult Lwt.t @@ -89,7 +89,7 @@ val print_trace_result : parsed:Michelson_v1_parser.parsed -> ( Script_repr.expr * packed_internal_operation list - * Script_interpreter.execution_trace + * Script_typed_ir.execution_trace * Lazy_storage.diffs option ) tzresult -> unit tzresult Lwt.t diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index beb32ec1e0f5..9b0d2c164654 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -100,9 +100,6 @@ module S = Saturation_repr (* ---- Run-time errors -----------------------------------------------------*) -type execution_trace = - (Script.location * Gas.t * (Script.expr * string option) list) list - type error += | Reject of Script.location * Script.expr * execution_trace option @@ -201,111 +198,6 @@ let () = (function Cannot_serialize_storage -> Some () | _ -> None) (fun () -> Cannot_serialize_storage) -(* - - Control stack - ============= - - The control stack is a list of [kinstr]. This type is documented - in the module [Script_typed_ir]. - - Since [kinstr] denotes a list of instructions, the control stack - can be seen as a list of instruction sequences, each representing a - form of delimited continuation (i.e. a control stack fragment). The - [continuation] GADT ensures that the input and output stack types of the - continuations are consistent. - - Loops have a special treatment because their control stack is reused - as is during the next iteration. This avoids the reallocation of a - control stack cell at each iteration. - - To implement [step] as a tail-recursive function, we implement - higher-order iterators (i.e. MAPs and ITERs) using internal instructions -. Roughly speaking, these instructions help in decomposing the execution - of [I f c] (where [I] is an higher-order iterator over a container [c]) - into three phases: to start the iteration, to execute [f] if there are - elements to be processed in [c], and to loop. - - Dip also has a dedicated constructor in the control stack. This - allows the stack prefix to be restored after the execution of the - [Dip]'s body. - - Following the same style as in [kinstr], [continuation] has four - arguments, two for each stack types. More precisely, with - - [('bef_top, 'bef, 'aft_top, 'aft) continuation] - - we encode the fact that the stack before executing the continuation - has type [('bef_top * 'bef)] and that the stack after this execution - has type [('aft_top * 'aft)]. - -*) -type (_, _, _, _) continuation = - (* This continuation returns immediately. *) - | KNil : ('r, 'f, 'r, 'f) continuation - (* This continuation starts with the next instruction to execute. *) - | KCons : - ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation - -> ('a, 's, 'r, 'f) continuation - (* This continuation represents a call frame: it stores the caller's - 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 - -> ('a, end_of_stack, 'r, 'f) continuation - (* This continuation comes right after a [Dip i] to restore the topmost - element ['b] of the stack after having executed [i] in the substack - of type ['a * 's]. *) - | KUndip : - 'b * ('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. *) - | KLoop_in : - ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation - -> (bool, 'a * 's, 'r, 'f) continuation - (* This continuation is executed at each iteration of a loop with - a condition encoded by a sum type. *) - | KLoop_in_left : - ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) continuation - -> (('a, 'b) union, 's, 'r, 'f) continuation - (* This continuation is executed at each iteration of a traversal. - (Used in List, Map and Big_map.) *) - | KIter : - ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation - -> ('b, 's, 'r, 'f) continuation - (* This continuation represents each step of a List.map. *) - | KList_enter_body : - ('a, 'c * 's, 'b, 'c * 's) kinstr - * 'a list - * 'b list - * int - * ('b boxed_list, 'c * 's, 'r, 'f) continuation - -> ('c, 's, 'r, 'f) continuation - (* This continuation represents what is done after each step of a List.map. *) - | KList_exit_body : - ('a, 'c * 's, 'b, 'c * 's) kinstr - * 'a list - * 'b list - * int - * ('b boxed_list, 'c * 's, 'r, 'f) continuation - -> ('b, 'c * 's, 'r, 'f) continuation - (* This continuation represents each step of a Map.map. *) - | KMap_enter_body : - ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr - * ('a * 'b) list - * ('a, 'c) map - * (('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. *) - | KMap_exit_body : - ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr - * ('a * 'b) list - * ('a, 'c) map - * 'a - * (('a, 'c) map, 'd * 's, 'r, 'f) continuation - -> ('c, 'd * 's, 'r, 'f) continuation - (* Computing the cost of Michelson instructions @@ -706,11 +598,17 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = Interp_costs.ticket | IRead_ticket _ -> Interp_costs.read_ticket + | ILog _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free [@@ocaml.inline always] let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = fun ks -> match ks with + | KLog _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free | KNil -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free @@ -841,64 +739,24 @@ let consume_control local_gas_counter ks = update_and_check local_gas_counter (cost :> int) [@@ocaml.inline always] -(* - - Execution instrumentation - ========================= - - One can observe the context and the stack at some specific - points of an execution step. This feature is implemented by - calling back some [logging_function]s defined in a first - class module [STEP_LOGGER] passed as argument to the step - function. The interface documentation describes the points - where these functions are called. - -*) -type ('a, 's, 'b, 'f, 'c, 'u) logging_function = - ('a, 's, 'b, 'f) kinstr -> - context -> - Script.location -> - ('c, 'u) stack_ty -> - 'c * 'u -> - unit - -module type STEP_LOGGER = sig - val log_interp : ('a, 's, 'b, 'f, 'c, 'u) logging_function - - val log_entry : ('a, 's, 'b, 'f, 'a, 's) logging_function - - val log_control : ('a, 's, 'b, 'f) continuation -> unit - - val log_exit : ('a, 's, 'b, 'f, 'c, 'u) logging_function - - val get_log : unit -> execution_trace option tzresult Lwt.t -end - -type logger = (module STEP_LOGGER) - let log_entry (logger : logger) ctxt gas k accu stack = - let module Log = (val logger) in let kinfo = kinfo_of_kinstr k in let ctxt = update_context gas ctxt in - Log.log_entry k ctxt kinfo.iloc kinfo.kstack_ty (accu, stack) + logger.log_entry k ctxt kinfo.iloc kinfo.kstack_ty (accu, stack) -let log_exit (logger : logger) ctxt gas kprev k accu stack = - let module Log = (val logger) in +let log_exit (logger : logger) ctxt gas kinfo_prev k accu stack = let ctxt = update_context gas ctxt in - let kinfo_prev = kinfo_of_kinstr kprev and kinfo = kinfo_of_kinstr k in - Log.log_exit k ctxt kinfo_prev.iloc kinfo.kstack_ty (accu, stack) + let kinfo = kinfo_of_kinstr k in + logger.log_exit k ctxt kinfo_prev.iloc kinfo.kstack_ty (accu, stack) -let log_control (logger : logger) ks = - let module Log = (val logger) in - Log.log_control ks +let log_control (logger : logger) ks = logger.log_control ks let get_log (logger : logger option) = match logger with | None -> Lwt.return (Ok None) | Some logger -> - let module Log = (val logger) in - Log.get_log () + logger.get_log () [@@ocaml.inline always] (* @@ -963,42 +821,7 @@ let rec interp_stack_prefix_preserving_operation : calls by annotating them with [@ocaml.tailcall]. *) -let rec run_descr : - type a s r f. - logger option -> - context * step_constants -> - (a, s, r, f) kdescr -> - a -> - s -> - (r * f * context) tzresult Lwt.t = - fun logger (ctxt, sc) descr accu stack -> - let gas = (Gas.gas_counter ctxt :> int) in - step logger (outdated ctxt, sc) gas descr.kinstr KNil accu stack - >>=? fun (accu, stack, ctxt, gas) -> - return (accu, stack, update_context gas ctxt) - -and run : - type a a' s s' b t b' t' r f. - logger option -> - outdated_context * step_constants -> - local_gas_counter -> - (a', s', b', t') kinstr -> - (a, s, b, t) kinstr -> - (b, t, r, f) continuation -> - a -> - s -> - (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = - fun logger g gas k k' ks accu stack -> - ( match logger with - | None -> - () - | Some logger -> - let (ctxt, _) = g in - log_exit logger ctxt gas k k' accu stack ) ; - (step [@ocaml.tailcall]) logger g gas k' ks accu stack - [@@inline.always] - -and next : +let rec next : type a s r f. logger option -> outdated_context * step_constants -> @@ -1008,8 +831,9 @@ and next : s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = fun logger ((ctxt, _) as g) gas ks0 accu stack -> - (match logger with None -> () | Some logger -> log_control logger ks0) ; match ks0 with + | KLog (ks, logger) -> + log logger g gas ks accu stack | KNil -> Lwt.return (Ok (accu, stack, ctxt, gas)) | KCons (k, ks) -> @@ -1113,967 +937,1043 @@ and step : | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> ( - ( match logger with + match i with + | ILog (_, event, logger, k) -> + ( match event with + | 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 + (step [@ocaml.tailcall]) (Some logger) g gas k ks accu stack + | IHalt _ -> + next logger g gas ks accu stack + (* stack ops *) + | IDrop (_, k) -> + let (accu, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IDup (_, k) -> + (step [@ocaml.tailcall]) logger g gas k ks accu (accu, stack) + | ISwap (_, k) -> + let (top, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks top (accu, stack) + | IConst (_, v, k) -> + (step [@ocaml.tailcall]) logger g gas k ks v (accu, stack) + (* options *) + | ICons_some (_, k) -> + (step [@ocaml.tailcall]) logger g gas k ks (Some accu) stack + | ICons_none (_, _, k) -> + (step [@ocaml.tailcall]) logger g gas k ks None (accu, stack) + | IIf_none (_, bt, bf) -> ( + match accu with | None -> - () - | Some logger -> - log_entry logger ctxt gas i accu stack ) ; - match i with - | IHalt _ -> - next logger g gas ks accu stack - (* stack ops *) - | IDrop (_, k) -> let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IDup (_, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks accu (accu, stack) - | ISwap (_, k) -> - let (top, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks top (accu, stack) - | IConst (_, v, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks v (accu, stack) - (* options *) - | ICons_some (_, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks (Some accu) stack - | ICons_none (_, _, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks None (accu, stack) - | IIf_none (_, bt, bf) -> ( - match accu with - | None -> - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i bt ks accu stack - | Some v -> - (run [@ocaml.tailcall]) logger g gas i bf ks v stack ) - (* pairs *) - | ICons_pair (_, k) -> - let (b, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks (accu, b) stack - | IUnpair (_, k) -> - let (a, b) = accu in - (run [@ocaml.tailcall]) logger g gas i k ks a (b, stack) - | ICar (_, k) -> - let (a, _) = accu in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - | ICdr (_, k) -> - let (_, b) = accu in - (run [@ocaml.tailcall]) logger g gas i k ks b stack - (* unions *) - | ICons_left (_, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks (L accu) stack - | ICons_right (_, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks (R accu) stack - | IIf_left (_, bl, br) -> ( - match accu with - | L v -> - (run [@ocaml.tailcall]) logger g gas i bl ks v stack - | R v -> - (run [@ocaml.tailcall]) logger g gas i br ks v stack ) - (* lists *) - | ICons_list (_, k) -> - let (tl, stack) = stack in - let accu = list_cons accu tl in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | INil (_, k) -> - let stack = (accu, stack) in - let accu = list_empty in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IIf_cons (_, bc, bn) -> ( - match accu.elements with - | [] -> - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i bn ks accu stack - | hd :: tl -> - let tl = {elements = tl; length = accu.length - 1} in - (run [@ocaml.tailcall]) logger g gas i bc ks hd (tl, stack) ) - | IList_map (_, body, k) -> - 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 (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack - | IList_size (_, k) -> - let list = accu in - let len = Script_int.(abs (of_int list.length)) in - (run [@ocaml.tailcall]) logger g gas i k ks len stack - | IList_iter (_, body, k) -> - let xs = accu.elements in - let ks = KIter (body, xs, KCons (k, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack - (* sets *) - | IEmpty_set (_, ty, k) -> - let res = empty_set ty in - let stack = (accu, stack) in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ISet_iter (_, body, k) -> - let set = accu in - let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in - let ks = KIter (body, l, KCons (k, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack - | ISet_mem (_, k) -> - let (set, stack) = stack in - let res = set_mem accu set in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ISet_update (_, k) -> - let (presence, (set, stack)) = stack in - let res = set_update accu presence set in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ISet_size (_, k) -> - let res = set_size accu in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - (* maps *) - | IEmpty_map (_, ty, _, k) -> - let res = empty_map ty and stack = (accu, stack) in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMap_map (_, body, k) -> - let map = accu in - let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in - let ys = empty_map (map_key_ty map) in - let ks = KMap_enter_body (body, xs, ys, KCons (k, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack - | IMap_iter (_, body, k) -> - let map = accu in - let l = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in - let ks = KIter (body, l, KCons (k, ks)) in + (step [@ocaml.tailcall]) logger g gas bt ks accu stack + | Some v -> + (step [@ocaml.tailcall]) logger g gas bf ks v stack ) + (* pairs *) + | ICons_pair (_, k) -> + let (b, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks (accu, b) stack + | IUnpair (_, k) -> + let (a, b) = accu in + (step [@ocaml.tailcall]) logger g gas k ks a (b, stack) + | ICar (_, k) -> + let (a, _) = accu in + (step [@ocaml.tailcall]) logger g gas k ks a stack + | ICdr (_, k) -> + let (_, b) = accu in + (step [@ocaml.tailcall]) logger g gas k ks b stack + (* unions *) + | ICons_left (_, k) -> + (step [@ocaml.tailcall]) logger g gas k ks (L accu) stack + | ICons_right (_, k) -> + (step [@ocaml.tailcall]) logger g gas k ks (R accu) stack + | IIf_left (_, bl, br) -> ( + match accu with + | L v -> + (step [@ocaml.tailcall]) logger g gas bl ks v stack + | R v -> + (step [@ocaml.tailcall]) logger g gas br ks v stack ) + (* lists *) + | ICons_list (_, k) -> + let (tl, stack) = stack in + let accu = list_cons accu tl in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | INil (_, k) -> + let stack = (accu, stack) in + let accu = list_empty in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IIf_cons (_, bc, bn) -> ( + match accu.elements with + | [] -> let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack - | IMap_mem (_, k) -> - let (map, stack) = stack in - let res = map_mem accu map in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMap_get (_, k) -> - let (map, stack) = stack in - let res = map_get accu map in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMap_update (_, k) -> - let (v, (map, stack)) = stack in - let key = accu in - let res = map_update key v map in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMap_get_and_update (_, k) -> - let key = accu in - let (v, (map, rest)) = stack in - let map' = map_update key v map in - let v' = map_get key map in - (run [@ocaml.tailcall]) logger g gas i k ks v' (map', rest) - | IMap_size (_, k) -> - let res = map_size accu in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - (* Big map operations *) - | IEmpty_big_map (_, tk, tv, k) -> - let ebm = Script_ir_translator.empty_big_map tk tv in - (run [@ocaml.tailcall]) logger g gas i k ks ebm (accu, stack) - | IBig_map_mem (_, k) -> - let (map, stack) = stack in - let key = accu in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> Script_ir_translator.big_map_mem ctxt key map ) - >>=? fun (res, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack - | IBig_map_get (_, k) -> - let (map, stack) = stack in - let key = accu in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> Script_ir_translator.big_map_get ctxt key map ) - >>=? fun (res, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack - | IBig_map_update (_, k) -> - let key = accu in - let (maybe_value, (map, stack)) = stack in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> - Script_ir_translator.big_map_update ctxt key maybe_value map ) - >>=? fun (big_map, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks big_map stack - | IBig_map_get_and_update (_, k) -> - let key = accu in - let (v, (map, stack)) = stack in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> - Script_ir_translator.big_map_get_and_update ctxt key v map ) - >>=? fun ((v', map'), ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks v' (map', stack) - (* timestamp operations *) - | IAdd_seconds_to_timestamp (_, k) -> - let n = accu in - let (t, stack) = stack in - let result = Script_timestamp.add_delta t n in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - | IAdd_timestamp_to_seconds (_, k) -> - let t = accu in - let (n, stack) = stack in - let result = Script_timestamp.add_delta t n in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - | ISub_timestamp_seconds (_, k) -> - let t = accu in - let (s, stack) = stack in - let result = Script_timestamp.sub_delta t s in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - | IDiff_timestamps (_, k) -> - let t1 = accu in - let (t2, stack) = stack in - let result = Script_timestamp.diff t1 t2 in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - (* string operations *) - | IConcat_string_pair (_, k) -> - let x = accu in - let (y, stack) = stack in - let s = String.concat "" [x; y] in - (run [@ocaml.tailcall]) logger g gas i k ks s stack - | IConcat_string (_, k) -> - let ss = accu in - (* The cost for this fold_left has been paid upfront *) - let total_length = - List.fold_left - (fun acc s -> S.add acc (S.safe_int (String.length s))) - (S.zero |> S.may_saturate) - accu.elements - in - consume' ctxt gas (Interp_costs.concat_string total_length :> int) - >>?= fun gas -> - let s = String.concat "" ss.elements in - (run [@ocaml.tailcall]) logger g gas i k ks s stack - | ISlice_string (_, k) -> - let offset = accu and (length, (s, stack)) = stack in - let s_length = Z.of_int (String.length s) in - let offset = Script_int.to_zint offset in - let length = Script_int.to_zint length in - if Compare.Z.(offset < s_length && Z.add offset length <= s_length) - then - let s = String.sub s (Z.to_int offset) (Z.to_int length) in - (run [@ocaml.tailcall]) logger g gas i k ks (Some s) stack - else (run [@ocaml.tailcall]) logger g gas i k ks None stack - | IString_size (_, k) -> - let s = accu in - let result = Script_int.(abs (of_int (String.length s))) in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - (* bytes operations *) - | IConcat_bytes_pair (_, k) -> - let x = accu in - let (y, stack) = stack in - let s = Bytes.cat x y in - (run [@ocaml.tailcall]) logger g gas i k ks s stack - | IConcat_bytes (_, k) -> - let ss = accu in - (* The cost for this fold_left has been paid upfront *) - let total_length = - List.fold_left - (fun acc s -> S.add acc (S.safe_int (Bytes.length s))) - (S.zero |> S.may_saturate) - accu.elements - in - consume' ctxt gas (Interp_costs.concat_string total_length :> int) - >>?= fun gas -> - let s = Bytes.concat Bytes.empty ss.elements in - (run [@ocaml.tailcall]) logger g gas i k ks s stack - | ISlice_bytes (_, k) -> - let offset = accu and (length, (s, stack)) = stack in - let s_length = Z.of_int (Bytes.length s) in - let offset = Script_int.to_zint offset in - let length = Script_int.to_zint length in - if Compare.Z.(offset < s_length && Z.add offset length <= s_length) - then - let s = Bytes.sub s (Z.to_int offset) (Z.to_int length) in - (run [@ocaml.tailcall]) logger g gas i k ks (Some s) stack - else (run [@ocaml.tailcall]) logger g gas i k ks None stack - | IBytes_size (_, k) -> - let s = accu in - let result = Script_int.(abs (of_int (Bytes.length s))) in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - (* currency operations *) - | IAdd_tez (_, k) -> - let x = accu in - let (y, stack) = stack in - Tez.(x +? y) - >>?= fun res -> (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ISub_tez (_, k) -> - let x = accu in - let (y, stack) = stack in - Tez.(x -? y) - >>?= fun res -> (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMul_teznat (kinfo, k) -> ( - 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)) - | Some y -> - Tez.(x *? y) - >>?= fun res -> - (run [@ocaml.tailcall]) logger g gas i k ks res stack ) - | IMul_nattez (kinfo, k) -> ( - let y = accu in - let (x, stack) = stack in - match Script_int.to_int64 y with + (step [@ocaml.tailcall]) logger g gas bn ks accu stack + | hd :: tl -> + let tl = {elements = tl; length = accu.length - 1} in + (step [@ocaml.tailcall]) logger g gas bc ks hd (tl, stack) ) + | IList_map (_, body, k) -> + 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 (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IList_size (_, k) -> + let list = accu in + let len = Script_int.(abs (of_int list.length)) in + (step [@ocaml.tailcall]) logger g gas k ks len stack + | IList_iter (_, body, k) -> + let xs = accu.elements in + let ks = KIter (body, xs, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + (* sets *) + | IEmpty_set (_, ty, k) -> + let res = empty_set ty in + let stack = (accu, stack) in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | ISet_iter (_, body, k) -> + let set = accu in + let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in + let ks = KIter (body, l, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | ISet_mem (_, k) -> + let (set, stack) = stack in + let res = set_mem accu set in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | ISet_update (_, k) -> + let (presence, (set, stack)) = stack in + let res = set_update accu presence set in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | ISet_size (_, k) -> + let res = set_size accu in + (step [@ocaml.tailcall]) logger g gas k ks res stack + (* maps *) + | IEmpty_map (_, ty, _, k) -> + let res = empty_map ty and stack = (accu, stack) in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMap_map (_, body, k) -> + let map = accu in + let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in + let ys = empty_map (map_key_ty map) in + let ks = KMap_enter_body (body, xs, ys, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IMap_iter (_, body, k) -> + let map = accu in + let l = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in + let ks = KIter (body, l, KCons (k, ks)) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IMap_mem (_, k) -> + let (map, stack) = stack in + let res = map_mem accu map in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMap_get (_, k) -> + let (map, stack) = stack in + let res = map_get accu map in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMap_update (_, k) -> + let (v, (map, stack)) = stack in + let key = accu in + let res = map_update key v map in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMap_get_and_update (_, k) -> + let key = accu in + let (v, (map, rest)) = stack in + let map' = map_update key v map in + let v' = map_get key map in + (step [@ocaml.tailcall]) logger g gas k ks v' (map', rest) + | IMap_size (_, k) -> + let res = map_size accu in + (step [@ocaml.tailcall]) logger g gas k ks res stack + (* Big map operations *) + | IEmpty_big_map (_, tk, tv, k) -> + let ebm = Script_ir_translator.empty_big_map tk tv in + (step [@ocaml.tailcall]) logger g gas k ks ebm (accu, stack) + | IBig_map_mem (_, k) -> + let (map, stack) = stack in + let key = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> Script_ir_translator.big_map_mem ctxt key map ) + >>=? fun (res, ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + | IBig_map_get (_, k) -> + let (map, stack) = stack in + let key = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> Script_ir_translator.big_map_get ctxt key map ) + >>=? fun (res, ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + | IBig_map_update (_, k) -> + let key = accu in + let (maybe_value, (map, stack)) = stack in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> + Script_ir_translator.big_map_update ctxt key maybe_value map ) + >>=? fun (big_map, ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks big_map stack + | IBig_map_get_and_update (_, k) -> + let key = accu in + let (v, (map, stack)) = stack in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> + Script_ir_translator.big_map_get_and_update ctxt key v map ) + >>=? fun ((v', map'), ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks v' (map', stack) + (* timestamp operations *) + | IAdd_seconds_to_timestamp (_, k) -> + let n = accu in + let (t, stack) = stack in + let result = Script_timestamp.add_delta t n in + (step [@ocaml.tailcall]) logger g gas k ks result stack + | IAdd_timestamp_to_seconds (_, k) -> + let t = accu in + let (n, stack) = stack in + let result = Script_timestamp.add_delta t n in + (step [@ocaml.tailcall]) logger g gas k ks result stack + | ISub_timestamp_seconds (_, k) -> + let t = accu in + let (s, stack) = stack in + let result = Script_timestamp.sub_delta t s in + (step [@ocaml.tailcall]) logger g gas k ks result stack + | IDiff_timestamps (_, k) -> + let t1 = accu in + let (t2, stack) = stack in + let result = Script_timestamp.diff t1 t2 in + (step [@ocaml.tailcall]) logger g gas k ks result stack + (* string operations *) + | IConcat_string_pair (_, k) -> + let x = accu in + let (y, stack) = stack in + let s = String.concat "" [x; y] in + (step [@ocaml.tailcall]) logger g gas k ks s stack + | IConcat_string (_, k) -> + let ss = accu in + (* The cost for this fold_left has been paid upfront *) + let total_length = + List.fold_left + (fun acc s -> S.add acc (S.safe_int (String.length s))) + (S.zero |> S.may_saturate) + accu.elements + in + consume' ctxt gas (Interp_costs.concat_string total_length :> int) + >>?= fun gas -> + let s = String.concat "" ss.elements in + (step [@ocaml.tailcall]) logger g gas k ks s stack + | ISlice_string (_, k) -> + let offset = accu and (length, (s, stack)) = stack in + let s_length = Z.of_int (String.length s) in + let offset = Script_int.to_zint offset in + let length = Script_int.to_zint length in + if Compare.Z.(offset < s_length && Z.add offset length <= s_length) + then + let s = String.sub s (Z.to_int offset) (Z.to_int length) in + (step [@ocaml.tailcall]) logger g gas k ks (Some s) stack + else (step [@ocaml.tailcall]) logger g gas k ks None stack + | IString_size (_, k) -> + let s = accu in + let result = Script_int.(abs (of_int (String.length s))) in + (step [@ocaml.tailcall]) logger g gas k ks result stack + (* bytes operations *) + | IConcat_bytes_pair (_, k) -> + let x = accu in + let (y, stack) = stack in + let s = Bytes.cat x y in + (step [@ocaml.tailcall]) logger g gas k ks s stack + | IConcat_bytes (_, k) -> + let ss = accu in + (* The cost for this fold_left has been paid upfront *) + let total_length = + List.fold_left + (fun acc s -> S.add acc (S.safe_int (Bytes.length s))) + (S.zero |> S.may_saturate) + accu.elements + in + consume' ctxt gas (Interp_costs.concat_string total_length :> int) + >>?= fun gas -> + let s = Bytes.concat Bytes.empty ss.elements in + (step [@ocaml.tailcall]) logger g gas k ks s stack + | ISlice_bytes (_, k) -> + let offset = accu and (length, (s, stack)) = stack in + let s_length = Z.of_int (Bytes.length s) in + let offset = Script_int.to_zint offset in + let length = Script_int.to_zint length in + if Compare.Z.(offset < s_length && Z.add offset length <= s_length) + then + let s = Bytes.sub s (Z.to_int offset) (Z.to_int length) in + (step [@ocaml.tailcall]) logger g gas k ks (Some s) stack + else (step [@ocaml.tailcall]) logger g gas k ks None stack + | IBytes_size (_, k) -> + let s = accu in + let result = Script_int.(abs (of_int (Bytes.length s))) in + (step [@ocaml.tailcall]) logger g gas k ks result stack + (* currency operations *) + | IAdd_tez (_, k) -> + let x = accu in + let (y, stack) = stack in + Tez.(x +? y) + >>?= fun res -> (step [@ocaml.tailcall]) logger g gas k ks res stack + | ISub_tez (_, k) -> + let x = accu in + let (y, stack) = stack in + Tez.(x -? y) + >>?= fun res -> (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMul_teznat (kinfo, logger, k) -> ( + 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)) + | Some y -> + Tez.(x *? y) + >>?= fun res -> + (step [@ocaml.tailcall]) logger g gas k ks res stack ) + | IMul_nattez (kinfo, logger, k) -> ( + 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)) + | Some y -> + Tez.(x *? y) + >>?= fun res -> + (step [@ocaml.tailcall]) logger g gas k ks res stack ) + (* boolean operations *) + | IOr (_, k) -> + let x = accu in + let (y, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks (x || y) stack + | IAnd (_, k) -> + let x = accu in + let (y, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks (x && y) stack + | IXor (_, k) -> + let x = accu in + let (y, stack) = stack in + let res = Compare.Bool.(x <> y) in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | INot (_, k) -> + let x = accu in + (step [@ocaml.tailcall]) logger g gas k ks (not x) stack + (* integer operations *) + | IIs_nat (_, k) -> + let x = accu in + let res = Script_int.is_nat x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAbs_int (_, k) -> + let x = accu in + let res = Script_int.abs x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IInt_nat (_, k) -> + let x = accu in + let res = Script_int.int x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | INeg_int (_, k) -> + let x = accu in + let res = Script_int.neg x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | INeg_nat (_, k) -> + let x = accu in + let res = Script_int.neg x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAdd_intint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAdd_intnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAdd_natint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAdd_natnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.add_n x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | ISub_int (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.sub x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMul_intint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMul_intnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMul_natint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMul_natnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.mul_n x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IEdiv_teznat (_, k) -> + let x = accu and (y, stack) = stack in + let x = Script_int.of_int64 (Tez.to_mutez x) in + let result = + match Script_int.ediv x y with | None -> - get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) - | Some y -> - Tez.(x *? y) - >>?= fun res -> - (run [@ocaml.tailcall]) logger g gas i k ks res stack ) - (* boolean operations *) - | IOr (_, k) -> - let x = accu in - let (y, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks (x || y) stack - | IAnd (_, k) -> - let x = accu in - let (y, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks (x && y) stack - | IXor (_, k) -> - let x = accu in - let (y, stack) = stack in - let res = Compare.Bool.(x <> y) in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | INot (_, k) -> - let x = accu in - (run [@ocaml.tailcall]) logger g gas i k ks (not x) stack - (* integer operations *) - | IIs_nat (_, k) -> - let x = accu in - let res = Script_int.is_nat x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAbs_int (_, k) -> - let x = accu in - let res = Script_int.abs x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IInt_nat (_, k) -> - let x = accu in - let res = Script_int.int x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | INeg_int (_, k) -> - let x = accu in - let res = Script_int.neg x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | INeg_nat (_, k) -> - let x = accu in - let res = Script_int.neg x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAdd_intint (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.add x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAdd_intnat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.add x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAdd_natint (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.add x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAdd_natnat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.add_n x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ISub_int (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.sub x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMul_intint (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMul_intnat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMul_natint (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMul_natnat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.mul_n x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IEdiv_teznat (_, k) -> - let x = accu and (y, stack) = stack in - let x = Script_int.of_int64 (Tez.to_mutez x) in - let result = - match Script_int.ediv x y with - | None -> - None - | Some (q, r) -> ( - match (Script_int.to_int64 q, Script_int.to_int64 r) with - | (Some q, Some r) -> ( - match (Tez.of_mutez q, Tez.of_mutez r) with - | (Some q, Some r) -> - Some (q, r) - (* Cannot overflow *) - | _ -> - assert false ) + None + | Some (q, r) -> ( + match (Script_int.to_int64 q, Script_int.to_int64 r) with + | (Some q, Some r) -> ( + match (Tez.of_mutez q, Tez.of_mutez r) with + | (Some q, Some r) -> + Some (q, r) (* Cannot overflow *) | _ -> assert false ) - in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - | IEdiv_tez (_, k) -> - let x = accu and (y, stack) = stack in - let x = Script_int.abs (Script_int.of_int64 (Tez.to_mutez x)) in - let y = Script_int.abs (Script_int.of_int64 (Tez.to_mutez y)) in - let result = - match Script_int.ediv_n x y with + (* Cannot overflow *) + | _ -> + assert false ) + in + (step [@ocaml.tailcall]) logger g gas k ks result stack + | IEdiv_tez (_, k) -> + let x = accu and (y, stack) = stack in + let x = Script_int.abs (Script_int.of_int64 (Tez.to_mutez x)) in + let y = Script_int.abs (Script_int.of_int64 (Tez.to_mutez y)) in + let result = + match Script_int.ediv_n x y with + | None -> + None + | Some (q, r) -> ( + match Script_int.to_int64 r with | None -> - None - | Some (q, r) -> ( - match Script_int.to_int64 r with + assert false (* Cannot overflow *) + | Some r -> ( + match Tez.of_mutez r with | None -> assert false (* Cannot overflow *) - | Some r -> ( - match Tez.of_mutez r with - | None -> - assert false (* Cannot overflow *) - | Some r -> - Some (q, r) ) ) - in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - | IEdiv_intint (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.ediv x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IEdiv_intnat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.ediv x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IEdiv_natint (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.ediv x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IEdiv_natnat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.ediv_n x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ILsl_nat (kinfo, k) -> ( - 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)) - | Some x -> - (run [@ocaml.tailcall]) logger g gas i k ks x stack ) - | ILsr_nat (kinfo, k) -> ( - let x = accu and (y, stack) = stack in - match Script_int.shift_right_n x y with + | Some r -> + Some (q, r) ) ) + in + (step [@ocaml.tailcall]) logger g gas k ks result stack + | IEdiv_intint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IEdiv_intnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IEdiv_natint (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IEdiv_natnat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.ediv_n x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | ILsl_nat (kinfo, logger, k) -> ( + 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)) + | Some x -> + (step [@ocaml.tailcall]) logger g gas k ks x stack ) + | ILsr_nat (kinfo, logger, k) -> ( + 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)) + | Some r -> + (step [@ocaml.tailcall]) logger g gas k ks r stack ) + | IOr_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logor x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAnd_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logand x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IAnd_int_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logand x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IXor_nat (_, k) -> + let x = accu and (y, stack) = stack in + let res = Script_int.logxor x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | INot_int (_, k) -> + let x = accu in + let res = Script_int.lognot x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | INot_nat (_, k) -> + let x = accu in + let res = Script_int.lognot x in + (step [@ocaml.tailcall]) logger g gas k ks res stack + (* control *) + | IIf (_, bt, bf) -> + let (res, stack) = stack in + if accu then (step [@ocaml.tailcall]) logger g gas bt ks res stack + else (step [@ocaml.tailcall]) logger g gas bf ks res stack + | ILoop (_, body, k) -> + let ks = KLoop_in (body, KCons (k, ks)) in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | ILoop_left (_, bl, br) -> + let ks = KLoop_in_left (bl, KCons (br, ks)) in + (next [@ocaml.tailcall]) logger g gas ks accu stack + | IDip (_, _, b, k) -> + let ign = accu in + let ks = KUndip (ign, KCons (k, ks)) in + let (accu, stack) = stack in + (step [@ocaml.tailcall]) logger g gas b ks accu stack + | IExec (_, logger, k) -> + let arg = accu and (code, stack) = stack in + let (Lam (code, _)) = code in + let code = + match logger with | None -> - get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) - | Some r -> - (run [@ocaml.tailcall]) logger g gas i k ks r stack ) - | IOr_nat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.logor x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAnd_nat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.logand x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IAnd_int_nat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.logand x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IXor_nat (_, k) -> - let x = accu and (y, stack) = stack in - let res = Script_int.logxor x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | INot_int (_, k) -> - let x = accu in - let res = Script_int.lognot x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | INot_nat (_, k) -> - let x = accu in - let res = Script_int.lognot x in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - (* control *) - | IIf (_, bt, bf) -> - let (res, stack) = stack in - if accu then (run [@ocaml.tailcall]) logger g gas i bt ks res stack - else (run [@ocaml.tailcall]) logger g gas i bf ks res stack - | ILoop (_, body, k) -> - let ks = KLoop_in (body, KCons (k, ks)) in - (next [@ocaml.tailcall]) logger g gas ks accu stack - | ILoop_left (_, bl, br) -> - let ks = KLoop_in_left (bl, KCons (br, ks)) in - (next [@ocaml.tailcall]) logger g gas ks accu stack - | IDip (_, _, b, k) -> - let ign = accu in - let ks = KUndip (ign, KCons (k, ks)) in - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i b ks accu stack - | IExec (_, k) -> - let arg = accu and (code, stack) = stack in - let (Lam (code, _)) = code in - let code = code.kinstr in - let ks = KReturn (stack, KCons (k, ks)) in - (run [@ocaml.tailcall]) logger g gas i code ks arg ((), ()) - | IApply (_, capture_ty, k) -> - let capture = accu in - let (lam, stack) = stack in - apply ctxt gas capture_ty capture lam - >>=? fun (lam', ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks lam' stack - | ILambda (_, lam, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks lam (accu, stack) - | IFailwith (_, kloc, tv, _) -> - let v = accu in - let ctxt = update_context gas ctxt in - trace Cannot_serialize_failure (unparse_data ctxt Optimized tv v) - >>=? fun (v, _ctxt) -> - let v = Micheline.strip_locations v in - get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) - | INop (_, k) -> - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - (* comparison *) - | ICompare (_, ty, k) -> - let a = accu in - let (b, stack) = stack in - let r = - Script_int.of_int @@ Script_ir_translator.compare_comparable ty a b - in - (run [@ocaml.tailcall]) logger g gas i k ks r stack - (* comparators *) - | IEq (_, k) -> - let a = accu in - let a = Script_int.compare a Script_int.zero in - let a = Compare.Int.(a = 0) in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - | INeq (_, k) -> - let a = accu in - let a = Script_int.compare a Script_int.zero in - let a = Compare.Int.(a <> 0) in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - | ILt (_, k) -> - let a = accu in - let a = Script_int.compare a Script_int.zero in - let a = Compare.Int.(a < 0) in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - | ILe (_, k) -> - let a = accu in - let a = Script_int.compare a Script_int.zero in - let a = Compare.Int.(a <= 0) in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - | IGt (_, k) -> - let a = accu in - let a = Script_int.compare a Script_int.zero in - let a = Compare.Int.(a > 0) in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - | IGe (_, k) -> - let a = accu in - let a = Script_int.compare a Script_int.zero in - let a = Compare.Int.(a >= 0) in - (run [@ocaml.tailcall]) logger g gas i k ks a stack - (* packing *) - | IPack (_, ty, k) -> - let value = accu in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> Script_ir_translator.pack_data ctxt ty value ) - >>=? fun (bytes, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks bytes stack - | IUnpack (_, ty, k) -> - let bytes = accu in - ( use_gas_counter_in_ctxt ctxt gas - @@ fun ctxt -> unpack ctxt ~ty ~bytes ) - >>=? fun (opt, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks opt stack - | IAddress (_, k) -> - let (_, address) = accu in - (run [@ocaml.tailcall]) logger g gas i k ks address stack - | IContract (kinfo, t, entrypoint, k) -> ( - let contract = accu in - match (contract, entrypoint) with - | ((contract, "default"), entrypoint) - | ((contract, entrypoint), "default") -> - let ctxt = update_context gas ctxt in - Script_ir_translator.parse_contract_for_script - ctxt - kinfo.iloc - t - contract - ~entrypoint - >>=? fun (ctxt, maybe_contract) -> - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - let accu = maybe_contract in - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks accu stack - | _ -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks None stack ) - | ITransfer_tokens (_, k) -> - let p = accu in - let (amount, ((tp, (destination, entrypoint)), stack)) = stack in - transfer (ctxt, sc) gas amount tp p destination entrypoint - >>=? fun (accu, ctxt, gas) -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks accu stack - | IImplicit_account (_, k) -> - let key = accu in - let contract = Contract.implicit_contract key in - let res = (Unit_t None, (contract, "default")) in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | ICreate_contract - (_, storage_type, param_type, Lam (_, code), root_name, k) -> - (* Removed the instruction's arguments manager, spendable and delegatable *) - let delegate = accu in - let (credit, (init, stack)) = stack in - create_contract - g - gas - storage_type - param_type - code - root_name - delegate - credit - init - >>=? fun (res, contract, ctxt, gas) -> - let stack = ((contract, "default"), stack) in - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack - | ISet_delegate (_, k) -> - let delegate = accu in - let operation = Delegation delegate in - let ctxt = update_context gas ctxt in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - let res = - (Internal_operation {source = sc.self; operation; nonce}, None) - in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks res stack - | IBalance (_, k) -> - let ctxt = update_context gas ctxt in - Contract.get_balance_carbonated ctxt sc.self - >>=? fun (ctxt, balance) -> - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - let g = (ctxt, sc) in - (run [@ocaml.tailcall]) logger g gas i k ks balance (accu, stack) - | ILevel (_, k) -> - let level = - (Level.current (context_from_outdated_context ctxt)).level - |> Raw_level.to_int32 |> Script_int.of_int32 |> Script_int.abs - in - (run [@ocaml.tailcall]) logger g gas i k ks level (accu, stack) - | INow (_, k) -> - let now = - Script_timestamp.now (context_from_outdated_context ctxt) + code.kinstr + | Some logger -> + log_kinstr logger code.kinstr + in + let ks = KReturn (stack, KCons (k, ks)) in + (step [@ocaml.tailcall]) logger g gas code ks arg ((), ()) + | IApply (_, capture_ty, k) -> + let capture = accu in + let (lam, stack) = stack in + apply ctxt gas capture_ty capture lam + >>=? fun (lam', ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks lam' stack + | ILambda (_, lam, k) -> + (step [@ocaml.tailcall]) logger g gas k ks lam (accu, stack) + | IFailwith (_, kloc, tv, logger, _) -> + let v = accu in + let ctxt = update_context gas ctxt in + trace Cannot_serialize_failure (unparse_data ctxt Optimized tv v) + >>=? fun (v, _ctxt) -> + let v = Micheline.strip_locations v in + get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) + | INop (_, k) -> + (step [@ocaml.tailcall]) logger g gas k ks accu stack + (* comparison *) + | ICompare (_, ty, k) -> + let a = accu in + let (b, stack) = stack in + let r = + Script_int.of_int @@ Script_ir_translator.compare_comparable ty a b + in + (step [@ocaml.tailcall]) logger g gas k ks r stack + (* comparators *) + | IEq (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a = 0) in + (step [@ocaml.tailcall]) logger g gas k ks a stack + | INeq (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a <> 0) in + (step [@ocaml.tailcall]) logger g gas k ks a stack + | ILt (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a < 0) in + (step [@ocaml.tailcall]) logger g gas k ks a stack + | ILe (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a <= 0) in + (step [@ocaml.tailcall]) logger g gas k ks a stack + | IGt (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a > 0) in + (step [@ocaml.tailcall]) logger g gas k ks a stack + | IGe (_, k) -> + let a = accu in + let a = Script_int.compare a Script_int.zero in + let a = Compare.Int.(a >= 0) in + (step [@ocaml.tailcall]) logger g gas k ks a stack + (* packing *) + | IPack (_, ty, k) -> + let value = accu in + ( use_gas_counter_in_ctxt ctxt gas + @@ fun ctxt -> Script_ir_translator.pack_data ctxt ty value ) + >>=? fun (bytes, ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks bytes stack + | IUnpack (_, ty, k) -> + let bytes = accu in + (use_gas_counter_in_ctxt ctxt gas @@ fun ctxt -> unpack ctxt ~ty ~bytes) + >>=? fun (opt, ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks opt stack + | IAddress (_, k) -> + let (_, address) = accu in + (step [@ocaml.tailcall]) logger g gas k ks address stack + | IContract (kinfo, t, entrypoint, k) -> ( + let contract = accu in + match (contract, entrypoint) with + | ((contract, "default"), entrypoint) + | ((contract, entrypoint), "default") -> + let ctxt = update_context gas ctxt in + Script_ir_translator.parse_contract_for_script + ctxt + kinfo.iloc + t + contract + ~entrypoint + >>=? fun (ctxt, maybe_contract) -> + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + let accu = maybe_contract in + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks accu stack + | _ -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks None stack ) + | ITransfer_tokens (_, k) -> + let p = accu in + let (amount, ((tp, (destination, entrypoint)), stack)) = stack in + transfer (ctxt, sc) gas amount tp p destination entrypoint + >>=? fun (accu, ctxt, gas) -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks accu stack + | IImplicit_account (_, k) -> + let key = accu in + let contract = Contract.implicit_contract key in + let res = (Unit_t None, (contract, "default")) in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | ICreate_contract + (_, storage_type, param_type, Lam (_, code), root_name, k) -> + (* Removed the instruction's arguments manager, spendable and delegatable *) + let delegate = accu in + let (credit, (init, stack)) = stack in + create_contract + g + gas + storage_type + param_type + code + root_name + delegate + credit + init + >>=? fun (res, contract, ctxt, gas) -> + let stack = ((contract, "default"), stack) in + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + | ISet_delegate (_, k) -> + let delegate = accu in + let operation = Delegation delegate in + let ctxt = update_context gas ctxt in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let res = + (Internal_operation {source = sc.self; operation; nonce}, None) + in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + | IBalance (_, k) -> + let ctxt = update_context gas ctxt in + Contract.get_balance_carbonated ctxt sc.self + >>=? fun (ctxt, balance) -> + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + let g = (ctxt, sc) in + (step [@ocaml.tailcall]) logger g gas k ks balance (accu, stack) + | ILevel (_, k) -> + let level = + (Level.current (context_from_outdated_context ctxt)).level + |> Raw_level.to_int32 |> Script_int.of_int32 |> Script_int.abs + in + (step [@ocaml.tailcall]) logger g gas k ks level (accu, stack) + | INow (_, k) -> + let now = Script_timestamp.now (context_from_outdated_context ctxt) in + (step [@ocaml.tailcall]) logger g gas k ks now (accu, stack) + | ICheck_signature (_, k) -> + let key = accu and (signature, (message, stack)) = stack in + let res = Signature.check key signature message in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IHash_key (_, k) -> + let key = accu in + let res = Signature.Public_key.hash key in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IBlake2b (_, k) -> + let bytes = accu in + let hash = Raw_hashes.blake2b bytes in + (step [@ocaml.tailcall]) logger g gas k ks hash stack + | ISha256 (_, k) -> + let bytes = accu in + let hash = Raw_hashes.sha256 bytes in + (step [@ocaml.tailcall]) logger g gas k ks hash stack + | ISha512 (_, k) -> + let bytes = accu in + let hash = Raw_hashes.sha512 bytes in + (step [@ocaml.tailcall]) logger g gas k ks hash stack + | ISource (_, k) -> + let res = (sc.payer, "default") in + (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + | ISender (_, k) -> + let res = (sc.source, "default") in + (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + | ISelf (_, ty, entrypoint, k) -> + let res = (ty, (sc.self, entrypoint)) in + (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + | ISelf_address (_, k) -> + let res = (sc.self, "default") in + (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + | IAmount (_, k) -> + let accu = sc.amount and stack = (accu, stack) in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IDig (_, _n, n', k) -> + let ((accu, stack), x) = + interp_stack_prefix_preserving_operation + (fun v stack -> (stack, v)) + n' + accu + stack + in + let accu = x and stack = (accu, stack) in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IDug (_, _n, n', k) -> + let v = accu in + let (accu, stack) = stack in + let ((accu, stack), ()) = + interp_stack_prefix_preserving_operation + (fun accu stack -> ((v, (accu, stack)), ())) + n' + accu + stack + in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IDipn (_, _n, n', b, k) -> + let (accu, stack, restore_prefix) = kundip n' accu stack k in + let ks = KCons (restore_prefix, ks) in + (step [@ocaml.tailcall]) logger g gas b ks accu stack + | IDropn (_, _n, n', k) -> + let stack = + let rec aux : + type a s b t. + (b, t, b, t, a, s, a, s) stack_prefix_preservation_witness -> + a -> + s -> + b * t = + fun w accu stack -> + match w with + | KRest -> + (accu, stack) + | KPrefix (_, w) -> + let (accu, stack) = stack in + aux w accu stack in - (run [@ocaml.tailcall]) logger g gas i k ks now (accu, stack) - | ICheck_signature (_, k) -> - let key = accu and (signature, (message, stack)) = stack in - let res = Signature.check key signature message in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IHash_key (_, k) -> - let key = accu in - let res = Signature.Public_key.hash key in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IBlake2b (_, k) -> - let bytes = accu in - let hash = Raw_hashes.blake2b bytes in - (run [@ocaml.tailcall]) logger g gas i k ks hash stack - | ISha256 (_, k) -> - let bytes = accu in - let hash = Raw_hashes.sha256 bytes in - (run [@ocaml.tailcall]) logger g gas i k ks hash stack - | ISha512 (_, k) -> - let bytes = accu in - let hash = Raw_hashes.sha512 bytes in - (run [@ocaml.tailcall]) logger g gas i k ks hash stack - | ISource (_, k) -> - let res = (sc.payer, "default") in - (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) - | ISender (_, k) -> - let res = (sc.source, "default") in - (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) - | ISelf (_, ty, entrypoint, k) -> - let res = (ty, (sc.self, entrypoint)) in - (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) - | ISelf_address (_, k) -> - let res = (sc.self, "default") in - (run [@ocaml.tailcall]) logger g gas i k ks res (accu, stack) - | IAmount (_, k) -> - let accu = sc.amount and stack = (accu, stack) in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IDig (_, _n, n', k) -> - let ((accu, stack), x) = - interp_stack_prefix_preserving_operation - (fun v stack -> (stack, v)) - n' - accu + aux n' accu stack + in + let (accu, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | ISapling_empty_state (_, memo_size, k) -> + let state = Sapling.empty_state ~memo_size () in + (step [@ocaml.tailcall]) logger g gas k ks state (accu, stack) + | ISapling_verify_update (_, k) -> ( + let transaction = accu in + let (state, stack) = stack in + let address = Contract.to_b58check sc.self in + let chain_id = Chain_id.to_b58check sc.chain_id in + let anti_replay = address ^ chain_id in + let ctxt = update_context gas ctxt in + Sapling.verify_update ctxt state transaction anti_replay + >>=? fun (ctxt, balance_state_opt) -> + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + match balance_state_opt with + | Some (balance, state) -> + let state = Some (Script_int.of_int64 balance, state) in + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks state stack + | None -> + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks None stack ) + | IChainId (_, k) -> + let accu = sc.chain_id and stack = (accu, stack) in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | INever _ -> ( + match accu with _ -> . ) + | IVoting_power (_, k) -> + let key_hash = accu in + let ctxt = update_context gas ctxt in + Vote.get_voting_power ctxt key_hash + >>=? fun (ctxt, rolls) -> + let power = Script_int.(abs (of_int32 rolls)) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks power stack + | ITotal_voting_power (_, k) -> + let ctxt = update_context gas ctxt in + Vote.get_total_voting_power ctxt + >>=? fun (ctxt, rolls) -> + let power = Script_int.(abs (of_int32 rolls)) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + let g = (ctxt, sc) in + (step [@ocaml.tailcall]) logger g gas k ks power (accu, stack) + | IKeccak (_, k) -> + let bytes = accu in + let hash = Raw_hashes.keccak256 bytes in + (step [@ocaml.tailcall]) logger g gas k ks hash stack + | ISha3 (_, k) -> + let bytes = accu in + let hash = Raw_hashes.sha3_256 bytes in + (step [@ocaml.tailcall]) logger g gas k ks hash stack + | IAdd_bls12_381_g1 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G1.add x y in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IAdd_bls12_381_g2 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G2.add x y in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IAdd_bls12_381_fr (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.Fr.add x y in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IMul_bls12_381_g1 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G1.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IMul_bls12_381_g2 (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.G2.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IMul_bls12_381_fr (_, k) -> + let x = accu and (y, stack) = stack in + let accu = Bls12_381.Fr.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IMul_bls12_381_fr_z (_, k) -> + let x = accu and (y, stack) = stack in + let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in + let res = Bls12_381.Fr.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IMul_bls12_381_z_fr (_, k) -> + let y = accu and (x, stack) = stack in + let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in + let res = Bls12_381.Fr.mul x y in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | IInt_bls12_381_fr (_, k) -> + let x = accu in + let res = Script_int.of_zint (Bls12_381.Fr.to_z x) in + (step [@ocaml.tailcall]) logger g gas k ks res stack + | INeg_bls12_381_g1 (_, k) -> + let x = accu in + let accu = Bls12_381.G1.negate x in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | INeg_bls12_381_g2 (_, k) -> + let x = accu in + let accu = Bls12_381.G2.negate x in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | INeg_bls12_381_fr (_, k) -> + let x = accu in + let accu = Bls12_381.Fr.negate x in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IPairing_check_bls12_381 (_, k) -> + let pairs = accu in + let check = + match pairs.elements with + | [] -> + true + | pairs -> + Bls12_381.( + miller_loop pairs |> final_exponentiation_opt + |> Option.map Gt.(eq one)) + |> Option.value ~default:false + in + (step [@ocaml.tailcall]) logger g gas k ks check stack + | IComb (_, _, witness, k) -> + let rec aux : + type before after. + (before, after) comb_gadt_witness -> before -> after = + fun witness stack -> + match (witness, stack) with + | (Comb_one, stack) -> stack - in - let accu = x and stack = (accu, stack) in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IDug (_, _n, n', k) -> - let v = accu in - let (accu, stack) = stack in - let ((accu, stack), ()) = - interp_stack_prefix_preserving_operation - (fun accu stack -> ((v, (accu, stack)), ())) - n' - accu + | (Comb_succ witness', (a, tl)) -> + let (b, tl') = aux witness' tl in + ((a, b), tl') + in + let stack = aux witness (accu, stack) in + let (accu, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IUncomb (_, _, witness, k) -> + let rec aux : + type before after. + (before, after) uncomb_gadt_witness -> before -> after = + fun witness stack -> + match (witness, stack) with + | (Uncomb_one, stack) -> stack - in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IDipn (_, _n, n', b, k) -> - let (accu, stack, restore_prefix) = kundip n' accu stack k in - let ks = KCons (restore_prefix, ks) in - (run [@ocaml.tailcall]) logger g gas i b ks accu stack - | IDropn (_, _n, n', k) -> - let stack = - let rec aux : - type a s b t. - (b, t, b, t, a, s, a, s) stack_prefix_preservation_witness -> - a -> - s -> - b * t = - fun w accu stack -> - match w with - | KRest -> - (accu, stack) - | KPrefix (_, w) -> - let (accu, stack) = stack in - aux w accu stack - in - aux n' accu stack - in - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | ISapling_empty_state (_, memo_size, k) -> - let state = Sapling.empty_state ~memo_size () in - (run [@ocaml.tailcall]) logger g gas i k ks state (accu, stack) - | ISapling_verify_update (_, k) -> ( - let transaction = accu in - let (state, stack) = stack in - let address = Contract.to_b58check sc.self in - let chain_id = Chain_id.to_b58check sc.chain_id in - let anti_replay = address ^ chain_id in - let ctxt = update_context gas ctxt in - Sapling.verify_update ctxt state transaction anti_replay - >>=? fun (ctxt, balance_state_opt) -> - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - match balance_state_opt with - | Some (balance, state) -> - let state = Some (Script_int.of_int64 balance, state) in - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks state stack - | None -> - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks None stack ) - | IChainId (_, k) -> - let accu = sc.chain_id and stack = (accu, stack) in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | INever _ -> ( - match accu with _ -> . ) - | IVoting_power (_, k) -> - let key_hash = accu in - let ctxt = update_context gas ctxt in - Vote.get_voting_power ctxt key_hash - >>=? fun (ctxt, rolls) -> - let power = Script_int.(abs (of_int32 rolls)) in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - (run [@ocaml.tailcall]) logger (ctxt, sc) gas i k ks power stack - | ITotal_voting_power (_, k) -> - let ctxt = update_context gas ctxt in - Vote.get_total_voting_power ctxt - >>=? fun (ctxt, rolls) -> - let power = Script_int.(abs (of_int32 rolls)) in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - let g = (ctxt, sc) in - (run [@ocaml.tailcall]) logger g gas i k ks power (accu, stack) - | IKeccak (_, k) -> - let bytes = accu in - let hash = Raw_hashes.keccak256 bytes in - (run [@ocaml.tailcall]) logger g gas i k ks hash stack - | ISha3 (_, k) -> - let bytes = accu in - let hash = Raw_hashes.sha3_256 bytes in - (run [@ocaml.tailcall]) logger g gas i k ks hash stack - | IAdd_bls12_381_g1 (_, k) -> - let x = accu and (y, stack) = stack in - let accu = Bls12_381.G1.add x y in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IAdd_bls12_381_g2 (_, k) -> - let x = accu and (y, stack) = stack in - let accu = Bls12_381.G2.add x y in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IAdd_bls12_381_fr (_, k) -> - let x = accu and (y, stack) = stack in - let accu = Bls12_381.Fr.add x y in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IMul_bls12_381_g1 (_, k) -> - let x = accu and (y, stack) = stack in - let accu = Bls12_381.G1.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IMul_bls12_381_g2 (_, k) -> - let x = accu and (y, stack) = stack in - let accu = Bls12_381.G2.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IMul_bls12_381_fr (_, k) -> - let x = accu and (y, stack) = stack in - let accu = Bls12_381.Fr.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IMul_bls12_381_fr_z (_, k) -> - let x = accu and (y, stack) = stack in - let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in - let res = Bls12_381.Fr.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IMul_bls12_381_z_fr (_, k) -> - let y = accu and (x, stack) = stack in - let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in - let res = Bls12_381.Fr.mul x y in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | IInt_bls12_381_fr (_, k) -> - let x = accu in - let res = Script_int.of_zint (Bls12_381.Fr.to_z x) in - (run [@ocaml.tailcall]) logger g gas i k ks res stack - | INeg_bls12_381_g1 (_, k) -> - let x = accu in - let accu = Bls12_381.G1.negate x in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | INeg_bls12_381_g2 (_, k) -> - let x = accu in - let accu = Bls12_381.G2.negate x in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | INeg_bls12_381_fr (_, k) -> - let x = accu in - let accu = Bls12_381.Fr.negate x in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IPairing_check_bls12_381 (_, k) -> - let pairs = accu in - let check = - match pairs.elements with - | [] -> - true - | pairs -> - Bls12_381.( - miller_loop pairs |> final_exponentiation_opt - |> Option.map Gt.(eq one)) - |> Option.value ~default:false - in - (run [@ocaml.tailcall]) logger g gas i k ks check stack - | IComb (_, _, witness, k) -> - let rec aux : - type before after. - (before, after) comb_gadt_witness -> before -> after = - fun witness stack -> - match (witness, stack) with - | (Comb_one, stack) -> - stack - | (Comb_succ witness', (a, tl)) -> - let (b, tl') = aux witness' tl in - ((a, b), tl') - in - let stack = aux witness (accu, stack) in - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IUncomb (_, _, witness, k) -> - let rec aux : - type before after. - (before, after) uncomb_gadt_witness -> before -> after = - fun witness stack -> - match (witness, stack) with - | (Uncomb_one, stack) -> - stack - | (Uncomb_succ witness', ((a, b), tl)) -> - (a, aux witness' (b, tl)) - in - let stack = aux witness (accu, stack) in - let (accu, stack) = stack in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IComb_get (_, _, witness, k) -> - let comb = accu in - let rec aux : - type before after. - (before, after) comb_get_gadt_witness -> before -> after = - fun witness comb -> - match (witness, comb) with - | (Comb_get_zero, v) -> - v - | (Comb_get_one, (a, _)) -> - a - | (Comb_get_plus_two witness', (_, b)) -> - aux witness' b - in - let accu = aux witness comb in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IComb_set (_, _, witness, k) -> - let value = accu and (comb, stack) = stack in - let rec aux : - type value before after. - (value, before, after) comb_set_gadt_witness -> - value -> - before -> - after = - fun witness value item -> - match (witness, item) with - | (Comb_set_zero, _) -> - value - | (Comb_set_one, (_hd, tl)) -> - (value, tl) - | (Comb_set_plus_two witness', (hd, tl)) -> - (hd, aux witness' value tl) - in - let accu = aux witness value comb in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IDup_n (_, _, witness, k) -> - let rec aux : - type before after. - (before, after) dup_n_gadt_witness -> before -> after = - fun witness stack -> - match (witness, stack) with - | (Dup_n_zero, (a, _)) -> - a - | (Dup_n_succ witness', (_, tl)) -> - aux witness' tl - in - let stack = (accu, stack) in - let accu = aux witness stack in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - (* Tickets *) - | ITicket (_, k) -> - let contents = accu and (amount, stack) = stack in - let ticketer = (sc.self, "default") in - let accu = {ticketer; contents; amount} in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | IRead_ticket (_, k) -> - let {ticketer; contents; amount} = accu in - let stack = (accu, stack) in - let accu = (ticketer, (contents, amount)) in - (run [@ocaml.tailcall]) logger g gas i k ks accu stack - | ISplit_ticket (_, k) -> - let ticket = accu and ((amount_a, amount_b), stack) = stack in - let result = - if - Compare.Int.( - Script_int.(compare (add_n amount_a amount_b) ticket.amount) - = 0) - then - Some - ( {ticket with amount = amount_a}, - {ticket with amount = amount_b} ) - else None - in - (run [@ocaml.tailcall]) logger g gas i k ks result stack - | IJoin_tickets (_, contents_ty, k) -> - let (ticket_a, ticket_b) = accu in - let result = - if - Compare.Int.( - compare_address ticket_a.ticketer ticket_b.ticketer = 0 - && compare_comparable - contents_ty - ticket_a.contents - ticket_b.contents - = 0) - then - Some - { - ticketer = ticket_a.ticketer; - contents = ticket_a.contents; - amount = Script_int.add_n ticket_a.amount ticket_b.amount; - } - else None - in - (run [@ocaml.tailcall]) logger g gas i k ks result stack ) + | (Uncomb_succ witness', ((a, b), tl)) -> + (a, aux witness' (b, tl)) + in + let stack = aux witness (accu, stack) in + let (accu, stack) = stack in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IComb_get (_, _, witness, k) -> + let comb = accu in + let rec aux : + type before after. + (before, after) comb_get_gadt_witness -> before -> after = + fun witness comb -> + match (witness, comb) with + | (Comb_get_zero, v) -> + v + | (Comb_get_one, (a, _)) -> + a + | (Comb_get_plus_two witness', (_, b)) -> + aux witness' b + in + let accu = aux witness comb in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IComb_set (_, _, witness, k) -> + let value = accu and (comb, stack) = stack in + let rec aux : + type value before after. + (value, before, after) comb_set_gadt_witness -> + value -> + before -> + after = + fun witness value item -> + match (witness, item) with + | (Comb_set_zero, _) -> + value + | (Comb_set_one, (_hd, tl)) -> + (value, tl) + | (Comb_set_plus_two witness', (hd, tl)) -> + (hd, aux witness' value tl) + in + let accu = aux witness value comb in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IDup_n (_, _, witness, k) -> + let rec aux : + type before after. + (before, after) dup_n_gadt_witness -> before -> after = + fun witness stack -> + match (witness, stack) with + | (Dup_n_zero, (a, _)) -> + a + | (Dup_n_succ witness', (_, tl)) -> + aux witness' tl + in + let stack = (accu, stack) in + let accu = aux witness stack in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + (* Tickets *) + | ITicket (_, k) -> + let contents = accu and (amount, stack) = stack in + let ticketer = (sc.self, "default") in + let accu = {ticketer; contents; amount} in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | IRead_ticket (_, k) -> + let {ticketer; contents; amount} = accu in + let stack = (accu, stack) in + let accu = (ticketer, (contents, amount)) in + (step [@ocaml.tailcall]) logger g gas k ks accu stack + | ISplit_ticket (_, k) -> + let ticket = accu and ((amount_a, amount_b), stack) = stack in + let result = + if + Compare.Int.( + Script_int.(compare (add_n amount_a amount_b) ticket.amount) = 0) + then + Some + ({ticket with amount = amount_a}, {ticket with amount = amount_b}) + else None + in + (step [@ocaml.tailcall]) logger g gas k ks result stack + | IJoin_tickets (_, contents_ty, k) -> + let (ticket_a, ticket_b) = accu in + let result = + if + Compare.Int.( + compare_address ticket_a.ticketer ticket_b.ticketer = 0 + && compare_comparable + contents_ty + ticket_a.contents + ticket_b.contents + = 0) + then + Some + { + ticketer = ticket_a.ticketer; + contents = ticket_a.contents; + amount = Script_int.add_n ticket_a.amount ticket_b.amount; + } + else None + in + (step [@ocaml.tailcall]) logger g gas k ks result stack ) + +(* + + The following function inserts a logging instruction and modifies + the continuation to continue the logging process in the next + execution steps. + + This on-the-fly instrumentation of the execution allows zero-cost + logging since logging instructions are only introduced if an + initial logging continuation is pushed at the beginning of the + evaluation. + +*) +and log : + type a s r f. + logger -> + outdated_context * step_constants -> + local_gas_counter -> + (a, s, r, f) continuation -> + a -> + s -> + (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = + fun logger g gas ks0 accu stack -> + log_control logger ks0 ; + let enable_log ki = log_kinstr logger ki in + match ks0 with + | KCons (ki, ks') -> + let log = enable_log ki in + let ks = KLog (ks', logger) in + (step [@ocaml.tailcall]) (Some logger) g gas log ks accu stack + | KNil -> + let ks = ks0 in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KLoop_in (ki, ks') -> + let ks' = KLog (ks', logger) in + let ks = KLoop_in (enable_log ki, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KReturn (stack', ks') -> + let ks' = KLog (ks', logger) in + let ks = KReturn (stack', ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KLoop_in_left (ki, ks') -> + let ks' = KLog (ks', logger) in + let ks = KLoop_in_left (enable_log ki, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KUndip (x, ks') -> + let ks' = KLog (ks', logger) in + let ks = KUndip (x, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KIter (body, xs, ks') -> + let ks' = KLog (ks', logger) in + let ks = KIter (enable_log body, xs, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KList_enter_body (body, xs, ys, len, ks') -> + let ks' = KLog (ks', logger) in + let ks = KList_enter_body (body, xs, ys, len, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KList_exit_body (body, xs, ys, len, ks') -> + let ks' = KLog (ks', logger) in + let ks = KList_exit_body (body, xs, ys, len, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KMap_enter_body (body, xs, ys, ks') -> + let ks' = KLog (ks', logger) in + let ks = KMap_enter_body (body, xs, ys, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KMap_exit_body (body, xs, ys, yk, ks') -> + let ks' = KLog (ks', logger) in + let ks = KMap_exit_body (body, xs, ys, yk, ks') in + (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + | KLog (ks', _) -> + (* This case should never happen. *) + (next [@ocaml.tailcall]) (Some logger) g gas ks' accu stack (* @@ -2304,40 +2204,82 @@ and unpack : >|? fun ctxt -> (None, ctxt) ) else return (None, ctxt) -and step_descr : - type a s r f. - bool -> - logger option -> - context * step_constants -> - (a, s, r, f) kdescr -> - a -> - s -> - (r * f * context) tzresult Lwt.t = - fun log_now logger g descr accu stack -> +and log_kinstr : + type a s r f. logger -> (a, s, r, f) kinstr -> (a, s, r, f) kinstr = + fun logger i -> + let set_logger_for_trace_dependent_kinstr : + type a s r f. (a, s, r, f) kinstr -> (a, s, r, f) kinstr = function + | IFailwith (kinfo, kloc, tv, _, k) -> + IFailwith (kinfo, kloc, tv, Some logger, k) + | IExec (kinfo, _, k) -> + IExec (kinfo, Some logger, k) + | IMul_teznat (kinfo, _, k) -> + IMul_teznat (kinfo, Some logger, k) + | IMul_nattez (kinfo, _, k) -> + IMul_nattez (kinfo, Some logger, k) + | ILsr_nat (kinfo, _, k) -> + ILsr_nat (kinfo, Some logger, k) + | ILsl_nat (kinfo, _, k) -> + ILsl_nat (kinfo, Some logger, k) + | i -> + i + in + ILog + ( kinfo_of_kinstr i, + LogEntry, + logger, + set_logger_for_trace_dependent_kinstr i ) + +and log_next_kinstr : + type a s r f. logger -> (a, s, r, f) kinstr -> (a, s, r, f) kinstr = + fun logger i -> + let apply k = + ILog + ( kinfo_of_kinstr k, + LogExit (kinfo_of_kinstr i), + logger, + log_kinstr logger k ) + in + kinstr_rewritek i {apply} + +let run_descr logger (ctxt, sc) descr accu stack = + let gas = (Gas.gas_counter ctxt :> int) in + ( match logger with + | None -> + step logger (outdated ctxt, sc) gas descr.kinstr KNil accu stack + | Some logger -> + let log = + ILog (kinfo_of_kinstr descr.kinstr, LogEntry, logger, descr.kinstr) + in + step (Some logger) (outdated ctxt, sc) gas log KNil accu stack ) + >>=? fun (accu, stack, ctxt, gas) -> + return (accu, stack, update_context gas ctxt) + +let step_descr log_now logger g descr accu stack = ( if log_now then match logger with | None -> () | Some logger -> - let module Log = (val logger) in let kinfo = kinfo_of_kinstr descr.kinstr in let ctxt = fst g in - Log.log_interp descr.kinstr ctxt kinfo.iloc descr.kbef (accu, stack) ) ; + logger.log_interp descr.kinstr ctxt kinfo.iloc descr.kbef (accu, stack) + ) ; run_descr logger g descr accu stack -and interp : - type p r. - logger option -> - context * step_constants -> - (p, r) lambda -> - p -> - (r * context) tzresult Lwt.t = - fun logger g (Lam (code, _)) arg -> +let interp logger g (Lam (code, _)) arg = step_descr true logger g code arg ((), ()) >|=? fun (ret, _, ctxt) -> (ret, ctxt) let kstep logger ctxt step_constants kinstr accu stack = let gas = (Gas.gas_counter ctxt :> int) in + let kinstr = + match logger with + | None -> + kinstr + | Some logger -> + ILog (kinfo_of_kinstr kinstr, LogEntry, logger, kinstr) + in step logger (outdated ctxt, step_constants) gas kinstr KNil accu stack >>=? fun (accu, stack, ctxt, gas) -> return (accu, stack, update_context gas ctxt) @@ -2444,7 +2386,5 @@ module Internals = struct | OutDatedContext of Alpha_context.t [@@unboxed] - let run = run - let next = next end diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index 7f174f3eb8b3..c13300981a21 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -35,9 +35,6 @@ open Alpha_context open Script_typed_ir -type execution_trace = - (Script.location * Gas.t * (Script.expr * string option) list) list - type error += | Reject of Script.location * Script.expr * execution_trace option @@ -68,94 +65,6 @@ type step_constants = { chain_id : Chain_id.t; } -(** The interpreter uses a control stack with specific cases for loops - and DIP. See the details in the implementation file. *) -type (_, _, _, _) continuation = - | KNil : ('r, 'f, 'r, 'f) continuation - | KCons : - ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation - -> ('a, 's, 'r, 'f) continuation - | KReturn : - 's * ('a, 's, 'r, 'f) continuation - -> ('a, end_of_stack, 'r, 'f) continuation - | KUndip : - 'b * ('b, 'a * 's, 'r, 'f) continuation - -> ('a, 's, 'r, 'f) continuation - | KLoop_in : - ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation - -> (bool, 'a * 's, 'r, 'f) continuation - | KLoop_in_left : - ('a, 's, ('a, 'b) Script_typed_ir.union, 's) kinstr - * ('b, 's, 'r, 'f) continuation - -> (('a, 'b) Script_typed_ir.union, 's, 'r, 'f) continuation - | KIter : - ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation - -> ('b, 's, 'r, 'f) continuation - | KList_enter_body : - ('a, 'c * 's, 'b, 'c * 's) kinstr - * 'a list - * 'b list - * int - * ('b Script_typed_ir.boxed_list, 'c * 's, 'r, 'f) continuation - -> ('c, 's, 'r, 'f) continuation - | KList_exit_body : - ('a, 'c * 's, 'b, 'c * 's) kinstr - * 'a list - * 'b list - * int - * ('b Script_typed_ir.boxed_list, 'c * 's, 'r, 'f) continuation - -> ('b, 'c * 's, 'r, 'f) continuation - | KMap_enter_body : - ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr - * ('a * 'b) list - * ('a, 'c) Script_typed_ir.map - * (('a, 'c) Script_typed_ir.map, 'd * 's, 'r, 'f) continuation - -> ('d, 's, 'r, 'f) continuation - | KMap_exit_body : - ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr - * ('a * 'b) list - * ('a, 'c) Script_typed_ir.map - * 'a - * (('a, 'c) Script_typed_ir.map, 'd * 's, 'r, 'f) continuation - -> ('c, 'd * 's, 'r, 'f) continuation - -type ('a, 's, 'b, 'f, 'c, 'u) logging_function = - ('a, 's, 'b, 'f) Script_typed_ir.kinstr -> - context -> - Script.location -> - ('c, 'u) Script_typed_ir.stack_ty -> - 'c * 'u -> - unit - -(** [STEP_LOGGER] is the module type of logging - modules as passed to the Michelson interpreter. - Note that logging must be performed by side-effects - on an underlying log structure. *) -module type STEP_LOGGER = sig - (** [log_interp] is called at each call of the internal - function [interp]. [interp] is called when starting - the interpretation of a script and subsequently - at each [Exec] instruction. *) - val log_interp : ('a, 's, 'b, 'f, 'c, 'u) logging_function - - (** [log_entry] is called {i before} executing - each instruction but {i after} gas for - this instruction has been successfully consumed. *) - val log_entry : ('a, 's, 'b, 'f, 'a, 's) logging_function - - val log_control : ('a, 's, 'b, 'f) continuation -> unit - - (** [log_exit] is called {i after} executing each - instruction. *) - val log_exit : ('a, 's, 'b, 'f, 'c, 'u) logging_function - - (** [get_log] allows to obtain an execution trace, if - any was produced. *) - val get_log : unit -> execution_trace option tzresult Lwt.t -end - -type logger = (module STEP_LOGGER) - val step : logger option -> context -> @@ -213,21 +122,6 @@ module Internals : sig See comments in the implementation file for more details. *) type outdated_context = OutDatedContext of context [@@unboxed] - (** [run logger (ctxt, step_constants) local_gas_counter i k ks accu - stack] evaluates instruction [k] (having [i] as predecessor) - under the control flow stack [ks] and the A-stack represented by - [accu] and [stack]. *) - val run : - logger option -> - outdated_context * step_constants -> - local_gas_counter -> - ('c, 'u, 'd, 'v) kinstr -> - ('a, 's, 'b, 't) kinstr -> - ('b, 't, 'r, 'f) continuation -> - 'a -> - 's -> - ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t - (** [next logger (ctxt, step_constants) local_gas_counter ks accu stack] is an internal function which interprets the continuation [ks] to execute the interpreter on the current A-stack. *) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 7978c9a5d6b5..080b78ef4dcc 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4836,7 +4836,9 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IExec (kinfo, k))} in + let instr = + {csize = 0; apply = (fun kinfo k -> IExec (kinfo, None, k))} + in ( typed ctxt loc instr (Item_t (ret, rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_APPLY, [], annot), @@ -4956,7 +4958,10 @@ and parse_instr : (if legacy then ok_unit else check_packable ~legacy:false loc v) >>?= fun () -> let instr = - {csize = 0; apply = (fun kinfo k -> IFailwith (kinfo, loc, v, k))} + { + csize = 0; + apply = (fun kinfo k -> IFailwith (kinfo, loc, v, None, k)); + } in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack ctxt loc stack_ty Bot_t @@ -5120,7 +5125,7 @@ and parse_instr : parse_var_annot loc annot >>?= fun annot -> let instr = - {csize = 0; apply = (fun kinfo k -> IMul_teznat (kinfo, k))} + {csize = 0; apply = (fun kinfo k -> IMul_teznat (kinfo, None, k))} in typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) | ( Prim (loc, I_MUL, [], annot), @@ -5129,7 +5134,7 @@ and parse_instr : parse_var_annot loc annot >>?= fun annot -> let instr = - {csize = 0; apply = (fun kinfo k -> IMul_nattez (kinfo, k))} + {csize = 0; apply = (fun kinfo k -> IMul_nattez (kinfo, None, k))} in typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) (* boolean operations *) @@ -5408,7 +5413,9 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> ILsl_nat (kinfo, k))} in + let instr = + {csize = 0; apply = (fun kinfo k -> ILsl_nat (kinfo, None, k))} + in typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_LSR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> @@ -5416,7 +5423,9 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> ILsr_nat (kinfo, k))} in + let instr = + {csize = 0; apply = (fun kinfo k -> ILsr_nat (kinfo, None, k))} + in typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_OR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 392408f2acba..4728ac28da55 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -278,8 +278,8 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IIf_none : ('a option, 'b * 's) kinfo (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) + instructions should have a shared suffix to avoid code + duplication. *) * ('b, 's, 'r, 'f) kinstr * ('a, 'b * 's, 'r, 'f) kinstr -> ('a option, 'b * 's, 'r, 'f) kinstr @@ -473,10 +473,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = (Tez.t, Tez.t * 's) kinfo * (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 + (Tez.t, n num * 's) kinfo * logger option * (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 + (n num, Tez.t * 's) kinfo * logger option * (Tez.t, 's, 'r, 'f) kinstr -> (n num, Tez.t * 's, 'r, 'f) kinstr | IEdiv_teznat : (Tez.t, n num * 's) kinfo @@ -565,10 +565,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ((n num, n num) pair option, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ILsl_nat : - (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr + (n num, n num * 's) kinfo * logger option * (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 + (n num, n num * 's) kinfo * logger option * (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 @@ -615,7 +615,9 @@ and ('before_top, 'before, 'result_top, 'result) 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 + ('a, ('a, 'b) lambda * 's) kinfo + * logger option + * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : ('a, ('a * 't, 'b) lambda * 's) kinfo @@ -628,7 +630,11 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IFailwith : - ('a, 's) kinfo * Script.location * 'a ty * ('b, 't, 'r, 'f) kinstr + ('a, 's) kinfo + * Script.location + * 'a ty + * logger option + * ('b, 't, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | INop : ('a, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* @@ -883,7 +889,20 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * 'a comparable_ty * ('a ticket option, 's, 'r, 'f) kinstr -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr + (* Internal control instructions + ============================= + + 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 + | ILog : + ('a, 's) kinfo * logging_event * logger * ('a, 's, 'r, 'f) kinstr + -> ('a, 's, 'r, 'f) kinstr + +and logging_event = + | LogEntry : logging_event + | LogExit : ('b, 'u) kinfo -> logging_event and ('arg, 'ret) lambda = | Lam : @@ -892,6 +911,161 @@ and ('arg, 'ret) lambda = and 'arg typed_contract = 'arg ty * address +(* + + Control stack + ============= + + The control stack is a list of [kinstr]. + + Since [kinstr] denotes a list of instructions, the control stack + can be seen as a list of instruction sequences, each representing a + form of delimited continuation (i.e. a control stack fragment). The + [continuation] GADT ensures that the input and output stack types of the + continuations are consistent. + + Loops have a special treatment because their control stack is reused + as is for the next iteration. This avoids the reallocation of a + control stack cell at each iteration. + + To implement [step] as a tail-recursive function, we implement + higher-order iterators (i.e. MAPs and ITERs) using internal instructions +. Roughly speaking, these instructions help in decomposing the execution + of [I f c] (where [I] is an higher-order iterator over a container [c]) + into three phases: to start the iteration, to execute [f] if there are + elements to be processed in [c], and to loop. + + Dip also has a dedicated constructor in the control stack. This + allows the stack prefix to be restored after the execution of the + [Dip]'s body. + + Following the same style as in [kinstr], [continuation] has four + arguments, two for each stack types. More precisely, with + + [('bef_top, 'bef, 'aft_top, 'aft) continuation] + + we encode the fact that the stack before executing the continuation + has type [('bef_top * 'bef)] and that the stack after this execution + has type [('aft_top * 'aft)]. + +*) +and (_, _, _, _) continuation = + (* This continuation returns immediately. *) + | KNil : ('r, 'f, 'r, 'f) continuation + (* This continuation starts with the next instruction to execute. *) + | KCons : + ('a, 's, 'b, 't) kinstr * ('b, 't, 'r, 'f) continuation + -> ('a, 's, 'r, 'f) continuation + (* This continuation represents a call frame: it stores the caller's + 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 + -> ('a, end_of_stack, 'r, 'f) continuation + (* This continuation comes right after a [Dip i] to restore the topmost + element ['b] of the stack after having executed [i] in the substack + of type ['a * 's]. *) + | KUndip : + 'b * ('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. *) + | KLoop_in : + ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) continuation + -> (bool, 'a * 's, 'r, 'f) continuation + (* This continuation is executed at each iteration of a loop with + a condition encoded by a sum type. *) + | KLoop_in_left : + ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) continuation + -> (('a, 'b) union, 's, 'r, 'f) continuation + (* This continuation is executed at each iteration of a traversal. + (Used in List, Map and Big_map.) *) + | KIter : + ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation + -> ('b, 's, 'r, 'f) continuation + (* This continuation represents each step of a List.map. *) + | KList_enter_body : + ('a, 'c * 's, 'b, 'c * 's) kinstr + * 'a list + * 'b list + * int + * ('b boxed_list, 'c * 's, 'r, 'f) continuation + -> ('c, 's, 'r, 'f) continuation + (* This continuation represents what is done after each step of a List.map. *) + | KList_exit_body : + ('a, 'c * 's, 'b, 'c * 's) kinstr + * 'a list + * 'b list + * int + * ('b boxed_list, 'c * 's, 'r, 'f) continuation + -> ('b, 'c * 's, 'r, 'f) continuation + (* This continuation represents each step of a Map.map. *) + | KMap_enter_body : + ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr + * ('a * 'b) list + * ('a, 'c) map + * (('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. *) + | KMap_exit_body : + ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr + * ('a * 'b) list + * ('a, 'c) map + * 'a + * (('a, 'c) map, 'd * 's, 'r, 'f) continuation + -> ('c, 'd * 's, 'r, 'f) continuation + (* This continuation instruments the execution with a [logger]. *) + | KLog : + ('a, 's, 'r, 'f) continuation * logger + -> ('a, 's, 'r, 'f) continuation + +(* + + Execution instrumentation + ========================= + + One can observe the context and the stack at some specific points + of an execution step. This feature is implemented by calling back + some [logging_function]s defined in a record of type [logger] + passed as argument to the step function. + + A [logger] is typically embedded in an [KLog] continuation by the + client to trigger an evaluation instrumented with some logging. The + logger is then automatically propagated to the logging instruction + [ILog] as well as to any instructions that need to generate a + backtrace when it fails (e.g., [IFailwith], [IMul_teznat], ...). + +*) +and ('a, 's, 'b, 'f, 'c, 'u) logging_function = + ('a, 's, 'b, 'f) kinstr -> + context -> + Script.location -> + ('c, 'u) stack_ty -> + 'c * 'u -> + unit + +and execution_trace = + (Script.location * Gas.t * (Script.expr * string option) list) list + +and logger = { + log_interp : 'a 's 'b 'f 'c 'u. ('a, 's, 'b, 'f, 'c, 'u) logging_function; + (** [log_interp] is called at each call of the internal function + [interp]. [interp] is called when starting the interpretation of + a script and subsequently at each [Exec] instruction. *) + log_entry : 'a 's 'b 'f. ('a, 's, 'b, 'f, 'a, 's) logging_function; + (** [log_entry] is called {i before} executing each instruction but + {i after} gas for this instruction has been successfully + consumed. *) + log_control : 'a 's 'b 'f. ('a, 's, 'b, 'f) continuation -> unit; + (** [log_control] is called {i before} the interpretation of the + current continuation. *) + log_exit : 'a 's 'b 'f 'c 'u. ('a, 's, 'b, 'f, 'c, 'u) logging_function; + (** [log_exit] is called {i after} executing each instruction. *) + get_log : unit -> execution_trace option tzresult Lwt.t; + (** [get_log] allows to obtain an execution trace, if any was + produced. *) +} + (* ---- Auxiliary types -----------------------------------------------------*) and 'ty ty = | Unit_t : type_annot option -> unit ty @@ -1125,9 +1299,9 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | ISub_tez (kinfo, _) -> kinfo - | IMul_teznat (kinfo, _) -> + | IMul_teznat (kinfo, _, _) -> kinfo - | IMul_nattez (kinfo, _) -> + | IMul_nattez (kinfo, _, _) -> kinfo | IEdiv_teznat (kinfo, _) -> kinfo @@ -1177,9 +1351,9 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IEdiv_natnat (kinfo, _) -> kinfo - | ILsl_nat (kinfo, _) -> + | ILsl_nat (kinfo, _, _) -> kinfo - | ILsr_nat (kinfo, _) -> + | ILsr_nat (kinfo, _, _) -> kinfo | IOr_nat (kinfo, _) -> kinfo @@ -1201,13 +1375,13 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IDip (kinfo, _, _, _) -> kinfo - | IExec (kinfo, _) -> + | IExec (kinfo, _, _) -> kinfo | IApply (kinfo, _, _) -> kinfo | ILambda (kinfo, _, _) -> kinfo - | IFailwith (kinfo, _, _, _) -> + | IFailwith (kinfo, _, _, _, _) -> kinfo | INop (kinfo, _) -> kinfo @@ -1337,6 +1511,336 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IHalt kinfo -> kinfo + | ILog (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, x, k) -> + IConst (kinfo, 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, kl, kr) -> + IIf_none (kinfo, f.apply kl, f.apply kr) + | ICons_left (kinfo, k) -> + ICons_left (kinfo, f.apply k) + | ICons_right (kinfo, k) -> + ICons_right (kinfo, f.apply k) + | IIf_left (kinfo, kl, kr) -> + IIf_left (kinfo, f.apply kl, f.apply kr) + | ICons_list (kinfo, k) -> + ICons_list (kinfo, f.apply k) + | INil (kinfo, k) -> + INil (kinfo, f.apply k) + | IIf_cons (kinfo, kl, kr) -> + IIf_cons (kinfo, f.apply kl, f.apply kr) + | 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_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_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, 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) + | 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) + | IMul_teznat (kinfo, logger, k) -> + IMul_teznat (kinfo, logger, f.apply k) + | IMul_nattez (kinfo, logger, k) -> + IMul_nattez (kinfo, logger, 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_nat (kinfo, k) -> + INeg_nat (kinfo, f.apply k) + | INeg_int (kinfo, k) -> + INeg_int (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_intint (kinfo, k) -> + IAdd_intint (kinfo, f.apply k) + | IAdd_intnat (kinfo, k) -> + IAdd_intnat (kinfo, f.apply k) + | IAdd_natint (kinfo, k) -> + IAdd_natint (kinfo, f.apply k) + | IAdd_natnat (kinfo, k) -> + IAdd_natnat (kinfo, f.apply k) + | ISub_int (kinfo, k) -> + ISub_int (kinfo, f.apply k) + | IMul_intint (kinfo, k) -> + IMul_intint (kinfo, f.apply k) + | IMul_intnat (kinfo, k) -> + IMul_intnat (kinfo, f.apply k) + | IMul_natint (kinfo, k) -> + IMul_natint (kinfo, f.apply k) + | IMul_natnat (kinfo, k) -> + IMul_natnat (kinfo, f.apply k) + | IEdiv_intint (kinfo, k) -> + IEdiv_intint (kinfo, f.apply k) + | IEdiv_intnat (kinfo, k) -> + IEdiv_intnat (kinfo, f.apply k) + | IEdiv_natint (kinfo, k) -> + IEdiv_natint (kinfo, f.apply k) + | IEdiv_natnat (kinfo, k) -> + IEdiv_natnat (kinfo, f.apply k) + | ILsl_nat (kinfo, logger, k) -> + ILsl_nat (kinfo, logger, f.apply k) + | ILsr_nat (kinfo, logger, k) -> + ILsr_nat (kinfo, logger, 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_nat (kinfo, k) -> + INot_nat (kinfo, f.apply k) + | INot_int (kinfo, k) -> + INot_int (kinfo, f.apply k) + | IIf (kinfo, kl, kr) -> + IIf (kinfo, f.apply kl, f.apply kr) + | 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, kinfo', body, k) -> + IDip (kinfo, kinfo', f.apply body, f.apply k) + | IExec (kinfo, logger, k) -> + IExec (kinfo, logger, 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, logger, k) -> + IFailwith (kinfo, i, ty, logger, f.apply k) + | INop (kinfo, k) -> + INop (kinfo, f.apply k) + | 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) + | IImplicit_account (kinfo, k) -> + IImplicit_account (kinfo, f.apply k) + | ICreate_contract (kinfo, ty1, ty2, code, annot, k) -> + ICreate_contract (kinfo, ty1, ty2, code, annot, f.apply k) + | ISet_delegate (kinfo, k) -> + ISet_delegate (kinfo, f.apply k) + | INow (kinfo, k) -> + INow (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) + | 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, k) -> + INever (kinfo, f.apply k) + | 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, k) -> + ITicket (kinfo, f.apply k) + | IRead_ticket (kinfo, k) -> + IRead_ticket (kinfo, 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) let rec ty_of_comparable_ty : type a. a comparable_ty -> a ty = fun s -> -- GitLab From a4589b2dc50a5a3d7d83ab3a3c5bb5d56b886773 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 20:57:36 +0200 Subject: [PATCH 11/69] Proto/Michelson: Update regression test outputs Signed-off-by: Yann Regis-Gianas --- ...ddressTransfer::test_send_self_address.out | 6 +- ...s.TestContractOnchainLevel::test_level.out | 8 +- ...tractOnchainOpcodes::test_set_delegate.out | 8 +- ...ef0e55c43a9a857214d8761e67b.7da5c9014e.out | 6 +- ...estContractOnchainOpcodes::test_source.out | 12 +- ...ntractOnchainOpcodes::test_split_bytes.out | 12 +- ...tractOnchainOpcodes::test_split_string.out | 18 +- ...ntractOnchainOpcodes::test_store_input.out | 8 +- ...ctOnchainOpcodes::test_transfer_amount.out | 4 +- ...ctOnchainOpcodes::test_transfer_tokens.out | 16 +- ...(Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" | 27 +- ...(Some 5) { Elt \"hello\" 4.0427752f13.out" | 27 +- ...(Some 5) { Elt \"hello\" 4.0793dc66d5.out" | 27 +- ...None { Elt \"1\" 1 ; .df114499b8.out" | 27 +- ...None { Elt \"1\" 1 ; .f9bea98de9.out" | 27 +- ...None { Elt \"hello\" 4 })-.1db12cd837.out" | 27 +- ...None {})-\"hello\"-(Pair N.6fc7d0acf2.out" | 27 +- ..." \"one\" ; Elt \"2\" \"tw.524c5459f8.out" | 33 +- ...ello\" \"hi\" } None)-\"\".33eba403e7.out" | 33 +- ...hello\" \"hi\" } None)-\"h.a5cd1005c9.out" | 33 +- ...one\" ; Elt \"2\" \"two\" .6f3d35b151.out" | 27 +- ...one\" ; Elt \"2\" \"two\" .76aeaa0706.out" | 34 +- ...one\" ; Elt \"2\" \"two\" .7e7197f248.out" | 34 +- ...one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" | 34 +- ...one\" ; Elt \"2\" \"two\" .b688cc94a7.out" | 34 +- ...one\" ; Elt \"2\" \"two\" .c68db221ed.out" | 34 +- ...TestContractOpcodes::test_balance[0.5].out | 12 +- ...s.TestContractOpcodes::test_balance[0].out | 12 +- ...estContractOpcodes::test_balance[1000].out | 12 +- ...s.TestContractOpcodes::test_balance[1].out | 12 +- ...stContractOpcodes::test_balance[1e-06].out | 12 +- ...s.TestContractOpcodes::test_balance[5].out | 12 +- ...Opcodes::test_balance[8000000000000.0].out | 12 +- ... \"two\" }) )-(Right (Righ.7492e8cdea.out" | 68 +-- ... \"two\" }))-(Left Unit)-(.21b30dd90f.out" | 29 +- ... \"two\" }))-(Right (Left .2873ef610c.out" | 24 +- ... \"two\" }))-(Right (Left .8a6f480005.out" | 24 +- ... \"two\" }))-(Right (Right.d336ca1903.out" | 65 +-- ...Pair \"foo\" \"bar\" } { P.7f2ee47600.out" | 107 ++-- ...tContractOpcodes::test_check_signature.out | 110 ++-- ...tract_input_output[abs.tz-Unit-0-Unit].out | 26 +- ....tz-Unit-12039123919239192312931-Unit].out | 26 +- ...act_input_output[abs.tz-Unit-948-Unit].out | 26 +- ...ct_input_output[add.tz-Unit-Unit-Unit].out | 162 +++--- ...r 0x00 0x00-(Some 0x0000000.3c2de60480.out | 17 +- ...r 0x01 0x00-(Some 0x0100000.12b2c1172b.out | 17 +- ...r 0x010000 0x00-(Some 0x010.0e44fc6f40.out | 17 +- ...r 0x010000 0x010000-(Some 0.7e0ed229a3.out | 17 +- ...air -100 100)-(Some \"1970.7c1b1e4e5b.out" | 26 +- ...air 0 \"1970-01-01T00:00:0.528ed42c01.out" | 26 +- ...air 100 100)-(Some \"1970-.6566111ad2.out" | 26 +- ...air \"1970-01-01T00:00:00Z.72c424f3da.out" | 26 +- ...air 100 -100)-(Some \"1970.7c4b12e9aa.out" | 26 +- ...air 100 100)-(Some \"1970-.af32743640.out" | 26 +- ...dhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" | 14 +- ...-None-(Pair False False)-(Some False)].out | 20 +- ...z-None-(Pair False True)-(Some False)].out | 20 +- ...z-None-(Pair True False)-(Some False)].out | 20 +- ....tz-None-(Pair True True)-(Some True)].out | 20 +- ...t_output[and_binary.tz-Unit-Unit-Unit].out | 84 ++- ...l_1.tz-False-(Pair False False)-False].out | 14 +- ...al_1.tz-False-(Pair False True)-False].out | 14 +- ...al_1.tz-False-(Pair True False)-False].out | 14 +- ...ical_1.tz-False-(Pair True True)-True].out | 14 +- ...put[balance.tz-111-Unit-4000000000000].out | 12 +- ...lt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out | 29 +- ...lt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out | 29 +- ...lt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out | 29 +- ...lt 1 0 } None)-1-(Pair 4 (S.73700321f8.out | 29 +- ...lt 1 4 ; Elt 2 11 } None)-1.1182eca937.out | 29 +- ...lt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out | 29 +- ...lt 1 4 ; Elt 2 11 } None)-2.1eead33885.out | 29 +- ...lt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out | 29 +- ...lt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out | 29 +- ...lt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out | 29 +- ...air {} None)-1-(Pair 4 (Some False))0].out | 29 +- ...air {} None)-1-(Pair 4 (Some False))1].out | 29 +- ... \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" | 29 +- ... \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" | 29 +- ... \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" | 29 +- ... \"foo\" 0 } None)-\"foo\".968709d39d.out" | 29 +- ... \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" | 29 +- ... None)-\"bar\"-(Pair 4 (Some False))].out" | 29 +- ...padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out | 15 +- ...e-Unit-(Some 0x100000000000.d1219ca789.out | 15 +- ...utput[bls12_381_fr_to_int.tz-0-0x00-0].out | 12 +- ...utput[bls12_381_fr_to_int.tz-0-0x01-1].out | 12 +- ...8db8e57af88d9576acd181b89f2.7a85c336ff.out | 13 +- ...9e8abf8dc324a010007addde986.b821eb26b3.out | 13 +- ...ut[bls12_381_fr_to_mutez.tz-0-0x10-16].out | 22 +- ...000000000000000000000000000.0accef5bef.out | 12 +- ...000000000000000000000000000.0ecc537252.out | 12 +- ...000000000000000000000000000.2229b767cd.out | 12 +- ...000000000000000000000000000.2ff549b46b.out | 12 +- ...000000000000000000000000000.bf8a711be6.out | 12 +- ...000000000000000000000000000.d41cbb044b.out | 12 +- ...a5ad0a633e4880d2296f08ec5c1.a50412e458.out | 12 +- ...cd0fa853810e356f1eb79721e80.f3a349c4a7.out | 12 +- ...be1766f92cd82c5e5135c374a03.1b9676e4c2.out | 12 +- ...be1766f92cd82c5e5135c374a03.e966dc6de5.out | 12 +- ...000000000000000000000000000.964835cc43.out | 12 +- ...000000000000000000000000000.b25ea709fb.out | 12 +- ...000000000000000000000000000.eae36753ea.out | 12 +- ...000000000000000000000000000.ee57dac8f7.out | 12 +- ...a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out | 12 +- ...cd0fa853810e356f1eb79721e80.bd5800f6b8.out | 12 +- ...be1766f92cd82c5e5135c374a03.00e897789a.out | 12 +- ...be1766f92cd82c5e5135c374a03.a4697eaa13.out | 12 +- ...000000000000000000000000000.0177355bbf.out | 14 +- ...000000000000000000000000000.744166c609.out | 14 +- ...000000000000000000000000000.9f3c5cdc6a.out | 14 +- ...000000000000000000000000000.a54cb341ba.out | 14 +- ...000000000000000000000000000.b0dc584c94.out | 14 +- ...000000000000000000000000000.bddcad090c.out | 14 +- ...a5ad0a633e4880d2296f08ec5c1.92c153eb47.out | 14 +- ...cd0fa853810e356f1eb79721e80.290ab49d11.out | 14 +- ...be1766f92cd82c5e5135c374a03.69f3589a06.out | 14 +- ...be1766f92cd82c5e5135c374a03.fee3c5cf43.out | 14 +- ...000000000000000000000000000.1bccc033e8.out | 14 +- ...000000000000000000000000000.40958700fe.out | 14 +- ...000000000000000000000000000.6c62b03d78.out | 14 +- ...000000000000000000000000000.d23f269341.out | 14 +- ...a5ad0a633e4880d2296f08ec5c1.927f808504.out | 14 +- ...cd0fa853810e356f1eb79721e80.0c114c956a.out | 14 +- ...be1766f92cd82c5e5135c374a03.03c4f38e68.out | 14 +- ...be1766f92cd82c5e5135c374a03.8ed19cfdd9.out | 14 +- ...input_output[car.tz-0-(Pair 34 17)-34].out | 12 +- ...input_output[cdr.tz-0-(Pair 34 17)-17].out | 12 +- ...prcVkpaWU\")-Unit-(Some \".8420090f97.out" | 14 +- ...770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" | 14 +- ...None-Unit-(Some \"NetXdQprcVkpaWU\")].out" | 14 +- ...mb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out | 99 ++-- ... Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" | 24 +- ...r 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out | 26 +- ...omb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out | 16 +- ...nput_output[compare.tz-Unit-Unit-Unit].out | 360 ++++++------ ...; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out | 285 +++++----- ...-{ \"World!\" }-{ \"Hello World!\" }].out" | 20 +- ..."test2\" }-{ \"Hello test1.c27e8c3ee6.out" | 28 +- ...input_output[concat_hello.tz-{}-{}-{}].out | 12 +- ...}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out | 28 +- ...hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out | 20 +- ...output[concat_hello_bytes.tz-{}-{}-{}].out | 12 +- ...; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" | 108 ++-- ...\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" | 85 +-- ...t_output[concat_list.tz-\"\"-{}-\"\"].out" | 16 +- ...ns.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out | 12 +- ..._output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out | 12 +- ...act_input_output[cons.tz-{}-10-{ 10 }].out | 12 +- ...ir { \"A\" } { \"B\" })-(Some False)].out" | 130 +++-- ...\"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" | 327 ++++++----- ...\"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" | 363 ++++++------- ...air { \"B\" } { \"B\" })-(Some True)].out" | 130 +++-- ...ir { \"c\" } { \"B\" })-(Some False)].out" | 130 +++-- ..._all.tz-None-(Pair {} {})-(Some True)].out | 42 +- ...wnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" | 20 +- ...Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" | 30 +- ...970-01-01T00:03:20Z\" \"19.90e9215d17.out" | 24 +- ...t[diff_timestamps.tz-111-(Pair 0 0)-0].out | 24 +- ...[diff_timestamps.tz-111-(Pair 0 1)--1].out | 24 +- ...t[diff_timestamps.tz-111-(Pair 1 0)-1].out | 24 +- ...r 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out | 388 +++++++------ ... 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out | 388 +++++++------ ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out | 37 +- ...p.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out | 25 +- ...z-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out | 25 +- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out | 36 +- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out | 20 +- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out | 28 +- ..._input_output[dup-n.tz-Unit-Unit-Unit].out | 119 ++-- ... None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out | 76 ++- ... None)-(Pair 10 -3)-(Pair (.3caea50555.out | 80 ++- ... None)-(Pair 10 0)-(Pair No.f9448c04fb.out | 76 ++- ... None)-(Pair 10 (Left 0))-(Left None)].out | 25 +- ...air 10 (Left 10))-(Left (So.f782cc1dec.out | 25 +- ...air 10 (Left 3))-(Left (Som.016b4db96c.out | 25 +- ...one)-(Pair 10 (Right 0))-(Right None)].out | 25 +- ...air 10 (Right 10))-(Right (.e705a30e07.out | 25 +- ...air 10 (Right 3))-(Right (S.44485eda6a.out | 25 +- ...air 5 (Right 10))-(Right (S.8ab987af15.out | 25 +- ...-{}-Unit-{ Elt \"hello\" \"world\" }].out" | 20 +- ...t[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" | 34 +- ...oncat.tz-\"?\"-\"test\"-\"test_abc\"].out" | 34 +- ...tput[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out | 23 +- ...act_input_output[first.tz-111-{ 4 }-4].out | 23 +- ...me 4) {})-\"hello\"-(Pair .161d86cef6.out" | 27 +- ...me 5) { Elt \"hello\" 4 }).684ab7e326.out" | 27 +- ...me 5) { Elt \"hello\" 4 }).d49817fb83.out" | 27 +- ...e { Elt \"1\" 1 ; .6900b1da14.out" | 27 +- ...e { Elt \"1\" 1 ; .bca0ede8be.out" | 27 +- ... { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" | 27 +- ...ir None {})-\"hello\"-(Pair None {})].out" | 27 +- ... \"1\" \"one\" ; .bc4127094e.out" | 31 +- ..."hello\" \"hi\" })-\"\"-(P.0c03056487.out" | 31 +- ...\"hello\" \"hi\" })-\"hell.cc45544c66.out" | 31 +- ...nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" | 14 +- ...2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" | 14 +- ...xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" | 14 +- ...-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" | 14 +- ..._output[if.tz-None-False-(Some False)].out | 18 +- ...ut_output[if.tz-None-True-(Some True)].out | 18 +- ....tz-\"?\"-(Some \"hello\")-\"hello\"].out" | 16 +- ...ut_output[if_some.tz-\"?\"-None-\"\"].out" | 18 +- ...t_input_output[int.tz-None-0-(Some 0)].out | 14 +- ...t_input_output[int.tz-None-1-(Some 1)].out | 14 +- ...t_output[int.tz-None-9999-(Some 9999)].out | 14 +- ...c20776f726c6421-(Some 0xb6e.34c02678c9.out | 15 +- ...Left \"X\")-(Left True)-(Right True)].out" | 16 +- ...ft \"X\")-(Right \"a\")-(Left \"a\")].out" | 16 +- ...ract_input_output[level.tz-111-Unit-1].out | 12 +- ...{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" | 16 +- ...ut[list_concat.tz-\"abc\"-{}-\"abc\"].out" | 16 +- ...tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out | 16 +- ..._output[list_concat_bytes.tz-0x-{}-0x].out | 16 +- ...b-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out | 16 +- ...list_concat_bytes.tz-0xabcd-{}-0xabcd].out | 16 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 10 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 10 +- ...input_output[list_id.tz-{\"\"}-{}-{}].out" | 10 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 24 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 24 +- ...t_output[list_id_map.tz-{\"\"}-{}-{}].out" | 12 +- ...tput[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out | 37 +- ...tput[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out | 37 +- ...}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out | 124 ++--- ...}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out | 124 ++--- ...ut_output[list_map_block.tz-{0}-{}-{}].out | 24 +- ...ze.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out | 12 +- ...tput[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out | 12 +- ...input_output[list_size.tz-111-{ 1 }-1].out | 12 +- ...ct_input_output[list_size.tz-111-{}-0].out | 12 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 153 +++--- ...put_output[loop_left.tz-{\"\"}-{}-{}].out" | 42 +- ...0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out | 10 +- ...[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out | 10 +- ...[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out | 10 +- ... Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out | 126 ++--- ...-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out | 126 ++--- ...foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" | 58 +- ...lt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" | 41 +- ...ract_input_output[map_map.tz-{}-10-{}].out | 22 +- ... 1 } None)-1-(Pair { Elt 0 .7396e5f090.out | 29 +- ... 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out | 29 +- ... 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out | 29 +- ... 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out | 29 +- ... 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out | 29 +- ...air {} None)-1-(Pair {} (Some False))].out | 29 +- ...ar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" | 29 +- ...ar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" | 29 +- ...ar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" | 29 +- ...oo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" | 29 +- ...oo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" | 29 +- ...None)-\"bar\"-(Pair {} (Some False))].out" | 29 +- ... \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" | 12 +- ...\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" | 12 +- ...ut[map_size.tz-111-{ Elt \"a\" 1 }-1].out" | 12 +- ...act_input_output[map_size.tz-111-{}-0].out | 12 +- ...ct_input_output[mul.tz-Unit-Unit-Unit].out | 110 ++-- ...0-257-0x0101000000000000000.be11332c7f.out | 26 +- ...2-16-0x10000000000000000000.8230fb4fac.out | 26 +- ...act_input_output[neg.tz-0-(Left -2)-2].out | 16 +- ...ract_input_output[neg.tz-0-(Left 0)-0].out | 16 +- ...act_input_output[neg.tz-0-(Left 2)--2].out | 16 +- ...act_input_output[neg.tz-0-(Right 0)-0].out | 16 +- ...ct_input_output[neg.tz-0-(Right 2)--2].out | 16 +- ...nput_output[none.tz-Some 10-Unit-None].out | 12 +- ..._output[not.tz-None-False-(Some True)].out | 14 +- ..._output[not.tz-None-True-(Some False)].out | 14 +- ...not_binary.tz-None-(Left -8)-(Some 7)].out | 18 +- ...not_binary.tz-None-(Left -9)-(Some 8)].out | 18 +- ...not_binary.tz-None-(Left 0)-(Some -1)].out | 18 +- ...not_binary.tz-None-(Left 7)-(Some -8)].out | 18 +- ...not_binary.tz-None-(Left 8)-(Some -9)].out | 18 +- ...ot_binary.tz-None-(Right 0)-(Some -1)].out | 18 +- ...ot_binary.tz-None-(Right 7)-(Some -8)].out | 18 +- ...ot_binary.tz-None-(Right 8)-(Some -9)].out | 18 +- ...-None-(Pair False False)-(Some False)].out | 22 +- ...tz-None-(Pair False True)-(Some True)].out | 22 +- ...tz-None-(Pair True False)-(Some True)].out | 22 +- ....tz-None-(Pair True True)-(Some True)].out | 22 +- ...or_binary.tz-None-(Pair 0 8)-(Some 8)].out | 16 +- ..._binary.tz-None-(Pair 14 1)-(Some 15)].out | 16 +- ..._binary.tz-None-(Pair 15 4)-(Some 15)].out | 16 +- ...r_binary.tz-None-(Pair 4 8)-(Some 12)].out | 16 +- ...or_binary.tz-None-(Pair 7 7)-(Some 7)].out | 16 +- ...or_binary.tz-None-(Pair 8 0)-(Some 8)].out | 16 +- ... (Pair 1 (Pair \"foobar\".368bdfd73a.out" | 371 ++++++------- ... (Pair 1 (Pair \"foobar\".735d9ae802.out" | 371 ++++++------- ...ir \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" | 512 ++++++++---------- ...ir \"edpkuBknW28nW72KG6RoH.4e20b52378.out" | 491 ++++++++--------- ...alse False)-(Some (Pair False False))].out | 12 +- ... False True)-(Some (Pair False True))].out | 12 +- ... True False)-(Some (Pair True False))].out | 12 +- ...ir True True)-(Some (Pair True True))].out | 12 +- ...ntract_input_output[pexec.tz-14-38-52].out | 39 +- ... 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out | 214 ++++---- ...utput[ret_int.tz-None-Unit-(Some 300)].out | 14 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 37 +- ...input_output[reverse.tz-{\"\"}-{}-{}].out" | 16 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 119 ++-- ..._output[reverse_loop.tz-{\"\"}-{}-{}].out" | 39 +- ...tput[sapling_empty_state.tz-{}-Unit-0].out | 12 +- ...output[self_address.tz-Unit-Unit-Unit].out | 40 +- ..._default_entrypoint.tz-Unit-Unit-Unit].out | 38 +- ...entrypoint.tz-Unit-Left (Left 0)-Unit].out | 93 ++-- ...Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" | 34 +- ..."hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" | 34 +- ...lo\" 0)-\"world\"-(Pair \"world\" 0)].out" | 34 +- ...ir \"hello\" 0)-1-(Pair \"hello\" 1)].out" | 32 +- ... \"hello\" 500)-3-(Pair \"hello\" 3)].out" | 32 +- ..."hello\" 7)-100-(Pair \"hello\" 100)].out" | 32 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 10 +- ...; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" | 10 +- ...tract_input_output[set_id.tz-{}-{}-{}].out | 10 +- ..._iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out | 44 +- ..._input_output[set_iter.tz-111-{ 1 }-1].out | 23 +- ...act_input_output[set_iter.tz-111-{}-0].out | 16 +- ..."World\" } None)-\"\"-(Pai.3d2044726e.out" | 49 +- ...)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" | 49 +- ... None)-\"Hi\"-(Pair {} (Some False))].out" | 49 +- ...ze.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out | 12 +- ...utput[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out | 12 +- ..._input_output[set_size.tz-111-{ 1 }-1].out | 12 +- ...act_input_output[set_size.tz-111-{}-0].out | 12 +- ...0776f726c6421-(Some 0xf345a.a07ae9dddf.out | 15 +- ...ts.tz-None-(Left (Pair 0 0))-(Some 0)].out | 20 +- ...ts.tz-None-(Left (Pair 0 1))-(Some 0)].out | 20 +- ...ts.tz-None-(Left (Pair 1 2))-(Some 4)].out | 20 +- ....tz-None-(Left (Pair 15 2))-(Some 60)].out | 20 +- ...s.tz-None-(Left (Pair 8 1))-(Some 16)].out | 20 +- ...s.tz-None-(Right (Pair 0 0))-(Some 0)].out | 20 +- ...s.tz-None-(Right (Pair 0 1))-(Some 0)].out | 20 +- ...s.tz-None-(Right (Pair 1 2))-(Some 0)].out | 20 +- ....tz-None-(Right (Pair 15 2))-(Some 3)].out | 20 +- ...s.tz-None-(Right (Pair 8 1))-(Some 4)].out | 20 +- ...ut_output[slice.tz-None-Pair 0 0-None].out | 22 +- ...tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" | 25 +- ...slice.tz-Some \"Foo\"-Pair 0 10-None].out" | 25 +- ...-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" | 25 +- ...z-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" | 25 +- ...[slice.tz-Some \"Foo\"-Pair 1 3-None].out" | 25 +- ...slice.tz-Some \"Foo\"-Pair 10 5-None].out" | 25 +- ...FooFooFooFooFooFooFooFooFo.c508d67bb0.out" | 25 +- ...put[slice_bytes.tz-None-Pair 0 1-None].out | 22 +- ...s.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out | 25 +- ...tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out | 25 +- ...z-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out | 25 +- ...z-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out | 25 +- ...-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out | 25 +- ..._bytes.tz-Some 0xaabbcc-Pair 1 3-None].out | 25 +- ...aabbccaabbccaabbccaabbccaab.df5895de85.out | 25 +- ...d.tz-None-\"Hello\"-(Some \"Hello\")].out" | 12 +- ..._id.tz-None-\"abcd\"-(Some \"abcd\")].out" | 12 +- ...r 100 -100)-\"1970-01-01T00:03:20Z\"].out" | 24 +- ...ir 100 100)-\"1970-01-01T00:00:00Z\"].out" | 24 +- ...Pair 100 200000000000000000.3db82d2c25.out | 24 +- ...00000 1000000)-(Some (Pair .b461aa042b.out | 50 +- ...10000 1010000)-(Some (Pair .1e8cf7679c.out | 50 +- ...t_output[uncomb.tz-0-(Pair 1 4 2)-142].out | 26 +- ...input_output[unpair.tz-Unit-Unit-Unit].out | 320 ++++++----- ...dpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" | 24 +- ...Pair False False)-(Some (Left False))].out | 22 +- ... (Pair False True)-(Some (Left True))].out | 22 +- ... (Pair True False)-(Some (Left True))].out | 22 +- ... (Pair True True)-(Some (Left False))].out | 22 +- ...one-Right (Pair 0 0)-(Some (Right 0))].out | 22 +- ...one-Right (Pair 0 1)-(Some (Right 1))].out | 22 +- ...one-Right (Pair 1 0)-(Some (Right 1))].out | 22 +- ...one-Right (Pair 1 1)-(Some (Right 0))].out | 22 +- ...-Right (Pair 42 21)-(Some (Right 63))].out | 22 +- ...-Right (Pair 42 63)-(Some (Right 21))].out | 22 +- ...s.TestContractOpcodes::test_packunpack.out | 72 ++- tests_python/tests_alpha/test_contract.py | 17 + 373 files changed, 6423 insertions(+), 7726 deletions(-) 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 b1b7413efbdb..50414dccb8b9 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: 6615.952 units (will add 100 for safety) +Estimated gas: 6615.027 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -27,7 +27,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 82 bytes - Consumed gas: 3945.464 + Consumed gas: 3945.104 Internal operations: 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: 2670.488 + Consumed gas: 2669.923 Injected block [BLOCK_HASH] 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 c7a92baac8f4..4733fe49bbdb 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 @@ -45,7 +45,7 @@ Contract memorized as level. Injected block [BLOCK_HASH] Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2226.375 units (will add 100 for safety) +Estimated gas: 2226.210 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -70,7 +70,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 4 Storage size: 40 bytes - Consumed gas: 2226.375 + Consumed gas: 2226.210 Balance updates: [CONTRACT_HASH] ... -ꜩ500 [CONTRACT_HASH] ... +ꜩ500 @@ -87,7 +87,7 @@ Injected block [BLOCK_HASH] Injected block [BLOCK_HASH] 4 Node is bootstrapped. -Estimated gas: 2226.369 units (will add 100 for safety) +Estimated gas: 2226.204 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -112,7 +112,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 7 Storage size: 40 bytes - Consumed gas: 2226.369 + Consumed gas: 2226.204 Balance updates: [CONTRACT_HASH] ... -ꜩ500 [CONTRACT_HASH] ... +ꜩ500 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 a3f578a0bca7..1e13f9e7ff79 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 @@ -46,7 +46,7 @@ Injected block [BLOCK_HASH] Injected block [BLOCK_HASH] none Node is bootstrapped. -Estimated gas: 3519.936 units (will add 100 for safety) +Estimated gas: 3519.666 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: Unit Storage size: 51 bytes - Consumed gas: 2519.936 + Consumed gas: 2519.666 Internal operations: Delegation: Contract: [CONTRACT_HASH] @@ -83,7 +83,7 @@ This sequence of operations was run: Injected block [BLOCK_HASH] [CONTRACT_HASH] (known as bootstrap5) Node is bootstrapped. -Estimated gas: 3494.396 units (will add 100 for safety) +Estimated gas: 3494.126 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -109,7 +109,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 51 bytes - Consumed gas: 2494.396 + Consumed gas: 2494.126 Internal operations: Delegation: Contract: [CONTRACT_HASH] 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 068df5e848ef..91bb01efeb44 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: 6724.306 units (will add 100 for safety) +Estimated gas: 6720.256 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.00119 Expected counter: [EXPECTED_COUNTER] - Gas limit: 6825 + Gas limit: 6821 Storage limit: 277 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.00119 @@ -29,7 +29,7 @@ This sequence of operations was run: Updated storage: [OPERATION_HASH]48f709699019725ba Storage size: 578 bytes - Consumed gas: 5297.306 + Consumed gas: 5293.256 Internal operations: 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 f3fbf6a5f3e8..4b02fa2d4b92 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 @@ -44,7 +44,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as source. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2543.074 units (will add 100 for safety) +Estimated gas: 2542.909 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -57,7 +57,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000513 Expected counter: [EXPECTED_COUNTER] - Gas limit: 2644 + Gas limit: 2643 Storage limit: 0 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000513 @@ -69,14 +69,14 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c Storage size: 65 bytes - Consumed gas: 2543.074 + Consumed gas: 2542.909 Injected block [BLOCK_HASH] "[CONTRACT_HASH]" [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 5960.632 units (will add 100 for safety) +Estimated gas: 5960.137 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -102,7 +102,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 55 bytes - Consumed gas: 3417.558 + Consumed gas: 3417.228 Internal operations: Transaction: Amount: ꜩ0 @@ -111,7 +111,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c Storage size: 65 bytes - Consumed gas: 2543.074 + Consumed gas: 2542.909 Injected block [BLOCK_HASH] "[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 c1e2f2779a32..3cb1167c59ac 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 @@ -66,7 +66,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_bytes. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 3486.397 units (will add 100 for safety) +Estimated gas: 3482.227 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]' @@ -79,7 +79,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.00062 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3587 + Gas limit: 3583 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.00062 @@ -93,14 +93,14 @@ This sequence of operations was run: Updated storage: { 0xaa ; 0xbb ; 0xcc } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 3486.397 + Consumed gas: 3482.227 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 Injected block [BLOCK_HASH] { 0xaa ; 0xbb ; 0xcc } Node is bootstrapped. -Estimated gas: 3626.737 units (will add 100 for safety) +Estimated gas: 3622.117 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]' @@ -113,7 +113,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000634 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3727 + Gas limit: 3723 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000634 @@ -127,7 +127,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: 3626.737 + Consumed gas: 3622.117 Balance updates: [CONTRACT_HASH] ... -ꜩ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 bdb22514412f..8b14d6e3d56a 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 @@ -66,7 +66,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_string. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 3456.441 units (will add 100 for safety) +Estimated gas: 3452.271 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]' @@ -79,7 +79,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000617 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3557 + Gas limit: 3553 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000617 @@ -93,14 +93,14 @@ This sequence of operations was run: Updated storage: { "a" ; "b" ; "c" } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 3456.441 + Consumed gas: 3452.271 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 Injected block [BLOCK_HASH] { "a" ; "b" ; "c" } Node is bootstrapped. -Estimated gas: 3512.853 units (will add 100 for safety) +Estimated gas: 3508.233 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]' @@ -111,13 +111,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.000623 + Fee to the baker: ꜩ0.000622 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3613 + Gas limit: 3609 Storage limit: 38 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000623 - fees(the baker who will include this operation,3) ... +ꜩ0.000623 + [CONTRACT_HASH] ................ -ꜩ0.000622 + fees(the baker who will include this operation,3) ... +ꜩ0.000622 Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -127,7 +127,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: 3512.853 + Consumed gas: 3508.233 Balance updates: [CONTRACT_HASH] ... -ꜩ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 01b5e627bafe..55121dacf768 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 @@ -108,7 +108,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as store_input. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2211.644 units (will add 100 for safety) +Estimated gas: 2211.509 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]' @@ -135,7 +135,7 @@ This sequence of operations was run: Updated storage: "abcdefg" Storage size: 48 bytes Paid storage size diff: 7 bytes - Consumed gas: 2211.644 + Consumed gas: 2211.509 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00175 [CONTRACT_HASH] ... -ꜩ100 @@ -145,7 +145,7 @@ Injected block [BLOCK_HASH] 200 ꜩ "abcdefg" Node is bootstrapped. -Estimated gas: 2211.672 units (will add 100 for safety) +Estimated gas: 2211.537 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -171,7 +171,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: "xyz" Storage size: 44 bytes - Consumed gas: 2211.672 + Consumed gas: 2211.537 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 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 d929da40e76f..53459b7f590f 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 @@ -44,7 +44,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as transfer_amount. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2224.340 units (will add 100 for safety) +Estimated gas: 2224.175 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]' @@ -70,7 +70,7 @@ This sequence of operations was run: Updated storage: 500000000 Storage size: 44 bytes Paid storage size diff: 4 bytes - Consumed gas: 2224.340 + Consumed gas: 2224.175 Balance updates: [CONTRACT_HASH] ... -ꜩ0.001 [CONTRACT_HASH] ... -ꜩ500 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 b9085586e4a1..0fee42aec703 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 @@ -137,7 +137,7 @@ Injected block [BLOCK_HASH] [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 5463.131 units (will add 100 for safety) +Estimated gas: 5462.606 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -150,7 +150,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000854 Expected counter: [EXPECTED_COUNTER] - Gas limit: 5564 + Gas limit: 5563 Storage limit: 0 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000854 @@ -163,7 +163,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 66 bytes - Consumed gas: 3251.631 + Consumed gas: 3251.241 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -175,7 +175,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 38 bytes - Consumed gas: 2211.500 + Consumed gas: 2211.365 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -185,7 +185,7 @@ Injected block [BLOCK_HASH] [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 5463.131 units (will add 100 for safety) +Estimated gas: 5462.606 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -198,7 +198,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000854 Expected counter: [EXPECTED_COUNTER] - Gas limit: 5564 + Gas limit: 5563 Storage limit: 0 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000854 @@ -211,7 +211,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 66 bytes - Consumed gas: 3251.631 + Consumed gas: 3251.241 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -223,7 +223,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 38 bytes - Consumed gas: 2211.500 + Consumed gas: 2211.365 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 3acb6284f0f2..bc6f028c294d 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,35 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["hello"] to 4 trace - - location: 11 (remaining gas: 1039988.651 units remaining) + - location: 13 (remaining gas: 1039988.651 units remaining) [ (Pair "hello" (Some 4) {}) ] - - location: 13 (remaining gas: 1039988.541 units remaining) + - location: 13 (remaining gas: 1039988.601 units remaining) [ "hello" @parameter (Pair (Some 4) {}) @storage ] - - location: 16 (remaining gas: 1039988.386 units remaining) + - location: 14 (remaining gas: 1039988.556 units remaining) + [ (Pair (Some 4) {}) @storage ] + - location: 16 (remaining gas: 1039988.506 units remaining) [ (Some 4) {} ] - - location: 15 (remaining gas: 1039988.341 units remaining) - [ (Some 4) - {} ] - - location: 14 (remaining gas: 1039988.341 units remaining) - [ "hello" @parameter - (Some 4) - {} ] - - location: -1 (remaining gas: 1039988.296 units remaining) + - location: 14 (remaining gas: 1039988.506 units remaining) [ "hello" @parameter (Some 4) {} ] - - location: 17 (remaining gas: 1039975.349 units remaining) + - location: 17 (remaining gas: 1039975.589 units remaining) [ None { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039975.274 units remaining) + - location: 18 (remaining gas: 1039975.544 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039975.199 units remaining) + - location: 19 (remaining gas: 1039975.499 units remaining) [ {} (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039975.124 units remaining) - [ (Pair {} None { Elt "hello" 4 }) ] - - location: -1 (remaining gas: 1039975.079 units remaining) + - location: 21 (remaining gas: 1039975.454 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 23a2935699ac..1f41782fed9e 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,35 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["hello"] to 5 trace - - location: 11 (remaining gas: 1039975.271 units remaining) + - location: 13 (remaining gas: 1039975.271 units remaining) [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039975.161 units remaining) + - location: 13 (remaining gas: 1039975.221 units remaining) [ "hello" @parameter (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039975.006 units remaining) + - location: 14 (remaining gas: 1039975.176 units remaining) + [ (Pair (Some 5) { Elt "hello" 4 }) @storage ] + - location: 16 (remaining gas: 1039975.126 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039974.961 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039974.961 units remaining) - [ "hello" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039974.916 units remaining) + - location: 14 (remaining gas: 1039975.126 units remaining) [ "hello" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039961.963 units remaining) + - location: 17 (remaining gas: 1039962.203 units remaining) [ (Some 4) { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039961.888 units remaining) + - location: 18 (remaining gas: 1039962.158 units remaining) [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039961.813 units remaining) + - location: 19 (remaining gas: 1039962.113 units remaining) [ {} (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039961.738 units remaining) - [ (Pair {} (Some 4) { Elt "hello" 5 }) ] - - location: -1 (remaining gas: 1039961.693 units remaining) + - location: 21 (remaining gas: 1039962.068 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 d46c1f18ddb6..e49d05908ae4 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,35 +9,28 @@ big_map diff Set map(4)["hello"] to 4 Set map(4)["hi"] to 5 trace - - location: 11 (remaining gas: 1039975.301 units remaining) + - location: 13 (remaining gas: 1039975.301 units remaining) [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039975.191 units remaining) + - location: 13 (remaining gas: 1039975.251 units remaining) [ "hi" @parameter (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039975.036 units remaining) + - location: 14 (remaining gas: 1039975.206 units remaining) + [ (Pair (Some 5) { Elt "hello" 4 }) @storage ] + - location: 16 (remaining gas: 1039975.156 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039974.991 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039974.991 units remaining) - [ "hi" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039974.946 units remaining) + - location: 14 (remaining gas: 1039975.156 units remaining) [ "hi" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039965.996 units remaining) + - location: 17 (remaining gas: 1039966.236 units remaining) [ None { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039965.921 units remaining) + - location: 18 (remaining gas: 1039966.191 units remaining) [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039965.846 units remaining) + - location: 19 (remaining gas: 1039966.146 units remaining) [ {} (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039965.771 units remaining) - [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: -1 (remaining gas: 1039965.726 units remaining) + - location: 21 (remaining gas: 1039966.101 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 f4af06b36dcd..37b6db86b7e8 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,35 +9,28 @@ big_map diff Set map(4)["2"] to 2 Unset map(4)["1"] trace - - location: 11 (remaining gas: 1039970.137 units remaining) + - location: 13 (remaining gas: 1039970.137 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039970.027 units remaining) + - location: 13 (remaining gas: 1039970.087 units remaining) [ "1" @parameter (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039969.872 units remaining) + - location: 14 (remaining gas: 1039970.042 units remaining) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] + - location: 16 (remaining gas: 1039969.992 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039969.827 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039969.827 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039969.782 units remaining) + - location: 14 (remaining gas: 1039969.992 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039960.830 units remaining) + - location: 17 (remaining gas: 1039961.070 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039960.755 units remaining) + - location: 18 (remaining gas: 1039961.025 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039960.680 units remaining) + - location: 19 (remaining gas: 1039960.980 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039960.605 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039960.560 units remaining) + - location: 21 (remaining gas: 1039960.935 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 537f556aebee..f84484ab30b3 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,35 +9,28 @@ big_map diff Set map(4)["2"] to 2 Unset map(4)["1"] trace - - location: 11 (remaining gas: 1039970.137 units remaining) + - location: 13 (remaining gas: 1039970.137 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039970.027 units remaining) + - location: 13 (remaining gas: 1039970.087 units remaining) [ "1" @parameter (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039969.872 units remaining) + - location: 14 (remaining gas: 1039970.042 units remaining) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] + - location: 16 (remaining gas: 1039969.992 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039969.827 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039969.827 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039969.782 units remaining) + - location: 14 (remaining gas: 1039969.992 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039960.830 units remaining) + - location: 17 (remaining gas: 1039961.070 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039960.755 units remaining) + - location: 18 (remaining gas: 1039961.025 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039960.680 units remaining) + - location: 19 (remaining gas: 1039960.980 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039960.605 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039960.560 units remaining) + - location: 21 (remaining gas: 1039960.935 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 694a95a4a6f4..6316073fd51b 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,35 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Unset map(4)["hello"] trace - - location: 11 (remaining gas: 1039975.511 units remaining) + - location: 13 (remaining gas: 1039975.511 units remaining) [ (Pair "hello" None { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039975.401 units remaining) + - location: 13 (remaining gas: 1039975.461 units remaining) [ "hello" @parameter (Pair None { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039975.246 units remaining) + - location: 14 (remaining gas: 1039975.416 units remaining) + [ (Pair None { Elt "hello" 4 }) @storage ] + - location: 16 (remaining gas: 1039975.366 units remaining) [ None { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039975.201 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039975.201 units remaining) - [ "hello" @parameter - None - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039975.156 units remaining) + - location: 14 (remaining gas: 1039975.366 units remaining) [ "hello" @parameter None { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039962.203 units remaining) + - location: 17 (remaining gas: 1039962.443 units remaining) [ (Some 4) {} ] - - location: 18 (remaining gas: 1039962.128 units remaining) + - location: 18 (remaining gas: 1039962.398 units remaining) [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039962.053 units remaining) + - location: 19 (remaining gas: 1039962.353 units remaining) [ {} (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039961.978 units remaining) - [ (Pair {} (Some 4) {}) ] - - location: -1 (remaining gas: 1039961.933 units remaining) + - location: 21 (remaining gas: 1039962.308 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 df41a812e717..bad061762ec6 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,35 +8,28 @@ big_map diff New map(4) of type (big_map string nat) Unset map(4)["hello"] trace - - location: 11 (remaining gas: 1039988.891 units remaining) + - location: 13 (remaining gas: 1039988.891 units remaining) [ (Pair "hello" None {}) ] - - location: 13 (remaining gas: 1039988.781 units remaining) + - location: 13 (remaining gas: 1039988.841 units remaining) [ "hello" @parameter (Pair None {}) @storage ] - - location: 16 (remaining gas: 1039988.626 units remaining) + - location: 14 (remaining gas: 1039988.796 units remaining) + [ (Pair None {}) @storage ] + - location: 16 (remaining gas: 1039988.746 units remaining) [ None {} ] - - location: 15 (remaining gas: 1039988.581 units remaining) - [ None - {} ] - - location: 14 (remaining gas: 1039988.581 units remaining) - [ "hello" @parameter - None - {} ] - - location: -1 (remaining gas: 1039988.536 units remaining) + - location: 14 (remaining gas: 1039988.746 units remaining) [ "hello" @parameter None {} ] - - location: 17 (remaining gas: 1039975.589 units remaining) + - location: 17 (remaining gas: 1039975.829 units remaining) [ None {} ] - - location: 18 (remaining gas: 1039975.514 units remaining) + - location: 18 (remaining gas: 1039975.784 units remaining) [ (Pair None {}) ] - - location: 19 (remaining gas: 1039975.439 units remaining) + - location: 19 (remaining gas: 1039975.739 units remaining) [ {} (Pair None {}) ] - - location: 21 (remaining gas: 1039975.364 units remaining) - [ (Pair {} None {}) ] - - location: -1 (remaining gas: 1039975.319 units remaining) + - location: 21 (remaining gas: 1039975.694 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 e16a9e7e4ff7..279796f05afc 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,43 +9,38 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "one" trace - - location: 11 (remaining gas: 1039965.019 units remaining) + - location: 12 (remaining gas: 1039965.019 units remaining) [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 12 (remaining gas: 1039964.939 units remaining) + - location: 12 (remaining gas: 1039964.969 units remaining) [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 13 (remaining gas: 1039964.859 units remaining) + - location: 13 (remaining gas: 1039964.919 units remaining) [ "1" @parameter (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 17 (remaining gas: 1039964.674 units remaining) + - location: 14 (remaining gas: 1039964.874 units remaining) + [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] + - location: 17 (remaining gas: 1039964.824 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } None) @storage ] - - location: 18 (remaining gas: 1039964.594 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039964.549 units remaining) + - location: 18 (remaining gas: 1039964.774 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: 19 (remaining gas: 1039964.469 units remaining) + - location: 19 (remaining gas: 1039964.724 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039964.424 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039964.424 units remaining) + - location: 14 (remaining gas: 1039964.724 units remaining) [ "1" @parameter { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039955.562 units remaining) + - location: 20 (remaining gas: 1039955.892 units remaining) [ (Some "one") { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039955.492 units remaining) + - location: 21 (remaining gas: 1039955.852 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } (Some "one") ] - - location: 22 (remaining gas: 1039955.417 units remaining) + - location: 22 (remaining gas: 1039955.807 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 23 (remaining gas: 1039955.342 units remaining) + - location: 23 (remaining gas: 1039955.762 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 25 (remaining gas: 1039955.267 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: -1 (remaining gas: 1039955.222 units remaining) + - location: 25 (remaining gas: 1039955.717 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 2c05229b9c34..4b7a86c90a06 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,43 +8,38 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["hello"] to "hi" trace - - location: 11 (remaining gas: 1039970.497 units remaining) + - location: 12 (remaining gas: 1039970.497 units remaining) [ (Pair "" { Elt "hello" "hi" } None) ] - - location: 12 (remaining gas: 1039970.417 units remaining) + - location: 12 (remaining gas: 1039970.447 units remaining) [ (Pair "" { Elt "hello" "hi" } None) (Pair "" { Elt "hello" "hi" } None) ] - - location: 13 (remaining gas: 1039970.337 units remaining) + - location: 13 (remaining gas: 1039970.397 units remaining) [ "" @parameter (Pair "" { Elt "hello" "hi" } None) ] - - location: 17 (remaining gas: 1039970.152 units remaining) + - location: 14 (remaining gas: 1039970.352 units remaining) + [ (Pair "" { Elt "hello" "hi" } None) ] + - location: 17 (remaining gas: 1039970.302 units remaining) [ (Pair { Elt "hello" "hi" } None) @storage ] - - location: 18 (remaining gas: 1039970.072 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039970.027 units remaining) + - location: 18 (remaining gas: 1039970.252 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039969.947 units remaining) + - location: 19 (remaining gas: 1039970.202 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039969.902 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039969.902 units remaining) + - location: 14 (remaining gas: 1039970.202 units remaining) [ "" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039961.042 units remaining) + - location: 20 (remaining gas: 1039961.372 units remaining) [ None { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039960.972 units remaining) + - location: 21 (remaining gas: 1039961.332 units remaining) [ { Elt "hello" "hi" } None ] - - location: 22 (remaining gas: 1039960.897 units remaining) + - location: 22 (remaining gas: 1039961.287 units remaining) [ (Pair { Elt "hello" "hi" } None) ] - - location: 23 (remaining gas: 1039960.822 units remaining) + - location: 23 (remaining gas: 1039961.242 units remaining) [ {} (Pair { Elt "hello" "hi" } None) ] - - location: 25 (remaining gas: 1039960.747 units remaining) - [ (Pair {} { Elt "hello" "hi" } None) ] - - location: -1 (remaining gas: 1039960.702 units remaining) + - location: 25 (remaining gas: 1039961.197 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 7b96aa3adae0..ad6934c7fcb8 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,43 +8,38 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["hello"] to "hi" trace - - location: 11 (remaining gas: 1039970.447 units remaining) + - location: 12 (remaining gas: 1039970.447 units remaining) [ (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 12 (remaining gas: 1039970.367 units remaining) + - location: 12 (remaining gas: 1039970.397 units remaining) [ (Pair "hello" { Elt "hello" "hi" } None) (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 13 (remaining gas: 1039970.287 units remaining) + - location: 13 (remaining gas: 1039970.347 units remaining) [ "hello" @parameter (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 17 (remaining gas: 1039970.102 units remaining) + - location: 14 (remaining gas: 1039970.302 units remaining) + [ (Pair "hello" { Elt "hello" "hi" } None) ] + - location: 17 (remaining gas: 1039970.252 units remaining) [ (Pair { Elt "hello" "hi" } None) @storage ] - - location: 18 (remaining gas: 1039970.022 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039969.977 units remaining) + - location: 18 (remaining gas: 1039970.202 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039969.897 units remaining) + - location: 19 (remaining gas: 1039970.152 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039969.852 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039969.852 units remaining) + - location: 14 (remaining gas: 1039970.152 units remaining) [ "hello" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039956.986 units remaining) + - location: 20 (remaining gas: 1039957.316 units remaining) [ (Some "hi") { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039956.916 units remaining) + - location: 21 (remaining gas: 1039957.276 units remaining) [ { Elt "hello" "hi" } (Some "hi") ] - - location: 22 (remaining gas: 1039956.841 units remaining) + - location: 22 (remaining gas: 1039957.231 units remaining) [ (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 23 (remaining gas: 1039956.766 units remaining) + - location: 23 (remaining gas: 1039957.186 units remaining) [ {} (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 25 (remaining gas: 1039956.691 units remaining) - [ (Pair {} { Elt "hello" "hi" } (Some "hi")) ] - - location: -1 (remaining gas: 1039956.646 units remaining) + - location: 25 (remaining gas: 1039957.141 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 97ddd0268256..1de250d14c26 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,35 +9,28 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "one" trace - - location: 13 (remaining gas: 1039967.843 units remaining) + - location: 15 (remaining gas: 1039967.843 units remaining) [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039967.733 units remaining) + - location: 15 (remaining gas: 1039967.793 units remaining) [ {} @parameter (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039967.578 units remaining) + - location: 16 (remaining gas: 1039967.748 units remaining) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] + - location: 18 (remaining gas: 1039967.698 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 17 (remaining gas: 1039967.533 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039967.533 units remaining) - [ {} @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039967.488 units remaining) + - location: 16 (remaining gas: 1039967.698 units remaining) [ {} @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039967.378 units remaining) + - location: 19 (remaining gas: 1039967.618 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039967.303 units remaining) + - location: 23 (remaining gas: 1039967.573 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039967.228 units remaining) + - location: 24 (remaining gas: 1039967.528 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039967.153 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039967.108 units remaining) + - location: 26 (remaining gas: 1039967.483 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 fc0f4ce5f427..3965d01d448e 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,46 +9,40 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "two" trace - - location: 13 (remaining gas: 1039966.975 units remaining) + - location: 15 (remaining gas: 1039966.975 units remaining) [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039966.865 units remaining) + - location: 15 (remaining gas: 1039966.925 units remaining) [ { Elt "1" (Some "two") } @parameter (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039966.710 units remaining) + - location: 16 (remaining gas: 1039966.880 units remaining) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] + - location: 18 (remaining gas: 1039966.830 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 17 (remaining gas: 1039966.665 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039966.665 units remaining) + - location: 16 (remaining gas: 1039966.830 units remaining) [ { Elt "1" (Some "two") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039966.620 units remaining) - [ { Elt "1" (Some "two") } @parameter + - location: 19 (remaining gas: 1039966.710 units remaining) + [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.390 units remaining) + - location: 21 (remaining gas: 1039966.660 units remaining) [ "1" @key (Some "two") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.522 units remaining) + - location: 22 (remaining gas: 1039957.822 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039957.477 units remaining) + - location: 19 (remaining gas: 1039957.822 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.477 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039957.402 units remaining) + - location: 23 (remaining gas: 1039957.777 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.327 units remaining) + - location: 24 (remaining gas: 1039957.732 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.252 units remaining) - [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039957.207 units remaining) + - location: 26 (remaining gas: 1039957.687 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 3f4691a0186f..0209f0a89d17 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,46 +9,40 @@ big_map diff Set map(4)["2"] to "two" Set map(4)["1"] to "two" trace - - location: 13 (remaining gas: 1039966.975 units remaining) + - location: 15 (remaining gas: 1039966.975 units remaining) [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039966.865 units remaining) + - location: 15 (remaining gas: 1039966.925 units remaining) [ { Elt "1" (Some "two") } @parameter (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039966.710 units remaining) + - location: 16 (remaining gas: 1039966.880 units remaining) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] + - location: 18 (remaining gas: 1039966.830 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 17 (remaining gas: 1039966.665 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039966.665 units remaining) + - location: 16 (remaining gas: 1039966.830 units remaining) [ { Elt "1" (Some "two") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039966.620 units remaining) - [ { Elt "1" (Some "two") } @parameter + - location: 19 (remaining gas: 1039966.710 units remaining) + [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.390 units remaining) + - location: 21 (remaining gas: 1039966.660 units remaining) [ "1" @key (Some "two") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.522 units remaining) + - location: 22 (remaining gas: 1039957.822 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039957.477 units remaining) + - location: 19 (remaining gas: 1039957.822 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.477 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039957.402 units remaining) + - location: 23 (remaining gas: 1039957.777 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.327 units remaining) + - location: 24 (remaining gas: 1039957.732 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.252 units remaining) - [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039957.207 units remaining) + - location: 26 (remaining gas: 1039957.687 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 3e6e8f8d3b22..bb9c1c9ceffd 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,46 +10,40 @@ big_map diff Set map(4)["3"] to "three" Set map(4)["1"] to "one" trace - - location: 13 (remaining gas: 1039966.955 units remaining) + - location: 15 (remaining gas: 1039966.955 units remaining) [ (Pair { Elt "3" (Some "three") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039966.845 units remaining) + - location: 15 (remaining gas: 1039966.905 units remaining) [ { Elt "3" (Some "three") } @parameter (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039966.690 units remaining) + - location: 16 (remaining gas: 1039966.860 units remaining) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] + - location: 18 (remaining gas: 1039966.810 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 17 (remaining gas: 1039966.645 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039966.645 units remaining) + - location: 16 (remaining gas: 1039966.810 units remaining) [ { Elt "3" (Some "three") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039966.600 units remaining) - [ { Elt "3" (Some "three") } @parameter + - location: 19 (remaining gas: 1039966.690 units remaining) + [ (Pair "3" (Some "three")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.370 units remaining) + - location: 21 (remaining gas: 1039966.640 units remaining) [ "3" @key (Some "three") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.502 units remaining) + - location: 22 (remaining gas: 1039957.802 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: -1 (remaining gas: 1039957.457 units remaining) + - location: 19 (remaining gas: 1039957.802 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 19 (remaining gas: 1039957.457 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } - Unit ] - - location: 23 (remaining gas: 1039957.382 units remaining) + - location: 23 (remaining gas: 1039957.757 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 24 (remaining gas: 1039957.307 units remaining) + - location: 24 (remaining gas: 1039957.712 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 26 (remaining gas: 1039957.232 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: -1 (remaining gas: 1039957.187 units remaining) + - location: 26 (remaining gas: 1039957.667 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 fe26fd9f69d9..e714d734eeb6 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,46 +10,40 @@ big_map diff Unset map(4)["3"] Set map(4)["1"] to "one" trace - - location: 13 (remaining gas: 1039967.259 units remaining) + - location: 15 (remaining gas: 1039967.259 units remaining) [ (Pair { Elt "3" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039967.149 units remaining) + - location: 15 (remaining gas: 1039967.209 units remaining) [ { Elt "3" None } @parameter (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039966.994 units remaining) + - location: 16 (remaining gas: 1039967.164 units remaining) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] + - location: 18 (remaining gas: 1039967.114 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 17 (remaining gas: 1039966.949 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039966.949 units remaining) + - location: 16 (remaining gas: 1039967.114 units remaining) [ { Elt "3" None } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039966.904 units remaining) - [ { Elt "3" None } @parameter + - location: 19 (remaining gas: 1039966.994 units remaining) + [ (Pair "3" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.674 units remaining) + - location: 21 (remaining gas: 1039966.944 units remaining) [ "3" @key None @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.806 units remaining) + - location: 22 (remaining gas: 1039958.106 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039957.761 units remaining) + - location: 19 (remaining gas: 1039958.106 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.761 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039957.686 units remaining) + - location: 23 (remaining gas: 1039958.061 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.611 units remaining) + - location: 24 (remaining gas: 1039958.016 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.536 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039957.491 units remaining) + - location: 26 (remaining gas: 1039957.971 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 2990346581bb..df32b2be2cfe 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,46 +9,40 @@ big_map diff Unset map(4)["2"] Set map(4)["1"] to "one" trace - - location: 13 (remaining gas: 1039967.259 units remaining) + - location: 15 (remaining gas: 1039967.259 units remaining) [ (Pair { Elt "2" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039967.149 units remaining) + - location: 15 (remaining gas: 1039967.209 units remaining) [ { Elt "2" None } @parameter (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039966.994 units remaining) + - location: 16 (remaining gas: 1039967.164 units remaining) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] + - location: 18 (remaining gas: 1039967.114 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 17 (remaining gas: 1039966.949 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039966.949 units remaining) + - location: 16 (remaining gas: 1039967.114 units remaining) [ { Elt "2" None } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: -1 (remaining gas: 1039966.904 units remaining) - [ { Elt "2" None } @parameter + - location: 19 (remaining gas: 1039966.994 units remaining) + [ (Pair "2" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.674 units remaining) + - location: 21 (remaining gas: 1039966.944 units remaining) [ "2" @key None @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.806 units remaining) + - location: 22 (remaining gas: 1039958.106 units remaining) [ { Elt "1" "one" } Unit ] - - location: -1 (remaining gas: 1039957.761 units remaining) + - location: 19 (remaining gas: 1039958.106 units remaining) [ { Elt "1" "one" } Unit ] - - location: 19 (remaining gas: 1039957.761 units remaining) - [ { Elt "1" "one" } - Unit ] - - location: 23 (remaining gas: 1039957.686 units remaining) + - location: 23 (remaining gas: 1039958.061 units remaining) [ (Pair { Elt "1" "one" } Unit) ] - - location: 24 (remaining gas: 1039957.611 units remaining) + - location: 24 (remaining gas: 1039958.016 units remaining) [ {} (Pair { Elt "1" "one" } Unit) ] - - location: 26 (remaining gas: 1039957.536 units remaining) - [ (Pair {} { Elt "1" "one" } Unit) ] - - location: -1 (remaining gas: 1039957.491 units remaining) + - location: 26 (remaining gas: 1039957.971 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 e30228e69c94..5ef880ed3e8b 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 500000 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 500000 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 500000) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 1de529879f87..fcfdeea564f7 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 0 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 0 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 207cd967ccde..adac033a4c39 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 1000000000 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 1000000000 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 1000000000) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 923139947ac2..a949759e8f1b 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 1000000 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 1000000 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 1000000) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 55707f77821f..8965ba8bfa5e 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 1 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 1 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 bce6e2bcaa5a..b0cacfb8ec0e 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 5000000 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 5000000 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 5000000) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 a13d6c5603b9..e7539ab21b41 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 8000000000000000000 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 8000000000000000000 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 8000000000000000000) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 cb584cf514c4..949d871018ff 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,70 +11,72 @@ big_map diff Set map(4)["3"] to "three" Set map(4)["1"] to "one" trace - - location: 42 (remaining gas: 1039903.779 units remaining) + - location: 43 (remaining gas: 1039903.779 units remaining) [ (Pair (Right (Right (Right (Left { Pair "3" "three" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039903.699 units remaining) + - location: 43 (remaining gas: 1039903.729 units remaining) [ (Right (Right (Right (Left { Pair "3" "three" })))) @parameter (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 114 (remaining gas: 1039903.249 units remaining) + - location: 44 (remaining gas: 1039903.699 units remaining) + [ (Right (Right (Left { Pair "3" "three" }))) @parameter.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 60 (remaining gas: 1039903.669 units remaining) + [ (Right (Left { Pair "3" "three" })) @parameter.right.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 65 (remaining gas: 1039903.639 units remaining) + [ (Left { Pair "3" "three" }) @parameter.right.right.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 108 (remaining gas: 1039903.609 units remaining) + [ { Pair "3" "three" } @parameter.right.right.right.add + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 110 (remaining gas: 1039903.564 units remaining) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 113 (remaining gas: 1039903.534 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 112 (remaining gas: 1039903.204 units remaining) + - location: 114 (remaining gas: 1039903.489 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 119 (remaining gas: 1039903.124 units remaining) + - location: 119 (remaining gas: 1039903.439 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039903.079 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 110 (remaining gas: 1039903.079 units remaining) + - location: 110 (remaining gas: 1039903.439 units remaining) [ { Pair "3" "three" } @parameter.right.right.right.add { Elt "1" "one" } { Elt "2" "two" } ] - - location: 122 (remaining gas: 1039902.462 units remaining) + - location: 120 (remaining gas: 1039902.932 units remaining) + [ (Pair "3" "three") @parameter.right.right.right.add.elt + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 122 (remaining gas: 1039902.882 units remaining) [ "3" "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 125 (remaining gas: 1039902.312 units remaining) - [ (Some "three") + - location: 123 (remaining gas: 1039902.837 units remaining) + [ "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 124 (remaining gas: 1039902.267 units remaining) + - location: 125 (remaining gas: 1039902.792 units remaining) [ (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039902.267 units remaining) + - location: 123 (remaining gas: 1039902.792 units remaining) [ "3" (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 126 (remaining gas: 1039893.402 units remaining) - [ { Elt "1" "one" ; Elt "3" "three" } - { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039893.357 units remaining) + - location: 126 (remaining gas: 1039893.957 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039893.357 units remaining) + - location: 120 (remaining gas: 1039893.957 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 127 (remaining gas: 1039893.282 units remaining) + - location: 127 (remaining gas: 1039893.912 units remaining) [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] - - location: 128 (remaining gas: 1039893.207 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: -1 (remaining gas: 1039893.162 units remaining) + - location: 128 (remaining gas: 1039893.867 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 107 (remaining gas: 1039893.117 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 64 (remaining gas: 1039893.072 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 59 (remaining gas: 1039893.027 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039892.952 units remaining) + - location: 151 (remaining gas: 1039893.822 units remaining) [ {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039892.877 units remaining) - [ (Pair {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }))) ] - - location: -1 (remaining gas: 1039892.832 units remaining) + - location: 153 (remaining gas: 1039893.777 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 23162fb5692f..ba3db7ce8ea1 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,34 +10,33 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["2"] to "two" trace - - location: 42 (remaining gas: 1039905.682 units remaining) + - location: 43 (remaining gas: 1039905.682 units remaining) [ (Pair (Left Unit) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039905.602 units remaining) + - location: 43 (remaining gas: 1039905.632 units remaining) [ (Left Unit) @parameter (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 46 (remaining gas: 1039905.467 units remaining) + - location: 44 (remaining gas: 1039905.602 units remaining) + [ Unit @parameter.swap + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 46 (remaining gas: 1039905.557 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 49 (remaining gas: 1039905.332 units remaining) + - location: 48 (remaining gas: 1039905.527 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 47 (remaining gas: 1039905.287 units remaining) + - location: 49 (remaining gas: 1039905.482 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 54 (remaining gas: 1039905.207 units remaining) + - location: 54 (remaining gas: 1039905.432 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 55 (remaining gas: 1039905.137 units remaining) + - location: 55 (remaining gas: 1039905.392 units remaining) [ { Elt "2" "two" } { Elt "1" "one" } ] - - location: 56 (remaining gas: 1039905.062 units remaining) + - location: 56 (remaining gas: 1039905.347 units remaining) [ (Pair { Elt "2" "two" } { Elt "1" "one" }) ] - - location: 57 (remaining gas: 1039904.987 units remaining) - [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: -1 (remaining gas: 1039904.942 units remaining) + - location: 57 (remaining gas: 1039905.302 units remaining) [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 151 (remaining gas: 1039904.867 units remaining) + - location: 151 (remaining gas: 1039905.257 units remaining) [ {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 153 (remaining gas: 1039904.792 units remaining) - [ (Pair {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" }))) ] - - location: -1 (remaining gas: 1039904.747 units remaining) + - location: 153 (remaining gas: 1039905.212 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 6f45d404976d..7e8ebb483755 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,26 +10,26 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["3"] to "three" trace - - location: 42 (remaining gas: 1039884.434 units remaining) + - location: 43 (remaining gas: 1039884.434 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: 1039884.354 units remaining) + - location: 43 (remaining gas: 1039884.384 units remaining) [ (Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" })))) @parameter (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 62 (remaining gas: 1039884.164 units remaining) + - location: 44 (remaining gas: 1039884.354 units remaining) + [ (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) @parameter.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 60 (remaining gas: 1039884.324 units remaining) + [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) @parameter.right.reset + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 62 (remaining gas: 1039884.284 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) @parameter.right.reset ] - - location: 63 (remaining gas: 1039884.089 units remaining) - [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) @parameter.right.reset ] - - location: -1 (remaining gas: 1039884.044 units remaining) - [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) @parameter.right.reset ] - - location: 59 (remaining gas: 1039883.999 units remaining) + - location: 63 (remaining gas: 1039884.239 units remaining) [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 151 (remaining gas: 1039883.924 units remaining) + - location: 151 (remaining gas: 1039884.194 units remaining) [ {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 153 (remaining gas: 1039883.849 units remaining) - [ (Pair {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) ] - - location: -1 (remaining gas: 1039883.804 units remaining) + - location: 153 (remaining gas: 1039884.149 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 3ee2034a12e1..31b1245dada0 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,25 +7,25 @@ emitted operations big_map diff trace - - location: 42 (remaining gas: 1039904.452 units remaining) + - location: 43 (remaining gas: 1039904.452 units remaining) [ (Pair (Right (Left (Right Unit))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039904.372 units remaining) + - location: 43 (remaining gas: 1039904.402 units remaining) [ (Right (Left (Right Unit))) @parameter (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 62 (remaining gas: 1039904.182 units remaining) + - location: 44 (remaining gas: 1039904.372 units remaining) + [ (Left (Right Unit)) @parameter.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 60 (remaining gas: 1039904.342 units remaining) + [ (Right Unit) @parameter.right.reset + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 62 (remaining gas: 1039904.302 units remaining) [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage (Right Unit) @parameter.right.reset ] - - location: 63 (remaining gas: 1039904.107 units remaining) - [ (Right Unit) @parameter.right.reset ] - - location: -1 (remaining gas: 1039904.062 units remaining) - [ (Right Unit) @parameter.right.reset ] - - location: 59 (remaining gas: 1039904.017 units remaining) + - location: 63 (remaining gas: 1039904.257 units remaining) [ (Right Unit) ] - - location: 151 (remaining gas: 1039903.942 units remaining) + - location: 151 (remaining gas: 1039904.212 units remaining) [ {} (Right Unit) ] - - location: 153 (remaining gas: 1039903.867 units remaining) - [ (Pair {} (Right Unit)) ] - - location: -1 (remaining gas: 1039903.822 units remaining) + - location: 153 (remaining gas: 1039904.167 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 cd7f66f1f51f..a7b1567bd91f 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,65 +10,66 @@ big_map diff New map(4) of type (big_map string string) Unset map(4)["1"] trace - - location: 42 (remaining gas: 1039904.323 units remaining) + - location: 43 (remaining gas: 1039904.323 units remaining) [ (Pair (Right (Right (Right (Right { "1" })))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039904.243 units remaining) + - location: 43 (remaining gas: 1039904.273 units remaining) [ (Right (Right (Right (Right { "1" })))) @parameter (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 135 (remaining gas: 1039903.793 units remaining) + - location: 44 (remaining gas: 1039904.243 units remaining) + [ (Right (Right (Right { "1" }))) @parameter.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 60 (remaining gas: 1039904.213 units remaining) + [ (Right (Right { "1" })) @parameter.right.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 65 (remaining gas: 1039904.183 units remaining) + [ (Right { "1" }) @parameter.right.right.right + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 108 (remaining gas: 1039904.153 units remaining) + [ { "1" } @parameter.right.right.right.rem + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 131 (remaining gas: 1039904.108 units remaining) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] + - location: 134 (remaining gas: 1039904.078 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 133 (remaining gas: 1039903.748 units remaining) + - location: 135 (remaining gas: 1039904.033 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 140 (remaining gas: 1039903.668 units remaining) + - location: 140 (remaining gas: 1039903.983 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039903.623 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 131 (remaining gas: 1039903.623 units remaining) + - location: 131 (remaining gas: 1039903.983 units remaining) [ { "1" } @parameter.right.right.right.rem { Elt "1" "one" } { Elt "2" "two" } ] - - location: 145 (remaining gas: 1039902.936 units remaining) - [ None + - location: 141 (remaining gas: 1039903.476 units remaining) + [ "1" @parameter.right.right.right.rem.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 144 (remaining gas: 1039902.891 units remaining) + - location: 143 (remaining gas: 1039903.431 units remaining) + [ { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 145 (remaining gas: 1039903.386 units remaining) [ None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039902.891 units remaining) + - location: 143 (remaining gas: 1039903.386 units remaining) [ "1" @parameter.right.right.right.rem.elt None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 147 (remaining gas: 1039894.026 units remaining) + - location: 147 (remaining gas: 1039894.551 units remaining) [ {} { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039893.981 units remaining) + - location: 141 (remaining gas: 1039894.551 units remaining) [ {} { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039893.981 units remaining) - [ {} - { Elt "2" "two" } ] - - location: 148 (remaining gas: 1039893.906 units remaining) + - location: 148 (remaining gas: 1039894.506 units remaining) [ (Pair {} { Elt "2" "two" }) ] - - location: 149 (remaining gas: 1039893.831 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: -1 (remaining gas: 1039893.786 units remaining) + - location: 149 (remaining gas: 1039894.461 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 107 (remaining gas: 1039893.741 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 64 (remaining gas: 1039893.696 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 59 (remaining gas: 1039893.651 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039893.576 units remaining) + - location: 151 (remaining gas: 1039894.416 units remaining) [ {} (Left (Pair {} { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039893.501 units remaining) - [ (Pair {} (Left (Pair {} { Elt "2" "two" }))) ] - - location: -1 (remaining gas: 1039893.456 units remaining) + - location: 153 (remaining gas: 1039894.371 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 0e8aa02b16af..bb8af3f198bd 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,119 +10,120 @@ big_map diff New map(4) of type (big_map string string) Set map(4)["foo"] to "bar" trace - - location: 42 (remaining gas: 1039922.719 units remaining) + - location: 43 (remaining gas: 1039922.719 units remaining) [ (Pair (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) (Right Unit)) ] - - location: 43 (remaining gas: 1039922.639 units remaining) + - location: 43 (remaining gas: 1039922.669 units remaining) [ (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) @parameter (Right Unit) @storage ] - - location: 75 (remaining gas: 1039922.249 units remaining) + - location: 44 (remaining gas: 1039922.639 units remaining) + [ (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }))) @parameter.right + (Right Unit) @storage ] + - location: 60 (remaining gas: 1039922.609 units remaining) + [ (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })) @parameter.right.right + (Right Unit) @storage ] + - location: 65 (remaining gas: 1039922.579 units remaining) + [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) @parameter.right.right.import + (Right Unit) @storage ] + - location: 67 (remaining gas: 1039922.534 units remaining) + [ (Right Unit) @storage ] + - location: 70 (remaining gas: 1039922.504 units remaining) [ Unit @storage.right ] - - location: 69 (remaining gas: 1039922.204 units remaining) + - location: 75 (remaining gas: 1039922.459 units remaining) [ Unit @storage.right ] - - location: 76 (remaining gas: 1039922.129 units remaining) + - location: 76 (remaining gas: 1039922.414 units remaining) [ ] - - location: -1 (remaining gas: 1039922.084 units remaining) - [ ] - - location: 67 (remaining gas: 1039922.084 units remaining) + - location: 67 (remaining gas: 1039922.414 units remaining) [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) @parameter.right.right.import ] - - location: 77 (remaining gas: 1039922.004 units remaining) + - location: 77 (remaining gas: 1039922.364 units remaining) [ { Pair "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 80 (remaining gas: 1039921.699 units remaining) - [ {} - { Pair "gaz" "baz" } ] - - location: 79 (remaining gas: 1039921.654 units remaining) + - location: 78 (remaining gas: 1039922.319 units remaining) + [ { Pair "gaz" "baz" } ] + - location: 80 (remaining gas: 1039922.119 units remaining) [ {} { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039921.654 units remaining) + - location: 78 (remaining gas: 1039922.119 units remaining) [ { Pair "foo" "bar" } {} { Pair "gaz" "baz" } ] - - location: 85 (remaining gas: 1039921.037 units remaining) + - location: 83 (remaining gas: 1039921.612 units remaining) + [ (Pair "foo" "bar") @elt + {} + { Pair "gaz" "baz" } ] + - location: 85 (remaining gas: 1039921.562 units remaining) [ "foo" "bar" {} { Pair "gaz" "baz" } ] - - location: 88 (remaining gas: 1039920.887 units remaining) - [ (Some "bar") + - location: 86 (remaining gas: 1039921.517 units remaining) + [ "bar" {} { Pair "gaz" "baz" } ] - - location: 87 (remaining gas: 1039920.842 units remaining) + - location: 88 (remaining gas: 1039921.472 units remaining) [ (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039920.842 units remaining) + - location: 86 (remaining gas: 1039921.472 units remaining) [ "foo" (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 89 (remaining gas: 1039909.978 units remaining) - [ { Elt "foo" "bar" } - { Pair "gaz" "baz" } ] - - location: -1 (remaining gas: 1039909.933 units remaining) + - location: 89 (remaining gas: 1039910.638 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039909.933 units remaining) + - location: 83 (remaining gas: 1039910.638 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 90 (remaining gas: 1039909.863 units remaining) + - location: 90 (remaining gas: 1039910.598 units remaining) [ { Pair "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 93 (remaining gas: 1039909.558 units remaining) + - location: 91 (remaining gas: 1039910.553 units remaining) + [ { Elt "foo" "bar" } ] + - location: 93 (remaining gas: 1039910.353 units remaining) [ {} { Elt "foo" "bar" } ] - - location: 92 (remaining gas: 1039909.513 units remaining) - [ {} - { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039909.513 units remaining) + - location: 91 (remaining gas: 1039910.353 units remaining) [ { Pair "gaz" "baz" } {} { Elt "foo" "bar" } ] - - location: 98 (remaining gas: 1039908.896 units remaining) + - location: 96 (remaining gas: 1039909.846 units remaining) + [ (Pair "gaz" "baz") @elt + {} + { Elt "foo" "bar" } ] + - location: 98 (remaining gas: 1039909.796 units remaining) [ "gaz" "baz" {} { Elt "foo" "bar" } ] - - location: 101 (remaining gas: 1039908.746 units remaining) - [ (Some "baz") + - location: 99 (remaining gas: 1039909.751 units remaining) + [ "baz" {} { Elt "foo" "bar" } ] - - location: 100 (remaining gas: 1039908.701 units remaining) + - location: 101 (remaining gas: 1039909.706 units remaining) [ (Some "baz") {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039908.701 units remaining) + - location: 99 (remaining gas: 1039909.706 units remaining) [ "gaz" (Some "baz") {} { Elt "foo" "bar" } ] - - location: 102 (remaining gas: 1039897.837 units remaining) + - location: 102 (remaining gas: 1039898.872 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: -1 (remaining gas: 1039897.792 units remaining) + - location: 96 (remaining gas: 1039898.872 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039897.792 units remaining) - [ { Elt "gaz" "baz" } - { Elt "foo" "bar" } ] - - location: 103 (remaining gas: 1039897.722 units remaining) + - location: 103 (remaining gas: 1039898.832 units remaining) [ { Elt "foo" "bar" } { Elt "gaz" "baz" } ] - - location: 104 (remaining gas: 1039897.647 units remaining) + - location: 104 (remaining gas: 1039898.787 units remaining) [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] - - location: 105 (remaining gas: 1039897.572 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: -1 (remaining gas: 1039897.527 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 64 (remaining gas: 1039897.482 units remaining) + - location: 105 (remaining gas: 1039898.742 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 59 (remaining gas: 1039897.437 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 151 (remaining gas: 1039897.362 units remaining) + - location: 151 (remaining gas: 1039898.697 units remaining) [ {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 153 (remaining gas: 1039897.287 units remaining) - [ (Pair {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }))) ] - - location: -1 (remaining gas: 1039897.242 units remaining) + - location: 153 (remaining gas: 1039898.652 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 63f12971e486..df2e73c5d7e6 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: 8 (remaining gas: 1039944.376 units remaining) + - location: 9 (remaining gas: 1039944.376 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 9 (remaining gas: 1039944.296 units remaining) + - location: 9 (remaining gas: 1039944.326 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 10 (remaining gas: 1039944.216 units remaining) + - location: 10 (remaining gas: 1039944.276 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @@ -29,13 +29,20 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 13 (remaining gas: 1039944.061 units remaining) + - location: 11 (remaining gas: 1039944.231 units remaining) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 13 (remaining gas: 1039944.181 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 14 (remaining gas: 1039943.981 units remaining) + - location: 14 (remaining gas: 1039944.131 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" @@ -43,41 +50,36 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 15 (remaining gas: 1039943.901 units remaining) + - location: 15 (remaining gas: 1039944.081 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 18 (remaining gas: 1039943.746 units remaining) - [ "hello" + - location: 16 (remaining gas: 1039944.036 units remaining) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") @storage (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 19 (remaining gas: 1039931.476 units remaining) - [ 0x05010000000568656c6c6f @packed + - location: 18 (remaining gas: 1039943.986 units remaining) + [ "hello" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: -1 (remaining gas: 1039931.431 units remaining) + - location: 19 (remaining gas: 1039931.746 units remaining) [ 0x05010000000568656c6c6f @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 16 (remaining gas: 1039931.431 units remaining) + - location: 16 (remaining gas: 1039931.746 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000568656c6c6f @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: -1 (remaining gas: 1039931.386 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 11 (remaining gas: 1039931.386 units remaining) + - location: 11 (remaining gas: 1039931.746 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @@ -86,34 +88,34 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 20 (remaining gas: 1039931.306 units remaining) + - location: 20 (remaining gas: 1039931.696 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000568656c6c6f @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 21 (remaining gas: 1039661.263 units remaining) + - location: 21 (remaining gas: 1039661.683 units remaining) [ True (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 23 (remaining gas: 1039661.163 units remaining) + - location: 22 (remaining gas: 1039661.658 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 28 (remaining gas: 1039661.083 units remaining) + - location: 23 (remaining gas: 1039661.613 units remaining) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 28 (remaining gas: 1039661.563 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage ] - - location: 29 (remaining gas: 1039661.008 units remaining) + - location: 29 (remaining gas: 1039661.518 units remaining) [ {} (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage ] - - location: 31 (remaining gas: 1039660.933 units remaining) - [ (Pair {} - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: -1 (remaining gas: 1039660.888 units remaining) + - location: 31 (remaining gas: 1039661.473 units remaining) [ (Pair {} "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] @@ -134,18 +136,18 @@ At line 8 characters 14 to 18, script reached FAILWITH instruction with Unit trace - - location: 8 (remaining gas: 1039944.386 units remaining) + - location: 9 (remaining gas: 1039944.386 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 9 (remaining gas: 1039944.306 units remaining) + - location: 9 (remaining gas: 1039944.336 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 10 (remaining gas: 1039944.226 units remaining) + - location: 10 (remaining gas: 1039944.286 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @@ -155,13 +157,20 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 13 (remaining gas: 1039944.071 units remaining) + - location: 11 (remaining gas: 1039944.241 units remaining) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 13 (remaining gas: 1039944.191 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @storage (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 14 (remaining gas: 1039943.991 units remaining) + - location: 14 (remaining gas: 1039944.141 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @storage (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" @@ -169,41 +178,36 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 15 (remaining gas: 1039943.911 units remaining) + - location: 15 (remaining gas: 1039944.091 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @storage (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 18 (remaining gas: 1039943.756 units remaining) - [ "abcd" + - location: 16 (remaining gas: 1039944.046 units remaining) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") @storage (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 19 (remaining gas: 1039931.486 units remaining) - [ 0x05010000000461626364 @packed + - location: 18 (remaining gas: 1039943.996 units remaining) + [ "abcd" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: -1 (remaining gas: 1039931.441 units remaining) + - location: 19 (remaining gas: 1039931.756 units remaining) [ 0x05010000000461626364 @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 16 (remaining gas: 1039931.441 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: -1 (remaining gas: 1039931.396 units remaining) + - location: 16 (remaining gas: 1039931.756 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000461626364 @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 11 (remaining gas: 1039931.396 units remaining) + - location: 11 (remaining gas: 1039931.756 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @@ -212,19 +216,23 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 20 (remaining gas: 1039931.316 units remaining) + - location: 20 (remaining gas: 1039931.706 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000461626364 @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 21 (remaining gas: 1039661.274 units remaining) + - location: 21 (remaining gas: 1039661.694 units remaining) [ False (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 26 (remaining gas: 1039661.114 units remaining) + - location: 22 (remaining gas: 1039661.669 units remaining) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 26 (remaining gas: 1039661.624 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 af169229d55c..fc2190ae2ab4 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,34 +7,32 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039987.125 units remaining) + - location: 7 (remaining gas: 1039987.125 units remaining) [ (Pair 0 Unit) ] - - location: 7 (remaining gas: 1039987.045 units remaining) + - location: 7 (remaining gas: 1039987.075 units remaining) [ 0 @parameter ] - - location: 8 (remaining gas: 1039986.965 units remaining) + - location: 8 (remaining gas: 1039987.025 units remaining) [ 0 @parameter 0 @parameter ] - - location: 9 (remaining gas: 1039986.855 units remaining) + - location: 9 (remaining gas: 1039986.945 units remaining) [ 0 0 @parameter ] - - location: 10 (remaining gas: 1039986.745 units remaining) + - location: 10 (remaining gas: 1039986.865 units remaining) [ 0 0 @parameter ] - - location: 11 (remaining gas: 1039986.565 units remaining) + - location: 11 (remaining gas: 1039986.715 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039986.460 units remaining) + - location: 13 (remaining gas: 1039986.665 units remaining) [ True ] - - location: 15 (remaining gas: 1039986.360 units remaining) + - location: 14 (remaining gas: 1039986.640 units remaining) [ ] - - location: -1 (remaining gas: 1039986.315 units remaining) + - location: 15 (remaining gas: 1039986.595 units remaining) [ ] - - location: 20 (remaining gas: 1039986.240 units remaining) + - location: 20 (remaining gas: 1039986.550 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039986.165 units remaining) + - location: 21 (remaining gas: 1039986.505 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039986.090 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039986.045 units remaining) + - location: 23 (remaining gas: 1039986.460 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 412657f55d2f..7f8677cc9c35 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,34 +7,32 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039987.125 units remaining) + - location: 7 (remaining gas: 1039987.125 units remaining) [ (Pair 12039123919239192312931 Unit) ] - - location: 7 (remaining gas: 1039987.045 units remaining) + - location: 7 (remaining gas: 1039987.075 units remaining) [ 12039123919239192312931 @parameter ] - - location: 8 (remaining gas: 1039986.965 units remaining) + - location: 8 (remaining gas: 1039987.025 units remaining) [ 12039123919239192312931 @parameter 12039123919239192312931 @parameter ] - - location: 9 (remaining gas: 1039986.855 units remaining) + - location: 9 (remaining gas: 1039986.945 units remaining) [ -12039123919239192312931 12039123919239192312931 @parameter ] - - location: 10 (remaining gas: 1039986.745 units remaining) + - location: 10 (remaining gas: 1039986.865 units remaining) [ 12039123919239192312931 12039123919239192312931 @parameter ] - - location: 11 (remaining gas: 1039986.565 units remaining) + - location: 11 (remaining gas: 1039986.715 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039986.460 units remaining) + - location: 13 (remaining gas: 1039986.665 units remaining) [ True ] - - location: 15 (remaining gas: 1039986.360 units remaining) + - location: 14 (remaining gas: 1039986.640 units remaining) [ ] - - location: -1 (remaining gas: 1039986.315 units remaining) + - location: 15 (remaining gas: 1039986.595 units remaining) [ ] - - location: 20 (remaining gas: 1039986.240 units remaining) + - location: 20 (remaining gas: 1039986.550 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039986.165 units remaining) + - location: 21 (remaining gas: 1039986.505 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039986.090 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039986.045 units remaining) + - location: 23 (remaining gas: 1039986.460 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 0a5d41b6c654..1f1012b3523c 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,34 +7,32 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039987.125 units remaining) + - location: 7 (remaining gas: 1039987.125 units remaining) [ (Pair 948 Unit) ] - - location: 7 (remaining gas: 1039987.045 units remaining) + - location: 7 (remaining gas: 1039987.075 units remaining) [ 948 @parameter ] - - location: 8 (remaining gas: 1039986.965 units remaining) + - location: 8 (remaining gas: 1039987.025 units remaining) [ 948 @parameter 948 @parameter ] - - location: 9 (remaining gas: 1039986.855 units remaining) + - location: 9 (remaining gas: 1039986.945 units remaining) [ -948 948 @parameter ] - - location: 10 (remaining gas: 1039986.745 units remaining) + - location: 10 (remaining gas: 1039986.865 units remaining) [ 948 948 @parameter ] - - location: 11 (remaining gas: 1039986.565 units remaining) + - location: 11 (remaining gas: 1039986.715 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039986.460 units remaining) + - location: 13 (remaining gas: 1039986.665 units remaining) [ True ] - - location: 15 (remaining gas: 1039986.360 units remaining) + - location: 14 (remaining gas: 1039986.640 units remaining) [ ] - - location: -1 (remaining gas: 1039986.315 units remaining) + - location: 15 (remaining gas: 1039986.595 units remaining) [ ] - - location: 20 (remaining gas: 1039986.240 units remaining) + - location: 20 (remaining gas: 1039986.550 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039986.165 units remaining) + - location: 21 (remaining gas: 1039986.505 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039986.090 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039986.045 units remaining) + - location: 23 (remaining gas: 1039986.460 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 4bd13b3164cd..99d752fc0e3e 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,231 +7,205 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039917.130 units remaining) + - location: 7 (remaining gas: 1039917.130 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039917.050 units remaining) + - location: 7 (remaining gas: 1039917.080 units remaining) [ Unit @parameter ] - - location: 8 (remaining gas: 1039916.975 units remaining) + - location: 8 (remaining gas: 1039917.035 units remaining) [ 2 Unit @parameter ] - - location: 11 (remaining gas: 1039916.900 units remaining) + - location: 11 (remaining gas: 1039916.990 units remaining) [ 2 2 Unit @parameter ] - - location: 14 (remaining gas: 1039916.790 units remaining) + - location: 14 (remaining gas: 1039916.910 units remaining) [ 4 Unit @parameter ] - - location: 15 (remaining gas: 1039916.715 units remaining) + - location: 15 (remaining gas: 1039916.865 units remaining) [ 4 4 Unit @parameter ] - - location: 20 (remaining gas: 1039916.475 units remaining) + - location: 20 (remaining gas: 1039916.715 units remaining) [ 0 Unit @parameter ] - - location: 21 (remaining gas: 1039916.400 units remaining) + - location: 21 (remaining gas: 1039916.665 units remaining) [ True Unit @parameter ] - - location: -1 (remaining gas: 1039916.355 units remaining) - [ True - Unit @parameter ] - - location: 23 (remaining gas: 1039916.255 units remaining) + - location: 22 (remaining gas: 1039916.640 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039916.210 units remaining) + - location: 23 (remaining gas: 1039916.595 units remaining) [ Unit @parameter ] - - location: 28 (remaining gas: 1039916.135 units remaining) + - location: 28 (remaining gas: 1039916.550 units remaining) [ 2 Unit @parameter ] - - location: 31 (remaining gas: 1039916.060 units remaining) + - location: 31 (remaining gas: 1039916.505 units remaining) [ 2 2 Unit @parameter ] - - location: 34 (remaining gas: 1039915.950 units remaining) + - location: 34 (remaining gas: 1039916.425 units remaining) [ 4 Unit @parameter ] - - location: 35 (remaining gas: 1039915.875 units remaining) + - location: 35 (remaining gas: 1039916.380 units remaining) [ 4 4 Unit @parameter ] - - location: 40 (remaining gas: 1039915.635 units remaining) + - location: 40 (remaining gas: 1039916.230 units remaining) [ 0 Unit @parameter ] - - location: 41 (remaining gas: 1039915.560 units remaining) + - location: 41 (remaining gas: 1039916.180 units remaining) [ True Unit @parameter ] - - location: -1 (remaining gas: 1039915.515 units remaining) - [ True - Unit @parameter ] - - location: 43 (remaining gas: 1039915.415 units remaining) + - location: 42 (remaining gas: 1039916.155 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039915.370 units remaining) + - location: 43 (remaining gas: 1039916.110 units remaining) [ Unit @parameter ] - - location: 48 (remaining gas: 1039915.295 units remaining) + - location: 48 (remaining gas: 1039916.065 units remaining) [ 2 Unit @parameter ] - - location: 51 (remaining gas: 1039915.220 units remaining) + - location: 51 (remaining gas: 1039916.020 units remaining) [ 2 2 Unit @parameter ] - - location: 54 (remaining gas: 1039915.110 units remaining) + - location: 54 (remaining gas: 1039915.940 units remaining) [ 4 Unit @parameter ] - - location: 55 (remaining gas: 1039915.035 units remaining) + - location: 55 (remaining gas: 1039915.895 units remaining) [ 4 4 Unit @parameter ] - - location: 60 (remaining gas: 1039914.795 units remaining) + - location: 60 (remaining gas: 1039915.745 units remaining) [ 0 Unit @parameter ] - - location: 61 (remaining gas: 1039914.720 units remaining) + - location: 61 (remaining gas: 1039915.695 units remaining) [ True Unit @parameter ] - - location: -1 (remaining gas: 1039914.675 units remaining) - [ True - Unit @parameter ] - - location: 63 (remaining gas: 1039914.575 units remaining) + - location: 62 (remaining gas: 1039915.670 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039914.530 units remaining) + - location: 63 (remaining gas: 1039915.625 units remaining) [ Unit @parameter ] - - location: 68 (remaining gas: 1039914.455 units remaining) + - location: 68 (remaining gas: 1039915.580 units remaining) [ 2 Unit @parameter ] - - location: 71 (remaining gas: 1039914.380 units remaining) + - location: 71 (remaining gas: 1039915.535 units remaining) [ 2 2 Unit @parameter ] - - location: 74 (remaining gas: 1039914.270 units remaining) + - location: 74 (remaining gas: 1039915.455 units remaining) [ 4 Unit @parameter ] - - location: 75 (remaining gas: 1039914.195 units remaining) + - location: 75 (remaining gas: 1039915.410 units remaining) [ 4 4 Unit @parameter ] - - location: 80 (remaining gas: 1039913.955 units remaining) + - location: 80 (remaining gas: 1039915.260 units remaining) [ 0 Unit @parameter ] - - location: 81 (remaining gas: 1039913.880 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039913.835 units remaining) + - location: 81 (remaining gas: 1039915.210 units remaining) [ True Unit @parameter ] - - location: 83 (remaining gas: 1039913.735 units remaining) + - location: 82 (remaining gas: 1039915.185 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039913.690 units remaining) + - location: 83 (remaining gas: 1039915.140 units remaining) [ Unit @parameter ] - - location: 88 (remaining gas: 1039913.615 units remaining) + - location: 88 (remaining gas: 1039915.095 units remaining) [ 2 Unit @parameter ] - - location: 91 (remaining gas: 1039913.540 units remaining) + - location: 91 (remaining gas: 1039915.050 units remaining) [ 2 2 Unit @parameter ] - - location: 94 (remaining gas: 1039913.430 units remaining) + - location: 94 (remaining gas: 1039914.970 units remaining) [ 4 Unit @parameter ] - - location: 95 (remaining gas: 1039913.355 units remaining) + - location: 95 (remaining gas: 1039914.925 units remaining) [ 4 4 Unit @parameter ] - - location: 100 (remaining gas: 1039913.115 units remaining) + - location: 100 (remaining gas: 1039914.775 units remaining) [ 0 Unit @parameter ] - - location: 101 (remaining gas: 1039913.040 units remaining) + - location: 101 (remaining gas: 1039914.725 units remaining) [ True Unit @parameter ] - - location: -1 (remaining gas: 1039912.995 units remaining) - [ True - Unit @parameter ] - - location: 103 (remaining gas: 1039912.895 units remaining) + - location: 102 (remaining gas: 1039914.700 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039912.850 units remaining) + - location: 103 (remaining gas: 1039914.655 units remaining) [ Unit @parameter ] - - location: 108 (remaining gas: 1039912.775 units remaining) + - location: 108 (remaining gas: 1039914.610 units remaining) [ 60 Unit @parameter ] - - location: 111 (remaining gas: 1039912.700 units remaining) + - location: 111 (remaining gas: 1039914.565 units remaining) [ "2019-09-09T12:08:37Z" 60 Unit @parameter ] - - location: 114 (remaining gas: 1039912.590 units remaining) + - location: 114 (remaining gas: 1039914.485 units remaining) [ "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 115 (remaining gas: 1039912.515 units remaining) + - location: 115 (remaining gas: 1039914.440 units remaining) [ "2019-09-09T12:09:37Z" "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 120 (remaining gas: 1039912.285 units remaining) + - location: 120 (remaining gas: 1039914.300 units remaining) [ 0 Unit @parameter ] - - location: 121 (remaining gas: 1039912.210 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039912.165 units remaining) + - location: 121 (remaining gas: 1039914.250 units remaining) [ True Unit @parameter ] - - location: 123 (remaining gas: 1039912.065 units remaining) + - location: 122 (remaining gas: 1039914.225 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039912.020 units remaining) + - location: 123 (remaining gas: 1039914.180 units remaining) [ Unit @parameter ] - - location: 128 (remaining gas: 1039911.945 units remaining) + - location: 128 (remaining gas: 1039914.135 units remaining) [ "2019-09-09T12:08:37Z" Unit @parameter ] - - location: 131 (remaining gas: 1039911.870 units remaining) + - location: 131 (remaining gas: 1039914.090 units remaining) [ 60 "2019-09-09T12:08:37Z" Unit @parameter ] - - location: 134 (remaining gas: 1039911.760 units remaining) + - location: 134 (remaining gas: 1039914.010 units remaining) [ "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 135 (remaining gas: 1039911.685 units remaining) + - location: 135 (remaining gas: 1039913.965 units remaining) [ "2019-09-09T12:09:37Z" "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 140 (remaining gas: 1039911.455 units remaining) + - location: 140 (remaining gas: 1039913.825 units remaining) [ 0 Unit @parameter ] - - location: 141 (remaining gas: 1039911.380 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039911.335 units remaining) + - location: 141 (remaining gas: 1039913.775 units remaining) [ True Unit @parameter ] - - location: 143 (remaining gas: 1039911.235 units remaining) + - location: 142 (remaining gas: 1039913.750 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039911.190 units remaining) + - location: 143 (remaining gas: 1039913.705 units remaining) [ Unit @parameter ] - - location: 148 (remaining gas: 1039911.115 units remaining) + - location: 148 (remaining gas: 1039913.660 units remaining) [ 1000 Unit @parameter ] - - location: 151 (remaining gas: 1039911.040 units remaining) + - location: 151 (remaining gas: 1039913.615 units remaining) [ 1000 1000 Unit @parameter ] - - location: 154 (remaining gas: 1039910.955 units remaining) + - location: 154 (remaining gas: 1039913.560 units remaining) [ 2000 Unit @parameter ] - - location: 155 (remaining gas: 1039910.880 units remaining) + - location: 155 (remaining gas: 1039913.515 units remaining) [ 2000 2000 Unit @parameter ] - - location: 160 (remaining gas: 1039910.686 units remaining) + - location: 160 (remaining gas: 1039913.411 units remaining) [ 0 Unit @parameter ] - - location: 161 (remaining gas: 1039910.611 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039910.566 units remaining) + - location: 161 (remaining gas: 1039913.361 units remaining) [ True Unit @parameter ] - - location: 163 (remaining gas: 1039910.466 units remaining) + - location: 162 (remaining gas: 1039913.336 units remaining) [ Unit @parameter ] - - location: -1 (remaining gas: 1039910.421 units remaining) + - location: 163 (remaining gas: 1039913.291 units remaining) [ Unit @parameter ] - - location: 168 (remaining gas: 1039910.346 units remaining) + - location: 168 (remaining gas: 1039913.246 units remaining) [ {} Unit @parameter ] - - location: 170 (remaining gas: 1039910.271 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039910.226 units remaining) + - location: 170 (remaining gas: 1039913.201 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 4b0968d22201..c23f847a6442 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,27 +7,24 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.020 units remaining) + - location: 10 (remaining gas: 1039992.020 units remaining) [ (Pair (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039991.940 units remaining) + - location: 10 (remaining gas: 1039991.970 units remaining) [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.860 units remaining) + - location: 11 (remaining gas: 1039991.920 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.630 units remaining) + - location: 12 (remaining gas: 1039991.720 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.555 units remaining) + - location: 13 (remaining gas: 1039991.675 units remaining) [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.480 units remaining) + - location: 14 (remaining gas: 1039991.630 units remaining) [ {} (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.405 units remaining) - [ (Pair {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039991.360 units remaining) + - location: 16 (remaining gas: 1039991.585 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 16660d679708..2a3ae6c117a2 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,27 +7,24 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.020 units remaining) + - location: 10 (remaining gas: 1039992.020 units remaining) [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039991.940 units remaining) + - location: 10 (remaining gas: 1039991.970 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.860 units remaining) + - location: 11 (remaining gas: 1039991.920 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.630 units remaining) + - location: 12 (remaining gas: 1039991.720 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.555 units remaining) + - location: 13 (remaining gas: 1039991.675 units remaining) [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.480 units remaining) + - location: 14 (remaining gas: 1039991.630 units remaining) [ {} (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.405 units remaining) - [ (Pair {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039991.360 units remaining) + - location: 16 (remaining gas: 1039991.585 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 8c5654c4abac..aac66f5ba5c2 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,27 +7,24 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.020 units remaining) + - location: 10 (remaining gas: 1039992.020 units remaining) [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039991.940 units remaining) + - location: 10 (remaining gas: 1039991.970 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.860 units remaining) + - location: 11 (remaining gas: 1039991.920 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.630 units remaining) + - location: 12 (remaining gas: 1039991.720 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.555 units remaining) + - location: 13 (remaining gas: 1039991.675 units remaining) [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.480 units remaining) + - location: 14 (remaining gas: 1039991.630 units remaining) [ {} (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.405 units remaining) - [ (Pair {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039991.360 units remaining) + - location: 16 (remaining gas: 1039991.585 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 8bc69b16bc71..c0cb1cfa03b8 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,27 +7,24 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.020 units remaining) + - location: 10 (remaining gas: 1039992.020 units remaining) [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0100000000000000000000000000000000000000000000000000000000000000) None) ] - - location: 10 (remaining gas: 1039991.940 units remaining) + - location: 10 (remaining gas: 1039991.970 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0x0100000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.860 units remaining) + - location: 11 (remaining gas: 1039991.920 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.630 units remaining) + - location: 12 (remaining gas: 1039991.720 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.555 units remaining) + - location: 13 (remaining gas: 1039991.675 units remaining) [ (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.480 units remaining) + - location: 14 (remaining gas: 1039991.630 units remaining) [ {} (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.405 units remaining) - [ (Pair {} - (Some 0x0200000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039991.360 units remaining) + - location: 16 (remaining gas: 1039991.585 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 55b15c396347..8cf0fbf3922c 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair -100 "1970-01-01T00:01:40Z") None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair -100 "1970-01-01T00:01:40Z") @parameter (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ -100 (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - - location: 15 (remaining gas: 1039988.755 units remaining) - [ "1970-01-01T00:01:40Z" ] - - location: 14 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.955 units remaining) + [ (Pair -100 "1970-01-01T00:01:40Z") @parameter ] + - location: 15 (remaining gas: 1039988.905 units remaining) [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.905 units remaining) [ -100 "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039988.600 units remaining) + - location: 16 (remaining gas: 1039988.825 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.525 units remaining) + - location: 17 (remaining gas: 1039988.780 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.450 units remaining) + - location: 18 (remaining gas: 1039988.735 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.375 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039988.330 units remaining) + - location: 20 (remaining gas: 1039988.690 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 b7055841bf73..79427201c921 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.020 units remaining) + - location: 10 (remaining gas: 1039989.020 units remaining) [ (Pair (Pair 0 "1970-01-01T00:00:00Z") None) ] - - location: 10 (remaining gas: 1039988.940 units remaining) + - location: 10 (remaining gas: 1039988.970 units remaining) [ (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - - location: 11 (remaining gas: 1039988.860 units remaining) + - location: 11 (remaining gas: 1039988.920 units remaining) [ (Pair 0 "1970-01-01T00:00:00Z") @parameter (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - - location: 12 (remaining gas: 1039988.780 units remaining) + - location: 12 (remaining gas: 1039988.870 units remaining) [ 0 (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - - location: 15 (remaining gas: 1039988.625 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 14 (remaining gas: 1039988.580 units remaining) + - location: 13 (remaining gas: 1039988.825 units remaining) + [ (Pair 0 "1970-01-01T00:00:00Z") @parameter ] + - location: 15 (remaining gas: 1039988.775 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039988.580 units remaining) + - location: 13 (remaining gas: 1039988.775 units remaining) [ 0 "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039988.470 units remaining) + - location: 16 (remaining gas: 1039988.695 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.395 units remaining) + - location: 17 (remaining gas: 1039988.650 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.320 units remaining) + - location: 18 (remaining gas: 1039988.605 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.245 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039988.200 units remaining) + - location: 20 (remaining gas: 1039988.560 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 1696e8b8ed55..6a8865764006 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair 100 "1970-01-01T00:01:40Z") None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair 100 "1970-01-01T00:01:40Z") @parameter (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ 100 (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - - location: 15 (remaining gas: 1039988.755 units remaining) - [ "1970-01-01T00:01:40Z" ] - - location: 14 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.955 units remaining) + [ (Pair 100 "1970-01-01T00:01:40Z") @parameter ] + - location: 15 (remaining gas: 1039988.905 units remaining) [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.905 units remaining) [ 100 "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039988.600 units remaining) + - location: 16 (remaining gas: 1039988.825 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039988.525 units remaining) + - location: 17 (remaining gas: 1039988.780 units remaining) [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039988.450 units remaining) + - location: 18 (remaining gas: 1039988.735 units remaining) [ {} (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039988.375 units remaining) - [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] - - location: -1 (remaining gas: 1039988.330 units remaining) + - location: 20 (remaining gas: 1039988.690 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 a19edf0eaf6b..c0357b54d28d 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.020 units remaining) + - location: 10 (remaining gas: 1039989.020 units remaining) [ (Pair (Pair "1970-01-01T00:00:00Z" 0) None) ] - - location: 10 (remaining gas: 1039988.940 units remaining) + - location: 10 (remaining gas: 1039988.970 units remaining) [ (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - - location: 11 (remaining gas: 1039988.860 units remaining) + - location: 11 (remaining gas: 1039988.920 units remaining) [ (Pair "1970-01-01T00:00:00Z" 0) @parameter (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - - location: 12 (remaining gas: 1039988.780 units remaining) + - location: 12 (remaining gas: 1039988.870 units remaining) [ "1970-01-01T00:00:00Z" (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - - location: 15 (remaining gas: 1039988.625 units remaining) - [ 0 ] - - location: 14 (remaining gas: 1039988.580 units remaining) + - location: 13 (remaining gas: 1039988.825 units remaining) + [ (Pair "1970-01-01T00:00:00Z" 0) @parameter ] + - location: 15 (remaining gas: 1039988.775 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039988.580 units remaining) + - location: 13 (remaining gas: 1039988.775 units remaining) [ "1970-01-01T00:00:00Z" 0 ] - - location: 16 (remaining gas: 1039988.470 units remaining) + - location: 16 (remaining gas: 1039988.695 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.395 units remaining) + - location: 17 (remaining gas: 1039988.650 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.320 units remaining) + - location: 18 (remaining gas: 1039988.605 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.245 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039988.200 units remaining) + - location: 20 (remaining gas: 1039988.560 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 2e71b5930d13..c15737662502 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" -100) None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) @parameter (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 15 (remaining gas: 1039988.755 units remaining) - [ -100 ] - - location: 14 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.955 units remaining) + [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] + - location: 15 (remaining gas: 1039988.905 units remaining) [ -100 ] - - location: 13 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.905 units remaining) [ "1970-01-01T00:01:40Z" -100 ] - - location: 16 (remaining gas: 1039988.600 units remaining) + - location: 16 (remaining gas: 1039988.825 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.525 units remaining) + - location: 17 (remaining gas: 1039988.780 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.450 units remaining) + - location: 18 (remaining gas: 1039988.735 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.375 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039988.330 units remaining) + - location: 20 (remaining gas: 1039988.690 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 82cca95e503a..59bc72357adf 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" 100) None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) @parameter (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 15 (remaining gas: 1039988.755 units remaining) - [ 100 ] - - location: 14 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.955 units remaining) + [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] + - location: 15 (remaining gas: 1039988.905 units remaining) [ 100 ] - - location: 13 (remaining gas: 1039988.710 units remaining) + - location: 13 (remaining gas: 1039988.905 units remaining) [ "1970-01-01T00:01:40Z" 100 ] - - location: 16 (remaining gas: 1039988.600 units remaining) + - location: 16 (remaining gas: 1039988.825 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039988.525 units remaining) + - location: 17 (remaining gas: 1039988.780 units remaining) [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039988.450 units remaining) + - location: 18 (remaining gas: 1039988.735 units remaining) [ {} (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039988.375 units remaining) - [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] - - location: -1 (remaining gas: 1039988.330 units remaining) + - location: 20 (remaining gas: 1039988.690 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 50fa3e57d323..5b7aea3438dc 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039480.374 units remaining) + - location: 9 (remaining gas: 1039480.374 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" None) ] - - location: 9 (remaining gas: 1039480.294 units remaining) + - location: 9 (remaining gas: 1039480.324 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter ] - - location: 10 (remaining gas: 1039480.219 units remaining) + - location: 10 (remaining gas: 1039480.279 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.address ] - - location: 11 (remaining gas: 1039480.144 units remaining) + - location: 11 (remaining gas: 1039480.234 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 12 (remaining gas: 1039480.069 units remaining) + - location: 12 (remaining gas: 1039480.189 units remaining) [ {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 14 (remaining gas: 1039479.994 units remaining) - [ (Pair {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) ] - - location: -1 (remaining gas: 1039479.949 units remaining) + - location: 14 (remaining gas: 1039480.144 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 6fdd49bf1830..c082664b96ac 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,27 +7,25 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039990.620 units remaining) + - location: 10 (remaining gas: 1039990.620 units remaining) [ (Pair (Pair False False) None) ] - - location: 10 (remaining gas: 1039990.540 units remaining) + - location: 10 (remaining gas: 1039990.570 units remaining) [ (Pair False False) @param ] - - location: 11 (remaining gas: 1039990.460 units remaining) + - location: 11 (remaining gas: 1039990.520 units remaining) [ False False ] - - location: 12 (remaining gas: 1039990.380 units remaining) + - location: 12 (remaining gas: 1039990.470 units remaining) [ False @and ] - - location: 13 (remaining gas: 1039990.305 units remaining) + - location: 13 (remaining gas: 1039990.425 units remaining) [ (Some False) @res ] - - location: 14 (remaining gas: 1039990.230 units remaining) + - location: 14 (remaining gas: 1039990.380 units remaining) [ {} @noop (Some False) @res ] - - location: 16 (remaining gas: 1039990.155 units remaining) + - location: 16 (remaining gas: 1039990.335 units remaining) [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039990.075 units remaining) + - location: 17 (remaining gas: 1039990.285 units remaining) [ {} @x (Some False) @y ] - - location: 18 (remaining gas: 1039990 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039989.955 units remaining) + - location: 18 (remaining gas: 1039990.240 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 9d5ead4b7bfe..b135ab5154c5 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,27 +7,25 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039990.620 units remaining) + - location: 10 (remaining gas: 1039990.620 units remaining) [ (Pair (Pair False True) None) ] - - location: 10 (remaining gas: 1039990.540 units remaining) + - location: 10 (remaining gas: 1039990.570 units remaining) [ (Pair False True) @param ] - - location: 11 (remaining gas: 1039990.460 units remaining) + - location: 11 (remaining gas: 1039990.520 units remaining) [ False True ] - - location: 12 (remaining gas: 1039990.380 units remaining) + - location: 12 (remaining gas: 1039990.470 units remaining) [ False @and ] - - location: 13 (remaining gas: 1039990.305 units remaining) + - location: 13 (remaining gas: 1039990.425 units remaining) [ (Some False) @res ] - - location: 14 (remaining gas: 1039990.230 units remaining) + - location: 14 (remaining gas: 1039990.380 units remaining) [ {} @noop (Some False) @res ] - - location: 16 (remaining gas: 1039990.155 units remaining) + - location: 16 (remaining gas: 1039990.335 units remaining) [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039990.075 units remaining) + - location: 17 (remaining gas: 1039990.285 units remaining) [ {} @x (Some False) @y ] - - location: 18 (remaining gas: 1039990 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039989.955 units remaining) + - location: 18 (remaining gas: 1039990.240 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 90af5dac0714..1e1466d3b848 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,27 +7,25 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039990.620 units remaining) + - location: 10 (remaining gas: 1039990.620 units remaining) [ (Pair (Pair True False) None) ] - - location: 10 (remaining gas: 1039990.540 units remaining) + - location: 10 (remaining gas: 1039990.570 units remaining) [ (Pair True False) @param ] - - location: 11 (remaining gas: 1039990.460 units remaining) + - location: 11 (remaining gas: 1039990.520 units remaining) [ True False ] - - location: 12 (remaining gas: 1039990.380 units remaining) + - location: 12 (remaining gas: 1039990.470 units remaining) [ False @and ] - - location: 13 (remaining gas: 1039990.305 units remaining) + - location: 13 (remaining gas: 1039990.425 units remaining) [ (Some False) @res ] - - location: 14 (remaining gas: 1039990.230 units remaining) + - location: 14 (remaining gas: 1039990.380 units remaining) [ {} @noop (Some False) @res ] - - location: 16 (remaining gas: 1039990.155 units remaining) + - location: 16 (remaining gas: 1039990.335 units remaining) [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039990.075 units remaining) + - location: 17 (remaining gas: 1039990.285 units remaining) [ {} @x (Some False) @y ] - - location: 18 (remaining gas: 1039990 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039989.955 units remaining) + - location: 18 (remaining gas: 1039990.240 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 f2e624d62095..53ead4404d5a 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,27 +7,25 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039990.620 units remaining) + - location: 10 (remaining gas: 1039990.620 units remaining) [ (Pair (Pair True True) None) ] - - location: 10 (remaining gas: 1039990.540 units remaining) + - location: 10 (remaining gas: 1039990.570 units remaining) [ (Pair True True) @param ] - - location: 11 (remaining gas: 1039990.460 units remaining) + - location: 11 (remaining gas: 1039990.520 units remaining) [ True True ] - - location: 12 (remaining gas: 1039990.380 units remaining) + - location: 12 (remaining gas: 1039990.470 units remaining) [ True @and ] - - location: 13 (remaining gas: 1039990.305 units remaining) + - location: 13 (remaining gas: 1039990.425 units remaining) [ (Some True) @res ] - - location: 14 (remaining gas: 1039990.230 units remaining) + - location: 14 (remaining gas: 1039990.380 units remaining) [ {} @noop (Some True) @res ] - - location: 16 (remaining gas: 1039990.155 units remaining) + - location: 16 (remaining gas: 1039990.335 units remaining) [ (Pair {} (Some True)) ] - - location: 17 (remaining gas: 1039990.075 units remaining) + - location: 17 (remaining gas: 1039990.285 units remaining) [ {} @x (Some True) @y ] - - location: 18 (remaining gas: 1039990 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039989.955 units remaining) + - location: 18 (remaining gas: 1039990.240 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 9e1ebb61ba20..23f3455f829d 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,97 +7,87 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039955.820 units remaining) + - location: 7 (remaining gas: 1039955.820 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039955.745 units remaining) + - location: 7 (remaining gas: 1039955.775 units remaining) [ ] - - location: 8 (remaining gas: 1039955.670 units remaining) + - location: 8 (remaining gas: 1039955.730 units remaining) [ 5 ] - - location: 11 (remaining gas: 1039955.595 units remaining) + - location: 11 (remaining gas: 1039955.685 units remaining) [ 6 5 ] - - location: 14 (remaining gas: 1039955.485 units remaining) + - location: 14 (remaining gas: 1039955.605 units remaining) [ 4 ] - - location: 15 (remaining gas: 1039955.410 units remaining) + - location: 15 (remaining gas: 1039955.560 units remaining) [ 4 4 ] - - location: 20 (remaining gas: 1039955.170 units remaining) + - location: 20 (remaining gas: 1039955.410 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039955.095 units remaining) + - location: 21 (remaining gas: 1039955.360 units remaining) [ True ] - - location: -1 (remaining gas: 1039955.050 units remaining) - [ True ] - - location: 23 (remaining gas: 1039954.950 units remaining) + - location: 22 (remaining gas: 1039955.335 units remaining) [ ] - - location: -1 (remaining gas: 1039954.905 units remaining) + - location: 23 (remaining gas: 1039955.290 units remaining) [ ] - - location: 28 (remaining gas: 1039954.830 units remaining) + - location: 28 (remaining gas: 1039955.245 units remaining) [ 6 ] - - location: 31 (remaining gas: 1039954.755 units remaining) + - location: 31 (remaining gas: 1039955.200 units remaining) [ 5 6 ] - - location: 34 (remaining gas: 1039954.645 units remaining) + - location: 34 (remaining gas: 1039955.120 units remaining) [ 4 ] - - location: 35 (remaining gas: 1039954.570 units remaining) + - location: 35 (remaining gas: 1039955.075 units remaining) [ 4 4 ] - - location: 40 (remaining gas: 1039954.330 units remaining) + - location: 40 (remaining gas: 1039954.925 units remaining) [ 0 ] - - location: 41 (remaining gas: 1039954.255 units remaining) - [ True ] - - location: -1 (remaining gas: 1039954.210 units remaining) + - location: 41 (remaining gas: 1039954.875 units remaining) [ True ] - - location: 43 (remaining gas: 1039954.110 units remaining) + - location: 42 (remaining gas: 1039954.850 units remaining) [ ] - - location: -1 (remaining gas: 1039954.065 units remaining) + - location: 43 (remaining gas: 1039954.805 units remaining) [ ] - - location: 48 (remaining gas: 1039953.990 units remaining) + - location: 48 (remaining gas: 1039954.760 units remaining) [ 12 ] - - location: 51 (remaining gas: 1039953.915 units remaining) + - location: 51 (remaining gas: 1039954.715 units remaining) [ -1 12 ] - - location: 54 (remaining gas: 1039953.805 units remaining) + - location: 54 (remaining gas: 1039954.635 units remaining) [ 12 ] - - location: 55 (remaining gas: 1039953.730 units remaining) + - location: 55 (remaining gas: 1039954.590 units remaining) [ 12 12 ] - - location: 60 (remaining gas: 1039953.490 units remaining) + - location: 60 (remaining gas: 1039954.440 units remaining) [ 0 ] - - location: 61 (remaining gas: 1039953.415 units remaining) - [ True ] - - location: -1 (remaining gas: 1039953.370 units remaining) + - location: 61 (remaining gas: 1039954.390 units remaining) [ True ] - - location: 63 (remaining gas: 1039953.270 units remaining) + - location: 62 (remaining gas: 1039954.365 units remaining) [ ] - - location: -1 (remaining gas: 1039953.225 units remaining) + - location: 63 (remaining gas: 1039954.320 units remaining) [ ] - - location: 68 (remaining gas: 1039953.150 units remaining) + - location: 68 (remaining gas: 1039954.275 units remaining) [ 12 ] - - location: 71 (remaining gas: 1039953.075 units remaining) + - location: 71 (remaining gas: 1039954.230 units remaining) [ -5 12 ] - - location: 74 (remaining gas: 1039952.965 units remaining) + - location: 74 (remaining gas: 1039954.150 units remaining) [ 8 ] - - location: 75 (remaining gas: 1039952.890 units remaining) + - location: 75 (remaining gas: 1039954.105 units remaining) [ 8 8 ] - - location: 80 (remaining gas: 1039952.650 units remaining) + - location: 80 (remaining gas: 1039953.955 units remaining) [ 0 ] - - location: 81 (remaining gas: 1039952.575 units remaining) + - location: 81 (remaining gas: 1039953.905 units remaining) [ True ] - - location: -1 (remaining gas: 1039952.530 units remaining) - [ True ] - - location: 83 (remaining gas: 1039952.430 units remaining) + - location: 82 (remaining gas: 1039953.880 units remaining) [ ] - - location: -1 (remaining gas: 1039952.385 units remaining) + - location: 83 (remaining gas: 1039953.835 units remaining) [ ] - - location: 88 (remaining gas: 1039952.310 units remaining) + - location: 88 (remaining gas: 1039953.790 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039952.235 units remaining) + - location: 89 (remaining gas: 1039953.745 units remaining) [ {} @noop Unit ] - - location: 91 (remaining gas: 1039952.160 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039952.115 units remaining) + - location: 91 (remaining gas: 1039953.700 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 a34ee7f96037..1c86dac2f268 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,20 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.170 units remaining) + - location: 9 (remaining gas: 1039993.170 units remaining) [ (Pair (Pair False False) False) ] - - location: 9 (remaining gas: 1039993.090 units remaining) + - location: 9 (remaining gas: 1039993.120 units remaining) [ (Pair False False) @parameter ] - - location: 10 (remaining gas: 1039993.010 units remaining) + - location: 10 (remaining gas: 1039993.070 units remaining) [ False False ] - - location: 11 (remaining gas: 1039992.930 units remaining) + - location: 11 (remaining gas: 1039993.020 units remaining) [ False @and ] - - location: 12 (remaining gas: 1039992.855 units remaining) + - location: 12 (remaining gas: 1039992.975 units remaining) [ {} @noop False @and ] - - location: 14 (remaining gas: 1039992.780 units remaining) - [ (Pair {} False) ] - - location: -1 (remaining gas: 1039992.735 units remaining) + - location: 14 (remaining gas: 1039992.930 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 7e4143255f74..4e201d9ab99b 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,20 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.170 units remaining) + - location: 9 (remaining gas: 1039993.170 units remaining) [ (Pair (Pair False True) False) ] - - location: 9 (remaining gas: 1039993.090 units remaining) + - location: 9 (remaining gas: 1039993.120 units remaining) [ (Pair False True) @parameter ] - - location: 10 (remaining gas: 1039993.010 units remaining) + - location: 10 (remaining gas: 1039993.070 units remaining) [ False True ] - - location: 11 (remaining gas: 1039992.930 units remaining) + - location: 11 (remaining gas: 1039993.020 units remaining) [ False @and ] - - location: 12 (remaining gas: 1039992.855 units remaining) + - location: 12 (remaining gas: 1039992.975 units remaining) [ {} @noop False @and ] - - location: 14 (remaining gas: 1039992.780 units remaining) - [ (Pair {} False) ] - - location: -1 (remaining gas: 1039992.735 units remaining) + - location: 14 (remaining gas: 1039992.930 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 c5e1b9f6171e..0fb947bb1ab1 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,20 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.170 units remaining) + - location: 9 (remaining gas: 1039993.170 units remaining) [ (Pair (Pair True False) False) ] - - location: 9 (remaining gas: 1039993.090 units remaining) + - location: 9 (remaining gas: 1039993.120 units remaining) [ (Pair True False) @parameter ] - - location: 10 (remaining gas: 1039993.010 units remaining) + - location: 10 (remaining gas: 1039993.070 units remaining) [ True False ] - - location: 11 (remaining gas: 1039992.930 units remaining) + - location: 11 (remaining gas: 1039993.020 units remaining) [ False @and ] - - location: 12 (remaining gas: 1039992.855 units remaining) + - location: 12 (remaining gas: 1039992.975 units remaining) [ {} @noop False @and ] - - location: 14 (remaining gas: 1039992.780 units remaining) - [ (Pair {} False) ] - - location: -1 (remaining gas: 1039992.735 units remaining) + - location: 14 (remaining gas: 1039992.930 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 a905f3ea24e1..d6fcbd47276e 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,20 +7,18 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.170 units remaining) + - location: 9 (remaining gas: 1039993.170 units remaining) [ (Pair (Pair True True) False) ] - - location: 9 (remaining gas: 1039993.090 units remaining) + - location: 9 (remaining gas: 1039993.120 units remaining) [ (Pair True True) @parameter ] - - location: 10 (remaining gas: 1039993.010 units remaining) + - location: 10 (remaining gas: 1039993.070 units remaining) [ True True ] - - location: 11 (remaining gas: 1039992.930 units remaining) + - location: 11 (remaining gas: 1039993.020 units remaining) [ True @and ] - - location: 12 (remaining gas: 1039992.855 units remaining) + - location: 12 (remaining gas: 1039992.975 units remaining) [ {} @noop True @and ] - - location: 14 (remaining gas: 1039992.780 units remaining) - [ (Pair {} True) ] - - location: -1 (remaining gas: 1039992.735 units remaining) + - location: 14 (remaining gas: 1039992.930 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 7ce62d1637af..b8db000c7aa6 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 111) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039779.619 units remaining) + - location: 8 (remaining gas: 1039779.679 units remaining) [ 4000000000000 @balance ] - - location: 9 (remaining gas: 1039779.544 units remaining) + - location: 9 (remaining gas: 1039779.634 units remaining) [ {} 4000000000000 @balance ] - - location: 11 (remaining gas: 1039779.469 units remaining) - [ (Pair {} 4000000000000) ] - - location: -1 (remaining gas: 1039779.424 units remaining) + - location: 11 (remaining gas: 1039779.589 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 65c808977899..878b9886a714 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,39 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[0] to 1 trace - - location: 11 (remaining gas: 1039977.424 units remaining) + - location: 12 (remaining gas: 1039977.424 units remaining) [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039977.344 units remaining) + - location: 12 (remaining gas: 1039977.374 units remaining) [ 1 @parameter (Pair { Elt 0 1 } None) @storage ] - - location: 15 (remaining gas: 1039977.189 units remaining) + - location: 13 (remaining gas: 1039977.329 units remaining) + [ (Pair { Elt 0 1 } None) @storage ] + - location: 15 (remaining gas: 1039977.279 units remaining) [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039977.109 units remaining) + - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: -1 (remaining gas: 1039977.064 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: 13 (remaining gas: 1039977.064 units remaining) + - location: 13 (remaining gas: 1039977.229 units remaining) [ 1 @parameter { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039968.208 units remaining) + - location: 17 (remaining gas: 1039968.403 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039968.133 units remaining) + - location: 18 (remaining gas: 1039968.358 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039968.063 units remaining) + - location: 19 (remaining gas: 1039968.318 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039967.988 units remaining) + - location: 20 (remaining gas: 1039968.273 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039967.913 units remaining) + - location: 21 (remaining gas: 1039968.228 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039967.838 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - - location: -1 (remaining gas: 1039967.793 units remaining) + - location: 23 (remaining gas: 1039968.183 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 a135590e8b3c..a409eba0b455 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,39 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[0] to 1 trace - - location: 11 (remaining gas: 1039977.424 units remaining) + - location: 12 (remaining gas: 1039977.424 units remaining) [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039977.344 units remaining) + - location: 12 (remaining gas: 1039977.374 units remaining) [ 1 @parameter (Pair { Elt 0 1 } None) @storage ] - - location: 15 (remaining gas: 1039977.189 units remaining) + - location: 13 (remaining gas: 1039977.329 units remaining) + [ (Pair { Elt 0 1 } None) @storage ] + - location: 15 (remaining gas: 1039977.279 units remaining) [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039977.109 units remaining) + - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: -1 (remaining gas: 1039977.064 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: 13 (remaining gas: 1039977.064 units remaining) + - location: 13 (remaining gas: 1039977.229 units remaining) [ 1 @parameter { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039968.208 units remaining) + - location: 17 (remaining gas: 1039968.403 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039968.133 units remaining) + - location: 18 (remaining gas: 1039968.358 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039968.063 units remaining) + - location: 19 (remaining gas: 1039968.318 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039967.988 units remaining) + - location: 20 (remaining gas: 1039968.273 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039967.913 units remaining) + - location: 21 (remaining gas: 1039968.228 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039967.838 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - - location: -1 (remaining gas: 1039967.793 units remaining) + - location: 23 (remaining gas: 1039968.183 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 a74d52df7520..51db63002211 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,39 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[1] to 0 trace - - location: 11 (remaining gas: 1039977.424 units remaining) + - location: 12 (remaining gas: 1039977.424 units remaining) [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039977.344 units remaining) + - location: 12 (remaining gas: 1039977.374 units remaining) [ 1 @parameter (Pair { Elt 1 0 } None) @storage ] - - location: 15 (remaining gas: 1039977.189 units remaining) + - location: 13 (remaining gas: 1039977.329 units remaining) + [ (Pair { Elt 1 0 } None) @storage ] + - location: 15 (remaining gas: 1039977.279 units remaining) [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039977.109 units remaining) + - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: -1 (remaining gas: 1039977.064 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: 13 (remaining gas: 1039977.064 units remaining) + - location: 13 (remaining gas: 1039977.229 units remaining) [ 1 @parameter { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039968.208 units remaining) + - location: 17 (remaining gas: 1039968.403 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039968.133 units remaining) + - location: 18 (remaining gas: 1039968.358 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039968.063 units remaining) + - location: 19 (remaining gas: 1039968.318 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039967.988 units remaining) + - location: 20 (remaining gas: 1039968.273 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039967.913 units remaining) + - location: 21 (remaining gas: 1039968.228 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039967.838 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - - location: -1 (remaining gas: 1039967.793 units remaining) + - location: 23 (remaining gas: 1039968.183 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 c5f61016e8be..7eca18aa811b 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,39 +8,36 @@ big_map diff New map(4) of type (big_map nat nat) Set map(4)[1] to 0 trace - - location: 11 (remaining gas: 1039977.424 units remaining) + - location: 12 (remaining gas: 1039977.424 units remaining) [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039977.344 units remaining) + - location: 12 (remaining gas: 1039977.374 units remaining) [ 1 @parameter (Pair { Elt 1 0 } None) @storage ] - - location: 15 (remaining gas: 1039977.189 units remaining) + - location: 13 (remaining gas: 1039977.329 units remaining) + [ (Pair { Elt 1 0 } None) @storage ] + - location: 15 (remaining gas: 1039977.279 units remaining) [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039977.109 units remaining) + - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: -1 (remaining gas: 1039977.064 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: 13 (remaining gas: 1039977.064 units remaining) + - location: 13 (remaining gas: 1039977.229 units remaining) [ 1 @parameter { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039968.208 units remaining) + - location: 17 (remaining gas: 1039968.403 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039968.133 units remaining) + - location: 18 (remaining gas: 1039968.358 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039968.063 units remaining) + - location: 19 (remaining gas: 1039968.318 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039967.988 units remaining) + - location: 20 (remaining gas: 1039968.273 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039967.913 units remaining) + - location: 21 (remaining gas: 1039968.228 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039967.838 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - - location: -1 (remaining gas: 1039967.793 units remaining) + - location: 23 (remaining gas: 1039968.183 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 777a91cdb829..8b13bf6f08cb 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,39 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 11 (remaining gas: 1039967.964 units remaining) + - location: 12 (remaining gas: 1039967.964 units remaining) [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039967.884 units remaining) + - location: 12 (remaining gas: 1039967.914 units remaining) [ 1 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039967.729 units remaining) + - location: 13 (remaining gas: 1039967.869 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039967.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039967.649 units remaining) + - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039967.604 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.604 units remaining) + - location: 13 (remaining gas: 1039967.769 units remaining) [ 1 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.747 units remaining) + - location: 17 (remaining gas: 1039958.942 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.672 units remaining) + - location: 18 (remaining gas: 1039958.897 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.602 units remaining) + - location: 19 (remaining gas: 1039958.857 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.527 units remaining) + - location: 20 (remaining gas: 1039958.812 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.452 units remaining) + - location: 21 (remaining gas: 1039958.767 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.377 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039958.332 units remaining) + - location: 23 (remaining gas: 1039958.722 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 f9cb65c3a4ad..95c20964d94c 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,39 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 11 (remaining gas: 1039967.964 units remaining) + - location: 12 (remaining gas: 1039967.964 units remaining) [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039967.884 units remaining) + - location: 12 (remaining gas: 1039967.914 units remaining) [ 1 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039967.729 units remaining) + - location: 13 (remaining gas: 1039967.869 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039967.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039967.649 units remaining) + - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039967.604 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.604 units remaining) + - location: 13 (remaining gas: 1039967.769 units remaining) [ 1 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.747 units remaining) + - location: 17 (remaining gas: 1039958.942 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.672 units remaining) + - location: 18 (remaining gas: 1039958.897 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.602 units remaining) + - location: 19 (remaining gas: 1039958.857 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.527 units remaining) + - location: 20 (remaining gas: 1039958.812 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.452 units remaining) + - location: 21 (remaining gas: 1039958.767 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.377 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039958.332 units remaining) + - location: 23 (remaining gas: 1039958.722 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 0693cccc9f64..92436490b04f 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,39 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 11 (remaining gas: 1039967.964 units remaining) + - location: 12 (remaining gas: 1039967.964 units remaining) [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039967.884 units remaining) + - location: 12 (remaining gas: 1039967.914 units remaining) [ 2 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039967.729 units remaining) + - location: 13 (remaining gas: 1039967.869 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039967.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039967.649 units remaining) + - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039967.604 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.604 units remaining) + - location: 13 (remaining gas: 1039967.769 units remaining) [ 2 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.747 units remaining) + - location: 17 (remaining gas: 1039958.942 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.672 units remaining) + - location: 18 (remaining gas: 1039958.897 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.602 units remaining) + - location: 19 (remaining gas: 1039958.857 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.527 units remaining) + - location: 20 (remaining gas: 1039958.812 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.452 units remaining) + - location: 21 (remaining gas: 1039958.767 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.377 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039958.332 units remaining) + - location: 23 (remaining gas: 1039958.722 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 081995348b4d..53fb9a9d3e63 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,39 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 11 (remaining gas: 1039967.964 units remaining) + - location: 12 (remaining gas: 1039967.964 units remaining) [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039967.884 units remaining) + - location: 12 (remaining gas: 1039967.914 units remaining) [ 2 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039967.729 units remaining) + - location: 13 (remaining gas: 1039967.869 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039967.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039967.649 units remaining) + - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039967.604 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.604 units remaining) + - location: 13 (remaining gas: 1039967.769 units remaining) [ 2 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.747 units remaining) + - location: 17 (remaining gas: 1039958.942 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.672 units remaining) + - location: 18 (remaining gas: 1039958.897 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.602 units remaining) + - location: 19 (remaining gas: 1039958.857 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.527 units remaining) + - location: 20 (remaining gas: 1039958.812 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.452 units remaining) + - location: 21 (remaining gas: 1039958.767 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.377 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039958.332 units remaining) + - location: 23 (remaining gas: 1039958.722 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 bf3298d3492d..3d6383a4848a 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,39 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 11 (remaining gas: 1039967.964 units remaining) + - location: 12 (remaining gas: 1039967.964 units remaining) [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039967.884 units remaining) + - location: 12 (remaining gas: 1039967.914 units remaining) [ 3 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039967.729 units remaining) + - location: 13 (remaining gas: 1039967.869 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039967.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039967.649 units remaining) + - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039967.604 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.604 units remaining) + - location: 13 (remaining gas: 1039967.769 units remaining) [ 3 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.747 units remaining) + - location: 17 (remaining gas: 1039958.942 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.672 units remaining) + - location: 18 (remaining gas: 1039958.897 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.602 units remaining) + - location: 19 (remaining gas: 1039958.857 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039958.527 units remaining) + - location: 20 (remaining gas: 1039958.812 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039958.452 units remaining) + - location: 21 (remaining gas: 1039958.767 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039958.377 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: -1 (remaining gas: 1039958.332 units remaining) + - location: 23 (remaining gas: 1039958.722 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 36d352de4822..2521a599eee9 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,39 +9,36 @@ big_map diff Set map(4)[1] to 4 Set map(4)[2] to 11 trace - - location: 11 (remaining gas: 1039967.964 units remaining) + - location: 12 (remaining gas: 1039967.964 units remaining) [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039967.884 units remaining) + - location: 12 (remaining gas: 1039967.914 units remaining) [ 3 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039967.729 units remaining) + - location: 13 (remaining gas: 1039967.869 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039967.819 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039967.649 units remaining) + - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039967.604 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.604 units remaining) + - location: 13 (remaining gas: 1039967.769 units remaining) [ 3 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.747 units remaining) + - location: 17 (remaining gas: 1039958.942 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.672 units remaining) + - location: 18 (remaining gas: 1039958.897 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.602 units remaining) + - location: 19 (remaining gas: 1039958.857 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039958.527 units remaining) + - location: 20 (remaining gas: 1039958.812 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039958.452 units remaining) + - location: 21 (remaining gas: 1039958.767 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039958.377 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: -1 (remaining gas: 1039958.332 units remaining) + - location: 23 (remaining gas: 1039958.722 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 5927ae585a41..aab489b1f6a3 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,39 +7,36 @@ emitted operations big_map diff New map(4) of type (big_map nat nat) trace - - location: 11 (remaining gas: 1039986.730 units remaining) + - location: 12 (remaining gas: 1039986.730 units remaining) [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039986.650 units remaining) + - location: 12 (remaining gas: 1039986.680 units remaining) [ 1 @parameter (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039986.495 units remaining) + - location: 13 (remaining gas: 1039986.635 units remaining) + [ (Pair {} None) @storage ] + - location: 15 (remaining gas: 1039986.585 units remaining) [ {} ] - - location: 16 (remaining gas: 1039986.415 units remaining) + - location: 16 (remaining gas: 1039986.535 units remaining) [ {} {} ] - - location: -1 (remaining gas: 1039986.370 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.370 units remaining) + - location: 13 (remaining gas: 1039986.535 units remaining) [ 1 @parameter {} {} ] - - location: 17 (remaining gas: 1039977.516 units remaining) + - location: 17 (remaining gas: 1039977.711 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039977.441 units remaining) + - location: 18 (remaining gas: 1039977.666 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039977.371 units remaining) + - location: 19 (remaining gas: 1039977.626 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039977.296 units remaining) + - location: 20 (remaining gas: 1039977.581 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039977.221 units remaining) + - location: 21 (remaining gas: 1039977.536 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039977.146 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039977.101 units remaining) + - location: 23 (remaining gas: 1039977.491 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 f3c3c6452853..09f89d714902 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,39 +7,36 @@ emitted operations big_map diff New map(4) of type (big_map nat nat) trace - - location: 11 (remaining gas: 1039986.730 units remaining) + - location: 12 (remaining gas: 1039986.730 units remaining) [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039986.650 units remaining) + - location: 12 (remaining gas: 1039986.680 units remaining) [ 1 @parameter (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039986.495 units remaining) + - location: 13 (remaining gas: 1039986.635 units remaining) + [ (Pair {} None) @storage ] + - location: 15 (remaining gas: 1039986.585 units remaining) [ {} ] - - location: 16 (remaining gas: 1039986.415 units remaining) + - location: 16 (remaining gas: 1039986.535 units remaining) [ {} {} ] - - location: -1 (remaining gas: 1039986.370 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.370 units remaining) + - location: 13 (remaining gas: 1039986.535 units remaining) [ 1 @parameter {} {} ] - - location: 17 (remaining gas: 1039977.516 units remaining) + - location: 17 (remaining gas: 1039977.711 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039977.441 units remaining) + - location: 18 (remaining gas: 1039977.666 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039977.371 units remaining) + - location: 19 (remaining gas: 1039977.626 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039977.296 units remaining) + - location: 20 (remaining gas: 1039977.581 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039977.221 units remaining) + - location: 21 (remaining gas: 1039977.536 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039977.146 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039977.101 units remaining) + - location: 23 (remaining gas: 1039977.491 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 fc189152d201..0d5d342c3231 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,39 +9,36 @@ big_map diff Set map(4)["bar"] to 4 Set map(4)["foo"] to 11 trace - - location: 11 (remaining gas: 1039963.846 units remaining) + - location: 12 (remaining gas: 1039963.846 units remaining) [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039963.766 units remaining) + - location: 12 (remaining gas: 1039963.796 units remaining) [ "baz" @parameter (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039963.611 units remaining) + - location: 13 (remaining gas: 1039963.751 units remaining) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] + - location: 15 (remaining gas: 1039963.701 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039963.531 units remaining) + - location: 16 (remaining gas: 1039963.651 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039963.486 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039963.486 units remaining) + - location: 13 (remaining gas: 1039963.651 units remaining) [ "baz" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039952.621 units remaining) + - location: 17 (remaining gas: 1039952.816 units remaining) [ False { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039952.546 units remaining) + - location: 18 (remaining gas: 1039952.771 units remaining) [ (Some False) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039952.476 units remaining) + - location: 19 (remaining gas: 1039952.731 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some False) ] - - location: 20 (remaining gas: 1039952.401 units remaining) + - location: 20 (remaining gas: 1039952.686 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039952.326 units remaining) + - location: 21 (remaining gas: 1039952.641 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039952.251 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: -1 (remaining gas: 1039952.206 units remaining) + - location: 23 (remaining gas: 1039952.596 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 3dc82b95caf7..6fb09cf8c651 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,39 +9,36 @@ big_map diff Set map(4)["bar"] to 4 Set map(4)["foo"] to 11 trace - - location: 11 (remaining gas: 1039963.846 units remaining) + - location: 12 (remaining gas: 1039963.846 units remaining) [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039963.766 units remaining) + - location: 12 (remaining gas: 1039963.796 units remaining) [ "foo" @parameter (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039963.611 units remaining) + - location: 13 (remaining gas: 1039963.751 units remaining) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] + - location: 15 (remaining gas: 1039963.701 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039963.531 units remaining) + - location: 16 (remaining gas: 1039963.651 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039963.486 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039963.486 units remaining) + - location: 13 (remaining gas: 1039963.651 units remaining) [ "foo" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039952.621 units remaining) + - location: 17 (remaining gas: 1039952.816 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039952.546 units remaining) + - location: 18 (remaining gas: 1039952.771 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039952.476 units remaining) + - location: 19 (remaining gas: 1039952.731 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039952.401 units remaining) + - location: 20 (remaining gas: 1039952.686 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039952.326 units remaining) + - location: 21 (remaining gas: 1039952.641 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039952.251 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039952.206 units remaining) + - location: 23 (remaining gas: 1039952.596 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 4fb4b94100c3..bc6e5c512733 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,39 +9,36 @@ big_map diff Set map(4)["bar"] to 4 Set map(4)["foo"] to 11 trace - - location: 11 (remaining gas: 1039963.846 units remaining) + - location: 12 (remaining gas: 1039963.846 units remaining) [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039963.766 units remaining) + - location: 12 (remaining gas: 1039963.796 units remaining) [ "bar" @parameter (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039963.611 units remaining) + - location: 13 (remaining gas: 1039963.751 units remaining) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] + - location: 15 (remaining gas: 1039963.701 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039963.531 units remaining) + - location: 16 (remaining gas: 1039963.651 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039963.486 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039963.486 units remaining) + - location: 13 (remaining gas: 1039963.651 units remaining) [ "bar" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039952.621 units remaining) + - location: 17 (remaining gas: 1039952.816 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039952.546 units remaining) + - location: 18 (remaining gas: 1039952.771 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039952.476 units remaining) + - location: 19 (remaining gas: 1039952.731 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039952.401 units remaining) + - location: 20 (remaining gas: 1039952.686 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039952.326 units remaining) + - location: 21 (remaining gas: 1039952.641 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039952.251 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039952.206 units remaining) + - location: 23 (remaining gas: 1039952.596 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 438c02fc988d..a3a1c0e2b3fd 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,39 +8,36 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["foo"] to 0 trace - - location: 11 (remaining gas: 1039975.328 units remaining) + - location: 12 (remaining gas: 1039975.328 units remaining) [ (Pair "foo" { Elt "foo" 0 } None) ] - - location: 12 (remaining gas: 1039975.248 units remaining) + - location: 12 (remaining gas: 1039975.278 units remaining) [ "foo" @parameter (Pair { Elt "foo" 0 } None) @storage ] - - location: 15 (remaining gas: 1039975.093 units remaining) + - location: 13 (remaining gas: 1039975.233 units remaining) + [ (Pair { Elt "foo" 0 } None) @storage ] + - location: 15 (remaining gas: 1039975.183 units remaining) [ { Elt "foo" 0 } ] - - location: 16 (remaining gas: 1039975.013 units remaining) + - location: 16 (remaining gas: 1039975.133 units remaining) [ { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: -1 (remaining gas: 1039974.968 units remaining) - [ { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039974.968 units remaining) + - location: 13 (remaining gas: 1039975.133 units remaining) [ "foo" @parameter { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039964.104 units remaining) + - location: 17 (remaining gas: 1039964.299 units remaining) [ True { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039964.029 units remaining) + - location: 18 (remaining gas: 1039964.254 units remaining) [ (Some True) { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039963.959 units remaining) + - location: 19 (remaining gas: 1039964.214 units remaining) [ { Elt "foo" 0 } (Some True) ] - - location: 20 (remaining gas: 1039963.884 units remaining) + - location: 20 (remaining gas: 1039964.169 units remaining) [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039963.809 units remaining) + - location: 21 (remaining gas: 1039964.124 units remaining) [ {} (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039963.734 units remaining) - [ (Pair {} { Elt "foo" 0 } (Some True)) ] - - location: -1 (remaining gas: 1039963.689 units remaining) + - location: 23 (remaining gas: 1039964.079 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 a893d5cebc14..ed07b14efa3a 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,39 +8,36 @@ big_map diff New map(4) of type (big_map string nat) Set map(4)["foo"] to 1 trace - - location: 11 (remaining gas: 1039975.328 units remaining) + - location: 12 (remaining gas: 1039975.328 units remaining) [ (Pair "bar" { Elt "foo" 1 } None) ] - - location: 12 (remaining gas: 1039975.248 units remaining) + - location: 12 (remaining gas: 1039975.278 units remaining) [ "bar" @parameter (Pair { Elt "foo" 1 } None) @storage ] - - location: 15 (remaining gas: 1039975.093 units remaining) + - location: 13 (remaining gas: 1039975.233 units remaining) + [ (Pair { Elt "foo" 1 } None) @storage ] + - location: 15 (remaining gas: 1039975.183 units remaining) [ { Elt "foo" 1 } ] - - location: 16 (remaining gas: 1039975.013 units remaining) + - location: 16 (remaining gas: 1039975.133 units remaining) [ { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: -1 (remaining gas: 1039974.968 units remaining) - [ { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039974.968 units remaining) + - location: 13 (remaining gas: 1039975.133 units remaining) [ "bar" @parameter { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039964.104 units remaining) + - location: 17 (remaining gas: 1039964.299 units remaining) [ False { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039964.029 units remaining) + - location: 18 (remaining gas: 1039964.254 units remaining) [ (Some False) { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039963.959 units remaining) + - location: 19 (remaining gas: 1039964.214 units remaining) [ { Elt "foo" 1 } (Some False) ] - - location: 20 (remaining gas: 1039963.884 units remaining) + - location: 20 (remaining gas: 1039964.169 units remaining) [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039963.809 units remaining) + - location: 21 (remaining gas: 1039964.124 units remaining) [ {} (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039963.734 units remaining) - [ (Pair {} { Elt "foo" 1 } (Some False)) ] - - location: -1 (remaining gas: 1039963.689 units remaining) + - location: 23 (remaining gas: 1039964.079 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 78da24ff6c6d..e2e631c14d23 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,39 +7,36 @@ emitted operations big_map diff New map(4) of type (big_map string nat) trace - - location: 11 (remaining gas: 1039986.686 units remaining) + - location: 12 (remaining gas: 1039986.686 units remaining) [ (Pair "bar" {} None) ] - - location: 12 (remaining gas: 1039986.606 units remaining) + - location: 12 (remaining gas: 1039986.636 units remaining) [ "bar" @parameter (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039986.451 units remaining) + - location: 13 (remaining gas: 1039986.591 units remaining) + [ (Pair {} None) @storage ] + - location: 15 (remaining gas: 1039986.541 units remaining) [ {} ] - - location: 16 (remaining gas: 1039986.371 units remaining) + - location: 16 (remaining gas: 1039986.491 units remaining) [ {} {} ] - - location: -1 (remaining gas: 1039986.326 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.326 units remaining) + - location: 13 (remaining gas: 1039986.491 units remaining) [ "bar" @parameter {} {} ] - - location: 17 (remaining gas: 1039975.464 units remaining) + - location: 17 (remaining gas: 1039975.659 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039975.389 units remaining) + - location: 18 (remaining gas: 1039975.614 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039975.319 units remaining) + - location: 19 (remaining gas: 1039975.574 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039975.244 units remaining) + - location: 20 (remaining gas: 1039975.529 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039975.169 units remaining) + - location: 21 (remaining gas: 1039975.484 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039975.094 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039975.049 units remaining) + - location: 23 (remaining gas: 1039975.439 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 5810d31ac921..f544c5980d3e 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,21 +7,18 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.230 units remaining) + - location: 8 (remaining gas: 1039993.230 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.155 units remaining) + - location: 8 (remaining gas: 1039993.185 units remaining) [ ] - - location: 9 (remaining gas: 1039993.080 units remaining) + - location: 9 (remaining gas: 1039993.140 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.005 units remaining) + - location: 12 (remaining gas: 1039993.095 units remaining) [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 13 (remaining gas: 1039992.930 units remaining) + - location: 13 (remaining gas: 1039993.050 units remaining) [ {} (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 15 (remaining gas: 1039992.855 units remaining) - [ (Pair {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039992.810 units remaining) + - location: 15 (remaining gas: 1039993.005 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 901ca995d034..e86ecdc0be99 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,21 +7,18 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.230 units remaining) + - location: 8 (remaining gas: 1039993.230 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.155 units remaining) + - location: 8 (remaining gas: 1039993.185 units remaining) [ ] - - location: 9 (remaining gas: 1039993.080 units remaining) + - location: 9 (remaining gas: 1039993.140 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.005 units remaining) + - location: 12 (remaining gas: 1039993.095 units remaining) [ (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: 13 (remaining gas: 1039992.930 units remaining) + - location: 13 (remaining gas: 1039993.050 units remaining) [ {} (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: 15 (remaining gas: 1039992.855 units remaining) - [ (Pair {} - (Some 0x1000000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039992.810 units remaining) + - location: 15 (remaining gas: 1039993.005 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 098787aee7e1..39fd53158af7 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 @parameter ] - - location: 8 (remaining gas: 1039994.550 units remaining) + - location: 8 (remaining gas: 1039994.610 units remaining) [ 0 ] - - location: 9 (remaining gas: 1039994.475 units remaining) + - location: 9 (remaining gas: 1039994.565 units remaining) [ {} 0 ] - - location: 11 (remaining gas: 1039994.400 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039994.355 units remaining) + - location: 11 (remaining gas: 1039994.520 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 853694ba1be6..69597ccbb6ea 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @parameter ] - - location: 8 (remaining gas: 1039994.550 units remaining) + - location: 8 (remaining gas: 1039994.610 units remaining) [ 1 ] - - location: 9 (remaining gas: 1039994.475 units remaining) + - location: 9 (remaining gas: 1039994.565 units remaining) [ {} 1 ] - - location: 11 (remaining gas: 1039994.400 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039994.355 units remaining) + - location: 11 (remaining gas: 1039994.520 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 9e7e39835c47..5b49b59b8a60 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,19 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 0) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 @parameter ] - - location: 8 (remaining gas: 1039994.550 units remaining) + - location: 8 (remaining gas: 1039994.610 units remaining) [ 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] - - location: 9 (remaining gas: 1039994.475 units remaining) + - location: 9 (remaining gas: 1039994.565 units remaining) [ {} 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] - - location: 11 (remaining gas: 1039994.400 units remaining) - [ (Pair {} - 17832688077013577776524784494464728518213913213412866604053735695200962927400) ] - - location: -1 (remaining gas: 1039994.355 units remaining) + - location: 11 (remaining gas: 1039994.520 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 6435a142622e..811fd9ff8a8b 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,19 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 0) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 @parameter ] - - location: 8 (remaining gas: 1039994.550 units remaining) + - location: 8 (remaining gas: 1039994.610 units remaining) [ 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] - - location: 9 (remaining gas: 1039994.475 units remaining) + - location: 9 (remaining gas: 1039994.565 units remaining) [ {} 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] - - location: 11 (remaining gas: 1039994.400 units remaining) - [ (Pair {} - 11320265829256585830781521966149529460476767408210445238902869222031333517497) ] - - location: -1 (remaining gas: 1039994.355 units remaining) + - location: 11 (remaining gas: 1039994.520 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 368177e1e09a..d8a228811fec 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,28 +7,26 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039988.655 units remaining) + - location: 7 (remaining gas: 1039988.655 units remaining) [ (Pair 0x1000000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039988.575 units remaining) + - location: 7 (remaining gas: 1039988.605 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 @parameter ] - - location: 8 (remaining gas: 1039988.515 units remaining) + - location: 8 (remaining gas: 1039988.575 units remaining) [ 16 ] - - location: 9 (remaining gas: 1039988.435 units remaining) + - location: 9 (remaining gas: 1039988.525 units remaining) [ (Some 16) ] - - location: 16 (remaining gas: 1039988.300 units remaining) + - location: 11 (remaining gas: 1039988.495 units remaining) [ 16 @some ] - - location: 10 (remaining gas: 1039988.255 units remaining) + - location: 16 (remaining gas: 1039988.450 units remaining) [ 16 @some ] - - location: 17 (remaining gas: 1039988.180 units remaining) + - location: 17 (remaining gas: 1039988.405 units remaining) [ 1 16 @some ] - - location: 20 (remaining gas: 1039987.817 units remaining) + - location: 20 (remaining gas: 1039988.072 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039987.742 units remaining) + - location: 21 (remaining gas: 1039988.027 units remaining) [ {} 16 ] - - location: 23 (remaining gas: 1039987.667 units remaining) - [ (Pair {} 16) ] - - location: -1 (remaining gas: 1039987.622 units remaining) + - location: 23 (remaining gas: 1039987.982 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 ec3025822a28..d39a45814f93 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ -42 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 d6d79863a16b..e6155a255e22 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 2 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 bb4289e027ea..ef058daf4b2d 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ -1 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 70c384074ad6..5225b18d9412 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 0 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 2f6af90fe7cf..077573f7e469 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 6977a0035757..087c79798c80 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 1 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 e634090a7119..16cc90d8af84 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 6315ab5fecf7..be3b765952f5 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 3f252702a1fd..d53ee630b927 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 0f7d6223947c..8df32276d508 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 78d8c26bb409..9bb41bc0cc72 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 1 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 012063d208b3..10d719a1da69 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 0 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 7d1642b7dfb6..934f83afde22 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 7ae847eca534..aa44479b8807 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 2 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 c96b21622070..924dde5d65b6 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 35d51226101f..607d231f1b94 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 d21f600c05cb..a3d1eed09964 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 a1514578d7b5..63a29ce10620 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.690 units remaining) + - location: 7 (remaining gas: 1039994.690 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.610 units remaining) + - location: 7 (remaining gas: 1039994.640 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.200 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039994.125 units remaining) + - location: 9 (remaining gas: 1039994.215 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039994.050 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039994.005 units remaining) + - location: 11 (remaining gas: 1039994.170 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 0db77c47ce68..0d1e7d784a12 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 2 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 2 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 21e713b855a6..2a2339ee6a91 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ -1 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage -1 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 8e5e2ae9c76d..bf9ce9108c2a 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 0 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 0 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 378fb79f78c6..502a776f25dc 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ -42 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage -42 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 6596ac565f30..4c40bc5d4b7c 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 1 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 1 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 51ea592c739c..5509cbe507a0 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 36e7f195b52c..7f95442475a9 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 bf9ddc444a02..84362bfc6b50 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 8d9bc045ca64..16b8b606c5c5 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 01f11b3db447..b562ea17a9e5 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 85ffadab9b6f..7751d1138804 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 ef0667f3b103..2b327c845db4 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 0 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 0 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 cffa1d34709a..c27eb949c049 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 1 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 1 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 68954cb16213..c27cd8a72958 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,21 +7,19 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 2 @parameter 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage 2 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 6c325e50ed7f..174c51c8b462 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 d6404f86b868..bee4939916b1 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 949f215839f6..22f1085a14d6 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 16680440abad..3f3ee1076d3c 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.940 units remaining) + - location: 7 (remaining gas: 1039993.940 units remaining) [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.860 units remaining) + - location: 7 (remaining gas: 1039993.890 units remaining) [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.790 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter ] - - location: 9 (remaining gas: 1039993.380 units remaining) + - location: 9 (remaining gas: 1039993.470 units remaining) [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.305 units remaining) + - location: 10 (remaining gas: 1039993.425 units remaining) [ {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039993.230 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.185 units remaining) + - location: 12 (remaining gas: 1039993.380 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 88014f58a758..333f4d0e9693 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.920 units remaining) + - location: 9 (remaining gas: 1039993.920 units remaining) [ (Pair (Pair 34 17) 0) ] - - location: 9 (remaining gas: 1039993.840 units remaining) + - location: 9 (remaining gas: 1039993.870 units remaining) [ (Pair 34 17) @parameter ] - - location: 10 (remaining gas: 1039993.760 units remaining) + - location: 10 (remaining gas: 1039993.820 units remaining) [ 34 ] - - location: 11 (remaining gas: 1039993.685 units remaining) + - location: 11 (remaining gas: 1039993.775 units remaining) [ {} 34 ] - - location: 13 (remaining gas: 1039993.610 units remaining) - [ (Pair {} 34) ] - - location: -1 (remaining gas: 1039993.565 units remaining) + - location: 13 (remaining gas: 1039993.730 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 95aae490d932..802d192c159e 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.920 units remaining) + - location: 9 (remaining gas: 1039993.920 units remaining) [ (Pair (Pair 34 17) 0) ] - - location: 9 (remaining gas: 1039993.840 units remaining) + - location: 9 (remaining gas: 1039993.870 units remaining) [ (Pair 34 17) @parameter ] - - location: 10 (remaining gas: 1039993.760 units remaining) + - location: 10 (remaining gas: 1039993.820 units remaining) [ 17 ] - - location: 11 (remaining gas: 1039993.685 units remaining) + - location: 11 (remaining gas: 1039993.775 units remaining) [ {} 17 ] - - location: 13 (remaining gas: 1039993.610 units remaining) - [ (Pair {} 17) ] - - location: -1 (remaining gas: 1039993.565 units remaining) + - location: 13 (remaining gas: 1039993.730 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 501885ede06e..af0021d10657 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.950 units remaining) + - location: 8 (remaining gas: 1039991.950 units remaining) [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] - - location: 8 (remaining gas: 1039991.875 units remaining) + - location: 8 (remaining gas: 1039991.905 units remaining) [ ] - - location: 9 (remaining gas: 1039991.800 units remaining) + - location: 9 (remaining gas: 1039991.860 units remaining) [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039991.725 units remaining) + - location: 10 (remaining gas: 1039991.815 units remaining) [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039991.650 units remaining) + - location: 11 (remaining gas: 1039991.770 units remaining) [ {} (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039991.575 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - - location: -1 (remaining gas: 1039991.530 units remaining) + - location: 13 (remaining gas: 1039991.725 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 353d348ccccb..33424b162323 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.400 units remaining) + - location: 8 (remaining gas: 1039993.400 units remaining) [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] - - location: 8 (remaining gas: 1039993.325 units remaining) + - location: 8 (remaining gas: 1039993.355 units remaining) [ ] - - location: 9 (remaining gas: 1039993.250 units remaining) + - location: 9 (remaining gas: 1039993.310 units remaining) [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039993.175 units remaining) + - location: 10 (remaining gas: 1039993.265 units remaining) [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039993.100 units remaining) + - location: 11 (remaining gas: 1039993.220 units remaining) [ {} (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039993.025 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - - location: -1 (remaining gas: 1039992.980 units remaining) + - location: 13 (remaining gas: 1039993.175 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 37d82ed9ad44..46d03acaab34 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.615 units remaining) + - location: 8 (remaining gas: 1039993.645 units remaining) [ ] - - location: 9 (remaining gas: 1039993.540 units remaining) + - location: 9 (remaining gas: 1039993.600 units remaining) [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039993.465 units remaining) + - location: 10 (remaining gas: 1039993.555 units remaining) [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039993.390 units remaining) + - location: 11 (remaining gas: 1039993.510 units remaining) [ {} (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039993.315 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - - location: -1 (remaining gas: 1039993.270 units remaining) + - location: 13 (remaining gas: 1039993.465 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 3610f5441ea7..73ff0c46961d 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,134 +7,117 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039941.990 units remaining) + - location: 11 (remaining gas: 1039941.990 units remaining) [ (Pair (Pair 1 4 2 Unit) Unit) ] - - location: 11 (remaining gas: 1039941.910 units remaining) + - location: 11 (remaining gas: 1039941.940 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 12 (remaining gas: 1039941.830 units remaining) + - location: 12 (remaining gas: 1039941.890 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 13 (remaining gas: 1039941.750 units remaining) + - location: 13 (remaining gas: 1039941.840 units remaining) [ 1 (Pair 1 4 2 Unit) @parameter ] - - location: 14 (remaining gas: 1039941.675 units remaining) + - location: 14 (remaining gas: 1039941.795 units remaining) [ 1 1 (Pair 1 4 2 Unit) @parameter ] - - location: 19 (remaining gas: 1039941.435 units remaining) + - location: 19 (remaining gas: 1039941.645 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 20 (remaining gas: 1039941.360 units remaining) + - location: 20 (remaining gas: 1039941.595 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039941.315 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 22 (remaining gas: 1039941.215 units remaining) + - location: 21 (remaining gas: 1039941.570 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039941.170 units remaining) + - location: 22 (remaining gas: 1039941.525 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 27 (remaining gas: 1039941.090 units remaining) + - location: 27 (remaining gas: 1039941.475 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 28 (remaining gas: 1039940.980 units remaining) + - location: 28 (remaining gas: 1039941.395 units remaining) [ 1 (Pair 1 4 2 Unit) @parameter ] - - location: 30 (remaining gas: 1039940.905 units remaining) + - location: 30 (remaining gas: 1039941.350 units remaining) [ 1 1 (Pair 1 4 2 Unit) @parameter ] - - location: 35 (remaining gas: 1039940.665 units remaining) + - location: 35 (remaining gas: 1039941.200 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 36 (remaining gas: 1039940.590 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039940.545 units remaining) + - location: 36 (remaining gas: 1039941.150 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: 38 (remaining gas: 1039940.445 units remaining) + - location: 37 (remaining gas: 1039941.125 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039940.400 units remaining) + - location: 38 (remaining gas: 1039941.080 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 43 (remaining gas: 1039940.320 units remaining) + - location: 43 (remaining gas: 1039941.030 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 44 (remaining gas: 1039940.209 units remaining) + - location: 44 (remaining gas: 1039940.949 units remaining) [ 4 (Pair 1 4 2 Unit) @parameter ] - - location: 46 (remaining gas: 1039940.134 units remaining) + - location: 46 (remaining gas: 1039940.904 units remaining) [ 4 4 (Pair 1 4 2 Unit) @parameter ] - - location: 51 (remaining gas: 1039939.894 units remaining) + - location: 51 (remaining gas: 1039940.754 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 52 (remaining gas: 1039939.819 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039939.774 units remaining) + - location: 52 (remaining gas: 1039940.704 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: 54 (remaining gas: 1039939.674 units remaining) + - location: 53 (remaining gas: 1039940.679 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039939.629 units remaining) + - location: 54 (remaining gas: 1039940.634 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 59 (remaining gas: 1039939.549 units remaining) + - location: 59 (remaining gas: 1039940.584 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 60 (remaining gas: 1039939.437 units remaining) + - location: 60 (remaining gas: 1039940.502 units remaining) [ 2 (Pair 1 4 2 Unit) @parameter ] - - location: 62 (remaining gas: 1039939.362 units remaining) + - location: 62 (remaining gas: 1039940.457 units remaining) [ 2 2 (Pair 1 4 2 Unit) @parameter ] - - location: 67 (remaining gas: 1039939.122 units remaining) + - location: 67 (remaining gas: 1039940.307 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 68 (remaining gas: 1039939.047 units remaining) + - location: 68 (remaining gas: 1039940.257 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039939.002 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 70 (remaining gas: 1039938.902 units remaining) + - location: 69 (remaining gas: 1039940.232 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039938.857 units remaining) + - location: 70 (remaining gas: 1039940.187 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 75 (remaining gas: 1039938.777 units remaining) + - location: 75 (remaining gas: 1039940.137 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 76 (remaining gas: 1039938.664 units remaining) + - location: 76 (remaining gas: 1039940.054 units remaining) [ Unit (Pair 1 4 2 Unit) @parameter ] - - location: 78 (remaining gas: 1039938.589 units remaining) + - location: 78 (remaining gas: 1039940.009 units remaining) [ Unit Unit (Pair 1 4 2 Unit) @parameter ] - - location: 81 (remaining gas: 1039938.489 units remaining) + - location: 81 (remaining gas: 1039939.999 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 82 (remaining gas: 1039938.414 units remaining) + - location: 82 (remaining gas: 1039939.949 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039938.369 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 84 (remaining gas: 1039938.269 units remaining) + - location: 83 (remaining gas: 1039939.924 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039938.224 units remaining) + - location: 84 (remaining gas: 1039939.879 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 89 (remaining gas: 1039938.149 units remaining) + - location: 89 (remaining gas: 1039939.834 units remaining) [ ] - - location: 90 (remaining gas: 1039938.074 units remaining) + - location: 90 (remaining gas: 1039939.789 units remaining) [ Unit ] - - location: 91 (remaining gas: 1039937.999 units remaining) + - location: 91 (remaining gas: 1039939.744 units remaining) [ {} Unit ] - - location: 93 (remaining gas: 1039937.924 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039937.879 units remaining) + - location: 93 (remaining gas: 1039939.699 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 b83828609851..53c44e6a647d 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039983.796 units remaining) + - location: 16 (remaining gas: 1039983.796 units remaining) [ (Pair (Pair 1 4 2 Unit) None) ] - - location: 16 (remaining gas: 1039983.716 units remaining) + - location: 16 (remaining gas: 1039983.746 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 17 (remaining gas: 1039983.641 units remaining) + - location: 17 (remaining gas: 1039983.701 units remaining) [ 2 (Pair 1 4 2 Unit) @parameter ] - - location: 20 (remaining gas: 1039983.530 units remaining) + - location: 20 (remaining gas: 1039983.620 units remaining) [ (Pair 2 4 2 Unit) ] - - location: 22 (remaining gas: 1039983.455 units remaining) + - location: 22 (remaining gas: 1039983.575 units remaining) [ "toto" (Pair 2 4 2 Unit) ] - - location: 25 (remaining gas: 1039983.339 units remaining) + - location: 25 (remaining gas: 1039983.489 units remaining) [ (Pair 2 4 "toto" Unit) ] - - location: 27 (remaining gas: 1039983.264 units remaining) + - location: 27 (remaining gas: 1039983.444 units remaining) [ 0x01 (Pair 2 4 "toto" Unit) ] - - location: 30 (remaining gas: 1039983.147 units remaining) + - location: 30 (remaining gas: 1039983.357 units remaining) [ (Pair 2 4 "toto" 0x01) ] - - location: 32 (remaining gas: 1039983.072 units remaining) + - location: 32 (remaining gas: 1039983.312 units remaining) [ (Some (Pair 2 4 "toto" 0x01)) ] - - location: 33 (remaining gas: 1039982.997 units remaining) + - location: 33 (remaining gas: 1039983.267 units remaining) [ {} (Some (Pair 2 4 "toto" 0x01)) ] - - location: 35 (remaining gas: 1039982.922 units remaining) - [ (Pair {} (Some (Pair 2 4 "toto" 0x01))) ] - - location: -1 (remaining gas: 1039982.877 units remaining) + - location: 35 (remaining gas: 1039983.222 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 777639a02f09..027681c9182e 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,35 +7,33 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039984.270 units remaining) + - location: 11 (remaining gas: 1039984.270 units remaining) [ (Pair Unit 1 4 2 Unit) ] - - location: 11 (remaining gas: 1039984.190 units remaining) + - location: 11 (remaining gas: 1039984.220 units remaining) [ (Pair 1 4 2 Unit) @storage ] - - location: 12 (remaining gas: 1039984.115 units remaining) + - location: 12 (remaining gas: 1039984.175 units remaining) [ 2 (Pair 1 4 2 Unit) @storage ] - - location: 15 (remaining gas: 1039984.004 units remaining) + - location: 15 (remaining gas: 1039984.094 units remaining) [ (Pair 2 4 2 Unit) ] - - location: 17 (remaining gas: 1039983.929 units remaining) + - location: 17 (remaining gas: 1039984.049 units remaining) [ 12 (Pair 2 4 2 Unit) ] - - location: 20 (remaining gas: 1039983.816 units remaining) + - location: 20 (remaining gas: 1039983.966 units remaining) [ (Pair 2 12 2 Unit) ] - - location: 22 (remaining gas: 1039983.741 units remaining) + - location: 22 (remaining gas: 1039983.921 units remaining) [ 8 (Pair 2 12 2 Unit) ] - - location: 25 (remaining gas: 1039983.625 units remaining) + - location: 25 (remaining gas: 1039983.835 units remaining) [ (Pair 2 12 8 Unit) ] - - location: 27 (remaining gas: 1039983.550 units remaining) + - location: 27 (remaining gas: 1039983.790 units remaining) [ Unit (Pair 2 12 8 Unit) ] - - location: 28 (remaining gas: 1039983.433 units remaining) + - location: 28 (remaining gas: 1039983.703 units remaining) [ (Pair 2 12 8 Unit) ] - - location: 30 (remaining gas: 1039983.358 units remaining) + - location: 30 (remaining gas: 1039983.658 units remaining) [ {} (Pair 2 12 8 Unit) ] - - location: 32 (remaining gas: 1039983.283 units remaining) - [ (Pair {} 2 12 8 Unit) ] - - location: -1 (remaining gas: 1039983.238 units remaining) + - location: 32 (remaining gas: 1039983.613 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 17dc03a0e22d..0e5bb9f25a91 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,26 +7,24 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.650 units remaining) + - location: 10 (remaining gas: 1039989.650 units remaining) [ (Pair Unit 0 0 0) ] - - location: 10 (remaining gas: 1039989.575 units remaining) + - location: 10 (remaining gas: 1039989.605 units remaining) [ ] - - location: 11 (remaining gas: 1039989.500 units remaining) + - location: 11 (remaining gas: 1039989.560 units remaining) [ 3 ] - - location: 14 (remaining gas: 1039989.425 units remaining) + - location: 14 (remaining gas: 1039989.515 units remaining) [ 2 3 ] - - location: 17 (remaining gas: 1039989.350 units remaining) + - location: 17 (remaining gas: 1039989.470 units remaining) [ 1 2 3 ] - - location: 20 (remaining gas: 1039989.275 units remaining) + - location: 20 (remaining gas: 1039989.425 units remaining) [ {} 1 2 3 ] - - location: 22 (remaining gas: 1039989.152 units remaining) - [ (Pair {} 1 2 3) ] - - location: -1 (remaining gas: 1039989.107 units remaining) + - location: 22 (remaining gas: 1039989.332 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 933c4eb741fc..682d1256f9c8 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,394 +7,392 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039762.979 units remaining) + - location: 7 (remaining gas: 1039762.979 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039762.904 units remaining) + - location: 7 (remaining gas: 1039762.934 units remaining) [ ] - - location: 8 (remaining gas: 1039762.829 units remaining) + - location: 8 (remaining gas: 1039762.889 units remaining) [ True ] - - location: 11 (remaining gas: 1039762.749 units remaining) + - location: 11 (remaining gas: 1039762.839 units remaining) [ True True ] - - location: 12 (remaining gas: 1039762.511 units remaining) + - location: 12 (remaining gas: 1039762.631 units remaining) [ 0 ] - - location: 14 (remaining gas: 1039762.406 units remaining) + - location: 14 (remaining gas: 1039762.581 units remaining) [ True ] - - location: 16 (remaining gas: 1039762.306 units remaining) + - location: 15 (remaining gas: 1039762.556 units remaining) [ ] - - location: -1 (remaining gas: 1039762.261 units remaining) + - location: 16 (remaining gas: 1039762.511 units remaining) [ ] - - location: 21 (remaining gas: 1039762.186 units remaining) + - location: 21 (remaining gas: 1039762.466 units remaining) [ False ] - - location: 24 (remaining gas: 1039762.106 units remaining) + - location: 24 (remaining gas: 1039762.416 units remaining) [ False False ] - - location: 25 (remaining gas: 1039761.868 units remaining) + - location: 25 (remaining gas: 1039762.208 units remaining) [ 0 ] - - location: 27 (remaining gas: 1039761.763 units remaining) + - location: 27 (remaining gas: 1039762.158 units remaining) [ True ] - - location: 29 (remaining gas: 1039761.663 units remaining) + - location: 28 (remaining gas: 1039762.133 units remaining) [ ] - - location: -1 (remaining gas: 1039761.618 units remaining) + - location: 29 (remaining gas: 1039762.088 units remaining) [ ] - - location: 34 (remaining gas: 1039761.543 units remaining) + - location: 34 (remaining gas: 1039762.043 units remaining) [ False ] - - location: 37 (remaining gas: 1039761.468 units remaining) + - location: 37 (remaining gas: 1039761.998 units remaining) [ True False ] - - location: 40 (remaining gas: 1039761.230 units remaining) + - location: 40 (remaining gas: 1039761.790 units remaining) [ 1 ] - - location: 42 (remaining gas: 1039761.125 units remaining) + - location: 42 (remaining gas: 1039761.745 units remaining) [ True ] - - location: 44 (remaining gas: 1039761.025 units remaining) + - location: 43 (remaining gas: 1039761.720 units remaining) [ ] - - location: -1 (remaining gas: 1039760.980 units remaining) + - location: 44 (remaining gas: 1039761.675 units remaining) [ ] - - location: 49 (remaining gas: 1039760.905 units remaining) + - location: 49 (remaining gas: 1039761.630 units remaining) [ True ] - - location: 52 (remaining gas: 1039760.830 units remaining) + - location: 52 (remaining gas: 1039761.585 units remaining) [ False True ] - - location: 55 (remaining gas: 1039760.592 units remaining) + - location: 55 (remaining gas: 1039761.377 units remaining) [ -1 ] - - location: 57 (remaining gas: 1039760.487 units remaining) + - location: 57 (remaining gas: 1039761.332 units remaining) [ True ] - - location: 59 (remaining gas: 1039760.387 units remaining) + - location: 58 (remaining gas: 1039761.307 units remaining) [ ] - - location: -1 (remaining gas: 1039760.342 units remaining) + - location: 59 (remaining gas: 1039761.262 units remaining) [ ] - - location: 64 (remaining gas: 1039760.267 units remaining) + - location: 64 (remaining gas: 1039761.217 units remaining) [ 0xaabbcc ] - - location: 67 (remaining gas: 1039760.187 units remaining) + - location: 67 (remaining gas: 1039761.167 units remaining) [ 0xaabbcc 0xaabbcc ] - - location: 68 (remaining gas: 1039760.037 units remaining) + - location: 68 (remaining gas: 1039761.047 units remaining) [ 0 ] - - location: 70 (remaining gas: 1039759.932 units remaining) + - location: 70 (remaining gas: 1039760.997 units remaining) [ True ] - - location: 72 (remaining gas: 1039759.832 units remaining) + - location: 71 (remaining gas: 1039760.972 units remaining) [ ] - - location: -1 (remaining gas: 1039759.787 units remaining) + - location: 72 (remaining gas: 1039760.927 units remaining) [ ] - - location: 77 (remaining gas: 1039759.712 units remaining) + - location: 77 (remaining gas: 1039760.882 units remaining) [ 0x ] - - location: 80 (remaining gas: 1039759.637 units remaining) + - location: 80 (remaining gas: 1039760.837 units remaining) [ 0x 0x ] - - location: 83 (remaining gas: 1039759.487 units remaining) + - location: 83 (remaining gas: 1039760.717 units remaining) [ 0 ] - - location: 85 (remaining gas: 1039759.382 units remaining) + - location: 85 (remaining gas: 1039760.667 units remaining) [ True ] - - location: 87 (remaining gas: 1039759.282 units remaining) + - location: 86 (remaining gas: 1039760.642 units remaining) [ ] - - location: -1 (remaining gas: 1039759.237 units remaining) + - location: 87 (remaining gas: 1039760.597 units remaining) [ ] - - location: 92 (remaining gas: 1039759.162 units remaining) + - location: 92 (remaining gas: 1039760.552 units remaining) [ 0x ] - - location: 95 (remaining gas: 1039759.087 units remaining) + - location: 95 (remaining gas: 1039760.507 units remaining) [ 0x01 0x ] - - location: 98 (remaining gas: 1039758.937 units remaining) + - location: 98 (remaining gas: 1039760.387 units remaining) [ 1 ] - - location: 100 (remaining gas: 1039758.832 units remaining) + - location: 100 (remaining gas: 1039760.342 units remaining) [ True ] - - location: 102 (remaining gas: 1039758.732 units remaining) + - location: 101 (remaining gas: 1039760.317 units remaining) [ ] - - location: -1 (remaining gas: 1039758.687 units remaining) + - location: 102 (remaining gas: 1039760.272 units remaining) [ ] - - location: 107 (remaining gas: 1039758.612 units remaining) + - location: 107 (remaining gas: 1039760.227 units remaining) [ 0x01 ] - - location: 110 (remaining gas: 1039758.537 units remaining) + - location: 110 (remaining gas: 1039760.182 units remaining) [ 0x02 0x01 ] - - location: 113 (remaining gas: 1039758.387 units remaining) + - location: 113 (remaining gas: 1039760.062 units remaining) [ 1 ] - - location: 115 (remaining gas: 1039758.282 units remaining) + - location: 115 (remaining gas: 1039760.017 units remaining) [ True ] - - location: 117 (remaining gas: 1039758.182 units remaining) + - location: 116 (remaining gas: 1039759.992 units remaining) [ ] - - location: -1 (remaining gas: 1039758.137 units remaining) + - location: 117 (remaining gas: 1039759.947 units remaining) [ ] - - location: 122 (remaining gas: 1039758.062 units remaining) + - location: 122 (remaining gas: 1039759.902 units remaining) [ 0x02 ] - - location: 125 (remaining gas: 1039757.987 units remaining) + - location: 125 (remaining gas: 1039759.857 units remaining) [ 0x01 0x02 ] - - location: 128 (remaining gas: 1039757.837 units remaining) + - location: 128 (remaining gas: 1039759.737 units remaining) [ -1 ] - - location: 130 (remaining gas: 1039757.732 units remaining) + - location: 130 (remaining gas: 1039759.692 units remaining) [ True ] - - location: 132 (remaining gas: 1039757.632 units remaining) + - location: 131 (remaining gas: 1039759.667 units remaining) [ ] - - location: -1 (remaining gas: 1039757.587 units remaining) + - location: 132 (remaining gas: 1039759.622 units remaining) [ ] - - location: 137 (remaining gas: 1039757.512 units remaining) + - location: 137 (remaining gas: 1039759.577 units remaining) [ 1 ] - - location: 140 (remaining gas: 1039757.432 units remaining) + - location: 140 (remaining gas: 1039759.527 units remaining) [ 1 1 ] - - location: 141 (remaining gas: 1039757.252 units remaining) + - location: 141 (remaining gas: 1039759.377 units remaining) [ 0 ] - - location: 143 (remaining gas: 1039757.147 units remaining) + - location: 143 (remaining gas: 1039759.327 units remaining) [ True ] - - location: 145 (remaining gas: 1039757.047 units remaining) + - location: 144 (remaining gas: 1039759.302 units remaining) [ ] - - location: -1 (remaining gas: 1039757.002 units remaining) + - location: 145 (remaining gas: 1039759.257 units remaining) [ ] - - location: 150 (remaining gas: 1039756.927 units remaining) + - location: 150 (remaining gas: 1039759.212 units remaining) [ 10 ] - - location: 153 (remaining gas: 1039756.852 units remaining) + - location: 153 (remaining gas: 1039759.167 units remaining) [ 5 10 ] - - location: 156 (remaining gas: 1039756.672 units remaining) + - location: 156 (remaining gas: 1039759.017 units remaining) [ -1 ] - - location: 158 (remaining gas: 1039756.567 units remaining) + - location: 158 (remaining gas: 1039758.972 units remaining) [ True ] - - location: 160 (remaining gas: 1039756.467 units remaining) + - location: 159 (remaining gas: 1039758.947 units remaining) [ ] - - location: -1 (remaining gas: 1039756.422 units remaining) + - location: 160 (remaining gas: 1039758.902 units remaining) [ ] - - location: 165 (remaining gas: 1039756.347 units remaining) + - location: 165 (remaining gas: 1039758.857 units remaining) [ -4 ] - - location: 168 (remaining gas: 1039756.272 units remaining) + - location: 168 (remaining gas: 1039758.812 units remaining) [ 1923 -4 ] - - location: 171 (remaining gas: 1039756.092 units remaining) + - location: 171 (remaining gas: 1039758.662 units remaining) [ 1 ] - - location: 173 (remaining gas: 1039755.987 units remaining) + - location: 173 (remaining gas: 1039758.617 units remaining) [ True ] - - location: 175 (remaining gas: 1039755.887 units remaining) + - location: 174 (remaining gas: 1039758.592 units remaining) [ ] - - location: -1 (remaining gas: 1039755.842 units remaining) + - location: 175 (remaining gas: 1039758.547 units remaining) [ ] - - location: 180 (remaining gas: 1039755.767 units remaining) + - location: 180 (remaining gas: 1039758.502 units remaining) [ 1 ] - - location: 183 (remaining gas: 1039755.687 units remaining) + - location: 183 (remaining gas: 1039758.452 units remaining) [ 1 1 ] - - location: 184 (remaining gas: 1039755.507 units remaining) + - location: 184 (remaining gas: 1039758.302 units remaining) [ 0 ] - - location: 186 (remaining gas: 1039755.402 units remaining) + - location: 186 (remaining gas: 1039758.252 units remaining) [ True ] - - location: 188 (remaining gas: 1039755.302 units remaining) + - location: 187 (remaining gas: 1039758.227 units remaining) [ ] - - location: -1 (remaining gas: 1039755.257 units remaining) + - location: 188 (remaining gas: 1039758.182 units remaining) [ ] - - location: 193 (remaining gas: 1039755.182 units remaining) + - location: 193 (remaining gas: 1039758.137 units remaining) [ 10 ] - - location: 196 (remaining gas: 1039755.107 units remaining) + - location: 196 (remaining gas: 1039758.092 units remaining) [ 5 10 ] - - location: 199 (remaining gas: 1039754.927 units remaining) + - location: 199 (remaining gas: 1039757.942 units remaining) [ -1 ] - - location: 201 (remaining gas: 1039754.822 units remaining) + - location: 201 (remaining gas: 1039757.897 units remaining) [ True ] - - location: 203 (remaining gas: 1039754.722 units remaining) + - location: 202 (remaining gas: 1039757.872 units remaining) [ ] - - location: -1 (remaining gas: 1039754.677 units remaining) + - location: 203 (remaining gas: 1039757.827 units remaining) [ ] - - location: 208 (remaining gas: 1039754.602 units remaining) + - location: 208 (remaining gas: 1039757.782 units remaining) [ 4 ] - - location: 211 (remaining gas: 1039754.527 units remaining) + - location: 211 (remaining gas: 1039757.737 units remaining) [ 1923 4 ] - - location: 214 (remaining gas: 1039754.347 units remaining) + - location: 214 (remaining gas: 1039757.587 units remaining) [ 1 ] - - location: 216 (remaining gas: 1039754.242 units remaining) + - location: 216 (remaining gas: 1039757.542 units remaining) [ True ] - - location: 218 (remaining gas: 1039754.142 units remaining) + - location: 217 (remaining gas: 1039757.517 units remaining) [ ] - - location: -1 (remaining gas: 1039754.097 units remaining) + - location: 218 (remaining gas: 1039757.472 units remaining) [ ] - - location: 223 (remaining gas: 1039754.022 units remaining) + - location: 223 (remaining gas: 1039757.427 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 226 (remaining gas: 1039753.942 units remaining) + - location: 226 (remaining gas: 1039757.377 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 227 (remaining gas: 1039753.702 units remaining) + - location: 227 (remaining gas: 1039757.167 units remaining) [ 0 ] - - location: 229 (remaining gas: 1039753.597 units remaining) + - location: 229 (remaining gas: 1039757.117 units remaining) [ True ] - - location: 231 (remaining gas: 1039753.497 units remaining) + - location: 230 (remaining gas: 1039757.092 units remaining) [ ] - - location: -1 (remaining gas: 1039753.452 units remaining) + - location: 231 (remaining gas: 1039757.047 units remaining) [ ] - - location: 236 (remaining gas: 1039753.377 units remaining) + - location: 236 (remaining gas: 1039757.002 units remaining) [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 239 (remaining gas: 1039753.302 units remaining) + - location: 239 (remaining gas: 1039756.957 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 242 (remaining gas: 1039753.062 units remaining) + - location: 242 (remaining gas: 1039756.747 units remaining) [ -1 ] - - location: 244 (remaining gas: 1039752.957 units remaining) + - location: 244 (remaining gas: 1039756.702 units remaining) [ True ] - - location: 246 (remaining gas: 1039752.857 units remaining) + - location: 245 (remaining gas: 1039756.677 units remaining) [ ] - - location: -1 (remaining gas: 1039752.812 units remaining) + - location: 246 (remaining gas: 1039756.632 units remaining) [ ] - - location: 251 (remaining gas: 1039752.737 units remaining) + - location: 251 (remaining gas: 1039756.587 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 254 (remaining gas: 1039752.662 units remaining) + - location: 254 (remaining gas: 1039756.542 units remaining) [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 257 (remaining gas: 1039752.422 units remaining) + - location: 257 (remaining gas: 1039756.332 units remaining) [ 1 ] - - location: 259 (remaining gas: 1039752.317 units remaining) + - location: 259 (remaining gas: 1039756.287 units remaining) [ True ] - - location: 261 (remaining gas: 1039752.217 units remaining) + - location: 260 (remaining gas: 1039756.262 units remaining) [ ] - - location: -1 (remaining gas: 1039752.172 units remaining) + - location: 261 (remaining gas: 1039756.217 units remaining) [ ] - - location: 266 (remaining gas: 1039752.097 units remaining) + - location: 266 (remaining gas: 1039756.172 units remaining) [ 1 ] - - location: 269 (remaining gas: 1039752.017 units remaining) + - location: 269 (remaining gas: 1039756.122 units remaining) [ 1 1 ] - - location: 270 (remaining gas: 1039751.883 units remaining) + - location: 270 (remaining gas: 1039756.018 units remaining) [ 0 ] - - location: 272 (remaining gas: 1039751.778 units remaining) + - location: 272 (remaining gas: 1039755.968 units remaining) [ True ] - - location: 274 (remaining gas: 1039751.678 units remaining) + - location: 273 (remaining gas: 1039755.943 units remaining) [ ] - - location: -1 (remaining gas: 1039751.633 units remaining) + - location: 274 (remaining gas: 1039755.898 units remaining) [ ] - - location: 279 (remaining gas: 1039751.558 units remaining) + - location: 279 (remaining gas: 1039755.853 units remaining) [ 10 ] - - location: 282 (remaining gas: 1039751.483 units remaining) + - location: 282 (remaining gas: 1039755.808 units remaining) [ 5 10 ] - - location: 285 (remaining gas: 1039751.349 units remaining) + - location: 285 (remaining gas: 1039755.704 units remaining) [ -1 ] - - location: 287 (remaining gas: 1039751.244 units remaining) + - location: 287 (remaining gas: 1039755.659 units remaining) [ True ] - - location: 289 (remaining gas: 1039751.144 units remaining) + - location: 288 (remaining gas: 1039755.634 units remaining) [ ] - - location: -1 (remaining gas: 1039751.099 units remaining) + - location: 289 (remaining gas: 1039755.589 units remaining) [ ] - - location: 294 (remaining gas: 1039751.024 units remaining) + - location: 294 (remaining gas: 1039755.544 units remaining) [ 4 ] - - location: 297 (remaining gas: 1039750.949 units remaining) + - location: 297 (remaining gas: 1039755.499 units remaining) [ 1923 4 ] - - location: 300 (remaining gas: 1039750.815 units remaining) + - location: 300 (remaining gas: 1039755.395 units remaining) [ 1 ] - - location: 302 (remaining gas: 1039750.710 units remaining) + - location: 302 (remaining gas: 1039755.350 units remaining) [ True ] - - location: 304 (remaining gas: 1039750.610 units remaining) + - location: 303 (remaining gas: 1039755.325 units remaining) [ ] - - location: -1 (remaining gas: 1039750.565 units remaining) + - location: 304 (remaining gas: 1039755.280 units remaining) [ ] - - location: 309 (remaining gas: 1039750.490 units remaining) + - location: 309 (remaining gas: 1039755.235 units remaining) [ "AABBCC" ] - - location: 312 (remaining gas: 1039750.410 units remaining) + - location: 312 (remaining gas: 1039755.185 units remaining) [ "AABBCC" "AABBCC" ] - - location: 313 (remaining gas: 1039750.260 units remaining) + - location: 313 (remaining gas: 1039755.065 units remaining) [ 0 ] - - location: 315 (remaining gas: 1039750.155 units remaining) + - location: 315 (remaining gas: 1039755.015 units remaining) [ True ] - - location: 317 (remaining gas: 1039750.055 units remaining) + - location: 316 (remaining gas: 1039754.990 units remaining) [ ] - - location: -1 (remaining gas: 1039750.010 units remaining) + - location: 317 (remaining gas: 1039754.945 units remaining) [ ] - - location: 322 (remaining gas: 1039749.935 units remaining) + - location: 322 (remaining gas: 1039754.900 units remaining) [ "" ] - - location: 325 (remaining gas: 1039749.860 units remaining) + - location: 325 (remaining gas: 1039754.855 units remaining) [ "" "" ] - - location: 328 (remaining gas: 1039749.710 units remaining) + - location: 328 (remaining gas: 1039754.735 units remaining) [ 0 ] - - location: 330 (remaining gas: 1039749.605 units remaining) + - location: 330 (remaining gas: 1039754.685 units remaining) [ True ] - - location: 332 (remaining gas: 1039749.505 units remaining) + - location: 331 (remaining gas: 1039754.660 units remaining) [ ] - - location: -1 (remaining gas: 1039749.460 units remaining) + - location: 332 (remaining gas: 1039754.615 units remaining) [ ] - - location: 337 (remaining gas: 1039749.385 units remaining) + - location: 337 (remaining gas: 1039754.570 units remaining) [ "" ] - - location: 340 (remaining gas: 1039749.310 units remaining) + - location: 340 (remaining gas: 1039754.525 units remaining) [ "a" "" ] - - location: 343 (remaining gas: 1039749.160 units remaining) + - location: 343 (remaining gas: 1039754.405 units remaining) [ 1 ] - - location: 345 (remaining gas: 1039749.055 units remaining) + - location: 345 (remaining gas: 1039754.360 units remaining) [ True ] - - location: 347 (remaining gas: 1039748.955 units remaining) + - location: 346 (remaining gas: 1039754.335 units remaining) [ ] - - location: -1 (remaining gas: 1039748.910 units remaining) + - location: 347 (remaining gas: 1039754.290 units remaining) [ ] - - location: 352 (remaining gas: 1039748.835 units remaining) + - location: 352 (remaining gas: 1039754.245 units remaining) [ "a" ] - - location: 355 (remaining gas: 1039748.760 units remaining) + - location: 355 (remaining gas: 1039754.200 units remaining) [ "b" "a" ] - - location: 358 (remaining gas: 1039748.610 units remaining) + - location: 358 (remaining gas: 1039754.080 units remaining) [ 1 ] - - location: 360 (remaining gas: 1039748.505 units remaining) + - location: 360 (remaining gas: 1039754.035 units remaining) [ True ] - - location: 362 (remaining gas: 1039748.405 units remaining) + - location: 361 (remaining gas: 1039754.010 units remaining) [ ] - - location: -1 (remaining gas: 1039748.360 units remaining) + - location: 362 (remaining gas: 1039753.965 units remaining) [ ] - - location: 367 (remaining gas: 1039748.285 units remaining) + - location: 367 (remaining gas: 1039753.920 units remaining) [ "b" ] - - location: 370 (remaining gas: 1039748.210 units remaining) + - location: 370 (remaining gas: 1039753.875 units remaining) [ "a" "b" ] - - location: 373 (remaining gas: 1039748.060 units remaining) + - location: 373 (remaining gas: 1039753.755 units remaining) [ -1 ] - - location: 375 (remaining gas: 1039747.955 units remaining) + - location: 375 (remaining gas: 1039753.710 units remaining) [ True ] - - location: 377 (remaining gas: 1039747.855 units remaining) + - location: 376 (remaining gas: 1039753.685 units remaining) [ ] - - location: -1 (remaining gas: 1039747.810 units remaining) + - location: 377 (remaining gas: 1039753.640 units remaining) [ ] - - location: 382 (remaining gas: 1039747.735 units remaining) + - location: 382 (remaining gas: 1039753.595 units remaining) [ "2019-09-16T08:38:05Z" ] - - location: 385 (remaining gas: 1039747.655 units remaining) + - location: 385 (remaining gas: 1039753.545 units remaining) [ "2019-09-16T08:38:05Z" "2019-09-16T08:38:05Z" ] - - location: 386 (remaining gas: 1039747.485 units remaining) + - location: 386 (remaining gas: 1039753.405 units remaining) [ 0 ] - - location: 388 (remaining gas: 1039747.380 units remaining) + - location: 388 (remaining gas: 1039753.355 units remaining) [ True ] - - location: 390 (remaining gas: 1039747.280 units remaining) + - location: 389 (remaining gas: 1039753.330 units remaining) [ ] - - location: -1 (remaining gas: 1039747.235 units remaining) + - location: 390 (remaining gas: 1039753.285 units remaining) [ ] - - location: 395 (remaining gas: 1039747.160 units remaining) + - location: 395 (remaining gas: 1039753.240 units remaining) [ "2017-09-16T08:38:04Z" ] - - location: 398 (remaining gas: 1039747.085 units remaining) + - location: 398 (remaining gas: 1039753.195 units remaining) [ "2019-09-16T08:38:05Z" "2017-09-16T08:38:04Z" ] - - location: 401 (remaining gas: 1039746.915 units remaining) + - location: 401 (remaining gas: 1039753.055 units remaining) [ 1 ] - - location: 403 (remaining gas: 1039746.810 units remaining) + - location: 403 (remaining gas: 1039753.010 units remaining) [ True ] - - location: 405 (remaining gas: 1039746.710 units remaining) + - location: 404 (remaining gas: 1039752.985 units remaining) [ ] - - location: -1 (remaining gas: 1039746.665 units remaining) + - location: 405 (remaining gas: 1039752.940 units remaining) [ ] - - location: 410 (remaining gas: 1039746.590 units remaining) + - location: 410 (remaining gas: 1039752.895 units remaining) [ "2019-09-16T08:38:05Z" ] - - location: 413 (remaining gas: 1039746.515 units remaining) + - location: 413 (remaining gas: 1039752.850 units remaining) [ "2019-09-16T08:38:04Z" "2019-09-16T08:38:05Z" ] - - location: 416 (remaining gas: 1039746.345 units remaining) + - location: 416 (remaining gas: 1039752.710 units remaining) [ -1 ] - - location: 418 (remaining gas: 1039746.240 units remaining) + - location: 418 (remaining gas: 1039752.665 units remaining) [ True ] - - location: 420 (remaining gas: 1039746.140 units remaining) + - location: 419 (remaining gas: 1039752.640 units remaining) [ ] - - location: -1 (remaining gas: 1039746.095 units remaining) + - location: 420 (remaining gas: 1039752.595 units remaining) [ ] - - location: 425 (remaining gas: 1039746.020 units remaining) + - location: 425 (remaining gas: 1039752.550 units remaining) [ Unit ] - - location: 426 (remaining gas: 1039745.945 units remaining) + - location: 426 (remaining gas: 1039752.505 units remaining) [ {} Unit ] - - location: 428 (remaining gas: 1039745.870 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039745.825 units remaining) + - location: 428 (remaining gas: 1039752.460 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 d785eafecf15..45cdc4d2ccbc 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,331 +12,326 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039960.920 units remaining) + - location: 10 (remaining gas: 1039960.920 units remaining) [ (Pair { -9999999 ; -1 ; 0 ; 1 ; 9999999 } {}) ] - - location: 10 (remaining gas: 1039960.840 units remaining) + - location: 10 (remaining gas: 1039960.870 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 11 (remaining gas: 1039960.765 units remaining) + - location: 11 (remaining gas: 1039960.825 units remaining) [ {} { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 16 (remaining gas: 1039960.610 units remaining) + - location: 14 (remaining gas: 1039960.780 units remaining) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] + - location: 16 (remaining gas: 1039960.730 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.945 units remaining) - [ False + - location: 17 (remaining gas: 1039960.170 units remaining) + [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.900 units remaining) + - location: 19 (remaining gas: 1039960.120 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.825 units remaining) - [ False + - location: 17 (remaining gas: 1039960.120 units remaining) + [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.780 units remaining) + - location: 19 (remaining gas: 1039960.070 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.705 units remaining) - [ True + - location: 17 (remaining gas: 1039960.070 units remaining) + [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.660 units remaining) + - location: 19 (remaining gas: 1039960.020 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.585 units remaining) - [ False + - location: 17 (remaining gas: 1039960.020 units remaining) + [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.540 units remaining) + - location: 19 (remaining gas: 1039959.970 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.465 units remaining) - [ False + - location: 17 (remaining gas: 1039959.970 units remaining) + [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.420 units remaining) + - location: 19 (remaining gas: 1039959.920 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039959.420 units remaining) - [ { False ; False ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039959.375 units remaining) + - location: 17 (remaining gas: 1039959.920 units remaining) [ { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 14 (remaining gas: 1039959.375 units remaining) + - location: 14 (remaining gas: 1039959.920 units remaining) [ {} { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 20 (remaining gas: 1039959.305 units remaining) + - location: 20 (remaining gas: 1039959.880 units remaining) [ { False ; False ; True ; False ; False } {} { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 21 (remaining gas: 1039959.225 units remaining) + - location: 21 (remaining gas: 1039959.830 units remaining) [ { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 24 (remaining gas: 1039959.070 units remaining) + - location: 22 (remaining gas: 1039959.785 units remaining) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] + - location: 24 (remaining gas: 1039959.735 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039958.405 units remaining) - [ True + - location: 25 (remaining gas: 1039959.175 units remaining) + [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039958.360 units remaining) + - location: 27 (remaining gas: 1039959.130 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039958.285 units remaining) - [ True + - location: 25 (remaining gas: 1039959.130 units remaining) + [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039958.240 units remaining) + - location: 27 (remaining gas: 1039959.085 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039958.165 units remaining) - [ False + - location: 25 (remaining gas: 1039959.085 units remaining) + [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039958.120 units remaining) + - location: 27 (remaining gas: 1039959.040 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039958.045 units remaining) - [ True + - location: 25 (remaining gas: 1039959.040 units remaining) + [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039958 units remaining) + - location: 27 (remaining gas: 1039958.995 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039957.925 units remaining) - [ True + - location: 25 (remaining gas: 1039958.995 units remaining) + [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039957.880 units remaining) + - location: 27 (remaining gas: 1039958.950 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039957.880 units remaining) + - location: 25 (remaining gas: 1039958.950 units remaining) [ { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039957.835 units remaining) - [ { True ; True ; False ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 22 (remaining gas: 1039957.835 units remaining) + - location: 22 (remaining gas: 1039958.950 units remaining) [ { { False ; False ; True ; False ; False } } { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 28 (remaining gas: 1039957.765 units remaining) + - location: 28 (remaining gas: 1039958.910 units remaining) [ { True ; True ; False ; True ; True } { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 29 (remaining gas: 1039957.685 units remaining) + - location: 29 (remaining gas: 1039958.860 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 32 (remaining gas: 1039957.530 units remaining) + - location: 30 (remaining gas: 1039958.815 units remaining) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] + - location: 32 (remaining gas: 1039958.765 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039956.865 units remaining) - [ True + - location: 33 (remaining gas: 1039958.205 units remaining) + [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039956.820 units remaining) + - location: 35 (remaining gas: 1039958.160 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039956.745 units remaining) - [ True + - location: 33 (remaining gas: 1039958.160 units remaining) + [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039956.700 units remaining) + - location: 35 (remaining gas: 1039958.115 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039956.625 units remaining) - [ True + - location: 33 (remaining gas: 1039958.115 units remaining) + [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039956.580 units remaining) + - location: 35 (remaining gas: 1039958.070 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039956.505 units remaining) - [ False + - location: 33 (remaining gas: 1039958.070 units remaining) + [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039956.460 units remaining) + - location: 35 (remaining gas: 1039958.025 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039956.385 units remaining) - [ False + - location: 33 (remaining gas: 1039958.025 units remaining) + [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039956.340 units remaining) + - location: 35 (remaining gas: 1039957.980 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039956.340 units remaining) - [ { True ; True ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039956.295 units remaining) + - location: 33 (remaining gas: 1039957.980 units remaining) [ { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 30 (remaining gas: 1039956.295 units remaining) + - location: 30 (remaining gas: 1039957.980 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 36 (remaining gas: 1039956.225 units remaining) + - location: 36 (remaining gas: 1039957.940 units remaining) [ { True ; True ; True ; False ; False } { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 37 (remaining gas: 1039956.145 units remaining) + - location: 37 (remaining gas: 1039957.890 units remaining) [ { { True ; True ; True ; False ; False } ; { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 40 (remaining gas: 1039955.990 units remaining) + - location: 38 (remaining gas: 1039957.845 units remaining) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] + - location: 40 (remaining gas: 1039957.795 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039955.325 units remaining) - [ True + - location: 41 (remaining gas: 1039957.235 units remaining) + [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039955.280 units remaining) + - location: 43 (remaining gas: 1039957.190 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039955.205 units remaining) - [ True + - location: 41 (remaining gas: 1039957.190 units remaining) + [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039955.160 units remaining) + - location: 43 (remaining gas: 1039957.145 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039955.085 units remaining) - [ False + - location: 41 (remaining gas: 1039957.145 units remaining) + [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039955.040 units remaining) + - location: 43 (remaining gas: 1039957.100 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039954.965 units remaining) - [ False + - location: 41 (remaining gas: 1039957.100 units remaining) + [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039954.920 units remaining) + - location: 43 (remaining gas: 1039957.055 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039954.845 units remaining) - [ False + - location: 41 (remaining gas: 1039957.055 units remaining) + [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039954.800 units remaining) + - location: 43 (remaining gas: 1039957.010 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039954.800 units remaining) + - location: 41 (remaining gas: 1039957.010 units remaining) [ { True ; True ; False ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039954.755 units remaining) - [ { True ; True ; False ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 38 (remaining gas: 1039954.755 units remaining) + - location: 38 (remaining gas: 1039957.010 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 } @parameter ] - - location: 44 (remaining gas: 1039954.685 units remaining) + - location: 44 (remaining gas: 1039956.970 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 } @parameter ] - - location: 45 (remaining gas: 1039954.605 units remaining) + - location: 45 (remaining gas: 1039956.920 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 } @parameter ] - - location: 48 (remaining gas: 1039954.450 units remaining) + - location: 46 (remaining gas: 1039956.875 units remaining) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] + - location: 48 (remaining gas: 1039956.825 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039953.785 units remaining) - [ False + - location: 49 (remaining gas: 1039956.265 units remaining) + [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039953.740 units remaining) + - location: 51 (remaining gas: 1039956.220 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039953.665 units remaining) - [ False + - location: 49 (remaining gas: 1039956.220 units remaining) + [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039953.620 units remaining) + - location: 51 (remaining gas: 1039956.175 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039953.545 units remaining) - [ True + - location: 49 (remaining gas: 1039956.175 units remaining) + [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039953.500 units remaining) + - location: 51 (remaining gas: 1039956.130 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039953.425 units remaining) - [ True + - location: 49 (remaining gas: 1039956.130 units remaining) + [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039953.380 units remaining) + - location: 51 (remaining gas: 1039956.085 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039953.305 units remaining) - [ True + - location: 49 (remaining gas: 1039956.085 units remaining) + [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039953.260 units remaining) + - location: 51 (remaining gas: 1039956.040 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039953.260 units remaining) + - location: 49 (remaining gas: 1039956.040 units remaining) [ { False ; False ; True ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039953.215 units remaining) - [ { False ; False ; True ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 46 (remaining gas: 1039953.215 units remaining) + - location: 46 (remaining gas: 1039956.040 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 } @parameter ] - - location: 52 (remaining gas: 1039953.145 units remaining) + - location: 52 (remaining gas: 1039956 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 } @parameter ] - - location: 53 (remaining gas: 1039953.065 units remaining) + - location: 53 (remaining gas: 1039955.950 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 } @parameter ] - - location: 58 (remaining gas: 1039952.325 units remaining) - [ False ] - - location: 57 (remaining gas: 1039952.280 units remaining) - [ False ] - - location: 58 (remaining gas: 1039952.205 units remaining) - [ False ] - - location: 57 (remaining gas: 1039952.160 units remaining) + - location: 54 (remaining gas: 1039955.905 units remaining) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] + - location: 56 (remaining gas: 1039955.345 units remaining) + [ -9999999 @parameter.elt ] + - location: 58 (remaining gas: 1039955.300 units remaining) [ False ] - - location: 58 (remaining gas: 1039952.085 units remaining) + - location: 56 (remaining gas: 1039955.300 units remaining) + [ -1 @parameter.elt ] + - location: 58 (remaining gas: 1039955.255 units remaining) [ False ] - - location: 57 (remaining gas: 1039952.040 units remaining) + - location: 56 (remaining gas: 1039955.255 units remaining) + [ 0 @parameter.elt ] + - location: 58 (remaining gas: 1039955.210 units remaining) [ False ] - - location: 58 (remaining gas: 1039951.965 units remaining) - [ True ] - - location: 57 (remaining gas: 1039951.920 units remaining) + - location: 56 (remaining gas: 1039955.210 units remaining) + [ 1 @parameter.elt ] + - location: 58 (remaining gas: 1039955.165 units remaining) [ True ] - - location: 58 (remaining gas: 1039951.845 units remaining) + - location: 56 (remaining gas: 1039955.165 units remaining) + [ 9999999 @parameter.elt ] + - location: 58 (remaining gas: 1039955.120 units remaining) [ True ] - - location: 57 (remaining gas: 1039951.800 units remaining) - [ True ] - - location: 56 (remaining gas: 1039951.800 units remaining) - [ { False ; False ; False ; True ; True } ] - - location: 55 (remaining gas: 1039951.755 units remaining) + - location: 56 (remaining gas: 1039955.120 units remaining) [ { False ; False ; False ; True ; True } ] - - location: 54 (remaining gas: 1039951.755 units remaining) + - location: 54 (remaining gas: 1039955.120 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: 1039951.685 units remaining) + - location: 59 (remaining gas: 1039955.080 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: 1039951.605 units remaining) + - location: 60 (remaining gas: 1039955.030 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: 1039951.530 units remaining) + - location: 61 (remaining gas: 1039954.985 units remaining) [ {} { { False ; False ; False ; True ; True } ; { False ; False ; True ; True ; True } ; @@ -344,15 +339,7 @@ trace { True ; True ; True ; False ; False } ; { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } ] - - location: 63 (remaining gas: 1039951.455 units remaining) - [ (Pair {} - { { False ; False ; False ; True ; True } ; - { False ; False ; True ; True ; True } ; - { True ; True ; False ; False ; False } ; - { True ; True ; True ; False ; False } ; - { True ; True ; False ; True ; True } ; - { False ; False ; True ; False ; False } }) ] - - location: -1 (remaining gas: 1039951.410 units remaining) + - location: 63 (remaining gas: 1039954.940 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 ed3fa9f4b320..f97486e2f4b5 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,24 +7,22 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039991.972 units remaining) + - location: 9 (remaining gas: 1039991.972 units remaining) [ (Pair { "World!" } {}) ] - - location: 9 (remaining gas: 1039991.892 units remaining) + - location: 9 (remaining gas: 1039991.922 units remaining) [ { "World!" } @parameter ] - - location: 12 (remaining gas: 1039991.275 units remaining) + - location: 10 (remaining gas: 1039991.410 units remaining) + [ "World!" @parameter.elt ] + - location: 12 (remaining gas: 1039991.365 units remaining) [ "Hello " @hello "World!" @parameter.elt ] - - location: 15 (remaining gas: 1039991.165 units remaining) + - location: 15 (remaining gas: 1039991.285 units remaining) [ "Hello World!" ] - - location: -1 (remaining gas: 1039991.120 units remaining) - [ "Hello World!" ] - - location: 10 (remaining gas: 1039991.120 units remaining) + - location: 10 (remaining gas: 1039991.285 units remaining) [ { "Hello World!" } ] - - location: 16 (remaining gas: 1039991.045 units remaining) + - location: 16 (remaining gas: 1039991.240 units remaining) [ {} { "Hello World!" } ] - - location: 18 (remaining gas: 1039990.970 units remaining) - [ (Pair {} { "Hello World!" }) ] - - location: -1 (remaining gas: 1039990.925 units remaining) + - location: 18 (remaining gas: 1039991.195 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 b12222e5f4cb..60dd0da91e6e 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,31 +7,29 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039991.678 units remaining) + - location: 9 (remaining gas: 1039991.678 units remaining) [ (Pair { "test1" ; "test2" } {}) ] - - location: 9 (remaining gas: 1039991.598 units remaining) + - location: 9 (remaining gas: 1039991.628 units remaining) [ { "test1" ; "test2" } @parameter ] - - location: 12 (remaining gas: 1039990.969 units remaining) + - location: 10 (remaining gas: 1039991.104 units remaining) + [ "test1" @parameter.elt ] + - location: 12 (remaining gas: 1039991.059 units remaining) [ "Hello " @hello "test1" @parameter.elt ] - - location: 15 (remaining gas: 1039990.859 units remaining) + - location: 15 (remaining gas: 1039990.979 units remaining) [ "Hello test1" ] - - location: -1 (remaining gas: 1039990.814 units remaining) - [ "Hello test1" ] - - location: 12 (remaining gas: 1039990.739 units remaining) + - location: 10 (remaining gas: 1039990.979 units remaining) + [ "test2" @parameter.elt ] + - location: 12 (remaining gas: 1039990.934 units remaining) [ "Hello " @hello "test2" @parameter.elt ] - - location: 15 (remaining gas: 1039990.629 units remaining) - [ "Hello test2" ] - - location: -1 (remaining gas: 1039990.584 units remaining) + - location: 15 (remaining gas: 1039990.854 units remaining) [ "Hello test2" ] - - location: 10 (remaining gas: 1039990.584 units remaining) + - location: 10 (remaining gas: 1039990.854 units remaining) [ { "Hello test1" ; "Hello test2" } ] - - location: 16 (remaining gas: 1039990.509 units remaining) + - location: 16 (remaining gas: 1039990.809 units remaining) [ {} { "Hello test1" ; "Hello test2" } ] - - location: 18 (remaining gas: 1039990.434 units remaining) - [ (Pair {} { "Hello test1" ; "Hello test2" }) ] - - location: -1 (remaining gas: 1039990.389 units remaining) + - location: 18 (remaining gas: 1039990.764 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 1d24d2e70b52..348bbd48d1a6 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.286 units remaining) + - location: 9 (remaining gas: 1039992.286 units remaining) [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039992.206 units remaining) + - location: 9 (remaining gas: 1039992.236 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039991.676 units remaining) + - location: 10 (remaining gas: 1039991.736 units remaining) [ {} ] - - location: 16 (remaining gas: 1039991.601 units remaining) + - location: 16 (remaining gas: 1039991.691 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039991.526 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039991.481 units remaining) + - location: 18 (remaining gas: 1039991.646 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 b754bc27cf96..91dabc1cd9c4 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,31 +7,29 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039991.880 units remaining) + - location: 9 (remaining gas: 1039991.880 units remaining) [ (Pair { 0xab ; 0xcd } {}) ] - - location: 9 (remaining gas: 1039991.800 units remaining) + - location: 9 (remaining gas: 1039991.830 units remaining) [ { 0xab ; 0xcd } @parameter ] - - location: 12 (remaining gas: 1039991.171 units remaining) + - location: 10 (remaining gas: 1039991.306 units remaining) + [ 0xab @parameter.elt ] + - location: 12 (remaining gas: 1039991.261 units remaining) [ 0xff 0xab @parameter.elt ] - - location: 15 (remaining gas: 1039991.061 units remaining) + - location: 15 (remaining gas: 1039991.181 units remaining) [ 0xffab ] - - location: -1 (remaining gas: 1039991.016 units remaining) - [ 0xffab ] - - location: 12 (remaining gas: 1039990.941 units remaining) + - location: 10 (remaining gas: 1039991.181 units remaining) + [ 0xcd @parameter.elt ] + - location: 12 (remaining gas: 1039991.136 units remaining) [ 0xff 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039990.831 units remaining) - [ 0xffcd ] - - location: -1 (remaining gas: 1039990.786 units remaining) + - location: 15 (remaining gas: 1039991.056 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039990.786 units remaining) + - location: 10 (remaining gas: 1039991.056 units remaining) [ { 0xffab ; 0xffcd } ] - - location: 16 (remaining gas: 1039990.711 units remaining) + - location: 16 (remaining gas: 1039991.011 units remaining) [ {} { 0xffab ; 0xffcd } ] - - location: 18 (remaining gas: 1039990.636 units remaining) - [ (Pair {} { 0xffab ; 0xffcd }) ] - - location: -1 (remaining gas: 1039990.591 units remaining) + - location: 18 (remaining gas: 1039990.966 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 729b5c7f2235..d244222efe02 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,24 +7,22 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.120 units remaining) + - location: 9 (remaining gas: 1039992.120 units remaining) [ (Pair { 0xcd } {}) ] - - location: 9 (remaining gas: 1039992.040 units remaining) + - location: 9 (remaining gas: 1039992.070 units remaining) [ { 0xcd } @parameter ] - - location: 12 (remaining gas: 1039991.423 units remaining) + - location: 10 (remaining gas: 1039991.558 units remaining) + [ 0xcd @parameter.elt ] + - location: 12 (remaining gas: 1039991.513 units remaining) [ 0xff 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039991.313 units remaining) + - location: 15 (remaining gas: 1039991.433 units remaining) [ 0xffcd ] - - location: -1 (remaining gas: 1039991.268 units remaining) - [ 0xffcd ] - - location: 10 (remaining gas: 1039991.268 units remaining) + - location: 10 (remaining gas: 1039991.433 units remaining) [ { 0xffcd } ] - - location: 16 (remaining gas: 1039991.193 units remaining) + - location: 16 (remaining gas: 1039991.388 units remaining) [ {} { 0xffcd } ] - - location: 18 (remaining gas: 1039991.118 units remaining) - [ (Pair {} { 0xffcd }) ] - - location: -1 (remaining gas: 1039991.073 units remaining) + - location: 18 (remaining gas: 1039991.343 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 13079cf0cc59..370f62d23f0b 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.360 units remaining) + - location: 9 (remaining gas: 1039992.360 units remaining) [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039992.280 units remaining) + - location: 9 (remaining gas: 1039992.310 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039991.750 units remaining) + - location: 10 (remaining gas: 1039991.810 units remaining) [ {} ] - - location: 16 (remaining gas: 1039991.675 units remaining) + - location: 16 (remaining gas: 1039991.765 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039991.600 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039991.555 units remaining) + - location: 18 (remaining gas: 1039991.720 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 8ede0b22f477..b52ed085a8cc 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,111 +7,113 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039985.686 units remaining) + - location: 8 (remaining gas: 1039985.686 units remaining) [ (Pair { "Hello" ; " " ; "World" ; "!" } "") ] - - location: 8 (remaining gas: 1039985.606 units remaining) + - location: 8 (remaining gas: 1039985.636 units remaining) [ { "Hello" ; " " ; "World" ; "!" } @parameter ] - - location: 9 (remaining gas: 1039985.531 units remaining) + - location: 9 (remaining gas: 1039985.591 units remaining) [ "" { "Hello" ; " " ; "World" ; "!" } @parameter ] - - location: 12 (remaining gas: 1039985.461 units remaining) + - location: 12 (remaining gas: 1039985.551 units remaining) [ { "Hello" ; " " ; "World" ; "!" } @parameter "" ] - - location: 15 (remaining gas: 1039984.833 units remaining) + - location: 13 (remaining gas: 1039985.023 units remaining) + [ "Hello" @parameter.elt + "" ] + - location: 15 (remaining gas: 1039984.983 units remaining) [ "" "Hello" @parameter.elt ] - - location: 18 (remaining gas: 1039984.683 units remaining) + - location: 16 (remaining gas: 1039984.938 units remaining) + [ "Hello" @parameter.elt ] + - location: 18 (remaining gas: 1039984.893 units remaining) [ {} "Hello" @parameter.elt ] - - location: 20 (remaining gas: 1039984.613 units remaining) + - location: 20 (remaining gas: 1039984.853 units remaining) [ "Hello" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.533 units remaining) + - location: 21 (remaining gas: 1039984.803 units remaining) [ { "Hello" } ] - - location: -1 (remaining gas: 1039984.488 units remaining) - [ { "Hello" } ] - - location: 16 (remaining gas: 1039984.488 units remaining) + - location: 16 (remaining gas: 1039984.803 units remaining) [ "" { "Hello" } ] - - location: 22 (remaining gas: 1039984.408 units remaining) + - location: 22 (remaining gas: 1039984.753 units remaining) [ { "" ; "Hello" } ] - - location: 23 (remaining gas: 1039984.258 units remaining) - [ "Hello" ] - - location: -1 (remaining gas: 1039984.213 units remaining) + - location: 23 (remaining gas: 1039984.633 units remaining) [ "Hello" ] - - location: 15 (remaining gas: 1039984.143 units remaining) + - location: 13 (remaining gas: 1039984.633 units remaining) + [ " " @parameter.elt + "Hello" ] + - location: 15 (remaining gas: 1039984.593 units remaining) [ "Hello" " " @parameter.elt ] - - location: 18 (remaining gas: 1039983.993 units remaining) + - location: 16 (remaining gas: 1039984.548 units remaining) + [ " " @parameter.elt ] + - location: 18 (remaining gas: 1039984.503 units remaining) [ {} " " @parameter.elt ] - - location: 20 (remaining gas: 1039983.923 units remaining) + - location: 20 (remaining gas: 1039984.463 units remaining) [ " " @parameter.elt {} ] - - location: 21 (remaining gas: 1039983.843 units remaining) - [ { " " } ] - - location: -1 (remaining gas: 1039983.798 units remaining) + - location: 21 (remaining gas: 1039984.413 units remaining) [ { " " } ] - - location: 16 (remaining gas: 1039983.798 units remaining) + - location: 16 (remaining gas: 1039984.413 units remaining) [ "Hello" { " " } ] - - location: 22 (remaining gas: 1039983.718 units remaining) + - location: 22 (remaining gas: 1039984.363 units remaining) [ { "Hello" ; " " } ] - - location: 23 (remaining gas: 1039983.568 units remaining) - [ "Hello " ] - - location: -1 (remaining gas: 1039983.523 units remaining) + - location: 23 (remaining gas: 1039984.243 units remaining) [ "Hello " ] - - location: 15 (remaining gas: 1039983.453 units remaining) + - location: 13 (remaining gas: 1039984.243 units remaining) + [ "World" @parameter.elt + "Hello " ] + - location: 15 (remaining gas: 1039984.203 units remaining) [ "Hello " "World" @parameter.elt ] - - location: 18 (remaining gas: 1039983.303 units remaining) + - location: 16 (remaining gas: 1039984.158 units remaining) + [ "World" @parameter.elt ] + - location: 18 (remaining gas: 1039984.113 units remaining) [ {} "World" @parameter.elt ] - - location: 20 (remaining gas: 1039983.233 units remaining) + - location: 20 (remaining gas: 1039984.073 units remaining) [ "World" @parameter.elt {} ] - - location: 21 (remaining gas: 1039983.153 units remaining) - [ { "World" } ] - - location: -1 (remaining gas: 1039983.108 units remaining) + - location: 21 (remaining gas: 1039984.023 units remaining) [ { "World" } ] - - location: 16 (remaining gas: 1039983.108 units remaining) + - location: 16 (remaining gas: 1039984.023 units remaining) [ "Hello " { "World" } ] - - location: 22 (remaining gas: 1039983.028 units remaining) + - location: 22 (remaining gas: 1039983.973 units remaining) [ { "Hello " ; "World" } ] - - location: 23 (remaining gas: 1039982.877 units remaining) + - location: 23 (remaining gas: 1039983.852 units remaining) [ "Hello World" ] - - location: -1 (remaining gas: 1039982.832 units remaining) - [ "Hello World" ] - - location: 15 (remaining gas: 1039982.762 units remaining) + - location: 13 (remaining gas: 1039983.852 units remaining) + [ "!" @parameter.elt + "Hello World" ] + - location: 15 (remaining gas: 1039983.812 units remaining) [ "Hello World" "!" @parameter.elt ] - - location: 18 (remaining gas: 1039982.612 units remaining) + - location: 16 (remaining gas: 1039983.767 units remaining) + [ "!" @parameter.elt ] + - location: 18 (remaining gas: 1039983.722 units remaining) [ {} "!" @parameter.elt ] - - location: 20 (remaining gas: 1039982.542 units remaining) + - location: 20 (remaining gas: 1039983.682 units remaining) [ "!" @parameter.elt {} ] - - location: 21 (remaining gas: 1039982.462 units remaining) + - location: 21 (remaining gas: 1039983.632 units remaining) [ { "!" } ] - - location: -1 (remaining gas: 1039982.417 units remaining) - [ { "!" } ] - - location: 16 (remaining gas: 1039982.417 units remaining) + - location: 16 (remaining gas: 1039983.632 units remaining) [ "Hello World" { "!" } ] - - location: 22 (remaining gas: 1039982.337 units remaining) + - location: 22 (remaining gas: 1039983.582 units remaining) [ { "Hello World" ; "!" } ] - - location: 23 (remaining gas: 1039982.186 units remaining) - [ "Hello World!" ] - - location: -1 (remaining gas: 1039982.141 units remaining) + - location: 23 (remaining gas: 1039983.461 units remaining) [ "Hello World!" ] - - location: 13 (remaining gas: 1039982.141 units remaining) + - location: 13 (remaining gas: 1039983.461 units remaining) [ "Hello World!" ] - - location: 24 (remaining gas: 1039982.066 units remaining) + - location: 24 (remaining gas: 1039983.416 units remaining) [ {} "Hello World!" ] - - location: 26 (remaining gas: 1039981.991 units remaining) - [ (Pair {} "Hello World!") ] - - location: -1 (remaining gas: 1039981.946 units remaining) + - location: 26 (remaining gas: 1039983.371 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 ee9d6e6f692e..8ea69788adc8 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,89 +7,90 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039986.030 units remaining) + - location: 8 (remaining gas: 1039986.030 units remaining) [ (Pair { "a" ; "b" ; "c" } "") ] - - location: 8 (remaining gas: 1039985.950 units remaining) + - location: 8 (remaining gas: 1039985.980 units remaining) [ { "a" ; "b" ; "c" } @parameter ] - - location: 9 (remaining gas: 1039985.875 units remaining) + - location: 9 (remaining gas: 1039985.935 units remaining) [ "" { "a" ; "b" ; "c" } @parameter ] - - location: 12 (remaining gas: 1039985.805 units remaining) + - location: 12 (remaining gas: 1039985.895 units remaining) [ { "a" ; "b" ; "c" } @parameter "" ] - - location: 15 (remaining gas: 1039985.184 units remaining) + - location: 13 (remaining gas: 1039985.374 units remaining) + [ "a" @parameter.elt + "" ] + - location: 15 (remaining gas: 1039985.334 units remaining) [ "" "a" @parameter.elt ] - - location: 18 (remaining gas: 1039985.034 units remaining) + - location: 16 (remaining gas: 1039985.289 units remaining) + [ "a" @parameter.elt ] + - location: 18 (remaining gas: 1039985.244 units remaining) [ {} "a" @parameter.elt ] - - location: 20 (remaining gas: 1039984.964 units remaining) + - location: 20 (remaining gas: 1039985.204 units remaining) [ "a" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.884 units remaining) - [ { "a" } ] - - location: -1 (remaining gas: 1039984.839 units remaining) + - location: 21 (remaining gas: 1039985.154 units remaining) [ { "a" } ] - - location: 16 (remaining gas: 1039984.839 units remaining) + - location: 16 (remaining gas: 1039985.154 units remaining) [ "" { "a" } ] - - location: 22 (remaining gas: 1039984.759 units remaining) + - location: 22 (remaining gas: 1039985.104 units remaining) [ { "" ; "a" } ] - - location: 23 (remaining gas: 1039984.609 units remaining) + - location: 23 (remaining gas: 1039984.984 units remaining) [ "a" ] - - location: -1 (remaining gas: 1039984.564 units remaining) - [ "a" ] - - location: 15 (remaining gas: 1039984.494 units remaining) + - location: 13 (remaining gas: 1039984.984 units remaining) + [ "b" @parameter.elt + "a" ] + - location: 15 (remaining gas: 1039984.944 units remaining) [ "a" "b" @parameter.elt ] - - location: 18 (remaining gas: 1039984.344 units remaining) + - location: 16 (remaining gas: 1039984.899 units remaining) + [ "b" @parameter.elt ] + - location: 18 (remaining gas: 1039984.854 units remaining) [ {} "b" @parameter.elt ] - - location: 20 (remaining gas: 1039984.274 units remaining) + - location: 20 (remaining gas: 1039984.814 units remaining) [ "b" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.194 units remaining) - [ { "b" } ] - - location: -1 (remaining gas: 1039984.149 units remaining) + - location: 21 (remaining gas: 1039984.764 units remaining) [ { "b" } ] - - location: 16 (remaining gas: 1039984.149 units remaining) + - location: 16 (remaining gas: 1039984.764 units remaining) [ "a" { "b" } ] - - location: 22 (remaining gas: 1039984.069 units remaining) + - location: 22 (remaining gas: 1039984.714 units remaining) [ { "a" ; "b" } ] - - location: 23 (remaining gas: 1039983.919 units remaining) + - location: 23 (remaining gas: 1039984.594 units remaining) [ "ab" ] - - location: -1 (remaining gas: 1039983.874 units remaining) - [ "ab" ] - - location: 15 (remaining gas: 1039983.804 units remaining) + - location: 13 (remaining gas: 1039984.594 units remaining) + [ "c" @parameter.elt + "ab" ] + - location: 15 (remaining gas: 1039984.554 units remaining) [ "ab" "c" @parameter.elt ] - - location: 18 (remaining gas: 1039983.654 units remaining) + - location: 16 (remaining gas: 1039984.509 units remaining) + [ "c" @parameter.elt ] + - location: 18 (remaining gas: 1039984.464 units remaining) [ {} "c" @parameter.elt ] - - location: 20 (remaining gas: 1039983.584 units remaining) + - location: 20 (remaining gas: 1039984.424 units remaining) [ "c" @parameter.elt {} ] - - location: 21 (remaining gas: 1039983.504 units remaining) - [ { "c" } ] - - location: -1 (remaining gas: 1039983.459 units remaining) + - location: 21 (remaining gas: 1039984.374 units remaining) [ { "c" } ] - - location: 16 (remaining gas: 1039983.459 units remaining) + - location: 16 (remaining gas: 1039984.374 units remaining) [ "ab" { "c" } ] - - location: 22 (remaining gas: 1039983.379 units remaining) + - location: 22 (remaining gas: 1039984.324 units remaining) [ { "ab" ; "c" } ] - - location: 23 (remaining gas: 1039983.229 units remaining) + - location: 23 (remaining gas: 1039984.204 units remaining) [ "abc" ] - - location: -1 (remaining gas: 1039983.184 units remaining) + - location: 13 (remaining gas: 1039984.204 units remaining) [ "abc" ] - - location: 13 (remaining gas: 1039983.184 units remaining) - [ "abc" ] - - location: 24 (remaining gas: 1039983.109 units remaining) + - location: 24 (remaining gas: 1039984.159 units remaining) [ {} "abc" ] - - location: 26 (remaining gas: 1039983.034 units remaining) - [ (Pair {} "abc") ] - - location: -1 (remaining gas: 1039982.989 units remaining) + - location: 26 (remaining gas: 1039984.114 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 50de8fd393fa..82068e5441dc 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039986.822 units remaining) + - location: 8 (remaining gas: 1039986.822 units remaining) [ (Pair {} "") ] - - location: 8 (remaining gas: 1039986.742 units remaining) + - location: 8 (remaining gas: 1039986.772 units remaining) [ {} @parameter ] - - location: 9 (remaining gas: 1039986.667 units remaining) + - location: 9 (remaining gas: 1039986.727 units remaining) [ "" {} @parameter ] - - location: 12 (remaining gas: 1039986.597 units remaining) + - location: 12 (remaining gas: 1039986.687 units remaining) [ {} @parameter "" ] - - location: 13 (remaining gas: 1039986.067 units remaining) + - location: 13 (remaining gas: 1039986.187 units remaining) [ "" ] - - location: 24 (remaining gas: 1039985.992 units remaining) + - location: 24 (remaining gas: 1039986.142 units remaining) [ {} "" ] - - location: 26 (remaining gas: 1039985.917 units remaining) - [ (Pair {} "") ] - - location: -1 (remaining gas: 1039985.872 units remaining) + - location: 26 (remaining gas: 1039986.097 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 2b263ed504ea..7738ee997cd7 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.830 units remaining) + - location: 8 (remaining gas: 1039993.830 units remaining) [ (Pair 99 { -5 ; 10 }) ] - - location: 8 (remaining gas: 1039993.750 units remaining) + - location: 8 (remaining gas: 1039993.780 units remaining) [ 99 @parameter { -5 ; 10 } @storage ] - - location: 9 (remaining gas: 1039993.670 units remaining) + - location: 9 (remaining gas: 1039993.730 units remaining) [ { 99 ; -5 ; 10 } ] - - location: 10 (remaining gas: 1039993.595 units remaining) + - location: 10 (remaining gas: 1039993.685 units remaining) [ {} { 99 ; -5 ; 10 } ] - - location: 12 (remaining gas: 1039993.520 units remaining) - [ (Pair {} { 99 ; -5 ; 10 }) ] - - location: -1 (remaining gas: 1039993.475 units remaining) + - location: 12 (remaining gas: 1039993.640 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 afa1eb07f8d8..190d030be667 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.070 units remaining) + - location: 8 (remaining gas: 1039994.070 units remaining) [ (Pair -5 { 10 }) ] - - location: 8 (remaining gas: 1039993.990 units remaining) + - location: 8 (remaining gas: 1039994.020 units remaining) [ -5 @parameter { 10 } @storage ] - - location: 9 (remaining gas: 1039993.910 units remaining) + - location: 9 (remaining gas: 1039993.970 units remaining) [ { -5 ; 10 } ] - - location: 10 (remaining gas: 1039993.835 units remaining) + - location: 10 (remaining gas: 1039993.925 units remaining) [ {} { -5 ; 10 } ] - - location: 12 (remaining gas: 1039993.760 units remaining) - [ (Pair {} { -5 ; 10 }) ] - - location: -1 (remaining gas: 1039993.715 units remaining) + - location: 12 (remaining gas: 1039993.880 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 409f5e42ffb0..920defcaa6c3 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,18 +7,16 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.310 units remaining) + - location: 8 (remaining gas: 1039994.310 units remaining) [ (Pair 10 {}) ] - - location: 8 (remaining gas: 1039994.230 units remaining) + - location: 8 (remaining gas: 1039994.260 units remaining) [ 10 @parameter {} @storage ] - - location: 9 (remaining gas: 1039994.150 units remaining) + - location: 9 (remaining gas: 1039994.210 units remaining) [ { 10 } ] - - location: 10 (remaining gas: 1039994.075 units remaining) + - location: 10 (remaining gas: 1039994.165 units remaining) [ {} { 10 } ] - - location: 12 (remaining gas: 1039994 units remaining) - [ (Pair {} { 10 }) ] - - location: -1 (remaining gas: 1039993.955 units remaining) + - location: 12 (remaining gas: 1039994.120 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 102e5dea5977..2cf9d2979ef4 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,166 +7,160 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039956.652 units remaining) + - location: 12 (remaining gas: 1039956.652 units remaining) [ (Pair (Pair { "A" } { "B" }) None) ] - - location: 12 (remaining gas: 1039956.572 units remaining) + - location: 12 (remaining gas: 1039956.602 units remaining) [ (Pair { "A" } { "B" }) @parameter ] - - location: 13 (remaining gas: 1039956.492 units remaining) + - location: 13 (remaining gas: 1039956.552 units remaining) [ (Pair { "A" } { "B" }) @parameter (Pair { "A" } { "B" }) @parameter ] - - location: 14 (remaining gas: 1039956.412 units remaining) + - location: 14 (remaining gas: 1039956.502 units remaining) [ { "A" } (Pair { "A" } { "B" }) @parameter ] - - location: 17 (remaining gas: 1039956.257 units remaining) - [ { "B" } ] - - location: 16 (remaining gas: 1039956.212 units remaining) + - location: 15 (remaining gas: 1039956.457 units remaining) + [ (Pair { "A" } { "B" }) @parameter ] + - location: 17 (remaining gas: 1039956.407 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039956.212 units remaining) + - location: 15 (remaining gas: 1039956.407 units remaining) [ { "A" } { "B" } ] - - location: 18 (remaining gas: 1039955.982 units remaining) + - location: 18 (remaining gas: 1039956.207 units remaining) [ {} { "A" } { "B" } ] - - location: 20 (remaining gas: 1039955.912 units remaining) + - location: 20 (remaining gas: 1039956.167 units remaining) [ { "A" } {} { "B" } ] - - location: 23 (remaining gas: 1039955.300 units remaining) + - location: 21 (remaining gas: 1039955.660 units remaining) + [ "A" @elt + {} + { "B" } ] + - location: 23 (remaining gas: 1039955.615 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 24 (remaining gas: 1039955.220 units remaining) + - location: 24 (remaining gas: 1039955.565 units remaining) [ (Pair "A" {}) (Pair "A" {}) { "B" } ] - - location: 25 (remaining gas: 1039955.140 units remaining) + - location: 25 (remaining gas: 1039955.515 units remaining) [ "A" @elt (Pair "A" {}) { "B" } ] - - location: 28 (remaining gas: 1039954.985 units remaining) - [ {} + - location: 26 (remaining gas: 1039955.470 units remaining) + [ (Pair "A" {}) { "B" } ] - - location: 27 (remaining gas: 1039954.940 units remaining) + - location: 28 (remaining gas: 1039955.420 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039954.940 units remaining) + - location: 26 (remaining gas: 1039955.420 units remaining) [ "A" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039954.865 units remaining) + - location: 29 (remaining gas: 1039955.375 units remaining) [ True "A" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039954.795 units remaining) + - location: 32 (remaining gas: 1039955.335 units remaining) [ "A" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039954.685 units remaining) + - location: 33 (remaining gas: 1039955.255 units remaining) [ { "A" } { "B" } ] - - location: -1 (remaining gas: 1039954.640 units remaining) + - location: 21 (remaining gas: 1039955.255 units remaining) [ { "A" } { "B" } ] - - location: 21 (remaining gas: 1039954.640 units remaining) - [ { "A" } - { "B" } ] - - location: 34 (remaining gas: 1039954.565 units remaining) + - location: 34 (remaining gas: 1039955.210 units remaining) [ True { "A" } { "B" } ] - - location: 37 (remaining gas: 1039954.495 units remaining) + - location: 37 (remaining gas: 1039955.170 units remaining) [ { "A" } True { "B" } ] - - location: 38 (remaining gas: 1039954.420 units remaining) + - location: 38 (remaining gas: 1039955.125 units remaining) [ (Pair { "A" } True) { "B" } ] - - location: 39 (remaining gas: 1039954.350 units remaining) + - location: 39 (remaining gas: 1039955.085 units remaining) [ { "B" } (Pair { "A" } True) ] - - location: 42 (remaining gas: 1039953.738 units remaining) + - location: 40 (remaining gas: 1039954.578 units remaining) + [ "B" @elt + (Pair { "A" } True) ] + - location: 42 (remaining gas: 1039954.533 units remaining) [ (Pair "B" { "A" } True) ] - - location: 43 (remaining gas: 1039953.658 units remaining) + - location: 43 (remaining gas: 1039954.483 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 44 (remaining gas: 1039953.578 units remaining) + - location: 44 (remaining gas: 1039954.433 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 45 (remaining gas: 1039953.498 units remaining) + - location: 45 (remaining gas: 1039954.383 units remaining) [ "B" @elt (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 49 (remaining gas: 1039953.313 units remaining) - [ (Pair { "A" } True) + - location: 46 (remaining gas: 1039954.338 units remaining) + [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 50 (remaining gas: 1039953.233 units remaining) - [ { "A" } + - location: 49 (remaining gas: 1039954.288 units remaining) + [ (Pair { "A" } True) (Pair "B" { "A" } True) ] - - location: -1 (remaining gas: 1039953.188 units remaining) + - location: 50 (remaining gas: 1039954.238 units remaining) [ { "A" } (Pair "B" { "A" } True) ] - - location: 54 (remaining gas: 1039953.003 units remaining) + - location: 51 (remaining gas: 1039954.193 units remaining) + [ (Pair "B" { "A" } True) ] + - location: 54 (remaining gas: 1039954.143 units remaining) [ (Pair { "A" } True) ] - - location: 55 (remaining gas: 1039952.923 units remaining) - [ True ] - - location: -1 (remaining gas: 1039952.878 units remaining) - [ True ] - - location: 52 (remaining gas: 1039952.833 units remaining) + - location: 55 (remaining gas: 1039954.093 units remaining) [ True ] - - location: 51 (remaining gas: 1039952.833 units remaining) + - location: 51 (remaining gas: 1039954.093 units remaining) [ { "A" } True ] - - location: 56 (remaining gas: 1039952.753 units remaining) - [ { "A" } - { "A" } - True ] - - location: -1 (remaining gas: 1039952.708 units remaining) + - location: 56 (remaining gas: 1039954.043 units remaining) [ { "A" } { "A" } True ] - - location: 46 (remaining gas: 1039952.708 units remaining) + - location: 46 (remaining gas: 1039954.043 units remaining) [ "B" @elt { "A" } { "A" } True ] - - location: 57 (remaining gas: 1039952.598 units remaining) + - location: 57 (remaining gas: 1039953.963 units remaining) [ False { "A" } True ] - - location: 60 (remaining gas: 1039952.453 units remaining) - [ True - { "A" } ] - - location: 59 (remaining gas: 1039952.408 units remaining) + - location: 58 (remaining gas: 1039953.918 units remaining) + [ { "A" } + True ] + - location: 60 (remaining gas: 1039953.878 units remaining) [ True { "A" } ] - - location: 58 (remaining gas: 1039952.408 units remaining) + - location: 58 (remaining gas: 1039953.878 units remaining) [ False True { "A" } ] - - location: 61 (remaining gas: 1039952.328 units remaining) + - location: 61 (remaining gas: 1039953.828 units remaining) [ False { "A" } ] - - location: 62 (remaining gas: 1039952.258 units remaining) + - location: 62 (remaining gas: 1039953.788 units remaining) [ { "A" } False ] - - location: 63 (remaining gas: 1039952.183 units remaining) - [ (Pair { "A" } False) ] - - location: -1 (remaining gas: 1039952.138 units remaining) + - location: 63 (remaining gas: 1039953.743 units remaining) [ (Pair { "A" } False) ] - - location: 40 (remaining gas: 1039952.138 units remaining) + - location: 40 (remaining gas: 1039953.743 units remaining) [ (Pair { "A" } False) ] - - location: 64 (remaining gas: 1039952.058 units remaining) + - location: 64 (remaining gas: 1039953.693 units remaining) [ False ] - - location: 65 (remaining gas: 1039951.983 units remaining) + - location: 65 (remaining gas: 1039953.648 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039951.908 units remaining) + - location: 66 (remaining gas: 1039953.603 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039951.833 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039951.788 units remaining) + - location: 68 (remaining gas: 1039953.558 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 f88b7ec8f7b9..4a32585d30bf 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,417 +7,404 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039955.272 units remaining) + - location: 12 (remaining gas: 1039955.272 units remaining) [ (Pair (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) None) ] - - location: 12 (remaining gas: 1039955.192 units remaining) + - location: 12 (remaining gas: 1039955.222 units remaining) [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - - location: 13 (remaining gas: 1039955.112 units remaining) + - location: 13 (remaining gas: 1039955.172 units remaining) [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - - location: 14 (remaining gas: 1039955.032 units remaining) + - location: 14 (remaining gas: 1039955.122 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - - location: 17 (remaining gas: 1039954.877 units remaining) - [ { "B" ; "C" ; "asdf" } ] - - location: 16 (remaining gas: 1039954.832 units remaining) + - location: 15 (remaining gas: 1039955.077 units remaining) + [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] + - location: 17 (remaining gas: 1039955.027 units remaining) [ { "B" ; "C" ; "asdf" } ] - - location: 15 (remaining gas: 1039954.832 units remaining) + - location: 15 (remaining gas: 1039955.027 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" } ] - - location: 18 (remaining gas: 1039954.602 units remaining) + - location: 18 (remaining gas: 1039954.827 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" } ] - - location: 20 (remaining gas: 1039954.532 units remaining) + - location: 20 (remaining gas: 1039954.787 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } {} { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.899 units remaining) + - location: 21 (remaining gas: 1039954.259 units remaining) + [ "B" @elt + {} + { "B" ; "C" ; "asdf" } ] + - location: 23 (remaining gas: 1039954.214 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.819 units remaining) + - location: 24 (remaining gas: 1039954.164 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.739 units remaining) + - location: 25 (remaining gas: 1039954.114 units remaining) [ "B" @elt (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039953.584 units remaining) - [ {} + - location: 26 (remaining gas: 1039954.069 units remaining) + [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039953.539 units remaining) + - location: 28 (remaining gas: 1039954.019 units remaining) [ {} { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.539 units remaining) + - location: 26 (remaining gas: 1039954.019 units remaining) [ "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039953.464 units remaining) + - location: 29 (remaining gas: 1039953.974 units remaining) [ True "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039953.394 units remaining) + - location: 32 (remaining gas: 1039953.934 units remaining) [ "B" @elt True {} { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.284 units remaining) + - location: 33 (remaining gas: 1039953.854 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039953.239 units remaining) - [ { "B" } + - location: 21 (remaining gas: 1039953.854 units remaining) + [ "B" @elt + { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.164 units remaining) + - location: 23 (remaining gas: 1039953.809 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.084 units remaining) + - location: 24 (remaining gas: 1039953.759 units remaining) [ (Pair "B" { "B" }) (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.004 units remaining) + - location: 25 (remaining gas: 1039953.709 units remaining) [ "B" @elt (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039952.849 units remaining) - [ { "B" } + - location: 26 (remaining gas: 1039953.664 units remaining) + [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039952.804 units remaining) + - location: 28 (remaining gas: 1039953.614 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039952.804 units remaining) + - location: 26 (remaining gas: 1039953.614 units remaining) [ "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039952.729 units remaining) + - location: 29 (remaining gas: 1039953.569 units remaining) [ True "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039952.659 units remaining) + - location: 32 (remaining gas: 1039953.529 units remaining) [ "B" @elt True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039952.549 units remaining) + - location: 33 (remaining gas: 1039953.449 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039952.504 units remaining) - [ { "B" } + - location: 21 (remaining gas: 1039953.449 units remaining) + [ "asdf" @elt + { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039952.429 units remaining) + - location: 23 (remaining gas: 1039953.404 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039952.349 units remaining) + - location: 24 (remaining gas: 1039953.354 units remaining) [ (Pair "asdf" { "B" }) (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039952.269 units remaining) + - location: 25 (remaining gas: 1039953.304 units remaining) [ "asdf" @elt (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039952.114 units remaining) - [ { "B" } + - location: 26 (remaining gas: 1039953.259 units remaining) + [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039952.069 units remaining) + - location: 28 (remaining gas: 1039953.209 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039952.069 units remaining) + - location: 26 (remaining gas: 1039953.209 units remaining) [ "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039951.994 units remaining) + - location: 29 (remaining gas: 1039953.164 units remaining) [ True "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039951.924 units remaining) + - location: 32 (remaining gas: 1039953.124 units remaining) [ "asdf" @elt True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039951.813 units remaining) + - location: 33 (remaining gas: 1039953.043 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039951.768 units remaining) - [ { "B" ; "asdf" } + - location: 21 (remaining gas: 1039953.043 units remaining) + [ "C" @elt + { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039951.693 units remaining) + - location: 23 (remaining gas: 1039952.998 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039951.613 units remaining) + - location: 24 (remaining gas: 1039952.948 units remaining) [ (Pair "C" { "B" ; "asdf" }) (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039951.533 units remaining) + - location: 25 (remaining gas: 1039952.898 units remaining) [ "C" @elt (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039951.378 units remaining) - [ { "B" ; "asdf" } + - location: 26 (remaining gas: 1039952.853 units remaining) + [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039951.333 units remaining) + - location: 28 (remaining gas: 1039952.803 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039951.333 units remaining) + - location: 26 (remaining gas: 1039952.803 units remaining) [ "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039951.258 units remaining) + - location: 29 (remaining gas: 1039952.758 units remaining) [ True "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039951.188 units remaining) + - location: 32 (remaining gas: 1039952.718 units remaining) [ "C" @elt True { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039951.078 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039951.033 units remaining) + - location: 33 (remaining gas: 1039952.638 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039951.033 units remaining) + - location: 21 (remaining gas: 1039952.638 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 34 (remaining gas: 1039950.958 units remaining) + - location: 34 (remaining gas: 1039952.593 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 37 (remaining gas: 1039950.888 units remaining) + - location: 37 (remaining gas: 1039952.553 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "C" ; "asdf" } ] - - location: 38 (remaining gas: 1039950.813 units remaining) + - location: 38 (remaining gas: 1039952.508 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "C" ; "asdf" } ] - - location: 39 (remaining gas: 1039950.743 units remaining) + - location: 39 (remaining gas: 1039952.468 units remaining) [ { "B" ; "C" ; "asdf" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039950.117 units remaining) + - location: 40 (remaining gas: 1039951.947 units remaining) + [ "B" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039951.902 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039950.037 units remaining) + - location: 43 (remaining gas: 1039951.852 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039949.957 units remaining) + - location: 44 (remaining gas: 1039951.802 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039949.877 units remaining) + - location: 45 (remaining gas: 1039951.752 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039949.692 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039951.707 units remaining) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039949.612 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039951.657 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039949.567 units remaining) + - location: 50 (remaining gas: 1039951.607 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039949.382 units remaining) + - location: 51 (remaining gas: 1039951.562 units remaining) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039951.512 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039949.302 units remaining) - [ True ] - - location: -1 (remaining gas: 1039949.257 units remaining) + - location: 55 (remaining gas: 1039951.462 units remaining) [ True ] - - location: 52 (remaining gas: 1039949.212 units remaining) - [ True ] - - location: 51 (remaining gas: 1039949.212 units remaining) + - location: 51 (remaining gas: 1039951.462 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039949.132 units remaining) + - location: 56 (remaining gas: 1039951.412 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: -1 (remaining gas: 1039949.087 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039949.087 units remaining) + - location: 46 (remaining gas: 1039951.412 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039948.977 units remaining) + - location: 57 (remaining gas: 1039951.332 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039948.832 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039948.787 units remaining) + - location: 58 (remaining gas: 1039951.287 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039951.247 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039948.787 units remaining) + - location: 58 (remaining gas: 1039951.247 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039948.707 units remaining) + - location: 61 (remaining gas: 1039951.197 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039948.637 units remaining) + - location: 62 (remaining gas: 1039951.157 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039948.562 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039948.517 units remaining) + - location: 63 (remaining gas: 1039951.112 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039948.442 units remaining) + - location: 40 (remaining gas: 1039951.112 units remaining) + [ "C" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039951.067 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039948.362 units remaining) + - location: 43 (remaining gas: 1039951.017 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039948.282 units remaining) + - location: 44 (remaining gas: 1039950.967 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039948.202 units remaining) + - location: 45 (remaining gas: 1039950.917 units remaining) [ "C" @elt (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039948.017 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039950.872 units remaining) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039947.937 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039950.822 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039947.892 units remaining) + - location: 50 (remaining gas: 1039950.772 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039947.707 units remaining) + - location: 51 (remaining gas: 1039950.727 units remaining) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039950.677 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039947.627 units remaining) + - location: 55 (remaining gas: 1039950.627 units remaining) [ True ] - - location: -1 (remaining gas: 1039947.582 units remaining) - [ True ] - - location: 52 (remaining gas: 1039947.537 units remaining) - [ True ] - - location: 51 (remaining gas: 1039947.537 units remaining) + - location: 51 (remaining gas: 1039950.627 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039947.457 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039947.412 units remaining) + - location: 56 (remaining gas: 1039950.577 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039947.412 units remaining) + - location: 46 (remaining gas: 1039950.577 units remaining) [ "C" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039947.302 units remaining) + - location: 57 (remaining gas: 1039950.497 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039947.157 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039947.112 units remaining) + - location: 58 (remaining gas: 1039950.452 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039950.412 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039947.112 units remaining) + - location: 58 (remaining gas: 1039950.412 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039947.032 units remaining) + - location: 61 (remaining gas: 1039950.362 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039946.962 units remaining) + - location: 62 (remaining gas: 1039950.322 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039946.887 units remaining) + - location: 63 (remaining gas: 1039950.277 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039946.842 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039946.767 units remaining) + - location: 40 (remaining gas: 1039950.277 units remaining) + [ "asdf" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039950.232 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039946.687 units remaining) + - location: 43 (remaining gas: 1039950.182 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039946.607 units remaining) + - location: 44 (remaining gas: 1039950.132 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039946.527 units remaining) + - location: 45 (remaining gas: 1039950.082 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039946.342 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039950.037 units remaining) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039946.262 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039949.987 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039946.217 units remaining) + - location: 50 (remaining gas: 1039949.937 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039946.032 units remaining) + - location: 51 (remaining gas: 1039949.892 units remaining) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039949.842 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039945.952 units remaining) - [ True ] - - location: -1 (remaining gas: 1039945.907 units remaining) - [ True ] - - location: 52 (remaining gas: 1039945.862 units remaining) + - location: 55 (remaining gas: 1039949.792 units remaining) [ True ] - - location: 51 (remaining gas: 1039945.862 units remaining) + - location: 51 (remaining gas: 1039949.792 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039945.782 units remaining) + - location: 56 (remaining gas: 1039949.742 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: -1 (remaining gas: 1039945.737 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039945.737 units remaining) + - location: 46 (remaining gas: 1039949.742 units remaining) [ "asdf" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039945.627 units remaining) + - location: 57 (remaining gas: 1039949.662 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039945.482 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039945.437 units remaining) + - location: 58 (remaining gas: 1039949.617 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039949.577 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039945.437 units remaining) + - location: 58 (remaining gas: 1039949.577 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039945.357 units remaining) + - location: 61 (remaining gas: 1039949.527 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039945.287 units remaining) + - location: 62 (remaining gas: 1039949.487 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039945.212 units remaining) + - location: 63 (remaining gas: 1039949.442 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039945.167 units remaining) + - location: 40 (remaining gas: 1039949.442 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039945.167 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039945.087 units remaining) + - location: 64 (remaining gas: 1039949.392 units remaining) [ True ] - - location: 65 (remaining gas: 1039945.012 units remaining) + - location: 65 (remaining gas: 1039949.347 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039944.937 units remaining) + - location: 66 (remaining gas: 1039949.302 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039944.862 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039944.817 units remaining) + - location: 68 (remaining gas: 1039949.257 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 42a2268826a1..75c17fe0643a 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,450 +7,431 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039955.272 units remaining) + - location: 12 (remaining gas: 1039955.272 units remaining) [ (Pair (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) None) ] - - location: 12 (remaining gas: 1039955.192 units remaining) + - location: 12 (remaining gas: 1039955.222 units remaining) [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - - location: 13 (remaining gas: 1039955.112 units remaining) + - location: 13 (remaining gas: 1039955.172 units remaining) [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - - location: 14 (remaining gas: 1039955.032 units remaining) + - location: 14 (remaining gas: 1039955.122 units remaining) [ { "B" ; "C" ; "asdf" } (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - - location: 17 (remaining gas: 1039954.877 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } ] - - location: 16 (remaining gas: 1039954.832 units remaining) + - location: 15 (remaining gas: 1039955.077 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] + - location: 17 (remaining gas: 1039955.027 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } ] - - location: 15 (remaining gas: 1039954.832 units remaining) + - location: 15 (remaining gas: 1039955.027 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 18 (remaining gas: 1039954.602 units remaining) + - location: 18 (remaining gas: 1039954.827 units remaining) [ {} { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 20 (remaining gas: 1039954.532 units remaining) + - location: 20 (remaining gas: 1039954.787 units remaining) [ { "B" ; "C" ; "asdf" } {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039953.906 units remaining) + - location: 21 (remaining gas: 1039954.266 units remaining) + [ "B" @elt + {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 23 (remaining gas: 1039954.221 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039953.826 units remaining) + - location: 24 (remaining gas: 1039954.171 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039953.746 units remaining) + - location: 25 (remaining gas: 1039954.121 units remaining) [ "B" @elt (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039953.591 units remaining) - [ {} + - location: 26 (remaining gas: 1039954.076 units remaining) + [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 27 (remaining gas: 1039953.546 units remaining) + - location: 28 (remaining gas: 1039954.026 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.546 units remaining) + - location: 26 (remaining gas: 1039954.026 units remaining) [ "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039953.471 units remaining) + - location: 29 (remaining gas: 1039953.981 units remaining) [ True "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039953.401 units remaining) + - location: 32 (remaining gas: 1039953.941 units remaining) [ "B" @elt True {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039953.291 units remaining) + - location: 33 (remaining gas: 1039953.861 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: -1 (remaining gas: 1039953.246 units remaining) - [ { "B" } + - location: 21 (remaining gas: 1039953.861 units remaining) + [ "C" @elt + { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039953.171 units remaining) + - location: 23 (remaining gas: 1039953.816 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039953.091 units remaining) + - location: 24 (remaining gas: 1039953.766 units remaining) [ (Pair "C" { "B" }) (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039953.011 units remaining) + - location: 25 (remaining gas: 1039953.716 units remaining) [ "C" @elt (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039952.856 units remaining) - [ { "B" } + - location: 26 (remaining gas: 1039953.671 units remaining) + [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 27 (remaining gas: 1039952.811 units remaining) + - location: 28 (remaining gas: 1039953.621 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039952.811 units remaining) + - location: 26 (remaining gas: 1039953.621 units remaining) [ "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039952.736 units remaining) + - location: 29 (remaining gas: 1039953.576 units remaining) [ True "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039952.666 units remaining) + - location: 32 (remaining gas: 1039953.536 units remaining) [ "C" @elt True { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039952.556 units remaining) + - location: 33 (remaining gas: 1039953.456 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: -1 (remaining gas: 1039952.511 units remaining) - [ { "B" ; "C" } + - location: 21 (remaining gas: 1039953.456 units remaining) + [ "asdf" @elt + { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039952.436 units remaining) + - location: 23 (remaining gas: 1039953.411 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039952.356 units remaining) + - location: 24 (remaining gas: 1039953.361 units remaining) [ (Pair "asdf" { "B" ; "C" }) (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039952.276 units remaining) + - location: 25 (remaining gas: 1039953.311 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039952.121 units remaining) - [ { "B" ; "C" } + - location: 26 (remaining gas: 1039953.266 units remaining) + [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 27 (remaining gas: 1039952.076 units remaining) + - location: 28 (remaining gas: 1039953.216 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039952.076 units remaining) + - location: 26 (remaining gas: 1039953.216 units remaining) [ "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039952.001 units remaining) + - location: 29 (remaining gas: 1039953.171 units remaining) [ True "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039951.931 units remaining) + - location: 32 (remaining gas: 1039953.131 units remaining) [ "asdf" @elt True { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039951.820 units remaining) + - location: 33 (remaining gas: 1039953.050 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: -1 (remaining gas: 1039951.775 units remaining) + - location: 21 (remaining gas: 1039953.050 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039951.775 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 34 (remaining gas: 1039951.700 units remaining) + - location: 34 (remaining gas: 1039953.005 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 37 (remaining gas: 1039951.630 units remaining) + - location: 37 (remaining gas: 1039952.965 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "B" ; "asdf" ; "C" } ] - - location: 38 (remaining gas: 1039951.555 units remaining) + - location: 38 (remaining gas: 1039952.920 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 39 (remaining gas: 1039951.485 units remaining) + - location: 39 (remaining gas: 1039952.880 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039950.852 units remaining) + - location: 40 (remaining gas: 1039952.352 units remaining) + [ "B" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039952.307 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039950.772 units remaining) + - location: 43 (remaining gas: 1039952.257 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039950.692 units remaining) + - location: 44 (remaining gas: 1039952.207 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039950.612 units remaining) + - location: 45 (remaining gas: 1039952.157 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039950.427 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039952.112 units remaining) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039950.347 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039952.062 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039950.302 units remaining) + - location: 50 (remaining gas: 1039952.012 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039950.117 units remaining) + - location: 51 (remaining gas: 1039951.967 units remaining) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039951.917 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039950.037 units remaining) - [ True ] - - location: -1 (remaining gas: 1039949.992 units remaining) - [ True ] - - location: 52 (remaining gas: 1039949.947 units remaining) + - location: 55 (remaining gas: 1039951.867 units remaining) [ True ] - - location: 51 (remaining gas: 1039949.947 units remaining) + - location: 51 (remaining gas: 1039951.867 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039949.867 units remaining) + - location: 56 (remaining gas: 1039951.817 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: -1 (remaining gas: 1039949.822 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039949.822 units remaining) + - location: 46 (remaining gas: 1039951.817 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039949.712 units remaining) + - location: 57 (remaining gas: 1039951.737 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039949.567 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039949.522 units remaining) + - location: 58 (remaining gas: 1039951.692 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039951.652 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039949.522 units remaining) + - location: 58 (remaining gas: 1039951.652 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039949.442 units remaining) + - location: 61 (remaining gas: 1039951.602 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039949.372 units remaining) + - location: 62 (remaining gas: 1039951.562 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039949.297 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039949.252 units remaining) + - location: 63 (remaining gas: 1039951.517 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039949.177 units remaining) + - location: 40 (remaining gas: 1039951.517 units remaining) + [ "B" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039951.472 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039949.097 units remaining) + - location: 43 (remaining gas: 1039951.422 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039949.017 units remaining) + - location: 44 (remaining gas: 1039951.372 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039948.937 units remaining) + - location: 45 (remaining gas: 1039951.322 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039948.752 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039951.277 units remaining) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039948.672 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039951.227 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039948.627 units remaining) + - location: 50 (remaining gas: 1039951.177 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039948.442 units remaining) + - location: 51 (remaining gas: 1039951.132 units remaining) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039951.082 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039948.362 units remaining) - [ True ] - - location: -1 (remaining gas: 1039948.317 units remaining) + - location: 55 (remaining gas: 1039951.032 units remaining) [ True ] - - location: 52 (remaining gas: 1039948.272 units remaining) - [ True ] - - location: 51 (remaining gas: 1039948.272 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039948.192 units remaining) + - location: 51 (remaining gas: 1039951.032 units remaining) [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } True ] - - location: -1 (remaining gas: 1039948.147 units remaining) + - location: 56 (remaining gas: 1039950.982 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039948.147 units remaining) + - location: 46 (remaining gas: 1039950.982 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039948.037 units remaining) + - location: 57 (remaining gas: 1039950.902 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039947.892 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039947.847 units remaining) + - location: 58 (remaining gas: 1039950.857 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039950.817 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039947.847 units remaining) + - location: 58 (remaining gas: 1039950.817 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039947.767 units remaining) + - location: 61 (remaining gas: 1039950.767 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039947.697 units remaining) + - location: 62 (remaining gas: 1039950.727 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039947.622 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039947.577 units remaining) + - location: 63 (remaining gas: 1039950.682 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039947.502 units remaining) + - location: 40 (remaining gas: 1039950.682 units remaining) + [ "asdf" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039950.637 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039947.422 units remaining) + - location: 43 (remaining gas: 1039950.587 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039947.342 units remaining) + - location: 44 (remaining gas: 1039950.537 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039947.262 units remaining) + - location: 45 (remaining gas: 1039950.487 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039947.077 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039950.442 units remaining) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039946.997 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039950.392 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039946.952 units remaining) + - location: 50 (remaining gas: 1039950.342 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039946.767 units remaining) + - location: 51 (remaining gas: 1039950.297 units remaining) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039950.247 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039946.687 units remaining) - [ True ] - - location: -1 (remaining gas: 1039946.642 units remaining) + - location: 55 (remaining gas: 1039950.197 units remaining) [ True ] - - location: 52 (remaining gas: 1039946.597 units remaining) - [ True ] - - location: 51 (remaining gas: 1039946.597 units remaining) + - location: 51 (remaining gas: 1039950.197 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039946.517 units remaining) + - location: 56 (remaining gas: 1039950.147 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: -1 (remaining gas: 1039946.472 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039946.472 units remaining) + - location: 46 (remaining gas: 1039950.147 units remaining) [ "asdf" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039946.362 units remaining) + - location: 57 (remaining gas: 1039950.067 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039946.217 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039946.172 units remaining) + - location: 58 (remaining gas: 1039950.022 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039949.982 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039946.172 units remaining) + - location: 58 (remaining gas: 1039949.982 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039946.092 units remaining) + - location: 61 (remaining gas: 1039949.932 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039946.022 units remaining) + - location: 62 (remaining gas: 1039949.892 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039945.947 units remaining) + - location: 63 (remaining gas: 1039949.847 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039945.902 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039945.827 units remaining) + - location: 40 (remaining gas: 1039949.847 units remaining) + [ "C" @elt + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (remaining gas: 1039949.802 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039945.747 units remaining) + - location: 43 (remaining gas: 1039949.752 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039945.667 units remaining) + - location: 44 (remaining gas: 1039949.702 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039945.587 units remaining) + - location: 45 (remaining gas: 1039949.652 units remaining) [ "C" @elt (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039945.402 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) + - location: 46 (remaining gas: 1039949.607 units remaining) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039945.322 units remaining) - [ { "B" ; "C" ; "asdf" } + - location: 49 (remaining gas: 1039949.557 units remaining) + [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039945.277 units remaining) + - location: 50 (remaining gas: 1039949.507 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039945.092 units remaining) + - location: 51 (remaining gas: 1039949.462 units remaining) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (remaining gas: 1039949.412 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039945.012 units remaining) + - location: 55 (remaining gas: 1039949.362 units remaining) [ True ] - - location: -1 (remaining gas: 1039944.967 units remaining) - [ True ] - - location: 52 (remaining gas: 1039944.922 units remaining) - [ True ] - - location: 51 (remaining gas: 1039944.922 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039944.842 units remaining) + - location: 51 (remaining gas: 1039949.362 units remaining) [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } True ] - - location: -1 (remaining gas: 1039944.797 units remaining) + - location: 56 (remaining gas: 1039949.312 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039944.797 units remaining) + - location: 46 (remaining gas: 1039949.312 units remaining) [ "C" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039944.687 units remaining) + - location: 57 (remaining gas: 1039949.232 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039944.542 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039944.497 units remaining) + - location: 58 (remaining gas: 1039949.187 units remaining) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (remaining gas: 1039949.147 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039944.497 units remaining) + - location: 58 (remaining gas: 1039949.147 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039944.417 units remaining) + - location: 61 (remaining gas: 1039949.097 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039944.347 units remaining) + - location: 62 (remaining gas: 1039949.057 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039944.272 units remaining) + - location: 63 (remaining gas: 1039949.012 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039944.227 units remaining) + - location: 40 (remaining gas: 1039949.012 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039944.227 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039944.147 units remaining) + - location: 64 (remaining gas: 1039948.962 units remaining) [ True ] - - location: 65 (remaining gas: 1039944.072 units remaining) + - location: 65 (remaining gas: 1039948.917 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039943.997 units remaining) + - location: 66 (remaining gas: 1039948.872 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039943.922 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039943.877 units remaining) + - location: 68 (remaining gas: 1039948.827 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 0d0de639ab4b..338eab1a680f 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,166 +7,160 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039956.652 units remaining) + - location: 12 (remaining gas: 1039956.652 units remaining) [ (Pair (Pair { "B" } { "B" }) None) ] - - location: 12 (remaining gas: 1039956.572 units remaining) + - location: 12 (remaining gas: 1039956.602 units remaining) [ (Pair { "B" } { "B" }) @parameter ] - - location: 13 (remaining gas: 1039956.492 units remaining) + - location: 13 (remaining gas: 1039956.552 units remaining) [ (Pair { "B" } { "B" }) @parameter (Pair { "B" } { "B" }) @parameter ] - - location: 14 (remaining gas: 1039956.412 units remaining) + - location: 14 (remaining gas: 1039956.502 units remaining) [ { "B" } (Pair { "B" } { "B" }) @parameter ] - - location: 17 (remaining gas: 1039956.257 units remaining) - [ { "B" } ] - - location: 16 (remaining gas: 1039956.212 units remaining) + - location: 15 (remaining gas: 1039956.457 units remaining) + [ (Pair { "B" } { "B" }) @parameter ] + - location: 17 (remaining gas: 1039956.407 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039956.212 units remaining) + - location: 15 (remaining gas: 1039956.407 units remaining) [ { "B" } { "B" } ] - - location: 18 (remaining gas: 1039955.982 units remaining) + - location: 18 (remaining gas: 1039956.207 units remaining) [ {} { "B" } { "B" } ] - - location: 20 (remaining gas: 1039955.912 units remaining) + - location: 20 (remaining gas: 1039956.167 units remaining) [ { "B" } {} { "B" } ] - - location: 23 (remaining gas: 1039955.300 units remaining) + - location: 21 (remaining gas: 1039955.660 units remaining) + [ "B" @elt + {} + { "B" } ] + - location: 23 (remaining gas: 1039955.615 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 24 (remaining gas: 1039955.220 units remaining) + - location: 24 (remaining gas: 1039955.565 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" } ] - - location: 25 (remaining gas: 1039955.140 units remaining) + - location: 25 (remaining gas: 1039955.515 units remaining) [ "B" @elt (Pair "B" {}) { "B" } ] - - location: 28 (remaining gas: 1039954.985 units remaining) - [ {} + - location: 26 (remaining gas: 1039955.470 units remaining) + [ (Pair "B" {}) { "B" } ] - - location: 27 (remaining gas: 1039954.940 units remaining) + - location: 28 (remaining gas: 1039955.420 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039954.940 units remaining) + - location: 26 (remaining gas: 1039955.420 units remaining) [ "B" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039954.865 units remaining) + - location: 29 (remaining gas: 1039955.375 units remaining) [ True "B" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039954.795 units remaining) + - location: 32 (remaining gas: 1039955.335 units remaining) [ "B" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039954.685 units remaining) + - location: 33 (remaining gas: 1039955.255 units remaining) [ { "B" } { "B" } ] - - location: -1 (remaining gas: 1039954.640 units remaining) + - location: 21 (remaining gas: 1039955.255 units remaining) [ { "B" } { "B" } ] - - location: 21 (remaining gas: 1039954.640 units remaining) - [ { "B" } - { "B" } ] - - location: 34 (remaining gas: 1039954.565 units remaining) + - location: 34 (remaining gas: 1039955.210 units remaining) [ True { "B" } { "B" } ] - - location: 37 (remaining gas: 1039954.495 units remaining) + - location: 37 (remaining gas: 1039955.170 units remaining) [ { "B" } True { "B" } ] - - location: 38 (remaining gas: 1039954.420 units remaining) + - location: 38 (remaining gas: 1039955.125 units remaining) [ (Pair { "B" } True) { "B" } ] - - location: 39 (remaining gas: 1039954.350 units remaining) + - location: 39 (remaining gas: 1039955.085 units remaining) [ { "B" } (Pair { "B" } True) ] - - location: 42 (remaining gas: 1039953.738 units remaining) + - location: 40 (remaining gas: 1039954.578 units remaining) + [ "B" @elt + (Pair { "B" } True) ] + - location: 42 (remaining gas: 1039954.533 units remaining) [ (Pair "B" { "B" } True) ] - - location: 43 (remaining gas: 1039953.658 units remaining) + - location: 43 (remaining gas: 1039954.483 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 44 (remaining gas: 1039953.578 units remaining) + - location: 44 (remaining gas: 1039954.433 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 45 (remaining gas: 1039953.498 units remaining) + - location: 45 (remaining gas: 1039954.383 units remaining) [ "B" @elt (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 49 (remaining gas: 1039953.313 units remaining) - [ (Pair { "B" } True) + - location: 46 (remaining gas: 1039954.338 units remaining) + [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 50 (remaining gas: 1039953.233 units remaining) - [ { "B" } + - location: 49 (remaining gas: 1039954.288 units remaining) + [ (Pair { "B" } True) (Pair "B" { "B" } True) ] - - location: -1 (remaining gas: 1039953.188 units remaining) + - location: 50 (remaining gas: 1039954.238 units remaining) [ { "B" } (Pair "B" { "B" } True) ] - - location: 54 (remaining gas: 1039953.003 units remaining) + - location: 51 (remaining gas: 1039954.193 units remaining) + [ (Pair "B" { "B" } True) ] + - location: 54 (remaining gas: 1039954.143 units remaining) [ (Pair { "B" } True) ] - - location: 55 (remaining gas: 1039952.923 units remaining) - [ True ] - - location: -1 (remaining gas: 1039952.878 units remaining) - [ True ] - - location: 52 (remaining gas: 1039952.833 units remaining) + - location: 55 (remaining gas: 1039954.093 units remaining) [ True ] - - location: 51 (remaining gas: 1039952.833 units remaining) + - location: 51 (remaining gas: 1039954.093 units remaining) [ { "B" } True ] - - location: 56 (remaining gas: 1039952.753 units remaining) - [ { "B" } - { "B" } - True ] - - location: -1 (remaining gas: 1039952.708 units remaining) + - location: 56 (remaining gas: 1039954.043 units remaining) [ { "B" } { "B" } True ] - - location: 46 (remaining gas: 1039952.708 units remaining) + - location: 46 (remaining gas: 1039954.043 units remaining) [ "B" @elt { "B" } { "B" } True ] - - location: 57 (remaining gas: 1039952.598 units remaining) + - location: 57 (remaining gas: 1039953.963 units remaining) [ True { "B" } True ] - - location: 60 (remaining gas: 1039952.453 units remaining) - [ True - { "B" } ] - - location: 59 (remaining gas: 1039952.408 units remaining) + - location: 58 (remaining gas: 1039953.918 units remaining) + [ { "B" } + True ] + - location: 60 (remaining gas: 1039953.878 units remaining) [ True { "B" } ] - - location: 58 (remaining gas: 1039952.408 units remaining) + - location: 58 (remaining gas: 1039953.878 units remaining) [ True True { "B" } ] - - location: 61 (remaining gas: 1039952.328 units remaining) + - location: 61 (remaining gas: 1039953.828 units remaining) [ True { "B" } ] - - location: 62 (remaining gas: 1039952.258 units remaining) + - location: 62 (remaining gas: 1039953.788 units remaining) [ { "B" } True ] - - location: 63 (remaining gas: 1039952.183 units remaining) - [ (Pair { "B" } True) ] - - location: -1 (remaining gas: 1039952.138 units remaining) + - location: 63 (remaining gas: 1039953.743 units remaining) [ (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039952.138 units remaining) + - location: 40 (remaining gas: 1039953.743 units remaining) [ (Pair { "B" } True) ] - - location: 64 (remaining gas: 1039952.058 units remaining) + - location: 64 (remaining gas: 1039953.693 units remaining) [ True ] - - location: 65 (remaining gas: 1039951.983 units remaining) + - location: 65 (remaining gas: 1039953.648 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039951.908 units remaining) + - location: 66 (remaining gas: 1039953.603 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039951.833 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039951.788 units remaining) + - location: 68 (remaining gas: 1039953.558 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 a421322cae88..8e318c131a3c 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,166 +7,160 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039956.652 units remaining) + - location: 12 (remaining gas: 1039956.652 units remaining) [ (Pair (Pair { "c" } { "B" }) None) ] - - location: 12 (remaining gas: 1039956.572 units remaining) + - location: 12 (remaining gas: 1039956.602 units remaining) [ (Pair { "c" } { "B" }) @parameter ] - - location: 13 (remaining gas: 1039956.492 units remaining) + - location: 13 (remaining gas: 1039956.552 units remaining) [ (Pair { "c" } { "B" }) @parameter (Pair { "c" } { "B" }) @parameter ] - - location: 14 (remaining gas: 1039956.412 units remaining) + - location: 14 (remaining gas: 1039956.502 units remaining) [ { "c" } (Pair { "c" } { "B" }) @parameter ] - - location: 17 (remaining gas: 1039956.257 units remaining) - [ { "B" } ] - - location: 16 (remaining gas: 1039956.212 units remaining) + - location: 15 (remaining gas: 1039956.457 units remaining) + [ (Pair { "c" } { "B" }) @parameter ] + - location: 17 (remaining gas: 1039956.407 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039956.212 units remaining) + - location: 15 (remaining gas: 1039956.407 units remaining) [ { "c" } { "B" } ] - - location: 18 (remaining gas: 1039955.982 units remaining) + - location: 18 (remaining gas: 1039956.207 units remaining) [ {} { "c" } { "B" } ] - - location: 20 (remaining gas: 1039955.912 units remaining) + - location: 20 (remaining gas: 1039956.167 units remaining) [ { "c" } {} { "B" } ] - - location: 23 (remaining gas: 1039955.300 units remaining) + - location: 21 (remaining gas: 1039955.660 units remaining) + [ "c" @elt + {} + { "B" } ] + - location: 23 (remaining gas: 1039955.615 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 24 (remaining gas: 1039955.220 units remaining) + - location: 24 (remaining gas: 1039955.565 units remaining) [ (Pair "c" {}) (Pair "c" {}) { "B" } ] - - location: 25 (remaining gas: 1039955.140 units remaining) + - location: 25 (remaining gas: 1039955.515 units remaining) [ "c" @elt (Pair "c" {}) { "B" } ] - - location: 28 (remaining gas: 1039954.985 units remaining) - [ {} + - location: 26 (remaining gas: 1039955.470 units remaining) + [ (Pair "c" {}) { "B" } ] - - location: 27 (remaining gas: 1039954.940 units remaining) + - location: 28 (remaining gas: 1039955.420 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039954.940 units remaining) + - location: 26 (remaining gas: 1039955.420 units remaining) [ "c" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039954.865 units remaining) + - location: 29 (remaining gas: 1039955.375 units remaining) [ True "c" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039954.795 units remaining) + - location: 32 (remaining gas: 1039955.335 units remaining) [ "c" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039954.685 units remaining) + - location: 33 (remaining gas: 1039955.255 units remaining) [ { "c" } { "B" } ] - - location: -1 (remaining gas: 1039954.640 units remaining) + - location: 21 (remaining gas: 1039955.255 units remaining) [ { "c" } { "B" } ] - - location: 21 (remaining gas: 1039954.640 units remaining) - [ { "c" } - { "B" } ] - - location: 34 (remaining gas: 1039954.565 units remaining) + - location: 34 (remaining gas: 1039955.210 units remaining) [ True { "c" } { "B" } ] - - location: 37 (remaining gas: 1039954.495 units remaining) + - location: 37 (remaining gas: 1039955.170 units remaining) [ { "c" } True { "B" } ] - - location: 38 (remaining gas: 1039954.420 units remaining) + - location: 38 (remaining gas: 1039955.125 units remaining) [ (Pair { "c" } True) { "B" } ] - - location: 39 (remaining gas: 1039954.350 units remaining) + - location: 39 (remaining gas: 1039955.085 units remaining) [ { "B" } (Pair { "c" } True) ] - - location: 42 (remaining gas: 1039953.738 units remaining) + - location: 40 (remaining gas: 1039954.578 units remaining) + [ "B" @elt + (Pair { "c" } True) ] + - location: 42 (remaining gas: 1039954.533 units remaining) [ (Pair "B" { "c" } True) ] - - location: 43 (remaining gas: 1039953.658 units remaining) + - location: 43 (remaining gas: 1039954.483 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 44 (remaining gas: 1039953.578 units remaining) + - location: 44 (remaining gas: 1039954.433 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 45 (remaining gas: 1039953.498 units remaining) + - location: 45 (remaining gas: 1039954.383 units remaining) [ "B" @elt (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 49 (remaining gas: 1039953.313 units remaining) - [ (Pair { "c" } True) + - location: 46 (remaining gas: 1039954.338 units remaining) + [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 50 (remaining gas: 1039953.233 units remaining) - [ { "c" } + - location: 49 (remaining gas: 1039954.288 units remaining) + [ (Pair { "c" } True) (Pair "B" { "c" } True) ] - - location: -1 (remaining gas: 1039953.188 units remaining) + - location: 50 (remaining gas: 1039954.238 units remaining) [ { "c" } (Pair "B" { "c" } True) ] - - location: 54 (remaining gas: 1039953.003 units remaining) + - location: 51 (remaining gas: 1039954.193 units remaining) + [ (Pair "B" { "c" } True) ] + - location: 54 (remaining gas: 1039954.143 units remaining) [ (Pair { "c" } True) ] - - location: 55 (remaining gas: 1039952.923 units remaining) - [ True ] - - location: -1 (remaining gas: 1039952.878 units remaining) - [ True ] - - location: 52 (remaining gas: 1039952.833 units remaining) + - location: 55 (remaining gas: 1039954.093 units remaining) [ True ] - - location: 51 (remaining gas: 1039952.833 units remaining) + - location: 51 (remaining gas: 1039954.093 units remaining) [ { "c" } True ] - - location: 56 (remaining gas: 1039952.753 units remaining) - [ { "c" } - { "c" } - True ] - - location: -1 (remaining gas: 1039952.708 units remaining) + - location: 56 (remaining gas: 1039954.043 units remaining) [ { "c" } { "c" } True ] - - location: 46 (remaining gas: 1039952.708 units remaining) + - location: 46 (remaining gas: 1039954.043 units remaining) [ "B" @elt { "c" } { "c" } True ] - - location: 57 (remaining gas: 1039952.598 units remaining) + - location: 57 (remaining gas: 1039953.963 units remaining) [ False { "c" } True ] - - location: 60 (remaining gas: 1039952.453 units remaining) - [ True - { "c" } ] - - location: 59 (remaining gas: 1039952.408 units remaining) + - location: 58 (remaining gas: 1039953.918 units remaining) + [ { "c" } + True ] + - location: 60 (remaining gas: 1039953.878 units remaining) [ True { "c" } ] - - location: 58 (remaining gas: 1039952.408 units remaining) + - location: 58 (remaining gas: 1039953.878 units remaining) [ False True { "c" } ] - - location: 61 (remaining gas: 1039952.328 units remaining) + - location: 61 (remaining gas: 1039953.828 units remaining) [ False { "c" } ] - - location: 62 (remaining gas: 1039952.258 units remaining) + - location: 62 (remaining gas: 1039953.788 units remaining) [ { "c" } False ] - - location: 63 (remaining gas: 1039952.183 units remaining) - [ (Pair { "c" } False) ] - - location: -1 (remaining gas: 1039952.138 units remaining) + - location: 63 (remaining gas: 1039953.743 units remaining) [ (Pair { "c" } False) ] - - location: 40 (remaining gas: 1039952.138 units remaining) + - location: 40 (remaining gas: 1039953.743 units remaining) [ (Pair { "c" } False) ] - - location: 64 (remaining gas: 1039952.058 units remaining) + - location: 64 (remaining gas: 1039953.693 units remaining) [ False ] - - location: 65 (remaining gas: 1039951.983 units remaining) + - location: 65 (remaining gas: 1039953.648 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039951.908 units remaining) + - location: 66 (remaining gas: 1039953.603 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039951.833 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039951.788 units remaining) + - location: 68 (remaining gas: 1039953.558 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 c78f6d320233..0462b6c1e039 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,59 +7,57 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039957.180 units remaining) + - location: 12 (remaining gas: 1039957.180 units remaining) [ (Pair (Pair {} {}) None) ] - - location: 12 (remaining gas: 1039957.100 units remaining) + - location: 12 (remaining gas: 1039957.130 units remaining) [ (Pair {} {}) @parameter ] - - location: 13 (remaining gas: 1039957.020 units remaining) + - location: 13 (remaining gas: 1039957.080 units remaining) [ (Pair {} {}) @parameter (Pair {} {}) @parameter ] - - location: 14 (remaining gas: 1039956.940 units remaining) + - location: 14 (remaining gas: 1039957.030 units remaining) [ {} (Pair {} {}) @parameter ] - - location: 17 (remaining gas: 1039956.785 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039956.740 units remaining) + - location: 15 (remaining gas: 1039956.985 units remaining) + [ (Pair {} {}) @parameter ] + - location: 17 (remaining gas: 1039956.935 units remaining) [ {} ] - - location: 15 (remaining gas: 1039956.740 units remaining) + - location: 15 (remaining gas: 1039956.935 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039956.510 units remaining) + - location: 18 (remaining gas: 1039956.735 units remaining) [ {} {} {} ] - - location: 20 (remaining gas: 1039956.440 units remaining) + - location: 20 (remaining gas: 1039956.695 units remaining) [ {} {} {} ] - - location: 21 (remaining gas: 1039955.910 units remaining) + - location: 21 (remaining gas: 1039956.195 units remaining) [ {} {} ] - - location: 34 (remaining gas: 1039955.835 units remaining) + - location: 34 (remaining gas: 1039956.150 units remaining) [ True {} {} ] - - location: 37 (remaining gas: 1039955.765 units remaining) + - location: 37 (remaining gas: 1039956.110 units remaining) [ {} True {} ] - - location: 38 (remaining gas: 1039955.690 units remaining) + - location: 38 (remaining gas: 1039956.065 units remaining) [ (Pair {} True) {} ] - - location: 39 (remaining gas: 1039955.620 units remaining) + - location: 39 (remaining gas: 1039956.025 units remaining) [ {} (Pair {} True) ] - - location: 40 (remaining gas: 1039955.090 units remaining) + - location: 40 (remaining gas: 1039955.525 units remaining) [ (Pair {} True) ] - - location: 64 (remaining gas: 1039955.010 units remaining) + - location: 64 (remaining gas: 1039955.475 units remaining) [ True ] - - location: 65 (remaining gas: 1039954.935 units remaining) + - location: 65 (remaining gas: 1039955.430 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039954.860 units remaining) + - location: 66 (remaining gas: 1039955.385 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039954.785 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039954.740 units remaining) + - location: 68 (remaining gas: 1039955.340 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 e7fe97ce810f..7335dddc89ea 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,25 +7,23 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039931.695 units remaining) + - location: 7 (remaining gas: 1039931.695 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" Unit) ] - - location: 7 (remaining gas: 1039931.615 units remaining) + - location: 7 (remaining gas: 1039931.645 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter ] - - location: 8 (remaining gas: 1039686.394 units remaining) + - location: 8 (remaining gas: 1039686.454 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter.contract ] - - location: 16 (remaining gas: 1039686.259 units remaining) + - location: 11 (remaining gas: 1039686.424 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.contract.some ] - - location: 10 (remaining gas: 1039686.214 units remaining) + - location: 16 (remaining gas: 1039686.379 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.contract.some ] - - location: 17 (remaining gas: 1039686.139 units remaining) + - location: 17 (remaining gas: 1039686.334 units remaining) [ ] - - location: 18 (remaining gas: 1039686.064 units remaining) + - location: 18 (remaining gas: 1039686.289 units remaining) [ Unit ] - - location: 19 (remaining gas: 1039685.989 units remaining) + - location: 19 (remaining gas: 1039686.244 units remaining) [ {} Unit ] - - location: 21 (remaining gas: 1039685.914 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039685.869 units remaining) + - location: 21 (remaining gas: 1039686.199 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 678a7ed5e0d5..44f55a7783cf 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,41 +13,37 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039985.320 units remaining) + - location: 8 (remaining gas: 1039985.320 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039985.245 units remaining) + - location: 8 (remaining gas: 1039985.275 units remaining) [ ] - - location: 9 (remaining gas: 1039985.170 units remaining) + - location: 9 (remaining gas: 1039985.230 units remaining) [ Unit ] - - location: 10 (remaining gas: 1039985.095 units remaining) + - location: 10 (remaining gas: 1039985.185 units remaining) [ 50000 @amount Unit ] - - location: 11 (remaining gas: 1039985.020 units remaining) + - location: 11 (remaining gas: 1039985.140 units remaining) [ None 50000 @amount Unit ] - - location: 13 (remaining gas: 1039983.540 units remaining) + - location: 13 (remaining gas: 1039983.690 units remaining) [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] - - location: 27 (remaining gas: 1039983.390 units remaining) + - location: 25 (remaining gas: 1039983.645 units remaining) + [ "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] + - location: 27 (remaining gas: 1039983.600 units remaining) [ (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 28 (remaining gas: 1039983.315 units remaining) + - location: 28 (remaining gas: 1039983.555 units remaining) [ {} (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: -1 (remaining gas: 1039983.270 units remaining) - [ {} - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 25 (remaining gas: 1039983.270 units remaining) + - location: 25 (remaining gas: 1039983.555 units remaining) [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b {} (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 30 (remaining gas: 1039983.190 units remaining) + - location: 30 (remaining gas: 1039983.505 units remaining) [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 31 (remaining gas: 1039983.115 units remaining) - [ (Pair { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")) ] - - location: -1 (remaining gas: 1039983.070 units remaining) + - location: 31 (remaining gas: 1039983.460 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 854aed1ba6a1..0fcca60e8ff0 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039989.940 units remaining) + - location: 9 (remaining gas: 1039989.940 units remaining) [ (Pair (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039989.860 units remaining) + - location: 9 (remaining gas: 1039989.890 units remaining) [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 10 (remaining gas: 1039989.780 units remaining) + - location: 10 (remaining gas: 1039989.840 units remaining) [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 11 (remaining gas: 1039989.700 units remaining) + - location: 11 (remaining gas: 1039989.790 units remaining) [ "1970-01-01T00:03:20Z" (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 14 (remaining gas: 1039989.545 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039989.500 units remaining) + - location: 12 (remaining gas: 1039989.745 units remaining) + [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] + - location: 14 (remaining gas: 1039989.695 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.500 units remaining) + - location: 12 (remaining gas: 1039989.695 units remaining) [ "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.390 units remaining) + - location: 15 (remaining gas: 1039989.615 units remaining) [ 200 ] - - location: 16 (remaining gas: 1039989.315 units remaining) + - location: 16 (remaining gas: 1039989.570 units remaining) [ {} 200 ] - - location: 18 (remaining gas: 1039989.240 units remaining) - [ (Pair {} 200) ] - - location: -1 (remaining gas: 1039989.195 units remaining) + - location: 18 (remaining gas: 1039989.525 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 a360434afdc7..df37044d4772 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.200 units remaining) + - location: 9 (remaining gas: 1039990.200 units remaining) [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039990.120 units remaining) + - location: 9 (remaining gas: 1039990.150 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 10 (remaining gas: 1039990.040 units remaining) + - location: 10 (remaining gas: 1039990.100 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 11 (remaining gas: 1039989.960 units remaining) + - location: 11 (remaining gas: 1039990.050 units remaining) [ "1970-01-01T00:00:00Z" (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 14 (remaining gas: 1039989.805 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039990.005 units remaining) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] + - location: 14 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.650 units remaining) + - location: 15 (remaining gas: 1039989.875 units remaining) [ 0 ] - - location: 16 (remaining gas: 1039989.575 units remaining) + - location: 16 (remaining gas: 1039989.830 units remaining) [ {} 0 ] - - location: 18 (remaining gas: 1039989.500 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039989.455 units remaining) + - location: 18 (remaining gas: 1039989.785 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 ca5bd854a803..b83858993a5b 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.200 units remaining) + - location: 9 (remaining gas: 1039990.200 units remaining) [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") 111) ] - - location: 9 (remaining gas: 1039990.120 units remaining) + - location: 9 (remaining gas: 1039990.150 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] - - location: 10 (remaining gas: 1039990.040 units remaining) + - location: 10 (remaining gas: 1039990.100 units remaining) [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] - - location: 11 (remaining gas: 1039989.960 units remaining) + - location: 11 (remaining gas: 1039990.050 units remaining) [ "1970-01-01T00:00:00Z" (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] - - location: 14 (remaining gas: 1039989.805 units remaining) - [ "1970-01-01T00:00:01Z" ] - - location: 13 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039990.005 units remaining) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] + - location: 14 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:01Z" ] - - location: 12 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z" ] - - location: 15 (remaining gas: 1039989.650 units remaining) + - location: 15 (remaining gas: 1039989.875 units remaining) [ -1 ] - - location: 16 (remaining gas: 1039989.575 units remaining) + - location: 16 (remaining gas: 1039989.830 units remaining) [ {} -1 ] - - location: 18 (remaining gas: 1039989.500 units remaining) - [ (Pair {} -1) ] - - location: -1 (remaining gas: 1039989.455 units remaining) + - location: 18 (remaining gas: 1039989.785 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 2699b1c4e099..867ffe6940f0 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.200 units remaining) + - location: 9 (remaining gas: 1039990.200 units remaining) [ (Pair (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039990.120 units remaining) + - location: 9 (remaining gas: 1039990.150 units remaining) [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 10 (remaining gas: 1039990.040 units remaining) + - location: 10 (remaining gas: 1039990.100 units remaining) [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 11 (remaining gas: 1039989.960 units remaining) + - location: 11 (remaining gas: 1039990.050 units remaining) [ "1970-01-01T00:00:01Z" (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 14 (remaining gas: 1039989.805 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039990.005 units remaining) + [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] + - location: 14 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.650 units remaining) + - location: 15 (remaining gas: 1039989.875 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039989.575 units remaining) + - location: 16 (remaining gas: 1039989.830 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039989.500 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039989.455 units remaining) + - location: 18 (remaining gas: 1039989.785 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 ebdba918452c..25d6811a01ac 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,68 +7,64 @@ emitted operations big_map diff trace - - location: 23 (remaining gas: 1039861.200 units remaining) + - location: 24 (remaining gas: 1039861.200 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: 1039861.120 units remaining) + - location: 24 (remaining gas: 1039861.150 units remaining) [ (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 25 (remaining gas: 1039861.040 units remaining) + - location: 25 (remaining gas: 1039861.100 units remaining) [ (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 27 (remaining gas: 1039860.930 units remaining) + - location: 27 (remaining gas: 1039861.050 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) @parameter ] - - location: 30 (remaining gas: 1039860.775 units remaining) - [ 16 - (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 28 (remaining gas: 1039861.005 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) @parameter ] - - location: 29 (remaining gas: 1039860.730 units remaining) + - location: 30 (remaining gas: 1039860.955 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) @parameter ] - - location: 28 (remaining gas: 1039860.730 units remaining) + - location: 28 (remaining gas: 1039860.955 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) @parameter ] - - location: 34 (remaining gas: 1039860.512 units remaining) - [ 15 - (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 31 (remaining gas: 1039860.847 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) @parameter ] - - location: 33 (remaining gas: 1039860.467 units remaining) + - location: 34 (remaining gas: 1039860.797 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) @parameter ] - - location: 31 (remaining gas: 1039860.467 units remaining) + - location: 31 (remaining gas: 1039860.707 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) @parameter ] - - location: 38 (remaining gas: 1039860.245 units remaining) - [ 14 - (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 35 (remaining gas: 1039860.595 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) @parameter ] - - location: 37 (remaining gas: 1039860.200 units remaining) + - location: 38 (remaining gas: 1039860.545 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) @parameter ] - - location: 35 (remaining gas: 1039860.200 units remaining) + - location: 35 (remaining gas: 1039860.410 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) @parameter ] - - location: 42 (remaining gas: 1039859.974 units remaining) - [ 13 - (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 39 (remaining gas: 1039860.294 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) @parameter ] - - location: 41 (remaining gas: 1039859.929 units remaining) + - location: 42 (remaining gas: 1039860.244 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) @parameter ] - - location: 39 (remaining gas: 1039859.929 units remaining) + - location: 39 (remaining gas: 1039860.064 units remaining) [ 17 16 15 @@ -76,15 +72,14 @@ 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) @parameter ] - - location: 46 (remaining gas: 1039859.699 units remaining) - [ 12 - (Pair 11 10 9 8 7 6 5 4 3 2 1) + - location: 43 (remaining gas: 1039859.944 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) @parameter ] - - location: 45 (remaining gas: 1039859.654 units remaining) + - location: 46 (remaining gas: 1039859.894 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) @parameter ] - - location: 43 (remaining gas: 1039859.654 units remaining) + - location: 43 (remaining gas: 1039859.669 units remaining) [ 17 16 15 @@ -93,15 +88,14 @@ 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) @parameter ] - - location: 50 (remaining gas: 1039859.420 units remaining) - [ 11 - (Pair 10 9 8 7 6 5 4 3 2 1) + - location: 47 (remaining gas: 1039859.545 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) @parameter ] - - location: 49 (remaining gas: 1039859.375 units remaining) + - location: 50 (remaining gas: 1039859.495 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) @parameter ] - - location: 47 (remaining gas: 1039859.375 units remaining) + - location: 47 (remaining gas: 1039859.225 units remaining) [ 17 16 15 @@ -111,15 +105,14 @@ 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) @parameter ] - - location: 54 (remaining gas: 1039859.137 units remaining) - [ 10 - (Pair 9 8 7 6 5 4 3 2 1) + - location: 51 (remaining gas: 1039859.097 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) @parameter ] - - location: 53 (remaining gas: 1039859.092 units remaining) + - location: 54 (remaining gas: 1039859.047 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) @parameter ] - - location: 51 (remaining gas: 1039859.092 units remaining) + - location: 51 (remaining gas: 1039858.732 units remaining) [ 17 16 15 @@ -130,15 +123,14 @@ 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) @parameter ] - - location: 58 (remaining gas: 1039858.850 units remaining) - [ 9 - (Pair 8 7 6 5 4 3 2 1) + - location: 55 (remaining gas: 1039858.600 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) @parameter ] - - location: 57 (remaining gas: 1039858.805 units remaining) + - location: 58 (remaining gas: 1039858.550 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) @parameter ] - - location: 55 (remaining gas: 1039858.805 units remaining) + - location: 55 (remaining gas: 1039858.190 units remaining) [ 17 16 15 @@ -150,15 +142,14 @@ 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) @parameter ] - - location: 62 (remaining gas: 1039858.559 units remaining) - [ 8 - (Pair 7 6 5 4 3 2 1) + - location: 59 (remaining gas: 1039858.054 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) @parameter ] - - location: 61 (remaining gas: 1039858.514 units remaining) + - location: 62 (remaining gas: 1039858.004 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) @parameter ] - - location: 59 (remaining gas: 1039858.514 units remaining) + - location: 59 (remaining gas: 1039857.599 units remaining) [ 17 16 15 @@ -171,15 +162,14 @@ 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) @parameter ] - - location: 66 (remaining gas: 1039858.264 units remaining) - [ 7 - (Pair 6 5 4 3 2 1) + - location: 63 (remaining gas: 1039857.459 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) @parameter ] - - location: 65 (remaining gas: 1039858.219 units remaining) + - location: 66 (remaining gas: 1039857.409 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) @parameter ] - - location: 63 (remaining gas: 1039858.219 units remaining) + - location: 63 (remaining gas: 1039856.959 units remaining) [ 17 16 15 @@ -193,15 +183,14 @@ 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) @parameter ] - - location: 70 (remaining gas: 1039857.965 units remaining) - [ 6 - (Pair 5 4 3 2 1) + - location: 67 (remaining gas: 1039856.815 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) @parameter ] - - location: 69 (remaining gas: 1039857.920 units remaining) + - location: 70 (remaining gas: 1039856.765 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) @parameter ] - - location: 67 (remaining gas: 1039857.920 units remaining) + - location: 67 (remaining gas: 1039856.270 units remaining) [ 17 16 15 @@ -216,15 +205,14 @@ 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) @parameter ] - - location: 74 (remaining gas: 1039857.662 units remaining) - [ 5 - (Pair 4 3 2 1) + - location: 71 (remaining gas: 1039856.122 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) @parameter ] - - location: 73 (remaining gas: 1039857.617 units remaining) + - location: 74 (remaining gas: 1039856.072 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) @parameter ] - - location: 71 (remaining gas: 1039857.617 units remaining) + - location: 71 (remaining gas: 1039855.532 units remaining) [ 17 16 15 @@ -240,15 +228,14 @@ 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) @parameter ] - - location: 78 (remaining gas: 1039857.355 units remaining) - [ 4 - (Pair 3 2 1) + - location: 75 (remaining gas: 1039855.380 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) @parameter ] - - location: 77 (remaining gas: 1039857.310 units remaining) + - location: 78 (remaining gas: 1039855.330 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) @parameter ] - - location: 75 (remaining gas: 1039857.310 units remaining) + - location: 75 (remaining gas: 1039854.745 units remaining) [ 17 16 15 @@ -265,15 +252,14 @@ trace 4 (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 82 (remaining gas: 1039857.044 units remaining) - [ 3 - (Pair 2 1) + - location: 79 (remaining gas: 1039854.589 units remaining) + [ (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 81 (remaining gas: 1039856.999 units remaining) + - location: 82 (remaining gas: 1039854.539 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 79 (remaining gas: 1039856.999 units remaining) + - location: 79 (remaining gas: 1039853.909 units remaining) [ 17 16 15 @@ -291,34 +277,14 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 86 (remaining gas: 1039856.729 units remaining) - [ 2 - 1 + - location: 83 (remaining gas: 1039853.749 units remaining) + [ (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 85 (remaining gas: 1039856.684 units remaining) + - location: 86 (remaining gas: 1039853.699 units remaining) [ 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 83 (remaining gas: 1039856.684 units remaining) - [ 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) @parameter ] - - location: -1 (remaining gas: 1039856.639 units remaining) + - location: 83 (remaining gas: 1039853.024 units remaining) [ 17 16 15 @@ -337,7 +303,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 87 (remaining gas: 1039856.509 units remaining) + - location: 87 (remaining gas: 1039852.924 units remaining) [ 17 16 15 @@ -356,7 +322,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 89 (remaining gas: 1039856.375 units remaining) + - location: 89 (remaining gas: 1039852.820 units remaining) [ 16 17 15 @@ -375,7 +341,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 91 (remaining gas: 1039856.237 units remaining) + - location: 91 (remaining gas: 1039852.712 units remaining) [ 15 16 17 @@ -394,7 +360,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 93 (remaining gas: 1039856.095 units remaining) + - location: 93 (remaining gas: 1039852.600 units remaining) [ 14 15 16 @@ -413,7 +379,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 95 (remaining gas: 1039855.949 units remaining) + - location: 95 (remaining gas: 1039852.484 units remaining) [ 13 14 15 @@ -432,7 +398,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 97 (remaining gas: 1039855.799 units remaining) + - location: 97 (remaining gas: 1039852.364 units remaining) [ 12 13 14 @@ -451,7 +417,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 99 (remaining gas: 1039855.645 units remaining) + - location: 99 (remaining gas: 1039852.240 units remaining) [ 11 12 13 @@ -470,7 +436,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 101 (remaining gas: 1039855.487 units remaining) + - location: 101 (remaining gas: 1039852.112 units remaining) [ 10 11 12 @@ -489,7 +455,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 103 (remaining gas: 1039855.325 units remaining) + - location: 103 (remaining gas: 1039851.980 units remaining) [ 9 10 11 @@ -508,7 +474,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 105 (remaining gas: 1039855.159 units remaining) + - location: 105 (remaining gas: 1039851.844 units remaining) [ 8 9 10 @@ -527,7 +493,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 107 (remaining gas: 1039854.989 units remaining) + - location: 107 (remaining gas: 1039851.704 units remaining) [ 7 8 9 @@ -546,7 +512,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 109 (remaining gas: 1039854.815 units remaining) + - location: 109 (remaining gas: 1039851.560 units remaining) [ 6 7 8 @@ -565,7 +531,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 111 (remaining gas: 1039854.637 units remaining) + - location: 111 (remaining gas: 1039851.412 units remaining) [ 5 6 7 @@ -584,7 +550,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 113 (remaining gas: 1039854.455 units remaining) + - location: 113 (remaining gas: 1039851.260 units remaining) [ 4 5 6 @@ -603,7 +569,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 115 (remaining gas: 1039854.269 units remaining) + - location: 115 (remaining gas: 1039851.104 units remaining) [ 3 4 5 @@ -622,7 +588,7 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 117 (remaining gas: 1039854.079 units remaining) + - location: 117 (remaining gas: 1039850.944 units remaining) [ 2 3 4 @@ -641,7 +607,7 @@ trace 17 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 119 (remaining gas: 1039853.885 units remaining) + - location: 119 (remaining gas: 1039850.780 units remaining) [ 1 2 3 @@ -660,7 +626,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 121 (remaining gas: 1039853.755 units remaining) + - location: 121 (remaining gas: 1039850.680 units remaining) [ 1 2 3 @@ -679,7 +645,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 123 (remaining gas: 1039853.621 units remaining) + - location: 123 (remaining gas: 1039850.576 units remaining) [ 2 1 3 @@ -698,7 +664,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 125 (remaining gas: 1039853.483 units remaining) + - location: 125 (remaining gas: 1039850.468 units remaining) [ 3 2 1 @@ -717,7 +683,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 127 (remaining gas: 1039853.341 units remaining) + - location: 127 (remaining gas: 1039850.356 units remaining) [ 4 3 2 @@ -736,7 +702,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 129 (remaining gas: 1039853.195 units remaining) + - location: 129 (remaining gas: 1039850.240 units remaining) [ 5 4 3 @@ -755,7 +721,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 131 (remaining gas: 1039853.045 units remaining) + - location: 131 (remaining gas: 1039850.120 units remaining) [ 6 5 4 @@ -774,7 +740,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 133 (remaining gas: 1039852.891 units remaining) + - location: 133 (remaining gas: 1039849.996 units remaining) [ 7 6 5 @@ -793,7 +759,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 135 (remaining gas: 1039852.733 units remaining) + - location: 135 (remaining gas: 1039849.868 units remaining) [ 8 7 6 @@ -812,7 +778,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 137 (remaining gas: 1039852.571 units remaining) + - location: 137 (remaining gas: 1039849.736 units remaining) [ 9 8 7 @@ -831,7 +797,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 139 (remaining gas: 1039852.405 units remaining) + - location: 139 (remaining gas: 1039849.600 units remaining) [ 10 9 8 @@ -850,7 +816,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 141 (remaining gas: 1039852.235 units remaining) + - location: 141 (remaining gas: 1039849.460 units remaining) [ 11 10 9 @@ -869,7 +835,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 143 (remaining gas: 1039852.061 units remaining) + - location: 143 (remaining gas: 1039849.316 units remaining) [ 12 11 10 @@ -888,7 +854,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 145 (remaining gas: 1039851.883 units remaining) + - location: 145 (remaining gas: 1039849.168 units remaining) [ 13 12 11 @@ -907,7 +873,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 147 (remaining gas: 1039851.701 units remaining) + - location: 147 (remaining gas: 1039849.016 units remaining) [ 14 13 12 @@ -926,7 +892,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 149 (remaining gas: 1039851.515 units remaining) + - location: 149 (remaining gas: 1039848.860 units remaining) [ 15 14 13 @@ -945,7 +911,7 @@ trace 16 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 151 (remaining gas: 1039851.325 units remaining) + - location: 151 (remaining gas: 1039848.700 units remaining) [ 16 15 14 @@ -964,7 +930,7 @@ trace 1 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 153 (remaining gas: 1039851.131 units remaining) + - location: 153 (remaining gas: 1039848.536 units remaining) [ 17 16 15 @@ -983,13 +949,14 @@ trace 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 159 (remaining gas: 1039850.836 units remaining) - [ (Pair 2 1) + - location: 156 (remaining gas: 1039848.376 units remaining) + [ 2 + 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 158 (remaining gas: 1039850.791 units remaining) + - location: 159 (remaining gas: 1039848.331 units remaining) [ (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 156 (remaining gas: 1039850.791 units remaining) + - location: 156 (remaining gas: 1039847.656 units remaining) [ 17 16 15 @@ -1007,13 +974,14 @@ trace 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 163 (remaining gas: 1039850.530 units remaining) - [ (Pair 3 2 1) + - location: 160 (remaining gas: 1039847.500 units remaining) + [ 3 + (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 162 (remaining gas: 1039850.485 units remaining) + - location: 163 (remaining gas: 1039847.455 units remaining) [ (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 160 (remaining gas: 1039850.485 units remaining) + - location: 160 (remaining gas: 1039846.825 units remaining) [ 17 16 15 @@ -1030,13 +998,14 @@ trace 4 (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 167 (remaining gas: 1039850.228 units remaining) - [ (Pair 4 3 2 1) + - location: 164 (remaining gas: 1039846.673 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) @parameter ] - - location: 166 (remaining gas: 1039850.183 units remaining) + - location: 167 (remaining gas: 1039846.628 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) @parameter ] - - location: 164 (remaining gas: 1039850.183 units remaining) + - location: 164 (remaining gas: 1039846.043 units remaining) [ 17 16 15 @@ -1052,13 +1021,14 @@ 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) @parameter ] - - location: 171 (remaining gas: 1039849.930 units remaining) - [ (Pair 5 4 3 2 1) + - location: 168 (remaining gas: 1039845.895 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) @parameter ] - - location: 170 (remaining gas: 1039849.885 units remaining) + - location: 171 (remaining gas: 1039845.850 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) @parameter ] - - location: 168 (remaining gas: 1039849.885 units remaining) + - location: 168 (remaining gas: 1039845.310 units remaining) [ 17 16 15 @@ -1073,13 +1043,14 @@ 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) @parameter ] - - location: 175 (remaining gas: 1039849.636 units remaining) - [ (Pair 6 5 4 3 2 1) + - location: 172 (remaining gas: 1039845.166 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) @parameter ] - - location: 174 (remaining gas: 1039849.591 units remaining) + - location: 175 (remaining gas: 1039845.121 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) @parameter ] - - location: 172 (remaining gas: 1039849.591 units remaining) + - location: 172 (remaining gas: 1039844.626 units remaining) [ 17 16 15 @@ -1093,13 +1064,14 @@ 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) @parameter ] - - location: 179 (remaining gas: 1039849.346 units remaining) - [ (Pair 7 6 5 4 3 2 1) + - location: 176 (remaining gas: 1039844.486 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) @parameter ] - - location: 178 (remaining gas: 1039849.301 units remaining) + - location: 179 (remaining gas: 1039844.441 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) @parameter ] - - location: 176 (remaining gas: 1039849.301 units remaining) + - location: 176 (remaining gas: 1039843.991 units remaining) [ 17 16 15 @@ -1112,13 +1084,14 @@ 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) @parameter ] - - location: 183 (remaining gas: 1039849.060 units remaining) - [ (Pair 8 7 6 5 4 3 2 1) + - location: 180 (remaining gas: 1039843.855 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) @parameter ] - - location: 182 (remaining gas: 1039849.015 units remaining) + - location: 183 (remaining gas: 1039843.810 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) @parameter ] - - location: 180 (remaining gas: 1039849.015 units remaining) + - location: 180 (remaining gas: 1039843.405 units remaining) [ 17 16 15 @@ -1130,13 +1103,14 @@ 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) @parameter ] - - location: 187 (remaining gas: 1039848.778 units remaining) - [ (Pair 9 8 7 6 5 4 3 2 1) + - location: 184 (remaining gas: 1039843.273 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) @parameter ] - - location: 186 (remaining gas: 1039848.733 units remaining) + - location: 187 (remaining gas: 1039843.228 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) @parameter ] - - location: 184 (remaining gas: 1039848.733 units remaining) + - location: 184 (remaining gas: 1039842.868 units remaining) [ 17 16 15 @@ -1147,13 +1121,14 @@ 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) @parameter ] - - location: 191 (remaining gas: 1039848.500 units remaining) - [ (Pair 10 9 8 7 6 5 4 3 2 1) + - location: 188 (remaining gas: 1039842.740 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) @parameter ] - - location: 190 (remaining gas: 1039848.455 units remaining) + - location: 191 (remaining gas: 1039842.695 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) @parameter ] - - location: 188 (remaining gas: 1039848.455 units remaining) + - location: 188 (remaining gas: 1039842.380 units remaining) [ 17 16 15 @@ -1163,13 +1138,14 @@ 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) @parameter ] - - location: 195 (remaining gas: 1039848.226 units remaining) - [ (Pair 11 10 9 8 7 6 5 4 3 2 1) + - location: 192 (remaining gas: 1039842.256 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) @parameter ] - - location: 194 (remaining gas: 1039848.181 units remaining) + - location: 195 (remaining gas: 1039842.211 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) @parameter ] - - location: 192 (remaining gas: 1039848.181 units remaining) + - location: 192 (remaining gas: 1039841.941 units remaining) [ 17 16 15 @@ -1178,13 +1154,14 @@ 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) @parameter ] - - location: 199 (remaining gas: 1039847.956 units remaining) - [ (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 196 (remaining gas: 1039841.821 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) @parameter ] - - location: 198 (remaining gas: 1039847.911 units remaining) + - location: 199 (remaining gas: 1039841.776 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) @parameter ] - - location: 196 (remaining gas: 1039847.911 units remaining) + - location: 196 (remaining gas: 1039841.551 units remaining) [ 17 16 15 @@ -1192,75 +1169,72 @@ 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) @parameter ] - - location: 203 (remaining gas: 1039847.690 units remaining) - [ (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 200 (remaining gas: 1039841.435 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) @parameter ] - - location: 202 (remaining gas: 1039847.645 units remaining) + - location: 203 (remaining gas: 1039841.390 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) @parameter ] - - location: 200 (remaining gas: 1039847.645 units remaining) + - location: 200 (remaining gas: 1039841.210 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) @parameter ] - - location: 207 (remaining gas: 1039847.428 units remaining) - [ (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 204 (remaining gas: 1039841.098 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) @parameter ] - - location: 206 (remaining gas: 1039847.383 units remaining) + - location: 207 (remaining gas: 1039841.053 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) @parameter ] - - location: 204 (remaining gas: 1039847.383 units remaining) + - location: 204 (remaining gas: 1039840.918 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) @parameter ] - - location: 211 (remaining gas: 1039847.170 units remaining) - [ (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 208 (remaining gas: 1039840.810 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) @parameter ] - - location: 210 (remaining gas: 1039847.125 units remaining) + - location: 211 (remaining gas: 1039840.765 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) @parameter ] - - location: 208 (remaining gas: 1039847.125 units remaining) + - location: 208 (remaining gas: 1039840.675 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) @parameter ] - - location: 214 (remaining gas: 1039846.975 units remaining) - [ (Pair 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + - location: 212 (remaining gas: 1039840.630 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) @parameter ] - - location: 213 (remaining gas: 1039846.930 units remaining) + - location: 214 (remaining gas: 1039840.585 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) @parameter ] - - location: 212 (remaining gas: 1039846.930 units remaining) + - location: 212 (remaining gas: 1039840.585 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) @parameter ] - - location: 215 (remaining gas: 1039846.855 units remaining) + - location: 215 (remaining gas: 1039840.540 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) @parameter ] - - location: -1 (remaining gas: 1039846.810 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) @parameter ] - - location: 218 (remaining gas: 1039844.170 units remaining) + - location: 218 (remaining gas: 1039837.990 units remaining) [ 0 ] - - location: 219 (remaining gas: 1039844.095 units remaining) - [ True ] - - location: -1 (remaining gas: 1039844.050 units remaining) + - location: 219 (remaining gas: 1039837.940 units remaining) [ True ] - - location: 221 (remaining gas: 1039843.950 units remaining) + - location: 220 (remaining gas: 1039837.915 units remaining) [ ] - - location: -1 (remaining gas: 1039843.905 units remaining) + - location: 221 (remaining gas: 1039837.870 units remaining) [ ] - - location: 226 (remaining gas: 1039843.830 units remaining) + - location: 226 (remaining gas: 1039837.825 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039843.755 units remaining) + - location: 227 (remaining gas: 1039837.780 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039843.680 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039843.635 units remaining) + - location: 229 (remaining gas: 1039837.735 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 51d0fe6ce663..d9a091bf85be 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,68 +7,64 @@ emitted operations big_map diff trace - - location: 23 (remaining gas: 1039861.200 units remaining) + - location: 24 (remaining gas: 1039861.200 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: 1039861.120 units remaining) + - location: 24 (remaining gas: 1039861.150 units remaining) [ (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 25 (remaining gas: 1039861.040 units remaining) + - location: 25 (remaining gas: 1039861.100 units remaining) [ (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 27 (remaining gas: 1039860.930 units remaining) + - location: 27 (remaining gas: 1039861.050 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) @parameter ] - - location: 30 (remaining gas: 1039860.775 units remaining) - [ 3 - (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 28 (remaining gas: 1039861.005 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) @parameter ] - - location: 29 (remaining gas: 1039860.730 units remaining) + - location: 30 (remaining gas: 1039860.955 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) @parameter ] - - location: 28 (remaining gas: 1039860.730 units remaining) + - location: 28 (remaining gas: 1039860.955 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) @parameter ] - - location: 34 (remaining gas: 1039860.512 units remaining) - [ 12 - (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 31 (remaining gas: 1039860.847 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) @parameter ] - - location: 33 (remaining gas: 1039860.467 units remaining) + - location: 34 (remaining gas: 1039860.797 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) @parameter ] - - location: 31 (remaining gas: 1039860.467 units remaining) + - location: 31 (remaining gas: 1039860.707 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) @parameter ] - - location: 38 (remaining gas: 1039860.245 units remaining) - [ 16 - (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 35 (remaining gas: 1039860.595 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) @parameter ] - - location: 37 (remaining gas: 1039860.200 units remaining) + - location: 38 (remaining gas: 1039860.545 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) @parameter ] - - location: 35 (remaining gas: 1039860.200 units remaining) + - location: 35 (remaining gas: 1039860.410 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) @parameter ] - - location: 42 (remaining gas: 1039859.974 units remaining) - [ 10 - (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 39 (remaining gas: 1039860.294 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) @parameter ] - - location: 41 (remaining gas: 1039859.929 units remaining) + - location: 42 (remaining gas: 1039860.244 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) @parameter ] - - location: 39 (remaining gas: 1039859.929 units remaining) + - location: 39 (remaining gas: 1039860.064 units remaining) [ 2 3 12 @@ -76,15 +72,14 @@ 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) @parameter ] - - location: 46 (remaining gas: 1039859.699 units remaining) - [ 14 - (Pair 19 9 18 6 8 11 4 13 15 5 1) + - location: 43 (remaining gas: 1039859.944 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) @parameter ] - - location: 45 (remaining gas: 1039859.654 units remaining) + - location: 46 (remaining gas: 1039859.894 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) @parameter ] - - location: 43 (remaining gas: 1039859.654 units remaining) + - location: 43 (remaining gas: 1039859.669 units remaining) [ 2 3 12 @@ -93,15 +88,14 @@ 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) @parameter ] - - location: 50 (remaining gas: 1039859.420 units remaining) - [ 19 - (Pair 9 18 6 8 11 4 13 15 5 1) + - location: 47 (remaining gas: 1039859.545 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) @parameter ] - - location: 49 (remaining gas: 1039859.375 units remaining) + - location: 50 (remaining gas: 1039859.495 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) @parameter ] - - location: 47 (remaining gas: 1039859.375 units remaining) + - location: 47 (remaining gas: 1039859.225 units remaining) [ 2 3 12 @@ -111,15 +105,14 @@ 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) @parameter ] - - location: 54 (remaining gas: 1039859.137 units remaining) - [ 9 - (Pair 18 6 8 11 4 13 15 5 1) + - location: 51 (remaining gas: 1039859.097 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) @parameter ] - - location: 53 (remaining gas: 1039859.092 units remaining) + - location: 54 (remaining gas: 1039859.047 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) @parameter ] - - location: 51 (remaining gas: 1039859.092 units remaining) + - location: 51 (remaining gas: 1039858.732 units remaining) [ 2 3 12 @@ -130,15 +123,14 @@ 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) @parameter ] - - location: 58 (remaining gas: 1039858.850 units remaining) - [ 18 - (Pair 6 8 11 4 13 15 5 1) + - location: 55 (remaining gas: 1039858.600 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) @parameter ] - - location: 57 (remaining gas: 1039858.805 units remaining) + - location: 58 (remaining gas: 1039858.550 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) @parameter ] - - location: 55 (remaining gas: 1039858.805 units remaining) + - location: 55 (remaining gas: 1039858.190 units remaining) [ 2 3 12 @@ -150,15 +142,14 @@ 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) @parameter ] - - location: 62 (remaining gas: 1039858.559 units remaining) - [ 6 - (Pair 8 11 4 13 15 5 1) + - location: 59 (remaining gas: 1039858.054 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) @parameter ] - - location: 61 (remaining gas: 1039858.514 units remaining) + - location: 62 (remaining gas: 1039858.004 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) @parameter ] - - location: 59 (remaining gas: 1039858.514 units remaining) + - location: 59 (remaining gas: 1039857.599 units remaining) [ 2 3 12 @@ -171,15 +162,14 @@ 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) @parameter ] - - location: 66 (remaining gas: 1039858.264 units remaining) - [ 8 - (Pair 11 4 13 15 5 1) + - location: 63 (remaining gas: 1039857.459 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) @parameter ] - - location: 65 (remaining gas: 1039858.219 units remaining) + - location: 66 (remaining gas: 1039857.409 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) @parameter ] - - location: 63 (remaining gas: 1039858.219 units remaining) + - location: 63 (remaining gas: 1039856.959 units remaining) [ 2 3 12 @@ -193,15 +183,14 @@ 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) @parameter ] - - location: 70 (remaining gas: 1039857.965 units remaining) - [ 11 - (Pair 4 13 15 5 1) + - location: 67 (remaining gas: 1039856.815 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) @parameter ] - - location: 69 (remaining gas: 1039857.920 units remaining) + - location: 70 (remaining gas: 1039856.765 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) @parameter ] - - location: 67 (remaining gas: 1039857.920 units remaining) + - location: 67 (remaining gas: 1039856.270 units remaining) [ 2 3 12 @@ -216,15 +205,14 @@ 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) @parameter ] - - location: 74 (remaining gas: 1039857.662 units remaining) - [ 4 - (Pair 13 15 5 1) + - location: 71 (remaining gas: 1039856.122 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) @parameter ] - - location: 73 (remaining gas: 1039857.617 units remaining) + - location: 74 (remaining gas: 1039856.072 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) @parameter ] - - location: 71 (remaining gas: 1039857.617 units remaining) + - location: 71 (remaining gas: 1039855.532 units remaining) [ 2 3 12 @@ -240,15 +228,14 @@ 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) @parameter ] - - location: 78 (remaining gas: 1039857.355 units remaining) - [ 13 - (Pair 15 5 1) + - location: 75 (remaining gas: 1039855.380 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) @parameter ] - - location: 77 (remaining gas: 1039857.310 units remaining) + - location: 78 (remaining gas: 1039855.330 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) @parameter ] - - location: 75 (remaining gas: 1039857.310 units remaining) + - location: 75 (remaining gas: 1039854.745 units remaining) [ 2 3 12 @@ -265,15 +252,14 @@ trace 13 (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 82 (remaining gas: 1039857.044 units remaining) - [ 15 - (Pair 5 1) + - location: 79 (remaining gas: 1039854.589 units remaining) + [ (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 81 (remaining gas: 1039856.999 units remaining) + - location: 82 (remaining gas: 1039854.539 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 79 (remaining gas: 1039856.999 units remaining) + - location: 79 (remaining gas: 1039853.909 units remaining) [ 2 3 12 @@ -291,34 +277,14 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 86 (remaining gas: 1039856.729 units remaining) - [ 5 - 1 + - location: 83 (remaining gas: 1039853.749 units remaining) + [ (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 85 (remaining gas: 1039856.684 units remaining) + - location: 86 (remaining gas: 1039853.699 units remaining) [ 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 83 (remaining gas: 1039856.684 units remaining) - [ 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) @parameter ] - - location: -1 (remaining gas: 1039856.639 units remaining) + - location: 83 (remaining gas: 1039853.024 units remaining) [ 2 3 12 @@ -337,7 +303,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 87 (remaining gas: 1039856.509 units remaining) + - location: 87 (remaining gas: 1039852.924 units remaining) [ 2 3 12 @@ -356,7 +322,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 89 (remaining gas: 1039856.375 units remaining) + - location: 89 (remaining gas: 1039852.820 units remaining) [ 3 2 12 @@ -375,7 +341,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 91 (remaining gas: 1039856.237 units remaining) + - location: 91 (remaining gas: 1039852.712 units remaining) [ 12 3 2 @@ -394,7 +360,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 93 (remaining gas: 1039856.095 units remaining) + - location: 93 (remaining gas: 1039852.600 units remaining) [ 16 12 3 @@ -413,7 +379,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 95 (remaining gas: 1039855.949 units remaining) + - location: 95 (remaining gas: 1039852.484 units remaining) [ 10 16 12 @@ -432,7 +398,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 97 (remaining gas: 1039855.799 units remaining) + - location: 97 (remaining gas: 1039852.364 units remaining) [ 14 10 16 @@ -451,7 +417,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 99 (remaining gas: 1039855.645 units remaining) + - location: 99 (remaining gas: 1039852.240 units remaining) [ 19 14 10 @@ -470,7 +436,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 101 (remaining gas: 1039855.487 units remaining) + - location: 101 (remaining gas: 1039852.112 units remaining) [ 9 19 14 @@ -489,7 +455,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 103 (remaining gas: 1039855.325 units remaining) + - location: 103 (remaining gas: 1039851.980 units remaining) [ 18 9 19 @@ -508,7 +474,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 105 (remaining gas: 1039855.159 units remaining) + - location: 105 (remaining gas: 1039851.844 units remaining) [ 6 18 9 @@ -527,7 +493,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 107 (remaining gas: 1039854.989 units remaining) + - location: 107 (remaining gas: 1039851.704 units remaining) [ 8 6 18 @@ -546,7 +512,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 109 (remaining gas: 1039854.815 units remaining) + - location: 109 (remaining gas: 1039851.560 units remaining) [ 11 8 6 @@ -565,7 +531,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 111 (remaining gas: 1039854.637 units remaining) + - location: 111 (remaining gas: 1039851.412 units remaining) [ 4 11 8 @@ -584,7 +550,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 113 (remaining gas: 1039854.455 units remaining) + - location: 113 (remaining gas: 1039851.260 units remaining) [ 13 4 11 @@ -603,7 +569,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 115 (remaining gas: 1039854.269 units remaining) + - location: 115 (remaining gas: 1039851.104 units remaining) [ 15 13 4 @@ -622,7 +588,7 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 117 (remaining gas: 1039854.079 units remaining) + - location: 117 (remaining gas: 1039850.944 units remaining) [ 5 15 13 @@ -641,7 +607,7 @@ trace 2 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 119 (remaining gas: 1039853.885 units remaining) + - location: 119 (remaining gas: 1039850.780 units remaining) [ 1 5 15 @@ -660,7 +626,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 121 (remaining gas: 1039853.755 units remaining) + - location: 121 (remaining gas: 1039850.680 units remaining) [ 1 5 15 @@ -679,7 +645,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 123 (remaining gas: 1039853.621 units remaining) + - location: 123 (remaining gas: 1039850.576 units remaining) [ 5 1 15 @@ -698,7 +664,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 125 (remaining gas: 1039853.483 units remaining) + - location: 125 (remaining gas: 1039850.468 units remaining) [ 15 5 1 @@ -717,7 +683,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 127 (remaining gas: 1039853.341 units remaining) + - location: 127 (remaining gas: 1039850.356 units remaining) [ 13 15 5 @@ -736,7 +702,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 129 (remaining gas: 1039853.195 units remaining) + - location: 129 (remaining gas: 1039850.240 units remaining) [ 4 13 15 @@ -755,7 +721,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 131 (remaining gas: 1039853.045 units remaining) + - location: 131 (remaining gas: 1039850.120 units remaining) [ 11 4 13 @@ -774,7 +740,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 133 (remaining gas: 1039852.891 units remaining) + - location: 133 (remaining gas: 1039849.996 units remaining) [ 8 11 4 @@ -793,7 +759,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 135 (remaining gas: 1039852.733 units remaining) + - location: 135 (remaining gas: 1039849.868 units remaining) [ 6 8 11 @@ -812,7 +778,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 137 (remaining gas: 1039852.571 units remaining) + - location: 137 (remaining gas: 1039849.736 units remaining) [ 18 6 8 @@ -831,7 +797,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 139 (remaining gas: 1039852.405 units remaining) + - location: 139 (remaining gas: 1039849.600 units remaining) [ 9 18 6 @@ -850,7 +816,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 141 (remaining gas: 1039852.235 units remaining) + - location: 141 (remaining gas: 1039849.460 units remaining) [ 19 9 18 @@ -869,7 +835,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 143 (remaining gas: 1039852.061 units remaining) + - location: 143 (remaining gas: 1039849.316 units remaining) [ 14 19 9 @@ -888,7 +854,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 145 (remaining gas: 1039851.883 units remaining) + - location: 145 (remaining gas: 1039849.168 units remaining) [ 10 14 19 @@ -907,7 +873,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 147 (remaining gas: 1039851.701 units remaining) + - location: 147 (remaining gas: 1039849.016 units remaining) [ 16 10 14 @@ -926,7 +892,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 149 (remaining gas: 1039851.515 units remaining) + - location: 149 (remaining gas: 1039848.860 units remaining) [ 12 16 10 @@ -945,7 +911,7 @@ trace 3 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 151 (remaining gas: 1039851.325 units remaining) + - location: 151 (remaining gas: 1039848.700 units remaining) [ 3 12 16 @@ -964,7 +930,7 @@ trace 1 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 153 (remaining gas: 1039851.131 units remaining) + - location: 153 (remaining gas: 1039848.536 units remaining) [ 2 3 12 @@ -983,13 +949,14 @@ trace 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 159 (remaining gas: 1039850.836 units remaining) - [ (Pair 5 1) + - location: 156 (remaining gas: 1039848.376 units remaining) + [ 5 + 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 158 (remaining gas: 1039850.791 units remaining) + - location: 159 (remaining gas: 1039848.331 units remaining) [ (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 156 (remaining gas: 1039850.791 units remaining) + - location: 156 (remaining gas: 1039847.656 units remaining) [ 2 3 12 @@ -1007,13 +974,14 @@ trace 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 163 (remaining gas: 1039850.530 units remaining) - [ (Pair 15 5 1) + - location: 160 (remaining gas: 1039847.500 units remaining) + [ 15 + (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 162 (remaining gas: 1039850.485 units remaining) + - location: 163 (remaining gas: 1039847.455 units remaining) [ (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 160 (remaining gas: 1039850.485 units remaining) + - location: 160 (remaining gas: 1039846.825 units remaining) [ 2 3 12 @@ -1030,13 +998,14 @@ trace 13 (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 167 (remaining gas: 1039850.228 units remaining) - [ (Pair 13 15 5 1) + - location: 164 (remaining gas: 1039846.673 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) @parameter ] - - location: 166 (remaining gas: 1039850.183 units remaining) + - location: 167 (remaining gas: 1039846.628 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) @parameter ] - - location: 164 (remaining gas: 1039850.183 units remaining) + - location: 164 (remaining gas: 1039846.043 units remaining) [ 2 3 12 @@ -1052,13 +1021,14 @@ 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) @parameter ] - - location: 171 (remaining gas: 1039849.930 units remaining) - [ (Pair 4 13 15 5 1) + - location: 168 (remaining gas: 1039845.895 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) @parameter ] - - location: 170 (remaining gas: 1039849.885 units remaining) + - location: 171 (remaining gas: 1039845.850 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) @parameter ] - - location: 168 (remaining gas: 1039849.885 units remaining) + - location: 168 (remaining gas: 1039845.310 units remaining) [ 2 3 12 @@ -1073,13 +1043,14 @@ 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) @parameter ] - - location: 175 (remaining gas: 1039849.636 units remaining) - [ (Pair 11 4 13 15 5 1) + - location: 172 (remaining gas: 1039845.166 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) @parameter ] - - location: 174 (remaining gas: 1039849.591 units remaining) + - location: 175 (remaining gas: 1039845.121 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) @parameter ] - - location: 172 (remaining gas: 1039849.591 units remaining) + - location: 172 (remaining gas: 1039844.626 units remaining) [ 2 3 12 @@ -1093,13 +1064,14 @@ 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) @parameter ] - - location: 179 (remaining gas: 1039849.346 units remaining) - [ (Pair 8 11 4 13 15 5 1) + - location: 176 (remaining gas: 1039844.486 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) @parameter ] - - location: 178 (remaining gas: 1039849.301 units remaining) + - location: 179 (remaining gas: 1039844.441 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) @parameter ] - - location: 176 (remaining gas: 1039849.301 units remaining) + - location: 176 (remaining gas: 1039843.991 units remaining) [ 2 3 12 @@ -1112,13 +1084,14 @@ 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) @parameter ] - - location: 183 (remaining gas: 1039849.060 units remaining) - [ (Pair 6 8 11 4 13 15 5 1) + - location: 180 (remaining gas: 1039843.855 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) @parameter ] - - location: 182 (remaining gas: 1039849.015 units remaining) + - location: 183 (remaining gas: 1039843.810 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) @parameter ] - - location: 180 (remaining gas: 1039849.015 units remaining) + - location: 180 (remaining gas: 1039843.405 units remaining) [ 2 3 12 @@ -1130,13 +1103,14 @@ 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) @parameter ] - - location: 187 (remaining gas: 1039848.778 units remaining) - [ (Pair 18 6 8 11 4 13 15 5 1) + - location: 184 (remaining gas: 1039843.273 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) @parameter ] - - location: 186 (remaining gas: 1039848.733 units remaining) + - location: 187 (remaining gas: 1039843.228 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) @parameter ] - - location: 184 (remaining gas: 1039848.733 units remaining) + - location: 184 (remaining gas: 1039842.868 units remaining) [ 2 3 12 @@ -1147,13 +1121,14 @@ 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) @parameter ] - - location: 191 (remaining gas: 1039848.500 units remaining) - [ (Pair 9 18 6 8 11 4 13 15 5 1) + - location: 188 (remaining gas: 1039842.740 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) @parameter ] - - location: 190 (remaining gas: 1039848.455 units remaining) + - location: 191 (remaining gas: 1039842.695 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) @parameter ] - - location: 188 (remaining gas: 1039848.455 units remaining) + - location: 188 (remaining gas: 1039842.380 units remaining) [ 2 3 12 @@ -1163,13 +1138,14 @@ 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) @parameter ] - - location: 195 (remaining gas: 1039848.226 units remaining) - [ (Pair 19 9 18 6 8 11 4 13 15 5 1) + - location: 192 (remaining gas: 1039842.256 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) @parameter ] - - location: 194 (remaining gas: 1039848.181 units remaining) + - location: 195 (remaining gas: 1039842.211 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) @parameter ] - - location: 192 (remaining gas: 1039848.181 units remaining) + - location: 192 (remaining gas: 1039841.941 units remaining) [ 2 3 12 @@ -1178,13 +1154,14 @@ 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) @parameter ] - - location: 199 (remaining gas: 1039847.956 units remaining) - [ (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 196 (remaining gas: 1039841.821 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) @parameter ] - - location: 198 (remaining gas: 1039847.911 units remaining) + - location: 199 (remaining gas: 1039841.776 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) @parameter ] - - location: 196 (remaining gas: 1039847.911 units remaining) + - location: 196 (remaining gas: 1039841.551 units remaining) [ 2 3 12 @@ -1192,75 +1169,72 @@ 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) @parameter ] - - location: 203 (remaining gas: 1039847.690 units remaining) - [ (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 200 (remaining gas: 1039841.435 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) @parameter ] - - location: 202 (remaining gas: 1039847.645 units remaining) + - location: 203 (remaining gas: 1039841.390 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) @parameter ] - - location: 200 (remaining gas: 1039847.645 units remaining) + - location: 200 (remaining gas: 1039841.210 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) @parameter ] - - location: 207 (remaining gas: 1039847.428 units remaining) - [ (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 204 (remaining gas: 1039841.098 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) @parameter ] - - location: 206 (remaining gas: 1039847.383 units remaining) + - location: 207 (remaining gas: 1039841.053 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) @parameter ] - - location: 204 (remaining gas: 1039847.383 units remaining) + - location: 204 (remaining gas: 1039840.918 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) @parameter ] - - location: 211 (remaining gas: 1039847.170 units remaining) - [ (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 208 (remaining gas: 1039840.810 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) @parameter ] - - location: 210 (remaining gas: 1039847.125 units remaining) + - location: 211 (remaining gas: 1039840.765 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) @parameter ] - - location: 208 (remaining gas: 1039847.125 units remaining) + - location: 208 (remaining gas: 1039840.675 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) @parameter ] - - location: 214 (remaining gas: 1039846.975 units remaining) - [ (Pair 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + - location: 212 (remaining gas: 1039840.630 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) @parameter ] - - location: 213 (remaining gas: 1039846.930 units remaining) + - location: 214 (remaining gas: 1039840.585 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) @parameter ] - - location: 212 (remaining gas: 1039846.930 units remaining) + - location: 212 (remaining gas: 1039840.585 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) @parameter ] - - location: 215 (remaining gas: 1039846.855 units remaining) + - location: 215 (remaining gas: 1039840.540 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) @parameter ] - - location: -1 (remaining gas: 1039846.810 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) @parameter ] - - location: 218 (remaining gas: 1039844.170 units remaining) + - location: 218 (remaining gas: 1039837.990 units remaining) [ 0 ] - - location: 219 (remaining gas: 1039844.095 units remaining) - [ True ] - - location: -1 (remaining gas: 1039844.050 units remaining) + - location: 219 (remaining gas: 1039837.940 units remaining) [ True ] - - location: 221 (remaining gas: 1039843.950 units remaining) + - location: 220 (remaining gas: 1039837.915 units remaining) [ ] - - location: -1 (remaining gas: 1039843.905 units remaining) + - location: 221 (remaining gas: 1039837.870 units remaining) [ ] - - location: 226 (remaining gas: 1039843.830 units remaining) + - location: 226 (remaining gas: 1039837.825 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039843.755 units remaining) + - location: 227 (remaining gas: 1039837.780 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039843.680 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039843.635 units remaining) + - location: 229 (remaining gas: 1039837.735 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 a78f89a7061f..277252069e7a 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,54 +7,55 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039984.510 units remaining) + - location: 15 (remaining gas: 1039984.510 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039984.430 units remaining) + - location: 15 (remaining gas: 1039984.460 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039984.350 units remaining) + - location: 16 (remaining gas: 1039984.410 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039984.270 units remaining) + - location: 17 (remaining gas: 1039984.360 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039984.190 units remaining) + - location: 18 (remaining gas: 1039984.310 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039984.110 units remaining) + - location: 19 (remaining gas: 1039984.260 units remaining) [ 1 2 3 4 5 ] - - location: 20 (remaining gas: 1039983.964 units remaining) + - location: 20 (remaining gas: 1039984.144 units remaining) [ 5 1 2 3 4 ] - - location: 24 (remaining gas: 1039983.814 units remaining) + - location: 22 (remaining gas: 1039984.099 units remaining) + [ 1 + 2 + 3 + 4 ] + - location: 24 (remaining gas: 1039984.054 units remaining) [ 2 3 4 ] - - location: 25 (remaining gas: 1039983.739 units remaining) + - location: 25 (remaining gas: 1039984.009 units remaining) [ 3 4 ] - - location: 26 (remaining gas: 1039983.664 units remaining) + - location: 26 (remaining gas: 1039983.964 units remaining) [ 4 ] - - location: 27 (remaining gas: 1039983.589 units remaining) - [ ] - - location: -1 (remaining gas: 1039983.544 units remaining) + - location: 27 (remaining gas: 1039983.919 units remaining) [ ] - - location: 22 (remaining gas: 1039983.544 units remaining) + - location: 22 (remaining gas: 1039983.919 units remaining) [ 5 ] - - location: 28 (remaining gas: 1039983.469 units remaining) + - location: 28 (remaining gas: 1039983.874 units remaining) [ {} 5 ] - - location: 30 (remaining gas: 1039983.394 units remaining) - [ (Pair {} 5) ] - - location: -1 (remaining gas: 1039983.349 units remaining) + - location: 30 (remaining gas: 1039983.829 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 8217e1b03218..0e774f33e9d4 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,31 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039989.600 units remaining) + - location: 11 (remaining gas: 1039989.600 units remaining) [ (Pair (Pair 1 1) 0 0) ] - - location: 11 (remaining gas: 1039989.520 units remaining) + - location: 11 (remaining gas: 1039989.550 units remaining) [ (Pair 1 1) @parameter ] - - location: 12 (remaining gas: 1039989.440 units remaining) + - location: 12 (remaining gas: 1039989.500 units remaining) [ 1 1 ] - - location: 13 (remaining gas: 1039989.360 units remaining) + - location: 13 (remaining gas: 1039989.450 units remaining) [ 1 1 1 ] - - location: 16 (remaining gas: 1039989.175 units remaining) - [ 2 ] - - location: 15 (remaining gas: 1039989.130 units remaining) + - location: 14 (remaining gas: 1039989.405 units remaining) + [ 1 + 1 ] + - location: 16 (remaining gas: 1039989.325 units remaining) [ 2 ] - - location: 14 (remaining gas: 1039989.130 units remaining) + - location: 14 (remaining gas: 1039989.325 units remaining) [ 1 2 ] - - location: 17 (remaining gas: 1039989.055 units remaining) + - location: 17 (remaining gas: 1039989.280 units remaining) [ (Pair 1 2) ] - - location: 18 (remaining gas: 1039988.980 units remaining) + - location: 18 (remaining gas: 1039989.235 units remaining) [ {} (Pair 1 2) ] - - location: 20 (remaining gas: 1039988.905 units remaining) - [ (Pair {} 1 2) ] - - location: -1 (remaining gas: 1039988.860 units remaining) + - location: 20 (remaining gas: 1039989.190 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 1bfb170c28a4..3536b62a9eb3 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,31 +7,30 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039989.600 units remaining) + - location: 11 (remaining gas: 1039989.600 units remaining) [ (Pair (Pair 15 9) 0 0) ] - - location: 11 (remaining gas: 1039989.520 units remaining) + - location: 11 (remaining gas: 1039989.550 units remaining) [ (Pair 15 9) @parameter ] - - location: 12 (remaining gas: 1039989.440 units remaining) + - location: 12 (remaining gas: 1039989.500 units remaining) [ 15 9 ] - - location: 13 (remaining gas: 1039989.360 units remaining) + - location: 13 (remaining gas: 1039989.450 units remaining) [ 15 15 9 ] - - location: 16 (remaining gas: 1039989.175 units remaining) - [ 24 ] - - location: 15 (remaining gas: 1039989.130 units remaining) + - location: 14 (remaining gas: 1039989.405 units remaining) + [ 15 + 9 ] + - location: 16 (remaining gas: 1039989.325 units remaining) [ 24 ] - - location: 14 (remaining gas: 1039989.130 units remaining) + - location: 14 (remaining gas: 1039989.325 units remaining) [ 15 24 ] - - location: 17 (remaining gas: 1039989.055 units remaining) + - location: 17 (remaining gas: 1039989.280 units remaining) [ (Pair 15 24) ] - - location: 18 (remaining gas: 1039988.980 units remaining) + - location: 18 (remaining gas: 1039989.235 units remaining) [ {} (Pair 15 24) ] - - location: 20 (remaining gas: 1039988.905 units remaining) - [ (Pair {} 15 24) ] - - location: -1 (remaining gas: 1039988.860 units remaining) + - location: 20 (remaining gas: 1039989.190 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 77242f19293d..e3c0df266a63 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,64 +7,62 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039983.300 units remaining) + - location: 15 (remaining gas: 1039983.300 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039983.220 units remaining) + - location: 15 (remaining gas: 1039983.250 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039983.140 units remaining) + - location: 16 (remaining gas: 1039983.200 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039983.060 units remaining) + - location: 17 (remaining gas: 1039983.150 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039982.980 units remaining) + - location: 18 (remaining gas: 1039983.100 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039982.900 units remaining) + - location: 19 (remaining gas: 1039983.050 units remaining) [ 1 2 3 4 5 ] - - location: 23 (remaining gas: 1039982.675 units remaining) + - location: 20 (remaining gas: 1039982.930 units remaining) + [ ] + - location: 23 (remaining gas: 1039982.885 units remaining) [ 6 ] - - location: 22 (remaining gas: 1039982.630 units remaining) - [ 6 ] - - location: 20 (remaining gas: 1039982.630 units remaining) + - location: 20 (remaining gas: 1039982.660 units remaining) [ 1 2 3 4 5 6 ] - - location: 26 (remaining gas: 1039982.555 units remaining) + - location: 26 (remaining gas: 1039982.615 units remaining) [ 2 3 4 5 6 ] - - location: 27 (remaining gas: 1039982.480 units remaining) + - location: 27 (remaining gas: 1039982.570 units remaining) [ 3 4 5 6 ] - - location: 28 (remaining gas: 1039982.405 units remaining) + - location: 28 (remaining gas: 1039982.525 units remaining) [ 4 5 6 ] - - location: 29 (remaining gas: 1039982.330 units remaining) + - location: 29 (remaining gas: 1039982.480 units remaining) [ 5 6 ] - - location: 30 (remaining gas: 1039982.255 units remaining) + - location: 30 (remaining gas: 1039982.435 units remaining) [ 6 ] - - location: 31 (remaining gas: 1039982.180 units remaining) + - location: 31 (remaining gas: 1039982.390 units remaining) [ {} 6 ] - - location: 33 (remaining gas: 1039982.105 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039982.060 units remaining) + - location: 33 (remaining gas: 1039982.345 units remaining) [ (Pair {} 6) ] diff --git a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dropn.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[dropn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out index b7bbe05bbf45..14d465d08a01 100644 --- a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dropn.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[dropn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out @@ -7,35 +7,33 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039988.260 units remaining) + - location: 15 (remaining gas: 1039988.260 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039988.180 units remaining) + - location: 15 (remaining gas: 1039988.210 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039988.100 units remaining) + - location: 16 (remaining gas: 1039988.160 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039988.020 units remaining) + - location: 17 (remaining gas: 1039988.110 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039987.940 units remaining) + - location: 18 (remaining gas: 1039988.060 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039987.860 units remaining) + - location: 19 (remaining gas: 1039988.010 units remaining) [ 1 2 3 4 5 ] - - location: 20 (remaining gas: 1039987.714 units remaining) + - location: 20 (remaining gas: 1039987.894 units remaining) [ 5 ] - - location: 22 (remaining gas: 1039987.639 units remaining) + - location: 22 (remaining gas: 1039987.849 units remaining) [ {} 5 ] - - location: 24 (remaining gas: 1039987.564 units remaining) - [ (Pair {} 5) ] - - location: -1 (remaining gas: 1039987.519 units remaining) + - location: 24 (remaining gas: 1039987.804 units remaining) [ (Pair {} 5) ] 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 38444d5acd63..f70cee9656a7 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,53 +7,51 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039985.260 units remaining) + - location: 15 (remaining gas: 1039985.260 units remaining) [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039985.180 units remaining) + - location: 15 (remaining gas: 1039985.210 units remaining) [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039985.100 units remaining) + - location: 16 (remaining gas: 1039985.160 units remaining) [ (Pair (Pair (Pair 1 2) 3) 4) 5 ] - - location: 17 (remaining gas: 1039985.020 units remaining) + - location: 17 (remaining gas: 1039985.110 units remaining) [ (Pair (Pair 1 2) 3) 4 5 ] - - location: 18 (remaining gas: 1039984.940 units remaining) + - location: 18 (remaining gas: 1039985.060 units remaining) [ (Pair 1 2) 3 4 5 ] - - location: 19 (remaining gas: 1039984.860 units remaining) + - location: 19 (remaining gas: 1039985.010 units remaining) [ 1 2 3 4 5 ] - - location: 20 (remaining gas: 1039984.714 units remaining) + - location: 20 (remaining gas: 1039984.894 units remaining) [ 2 3 4 5 1 ] - - location: 22 (remaining gas: 1039984.639 units remaining) + - location: 22 (remaining gas: 1039984.849 units remaining) [ 3 4 5 1 ] - - location: 23 (remaining gas: 1039984.564 units remaining) + - location: 23 (remaining gas: 1039984.804 units remaining) [ 4 5 1 ] - - location: 24 (remaining gas: 1039984.489 units remaining) + - location: 24 (remaining gas: 1039984.759 units remaining) [ 5 1 ] - - location: 25 (remaining gas: 1039984.414 units remaining) + - location: 25 (remaining gas: 1039984.714 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039984.339 units remaining) + - location: 26 (remaining gas: 1039984.669 units remaining) [ {} 1 ] - - location: 28 (remaining gas: 1039984.264 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039984.219 units remaining) + - location: 28 (remaining gas: 1039984.624 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 402fde6f2d0d..86065ec5d273 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: 6 (remaining gas: 1039948.940 units remaining) + - location: 7 (remaining gas: 1039948.940 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039948.865 units remaining) + - location: 7 (remaining gas: 1039948.895 units remaining) [ ] - - location: 8 (remaining gas: 1039948.790 units remaining) + - location: 8 (remaining gas: 1039948.850 units remaining) [ 5 ] - - location: 11 (remaining gas: 1039948.715 units remaining) + - location: 11 (remaining gas: 1039948.805 units remaining) [ 4 5 ] - - location: 14 (remaining gas: 1039948.640 units remaining) + - location: 14 (remaining gas: 1039948.760 units remaining) [ 3 4 5 ] - - location: 17 (remaining gas: 1039948.565 units remaining) + - location: 17 (remaining gas: 1039948.715 units remaining) [ 2 3 4 5 ] - - location: 20 (remaining gas: 1039948.490 units remaining) + - location: 20 (remaining gas: 1039948.670 units remaining) [ 1 2 3 4 5 ] - - location: 23 (remaining gas: 1039948.399 units remaining) + - location: 23 (remaining gas: 1039948.609 units remaining) [ 1 1 2 3 4 5 ] - - location: 25 (remaining gas: 1039948.324 units remaining) + - location: 25 (remaining gas: 1039948.564 units remaining) [ 1 1 1 @@ -46,47 +46,40 @@ trace 3 4 5 ] - - location: 30 (remaining gas: 1039948.084 units remaining) + - location: 30 (remaining gas: 1039948.414 units remaining) [ 0 1 2 3 4 5 ] - - location: 31 (remaining gas: 1039948.009 units remaining) + - location: 31 (remaining gas: 1039948.364 units remaining) [ True 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039947.964 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 33 (remaining gas: 1039947.864 units remaining) + - location: 32 (remaining gas: 1039948.339 units remaining) [ 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039947.819 units remaining) + - location: 33 (remaining gas: 1039948.294 units remaining) [ 1 2 3 4 5 ] - - location: 38 (remaining gas: 1039947.727 units remaining) + - location: 38 (remaining gas: 1039948.232 units remaining) [ 2 1 2 3 4 5 ] - - location: 40 (remaining gas: 1039947.652 units remaining) + - location: 40 (remaining gas: 1039948.187 units remaining) [ 2 2 1 @@ -94,47 +87,40 @@ trace 3 4 5 ] - - location: 45 (remaining gas: 1039947.412 units remaining) + - location: 45 (remaining gas: 1039948.037 units remaining) [ 0 1 2 3 4 5 ] - - location: 46 (remaining gas: 1039947.337 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039947.292 units remaining) + - location: 46 (remaining gas: 1039947.987 units remaining) [ True 1 2 3 4 5 ] - - location: 48 (remaining gas: 1039947.192 units remaining) + - location: 47 (remaining gas: 1039947.962 units remaining) [ 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039947.147 units remaining) + - location: 48 (remaining gas: 1039947.917 units remaining) [ 1 2 3 4 5 ] - - location: 53 (remaining gas: 1039947.054 units remaining) + - location: 53 (remaining gas: 1039947.854 units remaining) [ 3 1 2 3 4 5 ] - - location: 55 (remaining gas: 1039946.979 units remaining) + - location: 55 (remaining gas: 1039947.809 units remaining) [ 3 3 1 @@ -142,47 +128,40 @@ trace 3 4 5 ] - - location: 60 (remaining gas: 1039946.739 units remaining) + - location: 60 (remaining gas: 1039947.659 units remaining) [ 0 1 2 3 4 5 ] - - location: 61 (remaining gas: 1039946.664 units remaining) + - location: 61 (remaining gas: 1039947.609 units remaining) [ True 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039946.619 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 63 (remaining gas: 1039946.519 units remaining) + - location: 62 (remaining gas: 1039947.584 units remaining) [ 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039946.474 units remaining) + - location: 63 (remaining gas: 1039947.539 units remaining) [ 1 2 3 4 5 ] - - location: 68 (remaining gas: 1039946.379 units remaining) + - location: 68 (remaining gas: 1039947.474 units remaining) [ 4 1 2 3 4 5 ] - - location: 70 (remaining gas: 1039946.304 units remaining) + - location: 70 (remaining gas: 1039947.429 units remaining) [ 4 4 1 @@ -190,47 +169,40 @@ trace 3 4 5 ] - - location: 75 (remaining gas: 1039946.064 units remaining) + - location: 75 (remaining gas: 1039947.279 units remaining) [ 0 1 2 3 4 5 ] - - location: 76 (remaining gas: 1039945.989 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039945.944 units remaining) + - location: 76 (remaining gas: 1039947.229 units remaining) [ True 1 2 3 4 5 ] - - location: 78 (remaining gas: 1039945.844 units remaining) + - location: 77 (remaining gas: 1039947.204 units remaining) [ 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039945.799 units remaining) + - location: 78 (remaining gas: 1039947.159 units remaining) [ 1 2 3 4 5 ] - - location: 83 (remaining gas: 1039945.703 units remaining) + - location: 83 (remaining gas: 1039947.093 units remaining) [ 5 1 2 3 4 5 ] - - location: 85 (remaining gas: 1039945.628 units remaining) + - location: 85 (remaining gas: 1039947.048 units remaining) [ 5 5 1 @@ -238,48 +210,39 @@ trace 3 4 5 ] - - location: 90 (remaining gas: 1039945.388 units remaining) + - location: 90 (remaining gas: 1039946.898 units remaining) [ 0 1 2 3 4 5 ] - - location: 91 (remaining gas: 1039945.313 units remaining) + - location: 91 (remaining gas: 1039946.848 units remaining) [ True 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039945.268 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 93 (remaining gas: 1039945.168 units remaining) + - location: 92 (remaining gas: 1039946.823 units remaining) [ 1 2 3 4 5 ] - - location: -1 (remaining gas: 1039945.123 units remaining) + - location: 93 (remaining gas: 1039946.778 units remaining) [ 1 2 3 4 5 ] - - location: 98 (remaining gas: 1039944.973 units remaining) + - location: 98 (remaining gas: 1039946.658 units remaining) [ ] - - location: 100 (remaining gas: 1039944.898 units remaining) + - location: 100 (remaining gas: 1039946.613 units remaining) [ Unit ] - - location: 101 (remaining gas: 1039944.823 units remaining) + - location: 101 (remaining gas: 1039946.568 units remaining) [ {} Unit ] - - location: 103 (remaining gas: 1039944.748 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039944.703 units remaining) + - location: 103 (remaining gas: 1039946.523 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 1e2c348936d4..cbdfa83a4331 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,131 +7,129 @@ emitted operations big_map diff trace - - location: 24 (remaining gas: 1039966.445 units remaining) + - location: 25 (remaining gas: 1039966.445 units remaining) [ (Pair (Pair -8 2) None None None None) ] - - location: 25 (remaining gas: 1039966.365 units remaining) + - location: 25 (remaining gas: 1039966.395 units remaining) [ (Pair -8 2) @parameter ] - - location: 26 (remaining gas: 1039966.285 units remaining) + - location: 26 (remaining gas: 1039966.345 units remaining) [ (Pair -8 2) @parameter (Pair -8 2) @parameter ] - - location: 27 (remaining gas: 1039966.205 units remaining) + - location: 27 (remaining gas: 1039966.295 units remaining) [ -8 2 (Pair -8 2) @parameter ] - - location: 28 (remaining gas: 1039966.095 units remaining) + - location: 28 (remaining gas: 1039966.215 units remaining) [ 8 2 (Pair -8 2) @parameter ] - - location: 31 (remaining gas: 1039965.910 units remaining) + - location: 29 (remaining gas: 1039966.170 units remaining) [ 2 (Pair -8 2) @parameter ] - - location: 30 (remaining gas: 1039965.865 units remaining) + - location: 31 (remaining gas: 1039966.090 units remaining) [ 2 (Pair -8 2) @parameter ] - - location: 29 (remaining gas: 1039965.865 units remaining) + - location: 29 (remaining gas: 1039966.090 units remaining) [ 8 2 (Pair -8 2) @parameter ] - - location: 32 (remaining gas: 1039965.535 units remaining) + - location: 32 (remaining gas: 1039965.790 units remaining) [ (Some (Pair 4 0)) (Pair -8 2) @parameter ] - - location: 33 (remaining gas: 1039965.465 units remaining) + - location: 33 (remaining gas: 1039965.750 units remaining) [ (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 34 (remaining gas: 1039965.385 units remaining) + - location: 34 (remaining gas: 1039965.700 units remaining) [ (Pair -8 2) @parameter (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 35 (remaining gas: 1039965.305 units remaining) + - location: 35 (remaining gas: 1039965.650 units remaining) [ -8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 36 (remaining gas: 1039965.195 units remaining) + - location: 36 (remaining gas: 1039965.570 units remaining) [ 8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 37 (remaining gas: 1039964.865 units remaining) + - location: 37 (remaining gas: 1039965.270 units remaining) [ (Some (Pair 4 0)) (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 38 (remaining gas: 1039964.795 units remaining) + - location: 38 (remaining gas: 1039965.230 units remaining) [ (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 39 (remaining gas: 1039964.715 units remaining) + - location: 39 (remaining gas: 1039965.180 units remaining) [ (Pair -8 2) @parameter (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 40 (remaining gas: 1039964.635 units remaining) + - location: 40 (remaining gas: 1039965.130 units remaining) [ -8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 43 (remaining gas: 1039964.450 units remaining) + - location: 41 (remaining gas: 1039965.085 units remaining) [ 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 42 (remaining gas: 1039964.405 units remaining) + - location: 43 (remaining gas: 1039965.005 units remaining) [ 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 41 (remaining gas: 1039964.405 units remaining) + - location: 41 (remaining gas: 1039965.005 units remaining) [ -8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 44 (remaining gas: 1039964.075 units remaining) + - location: 44 (remaining gas: 1039964.705 units remaining) [ (Some (Pair -4 0)) (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 45 (remaining gas: 1039964.005 units remaining) + - location: 45 (remaining gas: 1039964.665 units remaining) [ (Pair -8 2) @parameter (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 46 (remaining gas: 1039963.925 units remaining) + - location: 46 (remaining gas: 1039964.615 units remaining) [ -8 2 (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 47 (remaining gas: 1039963.595 units remaining) + - location: 47 (remaining gas: 1039964.315 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 52 (remaining gas: 1039963.352 units remaining) - [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 51 (remaining gas: 1039963.307 units remaining) + - location: 49 (remaining gas: 1039964.207 units remaining) + [ (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 52 (remaining gas: 1039964.162 units remaining) [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039963.307 units remaining) + - location: 49 (remaining gas: 1039964.072 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 55 (remaining gas: 1039963.157 units remaining) - [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 54 (remaining gas: 1039963.112 units remaining) + - location: 53 (remaining gas: 1039964.027 units remaining) + [ (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 55 (remaining gas: 1039963.982 units remaining) [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 53 (remaining gas: 1039963.112 units remaining) + - location: 53 (remaining gas: 1039963.982 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 56 (remaining gas: 1039963.037 units remaining) + - location: 56 (remaining gas: 1039963.937 units remaining) [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: -1 (remaining gas: 1039962.992 units remaining) - [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 57 (remaining gas: 1039962.917 units remaining) + - location: 57 (remaining gas: 1039963.892 units remaining) [ {} (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 59 (remaining gas: 1039962.842 units remaining) - [ (Pair {} (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: -1 (remaining gas: 1039962.797 units remaining) + - location: 59 (remaining gas: 1039963.847 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 5d8f4f3c6324..1d5bc4e1bf23 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,131 +7,129 @@ emitted operations big_map diff trace - - location: 24 (remaining gas: 1039966.445 units remaining) + - location: 25 (remaining gas: 1039966.445 units remaining) [ (Pair (Pair 10 -3) None None None None) ] - - location: 25 (remaining gas: 1039966.365 units remaining) + - location: 25 (remaining gas: 1039966.395 units remaining) [ (Pair 10 -3) @parameter ] - - location: 26 (remaining gas: 1039966.285 units remaining) + - location: 26 (remaining gas: 1039966.345 units remaining) [ (Pair 10 -3) @parameter (Pair 10 -3) @parameter ] - - location: 27 (remaining gas: 1039966.205 units remaining) + - location: 27 (remaining gas: 1039966.295 units remaining) [ 10 -3 (Pair 10 -3) @parameter ] - - location: 28 (remaining gas: 1039966.095 units remaining) + - location: 28 (remaining gas: 1039966.215 units remaining) [ 10 -3 (Pair 10 -3) @parameter ] - - location: 31 (remaining gas: 1039965.910 units remaining) - [ 3 + - location: 29 (remaining gas: 1039966.170 units remaining) + [ -3 (Pair 10 -3) @parameter ] - - location: 30 (remaining gas: 1039965.865 units remaining) + - location: 31 (remaining gas: 1039966.090 units remaining) [ 3 (Pair 10 -3) @parameter ] - - location: 29 (remaining gas: 1039965.865 units remaining) + - location: 29 (remaining gas: 1039966.090 units remaining) [ 10 3 (Pair 10 -3) @parameter ] - - location: 32 (remaining gas: 1039965.535 units remaining) + - location: 32 (remaining gas: 1039965.790 units remaining) [ (Some (Pair 3 1)) (Pair 10 -3) @parameter ] - - location: 33 (remaining gas: 1039965.465 units remaining) + - location: 33 (remaining gas: 1039965.750 units remaining) [ (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039965.385 units remaining) + - location: 34 (remaining gas: 1039965.700 units remaining) [ (Pair 10 -3) @parameter (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 35 (remaining gas: 1039965.305 units remaining) + - location: 35 (remaining gas: 1039965.650 units remaining) [ 10 -3 (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 36 (remaining gas: 1039965.195 units remaining) + - location: 36 (remaining gas: 1039965.570 units remaining) [ 10 -3 (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 37 (remaining gas: 1039964.865 units remaining) + - location: 37 (remaining gas: 1039965.270 units remaining) [ (Some (Pair -3 1)) (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 38 (remaining gas: 1039964.795 units remaining) + - location: 38 (remaining gas: 1039965.230 units remaining) [ (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 39 (remaining gas: 1039964.715 units remaining) + - location: 39 (remaining gas: 1039965.180 units remaining) [ (Pair 10 -3) @parameter (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 40 (remaining gas: 1039964.635 units remaining) + - location: 40 (remaining gas: 1039965.130 units remaining) [ 10 -3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 43 (remaining gas: 1039964.450 units remaining) - [ 3 + - location: 41 (remaining gas: 1039965.085 units remaining) + [ -3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 42 (remaining gas: 1039964.405 units remaining) + - location: 43 (remaining gas: 1039965.005 units remaining) [ 3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 41 (remaining gas: 1039964.405 units remaining) + - location: 41 (remaining gas: 1039965.005 units remaining) [ 10 3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 44 (remaining gas: 1039964.075 units remaining) + - location: 44 (remaining gas: 1039964.705 units remaining) [ (Some (Pair 3 1)) (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 45 (remaining gas: 1039964.005 units remaining) + - location: 45 (remaining gas: 1039964.665 units remaining) [ (Pair 10 -3) @parameter (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 46 (remaining gas: 1039963.925 units remaining) + - location: 46 (remaining gas: 1039964.615 units remaining) [ 10 -3 (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 47 (remaining gas: 1039963.595 units remaining) + - location: 47 (remaining gas: 1039964.315 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 52 (remaining gas: 1039963.352 units remaining) - [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 51 (remaining gas: 1039963.307 units remaining) + - location: 49 (remaining gas: 1039964.207 units remaining) + [ (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 52 (remaining gas: 1039964.162 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039963.307 units remaining) + - location: 49 (remaining gas: 1039964.072 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 55 (remaining gas: 1039963.157 units remaining) - [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 54 (remaining gas: 1039963.112 units remaining) + - location: 53 (remaining gas: 1039964.027 units remaining) + [ (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 55 (remaining gas: 1039963.982 units remaining) [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 53 (remaining gas: 1039963.112 units remaining) + - location: 53 (remaining gas: 1039963.982 units remaining) [ (Some (Pair -3 1)) (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 56 (remaining gas: 1039963.037 units remaining) + - location: 56 (remaining gas: 1039963.937 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039962.992 units remaining) - [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 57 (remaining gas: 1039962.917 units remaining) + - location: 57 (remaining gas: 1039963.892 units remaining) [ {} (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 59 (remaining gas: 1039962.842 units remaining) - [ (Pair {} (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039962.797 units remaining) + - location: 59 (remaining gas: 1039963.847 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 57c51abf15e4..6d8e03e87c84 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,131 +7,129 @@ emitted operations big_map diff trace - - location: 24 (remaining gas: 1039966.445 units remaining) + - location: 25 (remaining gas: 1039966.445 units remaining) [ (Pair (Pair 10 0) None None None None) ] - - location: 25 (remaining gas: 1039966.365 units remaining) + - location: 25 (remaining gas: 1039966.395 units remaining) [ (Pair 10 0) @parameter ] - - location: 26 (remaining gas: 1039966.285 units remaining) + - location: 26 (remaining gas: 1039966.345 units remaining) [ (Pair 10 0) @parameter (Pair 10 0) @parameter ] - - location: 27 (remaining gas: 1039966.205 units remaining) + - location: 27 (remaining gas: 1039966.295 units remaining) [ 10 0 (Pair 10 0) @parameter ] - - location: 28 (remaining gas: 1039966.095 units remaining) + - location: 28 (remaining gas: 1039966.215 units remaining) [ 10 0 (Pair 10 0) @parameter ] - - location: 31 (remaining gas: 1039965.910 units remaining) + - location: 29 (remaining gas: 1039966.170 units remaining) [ 0 (Pair 10 0) @parameter ] - - location: 30 (remaining gas: 1039965.865 units remaining) + - location: 31 (remaining gas: 1039966.090 units remaining) [ 0 (Pair 10 0) @parameter ] - - location: 29 (remaining gas: 1039965.865 units remaining) + - location: 29 (remaining gas: 1039966.090 units remaining) [ 10 0 (Pair 10 0) @parameter ] - - location: 32 (remaining gas: 1039965.535 units remaining) + - location: 32 (remaining gas: 1039965.790 units remaining) [ None (Pair 10 0) @parameter ] - - location: 33 (remaining gas: 1039965.465 units remaining) + - location: 33 (remaining gas: 1039965.750 units remaining) [ (Pair 10 0) @parameter None ] - - location: 34 (remaining gas: 1039965.385 units remaining) + - location: 34 (remaining gas: 1039965.700 units remaining) [ (Pair 10 0) @parameter (Pair 10 0) @parameter None ] - - location: 35 (remaining gas: 1039965.305 units remaining) + - location: 35 (remaining gas: 1039965.650 units remaining) [ 10 0 (Pair 10 0) @parameter None ] - - location: 36 (remaining gas: 1039965.195 units remaining) + - location: 36 (remaining gas: 1039965.570 units remaining) [ 10 0 (Pair 10 0) @parameter None ] - - location: 37 (remaining gas: 1039964.865 units remaining) + - location: 37 (remaining gas: 1039965.270 units remaining) [ None (Pair 10 0) @parameter None ] - - location: 38 (remaining gas: 1039964.795 units remaining) + - location: 38 (remaining gas: 1039965.230 units remaining) [ (Pair 10 0) @parameter None None ] - - location: 39 (remaining gas: 1039964.715 units remaining) + - location: 39 (remaining gas: 1039965.180 units remaining) [ (Pair 10 0) @parameter (Pair 10 0) @parameter None None ] - - location: 40 (remaining gas: 1039964.635 units remaining) + - location: 40 (remaining gas: 1039965.130 units remaining) [ 10 0 (Pair 10 0) @parameter None None ] - - location: 43 (remaining gas: 1039964.450 units remaining) + - location: 41 (remaining gas: 1039965.085 units remaining) [ 0 (Pair 10 0) @parameter None None ] - - location: 42 (remaining gas: 1039964.405 units remaining) + - location: 43 (remaining gas: 1039965.005 units remaining) [ 0 (Pair 10 0) @parameter None None ] - - location: 41 (remaining gas: 1039964.405 units remaining) + - location: 41 (remaining gas: 1039965.005 units remaining) [ 10 0 (Pair 10 0) @parameter None None ] - - location: 44 (remaining gas: 1039964.075 units remaining) + - location: 44 (remaining gas: 1039964.705 units remaining) [ None (Pair 10 0) @parameter None None ] - - location: 45 (remaining gas: 1039964.005 units remaining) + - location: 45 (remaining gas: 1039964.665 units remaining) [ (Pair 10 0) @parameter None None None ] - - location: 46 (remaining gas: 1039963.925 units remaining) + - location: 46 (remaining gas: 1039964.615 units remaining) [ 10 0 None None None ] - - location: 47 (remaining gas: 1039963.595 units remaining) + - location: 47 (remaining gas: 1039964.315 units remaining) [ None None None None ] - - location: 52 (remaining gas: 1039963.352 units remaining) - [ (Pair None None) ] - - location: 51 (remaining gas: 1039963.307 units remaining) + - location: 49 (remaining gas: 1039964.207 units remaining) + [ None + None ] + - location: 52 (remaining gas: 1039964.162 units remaining) [ (Pair None None) ] - - location: 49 (remaining gas: 1039963.307 units remaining) + - location: 49 (remaining gas: 1039964.072 units remaining) [ None None (Pair None None) ] - - location: 55 (remaining gas: 1039963.157 units remaining) - [ (Pair None None None) ] - - location: 54 (remaining gas: 1039963.112 units remaining) + - location: 53 (remaining gas: 1039964.027 units remaining) + [ None + (Pair None None) ] + - location: 55 (remaining gas: 1039963.982 units remaining) [ (Pair None None None) ] - - location: 53 (remaining gas: 1039963.112 units remaining) + - location: 53 (remaining gas: 1039963.982 units remaining) [ None (Pair None None None) ] - - location: 56 (remaining gas: 1039963.037 units remaining) + - location: 56 (remaining gas: 1039963.937 units remaining) [ (Pair None None None None) ] - - location: -1 (remaining gas: 1039962.992 units remaining) - [ (Pair None None None None) ] - - location: 57 (remaining gas: 1039962.917 units remaining) + - location: 57 (remaining gas: 1039963.892 units remaining) [ {} (Pair None None None None) ] - - location: 59 (remaining gas: 1039962.842 units remaining) - [ (Pair {} None None None None) ] - - location: -1 (remaining gas: 1039962.797 units remaining) + - location: 59 (remaining gas: 1039963.847 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 e90ff1b8022c..a8506e45f702 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 10 (Left 0)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 10 (Left 0)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 10 (Left 0) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Left 0) 10 ] - - location: 24 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) + [ 0 + 10 ] + - location: 24 (remaining gas: 1039981.960 units remaining) [ 10 0 ] - - location: 25 (remaining gas: 1039981.580 units remaining) + - location: 25 (remaining gas: 1039981.760 units remaining) [ None ] - - location: 26 (remaining gas: 1039981.505 units remaining) - [ (Left None) ] - - location: -1 (remaining gas: 1039981.460 units remaining) + - location: 26 (remaining gas: 1039981.715 units remaining) [ (Left None) ] - - location: 39 (remaining gas: 1039981.385 units remaining) + - location: 39 (remaining gas: 1039981.670 units remaining) [ {} (Left None) ] - - location: 41 (remaining gas: 1039981.310 units remaining) - [ (Pair {} (Left None)) ] - - location: -1 (remaining gas: 1039981.265 units remaining) + - location: 41 (remaining gas: 1039981.625 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 93d1c1c08a7f..3d8434a6dd56 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 10 (Left 10)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 10 (Left 10)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 10 (Left 10) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Left 10) 10 ] - - location: 24 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) [ 10 10 ] - - location: 25 (remaining gas: 1039981.580 units remaining) + - location: 24 (remaining gas: 1039981.960 units remaining) + [ 10 + 10 ] + - location: 25 (remaining gas: 1039981.760 units remaining) [ (Some (Pair 1 0)) ] - - location: 26 (remaining gas: 1039981.505 units remaining) + - location: 26 (remaining gas: 1039981.715 units remaining) [ (Left (Some (Pair 1 0))) ] - - location: -1 (remaining gas: 1039981.460 units remaining) - [ (Left (Some (Pair 1 0))) ] - - location: 39 (remaining gas: 1039981.385 units remaining) + - location: 39 (remaining gas: 1039981.670 units remaining) [ {} (Left (Some (Pair 1 0))) ] - - location: 41 (remaining gas: 1039981.310 units remaining) - [ (Pair {} (Left (Some (Pair 1 0)))) ] - - location: -1 (remaining gas: 1039981.265 units remaining) + - location: 41 (remaining gas: 1039981.625 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 76574db98654..e2c8022e5c00 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 10 (Left 3)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 10 (Left 3)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 10 (Left 3) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Left 3) 10 ] - - location: 24 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) + [ 3 + 10 ] + - location: 24 (remaining gas: 1039981.960 units remaining) [ 10 3 ] - - location: 25 (remaining gas: 1039981.580 units remaining) + - location: 25 (remaining gas: 1039981.760 units remaining) [ (Some (Pair 3 1)) ] - - location: 26 (remaining gas: 1039981.505 units remaining) - [ (Left (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039981.460 units remaining) + - location: 26 (remaining gas: 1039981.715 units remaining) [ (Left (Some (Pair 3 1))) ] - - location: 39 (remaining gas: 1039981.385 units remaining) + - location: 39 (remaining gas: 1039981.670 units remaining) [ {} (Left (Some (Pair 3 1))) ] - - location: 41 (remaining gas: 1039981.310 units remaining) - [ (Pair {} (Left (Some (Pair 3 1)))) ] - - location: -1 (remaining gas: 1039981.265 units remaining) + - location: 41 (remaining gas: 1039981.625 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 c8d794c6a14f..60dc3052815e 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 10 (Right 0)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 10 (Right 0)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 10 (Right 0) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Right 0) 10 ] - - location: 32 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) + [ 0 + 10 ] + - location: 32 (remaining gas: 1039981.960 units remaining) [ 10 0 ] - - location: 33 (remaining gas: 1039981.480 units remaining) + - location: 33 (remaining gas: 1039981.660 units remaining) [ None ] - - location: 34 (remaining gas: 1039981.405 units remaining) - [ (Right None) ] - - location: -1 (remaining gas: 1039981.360 units remaining) + - location: 34 (remaining gas: 1039981.615 units remaining) [ (Right None) ] - - location: 39 (remaining gas: 1039981.285 units remaining) + - location: 39 (remaining gas: 1039981.570 units remaining) [ {} (Right None) ] - - location: 41 (remaining gas: 1039981.210 units remaining) - [ (Pair {} (Right None)) ] - - location: -1 (remaining gas: 1039981.165 units remaining) + - location: 41 (remaining gas: 1039981.525 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 640783a910a4..dac6170a379e 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 10 (Right 10)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 10 (Right 10)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 10 (Right 10) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Right 10) 10 ] - - location: 32 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) [ 10 10 ] - - location: 33 (remaining gas: 1039981.480 units remaining) + - location: 32 (remaining gas: 1039981.960 units remaining) + [ 10 + 10 ] + - location: 33 (remaining gas: 1039981.660 units remaining) [ (Some (Pair 1 0)) ] - - location: 34 (remaining gas: 1039981.405 units remaining) + - location: 34 (remaining gas: 1039981.615 units remaining) [ (Right (Some (Pair 1 0))) ] - - location: -1 (remaining gas: 1039981.360 units remaining) - [ (Right (Some (Pair 1 0))) ] - - location: 39 (remaining gas: 1039981.285 units remaining) + - location: 39 (remaining gas: 1039981.570 units remaining) [ {} (Right (Some (Pair 1 0))) ] - - location: 41 (remaining gas: 1039981.210 units remaining) - [ (Pair {} (Right (Some (Pair 1 0)))) ] - - location: -1 (remaining gas: 1039981.165 units remaining) + - location: 41 (remaining gas: 1039981.525 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 a997655dce0d..ba2663cd3e49 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 10 (Right 3)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 10 (Right 3)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 10 (Right 3) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Right 3) 10 ] - - location: 32 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) + [ 3 + 10 ] + - location: 32 (remaining gas: 1039981.960 units remaining) [ 10 3 ] - - location: 33 (remaining gas: 1039981.480 units remaining) + - location: 33 (remaining gas: 1039981.660 units remaining) [ (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039981.405 units remaining) - [ (Right (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039981.360 units remaining) + - location: 34 (remaining gas: 1039981.615 units remaining) [ (Right (Some (Pair 3 1))) ] - - location: 39 (remaining gas: 1039981.285 units remaining) + - location: 39 (remaining gas: 1039981.570 units remaining) [ {} (Right (Some (Pair 3 1))) ] - - location: 41 (remaining gas: 1039981.210 units remaining) - [ (Pair {} (Right (Some (Pair 3 1)))) ] - - location: -1 (remaining gas: 1039981.165 units remaining) + - location: 41 (remaining gas: 1039981.525 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 15cdfe2056ac..bc2a6cecdc81 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,30 +7,29 @@ emitted operations big_map diff trace - - location: 18 (remaining gas: 1039982.170 units remaining) + - location: 19 (remaining gas: 1039982.170 units remaining) [ (Pair (Pair 5 (Right 10)) (Left None)) ] - - location: 19 (remaining gas: 1039982.090 units remaining) + - location: 19 (remaining gas: 1039982.120 units remaining) [ (Pair 5 (Right 10)) @parameter ] - - location: 20 (remaining gas: 1039982.010 units remaining) + - location: 20 (remaining gas: 1039982.070 units remaining) [ 5 (Right 10) ] - - location: 21 (remaining gas: 1039981.940 units remaining) + - location: 21 (remaining gas: 1039982.030 units remaining) [ (Right 10) 5 ] - - location: 32 (remaining gas: 1039981.810 units remaining) + - location: 22 (remaining gas: 1039982 units remaining) + [ 10 + 5 ] + - location: 32 (remaining gas: 1039981.960 units remaining) [ 5 10 ] - - location: 33 (remaining gas: 1039981.480 units remaining) + - location: 33 (remaining gas: 1039981.660 units remaining) [ (Some (Pair 0 5)) ] - - location: 34 (remaining gas: 1039981.405 units remaining) - [ (Right (Some (Pair 0 5))) ] - - location: -1 (remaining gas: 1039981.360 units remaining) + - location: 34 (remaining gas: 1039981.615 units remaining) [ (Right (Some (Pair 0 5))) ] - - location: 39 (remaining gas: 1039981.285 units remaining) + - location: 39 (remaining gas: 1039981.570 units remaining) [ {} (Right (Some (Pair 0 5))) ] - - location: 41 (remaining gas: 1039981.210 units remaining) - [ (Pair {} (Right (Some (Pair 0 5)))) ] - - location: -1 (remaining gas: 1039981.165 units remaining) + - location: 41 (remaining gas: 1039981.525 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 70807b4ecf7b..503ef1e394a9 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,29 +7,27 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039989.592 units remaining) + - location: 9 (remaining gas: 1039989.592 units remaining) [ (Pair Unit {}) ] - - location: 9 (remaining gas: 1039989.517 units remaining) + - location: 9 (remaining gas: 1039989.547 units remaining) [ ] - - location: 10 (remaining gas: 1039989.287 units remaining) + - location: 10 (remaining gas: 1039989.347 units remaining) [ {} ] - - location: 13 (remaining gas: 1039989.212 units remaining) + - location: 13 (remaining gas: 1039989.302 units remaining) [ "world" {} ] - - location: 16 (remaining gas: 1039989.137 units remaining) + - location: 16 (remaining gas: 1039989.257 units remaining) [ (Some "world") {} ] - - location: 17 (remaining gas: 1039989.062 units remaining) + - location: 17 (remaining gas: 1039989.212 units remaining) [ "hello" (Some "world") {} ] - - location: 20 (remaining gas: 1039988.952 units remaining) + - location: 20 (remaining gas: 1039989.132 units remaining) [ { Elt "hello" "world" } ] - - location: 21 (remaining gas: 1039988.877 units remaining) + - location: 21 (remaining gas: 1039989.087 units remaining) [ {} { Elt "hello" "world" } ] - - location: 23 (remaining gas: 1039988.802 units remaining) - [ (Pair {} { Elt "hello" "world" }) ] - - location: -1 (remaining gas: 1039988.757 units remaining) + - location: 23 (remaining gas: 1039989.042 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 4cae521d35e7..de139b6c0650 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,48 +7,42 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039986.458 units remaining) + - location: 7 (remaining gas: 1039986.458 units remaining) [ (Pair "" "?") ] - - location: 7 (remaining gas: 1039986.378 units remaining) + - location: 7 (remaining gas: 1039986.408 units remaining) [ "" @parameter ] - - location: 8 (remaining gas: 1039986.303 units remaining) + - location: 8 (remaining gas: 1039986.363 units remaining) [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } "" @parameter ] - - location: 22 (remaining gas: 1039986.233 units remaining) + - location: 22 (remaining gas: 1039986.323 units remaining) [ "" @parameter { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 11 (remaining gas: 1039986.103 units remaining) - [ "" @arg ] - - location: 12 (remaining gas: 1039986.028 units remaining) + - location: 12 (remaining gas: 1039986.178 units remaining) [ "_abc" "" @arg ] - - location: 15 (remaining gas: 1039985.953 units remaining) + - location: 15 (remaining gas: 1039986.133 units remaining) [ {} "_abc" "" @arg ] - - location: 17 (remaining gas: 1039985.883 units remaining) + - location: 17 (remaining gas: 1039986.093 units remaining) [ "_abc" {} "" @arg ] - - location: 18 (remaining gas: 1039985.803 units remaining) + - location: 18 (remaining gas: 1039986.043 units remaining) [ { "_abc" } "" @arg ] - - location: 19 (remaining gas: 1039985.733 units remaining) + - location: 19 (remaining gas: 1039986.003 units remaining) [ "" @arg { "_abc" } ] - - location: 20 (remaining gas: 1039985.653 units remaining) + - location: 20 (remaining gas: 1039985.953 units remaining) [ { "" ; "_abc" } ] - - location: 21 (remaining gas: 1039985.503 units remaining) + - location: 21 (remaining gas: 1039985.833 units remaining) [ "_abc" ] - - location: -1 (remaining gas: 1039985.458 units remaining) + - location: 23 (remaining gas: 1039985.833 units remaining) [ "_abc" ] - - location: 23 (remaining gas: 1039985.458 units remaining) - [ "_abc" ] - - location: 24 (remaining gas: 1039985.383 units remaining) + - location: 24 (remaining gas: 1039985.788 units remaining) [ {} "_abc" ] - - location: 26 (remaining gas: 1039985.308 units remaining) - [ (Pair {} "_abc") ] - - location: -1 (remaining gas: 1039985.263 units remaining) + - location: 26 (remaining gas: 1039985.743 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 5321f76547e8..9398761a5ccb 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,48 +7,42 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039986.418 units remaining) + - location: 7 (remaining gas: 1039986.418 units remaining) [ (Pair "test" "?") ] - - location: 7 (remaining gas: 1039986.338 units remaining) + - location: 7 (remaining gas: 1039986.368 units remaining) [ "test" @parameter ] - - location: 8 (remaining gas: 1039986.263 units remaining) + - location: 8 (remaining gas: 1039986.323 units remaining) [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } "test" @parameter ] - - location: 22 (remaining gas: 1039986.193 units remaining) + - location: 22 (remaining gas: 1039986.283 units remaining) [ "test" @parameter { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 11 (remaining gas: 1039986.063 units remaining) - [ "test" @arg ] - - location: 12 (remaining gas: 1039985.988 units remaining) + - location: 12 (remaining gas: 1039986.138 units remaining) [ "_abc" "test" @arg ] - - location: 15 (remaining gas: 1039985.913 units remaining) + - location: 15 (remaining gas: 1039986.093 units remaining) [ {} "_abc" "test" @arg ] - - location: 17 (remaining gas: 1039985.843 units remaining) + - location: 17 (remaining gas: 1039986.053 units remaining) [ "_abc" {} "test" @arg ] - - location: 18 (remaining gas: 1039985.763 units remaining) + - location: 18 (remaining gas: 1039986.003 units remaining) [ { "_abc" } "test" @arg ] - - location: 19 (remaining gas: 1039985.693 units remaining) + - location: 19 (remaining gas: 1039985.963 units remaining) [ "test" @arg { "_abc" } ] - - location: 20 (remaining gas: 1039985.613 units remaining) + - location: 20 (remaining gas: 1039985.913 units remaining) [ { "test" ; "_abc" } ] - - location: 21 (remaining gas: 1039985.463 units remaining) + - location: 21 (remaining gas: 1039985.793 units remaining) [ "test_abc" ] - - location: -1 (remaining gas: 1039985.418 units remaining) + - location: 23 (remaining gas: 1039985.793 units remaining) [ "test_abc" ] - - location: 23 (remaining gas: 1039985.418 units remaining) - [ "test_abc" ] - - location: 24 (remaining gas: 1039985.343 units remaining) + - location: 24 (remaining gas: 1039985.748 units remaining) [ {} "test_abc" ] - - location: 26 (remaining gas: 1039985.268 units remaining) - [ (Pair {} "test_abc") ] - - location: -1 (remaining gas: 1039985.223 units remaining) + - location: 26 (remaining gas: 1039985.703 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 b494056b1e89..16d0e9f4f8a9 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,23 +7,22 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039990.235 units remaining) + - location: 8 (remaining gas: 1039990.235 units remaining) [ (Pair { 1 ; 2 ; 3 ; 4 } 111) ] - - location: 8 (remaining gas: 1039990.155 units remaining) + - location: 8 (remaining gas: 1039990.185 units remaining) [ { 1 ; 2 ; 3 ; 4 } @parameter ] - - location: 13 (remaining gas: 1039989.945 units remaining) + - location: 9 (remaining gas: 1039990.155 units remaining) + [ 1 @parameter.hd + { 2 ; 3 ; 4 } @parameter.tl ] + - location: 11 (remaining gas: 1039990.110 units remaining) + [ { 2 ; 3 ; 4 } @parameter.tl ] + - location: 13 (remaining gas: 1039990.065 units remaining) [ ] - - location: 12 (remaining gas: 1039989.900 units remaining) - [ ] - - location: 11 (remaining gas: 1039989.900 units remaining) - [ 1 @parameter.hd ] - - location: 10 (remaining gas: 1039989.855 units remaining) + - location: 11 (remaining gas: 1039990.065 units remaining) [ 1 @parameter.hd ] - - location: 18 (remaining gas: 1039989.780 units remaining) + - location: 18 (remaining gas: 1039990.020 units remaining) [ {} 1 @parameter.hd ] - - location: 20 (remaining gas: 1039989.705 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039989.660 units remaining) + - location: 20 (remaining gas: 1039989.975 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 1ef1f5dc2f7c..809ddce23493 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,23 +7,22 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039990.955 units remaining) + - location: 8 (remaining gas: 1039990.955 units remaining) [ (Pair { 4 } 111) ] - - location: 8 (remaining gas: 1039990.875 units remaining) + - location: 8 (remaining gas: 1039990.905 units remaining) [ { 4 } @parameter ] - - location: 13 (remaining gas: 1039990.665 units remaining) + - location: 9 (remaining gas: 1039990.875 units remaining) + [ 4 @parameter.hd + {} @parameter.tl ] + - location: 11 (remaining gas: 1039990.830 units remaining) + [ {} @parameter.tl ] + - location: 13 (remaining gas: 1039990.785 units remaining) [ ] - - location: 12 (remaining gas: 1039990.620 units remaining) - [ ] - - location: 11 (remaining gas: 1039990.620 units remaining) - [ 4 @parameter.hd ] - - location: 10 (remaining gas: 1039990.575 units remaining) + - location: 11 (remaining gas: 1039990.785 units remaining) [ 4 @parameter.hd ] - - location: 18 (remaining gas: 1039990.500 units remaining) + - location: 18 (remaining gas: 1039990.740 units remaining) [ {} 4 @parameter.hd ] - - location: 20 (remaining gas: 1039990.425 units remaining) - [ (Pair {} 4) ] - - location: -1 (remaining gas: 1039990.380 units remaining) + - location: 20 (remaining gas: 1039990.695 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 17b7f6259f23..2daaaa2b4f56 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039989.571 units remaining) + - location: 13 (remaining gas: 1039989.571 units remaining) [ (Pair "hello" (Some 4) {}) ] - - location: 13 (remaining gas: 1039989.461 units remaining) + - location: 13 (remaining gas: 1039989.521 units remaining) [ "hello" @parameter (Pair (Some 4) {}) @storage ] - - location: 16 (remaining gas: 1039989.306 units remaining) + - location: 14 (remaining gas: 1039989.476 units remaining) + [ (Pair (Some 4) {}) @storage ] + - location: 16 (remaining gas: 1039989.426 units remaining) [ (Some 4) {} ] - - location: 15 (remaining gas: 1039989.261 units remaining) - [ (Some 4) - {} ] - - location: 14 (remaining gas: 1039989.261 units remaining) - [ "hello" @parameter - (Some 4) - {} ] - - location: -1 (remaining gas: 1039989.216 units remaining) + - location: 14 (remaining gas: 1039989.426 units remaining) [ "hello" @parameter (Some 4) {} ] - - location: 17 (remaining gas: 1039989.026 units remaining) + - location: 17 (remaining gas: 1039989.266 units remaining) [ None { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039988.951 units remaining) + - location: 18 (remaining gas: 1039989.221 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039988.876 units remaining) + - location: 19 (remaining gas: 1039989.176 units remaining) [ {} (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039988.801 units remaining) - [ (Pair {} None { Elt "hello" 4 }) ] - - location: -1 (remaining gas: 1039988.756 units remaining) + - location: 21 (remaining gas: 1039989.131 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 8bfe980b57bc..b1bdfd284afb 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039988.977 units remaining) + - location: 13 (remaining gas: 1039988.977 units remaining) [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039988.867 units remaining) + - location: 13 (remaining gas: 1039988.927 units remaining) [ "hi" @parameter (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039988.712 units remaining) + - location: 14 (remaining gas: 1039988.882 units remaining) + [ (Pair (Some 5) { Elt "hello" 4 }) @storage ] + - location: 16 (remaining gas: 1039988.832 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039988.667 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.667 units remaining) - [ "hi" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039988.622 units remaining) + - location: 14 (remaining gas: 1039988.832 units remaining) [ "hi" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.432 units remaining) + - location: 17 (remaining gas: 1039988.672 units remaining) [ None { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039988.357 units remaining) + - location: 18 (remaining gas: 1039988.627 units remaining) [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039988.282 units remaining) + - location: 19 (remaining gas: 1039988.582 units remaining) [ {} (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039988.207 units remaining) - [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: -1 (remaining gas: 1039988.162 units remaining) + - location: 21 (remaining gas: 1039988.537 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 e12001567e4e..0c560e3bda5b 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039988.947 units remaining) + - location: 13 (remaining gas: 1039988.947 units remaining) [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039988.837 units remaining) + - location: 13 (remaining gas: 1039988.897 units remaining) [ "hello" @parameter (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039988.682 units remaining) + - location: 14 (remaining gas: 1039988.852 units remaining) + [ (Pair (Some 5) { Elt "hello" 4 }) @storage ] + - location: 16 (remaining gas: 1039988.802 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039988.637 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.637 units remaining) - [ "hello" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039988.592 units remaining) + - location: 14 (remaining gas: 1039988.802 units remaining) [ "hello" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.402 units remaining) + - location: 17 (remaining gas: 1039988.642 units remaining) [ (Some 4) { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039988.327 units remaining) + - location: 18 (remaining gas: 1039988.597 units remaining) [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039988.252 units remaining) + - location: 19 (remaining gas: 1039988.552 units remaining) [ {} (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039988.177 units remaining) - [ (Pair {} (Some 4) { Elt "hello" 5 }) ] - - location: -1 (remaining gas: 1039988.132 units remaining) + - location: 21 (remaining gas: 1039988.507 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 866132ed033a..01bf7dccd69e 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039988.563 units remaining) + - location: 13 (remaining gas: 1039988.563 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039988.453 units remaining) + - location: 13 (remaining gas: 1039988.513 units remaining) [ "1" @parameter (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039988.298 units remaining) + - location: 14 (remaining gas: 1039988.468 units remaining) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] + - location: 16 (remaining gas: 1039988.418 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039988.253 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039988.253 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039988.208 units remaining) + - location: 14 (remaining gas: 1039988.418 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039988.018 units remaining) + - location: 17 (remaining gas: 1039988.258 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039987.943 units remaining) + - location: 18 (remaining gas: 1039988.213 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039987.868 units remaining) + - location: 19 (remaining gas: 1039988.168 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039987.793 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039987.748 units remaining) + - location: 21 (remaining gas: 1039988.123 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 5d3d7bc2a490..8f745e248d3a 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039988.563 units remaining) + - location: 13 (remaining gas: 1039988.563 units remaining) [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039988.453 units remaining) + - location: 13 (remaining gas: 1039988.513 units remaining) [ "1" @parameter (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039988.298 units remaining) + - location: 14 (remaining gas: 1039988.468 units remaining) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] + - location: 16 (remaining gas: 1039988.418 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039988.253 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039988.253 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039988.208 units remaining) + - location: 14 (remaining gas: 1039988.418 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039988.018 units remaining) + - location: 17 (remaining gas: 1039988.258 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039987.943 units remaining) + - location: 18 (remaining gas: 1039988.213 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039987.868 units remaining) + - location: 19 (remaining gas: 1039988.168 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039987.793 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039987.748 units remaining) + - location: 21 (remaining gas: 1039988.123 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 1de4ad919df1..b92538ca67b5 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039989.187 units remaining) + - location: 13 (remaining gas: 1039989.187 units remaining) [ (Pair "hello" None { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039989.077 units remaining) + - location: 13 (remaining gas: 1039989.137 units remaining) [ "hello" @parameter (Pair None { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039988.922 units remaining) + - location: 14 (remaining gas: 1039989.092 units remaining) + [ (Pair None { Elt "hello" 4 }) @storage ] + - location: 16 (remaining gas: 1039989.042 units remaining) [ None { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039988.877 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.877 units remaining) - [ "hello" @parameter - None - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039988.832 units remaining) + - location: 14 (remaining gas: 1039989.042 units remaining) [ "hello" @parameter None { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.642 units remaining) + - location: 17 (remaining gas: 1039988.882 units remaining) [ (Some 4) {} ] - - location: 18 (remaining gas: 1039988.567 units remaining) + - location: 18 (remaining gas: 1039988.837 units remaining) [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039988.492 units remaining) + - location: 19 (remaining gas: 1039988.792 units remaining) [ {} (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039988.417 units remaining) - [ (Pair {} (Some 4) {}) ] - - location: -1 (remaining gas: 1039988.372 units remaining) + - location: 21 (remaining gas: 1039988.747 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 b9f8a60c5e4a..088a9f8e53ec 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,35 +7,28 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039989.811 units remaining) + - location: 13 (remaining gas: 1039989.811 units remaining) [ (Pair "hello" None {}) ] - - location: 13 (remaining gas: 1039989.701 units remaining) + - location: 13 (remaining gas: 1039989.761 units remaining) [ "hello" @parameter (Pair None {}) @storage ] - - location: 16 (remaining gas: 1039989.546 units remaining) + - location: 14 (remaining gas: 1039989.716 units remaining) + [ (Pair None {}) @storage ] + - location: 16 (remaining gas: 1039989.666 units remaining) [ None {} ] - - location: 15 (remaining gas: 1039989.501 units remaining) - [ None - {} ] - - location: 14 (remaining gas: 1039989.501 units remaining) - [ "hello" @parameter - None - {} ] - - location: -1 (remaining gas: 1039989.456 units remaining) + - location: 14 (remaining gas: 1039989.666 units remaining) [ "hello" @parameter None {} ] - - location: 17 (remaining gas: 1039989.266 units remaining) + - location: 17 (remaining gas: 1039989.506 units remaining) [ None {} ] - - location: 18 (remaining gas: 1039989.191 units remaining) + - location: 18 (remaining gas: 1039989.461 units remaining) [ (Pair None {}) ] - - location: 19 (remaining gas: 1039989.116 units remaining) + - location: 19 (remaining gas: 1039989.416 units remaining) [ {} (Pair None {}) ] - - location: 21 (remaining gas: 1039989.041 units remaining) - [ (Pair {} None {}) ] - - location: -1 (remaining gas: 1039988.996 units remaining) + - location: 21 (remaining gas: 1039989.371 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 a694fbbe39ab..388ccc53e988 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,40 +7,35 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039984.195 units remaining) + - location: 12 (remaining gas: 1039984.195 units remaining) [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 12 (remaining gas: 1039984.115 units remaining) + - location: 12 (remaining gas: 1039984.145 units remaining) [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 13 (remaining gas: 1039984.035 units remaining) + - location: 13 (remaining gas: 1039984.095 units remaining) [ "1" @parameter (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 17 (remaining gas: 1039983.850 units remaining) + - location: 14 (remaining gas: 1039984.050 units remaining) + [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 17 (remaining gas: 1039984 units remaining) [ (Pair None { Elt "1" "one" ; Elt "2" "two" }) @storage ] - - location: 18 (remaining gas: 1039983.770 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039983.725 units remaining) + - location: 18 (remaining gas: 1039983.950 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: 19 (remaining gas: 1039983.645 units remaining) + - location: 19 (remaining gas: 1039983.900 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039983.600 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039983.600 units remaining) + - location: 14 (remaining gas: 1039983.900 units remaining) [ "1" @parameter { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039983.490 units remaining) + - location: 20 (remaining gas: 1039983.820 units remaining) [ (Some "one") { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039983.415 units remaining) + - location: 21 (remaining gas: 1039983.775 units remaining) [ (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 22 (remaining gas: 1039983.340 units remaining) + - location: 22 (remaining gas: 1039983.730 units remaining) [ {} (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 24 (remaining gas: 1039983.265 units remaining) - [ (Pair {} (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: -1 (remaining gas: 1039983.220 units remaining) + - location: 24 (remaining gas: 1039983.685 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 3403dd20c35c..fd202ee6b283 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,40 +7,35 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039984.923 units remaining) + - location: 12 (remaining gas: 1039984.923 units remaining) [ (Pair "" None { Elt "hello" "hi" }) ] - - location: 12 (remaining gas: 1039984.843 units remaining) + - location: 12 (remaining gas: 1039984.873 units remaining) [ (Pair "" None { Elt "hello" "hi" }) (Pair "" None { Elt "hello" "hi" }) ] - - location: 13 (remaining gas: 1039984.763 units remaining) + - location: 13 (remaining gas: 1039984.823 units remaining) [ "" @parameter (Pair "" None { Elt "hello" "hi" }) ] - - location: 17 (remaining gas: 1039984.578 units remaining) + - location: 14 (remaining gas: 1039984.778 units remaining) + [ (Pair "" None { Elt "hello" "hi" }) ] + - location: 17 (remaining gas: 1039984.728 units remaining) [ (Pair None { Elt "hello" "hi" }) @storage ] - - location: 18 (remaining gas: 1039984.498 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039984.453 units remaining) + - location: 18 (remaining gas: 1039984.678 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039984.373 units remaining) + - location: 19 (remaining gas: 1039984.628 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039984.328 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039984.328 units remaining) + - location: 14 (remaining gas: 1039984.628 units remaining) [ "" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039984.218 units remaining) + - location: 20 (remaining gas: 1039984.548 units remaining) [ None { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039984.143 units remaining) + - location: 21 (remaining gas: 1039984.503 units remaining) [ (Pair None { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039984.068 units remaining) + - location: 22 (remaining gas: 1039984.458 units remaining) [ {} (Pair None { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039983.993 units remaining) - [ (Pair {} None { Elt "hello" "hi" }) ] - - location: -1 (remaining gas: 1039983.948 units remaining) + - location: 24 (remaining gas: 1039984.413 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 c846a166e656..e08fb47d2224 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,40 +7,35 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039984.873 units remaining) + - location: 12 (remaining gas: 1039984.873 units remaining) [ (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 12 (remaining gas: 1039984.793 units remaining) + - location: 12 (remaining gas: 1039984.823 units remaining) [ (Pair "hello" None { Elt "hello" "hi" }) (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 13 (remaining gas: 1039984.713 units remaining) + - location: 13 (remaining gas: 1039984.773 units remaining) [ "hello" @parameter (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 17 (remaining gas: 1039984.528 units remaining) + - location: 14 (remaining gas: 1039984.728 units remaining) + [ (Pair "hello" None { Elt "hello" "hi" }) ] + - location: 17 (remaining gas: 1039984.678 units remaining) [ (Pair None { Elt "hello" "hi" }) @storage ] - - location: 18 (remaining gas: 1039984.448 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039984.403 units remaining) + - location: 18 (remaining gas: 1039984.628 units remaining) [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039984.323 units remaining) + - location: 19 (remaining gas: 1039984.578 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039984.278 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039984.278 units remaining) + - location: 14 (remaining gas: 1039984.578 units remaining) [ "hello" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039984.168 units remaining) + - location: 20 (remaining gas: 1039984.498 units remaining) [ (Some "hi") { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039984.093 units remaining) + - location: 21 (remaining gas: 1039984.453 units remaining) [ (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039984.018 units remaining) + - location: 22 (remaining gas: 1039984.408 units remaining) [ {} (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039983.943 units remaining) - [ (Pair {} (Some "hi") { Elt "hello" "hi" }) ] - - location: -1 (remaining gas: 1039983.898 units remaining) + - location: 24 (remaining gas: 1039984.363 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 df457b283a1d..b071c8eee747 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039964.690 units remaining) + - location: 8 (remaining gas: 1039964.690 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" None) ] - - location: 8 (remaining gas: 1039964.610 units remaining) + - location: 8 (remaining gas: 1039964.640 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter ] - - location: 9 (remaining gas: 1039964 units remaining) + - location: 9 (remaining gas: 1039964.060 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 10 (remaining gas: 1039963.925 units remaining) + - location: 10 (remaining gas: 1039964.015 units remaining) [ (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] - - location: 11 (remaining gas: 1039963.850 units remaining) + - location: 11 (remaining gas: 1039963.970 units remaining) [ {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] - - location: 13 (remaining gas: 1039963.775 units remaining) - [ (Pair {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")) ] - - location: -1 (remaining gas: 1039963.730 units remaining) + - location: 13 (remaining gas: 1039963.925 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 e289ea6db6bb..0de43169426e 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039964.690 units remaining) + - location: 8 (remaining gas: 1039964.690 units remaining) [ (Pair "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" None) ] - - location: 8 (remaining gas: 1039964.610 units remaining) + - location: 8 (remaining gas: 1039964.640 units remaining) [ "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" @parameter ] - - location: 9 (remaining gas: 1039964 units remaining) + - location: 9 (remaining gas: 1039964.060 units remaining) [ "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k" ] - - location: 10 (remaining gas: 1039963.925 units remaining) + - location: 10 (remaining gas: 1039964.015 units remaining) [ (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] - - location: 11 (remaining gas: 1039963.850 units remaining) + - location: 11 (remaining gas: 1039963.970 units remaining) [ {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] - - location: 13 (remaining gas: 1039963.775 units remaining) - [ (Pair {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")) ] - - location: -1 (remaining gas: 1039963.730 units remaining) + - location: 13 (remaining gas: 1039963.925 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 d8823b4a98d6..438f1743398d 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.926 units remaining) + - location: 7 (remaining gas: 1039993.926 units remaining) [ (Pair "12345" 0x00) ] - - location: 7 (remaining gas: 1039993.846 units remaining) + - location: 7 (remaining gas: 1039993.876 units remaining) [ "12345" @parameter ] - - location: 8 (remaining gas: 1039981.576 units remaining) + - location: 8 (remaining gas: 1039981.636 units remaining) [ 0x0501000000053132333435 @parameter.packed ] - - location: 9 (remaining gas: 1039981.033 units remaining) + - location: 9 (remaining gas: 1039981.123 units remaining) [ 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] - - location: 10 (remaining gas: 1039980.958 units remaining) + - location: 10 (remaining gas: 1039981.078 units remaining) [ {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] - - location: 12 (remaining gas: 1039980.883 units remaining) - [ (Pair {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f) ] - - location: -1 (remaining gas: 1039980.838 units remaining) + - location: 12 (remaining gas: 1039981.033 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 0040691f14ca..53e886aaa94c 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039993.906 units remaining) + - location: 7 (remaining gas: 1039993.906 units remaining) [ (Pair "abcdefg" 0x00) ] - - location: 7 (remaining gas: 1039993.826 units remaining) + - location: 7 (remaining gas: 1039993.856 units remaining) [ "abcdefg" @parameter ] - - location: 8 (remaining gas: 1039981.556 units remaining) + - location: 8 (remaining gas: 1039981.616 units remaining) [ 0x05010000000761626364656667 @parameter.packed ] - - location: 9 (remaining gas: 1039981.010 units remaining) + - location: 9 (remaining gas: 1039981.100 units remaining) [ 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] - - location: 10 (remaining gas: 1039980.935 units remaining) + - location: 10 (remaining gas: 1039981.055 units remaining) [ {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] - - location: 12 (remaining gas: 1039980.860 units remaining) - [ (Pair {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e) ] - - location: -1 (remaining gas: 1039980.815 units remaining) + - location: 12 (remaining gas: 1039981.010 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 8e72881e7e0d..59848575831f 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,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.240 units remaining) + - location: 8 (remaining gas: 1039991.240 units remaining) [ (Pair False None) ] - - location: 8 (remaining gas: 1039991.160 units remaining) + - location: 8 (remaining gas: 1039991.190 units remaining) [ False @parameter ] - - location: 15 (remaining gas: 1039991.030 units remaining) + - location: 9 (remaining gas: 1039991.165 units remaining) + [ ] + - location: 15 (remaining gas: 1039991.120 units remaining) [ False ] - - location: 14 (remaining gas: 1039990.985 units remaining) - [ False ] - - location: 18 (remaining gas: 1039990.910 units remaining) + - location: 18 (remaining gas: 1039991.075 units remaining) [ (Some False) ] - - location: 19 (remaining gas: 1039990.835 units remaining) + - location: 19 (remaining gas: 1039991.030 units remaining) [ {} (Some False) ] - - location: 21 (remaining gas: 1039990.760 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039990.715 units remaining) + - location: 21 (remaining gas: 1039990.985 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 f1fc1afab864..5381f75ca345 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,19 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.240 units remaining) + - location: 8 (remaining gas: 1039991.240 units remaining) [ (Pair True None) ] - - location: 8 (remaining gas: 1039991.160 units remaining) + - location: 8 (remaining gas: 1039991.190 units remaining) [ True @parameter ] - - location: 11 (remaining gas: 1039991.030 units remaining) + - location: 9 (remaining gas: 1039991.165 units remaining) + [ ] + - location: 11 (remaining gas: 1039991.120 units remaining) [ True ] - - location: 10 (remaining gas: 1039990.985 units remaining) - [ True ] - - location: 18 (remaining gas: 1039990.910 units remaining) + - location: 18 (remaining gas: 1039991.075 units remaining) [ (Some True) ] - - location: 19 (remaining gas: 1039990.835 units remaining) + - location: 19 (remaining gas: 1039991.030 units remaining) [ {} (Some True) ] - - location: 21 (remaining gas: 1039990.760 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039990.715 units remaining) + - location: 21 (remaining gas: 1039990.985 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 19f0ae41ebcf..8f2d02e8fc55 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.188 units remaining) + - location: 8 (remaining gas: 1039992.188 units remaining) [ (Pair (Some "hello") "?") ] - - location: 8 (remaining gas: 1039992.108 units remaining) + - location: 8 (remaining gas: 1039992.138 units remaining) [ (Some "hello") @parameter ] - - location: 15 (remaining gas: 1039991.973 units remaining) + - location: 10 (remaining gas: 1039992.108 units remaining) + [ "hello" @parameter.some ] + - location: 15 (remaining gas: 1039992.063 units remaining) [ "hello" ] - - location: 9 (remaining gas: 1039991.928 units remaining) - [ "hello" ] - - location: 16 (remaining gas: 1039991.853 units remaining) + - location: 16 (remaining gas: 1039992.018 units remaining) [ {} "hello" ] - - location: 18 (remaining gas: 1039991.778 units remaining) - [ (Pair {} "hello") ] - - location: -1 (remaining gas: 1039991.733 units remaining) + - location: 18 (remaining gas: 1039991.973 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 182365945a0c..0a3ec88b558c 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,21 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.492 units remaining) + - location: 8 (remaining gas: 1039992.492 units remaining) [ (Pair None "?") ] - - location: 8 (remaining gas: 1039992.412 units remaining) + - location: 8 (remaining gas: 1039992.442 units remaining) [ None @parameter ] - - location: 12 (remaining gas: 1039992.247 units remaining) + - location: 10 (remaining gas: 1039992.412 units remaining) + [ ] + - location: 12 (remaining gas: 1039992.367 units remaining) [ "" ] - - location: 11 (remaining gas: 1039992.202 units remaining) - [ "" ] - - location: 9 (remaining gas: 1039992.157 units remaining) - [ "" ] - - location: 16 (remaining gas: 1039992.082 units remaining) + - location: 16 (remaining gas: 1039992.322 units remaining) [ {} "" ] - - location: 18 (remaining gas: 1039992.007 units remaining) - [ (Pair {} "") ] - - location: -1 (remaining gas: 1039991.962 units remaining) + - location: 18 (remaining gas: 1039992.277 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 13f2dca17a30..14d0c6b4ea29 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair 0 None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ 0 @parameter ] - - location: 9 (remaining gas: 1039993.535 units remaining) + - location: 9 (remaining gas: 1039993.595 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039993.460 units remaining) + - location: 10 (remaining gas: 1039993.550 units remaining) [ (Some 0) ] - - location: 11 (remaining gas: 1039993.385 units remaining) + - location: 11 (remaining gas: 1039993.505 units remaining) [ {} (Some 0) ] - - location: 13 (remaining gas: 1039993.310 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039993.265 units remaining) + - location: 13 (remaining gas: 1039993.460 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 60f78db23ed9..edb768f6e69d 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair 1 None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ 1 @parameter ] - - location: 9 (remaining gas: 1039993.535 units remaining) + - location: 9 (remaining gas: 1039993.595 units remaining) [ 1 ] - - location: 10 (remaining gas: 1039993.460 units remaining) + - location: 10 (remaining gas: 1039993.550 units remaining) [ (Some 1) ] - - location: 11 (remaining gas: 1039993.385 units remaining) + - location: 11 (remaining gas: 1039993.505 units remaining) [ {} (Some 1) ] - - location: 13 (remaining gas: 1039993.310 units remaining) - [ (Pair {} (Some 1)) ] - - location: -1 (remaining gas: 1039993.265 units remaining) + - location: 13 (remaining gas: 1039993.460 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 000fd203d0ac..eed5c5836fca 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair 9999 None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ 9999 @parameter ] - - location: 9 (remaining gas: 1039993.535 units remaining) + - location: 9 (remaining gas: 1039993.595 units remaining) [ 9999 ] - - location: 10 (remaining gas: 1039993.460 units remaining) + - location: 10 (remaining gas: 1039993.550 units remaining) [ (Some 9999) ] - - location: 11 (remaining gas: 1039993.385 units remaining) + - location: 11 (remaining gas: 1039993.505 units remaining) [ {} (Some 9999) ] - - location: 13 (remaining gas: 1039993.310 units remaining) - [ (Pair {} (Some 9999)) ] - - location: -1 (remaining gas: 1039993.265 units remaining) + - location: 13 (remaining gas: 1039993.460 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 0866cc72f534..393d7510d635 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,21 +7,18 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ 0x48656c6c6f2c20776f726c6421 @parameter ] - - location: 9 (remaining gas: 1039991.790 units remaining) + - location: 9 (remaining gas: 1039991.850 units remaining) [ 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4 ] - - location: 10 (remaining gas: 1039991.715 units remaining) + - location: 10 (remaining gas: 1039991.805 units remaining) [ (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] - - location: 11 (remaining gas: 1039991.640 units remaining) + - location: 11 (remaining gas: 1039991.760 units remaining) [ {} (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] - - location: 13 (remaining gas: 1039991.565 units remaining) - [ (Pair {} - (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4)) ] - - location: -1 (remaining gas: 1039991.520 units remaining) + - location: 13 (remaining gas: 1039991.715 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 823947edf369..3dea848ea425 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,17 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.066 units remaining) + - location: 11 (remaining gas: 1039991.066 units remaining) [ (Pair (Left True) (Left "X")) ] - - location: 11 (remaining gas: 1039990.986 units remaining) + - location: 11 (remaining gas: 1039991.016 units remaining) [ (Left True) @parameter ] - - location: 14 (remaining gas: 1039990.851 units remaining) + - location: 12 (remaining gas: 1039990.986 units remaining) + [ True @parameter.left ] + - location: 14 (remaining gas: 1039990.941 units remaining) [ (Right True) ] - - location: 13 (remaining gas: 1039990.806 units remaining) - [ (Right True) ] - - location: 19 (remaining gas: 1039990.731 units remaining) + - location: 19 (remaining gas: 1039990.896 units remaining) [ {} (Right True) ] - - location: 21 (remaining gas: 1039990.656 units remaining) - [ (Pair {} (Right True)) ] - - location: -1 (remaining gas: 1039990.611 units remaining) + - location: 21 (remaining gas: 1039990.851 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 078045feefdd..c040732ad5ff 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,17 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039991.042 units remaining) + - location: 11 (remaining gas: 1039991.042 units remaining) [ (Pair (Right "a") (Left "X")) ] - - location: 11 (remaining gas: 1039990.962 units remaining) + - location: 11 (remaining gas: 1039990.992 units remaining) [ (Right "a") @parameter ] - - location: 17 (remaining gas: 1039990.827 units remaining) + - location: 12 (remaining gas: 1039990.962 units remaining) + [ "a" @parameter.right ] + - location: 17 (remaining gas: 1039990.917 units remaining) [ (Left "a") ] - - location: 16 (remaining gas: 1039990.782 units remaining) - [ (Left "a") ] - - location: 19 (remaining gas: 1039990.707 units remaining) + - location: 19 (remaining gas: 1039990.872 units remaining) [ {} (Left "a") ] - - location: 21 (remaining gas: 1039990.632 units remaining) - [ (Pair {} (Left "a")) ] - - location: -1 (remaining gas: 1039990.587 units remaining) + - location: 21 (remaining gas: 1039990.827 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 9253c6f4ad2d..bcf63070f4cf 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039994.740 units remaining) + - location: 7 (remaining gas: 1039994.740 units remaining) [ (Pair Unit 111) ] - - location: 7 (remaining gas: 1039994.665 units remaining) + - location: 7 (remaining gas: 1039994.695 units remaining) [ ] - - location: 8 (remaining gas: 1039994.545 units remaining) + - location: 8 (remaining gas: 1039994.605 units remaining) [ 1 @level ] - - location: 9 (remaining gas: 1039994.470 units remaining) + - location: 9 (remaining gas: 1039994.560 units remaining) [ {} 1 @level ] - - location: 11 (remaining gas: 1039994.395 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039994.350 units remaining) + - location: 11 (remaining gas: 1039994.515 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 039c2d2a3646..e6ee6c1eb461 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.104 units remaining) + - location: 8 (remaining gas: 1039992.104 units remaining) [ (Pair { "d" ; "e" ; "f" } "abc") ] - - location: 8 (remaining gas: 1039992.024 units remaining) + - location: 8 (remaining gas: 1039992.054 units remaining) [ { "d" ; "e" ; "f" } @parameter "abc" @storage ] - - location: 9 (remaining gas: 1039991.954 units remaining) + - location: 9 (remaining gas: 1039992.014 units remaining) [ "abc" @storage { "d" ; "e" ; "f" } @parameter ] - - location: 10 (remaining gas: 1039991.874 units remaining) + - location: 10 (remaining gas: 1039991.964 units remaining) [ { "abc" ; "d" ; "e" ; "f" } ] - - location: 11 (remaining gas: 1039991.704 units remaining) + - location: 11 (remaining gas: 1039991.824 units remaining) [ "abcdef" ] - - location: 12 (remaining gas: 1039991.629 units remaining) + - location: 12 (remaining gas: 1039991.779 units remaining) [ {} "abcdef" ] - - location: 14 (remaining gas: 1039991.554 units remaining) - [ (Pair {} "abcdef") ] - - location: -1 (remaining gas: 1039991.509 units remaining) + - location: 14 (remaining gas: 1039991.734 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 1d23979c5eaa..18fb2df1b38b 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.896 units remaining) + - location: 8 (remaining gas: 1039992.896 units remaining) [ (Pair {} "abc") ] - - location: 8 (remaining gas: 1039992.816 units remaining) + - location: 8 (remaining gas: 1039992.846 units remaining) [ {} @parameter "abc" @storage ] - - location: 9 (remaining gas: 1039992.746 units remaining) + - location: 9 (remaining gas: 1039992.806 units remaining) [ "abc" @storage {} @parameter ] - - location: 10 (remaining gas: 1039992.666 units remaining) + - location: 10 (remaining gas: 1039992.756 units remaining) [ { "abc" } ] - - location: 11 (remaining gas: 1039992.526 units remaining) + - location: 11 (remaining gas: 1039992.646 units remaining) [ "abc" ] - - location: 12 (remaining gas: 1039992.451 units remaining) + - location: 12 (remaining gas: 1039992.601 units remaining) [ {} "abc" ] - - location: 14 (remaining gas: 1039992.376 units remaining) - [ (Pair {} "abc") ] - - location: -1 (remaining gas: 1039992.331 units remaining) + - location: 14 (remaining gas: 1039992.556 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 2048e00f8d36..8fc1e480c7d0 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.220 units remaining) + - location: 8 (remaining gas: 1039992.220 units remaining) [ (Pair { 0x00 ; 0x11 ; 0x00 } 0x) ] - - location: 8 (remaining gas: 1039992.140 units remaining) + - location: 8 (remaining gas: 1039992.170 units remaining) [ { 0x00 ; 0x11 ; 0x00 } @parameter 0x @storage ] - - location: 9 (remaining gas: 1039992.070 units remaining) + - location: 9 (remaining gas: 1039992.130 units remaining) [ 0x @storage { 0x00 ; 0x11 ; 0x00 } @parameter ] - - location: 10 (remaining gas: 1039991.990 units remaining) + - location: 10 (remaining gas: 1039992.080 units remaining) [ { 0x ; 0x00 ; 0x11 ; 0x00 } ] - - location: 11 (remaining gas: 1039991.820 units remaining) + - location: 11 (remaining gas: 1039991.940 units remaining) [ 0x001100 ] - - location: 12 (remaining gas: 1039991.745 units remaining) + - location: 12 (remaining gas: 1039991.895 units remaining) [ {} 0x001100 ] - - location: 14 (remaining gas: 1039991.670 units remaining) - [ (Pair {} 0x001100) ] - - location: -1 (remaining gas: 1039991.625 units remaining) + - location: 14 (remaining gas: 1039991.850 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 f67118046bb3..9a23779e38c4 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.940 units remaining) + - location: 8 (remaining gas: 1039992.940 units remaining) [ (Pair {} 0x) ] - - location: 8 (remaining gas: 1039992.860 units remaining) + - location: 8 (remaining gas: 1039992.890 units remaining) [ {} @parameter 0x @storage ] - - location: 9 (remaining gas: 1039992.790 units remaining) + - location: 9 (remaining gas: 1039992.850 units remaining) [ 0x @storage {} @parameter ] - - location: 10 (remaining gas: 1039992.710 units remaining) + - location: 10 (remaining gas: 1039992.800 units remaining) [ { 0x } ] - - location: 11 (remaining gas: 1039992.570 units remaining) + - location: 11 (remaining gas: 1039992.690 units remaining) [ 0x ] - - location: 12 (remaining gas: 1039992.495 units remaining) + - location: 12 (remaining gas: 1039992.645 units remaining) [ {} 0x ] - - location: 14 (remaining gas: 1039992.420 units remaining) - [ (Pair {} 0x) ] - - location: -1 (remaining gas: 1039992.375 units remaining) + - location: 14 (remaining gas: 1039992.600 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 d25cf2452639..2963be763336 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.220 units remaining) + - location: 8 (remaining gas: 1039992.220 units remaining) [ (Pair { 0xcd ; 0xef ; 0x00 } 0x00ab) ] - - location: 8 (remaining gas: 1039992.140 units remaining) + - location: 8 (remaining gas: 1039992.170 units remaining) [ { 0xcd ; 0xef ; 0x00 } @parameter 0x00ab @storage ] - - location: 9 (remaining gas: 1039992.070 units remaining) + - location: 9 (remaining gas: 1039992.130 units remaining) [ 0x00ab @storage { 0xcd ; 0xef ; 0x00 } @parameter ] - - location: 10 (remaining gas: 1039991.990 units remaining) + - location: 10 (remaining gas: 1039992.080 units remaining) [ { 0x00ab ; 0xcd ; 0xef ; 0x00 } ] - - location: 11 (remaining gas: 1039991.820 units remaining) + - location: 11 (remaining gas: 1039991.940 units remaining) [ 0x00abcdef00 ] - - location: 12 (remaining gas: 1039991.745 units remaining) + - location: 12 (remaining gas: 1039991.895 units remaining) [ {} 0x00abcdef00 ] - - location: 14 (remaining gas: 1039991.670 units remaining) - [ (Pair {} 0x00abcdef00) ] - - location: -1 (remaining gas: 1039991.625 units remaining) + - location: 14 (remaining gas: 1039991.850 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 88b1c618f544..d3247cb43dee 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039992.940 units remaining) + - location: 8 (remaining gas: 1039992.940 units remaining) [ (Pair {} 0xabcd) ] - - location: 8 (remaining gas: 1039992.860 units remaining) + - location: 8 (remaining gas: 1039992.890 units remaining) [ {} @parameter 0xabcd @storage ] - - location: 9 (remaining gas: 1039992.790 units remaining) + - location: 9 (remaining gas: 1039992.850 units remaining) [ 0xabcd @storage {} @parameter ] - - location: 10 (remaining gas: 1039992.710 units remaining) + - location: 10 (remaining gas: 1039992.800 units remaining) [ { 0xabcd } ] - - location: 11 (remaining gas: 1039992.570 units remaining) + - location: 11 (remaining gas: 1039992.690 units remaining) [ 0xabcd ] - - location: 12 (remaining gas: 1039992.495 units remaining) + - location: 12 (remaining gas: 1039992.645 units remaining) [ {} 0xabcd ] - - location: 14 (remaining gas: 1039992.420 units remaining) - [ (Pair {} 0xabcd) ] - - location: -1 (remaining gas: 1039992.375 units remaining) + - location: 14 (remaining gas: 1039992.600 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 6622ba873190..d487ed9b20a6 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.974 units remaining) + - location: 9 (remaining gas: 1039993.974 units remaining) [ (Pair { "1" ; "2" ; "3" } { "" }) ] - - location: 9 (remaining gas: 1039993.894 units remaining) + - location: 9 (remaining gas: 1039993.924 units remaining) [ { "1" ; "2" ; "3" } @parameter ] - - location: 10 (remaining gas: 1039993.819 units remaining) + - location: 10 (remaining gas: 1039993.879 units remaining) [ {} { "1" ; "2" ; "3" } @parameter ] - - location: 12 (remaining gas: 1039993.744 units remaining) - [ (Pair {} { "1" ; "2" ; "3" }) ] - - location: -1 (remaining gas: 1039993.699 units remaining) + - location: 12 (remaining gas: 1039993.834 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 9d92ad570137..9205a311f360 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.974 units remaining) + - location: 9 (remaining gas: 1039993.974 units remaining) [ (Pair { "a" ; "b" ; "c" } { "" }) ] - - location: 9 (remaining gas: 1039993.894 units remaining) + - location: 9 (remaining gas: 1039993.924 units remaining) [ { "a" ; "b" ; "c" } @parameter ] - - location: 10 (remaining gas: 1039993.819 units remaining) + - location: 10 (remaining gas: 1039993.879 units remaining) [ {} { "a" ; "b" ; "c" } @parameter ] - - location: 12 (remaining gas: 1039993.744 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039993.699 units remaining) + - location: 12 (remaining gas: 1039993.834 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 3cb41720b79f..1d903580de23 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.766 units remaining) + - location: 9 (remaining gas: 1039994.766 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039994.686 units remaining) + - location: 9 (remaining gas: 1039994.716 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039994.611 units remaining) + - location: 10 (remaining gas: 1039994.671 units remaining) [ {} {} @parameter ] - - location: 12 (remaining gas: 1039994.536 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039994.491 units remaining) + - location: 12 (remaining gas: 1039994.626 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 4b33d28e0fc2..d94fed56dbbe 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,23 +7,27 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.849 units remaining) + - location: 9 (remaining gas: 1039992.849 units remaining) [ (Pair { "1" ; "2" ; "3" } { "" }) ] - - location: 9 (remaining gas: 1039992.769 units remaining) + - location: 9 (remaining gas: 1039992.799 units remaining) [ { "1" ; "2" ; "3" } @parameter ] - - location: 11 (remaining gas: 1039992.158 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ "1" @parameter.elt ] - - location: 11 (remaining gas: 1039992.113 units remaining) + - location: 11 (remaining gas: 1039992.218 units remaining) + [ "1" ] + - location: 10 (remaining gas: 1039992.218 units remaining) [ "2" @parameter.elt ] - - location: 11 (remaining gas: 1039992.068 units remaining) + - location: 11 (remaining gas: 1039992.173 units remaining) + [ "2" ] + - location: 10 (remaining gas: 1039992.173 units remaining) [ "3" @parameter.elt ] - - location: 10 (remaining gas: 1039992.068 units remaining) + - location: 11 (remaining gas: 1039992.128 units remaining) + [ "3" ] + - location: 10 (remaining gas: 1039992.128 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039991.993 units remaining) + - location: 12 (remaining gas: 1039992.083 units remaining) [ {} { "1" ; "2" ; "3" } ] - - location: 14 (remaining gas: 1039991.918 units remaining) - [ (Pair {} { "1" ; "2" ; "3" }) ] - - location: -1 (remaining gas: 1039991.873 units remaining) + - location: 14 (remaining gas: 1039992.038 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 1ab53a763c7e..fc2c8390662d 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,23 +7,27 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.849 units remaining) + - location: 9 (remaining gas: 1039992.849 units remaining) [ (Pair { "a" ; "b" ; "c" } { "" }) ] - - location: 9 (remaining gas: 1039992.769 units remaining) + - location: 9 (remaining gas: 1039992.799 units remaining) [ { "a" ; "b" ; "c" } @parameter ] - - location: 11 (remaining gas: 1039992.158 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ "a" @parameter.elt ] - - location: 11 (remaining gas: 1039992.113 units remaining) + - location: 11 (remaining gas: 1039992.218 units remaining) + [ "a" ] + - location: 10 (remaining gas: 1039992.218 units remaining) [ "b" @parameter.elt ] - - location: 11 (remaining gas: 1039992.068 units remaining) + - location: 11 (remaining gas: 1039992.173 units remaining) + [ "b" ] + - location: 10 (remaining gas: 1039992.173 units remaining) [ "c" @parameter.elt ] - - location: 10 (remaining gas: 1039992.068 units remaining) + - location: 11 (remaining gas: 1039992.128 units remaining) + [ "c" ] + - location: 10 (remaining gas: 1039992.128 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039991.993 units remaining) + - location: 12 (remaining gas: 1039992.083 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039991.918 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039991.873 units remaining) + - location: 14 (remaining gas: 1039992.038 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 f65c6cba6dbc..740ca4a4d4e4 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.641 units remaining) + - location: 9 (remaining gas: 1039993.641 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039993.561 units remaining) + - location: 9 (remaining gas: 1039993.591 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039993.031 units remaining) + - location: 10 (remaining gas: 1039993.091 units remaining) [ {} ] - - location: 12 (remaining gas: 1039992.956 units remaining) + - location: 12 (remaining gas: 1039993.046 units remaining) [ {} {} ] - - location: 14 (remaining gas: 1039992.881 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039992.836 units remaining) + - location: 14 (remaining gas: 1039993.001 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 c43b76287eca..5543f94d7abb 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,35 +7,36 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.060 units remaining) + - location: 8 (remaining gas: 1039991.060 units remaining) [ (Pair { 10 ; 2 ; 1 } 0) ] - - location: 8 (remaining gas: 1039990.980 units remaining) + - location: 8 (remaining gas: 1039991.010 units remaining) [ { 10 ; 2 ; 1 } @parameter ] - - location: 9 (remaining gas: 1039990.905 units remaining) + - location: 9 (remaining gas: 1039990.965 units remaining) [ 1 { 10 ; 2 ; 1 } @parameter ] - - location: 12 (remaining gas: 1039990.835 units remaining) + - location: 12 (remaining gas: 1039990.925 units remaining) [ { 10 ; 2 ; 1 } @parameter 1 ] - - location: 15 (remaining gas: 1039990.168 units remaining) - [ 10 ] - - location: 14 (remaining gas: 1039990.123 units remaining) + - location: 13 (remaining gas: 1039990.404 units remaining) + [ 10 @parameter.elt + 1 ] + - location: 15 (remaining gas: 1039990.318 units remaining) [ 10 ] - - location: 15 (remaining gas: 1039990.007 units remaining) - [ 20 ] - - location: 14 (remaining gas: 1039989.962 units remaining) + - location: 13 (remaining gas: 1039990.318 units remaining) + [ 2 @parameter.elt + 10 ] + - location: 15 (remaining gas: 1039990.232 units remaining) [ 20 ] - - location: 15 (remaining gas: 1039989.846 units remaining) - [ 20 ] - - location: 14 (remaining gas: 1039989.801 units remaining) + - location: 13 (remaining gas: 1039990.232 units remaining) + [ 1 @parameter.elt + 20 ] + - location: 15 (remaining gas: 1039990.146 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039989.801 units remaining) + - location: 13 (remaining gas: 1039990.146 units remaining) [ 20 ] - - location: 16 (remaining gas: 1039989.726 units remaining) + - location: 16 (remaining gas: 1039990.101 units remaining) [ {} 20 ] - - location: 18 (remaining gas: 1039989.651 units remaining) - [ (Pair {} 20) ] - - location: -1 (remaining gas: 1039989.606 units remaining) + - location: 18 (remaining gas: 1039990.056 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 53be8b7b9517..6f54dd3c14bc 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,35 +7,36 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.060 units remaining) + - location: 8 (remaining gas: 1039991.060 units remaining) [ (Pair { 3 ; 6 ; 9 } 0) ] - - location: 8 (remaining gas: 1039990.980 units remaining) + - location: 8 (remaining gas: 1039991.010 units remaining) [ { 3 ; 6 ; 9 } @parameter ] - - location: 9 (remaining gas: 1039990.905 units remaining) + - location: 9 (remaining gas: 1039990.965 units remaining) [ 1 { 3 ; 6 ; 9 } @parameter ] - - location: 12 (remaining gas: 1039990.835 units remaining) + - location: 12 (remaining gas: 1039990.925 units remaining) [ { 3 ; 6 ; 9 } @parameter 1 ] - - location: 15 (remaining gas: 1039990.168 units remaining) - [ 3 ] - - location: 14 (remaining gas: 1039990.123 units remaining) + - location: 13 (remaining gas: 1039990.404 units remaining) + [ 3 @parameter.elt + 1 ] + - location: 15 (remaining gas: 1039990.318 units remaining) [ 3 ] - - location: 15 (remaining gas: 1039990.007 units remaining) - [ 18 ] - - location: 14 (remaining gas: 1039989.962 units remaining) + - location: 13 (remaining gas: 1039990.318 units remaining) + [ 6 @parameter.elt + 3 ] + - location: 15 (remaining gas: 1039990.232 units remaining) [ 18 ] - - location: 15 (remaining gas: 1039989.846 units remaining) + - location: 13 (remaining gas: 1039990.232 units remaining) + [ 9 @parameter.elt + 18 ] + - location: 15 (remaining gas: 1039990.146 units remaining) [ 162 ] - - location: 14 (remaining gas: 1039989.801 units remaining) + - location: 13 (remaining gas: 1039990.146 units remaining) [ 162 ] - - location: 13 (remaining gas: 1039989.801 units remaining) - [ 162 ] - - location: 16 (remaining gas: 1039989.726 units remaining) + - location: 16 (remaining gas: 1039990.101 units remaining) [ {} 162 ] - - location: 18 (remaining gas: 1039989.651 units remaining) - [ (Pair {} 162) ] - - location: -1 (remaining gas: 1039989.606 units remaining) + - location: 18 (remaining gas: 1039990.056 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 2f301d6d2a28..20e2973eeaa2 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,136 +7,130 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039984.380 units remaining) + - location: 9 (remaining gas: 1039984.380 units remaining) [ (Pair { 1 ; 1 ; 1 ; 1 } { 0 }) ] - - location: 9 (remaining gas: 1039984.300 units remaining) + - location: 9 (remaining gas: 1039984.330 units remaining) [ { 1 ; 1 ; 1 ; 1 } @parameter ] - - location: 10 (remaining gas: 1039984.225 units remaining) + - location: 10 (remaining gas: 1039984.285 units remaining) [ 0 { 1 ; 1 ; 1 ; 1 } @parameter ] - - location: 13 (remaining gas: 1039984.155 units remaining) + - location: 13 (remaining gas: 1039984.245 units remaining) [ { 1 ; 1 ; 1 ; 1 } @parameter 0 ] - - location: 18 (remaining gas: 1039983.422 units remaining) - [ 0 + - location: 14 (remaining gas: 1039983.697 units remaining) + [ 1 @parameter.elt 0 ] - - location: 17 (remaining gas: 1039983.377 units remaining) + - location: 16 (remaining gas: 1039983.652 units remaining) + [ 0 ] + - location: 18 (remaining gas: 1039983.602 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039983.377 units remaining) + - location: 16 (remaining gas: 1039983.602 units remaining) [ 1 @parameter.elt 0 0 ] - - location: 19 (remaining gas: 1039983.267 units remaining) + - location: 19 (remaining gas: 1039983.522 units remaining) [ 1 0 ] - - location: 22 (remaining gas: 1039983.117 units remaining) + - location: 20 (remaining gas: 1039983.477 units remaining) + [ 0 ] + - location: 22 (remaining gas: 1039983.432 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039983.007 units remaining) - [ 1 ] - - location: -1 (remaining gas: 1039982.962 units remaining) + - location: 25 (remaining gas: 1039983.352 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039982.962 units remaining) + - location: 20 (remaining gas: 1039983.352 units remaining) [ 1 1 ] - - location: -1 (remaining gas: 1039982.917 units remaining) - [ 1 - 1 ] - - location: 18 (remaining gas: 1039982.762 units remaining) - [ 1 + - location: 14 (remaining gas: 1039983.352 units remaining) + [ 1 @parameter.elt 1 ] - - location: 17 (remaining gas: 1039982.717 units remaining) + - location: 16 (remaining gas: 1039983.307 units remaining) + [ 1 ] + - location: 18 (remaining gas: 1039983.257 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039982.717 units remaining) + - location: 16 (remaining gas: 1039983.257 units remaining) [ 1 @parameter.elt 1 1 ] - - location: 19 (remaining gas: 1039982.607 units remaining) + - location: 19 (remaining gas: 1039983.177 units remaining) [ 2 1 ] - - location: 22 (remaining gas: 1039982.457 units remaining) + - location: 20 (remaining gas: 1039983.132 units remaining) + [ 1 ] + - location: 22 (remaining gas: 1039983.087 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039982.347 units remaining) - [ 2 ] - - location: -1 (remaining gas: 1039982.302 units remaining) + - location: 25 (remaining gas: 1039983.007 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039982.302 units remaining) + - location: 20 (remaining gas: 1039983.007 units remaining) [ 2 2 ] - - location: -1 (remaining gas: 1039982.257 units remaining) - [ 2 - 2 ] - - location: 18 (remaining gas: 1039982.102 units remaining) - [ 2 + - location: 14 (remaining gas: 1039983.007 units remaining) + [ 1 @parameter.elt 2 ] - - location: 17 (remaining gas: 1039982.057 units remaining) + - location: 16 (remaining gas: 1039982.962 units remaining) + [ 2 ] + - location: 18 (remaining gas: 1039982.912 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039982.057 units remaining) + - location: 16 (remaining gas: 1039982.912 units remaining) [ 1 @parameter.elt 2 2 ] - - location: 19 (remaining gas: 1039981.947 units remaining) + - location: 19 (remaining gas: 1039982.832 units remaining) [ 3 2 ] - - location: 22 (remaining gas: 1039981.797 units remaining) + - location: 20 (remaining gas: 1039982.787 units remaining) + [ 2 ] + - location: 22 (remaining gas: 1039982.742 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039981.687 units remaining) + - location: 25 (remaining gas: 1039982.662 units remaining) [ 3 ] - - location: -1 (remaining gas: 1039981.642 units remaining) - [ 3 ] - - location: 20 (remaining gas: 1039981.642 units remaining) - [ 3 - 3 ] - - location: -1 (remaining gas: 1039981.597 units remaining) + - location: 20 (remaining gas: 1039982.662 units remaining) [ 3 3 ] - - location: 18 (remaining gas: 1039981.442 units remaining) - [ 3 + - location: 14 (remaining gas: 1039982.662 units remaining) + [ 1 @parameter.elt 3 ] - - location: 17 (remaining gas: 1039981.397 units remaining) + - location: 16 (remaining gas: 1039982.617 units remaining) + [ 3 ] + - location: 18 (remaining gas: 1039982.567 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039981.397 units remaining) + - location: 16 (remaining gas: 1039982.567 units remaining) [ 1 @parameter.elt 3 3 ] - - location: 19 (remaining gas: 1039981.287 units remaining) + - location: 19 (remaining gas: 1039982.487 units remaining) [ 4 3 ] - - location: 22 (remaining gas: 1039981.137 units remaining) + - location: 20 (remaining gas: 1039982.442 units remaining) + [ 3 ] + - location: 22 (remaining gas: 1039982.397 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039981.027 units remaining) - [ 4 ] - - location: -1 (remaining gas: 1039980.982 units remaining) + - location: 25 (remaining gas: 1039982.317 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039980.982 units remaining) - [ 4 - 4 ] - - location: -1 (remaining gas: 1039980.937 units remaining) + - location: 20 (remaining gas: 1039982.317 units remaining) [ 4 4 ] - - location: 14 (remaining gas: 1039980.937 units remaining) + - location: 14 (remaining gas: 1039982.317 units remaining) [ { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 26 (remaining gas: 1039980.862 units remaining) + - location: 26 (remaining gas: 1039982.272 units remaining) [ {} { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 28 (remaining gas: 1039980.787 units remaining) + - location: 28 (remaining gas: 1039982.227 units remaining) [ (Pair {} { 1 ; 2 ; 3 ; 4 }) 4 ] - - location: 31 (remaining gas: 1039980.637 units remaining) - [ ] - - location: 30 (remaining gas: 1039980.592 units remaining) + - location: 29 (remaining gas: 1039982.182 units remaining) + [ 4 ] + - location: 31 (remaining gas: 1039982.137 units remaining) [ ] - - location: 29 (remaining gas: 1039980.592 units remaining) - [ (Pair {} { 1 ; 2 ; 3 ; 4 }) ] - - location: -1 (remaining gas: 1039980.547 units remaining) + - location: 29 (remaining gas: 1039982.137 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 01c459970553..5d3ef2e4e0af 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,136 +7,130 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039984.380 units remaining) + - location: 9 (remaining gas: 1039984.380 units remaining) [ (Pair { 1 ; 2 ; 3 ; 0 } { 0 }) ] - - location: 9 (remaining gas: 1039984.300 units remaining) + - location: 9 (remaining gas: 1039984.330 units remaining) [ { 1 ; 2 ; 3 ; 0 } @parameter ] - - location: 10 (remaining gas: 1039984.225 units remaining) + - location: 10 (remaining gas: 1039984.285 units remaining) [ 0 { 1 ; 2 ; 3 ; 0 } @parameter ] - - location: 13 (remaining gas: 1039984.155 units remaining) + - location: 13 (remaining gas: 1039984.245 units remaining) [ { 1 ; 2 ; 3 ; 0 } @parameter 0 ] - - location: 18 (remaining gas: 1039983.422 units remaining) - [ 0 + - location: 14 (remaining gas: 1039983.697 units remaining) + [ 1 @parameter.elt 0 ] - - location: 17 (remaining gas: 1039983.377 units remaining) + - location: 16 (remaining gas: 1039983.652 units remaining) + [ 0 ] + - location: 18 (remaining gas: 1039983.602 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039983.377 units remaining) + - location: 16 (remaining gas: 1039983.602 units remaining) [ 1 @parameter.elt 0 0 ] - - location: 19 (remaining gas: 1039983.267 units remaining) + - location: 19 (remaining gas: 1039983.522 units remaining) [ 1 0 ] - - location: 22 (remaining gas: 1039983.117 units remaining) + - location: 20 (remaining gas: 1039983.477 units remaining) + [ 0 ] + - location: 22 (remaining gas: 1039983.432 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039983.007 units remaining) - [ 1 ] - - location: -1 (remaining gas: 1039982.962 units remaining) + - location: 25 (remaining gas: 1039983.352 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039982.962 units remaining) + - location: 20 (remaining gas: 1039983.352 units remaining) [ 1 1 ] - - location: -1 (remaining gas: 1039982.917 units remaining) - [ 1 - 1 ] - - location: 18 (remaining gas: 1039982.762 units remaining) - [ 1 + - location: 14 (remaining gas: 1039983.352 units remaining) + [ 2 @parameter.elt 1 ] - - location: 17 (remaining gas: 1039982.717 units remaining) + - location: 16 (remaining gas: 1039983.307 units remaining) + [ 1 ] + - location: 18 (remaining gas: 1039983.257 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039982.717 units remaining) + - location: 16 (remaining gas: 1039983.257 units remaining) [ 2 @parameter.elt 1 1 ] - - location: 19 (remaining gas: 1039982.607 units remaining) + - location: 19 (remaining gas: 1039983.177 units remaining) [ 3 1 ] - - location: 22 (remaining gas: 1039982.457 units remaining) + - location: 20 (remaining gas: 1039983.132 units remaining) + [ 1 ] + - location: 22 (remaining gas: 1039983.087 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039982.347 units remaining) - [ 2 ] - - location: -1 (remaining gas: 1039982.302 units remaining) + - location: 25 (remaining gas: 1039983.007 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039982.302 units remaining) + - location: 20 (remaining gas: 1039983.007 units remaining) [ 3 2 ] - - location: -1 (remaining gas: 1039982.257 units remaining) - [ 3 - 2 ] - - location: 18 (remaining gas: 1039982.102 units remaining) - [ 2 + - location: 14 (remaining gas: 1039983.007 units remaining) + [ 3 @parameter.elt 2 ] - - location: 17 (remaining gas: 1039982.057 units remaining) + - location: 16 (remaining gas: 1039982.962 units remaining) + [ 2 ] + - location: 18 (remaining gas: 1039982.912 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039982.057 units remaining) + - location: 16 (remaining gas: 1039982.912 units remaining) [ 3 @parameter.elt 2 2 ] - - location: 19 (remaining gas: 1039981.947 units remaining) + - location: 19 (remaining gas: 1039982.832 units remaining) [ 5 2 ] - - location: 22 (remaining gas: 1039981.797 units remaining) + - location: 20 (remaining gas: 1039982.787 units remaining) + [ 2 ] + - location: 22 (remaining gas: 1039982.742 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039981.687 units remaining) + - location: 25 (remaining gas: 1039982.662 units remaining) [ 3 ] - - location: -1 (remaining gas: 1039981.642 units remaining) - [ 3 ] - - location: 20 (remaining gas: 1039981.642 units remaining) - [ 5 - 3 ] - - location: -1 (remaining gas: 1039981.597 units remaining) + - location: 20 (remaining gas: 1039982.662 units remaining) [ 5 3 ] - - location: 18 (remaining gas: 1039981.442 units remaining) - [ 3 + - location: 14 (remaining gas: 1039982.662 units remaining) + [ 0 @parameter.elt 3 ] - - location: 17 (remaining gas: 1039981.397 units remaining) + - location: 16 (remaining gas: 1039982.617 units remaining) + [ 3 ] + - location: 18 (remaining gas: 1039982.567 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039981.397 units remaining) + - location: 16 (remaining gas: 1039982.567 units remaining) [ 0 @parameter.elt 3 3 ] - - location: 19 (remaining gas: 1039981.287 units remaining) + - location: 19 (remaining gas: 1039982.487 units remaining) [ 3 3 ] - - location: 22 (remaining gas: 1039981.137 units remaining) + - location: 20 (remaining gas: 1039982.442 units remaining) + [ 3 ] + - location: 22 (remaining gas: 1039982.397 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039981.027 units remaining) - [ 4 ] - - location: -1 (remaining gas: 1039980.982 units remaining) + - location: 25 (remaining gas: 1039982.317 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039980.982 units remaining) - [ 3 - 4 ] - - location: -1 (remaining gas: 1039980.937 units remaining) + - location: 20 (remaining gas: 1039982.317 units remaining) [ 3 4 ] - - location: 14 (remaining gas: 1039980.937 units remaining) + - location: 14 (remaining gas: 1039982.317 units remaining) [ { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 26 (remaining gas: 1039980.862 units remaining) + - location: 26 (remaining gas: 1039982.272 units remaining) [ {} { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 28 (remaining gas: 1039980.787 units remaining) + - location: 28 (remaining gas: 1039982.227 units remaining) [ (Pair {} { 1 ; 3 ; 5 ; 3 }) 4 ] - - location: 31 (remaining gas: 1039980.637 units remaining) - [ ] - - location: 30 (remaining gas: 1039980.592 units remaining) + - location: 29 (remaining gas: 1039982.182 units remaining) + [ 4 ] + - location: 31 (remaining gas: 1039982.137 units remaining) [ ] - - location: 29 (remaining gas: 1039980.592 units remaining) - [ (Pair {} { 1 ; 3 ; 5 ; 3 }) ] - - location: -1 (remaining gas: 1039980.547 units remaining) + - location: 29 (remaining gas: 1039982.137 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 8b5d720d030b..c4b80dbd6257 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,32 +7,30 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039985.340 units remaining) + - location: 9 (remaining gas: 1039985.340 units remaining) [ (Pair {} { 0 }) ] - - location: 9 (remaining gas: 1039985.260 units remaining) + - location: 9 (remaining gas: 1039985.290 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039985.185 units remaining) + - location: 10 (remaining gas: 1039985.245 units remaining) [ 0 {} @parameter ] - - location: 13 (remaining gas: 1039985.115 units remaining) + - location: 13 (remaining gas: 1039985.205 units remaining) [ {} @parameter 0 ] - - location: 14 (remaining gas: 1039984.585 units remaining) + - location: 14 (remaining gas: 1039984.705 units remaining) [ {} 0 ] - - location: 26 (remaining gas: 1039984.510 units remaining) + - location: 26 (remaining gas: 1039984.660 units remaining) [ {} {} 0 ] - - location: 28 (remaining gas: 1039984.435 units remaining) + - location: 28 (remaining gas: 1039984.615 units remaining) [ (Pair {} {}) 0 ] - - location: 31 (remaining gas: 1039984.285 units remaining) + - location: 29 (remaining gas: 1039984.570 units remaining) + [ 0 ] + - location: 31 (remaining gas: 1039984.525 units remaining) [ ] - - location: 30 (remaining gas: 1039984.240 units remaining) - [ ] - - location: 29 (remaining gas: 1039984.240 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039984.195 units remaining) + - location: 29 (remaining gas: 1039984.525 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 f241e36033e6..fede988bb1a7 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.130 units remaining) + - location: 8 (remaining gas: 1039993.130 units remaining) [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] - - location: 8 (remaining gas: 1039993.050 units remaining) + - location: 8 (remaining gas: 1039993.080 units remaining) [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } @parameter ] - - location: 9 (remaining gas: 1039992.970 units remaining) + - location: 9 (remaining gas: 1039993.030 units remaining) [ 6 ] - - location: 10 (remaining gas: 1039992.895 units remaining) + - location: 10 (remaining gas: 1039992.985 units remaining) [ {} 6 ] - - location: 12 (remaining gas: 1039992.820 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039992.775 units remaining) + - location: 12 (remaining gas: 1039992.940 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 b143b90333cd..970e0f5f425d 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.850 units remaining) + - location: 8 (remaining gas: 1039993.850 units remaining) [ (Pair { 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039993.770 units remaining) + - location: 8 (remaining gas: 1039993.800 units remaining) [ { 1 ; 2 ; 3 } @parameter ] - - location: 9 (remaining gas: 1039993.690 units remaining) + - location: 9 (remaining gas: 1039993.750 units remaining) [ 3 ] - - location: 10 (remaining gas: 1039993.615 units remaining) + - location: 10 (remaining gas: 1039993.705 units remaining) [ {} 3 ] - - location: 12 (remaining gas: 1039993.540 units remaining) - [ (Pair {} 3) ] - - location: -1 (remaining gas: 1039993.495 units remaining) + - location: 12 (remaining gas: 1039993.660 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 d0648fede1e6..137f10ac2b3e 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.330 units remaining) + - location: 8 (remaining gas: 1039994.330 units remaining) [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039994.250 units remaining) + - location: 8 (remaining gas: 1039994.280 units remaining) [ { 1 } @parameter ] - - location: 9 (remaining gas: 1039994.170 units remaining) + - location: 9 (remaining gas: 1039994.230 units remaining) [ 1 ] - - location: 10 (remaining gas: 1039994.095 units remaining) + - location: 10 (remaining gas: 1039994.185 units remaining) [ {} 1 ] - - location: 12 (remaining gas: 1039994.020 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039993.975 units remaining) + - location: 12 (remaining gas: 1039994.140 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 34edfb84d8af..9d56b9bcbcee 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.570 units remaining) + - location: 8 (remaining gas: 1039994.570 units remaining) [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039994.490 units remaining) + - location: 8 (remaining gas: 1039994.520 units remaining) [ {} @parameter ] - - location: 9 (remaining gas: 1039994.410 units remaining) + - location: 9 (remaining gas: 1039994.470 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039994.335 units remaining) + - location: 10 (remaining gas: 1039994.425 units remaining) [ {} 0 ] - - location: 12 (remaining gas: 1039994.260 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039994.215 units remaining) + - location: 12 (remaining gas: 1039994.380 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 b0d6d0193cc8..3fec8ad00a96 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,142 +7,149 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039976.864 units remaining) + - location: 9 (remaining gas: 1039976.864 units remaining) [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039976.784 units remaining) + - location: 9 (remaining gas: 1039976.814 units remaining) [ { "c" ; "b" ; "a" } @parameter ] - - location: 10 (remaining gas: 1039976.709 units remaining) + - location: 10 (remaining gas: 1039976.769 units remaining) [ {} { "c" ; "b" ; "a" } @parameter ] - - location: 12 (remaining gas: 1039976.639 units remaining) + - location: 12 (remaining gas: 1039976.729 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 13 (remaining gas: 1039976.564 units remaining) + - location: 13 (remaining gas: 1039976.684 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 14 (remaining gas: 1039976.489 units remaining) + - location: 14 (remaining gas: 1039976.639 units remaining) [ (Left (Pair { "c" ; "b" ; "a" } {})) ] - - location: 19 (remaining gas: 1039976.334 units remaining) + - location: 17 (remaining gas: 1039976.594 units remaining) + [ (Pair { "c" ; "b" ; "a" } {}) ] + - location: 19 (remaining gas: 1039976.544 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) (Pair { "c" ; "b" ; "a" } {}) ] - - location: 20 (remaining gas: 1039976.254 units remaining) + - location: 20 (remaining gas: 1039976.494 units remaining) [ { "c" ; "b" ; "a" } @parameter (Pair { "c" ; "b" ; "a" } {}) ] - - location: 23 (remaining gas: 1039976.099 units remaining) - [ {} ] - - location: 22 (remaining gas: 1039976.054 units remaining) + - location: 21 (remaining gas: 1039976.449 units remaining) + [ (Pair { "c" ; "b" ; "a" } {}) ] + - location: 23 (remaining gas: 1039976.399 units remaining) [ {} ] - - location: 21 (remaining gas: 1039976.054 units remaining) + - location: 21 (remaining gas: 1039976.399 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 26 (remaining gas: 1039975.924 units remaining) + - location: 24 (remaining gas: 1039976.369 units remaining) + [ "c" @parameter.hd + { "b" ; "a" } @parameter.tl + {} ] + - location: 26 (remaining gas: 1039976.329 units remaining) [ { "b" ; "a" } @parameter.tl "c" @parameter.hd {} ] - - location: 29 (remaining gas: 1039975.769 units remaining) - [ { "c" } ] - - location: 28 (remaining gas: 1039975.724 units remaining) + - location: 27 (remaining gas: 1039976.284 units remaining) + [ "c" @parameter.hd + {} ] + - location: 29 (remaining gas: 1039976.234 units remaining) [ { "c" } ] - - location: 27 (remaining gas: 1039975.724 units remaining) + - location: 27 (remaining gas: 1039976.234 units remaining) [ { "b" ; "a" } @parameter.tl { "c" } ] - - location: 30 (remaining gas: 1039975.649 units remaining) + - location: 30 (remaining gas: 1039976.189 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 31 (remaining gas: 1039975.574 units remaining) - [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: -1 (remaining gas: 1039975.529 units remaining) - [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: -1 (remaining gas: 1039975.484 units remaining) + - location: 31 (remaining gas: 1039976.144 units remaining) [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: 19 (remaining gas: 1039975.359 units remaining) + - location: 17 (remaining gas: 1039976.144 units remaining) + [ (Pair { "b" ; "a" } { "c" }) ] + - location: 19 (remaining gas: 1039976.094 units remaining) [ (Pair { "b" ; "a" } { "c" }) (Pair { "b" ; "a" } { "c" }) ] - - location: 20 (remaining gas: 1039975.279 units remaining) + - location: 20 (remaining gas: 1039976.044 units remaining) [ { "b" ; "a" } @parameter (Pair { "b" ; "a" } { "c" }) ] - - location: 23 (remaining gas: 1039975.124 units remaining) - [ { "c" } ] - - location: 22 (remaining gas: 1039975.079 units remaining) + - location: 21 (remaining gas: 1039975.999 units remaining) + [ (Pair { "b" ; "a" } { "c" }) ] + - location: 23 (remaining gas: 1039975.949 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039975.079 units remaining) + - location: 21 (remaining gas: 1039975.949 units remaining) [ { "b" ; "a" } @parameter { "c" } ] - - location: 26 (remaining gas: 1039974.949 units remaining) + - location: 24 (remaining gas: 1039975.919 units remaining) + [ "b" @parameter.hd + { "a" } @parameter.tl + { "c" } ] + - location: 26 (remaining gas: 1039975.879 units remaining) [ { "a" } @parameter.tl "b" @parameter.hd { "c" } ] - - location: 29 (remaining gas: 1039974.794 units remaining) - [ { "b" ; "c" } ] - - location: 28 (remaining gas: 1039974.749 units remaining) + - location: 27 (remaining gas: 1039975.834 units remaining) + [ "b" @parameter.hd + { "c" } ] + - location: 29 (remaining gas: 1039975.784 units remaining) [ { "b" ; "c" } ] - - location: 27 (remaining gas: 1039974.749 units remaining) + - location: 27 (remaining gas: 1039975.784 units remaining) [ { "a" } @parameter.tl { "b" ; "c" } ] - - location: 30 (remaining gas: 1039974.674 units remaining) + - location: 30 (remaining gas: 1039975.739 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 31 (remaining gas: 1039974.599 units remaining) - [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: -1 (remaining gas: 1039974.554 units remaining) - [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: -1 (remaining gas: 1039974.509 units remaining) + - location: 31 (remaining gas: 1039975.694 units remaining) [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: 19 (remaining gas: 1039974.384 units remaining) + - location: 17 (remaining gas: 1039975.694 units remaining) + [ (Pair { "a" } { "b" ; "c" }) ] + - location: 19 (remaining gas: 1039975.644 units remaining) [ (Pair { "a" } { "b" ; "c" }) (Pair { "a" } { "b" ; "c" }) ] - - location: 20 (remaining gas: 1039974.304 units remaining) + - location: 20 (remaining gas: 1039975.594 units remaining) [ { "a" } @parameter (Pair { "a" } { "b" ; "c" }) ] - - location: 23 (remaining gas: 1039974.149 units remaining) - [ { "b" ; "c" } ] - - location: 22 (remaining gas: 1039974.104 units remaining) + - location: 21 (remaining gas: 1039975.549 units remaining) + [ (Pair { "a" } { "b" ; "c" }) ] + - location: 23 (remaining gas: 1039975.499 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039974.104 units remaining) + - location: 21 (remaining gas: 1039975.499 units remaining) [ { "a" } @parameter { "b" ; "c" } ] - - location: 26 (remaining gas: 1039973.974 units remaining) + - location: 24 (remaining gas: 1039975.469 units remaining) + [ "a" @parameter.hd + {} @parameter.tl + { "b" ; "c" } ] + - location: 26 (remaining gas: 1039975.429 units remaining) [ {} @parameter.tl "a" @parameter.hd { "b" ; "c" } ] - - location: 29 (remaining gas: 1039973.819 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039973.774 units remaining) + - location: 27 (remaining gas: 1039975.384 units remaining) + [ "a" @parameter.hd + { "b" ; "c" } ] + - location: 29 (remaining gas: 1039975.334 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 27 (remaining gas: 1039973.774 units remaining) + - location: 27 (remaining gas: 1039975.334 units remaining) [ {} @parameter.tl { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039973.699 units remaining) + - location: 30 (remaining gas: 1039975.289 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 31 (remaining gas: 1039973.624 units remaining) - [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: -1 (remaining gas: 1039973.579 units remaining) - [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: -1 (remaining gas: 1039973.534 units remaining) + - location: 31 (remaining gas: 1039975.244 units remaining) [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: 19 (remaining gas: 1039973.409 units remaining) + - location: 17 (remaining gas: 1039975.244 units remaining) + [ (Pair {} { "a" ; "b" ; "c" }) ] + - location: 19 (remaining gas: 1039975.194 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) (Pair {} { "a" ; "b" ; "c" }) ] - - location: 20 (remaining gas: 1039973.329 units remaining) + - location: 20 (remaining gas: 1039975.144 units remaining) [ {} @parameter (Pair {} { "a" ; "b" ; "c" }) ] - - location: 23 (remaining gas: 1039973.174 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 22 (remaining gas: 1039973.129 units remaining) + - location: 21 (remaining gas: 1039975.099 units remaining) + [ (Pair {} { "a" ; "b" ; "c" }) ] + - location: 23 (remaining gas: 1039975.049 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039973.129 units remaining) + - location: 21 (remaining gas: 1039975.049 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 35 (remaining gas: 1039972.994 units remaining) - [ (Right { "a" ; "b" ; "c" }) ] - - location: 34 (remaining gas: 1039972.949 units remaining) - [ (Right { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039972.904 units remaining) + - location: 24 (remaining gas: 1039975.019 units remaining) + [ { "a" ; "b" ; "c" } ] + - location: 35 (remaining gas: 1039974.974 units remaining) [ (Right { "a" ; "b" ; "c" }) ] - - location: 17 (remaining gas: 1039972.859 units remaining) + - location: 17 (remaining gas: 1039974.974 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 41 (remaining gas: 1039972.784 units remaining) + - location: 41 (remaining gas: 1039974.929 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 43 (remaining gas: 1039972.709 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039972.664 units remaining) + - location: 43 (remaining gas: 1039974.884 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 63877b7c497d..0075464088a7 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,44 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039977.656 units remaining) + - location: 9 (remaining gas: 1039977.656 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039977.576 units remaining) + - location: 9 (remaining gas: 1039977.606 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039977.501 units remaining) + - location: 10 (remaining gas: 1039977.561 units remaining) [ {} {} @parameter ] - - location: 12 (remaining gas: 1039977.431 units remaining) + - location: 12 (remaining gas: 1039977.521 units remaining) [ {} @parameter {} ] - - location: 13 (remaining gas: 1039977.356 units remaining) + - location: 13 (remaining gas: 1039977.476 units remaining) [ (Pair {} {}) ] - - location: 14 (remaining gas: 1039977.281 units remaining) + - location: 14 (remaining gas: 1039977.431 units remaining) [ (Left (Pair {} {})) ] - - location: 19 (remaining gas: 1039977.126 units remaining) + - location: 17 (remaining gas: 1039977.386 units remaining) + [ (Pair {} {}) ] + - location: 19 (remaining gas: 1039977.336 units remaining) [ (Pair {} {}) (Pair {} {}) ] - - location: 20 (remaining gas: 1039977.046 units remaining) + - location: 20 (remaining gas: 1039977.286 units remaining) [ {} @parameter (Pair {} {}) ] - - location: 23 (remaining gas: 1039976.891 units remaining) - [ {} ] - - location: 22 (remaining gas: 1039976.846 units remaining) + - location: 21 (remaining gas: 1039977.241 units remaining) + [ (Pair {} {}) ] + - location: 23 (remaining gas: 1039977.191 units remaining) [ {} ] - - location: 21 (remaining gas: 1039976.846 units remaining) + - location: 21 (remaining gas: 1039977.191 units remaining) [ {} @parameter {} ] - - location: 35 (remaining gas: 1039976.711 units remaining) - [ (Right {}) ] - - location: 34 (remaining gas: 1039976.666 units remaining) - [ (Right {}) ] - - location: -1 (remaining gas: 1039976.621 units remaining) + - location: 24 (remaining gas: 1039977.161 units remaining) + [ {} ] + - location: 35 (remaining gas: 1039977.116 units remaining) [ (Right {}) ] - - location: 17 (remaining gas: 1039976.576 units remaining) + - location: 17 (remaining gas: 1039977.116 units remaining) [ {} ] - - location: 41 (remaining gas: 1039976.501 units remaining) + - location: 41 (remaining gas: 1039977.071 units remaining) [ {} {} ] - - location: 43 (remaining gas: 1039976.426 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039976.381 units remaining) + - location: 43 (remaining gas: 1039977.026 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 28740ae1bfdd..0b9306bb8bea 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.280 units remaining) + - location: 11 (remaining gas: 1039993.280 units remaining) [ (Pair { Elt 0 0 ; Elt 3 4 } {}) ] - - location: 11 (remaining gas: 1039993.200 units remaining) + - location: 11 (remaining gas: 1039993.230 units remaining) [ { Elt 0 0 ; Elt 3 4 } @parameter ] - - location: 12 (remaining gas: 1039993.125 units remaining) + - location: 12 (remaining gas: 1039993.185 units remaining) [ {} { Elt 0 0 ; Elt 3 4 } @parameter ] - - location: 14 (remaining gas: 1039993.050 units remaining) - [ (Pair {} { Elt 0 0 ; Elt 3 4 }) ] - - location: -1 (remaining gas: 1039993.005 units remaining) + - location: 14 (remaining gas: 1039993.140 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 c3d2ddd4c387..90cdd5186ee4 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.990 units remaining) + - location: 11 (remaining gas: 1039993.990 units remaining) [ (Pair { Elt 0 0 } {}) ] - - location: 11 (remaining gas: 1039993.910 units remaining) + - location: 11 (remaining gas: 1039993.940 units remaining) [ { Elt 0 0 } @parameter ] - - location: 12 (remaining gas: 1039993.835 units remaining) + - location: 12 (remaining gas: 1039993.895 units remaining) [ {} { Elt 0 0 } @parameter ] - - location: 14 (remaining gas: 1039993.760 units remaining) - [ (Pair {} { Elt 0 0 }) ] - - location: -1 (remaining gas: 1039993.715 units remaining) + - location: 14 (remaining gas: 1039993.850 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 9b94f2ca816b..d9fa97c0461c 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039993.990 units remaining) + - location: 11 (remaining gas: 1039993.990 units remaining) [ (Pair { Elt 0 1 } {}) ] - - location: 11 (remaining gas: 1039993.910 units remaining) + - location: 11 (remaining gas: 1039993.940 units remaining) [ { Elt 0 1 } @parameter ] - - location: 12 (remaining gas: 1039993.835 units remaining) + - location: 12 (remaining gas: 1039993.895 units remaining) [ {} { Elt 0 1 } @parameter ] - - location: 14 (remaining gas: 1039993.760 units remaining) - [ (Pair {} { Elt 0 1 }) ] - - location: -1 (remaining gas: 1039993.715 units remaining) + - location: 14 (remaining gas: 1039993.850 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 16ff7e75e8ad..d2d52cb75e83 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,144 +7,146 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039975.900 units remaining) + - location: 11 (remaining gas: 1039975.900 units remaining) [ (Pair { Elt 0 100 ; Elt 2 100 } 0 0) ] - - location: 11 (remaining gas: 1039975.820 units remaining) + - location: 11 (remaining gas: 1039975.850 units remaining) [ { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 12 (remaining gas: 1039975.745 units remaining) + - location: 12 (remaining gas: 1039975.805 units remaining) [ 0 @acc_e { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 15 (remaining gas: 1039975.670 units remaining) + - location: 15 (remaining gas: 1039975.760 units remaining) [ 0 @acc_k 0 @acc_e { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 18 (remaining gas: 1039975.595 units remaining) + - location: 18 (remaining gas: 1039975.715 units remaining) [ (Pair 0 0) { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 19 (remaining gas: 1039975.525 units remaining) + - location: 19 (remaining gas: 1039975.675 units remaining) [ { Elt 0 100 ; Elt 2 100 } @parameter (Pair 0 0) ] - - location: 24 (remaining gas: 1039975.180 units remaining) + - location: 20 (remaining gas: 1039975.515 units remaining) + [ (Pair 0 100) + (Pair 0 0) ] + - location: 22 (remaining gas: 1039975.470 units remaining) + [ (Pair 0 0) ] + - location: 24 (remaining gas: 1039975.420 units remaining) [ (Pair 0 0) (Pair 0 0) ] - - location: 25 (remaining gas: 1039975.100 units remaining) + - location: 25 (remaining gas: 1039975.370 units remaining) [ 0 @acc_k (Pair 0 0) ] - - location: 28 (remaining gas: 1039974.945 units remaining) + - location: 26 (remaining gas: 1039975.325 units remaining) + [ (Pair 0 0) ] + - location: 28 (remaining gas: 1039975.275 units remaining) [ 0 @acc_e ] - - location: 27 (remaining gas: 1039974.900 units remaining) - [ 0 @acc_e ] - - location: 26 (remaining gas: 1039974.900 units remaining) - [ 0 @acc_k - 0 @acc_e ] - - location: -1 (remaining gas: 1039974.855 units remaining) + - location: 26 (remaining gas: 1039975.275 units remaining) [ 0 @acc_k 0 @acc_e ] - - location: 22 (remaining gas: 1039974.855 units remaining) + - location: 22 (remaining gas: 1039975.275 units remaining) [ (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 29 (remaining gas: 1039974.775 units remaining) + - location: 29 (remaining gas: 1039975.225 units remaining) [ (Pair 0 100) (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 32 (remaining gas: 1039974.620 units remaining) - [ 0 @key + - location: 30 (remaining gas: 1039975.180 units remaining) + [ (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 33 (remaining gas: 1039974.510 units remaining) - [ 0 + - location: 32 (remaining gas: 1039975.130 units remaining) + [ 0 @key + 0 @acc_k 0 @acc_e ] - - location: -1 (remaining gas: 1039974.465 units remaining) + - location: 33 (remaining gas: 1039975.050 units remaining) [ 0 0 @acc_e ] - - location: 30 (remaining gas: 1039974.465 units remaining) + - location: 30 (remaining gas: 1039975.050 units remaining) [ (Pair 0 100) 0 0 @acc_e ] - - location: 34 (remaining gas: 1039974.395 units remaining) + - location: 34 (remaining gas: 1039975.010 units remaining) [ 0 (Pair 0 100) 0 @acc_e ] - - location: 37 (remaining gas: 1039974.240 units remaining) + - location: 35 (remaining gas: 1039974.965 units remaining) + [ (Pair 0 100) + 0 @acc_e ] + - location: 37 (remaining gas: 1039974.915 units remaining) [ 100 @elt 0 @acc_e ] - - location: 38 (remaining gas: 1039974.130 units remaining) + - location: 38 (remaining gas: 1039974.835 units remaining) [ 100 ] - - location: -1 (remaining gas: 1039974.085 units remaining) - [ 100 ] - - location: 35 (remaining gas: 1039974.085 units remaining) + - location: 35 (remaining gas: 1039974.835 units remaining) [ 0 100 ] - - location: 39 (remaining gas: 1039974.010 units remaining) + - location: 39 (remaining gas: 1039974.790 units remaining) [ (Pair 0 100) ] - - location: -1 (remaining gas: 1039973.965 units remaining) + - location: 20 (remaining gas: 1039974.790 units remaining) + [ (Pair 2 100) + (Pair 0 100) ] + - location: 22 (remaining gas: 1039974.745 units remaining) [ (Pair 0 100) ] - - location: 24 (remaining gas: 1039973.810 units remaining) + - location: 24 (remaining gas: 1039974.695 units remaining) [ (Pair 0 100) (Pair 0 100) ] - - location: 25 (remaining gas: 1039973.730 units remaining) + - location: 25 (remaining gas: 1039974.645 units remaining) [ 0 @acc_k (Pair 0 100) ] - - location: 28 (remaining gas: 1039973.575 units remaining) - [ 100 @acc_e ] - - location: 27 (remaining gas: 1039973.530 units remaining) + - location: 26 (remaining gas: 1039974.600 units remaining) + [ (Pair 0 100) ] + - location: 28 (remaining gas: 1039974.550 units remaining) [ 100 @acc_e ] - - location: 26 (remaining gas: 1039973.530 units remaining) - [ 0 @acc_k - 100 @acc_e ] - - location: -1 (remaining gas: 1039973.485 units remaining) + - location: 26 (remaining gas: 1039974.550 units remaining) [ 0 @acc_k 100 @acc_e ] - - location: 22 (remaining gas: 1039973.485 units remaining) + - location: 22 (remaining gas: 1039974.550 units remaining) [ (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 29 (remaining gas: 1039973.405 units remaining) + - location: 29 (remaining gas: 1039974.500 units remaining) [ (Pair 2 100) (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 32 (remaining gas: 1039973.250 units remaining) - [ 2 @key + - location: 30 (remaining gas: 1039974.455 units remaining) + [ (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 33 (remaining gas: 1039973.140 units remaining) - [ 2 + - location: 32 (remaining gas: 1039974.405 units remaining) + [ 2 @key + 0 @acc_k 100 @acc_e ] - - location: -1 (remaining gas: 1039973.095 units remaining) + - location: 33 (remaining gas: 1039974.325 units remaining) [ 2 100 @acc_e ] - - location: 30 (remaining gas: 1039973.095 units remaining) + - location: 30 (remaining gas: 1039974.325 units remaining) [ (Pair 2 100) 2 100 @acc_e ] - - location: 34 (remaining gas: 1039973.025 units remaining) + - location: 34 (remaining gas: 1039974.285 units remaining) [ 2 (Pair 2 100) 100 @acc_e ] - - location: 37 (remaining gas: 1039972.870 units remaining) + - location: 35 (remaining gas: 1039974.240 units remaining) + [ (Pair 2 100) + 100 @acc_e ] + - location: 37 (remaining gas: 1039974.190 units remaining) [ 100 @elt 100 @acc_e ] - - location: 38 (remaining gas: 1039972.760 units remaining) + - location: 38 (remaining gas: 1039974.110 units remaining) [ 200 ] - - location: -1 (remaining gas: 1039972.715 units remaining) - [ 200 ] - - location: 35 (remaining gas: 1039972.715 units remaining) + - location: 35 (remaining gas: 1039974.110 units remaining) [ 2 200 ] - - location: 39 (remaining gas: 1039972.640 units remaining) - [ (Pair 2 200) ] - - location: -1 (remaining gas: 1039972.595 units remaining) + - location: 39 (remaining gas: 1039974.065 units remaining) [ (Pair 2 200) ] - - location: 20 (remaining gas: 1039972.595 units remaining) + - location: 20 (remaining gas: 1039974.065 units remaining) [ (Pair 2 200) ] - - location: 40 (remaining gas: 1039972.520 units remaining) + - location: 40 (remaining gas: 1039974.020 units remaining) [ {} (Pair 2 200) ] - - location: 42 (remaining gas: 1039972.445 units remaining) - [ (Pair {} 2 200) ] - - location: -1 (remaining gas: 1039972.400 units remaining) + - location: 42 (remaining gas: 1039973.975 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 209dda5652a5..b39b3a3026d8 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,144 +7,146 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039975.900 units remaining) + - location: 11 (remaining gas: 1039975.900 units remaining) [ (Pair { Elt 1 1 ; Elt 2 100 } 0 0) ] - - location: 11 (remaining gas: 1039975.820 units remaining) + - location: 11 (remaining gas: 1039975.850 units remaining) [ { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 12 (remaining gas: 1039975.745 units remaining) + - location: 12 (remaining gas: 1039975.805 units remaining) [ 0 @acc_e { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 15 (remaining gas: 1039975.670 units remaining) + - location: 15 (remaining gas: 1039975.760 units remaining) [ 0 @acc_k 0 @acc_e { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 18 (remaining gas: 1039975.595 units remaining) + - location: 18 (remaining gas: 1039975.715 units remaining) [ (Pair 0 0) { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 19 (remaining gas: 1039975.525 units remaining) + - location: 19 (remaining gas: 1039975.675 units remaining) [ { Elt 1 1 ; Elt 2 100 } @parameter (Pair 0 0) ] - - location: 24 (remaining gas: 1039975.180 units remaining) + - location: 20 (remaining gas: 1039975.515 units remaining) + [ (Pair 1 1) + (Pair 0 0) ] + - location: 22 (remaining gas: 1039975.470 units remaining) + [ (Pair 0 0) ] + - location: 24 (remaining gas: 1039975.420 units remaining) [ (Pair 0 0) (Pair 0 0) ] - - location: 25 (remaining gas: 1039975.100 units remaining) + - location: 25 (remaining gas: 1039975.370 units remaining) [ 0 @acc_k (Pair 0 0) ] - - location: 28 (remaining gas: 1039974.945 units remaining) + - location: 26 (remaining gas: 1039975.325 units remaining) + [ (Pair 0 0) ] + - location: 28 (remaining gas: 1039975.275 units remaining) [ 0 @acc_e ] - - location: 27 (remaining gas: 1039974.900 units remaining) - [ 0 @acc_e ] - - location: 26 (remaining gas: 1039974.900 units remaining) - [ 0 @acc_k - 0 @acc_e ] - - location: -1 (remaining gas: 1039974.855 units remaining) + - location: 26 (remaining gas: 1039975.275 units remaining) [ 0 @acc_k 0 @acc_e ] - - location: 22 (remaining gas: 1039974.855 units remaining) + - location: 22 (remaining gas: 1039975.275 units remaining) [ (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 29 (remaining gas: 1039974.775 units remaining) + - location: 29 (remaining gas: 1039975.225 units remaining) [ (Pair 1 1) (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 32 (remaining gas: 1039974.620 units remaining) - [ 1 @key + - location: 30 (remaining gas: 1039975.180 units remaining) + [ (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 33 (remaining gas: 1039974.510 units remaining) - [ 1 + - location: 32 (remaining gas: 1039975.130 units remaining) + [ 1 @key + 0 @acc_k 0 @acc_e ] - - location: -1 (remaining gas: 1039974.465 units remaining) + - location: 33 (remaining gas: 1039975.050 units remaining) [ 1 0 @acc_e ] - - location: 30 (remaining gas: 1039974.465 units remaining) + - location: 30 (remaining gas: 1039975.050 units remaining) [ (Pair 1 1) 1 0 @acc_e ] - - location: 34 (remaining gas: 1039974.395 units remaining) + - location: 34 (remaining gas: 1039975.010 units remaining) [ 1 (Pair 1 1) 0 @acc_e ] - - location: 37 (remaining gas: 1039974.240 units remaining) + - location: 35 (remaining gas: 1039974.965 units remaining) + [ (Pair 1 1) + 0 @acc_e ] + - location: 37 (remaining gas: 1039974.915 units remaining) [ 1 @elt 0 @acc_e ] - - location: 38 (remaining gas: 1039974.130 units remaining) + - location: 38 (remaining gas: 1039974.835 units remaining) [ 1 ] - - location: -1 (remaining gas: 1039974.085 units remaining) - [ 1 ] - - location: 35 (remaining gas: 1039974.085 units remaining) + - location: 35 (remaining gas: 1039974.835 units remaining) [ 1 1 ] - - location: 39 (remaining gas: 1039974.010 units remaining) + - location: 39 (remaining gas: 1039974.790 units remaining) [ (Pair 1 1) ] - - location: -1 (remaining gas: 1039973.965 units remaining) + - location: 20 (remaining gas: 1039974.790 units remaining) + [ (Pair 2 100) + (Pair 1 1) ] + - location: 22 (remaining gas: 1039974.745 units remaining) [ (Pair 1 1) ] - - location: 24 (remaining gas: 1039973.810 units remaining) + - location: 24 (remaining gas: 1039974.695 units remaining) [ (Pair 1 1) (Pair 1 1) ] - - location: 25 (remaining gas: 1039973.730 units remaining) + - location: 25 (remaining gas: 1039974.645 units remaining) [ 1 @acc_k (Pair 1 1) ] - - location: 28 (remaining gas: 1039973.575 units remaining) - [ 1 @acc_e ] - - location: 27 (remaining gas: 1039973.530 units remaining) + - location: 26 (remaining gas: 1039974.600 units remaining) + [ (Pair 1 1) ] + - location: 28 (remaining gas: 1039974.550 units remaining) [ 1 @acc_e ] - - location: 26 (remaining gas: 1039973.530 units remaining) - [ 1 @acc_k - 1 @acc_e ] - - location: -1 (remaining gas: 1039973.485 units remaining) + - location: 26 (remaining gas: 1039974.550 units remaining) [ 1 @acc_k 1 @acc_e ] - - location: 22 (remaining gas: 1039973.485 units remaining) + - location: 22 (remaining gas: 1039974.550 units remaining) [ (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 29 (remaining gas: 1039973.405 units remaining) + - location: 29 (remaining gas: 1039974.500 units remaining) [ (Pair 2 100) (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 32 (remaining gas: 1039973.250 units remaining) - [ 2 @key + - location: 30 (remaining gas: 1039974.455 units remaining) + [ (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 33 (remaining gas: 1039973.140 units remaining) - [ 3 + - location: 32 (remaining gas: 1039974.405 units remaining) + [ 2 @key + 1 @acc_k 1 @acc_e ] - - location: -1 (remaining gas: 1039973.095 units remaining) + - location: 33 (remaining gas: 1039974.325 units remaining) [ 3 1 @acc_e ] - - location: 30 (remaining gas: 1039973.095 units remaining) + - location: 30 (remaining gas: 1039974.325 units remaining) [ (Pair 2 100) 3 1 @acc_e ] - - location: 34 (remaining gas: 1039973.025 units remaining) + - location: 34 (remaining gas: 1039974.285 units remaining) [ 3 (Pair 2 100) 1 @acc_e ] - - location: 37 (remaining gas: 1039972.870 units remaining) + - location: 35 (remaining gas: 1039974.240 units remaining) + [ (Pair 2 100) + 1 @acc_e ] + - location: 37 (remaining gas: 1039974.190 units remaining) [ 100 @elt 1 @acc_e ] - - location: 38 (remaining gas: 1039972.760 units remaining) + - location: 38 (remaining gas: 1039974.110 units remaining) [ 101 ] - - location: -1 (remaining gas: 1039972.715 units remaining) - [ 101 ] - - location: 35 (remaining gas: 1039972.715 units remaining) + - location: 35 (remaining gas: 1039974.110 units remaining) [ 3 101 ] - - location: 39 (remaining gas: 1039972.640 units remaining) - [ (Pair 3 101) ] - - location: -1 (remaining gas: 1039972.595 units remaining) + - location: 39 (remaining gas: 1039974.065 units remaining) [ (Pair 3 101) ] - - location: 20 (remaining gas: 1039972.595 units remaining) + - location: 20 (remaining gas: 1039974.065 units remaining) [ (Pair 3 101) ] - - location: 40 (remaining gas: 1039972.520 units remaining) + - location: 40 (remaining gas: 1039974.020 units remaining) [ {} (Pair 3 101) ] - - location: 42 (remaining gas: 1039972.445 units remaining) - [ (Pair {} 3 101) ] - - location: -1 (remaining gas: 1039972.400 units remaining) + - location: 42 (remaining gas: 1039973.975 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 efb7ed14dcde..4bf22576f522 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,66 +7,62 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039987.192 units remaining) + - location: 9 (remaining gas: 1039987.192 units remaining) [ (Pair 15 { Elt "bar" 5 ; Elt "foo" 1 }) ] - - location: 9 (remaining gas: 1039987.112 units remaining) + - location: 9 (remaining gas: 1039987.142 units remaining) [ 15 @parameter { Elt "bar" 5 ; Elt "foo" 1 } @storage ] - - location: 10 (remaining gas: 1039987.042 units remaining) + - location: 10 (remaining gas: 1039987.102 units remaining) [ { Elt "bar" 5 ; Elt "foo" 1 } @storage 15 @parameter ] - - location: 13 (remaining gas: 1039985.330 units remaining) - [ 5 @elt + - location: 11 (remaining gas: 1039985.500 units remaining) + [ (Pair "bar" 5) 15 @parameter ] - - location: 16 (remaining gas: 1039985.175 units remaining) - [ 15 @parameter + - location: 13 (remaining gas: 1039985.450 units remaining) + [ 5 @elt 15 @parameter ] - - location: 15 (remaining gas: 1039985.130 units remaining) + - location: 14 (remaining gas: 1039985.405 units remaining) + [ 15 @parameter ] + - location: 16 (remaining gas: 1039985.355 units remaining) [ 15 @parameter 15 @parameter ] - - location: 14 (remaining gas: 1039985.130 units remaining) + - location: 14 (remaining gas: 1039985.355 units remaining) [ 5 @elt 15 @parameter 15 @parameter ] - - location: 17 (remaining gas: 1039985.020 units remaining) + - location: 17 (remaining gas: 1039985.275 units remaining) [ 20 15 @parameter ] - - location: -1 (remaining gas: 1039984.975 units remaining) - [ 20 + - location: 11 (remaining gas: 1039985.275 units remaining) + [ (Pair "foo" 1) 15 @parameter ] - - location: 13 (remaining gas: 1039984.895 units remaining) + - location: 13 (remaining gas: 1039985.225 units remaining) [ 1 @elt 15 @parameter ] - - location: 16 (remaining gas: 1039984.740 units remaining) - [ 15 @parameter - 15 @parameter ] - - location: 15 (remaining gas: 1039984.695 units remaining) + - location: 14 (remaining gas: 1039985.180 units remaining) + [ 15 @parameter ] + - location: 16 (remaining gas: 1039985.130 units remaining) [ 15 @parameter 15 @parameter ] - - location: 14 (remaining gas: 1039984.695 units remaining) + - location: 14 (remaining gas: 1039985.130 units remaining) [ 1 @elt 15 @parameter 15 @parameter ] - - location: 17 (remaining gas: 1039984.585 units remaining) - [ 16 - 15 @parameter ] - - location: -1 (remaining gas: 1039984.540 units remaining) + - location: 17 (remaining gas: 1039985.050 units remaining) [ 16 15 @parameter ] - - location: 11 (remaining gas: 1039984.540 units remaining) + - location: 11 (remaining gas: 1039985.050 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } 15 @parameter ] - - location: 20 (remaining gas: 1039984.390 units remaining) - [ ] - - location: 19 (remaining gas: 1039984.345 units remaining) + - location: 18 (remaining gas: 1039985.005 units remaining) + [ 15 @parameter ] + - location: 20 (remaining gas: 1039984.960 units remaining) [ ] - - location: 18 (remaining gas: 1039984.345 units remaining) + - location: 18 (remaining gas: 1039984.960 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 21 (remaining gas: 1039984.270 units remaining) + - location: 21 (remaining gas: 1039984.915 units remaining) [ {} { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 23 (remaining gas: 1039984.195 units remaining) - [ (Pair {} { Elt "bar" 20 ; Elt "foo" 16 }) ] - - location: -1 (remaining gas: 1039984.150 units remaining) + - location: 23 (remaining gas: 1039984.870 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 a199e806b18f..7d1034ed3c47 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,47 +7,44 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039987.916 units remaining) + - location: 9 (remaining gas: 1039987.916 units remaining) [ (Pair 10 { Elt "foo" 1 }) ] - - location: 9 (remaining gas: 1039987.836 units remaining) + - location: 9 (remaining gas: 1039987.866 units remaining) [ 10 @parameter { Elt "foo" 1 } @storage ] - - location: 10 (remaining gas: 1039987.766 units remaining) + - location: 10 (remaining gas: 1039987.826 units remaining) [ { Elt "foo" 1 } @storage 10 @parameter ] - - location: 13 (remaining gas: 1039986.815 units remaining) - [ 1 @elt + - location: 11 (remaining gas: 1039986.985 units remaining) + [ (Pair "foo" 1) 10 @parameter ] - - location: 16 (remaining gas: 1039986.660 units remaining) - [ 10 @parameter + - location: 13 (remaining gas: 1039986.935 units remaining) + [ 1 @elt 10 @parameter ] - - location: 15 (remaining gas: 1039986.615 units remaining) + - location: 14 (remaining gas: 1039986.890 units remaining) + [ 10 @parameter ] + - location: 16 (remaining gas: 1039986.840 units remaining) [ 10 @parameter 10 @parameter ] - - location: 14 (remaining gas: 1039986.615 units remaining) + - location: 14 (remaining gas: 1039986.840 units remaining) [ 1 @elt 10 @parameter 10 @parameter ] - - location: 17 (remaining gas: 1039986.505 units remaining) + - location: 17 (remaining gas: 1039986.760 units remaining) [ 11 10 @parameter ] - - location: -1 (remaining gas: 1039986.460 units remaining) - [ 11 - 10 @parameter ] - - location: 11 (remaining gas: 1039986.460 units remaining) + - location: 11 (remaining gas: 1039986.760 units remaining) [ { Elt "foo" 11 } 10 @parameter ] - - location: 20 (remaining gas: 1039986.310 units remaining) - [ ] - - location: 19 (remaining gas: 1039986.265 units remaining) + - location: 18 (remaining gas: 1039986.715 units remaining) + [ 10 @parameter ] + - location: 20 (remaining gas: 1039986.670 units remaining) [ ] - - location: 18 (remaining gas: 1039986.265 units remaining) + - location: 18 (remaining gas: 1039986.670 units remaining) [ { Elt "foo" 11 } ] - - location: 21 (remaining gas: 1039986.190 units remaining) + - location: 21 (remaining gas: 1039986.625 units remaining) [ {} { Elt "foo" 11 } ] - - location: 23 (remaining gas: 1039986.115 units remaining) - [ (Pair {} { Elt "foo" 11 }) ] - - location: -1 (remaining gas: 1039986.070 units remaining) + - location: 23 (remaining gas: 1039986.580 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 d401e5259bbb..ca1d0beec5f3 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,28 +7,26 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039988.520 units remaining) + - location: 9 (remaining gas: 1039988.520 units remaining) [ (Pair 10 {}) ] - - location: 9 (remaining gas: 1039988.440 units remaining) + - location: 9 (remaining gas: 1039988.470 units remaining) [ 10 @parameter {} @storage ] - - location: 10 (remaining gas: 1039988.370 units remaining) + - location: 10 (remaining gas: 1039988.430 units remaining) [ {} @storage 10 @parameter ] - - location: 11 (remaining gas: 1039988.260 units remaining) + - location: 11 (remaining gas: 1039988.350 units remaining) [ {} 10 @parameter ] - - location: 20 (remaining gas: 1039988.110 units remaining) + - location: 18 (remaining gas: 1039988.305 units remaining) + [ 10 @parameter ] + - location: 20 (remaining gas: 1039988.260 units remaining) [ ] - - location: 19 (remaining gas: 1039988.065 units remaining) - [ ] - - location: 18 (remaining gas: 1039988.065 units remaining) + - location: 18 (remaining gas: 1039988.260 units remaining) [ {} ] - - location: 21 (remaining gas: 1039987.990 units remaining) + - location: 21 (remaining gas: 1039988.215 units remaining) [ {} {} ] - - location: 23 (remaining gas: 1039987.915 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039987.870 units remaining) + - location: 23 (remaining gas: 1039988.170 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 2a8adb7aee95..6c9047444c18 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.090 units remaining) + - location: 12 (remaining gas: 1039987.090 units remaining) [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039987.010 units remaining) + - location: 12 (remaining gas: 1039987.040 units remaining) [ 1 @parameter (Pair { Elt 0 1 } None) @storage ] - - location: 15 (remaining gas: 1039986.855 units remaining) + - location: 13 (remaining gas: 1039986.995 units remaining) + [ (Pair { Elt 0 1 } None) @storage ] + - location: 15 (remaining gas: 1039986.945 units remaining) [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039986.775 units remaining) + - location: 16 (remaining gas: 1039986.895 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: -1 (remaining gas: 1039986.730 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: 13 (remaining gas: 1039986.730 units remaining) + - location: 13 (remaining gas: 1039986.895 units remaining) [ 1 @parameter { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039986.620 units remaining) + - location: 17 (remaining gas: 1039986.815 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039986.545 units remaining) + - location: 18 (remaining gas: 1039986.770 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039986.475 units remaining) + - location: 19 (remaining gas: 1039986.730 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039986.400 units remaining) + - location: 20 (remaining gas: 1039986.685 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039986.325 units remaining) + - location: 21 (remaining gas: 1039986.640 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039986.250 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - - location: -1 (remaining gas: 1039986.205 units remaining) + - location: 23 (remaining gas: 1039986.595 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 1149321d24ea..0197dbbc828a 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.090 units remaining) + - location: 12 (remaining gas: 1039987.090 units remaining) [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039987.010 units remaining) + - location: 12 (remaining gas: 1039987.040 units remaining) [ 1 @parameter (Pair { Elt 1 0 } None) @storage ] - - location: 15 (remaining gas: 1039986.855 units remaining) + - location: 13 (remaining gas: 1039986.995 units remaining) + [ (Pair { Elt 1 0 } None) @storage ] + - location: 15 (remaining gas: 1039986.945 units remaining) [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039986.775 units remaining) + - location: 16 (remaining gas: 1039986.895 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: -1 (remaining gas: 1039986.730 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: 13 (remaining gas: 1039986.730 units remaining) + - location: 13 (remaining gas: 1039986.895 units remaining) [ 1 @parameter { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039986.620 units remaining) + - location: 17 (remaining gas: 1039986.815 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039986.545 units remaining) + - location: 18 (remaining gas: 1039986.770 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039986.475 units remaining) + - location: 19 (remaining gas: 1039986.730 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039986.400 units remaining) + - location: 20 (remaining gas: 1039986.685 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039986.325 units remaining) + - location: 21 (remaining gas: 1039986.640 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039986.250 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - - location: -1 (remaining gas: 1039986.205 units remaining) + - location: 23 (remaining gas: 1039986.595 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 ac7c2457bfd2..b9d3073b971b 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039986.380 units remaining) + - location: 12 (remaining gas: 1039986.380 units remaining) [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039986.300 units remaining) + - location: 12 (remaining gas: 1039986.330 units remaining) [ 1 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039986.145 units remaining) + - location: 13 (remaining gas: 1039986.285 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039986.235 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039986.065 units remaining) + - location: 16 (remaining gas: 1039986.185 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039986.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039986.020 units remaining) + - location: 13 (remaining gas: 1039986.185 units remaining) [ 1 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039985.910 units remaining) + - location: 17 (remaining gas: 1039986.105 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039985.835 units remaining) + - location: 18 (remaining gas: 1039986.060 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039985.765 units remaining) + - location: 19 (remaining gas: 1039986.020 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.690 units remaining) + - location: 20 (remaining gas: 1039985.975 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.615 units remaining) + - location: 21 (remaining gas: 1039985.930 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.540 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039985.495 units remaining) + - location: 23 (remaining gas: 1039985.885 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 721b8028bbd2..d8b17b935a12 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039986.380 units remaining) + - location: 12 (remaining gas: 1039986.380 units remaining) [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039986.300 units remaining) + - location: 12 (remaining gas: 1039986.330 units remaining) [ 2 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039986.145 units remaining) + - location: 13 (remaining gas: 1039986.285 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039986.235 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039986.065 units remaining) + - location: 16 (remaining gas: 1039986.185 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039986.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039986.020 units remaining) + - location: 13 (remaining gas: 1039986.185 units remaining) [ 2 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039985.910 units remaining) + - location: 17 (remaining gas: 1039986.105 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039985.835 units remaining) + - location: 18 (remaining gas: 1039986.060 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039985.765 units remaining) + - location: 19 (remaining gas: 1039986.020 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.690 units remaining) + - location: 20 (remaining gas: 1039985.975 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.615 units remaining) + - location: 21 (remaining gas: 1039985.930 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.540 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039985.495 units remaining) + - location: 23 (remaining gas: 1039985.885 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 2d39c512e6d5..554850273470 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039986.380 units remaining) + - location: 12 (remaining gas: 1039986.380 units remaining) [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039986.300 units remaining) + - location: 12 (remaining gas: 1039986.330 units remaining) [ 3 @parameter (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039986.145 units remaining) + - location: 13 (remaining gas: 1039986.285 units remaining) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] + - location: 15 (remaining gas: 1039986.235 units remaining) [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039986.065 units remaining) + - location: 16 (remaining gas: 1039986.185 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039986.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039986.020 units remaining) + - location: 13 (remaining gas: 1039986.185 units remaining) [ 3 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039985.910 units remaining) + - location: 17 (remaining gas: 1039986.105 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039985.835 units remaining) + - location: 18 (remaining gas: 1039986.060 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039985.765 units remaining) + - location: 19 (remaining gas: 1039986.020 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039985.690 units remaining) + - location: 20 (remaining gas: 1039985.975 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039985.615 units remaining) + - location: 21 (remaining gas: 1039985.930 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039985.540 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: -1 (remaining gas: 1039985.495 units remaining) + - location: 23 (remaining gas: 1039985.885 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 e6cb4b69d290..8e952a65c8c8 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.650 units remaining) + - location: 12 (remaining gas: 1039987.650 units remaining) [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039987.570 units remaining) + - location: 12 (remaining gas: 1039987.600 units remaining) [ 1 @parameter (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039987.415 units remaining) + - location: 13 (remaining gas: 1039987.555 units remaining) + [ (Pair {} None) @storage ] + - location: 15 (remaining gas: 1039987.505 units remaining) [ {} ] - - location: 16 (remaining gas: 1039987.335 units remaining) + - location: 16 (remaining gas: 1039987.455 units remaining) [ {} {} ] - - location: -1 (remaining gas: 1039987.290 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039987.290 units remaining) + - location: 13 (remaining gas: 1039987.455 units remaining) [ 1 @parameter {} {} ] - - location: 17 (remaining gas: 1039987.180 units remaining) + - location: 17 (remaining gas: 1039987.375 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039987.105 units remaining) + - location: 18 (remaining gas: 1039987.330 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039987.035 units remaining) + - location: 19 (remaining gas: 1039987.290 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039986.960 units remaining) + - location: 20 (remaining gas: 1039987.245 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039986.885 units remaining) + - location: 21 (remaining gas: 1039987.200 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039986.810 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039986.765 units remaining) + - location: 23 (remaining gas: 1039987.155 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 9d7dc5f14f16..3fcbfe206224 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039986.278 units remaining) + - location: 12 (remaining gas: 1039986.278 units remaining) [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039986.198 units remaining) + - location: 12 (remaining gas: 1039986.228 units remaining) [ "bar" @parameter (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039986.043 units remaining) + - location: 13 (remaining gas: 1039986.183 units remaining) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] + - location: 15 (remaining gas: 1039986.133 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039985.963 units remaining) + - location: 16 (remaining gas: 1039986.083 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039985.918 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039985.918 units remaining) + - location: 13 (remaining gas: 1039986.083 units remaining) [ "bar" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039985.808 units remaining) + - location: 17 (remaining gas: 1039986.003 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.733 units remaining) + - location: 18 (remaining gas: 1039985.958 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.663 units remaining) + - location: 19 (remaining gas: 1039985.918 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.588 units remaining) + - location: 20 (remaining gas: 1039985.873 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.513 units remaining) + - location: 21 (remaining gas: 1039985.828 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.438 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039985.393 units remaining) + - location: 23 (remaining gas: 1039985.783 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 296d58c60517..828d9bc711fc 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039986.278 units remaining) + - location: 12 (remaining gas: 1039986.278 units remaining) [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039986.198 units remaining) + - location: 12 (remaining gas: 1039986.228 units remaining) [ "foo" @parameter (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039986.043 units remaining) + - location: 13 (remaining gas: 1039986.183 units remaining) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] + - location: 15 (remaining gas: 1039986.133 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039985.963 units remaining) + - location: 16 (remaining gas: 1039986.083 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039985.918 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039985.918 units remaining) + - location: 13 (remaining gas: 1039986.083 units remaining) [ "foo" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039985.808 units remaining) + - location: 17 (remaining gas: 1039986.003 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.733 units remaining) + - location: 18 (remaining gas: 1039985.958 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.663 units remaining) + - location: 19 (remaining gas: 1039985.918 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.588 units remaining) + - location: 20 (remaining gas: 1039985.873 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.513 units remaining) + - location: 21 (remaining gas: 1039985.828 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.438 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039985.393 units remaining) + - location: 23 (remaining gas: 1039985.783 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 0e9df65c85ed..d2254f57d5e5 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039986.278 units remaining) + - location: 12 (remaining gas: 1039986.278 units remaining) [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039986.198 units remaining) + - location: 12 (remaining gas: 1039986.228 units remaining) [ "baz" @parameter (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039986.043 units remaining) + - location: 13 (remaining gas: 1039986.183 units remaining) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] + - location: 15 (remaining gas: 1039986.133 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039985.963 units remaining) + - location: 16 (remaining gas: 1039986.083 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039985.918 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039985.918 units remaining) + - location: 13 (remaining gas: 1039986.083 units remaining) [ "baz" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039985.808 units remaining) + - location: 17 (remaining gas: 1039986.003 units remaining) [ False { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.733 units remaining) + - location: 18 (remaining gas: 1039985.958 units remaining) [ (Some False) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.663 units remaining) + - location: 19 (remaining gas: 1039985.918 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some False) ] - - location: 20 (remaining gas: 1039985.588 units remaining) + - location: 20 (remaining gas: 1039985.873 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039985.513 units remaining) + - location: 21 (remaining gas: 1039985.828 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039985.438 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: -1 (remaining gas: 1039985.393 units remaining) + - location: 23 (remaining gas: 1039985.783 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 2837bc610976..92be55a92de1 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.002 units remaining) + - location: 12 (remaining gas: 1039987.002 units remaining) [ (Pair "foo" { Elt "foo" 0 } None) ] - - location: 12 (remaining gas: 1039986.922 units remaining) + - location: 12 (remaining gas: 1039986.952 units remaining) [ "foo" @parameter (Pair { Elt "foo" 0 } None) @storage ] - - location: 15 (remaining gas: 1039986.767 units remaining) + - location: 13 (remaining gas: 1039986.907 units remaining) + [ (Pair { Elt "foo" 0 } None) @storage ] + - location: 15 (remaining gas: 1039986.857 units remaining) [ { Elt "foo" 0 } ] - - location: 16 (remaining gas: 1039986.687 units remaining) + - location: 16 (remaining gas: 1039986.807 units remaining) [ { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: -1 (remaining gas: 1039986.642 units remaining) - [ { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039986.642 units remaining) + - location: 13 (remaining gas: 1039986.807 units remaining) [ "foo" @parameter { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039986.532 units remaining) + - location: 17 (remaining gas: 1039986.727 units remaining) [ True { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039986.457 units remaining) + - location: 18 (remaining gas: 1039986.682 units remaining) [ (Some True) { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039986.387 units remaining) + - location: 19 (remaining gas: 1039986.642 units remaining) [ { Elt "foo" 0 } (Some True) ] - - location: 20 (remaining gas: 1039986.312 units remaining) + - location: 20 (remaining gas: 1039986.597 units remaining) [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039986.237 units remaining) + - location: 21 (remaining gas: 1039986.552 units remaining) [ {} (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039986.162 units remaining) - [ (Pair {} { Elt "foo" 0 } (Some True)) ] - - location: -1 (remaining gas: 1039986.117 units remaining) + - location: 23 (remaining gas: 1039986.507 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 2593d2af46bd..d273488b294e 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.002 units remaining) + - location: 12 (remaining gas: 1039987.002 units remaining) [ (Pair "bar" { Elt "foo" 1 } None) ] - - location: 12 (remaining gas: 1039986.922 units remaining) + - location: 12 (remaining gas: 1039986.952 units remaining) [ "bar" @parameter (Pair { Elt "foo" 1 } None) @storage ] - - location: 15 (remaining gas: 1039986.767 units remaining) + - location: 13 (remaining gas: 1039986.907 units remaining) + [ (Pair { Elt "foo" 1 } None) @storage ] + - location: 15 (remaining gas: 1039986.857 units remaining) [ { Elt "foo" 1 } ] - - location: 16 (remaining gas: 1039986.687 units remaining) + - location: 16 (remaining gas: 1039986.807 units remaining) [ { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: -1 (remaining gas: 1039986.642 units remaining) - [ { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039986.642 units remaining) + - location: 13 (remaining gas: 1039986.807 units remaining) [ "bar" @parameter { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039986.532 units remaining) + - location: 17 (remaining gas: 1039986.727 units remaining) [ False { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039986.457 units remaining) + - location: 18 (remaining gas: 1039986.682 units remaining) [ (Some False) { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039986.387 units remaining) + - location: 19 (remaining gas: 1039986.642 units remaining) [ { Elt "foo" 1 } (Some False) ] - - location: 20 (remaining gas: 1039986.312 units remaining) + - location: 20 (remaining gas: 1039986.597 units remaining) [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039986.237 units remaining) + - location: 21 (remaining gas: 1039986.552 units remaining) [ {} (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039986.162 units remaining) - [ (Pair {} { Elt "foo" 1 } (Some False)) ] - - location: -1 (remaining gas: 1039986.117 units remaining) + - location: 23 (remaining gas: 1039986.507 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 08797d8915d0..587d2ff65696 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,39 +7,36 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039987.606 units remaining) + - location: 12 (remaining gas: 1039987.606 units remaining) [ (Pair "bar" {} None) ] - - location: 12 (remaining gas: 1039987.526 units remaining) + - location: 12 (remaining gas: 1039987.556 units remaining) [ "bar" @parameter (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039987.371 units remaining) + - location: 13 (remaining gas: 1039987.511 units remaining) + [ (Pair {} None) @storage ] + - location: 15 (remaining gas: 1039987.461 units remaining) [ {} ] - - location: 16 (remaining gas: 1039987.291 units remaining) + - location: 16 (remaining gas: 1039987.411 units remaining) [ {} {} ] - - location: -1 (remaining gas: 1039987.246 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039987.246 units remaining) + - location: 13 (remaining gas: 1039987.411 units remaining) [ "bar" @parameter {} {} ] - - location: 17 (remaining gas: 1039987.136 units remaining) + - location: 17 (remaining gas: 1039987.331 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039987.061 units remaining) + - location: 18 (remaining gas: 1039987.286 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039986.991 units remaining) + - location: 19 (remaining gas: 1039987.246 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039986.916 units remaining) + - location: 20 (remaining gas: 1039987.201 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039986.841 units remaining) + - location: 21 (remaining gas: 1039987.156 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039986.766 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039986.721 units remaining) + - location: 23 (remaining gas: 1039987.111 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 a1716bf973fe..24d6e81cddf8 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.296 units remaining) + - location: 9 (remaining gas: 1039990.296 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: 1039990.216 units remaining) + - location: 9 (remaining gas: 1039990.246 units remaining) [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 } @parameter ] - - location: 10 (remaining gas: 1039990.136 units remaining) + - location: 10 (remaining gas: 1039990.196 units remaining) [ 6 ] - - location: 11 (remaining gas: 1039990.061 units remaining) + - location: 11 (remaining gas: 1039990.151 units remaining) [ {} 6 ] - - location: 13 (remaining gas: 1039989.986 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039989.941 units remaining) + - location: 13 (remaining gas: 1039990.106 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 e495134a7d37..4b08d87765fb 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.408 units remaining) + - location: 9 (remaining gas: 1039992.408 units remaining) [ (Pair { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } 111) ] - - location: 9 (remaining gas: 1039992.328 units remaining) + - location: 9 (remaining gas: 1039992.358 units remaining) [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } @parameter ] - - location: 10 (remaining gas: 1039992.248 units remaining) + - location: 10 (remaining gas: 1039992.308 units remaining) [ 3 ] - - location: 11 (remaining gas: 1039992.173 units remaining) + - location: 11 (remaining gas: 1039992.263 units remaining) [ {} 3 ] - - location: 13 (remaining gas: 1039992.098 units remaining) - [ (Pair {} 3) ] - - location: -1 (remaining gas: 1039992.053 units remaining) + - location: 13 (remaining gas: 1039992.218 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 4d368a753aa1..e48e2378dd49 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.816 units remaining) + - location: 9 (remaining gas: 1039993.816 units remaining) [ (Pair { Elt "a" 1 } 111) ] - - location: 9 (remaining gas: 1039993.736 units remaining) + - location: 9 (remaining gas: 1039993.766 units remaining) [ { Elt "a" 1 } @parameter ] - - location: 10 (remaining gas: 1039993.656 units remaining) + - location: 10 (remaining gas: 1039993.716 units remaining) [ 1 ] - - location: 11 (remaining gas: 1039993.581 units remaining) + - location: 11 (remaining gas: 1039993.671 units remaining) [ {} 1 ] - - location: 13 (remaining gas: 1039993.506 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039993.461 units remaining) + - location: 13 (remaining gas: 1039993.626 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 9205cf52888c..4d38a70b2b92 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.400 units remaining) + - location: 9 (remaining gas: 1039994.400 units remaining) [ (Pair {} 111) ] - - location: 9 (remaining gas: 1039994.320 units remaining) + - location: 9 (remaining gas: 1039994.350 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039994.240 units remaining) + - location: 10 (remaining gas: 1039994.300 units remaining) [ 0 ] - - location: 11 (remaining gas: 1039994.165 units remaining) + - location: 11 (remaining gas: 1039994.255 units remaining) [ {} 0 ] - - location: 13 (remaining gas: 1039994.090 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039994.045 units remaining) + - location: 13 (remaining gas: 1039994.210 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 10ffc88bec03..c5cd0e60ea34 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,127 +7,125 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039937.860 units remaining) + - location: 7 (remaining gas: 1039937.860 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039937.780 units remaining) + - location: 7 (remaining gas: 1039937.810 units remaining) [ Unit @parameter ] - - location: 8 (remaining gas: 1039937.705 units remaining) + - location: 8 (remaining gas: 1039937.765 units remaining) [ ] - - location: 9 (remaining gas: 1039937.630 units remaining) + - location: 9 (remaining gas: 1039937.720 units remaining) [ 7987 ] - - location: 12 (remaining gas: 1039937.555 units remaining) + - location: 12 (remaining gas: 1039937.675 units remaining) [ 10 7987 ] - - location: 15 (remaining gas: 1039937.059 units remaining) + - location: 15 (remaining gas: 1039937.209 units remaining) [ 79870 ] - - location: 16 (remaining gas: 1039936.984 units remaining) + - location: 16 (remaining gas: 1039937.164 units remaining) [ 79870 79870 ] - - location: 19 (remaining gas: 1039936.850 units remaining) + - location: 19 (remaining gas: 1039937.060 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039936.745 units remaining) + - location: 21 (remaining gas: 1039937.010 units remaining) [ True ] - - location: 23 (remaining gas: 1039936.645 units remaining) + - location: 22 (remaining gas: 1039936.985 units remaining) [ ] - - location: -1 (remaining gas: 1039936.600 units remaining) + - location: 23 (remaining gas: 1039936.940 units remaining) [ ] - - location: 28 (remaining gas: 1039936.525 units remaining) + - location: 28 (remaining gas: 1039936.895 units remaining) [ 10 ] - - location: 31 (remaining gas: 1039936.450 units remaining) + - location: 31 (remaining gas: 1039936.850 units remaining) [ 7987 10 ] - - location: 34 (remaining gas: 1039935.954 units remaining) + - location: 34 (remaining gas: 1039936.384 units remaining) [ 79870 ] - - location: 35 (remaining gas: 1039935.879 units remaining) + - location: 35 (remaining gas: 1039936.339 units remaining) [ 79870 79870 ] - - location: 38 (remaining gas: 1039935.745 units remaining) + - location: 38 (remaining gas: 1039936.235 units remaining) [ 0 ] - - location: 40 (remaining gas: 1039935.640 units remaining) + - location: 40 (remaining gas: 1039936.185 units remaining) [ True ] - - location: 42 (remaining gas: 1039935.540 units remaining) + - location: 41 (remaining gas: 1039936.160 units remaining) [ ] - - location: -1 (remaining gas: 1039935.495 units remaining) + - location: 42 (remaining gas: 1039936.115 units remaining) [ ] - - location: 47 (remaining gas: 1039935.420 units remaining) + - location: 47 (remaining gas: 1039936.070 units remaining) [ 10 ] - - location: 50 (remaining gas: 1039935.345 units remaining) + - location: 50 (remaining gas: 1039936.025 units remaining) [ -7987 10 ] - - location: 53 (remaining gas: 1039935.226 units remaining) + - location: 53 (remaining gas: 1039935.936 units remaining) [ -79870 ] - - location: 54 (remaining gas: 1039935.151 units remaining) + - location: 54 (remaining gas: 1039935.891 units remaining) [ -79870 -79870 ] - - location: 57 (remaining gas: 1039934.971 units remaining) + - location: 57 (remaining gas: 1039935.741 units remaining) [ 0 ] - - location: 59 (remaining gas: 1039934.866 units remaining) + - location: 59 (remaining gas: 1039935.691 units remaining) [ True ] - - location: 61 (remaining gas: 1039934.766 units remaining) + - location: 60 (remaining gas: 1039935.666 units remaining) [ ] - - location: -1 (remaining gas: 1039934.721 units remaining) + - location: 61 (remaining gas: 1039935.621 units remaining) [ ] - - location: 66 (remaining gas: 1039934.646 units remaining) + - location: 66 (remaining gas: 1039935.576 units remaining) [ 10 ] - - location: 69 (remaining gas: 1039934.571 units remaining) + - location: 69 (remaining gas: 1039935.531 units remaining) [ -7987 10 ] - - location: 72 (remaining gas: 1039934.452 units remaining) + - location: 72 (remaining gas: 1039935.442 units remaining) [ -79870 ] - - location: 73 (remaining gas: 1039934.377 units remaining) + - location: 73 (remaining gas: 1039935.397 units remaining) [ -79870 -79870 ] - - location: 76 (remaining gas: 1039934.197 units remaining) + - location: 76 (remaining gas: 1039935.247 units remaining) [ 0 ] - - location: 78 (remaining gas: 1039934.092 units remaining) + - location: 78 (remaining gas: 1039935.197 units remaining) [ True ] - - location: 80 (remaining gas: 1039933.992 units remaining) + - location: 79 (remaining gas: 1039935.172 units remaining) [ ] - - location: -1 (remaining gas: 1039933.947 units remaining) + - location: 80 (remaining gas: 1039935.127 units remaining) [ ] - - location: 85 (remaining gas: 1039933.872 units remaining) + - location: 85 (remaining gas: 1039935.082 units remaining) [ -10 ] - - location: 88 (remaining gas: 1039933.797 units remaining) + - location: 88 (remaining gas: 1039935.037 units remaining) [ 7987 -10 ] - - location: 91 (remaining gas: 1039933.678 units remaining) + - location: 91 (remaining gas: 1039934.948 units remaining) [ -79870 ] - - location: 92 (remaining gas: 1039933.603 units remaining) + - location: 92 (remaining gas: 1039934.903 units remaining) [ -79870 -79870 ] - - location: 95 (remaining gas: 1039933.423 units remaining) + - location: 95 (remaining gas: 1039934.753 units remaining) [ 0 ] - - location: 97 (remaining gas: 1039933.318 units remaining) + - location: 97 (remaining gas: 1039934.703 units remaining) [ True ] - - location: 99 (remaining gas: 1039933.218 units remaining) + - location: 98 (remaining gas: 1039934.678 units remaining) [ ] - - location: -1 (remaining gas: 1039933.173 units remaining) + - location: 99 (remaining gas: 1039934.633 units remaining) [ ] - - location: 104 (remaining gas: 1039933.098 units remaining) + - location: 104 (remaining gas: 1039934.588 units remaining) [ 10 ] - - location: 107 (remaining gas: 1039933.023 units remaining) + - location: 107 (remaining gas: 1039934.543 units remaining) [ 7987 10 ] - - location: 110 (remaining gas: 1039932.904 units remaining) + - location: 110 (remaining gas: 1039934.454 units remaining) [ 79870 ] - - location: 111 (remaining gas: 1039932.829 units remaining) + - location: 111 (remaining gas: 1039934.409 units remaining) [ 79870 79870 ] - - location: 114 (remaining gas: 1039932.649 units remaining) + - location: 114 (remaining gas: 1039934.259 units remaining) [ 0 ] - - location: 116 (remaining gas: 1039932.544 units remaining) + - location: 116 (remaining gas: 1039934.209 units remaining) [ True ] - - location: 118 (remaining gas: 1039932.444 units remaining) + - location: 117 (remaining gas: 1039934.184 units remaining) [ ] - - location: -1 (remaining gas: 1039932.399 units remaining) + - location: 118 (remaining gas: 1039934.139 units remaining) [ ] - - location: 123 (remaining gas: 1039932.324 units remaining) + - location: 123 (remaining gas: 1039934.094 units remaining) [ Unit ] - - location: 124 (remaining gas: 1039932.249 units remaining) + - location: 124 (remaining gas: 1039934.049 units remaining) [ {} Unit ] - - location: 126 (remaining gas: 1039932.174 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039932.129 units remaining) + - location: 126 (remaining gas: 1039934.004 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 a54a4804631a..be7291afff08 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,34 +7,32 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039986.695 units remaining) + - location: 7 (remaining gas: 1039986.695 units remaining) [ (Pair 257 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039986.615 units remaining) + - location: 7 (remaining gas: 1039986.645 units remaining) [ 257 @parameter ] - - location: 8 (remaining gas: 1039986.540 units remaining) + - location: 8 (remaining gas: 1039986.600 units remaining) [ 1 257 @parameter ] - - location: 11 (remaining gas: 1039986.470 units remaining) + - location: 11 (remaining gas: 1039986.560 units remaining) [ 257 @parameter 1 ] - - location: 12 (remaining gas: 1039986.240 units remaining) + - location: 12 (remaining gas: 1039986.360 units remaining) [ (Some (Pair 257 0)) ] - - location: 19 (remaining gas: 1039986.105 units remaining) + - location: 14 (remaining gas: 1039986.330 units remaining) [ (Pair 257 0) @some ] - - location: 13 (remaining gas: 1039986.060 units remaining) + - location: 19 (remaining gas: 1039986.285 units remaining) [ (Pair 257 0) @some ] - - location: 20 (remaining gas: 1039985.980 units remaining) + - location: 20 (remaining gas: 1039986.235 units remaining) [ 257 ] - - location: 21 (remaining gas: 1039985.905 units remaining) + - location: 21 (remaining gas: 1039986.190 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 257 ] - - location: 24 (remaining gas: 1039985.495 units remaining) + - location: 24 (remaining gas: 1039985.810 units remaining) [ 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039985.420 units remaining) + - location: 25 (remaining gas: 1039985.765 units remaining) [ {} 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039985.345 units remaining) - [ (Pair {} 0x0101000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039985.300 units remaining) + - location: 27 (remaining gas: 1039985.720 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 625e1ac269a0..6c91a4412af2 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,34 +7,32 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039986.695 units remaining) + - location: 7 (remaining gas: 1039986.695 units remaining) [ (Pair 16 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039986.615 units remaining) + - location: 7 (remaining gas: 1039986.645 units remaining) [ 16 @parameter ] - - location: 8 (remaining gas: 1039986.540 units remaining) + - location: 8 (remaining gas: 1039986.600 units remaining) [ 1 16 @parameter ] - - location: 11 (remaining gas: 1039986.470 units remaining) + - location: 11 (remaining gas: 1039986.560 units remaining) [ 16 @parameter 1 ] - - location: 12 (remaining gas: 1039986.240 units remaining) + - location: 12 (remaining gas: 1039986.360 units remaining) [ (Some (Pair 16 0)) ] - - location: 19 (remaining gas: 1039986.105 units remaining) + - location: 14 (remaining gas: 1039986.330 units remaining) [ (Pair 16 0) @some ] - - location: 13 (remaining gas: 1039986.060 units remaining) + - location: 19 (remaining gas: 1039986.285 units remaining) [ (Pair 16 0) @some ] - - location: 20 (remaining gas: 1039985.980 units remaining) + - location: 20 (remaining gas: 1039986.235 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039985.905 units remaining) + - location: 21 (remaining gas: 1039986.190 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 16 ] - - location: 24 (remaining gas: 1039985.495 units remaining) + - location: 24 (remaining gas: 1039985.810 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039985.420 units remaining) + - location: 25 (remaining gas: 1039985.765 units remaining) [ {} 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039985.345 units remaining) - [ (Pair {} 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039985.300 units remaining) + - location: 27 (remaining gas: 1039985.720 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 43664865e30d..b72682fc6444 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,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.530 units remaining) + - location: 9 (remaining gas: 1039992.530 units remaining) [ (Pair (Left -2) 0) ] - - location: 9 (remaining gas: 1039992.450 units remaining) + - location: 9 (remaining gas: 1039992.480 units remaining) [ (Left -2) @parameter ] - - location: 12 (remaining gas: 1039992.280 units remaining) + - location: 10 (remaining gas: 1039992.450 units remaining) + [ -2 @parameter.left ] + - location: 12 (remaining gas: 1039992.370 units remaining) [ 2 ] - - location: 11 (remaining gas: 1039992.235 units remaining) - [ 2 ] - - location: 15 (remaining gas: 1039992.160 units remaining) + - location: 15 (remaining gas: 1039992.325 units remaining) [ {} 2 ] - - location: 17 (remaining gas: 1039992.085 units remaining) - [ (Pair {} 2) ] - - location: -1 (remaining gas: 1039992.040 units remaining) + - location: 17 (remaining gas: 1039992.280 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 cdee8a75cefe..036b45ac9b6c 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,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.530 units remaining) + - location: 9 (remaining gas: 1039992.530 units remaining) [ (Pair (Left 0) 0) ] - - location: 9 (remaining gas: 1039992.450 units remaining) + - location: 9 (remaining gas: 1039992.480 units remaining) [ (Left 0) @parameter ] - - location: 12 (remaining gas: 1039992.280 units remaining) + - location: 10 (remaining gas: 1039992.450 units remaining) + [ 0 @parameter.left ] + - location: 12 (remaining gas: 1039992.370 units remaining) [ 0 ] - - location: 11 (remaining gas: 1039992.235 units remaining) - [ 0 ] - - location: 15 (remaining gas: 1039992.160 units remaining) + - location: 15 (remaining gas: 1039992.325 units remaining) [ {} 0 ] - - location: 17 (remaining gas: 1039992.085 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039992.040 units remaining) + - location: 17 (remaining gas: 1039992.280 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 cbf124604880..71a9b922c309 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,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.530 units remaining) + - location: 9 (remaining gas: 1039992.530 units remaining) [ (Pair (Left 2) 0) ] - - location: 9 (remaining gas: 1039992.450 units remaining) + - location: 9 (remaining gas: 1039992.480 units remaining) [ (Left 2) @parameter ] - - location: 12 (remaining gas: 1039992.280 units remaining) + - location: 10 (remaining gas: 1039992.450 units remaining) + [ 2 @parameter.left ] + - location: 12 (remaining gas: 1039992.370 units remaining) [ -2 ] - - location: 11 (remaining gas: 1039992.235 units remaining) - [ -2 ] - - location: 15 (remaining gas: 1039992.160 units remaining) + - location: 15 (remaining gas: 1039992.325 units remaining) [ {} -2 ] - - location: 17 (remaining gas: 1039992.085 units remaining) - [ (Pair {} -2) ] - - location: -1 (remaining gas: 1039992.040 units remaining) + - location: 17 (remaining gas: 1039992.280 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 1706c541608e..c6ac7f1c7ac4 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,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.530 units remaining) + - location: 9 (remaining gas: 1039992.530 units remaining) [ (Pair (Right 0) 0) ] - - location: 9 (remaining gas: 1039992.450 units remaining) + - location: 9 (remaining gas: 1039992.480 units remaining) [ (Right 0) @parameter ] - - location: 14 (remaining gas: 1039992.280 units remaining) + - location: 10 (remaining gas: 1039992.450 units remaining) + [ 0 @parameter.right ] + - location: 14 (remaining gas: 1039992.370 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039992.235 units remaining) - [ 0 ] - - location: 15 (remaining gas: 1039992.160 units remaining) + - location: 15 (remaining gas: 1039992.325 units remaining) [ {} 0 ] - - location: 17 (remaining gas: 1039992.085 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039992.040 units remaining) + - location: 17 (remaining gas: 1039992.280 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 528dd7bd1861..c5d0fd7f9b49 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,17 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039992.530 units remaining) + - location: 9 (remaining gas: 1039992.530 units remaining) [ (Pair (Right 2) 0) ] - - location: 9 (remaining gas: 1039992.450 units remaining) + - location: 9 (remaining gas: 1039992.480 units remaining) [ (Right 2) @parameter ] - - location: 14 (remaining gas: 1039992.280 units remaining) + - location: 10 (remaining gas: 1039992.450 units remaining) + [ 2 @parameter.right ] + - location: 14 (remaining gas: 1039992.370 units remaining) [ -2 ] - - location: 13 (remaining gas: 1039992.235 units remaining) - [ -2 ] - - location: 15 (remaining gas: 1039992.160 units remaining) + - location: 15 (remaining gas: 1039992.325 units remaining) [ {} -2 ] - - location: 17 (remaining gas: 1039992.085 units remaining) - [ (Pair {} -2) ] - - location: -1 (remaining gas: 1039992.040 units remaining) + - location: 17 (remaining gas: 1039992.280 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 48132b50ed54..11fecb8ee060 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.030 units remaining) + - location: 8 (remaining gas: 1039994.030 units remaining) [ (Pair Unit (Some 10)) ] - - location: 8 (remaining gas: 1039993.955 units remaining) + - location: 8 (remaining gas: 1039993.985 units remaining) [ ] - - location: 9 (remaining gas: 1039993.880 units remaining) + - location: 9 (remaining gas: 1039993.940 units remaining) [ None ] - - location: 11 (remaining gas: 1039993.805 units remaining) + - location: 11 (remaining gas: 1039993.895 units remaining) [ {} None ] - - location: 13 (remaining gas: 1039993.730 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039993.685 units remaining) + - location: 13 (remaining gas: 1039993.850 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 87c83fbda737..4083324f0e16 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair False None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ False @parameter ] - - location: 9 (remaining gas: 1039993.530 units remaining) + - location: 9 (remaining gas: 1039993.590 units remaining) [ True ] - - location: 10 (remaining gas: 1039993.455 units remaining) + - location: 10 (remaining gas: 1039993.545 units remaining) [ (Some True) ] - - location: 11 (remaining gas: 1039993.380 units remaining) + - location: 11 (remaining gas: 1039993.500 units remaining) [ {} (Some True) ] - - location: 13 (remaining gas: 1039993.305 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039993.260 units remaining) + - location: 13 (remaining gas: 1039993.455 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 b638bb502b64..dccba5183574 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair True None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ True @parameter ] - - location: 9 (remaining gas: 1039993.530 units remaining) + - location: 9 (remaining gas: 1039993.590 units remaining) [ False ] - - location: 10 (remaining gas: 1039993.455 units remaining) + - location: 10 (remaining gas: 1039993.545 units remaining) [ (Some False) ] - - location: 11 (remaining gas: 1039993.380 units remaining) + - location: 11 (remaining gas: 1039993.500 units remaining) [ {} (Some False) ] - - location: 13 (remaining gas: 1039993.305 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039993.260 units remaining) + - location: 13 (remaining gas: 1039993.455 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 ecdcf66f5059..e6520e58b47f 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Left -8) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Left -8) @parameter ] - - location: 13 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ -8 @parameter.left ] + - location: 13 (remaining gas: 1039991.345 units remaining) [ 7 ] - - location: 12 (remaining gas: 1039991.210 units remaining) - [ 7 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some 7) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some 7) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some 7)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 f8affc9e52df..4d7b474e044c 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Left -9) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Left -9) @parameter ] - - location: 13 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ -9 @parameter.left ] + - location: 13 (remaining gas: 1039991.345 units remaining) [ 8 ] - - location: 12 (remaining gas: 1039991.210 units remaining) - [ 8 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some 8) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some 8) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some 8)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 63683d28197d..f3b707e724c2 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Left 0) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Left 0) @parameter ] - - location: 13 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ 0 @parameter.left ] + - location: 13 (remaining gas: 1039991.345 units remaining) [ -1 ] - - location: 12 (remaining gas: 1039991.210 units remaining) - [ -1 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some -1) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some -1) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some -1)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 839849038f4f..efa151e7afd8 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Left 7) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Left 7) @parameter ] - - location: 13 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ 7 @parameter.left ] + - location: 13 (remaining gas: 1039991.345 units remaining) [ -8 ] - - location: 12 (remaining gas: 1039991.210 units remaining) - [ -8 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some -8) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some -8) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some -8)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 203ee040f539..20ce9e2272ba 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Left 8) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Left 8) @parameter ] - - location: 13 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ 8 @parameter.left ] + - location: 13 (remaining gas: 1039991.345 units remaining) [ -9 ] - - location: 12 (remaining gas: 1039991.210 units remaining) - [ -9 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some -9) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some -9) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some -9)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 7673d49702fb..cbc8306c31ed 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Right 0) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Right 0) @parameter ] - - location: 15 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ 0 @parameter.right ] + - location: 15 (remaining gas: 1039991.345 units remaining) [ -1 ] - - location: 14 (remaining gas: 1039991.210 units remaining) - [ -1 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some -1) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some -1) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some -1)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 c10ea33a4a05..e62d561c68f8 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Right 7) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Right 7) @parameter ] - - location: 15 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ 7 @parameter.right ] + - location: 15 (remaining gas: 1039991.345 units remaining) [ -8 ] - - location: 14 (remaining gas: 1039991.210 units remaining) - [ -8 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some -8) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some -8) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some -8)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 ff1bc517fe93..16c357979a83 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,19 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039991.480 units remaining) + - location: 10 (remaining gas: 1039991.480 units remaining) [ (Pair (Right 8) None) ] - - location: 10 (remaining gas: 1039991.400 units remaining) + - location: 10 (remaining gas: 1039991.430 units remaining) [ (Right 8) @parameter ] - - location: 15 (remaining gas: 1039991.255 units remaining) + - location: 11 (remaining gas: 1039991.400 units remaining) + [ 8 @parameter.right ] + - location: 15 (remaining gas: 1039991.345 units remaining) [ -9 ] - - location: 14 (remaining gas: 1039991.210 units remaining) - [ -9 ] - - location: 16 (remaining gas: 1039991.135 units remaining) + - location: 16 (remaining gas: 1039991.300 units remaining) [ (Some -9) ] - - location: 17 (remaining gas: 1039991.060 units remaining) + - location: 17 (remaining gas: 1039991.255 units remaining) [ {} (Some -9) ] - - location: 19 (remaining gas: 1039990.985 units remaining) - [ (Pair {} (Some -9)) ] - - location: -1 (remaining gas: 1039990.940 units remaining) + - location: 19 (remaining gas: 1039991.210 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 8fa6c158a8b5..dc4b5fc6356e 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,31 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair False False) None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair False False) @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair False False) @parameter (Pair False False) @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ False (Pair False False) @parameter ] - - location: 13 (remaining gas: 1039988.840 units remaining) + - location: 13 (remaining gas: 1039988.960 units remaining) [ (Pair False False) @parameter False ] - - location: 14 (remaining gas: 1039988.760 units remaining) + - location: 14 (remaining gas: 1039988.910 units remaining) [ False False ] - - location: 15 (remaining gas: 1039988.680 units remaining) + - location: 15 (remaining gas: 1039988.860 units remaining) [ False ] - - location: 16 (remaining gas: 1039988.605 units remaining) + - location: 16 (remaining gas: 1039988.815 units remaining) [ (Some False) ] - - location: 17 (remaining gas: 1039988.530 units remaining) + - location: 17 (remaining gas: 1039988.770 units remaining) [ {} (Some False) ] - - location: 19 (remaining gas: 1039988.455 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039988.410 units remaining) + - location: 19 (remaining gas: 1039988.725 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 aedfa3f87556..a561b3a7a404 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,31 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair False True) None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair False True) @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair False True) @parameter (Pair False True) @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ False (Pair False True) @parameter ] - - location: 13 (remaining gas: 1039988.840 units remaining) + - location: 13 (remaining gas: 1039988.960 units remaining) [ (Pair False True) @parameter False ] - - location: 14 (remaining gas: 1039988.760 units remaining) + - location: 14 (remaining gas: 1039988.910 units remaining) [ True False ] - - location: 15 (remaining gas: 1039988.680 units remaining) + - location: 15 (remaining gas: 1039988.860 units remaining) [ True ] - - location: 16 (remaining gas: 1039988.605 units remaining) + - location: 16 (remaining gas: 1039988.815 units remaining) [ (Some True) ] - - location: 17 (remaining gas: 1039988.530 units remaining) + - location: 17 (remaining gas: 1039988.770 units remaining) [ {} (Some True) ] - - location: 19 (remaining gas: 1039988.455 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039988.410 units remaining) + - location: 19 (remaining gas: 1039988.725 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 f3874c4deef9..7e6368fd2877 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,31 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair True False) None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair True False) @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair True False) @parameter (Pair True False) @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ True (Pair True False) @parameter ] - - location: 13 (remaining gas: 1039988.840 units remaining) + - location: 13 (remaining gas: 1039988.960 units remaining) [ (Pair True False) @parameter True ] - - location: 14 (remaining gas: 1039988.760 units remaining) + - location: 14 (remaining gas: 1039988.910 units remaining) [ False True ] - - location: 15 (remaining gas: 1039988.680 units remaining) + - location: 15 (remaining gas: 1039988.860 units remaining) [ True ] - - location: 16 (remaining gas: 1039988.605 units remaining) + - location: 16 (remaining gas: 1039988.815 units remaining) [ (Some True) ] - - location: 17 (remaining gas: 1039988.530 units remaining) + - location: 17 (remaining gas: 1039988.770 units remaining) [ {} (Some True) ] - - location: 19 (remaining gas: 1039988.455 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039988.410 units remaining) + - location: 19 (remaining gas: 1039988.725 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 f380957381fc..d7c9798fac0b 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,31 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039989.150 units remaining) + - location: 10 (remaining gas: 1039989.150 units remaining) [ (Pair (Pair True True) None) ] - - location: 10 (remaining gas: 1039989.070 units remaining) + - location: 10 (remaining gas: 1039989.100 units remaining) [ (Pair True True) @parameter ] - - location: 11 (remaining gas: 1039988.990 units remaining) + - location: 11 (remaining gas: 1039989.050 units remaining) [ (Pair True True) @parameter (Pair True True) @parameter ] - - location: 12 (remaining gas: 1039988.910 units remaining) + - location: 12 (remaining gas: 1039989 units remaining) [ True (Pair True True) @parameter ] - - location: 13 (remaining gas: 1039988.840 units remaining) + - location: 13 (remaining gas: 1039988.960 units remaining) [ (Pair True True) @parameter True ] - - location: 14 (remaining gas: 1039988.760 units remaining) + - location: 14 (remaining gas: 1039988.910 units remaining) [ True True ] - - location: 15 (remaining gas: 1039988.680 units remaining) + - location: 15 (remaining gas: 1039988.860 units remaining) [ True ] - - location: 16 (remaining gas: 1039988.605 units remaining) + - location: 16 (remaining gas: 1039988.815 units remaining) [ (Some True) ] - - location: 17 (remaining gas: 1039988.530 units remaining) + - location: 17 (remaining gas: 1039988.770 units remaining) [ {} (Some True) ] - - location: 19 (remaining gas: 1039988.455 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039988.410 units remaining) + - location: 19 (remaining gas: 1039988.725 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 8d970e03104f..86b3b1fc902c 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.120 units remaining) + - location: 10 (remaining gas: 1039992.120 units remaining) [ (Pair (Pair 0 8) None) ] - - location: 10 (remaining gas: 1039992.040 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ (Pair 0 8) @parameter ] - - location: 11 (remaining gas: 1039991.960 units remaining) + - location: 11 (remaining gas: 1039992.020 units remaining) [ 0 8 ] - - location: 12 (remaining gas: 1039991.850 units remaining) + - location: 12 (remaining gas: 1039991.940 units remaining) [ 8 ] - - location: 13 (remaining gas: 1039991.775 units remaining) + - location: 13 (remaining gas: 1039991.895 units remaining) [ (Some 8) ] - - location: 14 (remaining gas: 1039991.700 units remaining) + - location: 14 (remaining gas: 1039991.850 units remaining) [ {} (Some 8) ] - - location: 16 (remaining gas: 1039991.625 units remaining) - [ (Pair {} (Some 8)) ] - - location: -1 (remaining gas: 1039991.580 units remaining) + - location: 16 (remaining gas: 1039991.805 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 8b174a6f1aa3..9e94d5b21a0f 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.120 units remaining) + - location: 10 (remaining gas: 1039992.120 units remaining) [ (Pair (Pair 14 1) None) ] - - location: 10 (remaining gas: 1039992.040 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ (Pair 14 1) @parameter ] - - location: 11 (remaining gas: 1039991.960 units remaining) + - location: 11 (remaining gas: 1039992.020 units remaining) [ 14 1 ] - - location: 12 (remaining gas: 1039991.850 units remaining) + - location: 12 (remaining gas: 1039991.940 units remaining) [ 15 ] - - location: 13 (remaining gas: 1039991.775 units remaining) + - location: 13 (remaining gas: 1039991.895 units remaining) [ (Some 15) ] - - location: 14 (remaining gas: 1039991.700 units remaining) + - location: 14 (remaining gas: 1039991.850 units remaining) [ {} (Some 15) ] - - location: 16 (remaining gas: 1039991.625 units remaining) - [ (Pair {} (Some 15)) ] - - location: -1 (remaining gas: 1039991.580 units remaining) + - location: 16 (remaining gas: 1039991.805 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 572e99f7e395..451bfcd3e20b 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.120 units remaining) + - location: 10 (remaining gas: 1039992.120 units remaining) [ (Pair (Pair 15 4) None) ] - - location: 10 (remaining gas: 1039992.040 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ (Pair 15 4) @parameter ] - - location: 11 (remaining gas: 1039991.960 units remaining) + - location: 11 (remaining gas: 1039992.020 units remaining) [ 15 4 ] - - location: 12 (remaining gas: 1039991.850 units remaining) + - location: 12 (remaining gas: 1039991.940 units remaining) [ 15 ] - - location: 13 (remaining gas: 1039991.775 units remaining) + - location: 13 (remaining gas: 1039991.895 units remaining) [ (Some 15) ] - - location: 14 (remaining gas: 1039991.700 units remaining) + - location: 14 (remaining gas: 1039991.850 units remaining) [ {} (Some 15) ] - - location: 16 (remaining gas: 1039991.625 units remaining) - [ (Pair {} (Some 15)) ] - - location: -1 (remaining gas: 1039991.580 units remaining) + - location: 16 (remaining gas: 1039991.805 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 107fc6d10a2b..ca63688cef3e 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.120 units remaining) + - location: 10 (remaining gas: 1039992.120 units remaining) [ (Pair (Pair 4 8) None) ] - - location: 10 (remaining gas: 1039992.040 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ (Pair 4 8) @parameter ] - - location: 11 (remaining gas: 1039991.960 units remaining) + - location: 11 (remaining gas: 1039992.020 units remaining) [ 4 8 ] - - location: 12 (remaining gas: 1039991.850 units remaining) + - location: 12 (remaining gas: 1039991.940 units remaining) [ 12 ] - - location: 13 (remaining gas: 1039991.775 units remaining) + - location: 13 (remaining gas: 1039991.895 units remaining) [ (Some 12) ] - - location: 14 (remaining gas: 1039991.700 units remaining) + - location: 14 (remaining gas: 1039991.850 units remaining) [ {} (Some 12) ] - - location: 16 (remaining gas: 1039991.625 units remaining) - [ (Pair {} (Some 12)) ] - - location: -1 (remaining gas: 1039991.580 units remaining) + - location: 16 (remaining gas: 1039991.805 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 455d66398abd..0374a602c23d 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.120 units remaining) + - location: 10 (remaining gas: 1039992.120 units remaining) [ (Pair (Pair 7 7) None) ] - - location: 10 (remaining gas: 1039992.040 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ (Pair 7 7) @parameter ] - - location: 11 (remaining gas: 1039991.960 units remaining) + - location: 11 (remaining gas: 1039992.020 units remaining) [ 7 7 ] - - location: 12 (remaining gas: 1039991.850 units remaining) + - location: 12 (remaining gas: 1039991.940 units remaining) [ 7 ] - - location: 13 (remaining gas: 1039991.775 units remaining) + - location: 13 (remaining gas: 1039991.895 units remaining) [ (Some 7) ] - - location: 14 (remaining gas: 1039991.700 units remaining) + - location: 14 (remaining gas: 1039991.850 units remaining) [ {} (Some 7) ] - - location: 16 (remaining gas: 1039991.625 units remaining) - [ (Pair {} (Some 7)) ] - - location: -1 (remaining gas: 1039991.580 units remaining) + - location: 16 (remaining gas: 1039991.805 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 6776c45b3c12..445f34b76742 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,22 +7,20 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039992.120 units remaining) + - location: 10 (remaining gas: 1039992.120 units remaining) [ (Pair (Pair 8 0) None) ] - - location: 10 (remaining gas: 1039992.040 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ (Pair 8 0) @parameter ] - - location: 11 (remaining gas: 1039991.960 units remaining) + - location: 11 (remaining gas: 1039992.020 units remaining) [ 8 0 ] - - location: 12 (remaining gas: 1039991.850 units remaining) + - location: 12 (remaining gas: 1039991.940 units remaining) [ 8 ] - - location: 13 (remaining gas: 1039991.775 units remaining) + - location: 13 (remaining gas: 1039991.895 units remaining) [ (Some 8) ] - - location: 14 (remaining gas: 1039991.700 units remaining) + - location: 14 (remaining gas: 1039991.850 units remaining) [ {} (Some 8) ] - - location: 16 (remaining gas: 1039991.625 units remaining) - [ (Pair {} (Some 8)) ] - - location: -1 (remaining gas: 1039991.580 units remaining) + - location: 16 (remaining gas: 1039991.805 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 84b01ec05838..d5606bb51552 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: 15 (remaining gas: 1039758.056 units remaining) + - location: 16 (remaining gas: 1039758.056 units remaining) [ (Pair (Pair -1 1 "foobar" @@ -18,7 +18,7 @@ trace "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") Unit) ] - - location: 16 (remaining gas: 1039757.976 units remaining) + - location: 16 (remaining gas: 1039758.006 units remaining) [ (Pair -1 1 "foobar" @@ -28,7 +28,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 17 (remaining gas: 1039757.896 units remaining) + - location: 17 (remaining gas: 1039757.956 units remaining) [ (Pair -1 1 "foobar" @@ -47,7 +47,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 18 (remaining gas: 1039757.816 units remaining) + - location: 18 (remaining gas: 1039757.906 units remaining) [ -1 (Pair -1 1 @@ -58,17 +58,17 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 21 (remaining gas: 1039757.661 units remaining) - [ -1 - (Pair 1 + - location: 19 (remaining gas: 1039757.861 units remaining) + [ (Pair -1 + 1 "foobar" 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 20 (remaining gas: 1039757.616 units remaining) + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] + - location: 21 (remaining gas: 1039757.811 units remaining) [ -1 (Pair 1 "foobar" @@ -78,7 +78,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039757.616 units remaining) + - location: 19 (remaining gas: 1039757.811 units remaining) [ -1 -1 (Pair 1 @@ -89,7 +89,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039749.346 units remaining) + - location: 22 (remaining gas: 1039749.571 units remaining) [ 0x050041 @packed -1 (Pair 1 @@ -100,7 +100,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039742.076 units remaining) + - location: 23 (remaining gas: 1039742.331 units remaining) [ (Some -1) @packed.unpacked -1 (Pair 1 @@ -111,7 +111,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 31 (remaining gas: 1039741.941 units remaining) + - location: 26 (remaining gas: 1039742.301 units remaining) [ -1 @packed.unpacked.some -1 (Pair 1 @@ -122,7 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 25 (remaining gas: 1039741.896 units remaining) + - location: 31 (remaining gas: 1039742.256 units remaining) [ -1 @packed.unpacked.some -1 (Pair 1 @@ -133,7 +133,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039741.656 units remaining) + - location: 34 (remaining gas: 1039742.106 units remaining) [ 0 (Pair 1 "foobar" @@ -143,17 +143,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039741.581 units remaining) - [ True - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039741.536 units remaining) + - location: 35 (remaining gas: 1039742.056 units remaining) [ True (Pair 1 "foobar" @@ -163,7 +153,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 37 (remaining gas: 1039741.436 units remaining) + - location: 36 (remaining gas: 1039742.031 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -172,7 +162,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039741.391 units remaining) + - location: 37 (remaining gas: 1039741.986 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -181,7 +171,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039741.311 units remaining) + - location: 42 (remaining gas: 1039741.936 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -198,7 +188,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039741.231 units remaining) + - location: 43 (remaining gas: 1039741.886 units remaining) [ 1 (Pair 1 "foobar" @@ -208,16 +198,16 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039741.076 units remaining) - [ 1 - (Pair "foobar" + - location: 44 (remaining gas: 1039741.841 units remaining) + [ (Pair 1 + "foobar" 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 45 (remaining gas: 1039741.031 units remaining) + - location: 46 (remaining gas: 1039741.791 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -226,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.031 units remaining) + - location: 44 (remaining gas: 1039741.791 units remaining) [ 1 1 (Pair "foobar" @@ -236,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039732.761 units remaining) + - location: 47 (remaining gas: 1039733.551 units remaining) [ 0x050001 @packed 1 (Pair "foobar" @@ -246,7 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039725.491 units remaining) + - location: 48 (remaining gas: 1039726.311 units remaining) [ (Some 1) @packed.unpacked 1 (Pair "foobar" @@ -256,7 +246,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 56 (remaining gas: 1039725.356 units remaining) + - location: 51 (remaining gas: 1039726.281 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -266,7 +256,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 50 (remaining gas: 1039725.311 units remaining) + - location: 56 (remaining gas: 1039726.236 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -276,7 +266,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039725.071 units remaining) + - location: 59 (remaining gas: 1039726.086 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -285,16 +275,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039724.996 units remaining) - [ True - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039724.951 units remaining) + - location: 60 (remaining gas: 1039726.036 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -303,7 +284,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 62 (remaining gas: 1039724.851 units remaining) + - location: 61 (remaining gas: 1039726.011 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -311,7 +292,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039724.806 units remaining) + - location: 62 (remaining gas: 1039725.966 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -319,7 +300,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039724.726 units remaining) + - location: 67 (remaining gas: 1039725.916 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -334,7 +315,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039724.646 units remaining) + - location: 68 (remaining gas: 1039725.866 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -343,15 +324,15 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039724.491 units remaining) - [ "foobar" - (Pair 0x00aabbcc + - location: 69 (remaining gas: 1039725.821 units remaining) + [ (Pair "foobar" + 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 70 (remaining gas: 1039724.446 units remaining) + - location: 71 (remaining gas: 1039725.771 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -359,7 +340,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039724.446 units remaining) + - location: 69 (remaining gas: 1039725.771 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -368,7 +349,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039712.176 units remaining) + - location: 72 (remaining gas: 1039713.531 units remaining) [ 0x050100000006666f6f626172 @packed "foobar" (Pair 0x00aabbcc @@ -377,7 +358,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039704.832 units remaining) + - location: 73 (remaining gas: 1039706.217 units remaining) [ (Some "foobar") @packed.unpacked "foobar" (Pair 0x00aabbcc @@ -386,7 +367,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 81 (remaining gas: 1039704.697 units remaining) + - location: 76 (remaining gas: 1039706.187 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -395,7 +376,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 75 (remaining gas: 1039704.652 units remaining) + - location: 81 (remaining gas: 1039706.142 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -404,7 +385,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039704.442 units remaining) + - location: 84 (remaining gas: 1039706.022 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -412,15 +393,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039704.367 units remaining) - [ True - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039704.322 units remaining) + - location: 85 (remaining gas: 1039705.972 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -428,21 +401,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 87 (remaining gas: 1039704.222 units remaining) + - location: 86 (remaining gas: 1039705.947 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039704.177 units remaining) + - location: 87 (remaining gas: 1039705.902 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039704.097 units remaining) + - location: 92 (remaining gas: 1039705.852 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -455,7 +428,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039704.017 units remaining) + - location: 93 (remaining gas: 1039705.802 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -463,21 +436,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039703.862 units remaining) - [ 0x00aabbcc - (Pair 1000 + - location: 94 (remaining gas: 1039705.757 units remaining) + [ (Pair 0x00aabbcc + 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 95 (remaining gas: 1039703.817 units remaining) + - location: 96 (remaining gas: 1039705.707 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039703.817 units remaining) + - location: 94 (remaining gas: 1039705.707 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -485,7 +458,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039691.547 units remaining) + - location: 97 (remaining gas: 1039693.467 units remaining) [ 0x050a0000000400aabbcc @packed 0x00aabbcc (Pair 1000 @@ -493,7 +466,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039657.277 units remaining) + - location: 98 (remaining gas: 1039659.227 units remaining) [ (Some 0x00aabbcc) @packed.unpacked 0x00aabbcc (Pair 1000 @@ -501,7 +474,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 106 (remaining gas: 1039657.142 units remaining) + - location: 101 (remaining gas: 1039659.197 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -509,7 +482,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 100 (remaining gas: 1039657.097 units remaining) + - location: 106 (remaining gas: 1039659.152 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -517,40 +490,33 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039656.887 units remaining) + - location: 109 (remaining gas: 1039659.032 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039656.812 units remaining) - [ True - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039656.767 units remaining) + - location: 110 (remaining gas: 1039658.982 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 112 (remaining gas: 1039656.667 units remaining) + - location: 111 (remaining gas: 1039658.957 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039656.622 units remaining) + - location: 112 (remaining gas: 1039658.912 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039656.542 units remaining) + - location: 117 (remaining gas: 1039658.862 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -561,89 +527,83 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039656.462 units remaining) + - location: 118 (remaining gas: 1039658.812 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039656.307 units remaining) - [ 1000 - (Pair False + - location: 119 (remaining gas: 1039658.767 units remaining) + [ (Pair 1000 + False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 120 (remaining gas: 1039656.262 units remaining) + - location: 121 (remaining gas: 1039658.717 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039656.262 units remaining) + - location: 119 (remaining gas: 1039658.717 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039647.992 units remaining) + - location: 122 (remaining gas: 1039650.477 units remaining) [ 0x0500a80f @packed 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039640.722 units remaining) + - location: 123 (remaining gas: 1039643.237 units remaining) [ (Some 1000) @packed.unpacked 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 131 (remaining gas: 1039640.587 units remaining) + - location: 126 (remaining gas: 1039643.207 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 125 (remaining gas: 1039640.542 units remaining) + - location: 131 (remaining gas: 1039643.162 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039640.348 units remaining) + - location: 134 (remaining gas: 1039643.058 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039640.273 units remaining) - [ True - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039640.228 units remaining) + - location: 135 (remaining gas: 1039643.008 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 137 (remaining gas: 1039640.128 units remaining) + - location: 136 (remaining gas: 1039642.983 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039640.083 units remaining) + - location: 137 (remaining gas: 1039642.938 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039640.003 units remaining) + - location: 142 (remaining gas: 1039642.888 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -652,249 +612,234 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039639.923 units remaining) + - location: 143 (remaining gas: 1039642.838 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039639.768 units remaining) - [ False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + - location: 144 (remaining gas: 1039642.793 units remaining) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 145 (remaining gas: 1039639.723 units remaining) + - location: 146 (remaining gas: 1039642.743 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039639.723 units remaining) + - location: 144 (remaining gas: 1039642.743 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039631.453 units remaining) + - location: 147 (remaining gas: 1039634.503 units remaining) [ 0x050303 @packed False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039624.183 units remaining) + - location: 148 (remaining gas: 1039627.263 units remaining) [ (Some False) @packed.unpacked False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 156 (remaining gas: 1039624.048 units remaining) + - location: 151 (remaining gas: 1039627.233 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 150 (remaining gas: 1039624.003 units remaining) + - location: 156 (remaining gas: 1039627.188 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039623.705 units remaining) + - location: 159 (remaining gas: 1039626.980 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039623.630 units remaining) - [ True - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039623.585 units remaining) + - location: 160 (remaining gas: 1039626.930 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 162 (remaining gas: 1039623.485 units remaining) + - location: 161 (remaining gas: 1039626.905 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039623.440 units remaining) + - location: 162 (remaining gas: 1039626.860 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039623.360 units remaining) + - location: 167 (remaining gas: 1039626.810 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039623.280 units remaining) + - location: 168 (remaining gas: 1039626.760 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039623.125 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 170 (remaining gas: 1039623.080 units remaining) + - location: 169 (remaining gas: 1039626.715 units remaining) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 171 (remaining gas: 1039626.665 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039623.080 units remaining) + - location: 169 (remaining gas: 1039626.665 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039602.730 units remaining) + - location: 172 (remaining gas: 1039606.345 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039564.400 units remaining) + - location: 173 (remaining gas: 1039568.045 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 181 (remaining gas: 1039564.265 units remaining) + - location: 176 (remaining gas: 1039568.015 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 175 (remaining gas: 1039564.220 units remaining) + - location: 181 (remaining gas: 1039567.970 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039563.920 units remaining) + - location: 184 (remaining gas: 1039567.760 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039563.845 units remaining) + - location: 185 (remaining gas: 1039567.710 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039563.800 units remaining) - [ True - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 187 (remaining gas: 1039563.700 units remaining) + - location: 186 (remaining gas: 1039567.685 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039563.655 units remaining) + - location: 187 (remaining gas: 1039567.640 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039563.575 units remaining) + - location: 192 (remaining gas: 1039567.590 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039563.495 units remaining) + - location: 193 (remaining gas: 1039567.540 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039563.340 units remaining) - [ "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 195 (remaining gas: 1039563.295 units remaining) + - location: 194 (remaining gas: 1039567.495 units remaining) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 196 (remaining gas: 1039567.445 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039563.295 units remaining) + - location: 194 (remaining gas: 1039567.445 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039555.025 units remaining) + - location: 197 (remaining gas: 1039559.205 units remaining) [ 0x050095bbb0d70b @packed "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039547.755 units remaining) + - location: 198 (remaining gas: 1039551.965 units remaining) [ (Some "2019-09-09T08:35:33Z") @packed.unpacked "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 206 (remaining gas: 1039547.620 units remaining) + - location: 201 (remaining gas: 1039551.935 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 200 (remaining gas: 1039547.575 units remaining) + - location: 206 (remaining gas: 1039551.890 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039547.345 units remaining) + - location: 209 (remaining gas: 1039551.750 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039547.270 units remaining) + - location: 210 (remaining gas: 1039551.700 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039547.225 units remaining) - [ True - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 212 (remaining gas: 1039547.125 units remaining) + - location: 211 (remaining gas: 1039551.675 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039547.080 units remaining) + - location: 212 (remaining gas: 1039551.630 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039547 units remaining) + - location: 217 (remaining gas: 1039551.580 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039516.130 units remaining) + - location: 218 (remaining gas: 1039520.740 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039419.860 units remaining) + - location: 219 (remaining gas: 1039424.500 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 227 (remaining gas: 1039419.725 units remaining) + - location: 222 (remaining gas: 1039424.470 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 221 (remaining gas: 1039419.680 units remaining) + - location: 227 (remaining gas: 1039424.425 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039419.372 units remaining) + - location: 230 (remaining gas: 1039424.207 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039419.297 units remaining) + - location: 231 (remaining gas: 1039424.157 units remaining) [ True ] - - location: -1 (remaining gas: 1039419.252 units remaining) - [ True ] - - location: 233 (remaining gas: 1039419.152 units remaining) + - location: 232 (remaining gas: 1039424.132 units remaining) [ ] - - location: -1 (remaining gas: 1039419.107 units remaining) + - location: 233 (remaining gas: 1039424.087 units remaining) [ ] - - location: 238 (remaining gas: 1039419.032 units remaining) + - location: 238 (remaining gas: 1039424.042 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039410.762 units remaining) + - location: 241 (remaining gas: 1039415.802 units remaining) [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039405.492 units remaining) + - location: 242 (remaining gas: 1039410.562 units remaining) [ (Some 0) @packed.unpacked ] - - location: 250 (remaining gas: 1039405.357 units remaining) + - location: 245 (remaining gas: 1039410.532 units remaining) [ 0 @packed.unpacked.some ] - - location: 244 (remaining gas: 1039405.312 units remaining) + - location: 250 (remaining gas: 1039410.487 units remaining) [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039405.237 units remaining) + - location: 251 (remaining gas: 1039410.442 units remaining) [ ] - - location: 252 (remaining gas: 1039405.162 units remaining) + - location: 252 (remaining gas: 1039410.397 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039396.892 units remaining) + - location: 255 (remaining gas: 1039402.157 units remaining) [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039293.862 units remaining) + - location: 256 (remaining gas: 1039299.157 units remaining) [ None @packed.unpacked ] - - location: 260 (remaining gas: 1039293.727 units remaining) + - location: 259 (remaining gas: 1039299.127 units remaining) [ ] - - location: 258 (remaining gas: 1039293.682 units remaining) + - location: 260 (remaining gas: 1039299.082 units remaining) [ ] - - location: 265 (remaining gas: 1039293.607 units remaining) + - location: 265 (remaining gas: 1039299.037 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039293.577 units remaining) + - location: 268 (remaining gas: 1039299.037 units remaining) [ None @unpacked ] - - location: 272 (remaining gas: 1039293.442 units remaining) + - location: 271 (remaining gas: 1039299.007 units remaining) [ ] - - location: 270 (remaining gas: 1039293.397 units remaining) + - location: 272 (remaining gas: 1039298.962 units remaining) [ ] - - location: 277 (remaining gas: 1039293.322 units remaining) + - location: 277 (remaining gas: 1039298.917 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039293.292 units remaining) + - location: 280 (remaining gas: 1039298.917 units remaining) [ None @unpacked ] - - location: 284 (remaining gas: 1039293.157 units remaining) + - location: 283 (remaining gas: 1039298.887 units remaining) [ ] - - location: 282 (remaining gas: 1039293.112 units remaining) + - location: 284 (remaining gas: 1039298.842 units remaining) [ ] - - location: 289 (remaining gas: 1039293.037 units remaining) + - location: 289 (remaining gas: 1039298.797 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039293.007 units remaining) + - location: 292 (remaining gas: 1039298.797 units remaining) [ None @unpacked ] - - location: 296 (remaining gas: 1039292.872 units remaining) + - location: 295 (remaining gas: 1039298.767 units remaining) [ ] - - location: 294 (remaining gas: 1039292.827 units remaining) + - location: 296 (remaining gas: 1039298.722 units remaining) [ ] - - location: 301 (remaining gas: 1039292.752 units remaining) + - location: 301 (remaining gas: 1039298.677 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039292.677 units remaining) + - location: 302 (remaining gas: 1039298.632 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039292.602 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039292.557 units remaining) + - location: 304 (remaining gas: 1039298.587 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 0e18edf4585c..abc410d9653f 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: 15 (remaining gas: 1039758.056 units remaining) + - location: 16 (remaining gas: 1039758.056 units remaining) [ (Pair (Pair -1 1 "foobar" @@ -18,7 +18,7 @@ trace "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") Unit) ] - - location: 16 (remaining gas: 1039757.976 units remaining) + - location: 16 (remaining gas: 1039758.006 units remaining) [ (Pair -1 1 "foobar" @@ -28,7 +28,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 17 (remaining gas: 1039757.896 units remaining) + - location: 17 (remaining gas: 1039757.956 units remaining) [ (Pair -1 1 "foobar" @@ -47,7 +47,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 18 (remaining gas: 1039757.816 units remaining) + - location: 18 (remaining gas: 1039757.906 units remaining) [ -1 (Pair -1 1 @@ -58,17 +58,17 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 21 (remaining gas: 1039757.661 units remaining) - [ -1 - (Pair 1 + - location: 19 (remaining gas: 1039757.861 units remaining) + [ (Pair -1 + 1 "foobar" 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 20 (remaining gas: 1039757.616 units remaining) + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] + - location: 21 (remaining gas: 1039757.811 units remaining) [ -1 (Pair 1 "foobar" @@ -78,7 +78,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039757.616 units remaining) + - location: 19 (remaining gas: 1039757.811 units remaining) [ -1 -1 (Pair 1 @@ -89,7 +89,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039749.346 units remaining) + - location: 22 (remaining gas: 1039749.571 units remaining) [ 0x050041 @packed -1 (Pair 1 @@ -100,7 +100,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039742.076 units remaining) + - location: 23 (remaining gas: 1039742.331 units remaining) [ (Some -1) @packed.unpacked -1 (Pair 1 @@ -111,7 +111,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 31 (remaining gas: 1039741.941 units remaining) + - location: 26 (remaining gas: 1039742.301 units remaining) [ -1 @packed.unpacked.some -1 (Pair 1 @@ -122,7 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 25 (remaining gas: 1039741.896 units remaining) + - location: 31 (remaining gas: 1039742.256 units remaining) [ -1 @packed.unpacked.some -1 (Pair 1 @@ -133,7 +133,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039741.656 units remaining) + - location: 34 (remaining gas: 1039742.106 units remaining) [ 0 (Pair 1 "foobar" @@ -143,17 +143,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039741.581 units remaining) - [ True - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039741.536 units remaining) + - location: 35 (remaining gas: 1039742.056 units remaining) [ True (Pair 1 "foobar" @@ -163,7 +153,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 37 (remaining gas: 1039741.436 units remaining) + - location: 36 (remaining gas: 1039742.031 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -172,7 +162,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039741.391 units remaining) + - location: 37 (remaining gas: 1039741.986 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -181,7 +171,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039741.311 units remaining) + - location: 42 (remaining gas: 1039741.936 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -198,7 +188,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039741.231 units remaining) + - location: 43 (remaining gas: 1039741.886 units remaining) [ 1 (Pair 1 "foobar" @@ -208,16 +198,16 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039741.076 units remaining) - [ 1 - (Pair "foobar" + - location: 44 (remaining gas: 1039741.841 units remaining) + [ (Pair 1 + "foobar" 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 45 (remaining gas: 1039741.031 units remaining) + - location: 46 (remaining gas: 1039741.791 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -226,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.031 units remaining) + - location: 44 (remaining gas: 1039741.791 units remaining) [ 1 1 (Pair "foobar" @@ -236,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039732.761 units remaining) + - location: 47 (remaining gas: 1039733.551 units remaining) [ 0x050001 @packed 1 (Pair "foobar" @@ -246,7 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039725.491 units remaining) + - location: 48 (remaining gas: 1039726.311 units remaining) [ (Some 1) @packed.unpacked 1 (Pair "foobar" @@ -256,7 +246,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 56 (remaining gas: 1039725.356 units remaining) + - location: 51 (remaining gas: 1039726.281 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -266,7 +256,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 50 (remaining gas: 1039725.311 units remaining) + - location: 56 (remaining gas: 1039726.236 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -276,7 +266,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039725.071 units remaining) + - location: 59 (remaining gas: 1039726.086 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -285,16 +275,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039724.996 units remaining) - [ True - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039724.951 units remaining) + - location: 60 (remaining gas: 1039726.036 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -303,7 +284,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 62 (remaining gas: 1039724.851 units remaining) + - location: 61 (remaining gas: 1039726.011 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -311,7 +292,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039724.806 units remaining) + - location: 62 (remaining gas: 1039725.966 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -319,7 +300,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039724.726 units remaining) + - location: 67 (remaining gas: 1039725.916 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -334,7 +315,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039724.646 units remaining) + - location: 68 (remaining gas: 1039725.866 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -343,15 +324,15 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039724.491 units remaining) - [ "foobar" - (Pair 0x00aabbcc + - location: 69 (remaining gas: 1039725.821 units remaining) + [ (Pair "foobar" + 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 70 (remaining gas: 1039724.446 units remaining) + - location: 71 (remaining gas: 1039725.771 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -359,7 +340,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039724.446 units remaining) + - location: 69 (remaining gas: 1039725.771 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -368,7 +349,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039712.176 units remaining) + - location: 72 (remaining gas: 1039713.531 units remaining) [ 0x050100000006666f6f626172 @packed "foobar" (Pair 0x00aabbcc @@ -377,7 +358,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039704.832 units remaining) + - location: 73 (remaining gas: 1039706.217 units remaining) [ (Some "foobar") @packed.unpacked "foobar" (Pair 0x00aabbcc @@ -386,7 +367,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 81 (remaining gas: 1039704.697 units remaining) + - location: 76 (remaining gas: 1039706.187 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -395,7 +376,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 75 (remaining gas: 1039704.652 units remaining) + - location: 81 (remaining gas: 1039706.142 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -404,7 +385,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039704.442 units remaining) + - location: 84 (remaining gas: 1039706.022 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -412,15 +393,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039704.367 units remaining) - [ True - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039704.322 units remaining) + - location: 85 (remaining gas: 1039705.972 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -428,21 +401,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 87 (remaining gas: 1039704.222 units remaining) + - location: 86 (remaining gas: 1039705.947 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039704.177 units remaining) + - location: 87 (remaining gas: 1039705.902 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039704.097 units remaining) + - location: 92 (remaining gas: 1039705.852 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -455,7 +428,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039704.017 units remaining) + - location: 93 (remaining gas: 1039705.802 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -463,21 +436,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039703.862 units remaining) - [ 0x00aabbcc - (Pair 1000 + - location: 94 (remaining gas: 1039705.757 units remaining) + [ (Pair 0x00aabbcc + 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 95 (remaining gas: 1039703.817 units remaining) + - location: 96 (remaining gas: 1039705.707 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039703.817 units remaining) + - location: 94 (remaining gas: 1039705.707 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -485,7 +458,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039691.547 units remaining) + - location: 97 (remaining gas: 1039693.467 units remaining) [ 0x050a0000000400aabbcc @packed 0x00aabbcc (Pair 1000 @@ -493,7 +466,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039657.277 units remaining) + - location: 98 (remaining gas: 1039659.227 units remaining) [ (Some 0x00aabbcc) @packed.unpacked 0x00aabbcc (Pair 1000 @@ -501,7 +474,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 106 (remaining gas: 1039657.142 units remaining) + - location: 101 (remaining gas: 1039659.197 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -509,7 +482,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 100 (remaining gas: 1039657.097 units remaining) + - location: 106 (remaining gas: 1039659.152 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -517,40 +490,33 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039656.887 units remaining) + - location: 109 (remaining gas: 1039659.032 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039656.812 units remaining) - [ True - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039656.767 units remaining) + - location: 110 (remaining gas: 1039658.982 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 112 (remaining gas: 1039656.667 units remaining) + - location: 111 (remaining gas: 1039658.957 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039656.622 units remaining) + - location: 112 (remaining gas: 1039658.912 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039656.542 units remaining) + - location: 117 (remaining gas: 1039658.862 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -561,89 +527,83 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039656.462 units remaining) + - location: 118 (remaining gas: 1039658.812 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039656.307 units remaining) - [ 1000 - (Pair False + - location: 119 (remaining gas: 1039658.767 units remaining) + [ (Pair 1000 + False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 120 (remaining gas: 1039656.262 units remaining) + - location: 121 (remaining gas: 1039658.717 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039656.262 units remaining) + - location: 119 (remaining gas: 1039658.717 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039647.992 units remaining) + - location: 122 (remaining gas: 1039650.477 units remaining) [ 0x0500a80f @packed 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039640.722 units remaining) + - location: 123 (remaining gas: 1039643.237 units remaining) [ (Some 1000) @packed.unpacked 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 131 (remaining gas: 1039640.587 units remaining) + - location: 126 (remaining gas: 1039643.207 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 125 (remaining gas: 1039640.542 units remaining) + - location: 131 (remaining gas: 1039643.162 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039640.348 units remaining) + - location: 134 (remaining gas: 1039643.058 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039640.273 units remaining) - [ True - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039640.228 units remaining) + - location: 135 (remaining gas: 1039643.008 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 137 (remaining gas: 1039640.128 units remaining) + - location: 136 (remaining gas: 1039642.983 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039640.083 units remaining) + - location: 137 (remaining gas: 1039642.938 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039640.003 units remaining) + - location: 142 (remaining gas: 1039642.888 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -652,249 +612,234 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039639.923 units remaining) + - location: 143 (remaining gas: 1039642.838 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039639.768 units remaining) - [ False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + - location: 144 (remaining gas: 1039642.793 units remaining) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 145 (remaining gas: 1039639.723 units remaining) + - location: 146 (remaining gas: 1039642.743 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039639.723 units remaining) + - location: 144 (remaining gas: 1039642.743 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039631.453 units remaining) + - location: 147 (remaining gas: 1039634.503 units remaining) [ 0x050303 @packed False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039624.183 units remaining) + - location: 148 (remaining gas: 1039627.263 units remaining) [ (Some False) @packed.unpacked False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 156 (remaining gas: 1039624.048 units remaining) + - location: 151 (remaining gas: 1039627.233 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 150 (remaining gas: 1039624.003 units remaining) + - location: 156 (remaining gas: 1039627.188 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039623.705 units remaining) + - location: 159 (remaining gas: 1039626.980 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039623.630 units remaining) - [ True - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039623.585 units remaining) + - location: 160 (remaining gas: 1039626.930 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 162 (remaining gas: 1039623.485 units remaining) + - location: 161 (remaining gas: 1039626.905 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039623.440 units remaining) + - location: 162 (remaining gas: 1039626.860 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039623.360 units remaining) + - location: 167 (remaining gas: 1039626.810 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039623.280 units remaining) + - location: 168 (remaining gas: 1039626.760 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039623.125 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 170 (remaining gas: 1039623.080 units remaining) + - location: 169 (remaining gas: 1039626.715 units remaining) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 171 (remaining gas: 1039626.665 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039623.080 units remaining) + - location: 169 (remaining gas: 1039626.665 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039602.730 units remaining) + - location: 172 (remaining gas: 1039606.345 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039564.400 units remaining) + - location: 173 (remaining gas: 1039568.045 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 181 (remaining gas: 1039564.265 units remaining) + - location: 176 (remaining gas: 1039568.015 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 175 (remaining gas: 1039564.220 units remaining) + - location: 181 (remaining gas: 1039567.970 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039563.920 units remaining) + - location: 184 (remaining gas: 1039567.760 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039563.845 units remaining) + - location: 185 (remaining gas: 1039567.710 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039563.800 units remaining) - [ True - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 187 (remaining gas: 1039563.700 units remaining) + - location: 186 (remaining gas: 1039567.685 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039563.655 units remaining) + - location: 187 (remaining gas: 1039567.640 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039563.575 units remaining) + - location: 192 (remaining gas: 1039567.590 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039563.495 units remaining) + - location: 193 (remaining gas: 1039567.540 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039563.340 units remaining) - [ "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 195 (remaining gas: 1039563.295 units remaining) + - location: 194 (remaining gas: 1039567.495 units remaining) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 196 (remaining gas: 1039567.445 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039563.295 units remaining) + - location: 194 (remaining gas: 1039567.445 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039555.025 units remaining) + - location: 197 (remaining gas: 1039559.205 units remaining) [ 0x050095bbb0d70b @packed "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039547.755 units remaining) + - location: 198 (remaining gas: 1039551.965 units remaining) [ (Some "2019-09-09T08:35:33Z") @packed.unpacked "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 206 (remaining gas: 1039547.620 units remaining) + - location: 201 (remaining gas: 1039551.935 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 200 (remaining gas: 1039547.575 units remaining) + - location: 206 (remaining gas: 1039551.890 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039547.345 units remaining) + - location: 209 (remaining gas: 1039551.750 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039547.270 units remaining) + - location: 210 (remaining gas: 1039551.700 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039547.225 units remaining) - [ True - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 212 (remaining gas: 1039547.125 units remaining) + - location: 211 (remaining gas: 1039551.675 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039547.080 units remaining) + - location: 212 (remaining gas: 1039551.630 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039547 units remaining) + - location: 217 (remaining gas: 1039551.580 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039516.130 units remaining) + - location: 218 (remaining gas: 1039520.740 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039419.860 units remaining) + - location: 219 (remaining gas: 1039424.500 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 227 (remaining gas: 1039419.725 units remaining) + - location: 222 (remaining gas: 1039424.470 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 221 (remaining gas: 1039419.680 units remaining) + - location: 227 (remaining gas: 1039424.425 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039419.372 units remaining) + - location: 230 (remaining gas: 1039424.207 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039419.297 units remaining) + - location: 231 (remaining gas: 1039424.157 units remaining) [ True ] - - location: -1 (remaining gas: 1039419.252 units remaining) - [ True ] - - location: 233 (remaining gas: 1039419.152 units remaining) + - location: 232 (remaining gas: 1039424.132 units remaining) [ ] - - location: -1 (remaining gas: 1039419.107 units remaining) + - location: 233 (remaining gas: 1039424.087 units remaining) [ ] - - location: 238 (remaining gas: 1039419.032 units remaining) + - location: 238 (remaining gas: 1039424.042 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039410.762 units remaining) + - location: 241 (remaining gas: 1039415.802 units remaining) [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039405.492 units remaining) + - location: 242 (remaining gas: 1039410.562 units remaining) [ (Some 0) @packed.unpacked ] - - location: 250 (remaining gas: 1039405.357 units remaining) + - location: 245 (remaining gas: 1039410.532 units remaining) [ 0 @packed.unpacked.some ] - - location: 244 (remaining gas: 1039405.312 units remaining) + - location: 250 (remaining gas: 1039410.487 units remaining) [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039405.237 units remaining) + - location: 251 (remaining gas: 1039410.442 units remaining) [ ] - - location: 252 (remaining gas: 1039405.162 units remaining) + - location: 252 (remaining gas: 1039410.397 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039396.892 units remaining) + - location: 255 (remaining gas: 1039402.157 units remaining) [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039293.862 units remaining) + - location: 256 (remaining gas: 1039299.157 units remaining) [ None @packed.unpacked ] - - location: 260 (remaining gas: 1039293.727 units remaining) + - location: 259 (remaining gas: 1039299.127 units remaining) [ ] - - location: 258 (remaining gas: 1039293.682 units remaining) + - location: 260 (remaining gas: 1039299.082 units remaining) [ ] - - location: 265 (remaining gas: 1039293.607 units remaining) + - location: 265 (remaining gas: 1039299.037 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039293.577 units remaining) + - location: 268 (remaining gas: 1039299.037 units remaining) [ None @unpacked ] - - location: 272 (remaining gas: 1039293.442 units remaining) + - location: 271 (remaining gas: 1039299.007 units remaining) [ ] - - location: 270 (remaining gas: 1039293.397 units remaining) + - location: 272 (remaining gas: 1039298.962 units remaining) [ ] - - location: 277 (remaining gas: 1039293.322 units remaining) + - location: 277 (remaining gas: 1039298.917 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039293.292 units remaining) + - location: 280 (remaining gas: 1039298.917 units remaining) [ None @unpacked ] - - location: 284 (remaining gas: 1039293.157 units remaining) + - location: 283 (remaining gas: 1039298.887 units remaining) [ ] - - location: 282 (remaining gas: 1039293.112 units remaining) + - location: 284 (remaining gas: 1039298.842 units remaining) [ ] - - location: 289 (remaining gas: 1039293.037 units remaining) + - location: 289 (remaining gas: 1039298.797 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039293.007 units remaining) + - location: 292 (remaining gas: 1039298.797 units remaining) [ None @unpacked ] - - location: 296 (remaining gas: 1039292.872 units remaining) + - location: 295 (remaining gas: 1039298.767 units remaining) [ ] - - location: 294 (remaining gas: 1039292.827 units remaining) + - location: 296 (remaining gas: 1039298.722 units remaining) [ ] - - location: 301 (remaining gas: 1039292.752 units remaining) + - location: 301 (remaining gas: 1039298.677 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039292.677 units remaining) + - location: 302 (remaining gas: 1039298.632 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039292.602 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039292.557 units remaining) + - location: 304 (remaining gas: 1039298.587 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 8fc5cb28a61c..bc1ea2622f06 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: 27 (remaining gas: 1039743.141 units remaining) + - location: 28 (remaining gas: 1039743.141 units remaining) [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -19,7 +19,7 @@ trace { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) Unit) ] - - location: 28 (remaining gas: 1039743.061 units remaining) + - location: 28 (remaining gas: 1039743.091 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -30,7 +30,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) @parameter ] - - location: 29 (remaining gas: 1039742.981 units remaining) + - location: 29 (remaining gas: 1039743.041 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -51,7 +51,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) @parameter ] - - location: 30 (remaining gas: 1039742.901 units remaining) + - location: 30 (remaining gas: 1039742.991 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit @@ -63,9 +63,9 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) @parameter ] - - location: 33 (remaining gas: 1039742.746 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit + - location: 31 (remaining gas: 1039742.946 units remaining) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -73,8 +73,8 @@ trace (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 32 (remaining gas: 1039742.701 units remaining) + { PACK }) @parameter ] + - location: 33 (remaining gas: 1039742.896 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -85,7 +85,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 31 (remaining gas: 1039742.701 units remaining) + - location: 31 (remaining gas: 1039742.896 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -97,7 +97,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 34 (remaining gas: 1039717.941 units remaining) + - location: 34 (remaining gas: 1039718.166 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -109,8 +109,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 37 (remaining gas: 1039693.106 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed + - location: 35 (remaining gas: 1039718.121 units remaining) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -120,8 +120,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 38 (remaining gas: 1039625.836 units remaining) - [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked + - location: 37 (remaining gas: 1039693.391 units remaining) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -131,8 +131,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 46 (remaining gas: 1039625.701 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some + - location: 38 (remaining gas: 1039626.151 units remaining) + [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -142,7 +142,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 40 (remaining gas: 1039625.656 units remaining) + - location: 41 (remaining gas: 1039626.121 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -153,8 +153,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 47 (remaining gas: 1039600.896 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed + - location: 46 (remaining gas: 1039626.076 units remaining) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -164,7 +164,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039600.851 units remaining) + - location: 47 (remaining gas: 1039601.346 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -175,7 +175,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 35 (remaining gas: 1039600.851 units remaining) + - location: 35 (remaining gas: 1039601.346 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit @@ -187,7 +187,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 50 (remaining gas: 1039600.640 units remaining) + - location: 50 (remaining gas: 1039601.225 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,18 +198,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 51 (remaining gas: 1039600.565 units remaining) - [ True - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039600.520 units remaining) + - location: 51 (remaining gas: 1039601.175 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -220,7 +209,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 53 (remaining gas: 1039600.420 units remaining) + - location: 52 (remaining gas: 1039601.150 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -230,7 +219,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039600.375 units remaining) + - location: 53 (remaining gas: 1039601.105 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -240,7 +229,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 58 (remaining gas: 1039600.295 units remaining) + - location: 58 (remaining gas: 1039601.055 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -259,7 +248,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 59 (remaining gas: 1039600.215 units remaining) + - location: 59 (remaining gas: 1039601.005 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -270,9 +259,9 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 62 (remaining gas: 1039600.060 units remaining) - [ Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + - location: 60 (remaining gas: 1039600.960 units remaining) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -280,7 +269,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 61 (remaining gas: 1039600.015 units remaining) + - location: 62 (remaining gas: 1039600.910 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -290,7 +279,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039600.015 units remaining) + - location: 60 (remaining gas: 1039600.910 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -301,7 +290,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 63 (remaining gas: 1039591.745 units remaining) + - location: 63 (remaining gas: 1039592.670 units remaining) [ 0x05030b @packed Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -312,8 +301,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 66 (remaining gas: 1039583.400 units remaining) - [ 0x05030b @packed + - location: 64 (remaining gas: 1039592.625 units remaining) + [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -322,8 +311,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 67 (remaining gas: 1039576.130 units remaining) - [ (Some Unit) @packed.unpacked + - location: 66 (remaining gas: 1039584.385 units remaining) + [ 0x05030b @packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -332,8 +321,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 75 (remaining gas: 1039575.995 units remaining) - [ Unit @packed.unpacked.some + - location: 67 (remaining gas: 1039577.145 units remaining) + [ (Some Unit) @packed.unpacked (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -342,7 +331,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 69 (remaining gas: 1039575.950 units remaining) + - location: 70 (remaining gas: 1039577.115 units remaining) [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -352,8 +341,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 76 (remaining gas: 1039567.680 units remaining) - [ 0x05030b @packed.unpacked.some.packed + - location: 75 (remaining gas: 1039577.070 units remaining) + [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -362,7 +351,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039567.635 units remaining) + - location: 76 (remaining gas: 1039568.830 units remaining) [ 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -372,7 +361,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039567.635 units remaining) + - location: 64 (remaining gas: 1039568.830 units remaining) [ 0x05030b @packed 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -383,7 +372,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 79 (remaining gas: 1039567.425 units remaining) + - location: 79 (remaining gas: 1039568.710 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -393,17 +382,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 80 (remaining gas: 1039567.350 units remaining) - [ True - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039567.305 units remaining) + - location: 80 (remaining gas: 1039568.660 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -413,7 +392,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 82 (remaining gas: 1039567.205 units remaining) + - location: 81 (remaining gas: 1039568.635 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -422,7 +401,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039567.160 units remaining) + - location: 82 (remaining gas: 1039568.590 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -431,7 +410,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 87 (remaining gas: 1039567.080 units remaining) + - location: 87 (remaining gas: 1039568.540 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -448,7 +427,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 88 (remaining gas: 1039567 units remaining) + - location: 88 (remaining gas: 1039568.490 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -458,16 +437,16 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 91 (remaining gas: 1039566.845 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + - location: 89 (remaining gas: 1039568.445 units remaining) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 90 (remaining gas: 1039566.800 units remaining) + - location: 91 (remaining gas: 1039568.395 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -476,7 +455,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039566.800 units remaining) + - location: 89 (remaining gas: 1039568.395 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -486,7 +465,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 92 (remaining gas: 1039526.490 units remaining) + - location: 92 (remaining gas: 1039528.115 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -496,8 +475,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 95 (remaining gas: 1039486.105 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed + - location: 93 (remaining gas: 1039528.070 units remaining) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -505,8 +484,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 96 (remaining gas: 1039437.805 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked + - location: 95 (remaining gas: 1039487.790 units remaining) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -514,8 +493,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 104 (remaining gas: 1039437.670 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some + - location: 96 (remaining gas: 1039439.520 units remaining) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -523,7 +502,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 98 (remaining gas: 1039437.625 units remaining) + - location: 99 (remaining gas: 1039439.490 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -532,8 +511,8 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 105 (remaining gas: 1039397.315 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed + - location: 104 (remaining gas: 1039439.445 units remaining) + [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -541,7 +520,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039397.270 units remaining) + - location: 105 (remaining gas: 1039399.165 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -550,7 +529,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039397.270 units remaining) + - location: 93 (remaining gas: 1039399.165 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -560,7 +539,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 108 (remaining gas: 1039397.058 units remaining) + - location: 108 (remaining gas: 1039399.043 units remaining) [ 0 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -569,16 +548,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 109 (remaining gas: 1039396.983 units remaining) - [ True - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039396.938 units remaining) + - location: 109 (remaining gas: 1039398.993 units remaining) [ True (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -587,7 +557,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 111 (remaining gas: 1039396.838 units remaining) + - location: 110 (remaining gas: 1039398.968 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -595,7 +565,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039396.793 units remaining) + - location: 111 (remaining gas: 1039398.923 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -603,7 +573,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 116 (remaining gas: 1039396.713 units remaining) + - location: 116 (remaining gas: 1039398.873 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -618,7 +588,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 117 (remaining gas: 1039396.633 units remaining) + - location: 117 (remaining gas: 1039398.823 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -627,15 +597,15 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 120 (remaining gas: 1039396.478 units remaining) - [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Pair { Unit } + - location: 118 (remaining gas: 1039398.778 units remaining) + [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 119 (remaining gas: 1039396.433 units remaining) + - location: 120 (remaining gas: 1039398.728 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -643,7 +613,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039396.433 units remaining) + - location: 118 (remaining gas: 1039398.728 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -652,7 +622,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 121 (remaining gas: 1039355.883 units remaining) + - location: 121 (remaining gas: 1039358.208 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -661,31 +631,31 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 124 (remaining gas: 1039315.258 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed + - location: 122 (remaining gas: 1039358.163 units remaining) + [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 125 (remaining gas: 1039252.718 units remaining) - [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) @packed.unpacked + - location: 124 (remaining gas: 1039317.643 units remaining) + [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 134 (remaining gas: 1039252.583 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some + - location: 125 (remaining gas: 1039255.133 units remaining) + [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) @packed.unpacked (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 128 (remaining gas: 1039252.538 units remaining) + - location: 129 (remaining gas: 1039255.103 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some (Pair { Unit } { True } @@ -693,15 +663,15 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 135 (remaining gas: 1039211.988 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed + - location: 134 (remaining gas: 1039255.058 units remaining) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039211.943 units remaining) + - location: 135 (remaining gas: 1039214.538 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair { Unit } { True } @@ -709,7 +679,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039211.943 units remaining) + - location: 122 (remaining gas: 1039214.538 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair { Unit } @@ -718,7 +688,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 138 (remaining gas: 1039211.731 units remaining) + - location: 138 (remaining gas: 1039214.416 units remaining) [ 0 (Pair { Unit } { True } @@ -726,7 +696,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 139 (remaining gas: 1039211.656 units remaining) + - location: 139 (remaining gas: 1039214.366 units remaining) [ True (Pair { Unit } { True } @@ -734,29 +704,21 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039211.611 units remaining) - [ True - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 141 (remaining gas: 1039211.511 units remaining) + - location: 140 (remaining gas: 1039214.341 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039211.466 units remaining) + - location: 141 (remaining gas: 1039214.296 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 146 (remaining gas: 1039211.386 units remaining) + - location: 146 (remaining gas: 1039214.246 units remaining) [ (Pair { Unit } { True } (Pair 19 10) @@ -769,7 +731,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 147 (remaining gas: 1039211.306 units remaining) + - location: 147 (remaining gas: 1039214.196 units remaining) [ { Unit } (Pair { Unit } { True } @@ -777,21 +739,21 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 150 (remaining gas: 1039211.151 units remaining) - [ { Unit } - (Pair { True } + - location: 148 (remaining gas: 1039214.151 units remaining) + [ (Pair { Unit } + { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 149 (remaining gas: 1039211.106 units remaining) + - location: 150 (remaining gas: 1039214.101 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039211.106 units remaining) + - location: 148 (remaining gas: 1039214.101 units remaining) [ { Unit } { Unit } (Pair { True } @@ -799,7 +761,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 151 (remaining gas: 1039202.596 units remaining) + - location: 151 (remaining gas: 1039205.621 units remaining) [ 0x050200000002030b @packed { Unit } (Pair { True } @@ -807,49 +769,49 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 154 (remaining gas: 1039194.011 units remaining) - [ 0x050200000002030b @packed + - location: 152 (remaining gas: 1039205.576 units remaining) + [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 155 (remaining gas: 1039172.501 units remaining) - [ (Some { Unit }) @packed.unpacked + - location: 154 (remaining gas: 1039197.096 units remaining) + [ 0x050200000002030b @packed (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 164 (remaining gas: 1039172.366 units remaining) - [ { Unit } @packed.unpacked.some + - location: 155 (remaining gas: 1039175.616 units remaining) + [ (Some { Unit }) @packed.unpacked (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 158 (remaining gas: 1039172.321 units remaining) + - location: 159 (remaining gas: 1039175.586 units remaining) [ { Unit } @packed.unpacked.some (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 165 (remaining gas: 1039163.811 units remaining) - [ 0x050200000002030b @packed.unpacked.some.packed + - location: 164 (remaining gas: 1039175.541 units remaining) + [ { Unit } @packed.unpacked.some (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039163.766 units remaining) + - location: 165 (remaining gas: 1039167.061 units remaining) [ 0x050200000002030b @packed.unpacked.some.packed (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039163.766 units remaining) + - location: 152 (remaining gas: 1039167.061 units remaining) [ 0x050200000002030b @packed 0x050200000002030b @packed.unpacked.some.packed (Pair { True } @@ -857,40 +819,33 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 168 (remaining gas: 1039163.556 units remaining) + - location: 168 (remaining gas: 1039166.941 units remaining) [ 0 (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 169 (remaining gas: 1039163.481 units remaining) - [ True - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039163.436 units remaining) + - location: 169 (remaining gas: 1039166.891 units remaining) [ True (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 171 (remaining gas: 1039163.336 units remaining) + - location: 170 (remaining gas: 1039166.866 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039163.291 units remaining) + - location: 171 (remaining gas: 1039166.821 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 176 (remaining gas: 1039163.211 units remaining) + - location: 176 (remaining gas: 1039166.771 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @@ -901,111 +856,105 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 177 (remaining gas: 1039163.131 units remaining) + - location: 177 (remaining gas: 1039166.721 units remaining) [ { True } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 180 (remaining gas: 1039162.976 units remaining) - [ { True } - (Pair (Pair 19 10) + - location: 178 (remaining gas: 1039166.676 units remaining) + [ (Pair { True } + (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 179 (remaining gas: 1039162.931 units remaining) + - location: 180 (remaining gas: 1039166.626 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039162.931 units remaining) + - location: 178 (remaining gas: 1039166.626 units remaining) [ { True } { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 181 (remaining gas: 1039154.421 units remaining) + - location: 181 (remaining gas: 1039158.146 units remaining) [ 0x050200000002030a @packed { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 184 (remaining gas: 1039145.836 units remaining) - [ 0x050200000002030a @packed + - location: 182 (remaining gas: 1039158.101 units remaining) + [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 185 (remaining gas: 1039124.245 units remaining) - [ (Some { True }) @packed.unpacked + - location: 184 (remaining gas: 1039149.621 units remaining) + [ 0x050200000002030a @packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 194 (remaining gas: 1039124.110 units remaining) - [ { True } @packed.unpacked.some + - location: 185 (remaining gas: 1039128.060 units remaining) + [ (Some { True }) @packed.unpacked (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 188 (remaining gas: 1039124.065 units remaining) + - location: 189 (remaining gas: 1039128.030 units remaining) [ { True } @packed.unpacked.some (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 195 (remaining gas: 1039115.555 units remaining) - [ 0x050200000002030a @packed.unpacked.some.packed + - location: 194 (remaining gas: 1039127.985 units remaining) + [ { True } @packed.unpacked.some (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039115.510 units remaining) + - location: 195 (remaining gas: 1039119.505 units remaining) [ 0x050200000002030a @packed.unpacked.some.packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039115.510 units remaining) + - location: 182 (remaining gas: 1039119.505 units remaining) [ 0x050200000002030a @packed 0x050200000002030a @packed.unpacked.some.packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 198 (remaining gas: 1039115.300 units remaining) + - location: 198 (remaining gas: 1039119.385 units remaining) [ 0 (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 199 (remaining gas: 1039115.225 units remaining) - [ True - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039115.180 units remaining) + - location: 199 (remaining gas: 1039119.335 units remaining) [ True (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 201 (remaining gas: 1039115.080 units remaining) + - location: 200 (remaining gas: 1039119.310 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039115.035 units remaining) + - location: 201 (remaining gas: 1039119.265 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 206 (remaining gas: 1039114.955 units remaining) + - location: 206 (remaining gas: 1039119.215 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } @@ -1014,247 +963,232 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 207 (remaining gas: 1039114.875 units remaining) + - location: 207 (remaining gas: 1039119.165 units remaining) [ (Pair 19 10) (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 210 (remaining gas: 1039114.720 units remaining) - [ (Pair 19 10) - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + - location: 208 (remaining gas: 1039119.120 units remaining) + [ (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 209 (remaining gas: 1039114.675 units remaining) + - location: 210 (remaining gas: 1039119.070 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039114.675 units remaining) + - location: 208 (remaining gas: 1039119.070 units remaining) [ (Pair 19 10) (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 211 (remaining gas: 1039105.925 units remaining) + - location: 211 (remaining gas: 1039110.350 units remaining) [ 0x0507070013000a @packed (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 214 (remaining gas: 1039097.100 units remaining) - [ 0x0507070013000a @packed + - location: 212 (remaining gas: 1039110.305 units remaining) + [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 215 (remaining gas: 1039061.350 units remaining) - [ (Some (Pair 19 10)) @packed.unpacked + - location: 214 (remaining gas: 1039101.585 units remaining) + [ 0x0507070013000a @packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 225 (remaining gas: 1039061.215 units remaining) - [ (Pair 19 10) @packed.unpacked.some + - location: 215 (remaining gas: 1039065.865 units remaining) + [ (Some (Pair 19 10)) @packed.unpacked (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 219 (remaining gas: 1039061.170 units remaining) + - location: 220 (remaining gas: 1039065.835 units remaining) [ (Pair 19 10) @packed.unpacked.some (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 226 (remaining gas: 1039052.420 units remaining) - [ 0x0507070013000a @packed.unpacked.some.packed + - location: 225 (remaining gas: 1039065.790 units remaining) + [ (Pair 19 10) @packed.unpacked.some (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039052.375 units remaining) + - location: 226 (remaining gas: 1039057.070 units remaining) [ 0x0507070013000a @packed.unpacked.some.packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039052.375 units remaining) + - location: 212 (remaining gas: 1039057.070 units remaining) [ 0x0507070013000a @packed 0x0507070013000a @packed.unpacked.some.packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 229 (remaining gas: 1039052.165 units remaining) + - location: 229 (remaining gas: 1039056.950 units remaining) [ 0 (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 230 (remaining gas: 1039052.090 units remaining) - [ True - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039052.045 units remaining) + - location: 230 (remaining gas: 1039056.900 units remaining) [ True (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 232 (remaining gas: 1039051.945 units remaining) + - location: 231 (remaining gas: 1039056.875 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1039051.900 units remaining) + - location: 232 (remaining gas: 1039056.830 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 237 (remaining gas: 1039051.820 units remaining) + - location: 237 (remaining gas: 1039056.780 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: 1039051.740 units remaining) + - location: 238 (remaining gas: 1039056.730 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 241 (remaining gas: 1039051.585 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 240 (remaining gas: 1039051.540 units remaining) + - location: 239 (remaining gas: 1039056.685 units remaining) + [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 241 (remaining gas: 1039056.635 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039051.540 units remaining) + - location: 239 (remaining gas: 1039056.635 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 242 (remaining gas: 1039030.950 units remaining) + - location: 242 (remaining gas: 1039036.075 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 245 (remaining gas: 1039010.285 units remaining) + - location: 243 (remaining gas: 1039036.030 units remaining) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 245 (remaining gas: 1039015.470 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 246 (remaining gas: 1038957.715 units remaining) + - location: 246 (remaining gas: 1038962.930 units remaining) [ (Some (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) @packed.unpacked (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 256 (remaining gas: 1038957.580 units remaining) + - location: 251 (remaining gas: 1038962.900 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 250 (remaining gas: 1038957.535 units remaining) + - location: 256 (remaining gas: 1038962.855 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 257 (remaining gas: 1038936.945 units remaining) + - location: 257 (remaining gas: 1038942.295 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1038936.900 units remaining) - [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1038936.900 units remaining) + - location: 243 (remaining gas: 1038942.295 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 260 (remaining gas: 1038936.690 units remaining) + - location: 260 (remaining gas: 1038942.175 units remaining) [ 0 (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 261 (remaining gas: 1038936.615 units remaining) - [ True - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1038936.570 units remaining) + - location: 261 (remaining gas: 1038942.125 units remaining) [ True (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 263 (remaining gas: 1038936.470 units remaining) + - location: 262 (remaining gas: 1038942.100 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1038936.425 units remaining) + - location: 263 (remaining gas: 1038942.055 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 268 (remaining gas: 1038936.345 units remaining) + - location: 268 (remaining gas: 1038942.005 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 269 (remaining gas: 1038936.265 units remaining) + - location: 269 (remaining gas: 1038941.955 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 272 (remaining gas: 1038936.110 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } - { PACK } ] - - location: 271 (remaining gas: 1038936.065 units remaining) + - location: 270 (remaining gas: 1038941.910 units remaining) + [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 272 (remaining gas: 1038941.860 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 270 (remaining gas: 1038936.065 units remaining) + - location: 270 (remaining gas: 1038941.860 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 273 (remaining gas: 1038914.635 units remaining) + - location: 273 (remaining gas: 1038920.460 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 276 (remaining gas: 1038893.130 units remaining) + - location: 274 (remaining gas: 1038920.415 units remaining) + [ { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 276 (remaining gas: 1038899.015 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed { PACK } ] - - location: 277 (remaining gas: 1038802.502 units remaining) + - location: 277 (remaining gas: 1038808.417 units remaining) [ (Some { Elt 0 "foo" ; Elt 1 "bar" }) @packed.unpacked { PACK } ] - - location: 287 (remaining gas: 1038802.367 units remaining) + - location: 282 (remaining gas: 1038808.387 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some { PACK } ] - - location: 281 (remaining gas: 1038802.322 units remaining) + - location: 287 (remaining gas: 1038808.342 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some { PACK } ] - - location: 288 (remaining gas: 1038780.892 units remaining) - [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed - { PACK } ] - - location: -1 (remaining gas: 1038780.847 units remaining) + - location: 288 (remaining gas: 1038786.942 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed { PACK } ] - - location: 274 (remaining gas: 1038780.847 units remaining) + - location: 274 (remaining gas: 1038786.942 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed { PACK } ] - - location: 291 (remaining gas: 1038780.637 units remaining) + - location: 291 (remaining gas: 1038786.822 units remaining) [ 0 { PACK } ] - - location: 292 (remaining gas: 1038780.562 units remaining) - [ True - { PACK } ] - - location: -1 (remaining gas: 1038780.517 units remaining) + - location: 292 (remaining gas: 1038786.772 units remaining) [ True { PACK } ] - - location: 294 (remaining gas: 1038780.417 units remaining) + - location: 293 (remaining gas: 1038786.747 units remaining) [ { PACK } ] - - location: -1 (remaining gas: 1038780.372 units remaining) + - location: 294 (remaining gas: 1038786.702 units remaining) [ { PACK } ] - - location: 299 (remaining gas: 1038780.292 units remaining) + - location: 299 (remaining gas: 1038786.652 units remaining) [ { PACK } { PACK } ] - - location: 300 (remaining gas: 1038771.522 units remaining) + - location: 300 (remaining gas: 1038777.912 units remaining) [ 0x050200000002030c @packed { PACK } ] - - location: 303 (remaining gas: 1038762.677 units remaining) + - location: 301 (remaining gas: 1038777.867 units remaining) + [ { PACK } ] + - location: 303 (remaining gas: 1038769.127 units remaining) [ 0x050200000002030c @packed ] - - location: 304 (remaining gas: 1038740.527 units remaining) + - location: 304 (remaining gas: 1038747.007 units remaining) [ (Some { PACK }) @packed.unpacked ] - - location: 314 (remaining gas: 1038740.392 units remaining) + - location: 309 (remaining gas: 1038746.977 units remaining) [ { PACK } @packed.unpacked.some ] - - location: 308 (remaining gas: 1038740.347 units remaining) + - location: 314 (remaining gas: 1038746.932 units remaining) [ { PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1038731.577 units remaining) - [ 0x050200000002030c @packed.unpacked.some.packed ] - - location: -1 (remaining gas: 1038731.532 units remaining) + - location: 315 (remaining gas: 1038738.192 units remaining) [ 0x050200000002030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1038731.532 units remaining) + - location: 301 (remaining gas: 1038738.192 units remaining) [ 0x050200000002030c @packed 0x050200000002030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1038731.322 units remaining) + - location: 318 (remaining gas: 1038738.072 units remaining) [ 0 ] - - location: 319 (remaining gas: 1038731.247 units remaining) + - location: 319 (remaining gas: 1038738.022 units remaining) [ True ] - - location: -1 (remaining gas: 1038731.202 units remaining) - [ True ] - - location: 321 (remaining gas: 1038731.102 units remaining) + - location: 320 (remaining gas: 1038737.997 units remaining) [ ] - - location: -1 (remaining gas: 1038731.057 units remaining) + - location: 321 (remaining gas: 1038737.952 units remaining) [ ] - - location: 326 (remaining gas: 1038730.982 units remaining) + - location: 326 (remaining gas: 1038737.907 units remaining) [ Unit ] - - location: 327 (remaining gas: 1038730.907 units remaining) + - location: 327 (remaining gas: 1038737.862 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1038730.832 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1038730.787 units remaining) + - location: 329 (remaining gas: 1038737.817 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 7ab9e51a645a..533e6257bbfa 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: 27 (remaining gas: 1039753.330 units remaining) + - location: 28 (remaining gas: 1039753.330 units remaining) [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -19,7 +19,7 @@ trace {} { DUP ; DROP ; PACK }) Unit) ] - - location: 28 (remaining gas: 1039753.250 units remaining) + - location: 28 (remaining gas: 1039753.280 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -30,7 +30,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) @parameter ] - - location: 29 (remaining gas: 1039753.170 units remaining) + - location: 29 (remaining gas: 1039753.230 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -51,7 +51,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) @parameter ] - - location: 30 (remaining gas: 1039753.090 units remaining) + - location: 30 (remaining gas: 1039753.180 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" Unit @@ -63,9 +63,9 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) @parameter ] - - location: 33 (remaining gas: 1039752.935 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit + - location: 31 (remaining gas: 1039753.135 units remaining) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -73,8 +73,8 @@ trace (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} - { DUP ; DROP ; PACK }) ] - - location: 32 (remaining gas: 1039752.890 units remaining) + { DUP ; DROP ; PACK }) @parameter ] + - location: 33 (remaining gas: 1039753.085 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -85,7 +85,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 31 (remaining gas: 1039752.890 units remaining) + - location: 31 (remaining gas: 1039753.085 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -97,7 +97,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 34 (remaining gas: 1039728.130 units remaining) + - location: 34 (remaining gas: 1039728.355 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -109,8 +109,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 37 (remaining gas: 1039703.295 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed + - location: 35 (remaining gas: 1039728.310 units remaining) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -120,8 +120,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 38 (remaining gas: 1039636.025 units remaining) - [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked + - location: 37 (remaining gas: 1039703.580 units remaining) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -131,8 +131,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 46 (remaining gas: 1039635.890 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some + - location: 38 (remaining gas: 1039636.340 units remaining) + [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -142,7 +142,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 40 (remaining gas: 1039635.845 units remaining) + - location: 41 (remaining gas: 1039636.310 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -153,8 +153,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 47 (remaining gas: 1039611.085 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed + - location: 46 (remaining gas: 1039636.265 units remaining) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -164,7 +164,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039611.040 units remaining) + - location: 47 (remaining gas: 1039611.535 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -175,7 +175,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039611.040 units remaining) + - location: 35 (remaining gas: 1039611.535 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit @@ -187,7 +187,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 50 (remaining gas: 1039610.829 units remaining) + - location: 50 (remaining gas: 1039611.414 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +198,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 51 (remaining gas: 1039610.754 units remaining) + - location: 51 (remaining gas: 1039611.364 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -209,18 +209,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039610.709 units remaining) - [ True - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 53 (remaining gas: 1039610.609 units remaining) + - location: 52 (remaining gas: 1039611.339 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -230,7 +219,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039610.564 units remaining) + - location: 53 (remaining gas: 1039611.294 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -240,7 +229,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 58 (remaining gas: 1039610.484 units remaining) + - location: 58 (remaining gas: 1039611.244 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -259,7 +248,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 59 (remaining gas: 1039610.404 units remaining) + - location: 59 (remaining gas: 1039611.194 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -270,9 +259,9 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 62 (remaining gas: 1039610.249 units remaining) - [ Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + - location: 60 (remaining gas: 1039611.149 units remaining) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} {} @@ -280,7 +269,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 61 (remaining gas: 1039610.204 units remaining) + - location: 62 (remaining gas: 1039611.099 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -290,7 +279,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039610.204 units remaining) + - location: 60 (remaining gas: 1039611.099 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -301,7 +290,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 63 (remaining gas: 1039601.934 units remaining) + - location: 63 (remaining gas: 1039602.859 units remaining) [ 0x05030b @packed Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -312,8 +301,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 66 (remaining gas: 1039593.589 units remaining) - [ 0x05030b @packed + - location: 64 (remaining gas: 1039602.814 units remaining) + [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -322,8 +311,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 67 (remaining gas: 1039586.319 units remaining) - [ (Some Unit) @packed.unpacked + - location: 66 (remaining gas: 1039594.574 units remaining) + [ 0x05030b @packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -332,8 +321,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 75 (remaining gas: 1039586.184 units remaining) - [ Unit @packed.unpacked.some + - location: 67 (remaining gas: 1039587.334 units remaining) + [ (Some Unit) @packed.unpacked (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -342,7 +331,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 69 (remaining gas: 1039586.139 units remaining) + - location: 70 (remaining gas: 1039587.304 units remaining) [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -352,8 +341,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 76 (remaining gas: 1039577.869 units remaining) - [ 0x05030b @packed.unpacked.some.packed + - location: 75 (remaining gas: 1039587.259 units remaining) + [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -362,7 +351,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039577.824 units remaining) + - location: 76 (remaining gas: 1039579.019 units remaining) [ 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -372,7 +361,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039577.824 units remaining) + - location: 64 (remaining gas: 1039579.019 units remaining) [ 0x05030b @packed 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -383,7 +372,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 79 (remaining gas: 1039577.614 units remaining) + - location: 79 (remaining gas: 1039578.899 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -393,7 +382,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 80 (remaining gas: 1039577.539 units remaining) + - location: 80 (remaining gas: 1039578.849 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -403,17 +392,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039577.494 units remaining) - [ True - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 82 (remaining gas: 1039577.394 units remaining) + - location: 81 (remaining gas: 1039578.824 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -422,7 +401,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039577.349 units remaining) + - location: 82 (remaining gas: 1039578.779 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -431,7 +410,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 87 (remaining gas: 1039577.269 units remaining) + - location: 87 (remaining gas: 1039578.729 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -448,7 +427,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 88 (remaining gas: 1039577.189 units remaining) + - location: 88 (remaining gas: 1039578.679 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -458,16 +437,16 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 91 (remaining gas: 1039577.034 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair None + - location: 89 (remaining gas: 1039578.634 units remaining) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 90 (remaining gas: 1039576.989 units remaining) + - location: 91 (remaining gas: 1039578.584 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -476,7 +455,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039576.989 units remaining) + - location: 89 (remaining gas: 1039578.584 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -486,7 +465,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 92 (remaining gas: 1039536.679 units remaining) + - location: 92 (remaining gas: 1039538.304 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -496,8 +475,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 95 (remaining gas: 1039496.294 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed + - location: 93 (remaining gas: 1039538.259 units remaining) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} {} @@ -505,8 +484,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 96 (remaining gas: 1039447.994 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked + - location: 95 (remaining gas: 1039497.979 units remaining) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair None {} {} @@ -514,8 +493,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 104 (remaining gas: 1039447.859 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some + - location: 96 (remaining gas: 1039449.709 units remaining) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked (Pair None {} {} @@ -523,7 +502,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 98 (remaining gas: 1039447.814 units remaining) + - location: 99 (remaining gas: 1039449.679 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair None {} @@ -532,8 +511,8 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 105 (remaining gas: 1039407.504 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed + - location: 104 (remaining gas: 1039449.634 units remaining) + [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair None {} {} @@ -541,7 +520,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039407.459 units remaining) + - location: 105 (remaining gas: 1039409.354 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair None {} @@ -550,7 +529,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039407.459 units remaining) + - location: 93 (remaining gas: 1039409.354 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair None @@ -560,7 +539,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 108 (remaining gas: 1039407.247 units remaining) + - location: 108 (remaining gas: 1039409.232 units remaining) [ 0 (Pair None {} @@ -569,7 +548,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 109 (remaining gas: 1039407.172 units remaining) + - location: 109 (remaining gas: 1039409.182 units remaining) [ True (Pair None {} @@ -578,16 +557,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039407.127 units remaining) - [ True - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 111 (remaining gas: 1039407.027 units remaining) + - location: 110 (remaining gas: 1039409.157 units remaining) [ (Pair None {} {} @@ -595,7 +565,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039406.982 units remaining) + - location: 111 (remaining gas: 1039409.112 units remaining) [ (Pair None {} {} @@ -603,7 +573,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 116 (remaining gas: 1039406.902 units remaining) + - location: 116 (remaining gas: 1039409.062 units remaining) [ (Pair None {} {} @@ -618,7 +588,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 117 (remaining gas: 1039406.822 units remaining) + - location: 117 (remaining gas: 1039409.012 units remaining) [ None (Pair None {} @@ -627,15 +597,15 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 120 (remaining gas: 1039406.667 units remaining) - [ None - (Pair {} + - location: 118 (remaining gas: 1039408.967 units remaining) + [ (Pair None + {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 119 (remaining gas: 1039406.622 units remaining) + - location: 120 (remaining gas: 1039408.917 units remaining) [ None (Pair {} {} @@ -643,7 +613,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039406.622 units remaining) + - location: 118 (remaining gas: 1039408.917 units remaining) [ None None (Pair {} @@ -652,7 +622,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 121 (remaining gas: 1039398.352 units remaining) + - location: 121 (remaining gas: 1039400.677 units remaining) [ 0x050306 @packed None (Pair {} @@ -661,31 +631,31 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 124 (remaining gas: 1039390.007 units remaining) - [ 0x050306 @packed + - location: 122 (remaining gas: 1039400.632 units remaining) + [ None (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 125 (remaining gas: 1039382.737 units remaining) - [ (Some None) @packed.unpacked + - location: 124 (remaining gas: 1039392.392 units remaining) + [ 0x050306 @packed (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 134 (remaining gas: 1039382.602 units remaining) - [ None @packed.unpacked.some + - location: 125 (remaining gas: 1039385.152 units remaining) + [ (Some None) @packed.unpacked (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 128 (remaining gas: 1039382.557 units remaining) + - location: 129 (remaining gas: 1039385.122 units remaining) [ None @packed.unpacked.some (Pair {} {} @@ -693,15 +663,15 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 135 (remaining gas: 1039374.287 units remaining) - [ 0x050306 @packed.unpacked.some.packed + - location: 134 (remaining gas: 1039385.077 units remaining) + [ None @packed.unpacked.some (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039374.242 units remaining) + - location: 135 (remaining gas: 1039376.837 units remaining) [ 0x050306 @packed.unpacked.some.packed (Pair {} {} @@ -709,7 +679,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039374.242 units remaining) + - location: 122 (remaining gas: 1039376.837 units remaining) [ 0x050306 @packed 0x050306 @packed.unpacked.some.packed (Pair {} @@ -718,7 +688,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 138 (remaining gas: 1039374.032 units remaining) + - location: 138 (remaining gas: 1039376.717 units remaining) [ 0 (Pair {} {} @@ -726,15 +696,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 139 (remaining gas: 1039373.957 units remaining) - [ True - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039373.912 units remaining) + - location: 139 (remaining gas: 1039376.667 units remaining) [ True (Pair {} {} @@ -742,21 +704,21 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 141 (remaining gas: 1039373.812 units remaining) + - location: 140 (remaining gas: 1039376.642 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039373.767 units remaining) + - location: 141 (remaining gas: 1039376.597 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 146 (remaining gas: 1039373.687 units remaining) + - location: 146 (remaining gas: 1039376.547 units remaining) [ (Pair {} {} (Pair 40 -10) @@ -769,7 +731,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 147 (remaining gas: 1039373.607 units remaining) + - location: 147 (remaining gas: 1039376.497 units remaining) [ {} (Pair {} {} @@ -777,313 +739,294 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 150 (remaining gas: 1039373.452 units remaining) - [ {} - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 149 (remaining gas: 1039373.407 units remaining) + - location: 148 (remaining gas: 1039376.452 units remaining) + [ (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 150 (remaining gas: 1039376.402 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039373.407 units remaining) + - location: 148 (remaining gas: 1039376.402 units remaining) [ {} {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 151 (remaining gas: 1039365.137 units remaining) + - location: 151 (remaining gas: 1039368.162 units remaining) [ 0x050200000000 @packed {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 154 (remaining gas: 1039356.792 units remaining) + - location: 152 (remaining gas: 1039368.117 units remaining) + [ {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 154 (remaining gas: 1039359.877 units remaining) [ 0x050200000000 @packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 155 (remaining gas: 1039349.522 units remaining) + - location: 155 (remaining gas: 1039352.637 units remaining) [ (Some {}) @packed.unpacked (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 164 (remaining gas: 1039349.387 units remaining) + - location: 159 (remaining gas: 1039352.607 units remaining) [ {} @packed.unpacked.some (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 158 (remaining gas: 1039349.342 units remaining) + - location: 164 (remaining gas: 1039352.562 units remaining) [ {} @packed.unpacked.some (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 165 (remaining gas: 1039341.072 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039341.027 units remaining) + - location: 165 (remaining gas: 1039344.322 units remaining) [ 0x050200000000 @packed.unpacked.some.packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039341.027 units remaining) + - location: 152 (remaining gas: 1039344.322 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 168 (remaining gas: 1039340.817 units remaining) + - location: 168 (remaining gas: 1039344.202 units remaining) [ 0 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 169 (remaining gas: 1039340.742 units remaining) + - location: 169 (remaining gas: 1039344.152 units remaining) [ True (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039340.697 units remaining) - [ True - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 171 (remaining gas: 1039340.597 units remaining) + - location: 170 (remaining gas: 1039344.127 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039340.552 units remaining) + - location: 171 (remaining gas: 1039344.082 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 176 (remaining gas: 1039340.472 units remaining) + - location: 176 (remaining gas: 1039344.032 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: 1039340.392 units remaining) + - location: 177 (remaining gas: 1039343.982 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 180 (remaining gas: 1039340.237 units remaining) - [ {} - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 179 (remaining gas: 1039340.192 units remaining) + - location: 178 (remaining gas: 1039343.937 units remaining) + [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 180 (remaining gas: 1039343.887 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039340.192 units remaining) + - location: 178 (remaining gas: 1039343.887 units remaining) [ {} {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 181 (remaining gas: 1039331.922 units remaining) + - location: 181 (remaining gas: 1039335.647 units remaining) [ 0x050200000000 @packed {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 184 (remaining gas: 1039323.577 units remaining) + - location: 182 (remaining gas: 1039335.602 units remaining) + [ {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 184 (remaining gas: 1039327.362 units remaining) [ 0x050200000000 @packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 185 (remaining gas: 1039316.307 units remaining) + - location: 185 (remaining gas: 1039320.122 units remaining) [ (Some {}) @packed.unpacked (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 194 (remaining gas: 1039316.172 units remaining) + - location: 189 (remaining gas: 1039320.092 units remaining) [ {} @packed.unpacked.some (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 188 (remaining gas: 1039316.127 units remaining) + - location: 194 (remaining gas: 1039320.047 units remaining) [ {} @packed.unpacked.some (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 195 (remaining gas: 1039307.857 units remaining) + - location: 195 (remaining gas: 1039311.807 units remaining) [ 0x050200000000 @packed.unpacked.some.packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039307.812 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039307.812 units remaining) + - location: 182 (remaining gas: 1039311.807 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 198 (remaining gas: 1039307.602 units remaining) + - location: 198 (remaining gas: 1039311.687 units remaining) [ 0 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 199 (remaining gas: 1039307.527 units remaining) - [ True - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039307.482 units remaining) + - location: 199 (remaining gas: 1039311.637 units remaining) [ True (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 201 (remaining gas: 1039307.382 units remaining) + - location: 200 (remaining gas: 1039311.612 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039307.337 units remaining) + - location: 201 (remaining gas: 1039311.567 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 206 (remaining gas: 1039307.257 units remaining) + - location: 206 (remaining gas: 1039311.517 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: 1039307.177 units remaining) + - location: 207 (remaining gas: 1039311.467 units remaining) [ (Pair 40 -10) (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 210 (remaining gas: 1039307.022 units remaining) - [ (Pair 40 -10) - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 209 (remaining gas: 1039306.977 units remaining) + - location: 208 (remaining gas: 1039311.422 units remaining) + [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 210 (remaining gas: 1039311.372 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039306.977 units remaining) + - location: 208 (remaining gas: 1039311.372 units remaining) [ (Pair 40 -10) (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 211 (remaining gas: 1039298.227 units remaining) + - location: 211 (remaining gas: 1039302.652 units remaining) [ 0x0507070028004a @packed (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 214 (remaining gas: 1039289.402 units remaining) + - location: 212 (remaining gas: 1039302.607 units remaining) + [ (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 214 (remaining gas: 1039293.887 units remaining) [ 0x0507070028004a @packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 215 (remaining gas: 1039253.652 units remaining) + - location: 215 (remaining gas: 1039258.167 units remaining) [ (Some (Pair 40 -10)) @packed.unpacked (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 225 (remaining gas: 1039253.517 units remaining) + - location: 220 (remaining gas: 1039258.137 units remaining) [ (Pair 40 -10) @packed.unpacked.some (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 219 (remaining gas: 1039253.472 units remaining) + - location: 225 (remaining gas: 1039258.092 units remaining) [ (Pair 40 -10) @packed.unpacked.some (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 226 (remaining gas: 1039244.722 units remaining) + - location: 226 (remaining gas: 1039249.372 units remaining) [ 0x0507070028004a @packed.unpacked.some.packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039244.677 units remaining) - [ 0x0507070028004a @packed.unpacked.some.packed - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039244.677 units remaining) + - location: 212 (remaining gas: 1039249.372 units remaining) [ 0x0507070028004a @packed 0x0507070028004a @packed.unpacked.some.packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 229 (remaining gas: 1039244.467 units remaining) + - location: 229 (remaining gas: 1039249.252 units remaining) [ 0 (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 230 (remaining gas: 1039244.392 units remaining) - [ True - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039244.347 units remaining) + - location: 230 (remaining gas: 1039249.202 units remaining) [ True (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 232 (remaining gas: 1039244.247 units remaining) + - location: 231 (remaining gas: 1039249.177 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039244.202 units remaining) + - location: 232 (remaining gas: 1039249.132 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 237 (remaining gas: 1039244.122 units remaining) + - location: 237 (remaining gas: 1039249.082 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: 1039244.042 units remaining) + - location: 238 (remaining gas: 1039249.032 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 241 (remaining gas: 1039243.887 units remaining) - [ (Right "2019-09-09T08:35:33Z") - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 240 (remaining gas: 1039243.842 units remaining) + - location: 239 (remaining gas: 1039248.987 units remaining) + [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 241 (remaining gas: 1039248.937 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039243.842 units remaining) + - location: 239 (remaining gas: 1039248.937 units remaining) [ (Right "2019-09-09T08:35:33Z") (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 242 (remaining gas: 1039233.332 units remaining) + - location: 242 (remaining gas: 1039238.457 units remaining) [ 0x0505080095bbb0d70b @packed (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 245 (remaining gas: 1039222.747 units remaining) + - location: 243 (remaining gas: 1039238.412 units remaining) + [ (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 245 (remaining gas: 1039227.932 units remaining) [ 0x0505080095bbb0d70b @packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 246 (remaining gas: 1039201.237 units remaining) + - location: 246 (remaining gas: 1039206.452 units remaining) [ (Some (Right "2019-09-09T08:35:33Z")) @packed.unpacked (Pair {} { DUP ; DROP ; PACK }) ] - - location: 256 (remaining gas: 1039201.102 units remaining) + - location: 251 (remaining gas: 1039206.422 units remaining) [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some (Pair {} { DUP ; DROP ; PACK }) ] - - location: 250 (remaining gas: 1039201.057 units remaining) + - location: 256 (remaining gas: 1039206.377 units remaining) [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some (Pair {} { DUP ; DROP ; PACK }) ] - - location: 257 (remaining gas: 1039190.547 units remaining) + - location: 257 (remaining gas: 1039195.897 units remaining) [ 0x0505080095bbb0d70b @packed.unpacked.some.packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039190.502 units remaining) - [ 0x0505080095bbb0d70b @packed.unpacked.some.packed - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039190.502 units remaining) + - location: 243 (remaining gas: 1039195.897 units remaining) [ 0x0505080095bbb0d70b @packed 0x0505080095bbb0d70b @packed.unpacked.some.packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 260 (remaining gas: 1039190.292 units remaining) + - location: 260 (remaining gas: 1039195.777 units remaining) [ 0 (Pair {} { DUP ; DROP ; PACK }) ] - - location: 261 (remaining gas: 1039190.217 units remaining) + - location: 261 (remaining gas: 1039195.727 units remaining) [ True (Pair {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039190.172 units remaining) - [ True - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 263 (remaining gas: 1039190.072 units remaining) + - location: 262 (remaining gas: 1039195.702 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039190.027 units remaining) + - location: 263 (remaining gas: 1039195.657 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 268 (remaining gas: 1039189.947 units remaining) + - location: 268 (remaining gas: 1039195.607 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) (Pair {} { DUP ; DROP ; PACK }) ] - - location: 269 (remaining gas: 1039189.867 units remaining) + - location: 269 (remaining gas: 1039195.557 units remaining) [ {} (Pair {} { DUP ; DROP ; PACK }) ] - - location: 272 (remaining gas: 1039189.712 units remaining) - [ {} - { DUP ; DROP ; PACK } ] - - location: 271 (remaining gas: 1039189.667 units remaining) + - location: 270 (remaining gas: 1039195.512 units remaining) + [ (Pair {} { DUP ; DROP ; PACK }) ] + - location: 272 (remaining gas: 1039195.462 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 270 (remaining gas: 1039189.667 units remaining) + - location: 270 (remaining gas: 1039195.462 units remaining) [ {} {} { DUP ; DROP ; PACK } ] - - location: 273 (remaining gas: 1039181.397 units remaining) + - location: 273 (remaining gas: 1039187.222 units remaining) [ 0x050200000000 @packed {} { DUP ; DROP ; PACK } ] - - location: 276 (remaining gas: 1039173.052 units remaining) + - location: 274 (remaining gas: 1039187.177 units remaining) + [ {} + { DUP ; DROP ; PACK } ] + - location: 276 (remaining gas: 1039178.937 units remaining) [ 0x050200000000 @packed { DUP ; DROP ; PACK } ] - - location: 277 (remaining gas: 1039165.782 units remaining) + - location: 277 (remaining gas: 1039171.697 units remaining) [ (Some {}) @packed.unpacked { DUP ; DROP ; PACK } ] - - location: 287 (remaining gas: 1039165.647 units remaining) + - location: 282 (remaining gas: 1039171.667 units remaining) [ {} @packed.unpacked.some { DUP ; DROP ; PACK } ] - - location: 281 (remaining gas: 1039165.602 units remaining) + - location: 287 (remaining gas: 1039171.622 units remaining) [ {} @packed.unpacked.some { DUP ; DROP ; PACK } ] - - location: 288 (remaining gas: 1039157.332 units remaining) + - location: 288 (remaining gas: 1039163.382 units remaining) [ 0x050200000000 @packed.unpacked.some.packed { DUP ; DROP ; PACK } ] - - location: -1 (remaining gas: 1039157.287 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039157.287 units remaining) + - location: 274 (remaining gas: 1039163.382 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed { DUP ; DROP ; PACK } ] - - location: 291 (remaining gas: 1039157.077 units remaining) + - location: 291 (remaining gas: 1039163.262 units remaining) [ 0 { DUP ; DROP ; PACK } ] - - location: 292 (remaining gas: 1039157.002 units remaining) - [ True - { DUP ; DROP ; PACK } ] - - location: -1 (remaining gas: 1039156.957 units remaining) + - location: 292 (remaining gas: 1039163.212 units remaining) [ True { DUP ; DROP ; PACK } ] - - location: 294 (remaining gas: 1039156.857 units remaining) + - location: 293 (remaining gas: 1039163.187 units remaining) [ { DUP ; DROP ; PACK } ] - - location: -1 (remaining gas: 1039156.812 units remaining) + - location: 294 (remaining gas: 1039163.142 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 299 (remaining gas: 1039156.732 units remaining) + - location: 299 (remaining gas: 1039163.092 units remaining) [ { DUP ; DROP ; PACK } { DUP ; DROP ; PACK } ] - - location: 300 (remaining gas: 1039143.362 units remaining) + - location: 300 (remaining gas: 1039149.752 units remaining) [ 0x05020000000603210320030c @packed { DUP ; DROP ; PACK } ] - - location: 303 (remaining gas: 1039129.917 units remaining) + - location: 301 (remaining gas: 1039149.707 units remaining) + [ { DUP ; DROP ; PACK } ] + - location: 303 (remaining gas: 1039136.367 units remaining) [ 0x05020000000603210320030c @packed ] - - location: 304 (remaining gas: 1039078.027 units remaining) + - location: 304 (remaining gas: 1039084.507 units remaining) [ (Some { DUP ; DROP ; PACK }) @packed.unpacked ] - - location: 314 (remaining gas: 1039077.892 units remaining) + - location: 309 (remaining gas: 1039084.477 units remaining) [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 308 (remaining gas: 1039077.847 units remaining) + - location: 314 (remaining gas: 1039084.432 units remaining) [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1039064.477 units remaining) - [ 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: -1 (remaining gas: 1039064.432 units remaining) + - location: 315 (remaining gas: 1039071.092 units remaining) [ 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1039064.432 units remaining) + - location: 301 (remaining gas: 1039071.092 units remaining) [ 0x05020000000603210320030c @packed 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1039064.222 units remaining) + - location: 318 (remaining gas: 1039070.972 units remaining) [ 0 ] - - location: 319 (remaining gas: 1039064.147 units remaining) + - location: 319 (remaining gas: 1039070.922 units remaining) [ True ] - - location: -1 (remaining gas: 1039064.102 units remaining) - [ True ] - - location: 321 (remaining gas: 1039064.002 units remaining) + - location: 320 (remaining gas: 1039070.897 units remaining) [ ] - - location: -1 (remaining gas: 1039063.957 units remaining) + - location: 321 (remaining gas: 1039070.852 units remaining) [ ] - - location: 326 (remaining gas: 1039063.882 units remaining) + - location: 326 (remaining gas: 1039070.807 units remaining) [ Unit ] - - location: 327 (remaining gas: 1039063.807 units remaining) + - location: 327 (remaining gas: 1039070.762 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1039063.732 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039063.687 units remaining) + - location: 329 (remaining gas: 1039070.717 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 c332cc09e27c..32bdde776958 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039993.020 units remaining) + - location: 12 (remaining gas: 1039993.020 units remaining) [ (Pair (Pair False False) None) ] - - location: 12 (remaining gas: 1039992.940 units remaining) + - location: 12 (remaining gas: 1039992.970 units remaining) [ (Pair False False) @parameter ] - - location: 13 (remaining gas: 1039992.865 units remaining) + - location: 13 (remaining gas: 1039992.925 units remaining) [ (Some (Pair False False)) ] - - location: 14 (remaining gas: 1039992.790 units remaining) + - location: 14 (remaining gas: 1039992.880 units remaining) [ {} (Some (Pair False False)) ] - - location: 16 (remaining gas: 1039992.715 units remaining) - [ (Pair {} (Some (Pair False False))) ] - - location: -1 (remaining gas: 1039992.670 units remaining) + - location: 16 (remaining gas: 1039992.835 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 0692102e91a3..c24dd0d3cf4f 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039993.020 units remaining) + - location: 12 (remaining gas: 1039993.020 units remaining) [ (Pair (Pair False True) None) ] - - location: 12 (remaining gas: 1039992.940 units remaining) + - location: 12 (remaining gas: 1039992.970 units remaining) [ (Pair False True) @parameter ] - - location: 13 (remaining gas: 1039992.865 units remaining) + - location: 13 (remaining gas: 1039992.925 units remaining) [ (Some (Pair False True)) ] - - location: 14 (remaining gas: 1039992.790 units remaining) + - location: 14 (remaining gas: 1039992.880 units remaining) [ {} (Some (Pair False True)) ] - - location: 16 (remaining gas: 1039992.715 units remaining) - [ (Pair {} (Some (Pair False True))) ] - - location: -1 (remaining gas: 1039992.670 units remaining) + - location: 16 (remaining gas: 1039992.835 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 b366f8278b26..5a6e058cc99b 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039993.020 units remaining) + - location: 12 (remaining gas: 1039993.020 units remaining) [ (Pair (Pair True False) None) ] - - location: 12 (remaining gas: 1039992.940 units remaining) + - location: 12 (remaining gas: 1039992.970 units remaining) [ (Pair True False) @parameter ] - - location: 13 (remaining gas: 1039992.865 units remaining) + - location: 13 (remaining gas: 1039992.925 units remaining) [ (Some (Pair True False)) ] - - location: 14 (remaining gas: 1039992.790 units remaining) + - location: 14 (remaining gas: 1039992.880 units remaining) [ {} (Some (Pair True False)) ] - - location: 16 (remaining gas: 1039992.715 units remaining) - [ (Pair {} (Some (Pair True False))) ] - - location: -1 (remaining gas: 1039992.670 units remaining) + - location: 16 (remaining gas: 1039992.835 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 09019f835f12..8528278f4550 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039993.020 units remaining) + - location: 12 (remaining gas: 1039993.020 units remaining) [ (Pair (Pair True True) None) ] - - location: 12 (remaining gas: 1039992.940 units remaining) + - location: 12 (remaining gas: 1039992.970 units remaining) [ (Pair True True) @parameter ] - - location: 13 (remaining gas: 1039992.865 units remaining) + - location: 13 (remaining gas: 1039992.925 units remaining) [ (Some (Pair True True)) ] - - location: 14 (remaining gas: 1039992.790 units remaining) + - location: 14 (remaining gas: 1039992.880 units remaining) [ {} (Some (Pair True True)) ] - - location: 16 (remaining gas: 1039992.715 units remaining) - [ (Pair {} (Some (Pair True True))) ] - - location: -1 (remaining gas: 1039992.670 units remaining) + - location: 16 (remaining gas: 1039992.835 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 bb047ba83db8..d78fc4a96937 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,46 +7,41 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039989.170 units remaining) + - location: 7 (remaining gas: 1039989.170 units remaining) [ (Pair 38 14) ] - - location: 7 (remaining gas: 1039989.095 units remaining) + - location: 7 (remaining gas: 1039989.125 units remaining) [ { UNPAIR ; ADD } (Pair 38 14) ] - - location: 15 (remaining gas: 1039989.025 units remaining) + - location: 15 (remaining gas: 1039989.085 units remaining) [ (Pair 38 14) { UNPAIR ; ADD } ] - - location: 16 (remaining gas: 1039988.945 units remaining) + - location: 16 (remaining gas: 1039989.035 units remaining) [ 38 @parameter 14 @storage { UNPAIR ; ADD } ] - - location: 19 (remaining gas: 1039987.515 units remaining) - [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 18 (remaining gas: 1039987.470 units remaining) + - location: 17 (remaining gas: 1039988.990 units remaining) + [ 14 @storage + { UNPAIR ; ADD } ] + - location: 19 (remaining gas: 1039987.665 units remaining) [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 17 (remaining gas: 1039987.470 units remaining) + - location: 17 (remaining gas: 1039987.665 units remaining) [ 38 @parameter { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 12 (remaining gas: 1039987.340 units remaining) - [ 38 ] - - location: 12 (remaining gas: 1039987.235 units remaining) + - location: 12 (remaining gas: 1039987.520 units remaining) [ 14 38 ] - - location: 12 (remaining gas: 1039987.190 units remaining) - [ (Pair 14 38) ] - - location: 13 (remaining gas: 1039987.110 units remaining) + - location: 12 (remaining gas: 1039987.475 units remaining) + [ (Pair 14 38) @arg ] + - location: 13 (remaining gas: 1039987.425 units remaining) [ 14 38 ] - - location: 14 (remaining gas: 1039987 units remaining) + - location: 14 (remaining gas: 1039987.345 units remaining) [ 52 ] - - location: -1 (remaining gas: 1039986.955 units remaining) + - location: 20 (remaining gas: 1039987.345 units remaining) [ 52 ] - - location: 20 (remaining gas: 1039986.955 units remaining) - [ 52 ] - - location: 21 (remaining gas: 1039986.880 units remaining) + - location: 21 (remaining gas: 1039987.300 units remaining) [ {} 52 ] - - location: 23 (remaining gas: 1039986.805 units remaining) - [ (Pair {} 52) ] - - location: -1 (remaining gas: 1039986.760 units remaining) + - location: 23 (remaining gas: 1039987.255 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 f2fc3a344ac1..e905d3af3445 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,51 +7,53 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039978.900 units remaining) + - location: 8 (remaining gas: 1039978.900 units remaining) [ (Pair 4 { 0 ; 1 ; 2 ; 3 }) ] - - location: 8 (remaining gas: 1039978.820 units remaining) + - location: 8 (remaining gas: 1039978.850 units remaining) [ 4 @p { 0 ; 1 ; 2 ; 3 } @s ] - - location: 9 (remaining gas: 1039978.745 units remaining) + - location: 9 (remaining gas: 1039978.805 units remaining) [ { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } 4 @p { 0 ; 1 ; 2 ; 3 } @s ] - - location: 23 (remaining gas: 1039978.675 units remaining) + - location: 23 (remaining gas: 1039978.765 units remaining) [ 4 @p { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } { 0 ; 1 ; 2 ; 3 } @s ] - - location: 24 (remaining gas: 1039977.320 units remaining) + - location: 24 (remaining gas: 1039977.440 units remaining) [ { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } { 0 ; 1 ; 2 ; 3 } @s ] - - location: 25 (remaining gas: 1039977.245 units remaining) + - location: 25 (remaining gas: 1039977.395 units remaining) [ 3 { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } { 0 ; 1 ; 2 ; 3 } @s ] - - location: 28 (remaining gas: 1039975.890 units remaining) + - location: 28 (remaining gas: 1039976.070 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } { 0 ; 1 ; 2 ; 3 } @s ] - - location: 29 (remaining gas: 1039975.820 units remaining) + - location: 29 (remaining gas: 1039976.030 units remaining) [ { 0 ; 1 ; 2 ; 3 } @s { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039975.087 units remaining) - [ { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + - location: 30 (remaining gas: 1039975.482 units remaining) + [ 0 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 33 (remaining gas: 1039975.042 units remaining) + - location: 32 (remaining gas: 1039975.437 units remaining) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 34 (remaining gas: 1039975.387 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: 1039975.042 units remaining) + - location: 32 (remaining gas: 1039975.387 units remaining) [ 0 @s.elt { PUSH int 3 ; PAIR ; @@ -59,63 +61,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039974.912 units remaining) - [ 0 ] - - location: 16 (remaining gas: 1039974.807 units remaining) + - location: 16 (remaining gas: 1039975.242 units remaining) [ 3 0 ] - - location: 16 (remaining gas: 1039974.762 units remaining) + - location: 16 (remaining gas: 1039975.197 units remaining) [ (Pair 3 0) ] - - location: 16 (remaining gas: 1039974.657 units remaining) + - location: 16 (remaining gas: 1039975.152 units remaining) [ 4 (Pair 3 0) ] - - location: 16 (remaining gas: 1039974.612 units remaining) - [ (Pair 4 3 0) ] - - location: 17 (remaining gas: 1039974.532 units remaining) + - location: 16 (remaining gas: 1039975.107 units remaining) + [ (Pair 4 3 0) @arg ] + - location: 17 (remaining gas: 1039975.057 units remaining) [ 4 (Pair 3 0) ] - - location: 20 (remaining gas: 1039974.377 units remaining) - [ 3 - 0 ] - - location: 19 (remaining gas: 1039974.332 units remaining) + - location: 18 (remaining gas: 1039975.012 units remaining) + [ (Pair 3 0) ] + - location: 20 (remaining gas: 1039974.962 units remaining) [ 3 0 ] - - location: 18 (remaining gas: 1039974.332 units remaining) + - location: 18 (remaining gas: 1039974.962 units remaining) [ 4 3 0 ] - - location: 21 (remaining gas: 1039974.222 units remaining) + - location: 21 (remaining gas: 1039974.882 units remaining) [ 7 0 ] - - location: 22 (remaining gas: 1039974.110 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039974.065 units remaining) + - location: 22 (remaining gas: 1039974.800 units remaining) [ 0 ] - - location: 35 (remaining gas: 1039974.065 units remaining) + - location: 35 (remaining gas: 1039974.800 units remaining) [ 0 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039974.020 units remaining) - [ 0 + - location: 30 (remaining gas: 1039974.800 units remaining) + [ 1 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039973.865 units remaining) + - location: 32 (remaining gas: 1039974.755 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: 33 (remaining gas: 1039973.820 units remaining) + - location: 34 (remaining gas: 1039974.705 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: 1039973.820 units remaining) + - location: 32 (remaining gas: 1039974.705 units remaining) [ 1 @s.elt { PUSH int 3 ; PAIR ; @@ -123,63 +117,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039973.690 units remaining) - [ 1 ] - - location: 16 (remaining gas: 1039973.585 units remaining) + - location: 16 (remaining gas: 1039974.560 units remaining) [ 3 1 ] - - location: 16 (remaining gas: 1039973.540 units remaining) + - location: 16 (remaining gas: 1039974.515 units remaining) [ (Pair 3 1) ] - - location: 16 (remaining gas: 1039973.435 units remaining) + - location: 16 (remaining gas: 1039974.470 units remaining) [ 4 (Pair 3 1) ] - - location: 16 (remaining gas: 1039973.390 units remaining) - [ (Pair 4 3 1) ] - - location: 17 (remaining gas: 1039973.310 units remaining) + - location: 16 (remaining gas: 1039974.425 units remaining) + [ (Pair 4 3 1) @arg ] + - location: 17 (remaining gas: 1039974.375 units remaining) [ 4 (Pair 3 1) ] - - location: 20 (remaining gas: 1039973.155 units remaining) - [ 3 - 1 ] - - location: 19 (remaining gas: 1039973.110 units remaining) + - location: 18 (remaining gas: 1039974.330 units remaining) + [ (Pair 3 1) ] + - location: 20 (remaining gas: 1039974.280 units remaining) [ 3 1 ] - - location: 18 (remaining gas: 1039973.110 units remaining) + - location: 18 (remaining gas: 1039974.280 units remaining) [ 4 3 1 ] - - location: 21 (remaining gas: 1039973 units remaining) + - location: 21 (remaining gas: 1039974.200 units remaining) [ 7 1 ] - - location: 22 (remaining gas: 1039972.884 units remaining) - [ 7 ] - - location: -1 (remaining gas: 1039972.839 units remaining) + - location: 22 (remaining gas: 1039974.114 units remaining) [ 7 ] - - location: 35 (remaining gas: 1039972.839 units remaining) + - location: 35 (remaining gas: 1039974.114 units remaining) [ 7 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039972.794 units remaining) - [ 7 + - location: 30 (remaining gas: 1039974.114 units remaining) + [ 2 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039972.639 units remaining) + - location: 32 (remaining gas: 1039974.069 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: 33 (remaining gas: 1039972.594 units remaining) + - location: 34 (remaining gas: 1039974.019 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: 1039972.594 units remaining) + - location: 32 (remaining gas: 1039974.019 units remaining) [ 2 @s.elt { PUSH int 3 ; PAIR ; @@ -187,63 +173,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039972.464 units remaining) - [ 2 ] - - location: 16 (remaining gas: 1039972.359 units remaining) + - location: 16 (remaining gas: 1039973.874 units remaining) [ 3 2 ] - - location: 16 (remaining gas: 1039972.314 units remaining) + - location: 16 (remaining gas: 1039973.829 units remaining) [ (Pair 3 2) ] - - location: 16 (remaining gas: 1039972.209 units remaining) + - location: 16 (remaining gas: 1039973.784 units remaining) [ 4 (Pair 3 2) ] - - location: 16 (remaining gas: 1039972.164 units remaining) - [ (Pair 4 3 2) ] - - location: 17 (remaining gas: 1039972.084 units remaining) + - location: 16 (remaining gas: 1039973.739 units remaining) + [ (Pair 4 3 2) @arg ] + - location: 17 (remaining gas: 1039973.689 units remaining) [ 4 (Pair 3 2) ] - - location: 20 (remaining gas: 1039971.929 units remaining) - [ 3 - 2 ] - - location: 19 (remaining gas: 1039971.884 units remaining) + - location: 18 (remaining gas: 1039973.644 units remaining) + [ (Pair 3 2) ] + - location: 20 (remaining gas: 1039973.594 units remaining) [ 3 2 ] - - location: 18 (remaining gas: 1039971.884 units remaining) + - location: 18 (remaining gas: 1039973.594 units remaining) [ 4 3 2 ] - - location: 21 (remaining gas: 1039971.774 units remaining) + - location: 21 (remaining gas: 1039973.514 units remaining) [ 7 2 ] - - location: 22 (remaining gas: 1039971.658 units remaining) + - location: 22 (remaining gas: 1039973.428 units remaining) [ 14 ] - - location: -1 (remaining gas: 1039971.613 units remaining) - [ 14 ] - - location: 35 (remaining gas: 1039971.613 units remaining) + - location: 35 (remaining gas: 1039973.428 units remaining) [ 14 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039971.568 units remaining) - [ 14 + - location: 30 (remaining gas: 1039973.428 units remaining) + [ 3 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039971.413 units remaining) + - location: 32 (remaining gas: 1039973.383 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: 33 (remaining gas: 1039971.368 units remaining) + - location: 34 (remaining gas: 1039973.333 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: 1039971.368 units remaining) + - location: 32 (remaining gas: 1039973.333 units remaining) [ 3 @s.elt { PUSH int 3 ; PAIR ; @@ -251,64 +229,54 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039971.238 units remaining) - [ 3 ] - - location: 16 (remaining gas: 1039971.133 units remaining) + - location: 16 (remaining gas: 1039973.188 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039971.088 units remaining) + - location: 16 (remaining gas: 1039973.143 units remaining) [ (Pair 3 3) ] - - location: 16 (remaining gas: 1039970.983 units remaining) + - location: 16 (remaining gas: 1039973.098 units remaining) [ 4 (Pair 3 3) ] - - location: 16 (remaining gas: 1039970.938 units remaining) - [ (Pair 4 3 3) ] - - location: 17 (remaining gas: 1039970.858 units remaining) + - location: 16 (remaining gas: 1039973.053 units remaining) + [ (Pair 4 3 3) @arg ] + - location: 17 (remaining gas: 1039973.003 units remaining) [ 4 (Pair 3 3) ] - - location: 20 (remaining gas: 1039970.703 units remaining) - [ 3 - 3 ] - - location: 19 (remaining gas: 1039970.658 units remaining) + - location: 18 (remaining gas: 1039972.958 units remaining) + [ (Pair 3 3) ] + - location: 20 (remaining gas: 1039972.908 units remaining) [ 3 3 ] - - location: 18 (remaining gas: 1039970.658 units remaining) + - location: 18 (remaining gas: 1039972.908 units remaining) [ 4 3 3 ] - - location: 21 (remaining gas: 1039970.548 units remaining) + - location: 21 (remaining gas: 1039972.828 units remaining) [ 7 3 ] - - location: 22 (remaining gas: 1039970.432 units remaining) + - location: 22 (remaining gas: 1039972.742 units remaining) [ 21 ] - - location: -1 (remaining gas: 1039970.387 units remaining) - [ 21 ] - - location: 35 (remaining gas: 1039970.387 units remaining) + - location: 35 (remaining gas: 1039972.742 units remaining) [ 21 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039970.342 units remaining) - [ 21 + - location: 30 (remaining gas: 1039972.742 units remaining) + [ { 0 ; 7 ; 14 ; 21 } { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039970.342 units remaining) - [ { 0 ; 7 ; 14 ; 21 } - { PUSH int 3 ; + - location: 36 (remaining gas: 1039972.697 units remaining) + [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 38 (remaining gas: 1039970.192 units remaining) + - location: 38 (remaining gas: 1039972.652 units remaining) [ ] - - location: 37 (remaining gas: 1039970.147 units remaining) - [ ] - - location: 36 (remaining gas: 1039970.147 units remaining) + - location: 36 (remaining gas: 1039972.652 units remaining) [ { 0 ; 7 ; 14 ; 21 } ] - - location: 39 (remaining gas: 1039970.072 units remaining) + - location: 39 (remaining gas: 1039972.607 units remaining) [ {} { 0 ; 7 ; 14 ; 21 } ] - - location: 41 (remaining gas: 1039969.997 units remaining) - [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] - - location: -1 (remaining gas: 1039969.952 units remaining) + - location: 41 (remaining gas: 1039972.562 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 870efd6aaac3..cde6523bbc6f 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,19 +7,17 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.280 units remaining) + - location: 8 (remaining gas: 1039993.280 units remaining) [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.205 units remaining) + - location: 8 (remaining gas: 1039993.235 units remaining) [ ] - - location: 9 (remaining gas: 1039993.130 units remaining) + - location: 9 (remaining gas: 1039993.190 units remaining) [ 300 ] - - location: 12 (remaining gas: 1039993.055 units remaining) + - location: 12 (remaining gas: 1039993.145 units remaining) [ (Some 300) ] - - location: 13 (remaining gas: 1039992.980 units remaining) + - location: 13 (remaining gas: 1039993.100 units remaining) [ {} (Some 300) ] - - location: 15 (remaining gas: 1039992.905 units remaining) - [ (Pair {} (Some 300)) ] - - location: -1 (remaining gas: 1039992.860 units remaining) + - location: 15 (remaining gas: 1039993.055 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 efe6475c8385..3ac7e6cb98cb 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,35 +7,36 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.414 units remaining) + - location: 9 (remaining gas: 1039990.414 units remaining) [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039990.334 units remaining) + - location: 9 (remaining gas: 1039990.364 units remaining) [ { "c" ; "b" ; "a" } @parameter ] - - location: 10 (remaining gas: 1039990.259 units remaining) + - location: 10 (remaining gas: 1039990.319 units remaining) [ {} { "c" ; "b" ; "a" } @parameter ] - - location: 12 (remaining gas: 1039990.189 units remaining) + - location: 12 (remaining gas: 1039990.279 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 15 (remaining gas: 1039989.558 units remaining) - [ { "c" } ] - - location: 14 (remaining gas: 1039989.513 units remaining) + - location: 13 (remaining gas: 1039989.758 units remaining) + [ "c" @parameter.elt + {} ] + - location: 15 (remaining gas: 1039989.708 units remaining) [ { "c" } ] - - location: 15 (remaining gas: 1039989.433 units remaining) - [ { "b" ; "c" } ] - - location: 14 (remaining gas: 1039989.388 units remaining) + - location: 13 (remaining gas: 1039989.708 units remaining) + [ "b" @parameter.elt + { "c" } ] + - location: 15 (remaining gas: 1039989.658 units remaining) [ { "b" ; "c" } ] - - location: 15 (remaining gas: 1039989.308 units remaining) + - location: 13 (remaining gas: 1039989.658 units remaining) + [ "a" @parameter.elt + { "b" ; "c" } ] + - location: 15 (remaining gas: 1039989.608 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039989.263 units remaining) + - location: 13 (remaining gas: 1039989.608 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 13 (remaining gas: 1039989.263 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039989.188 units remaining) + - location: 16 (remaining gas: 1039989.563 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039989.113 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039989.068 units remaining) + - location: 18 (remaining gas: 1039989.518 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 d99530a658ac..69b3aafc05ca 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039991.206 units remaining) + - location: 9 (remaining gas: 1039991.206 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039991.126 units remaining) + - location: 9 (remaining gas: 1039991.156 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039991.051 units remaining) + - location: 10 (remaining gas: 1039991.111 units remaining) [ {} {} @parameter ] - - location: 12 (remaining gas: 1039990.981 units remaining) + - location: 12 (remaining gas: 1039991.071 units remaining) [ {} @parameter {} ] - - location: 13 (remaining gas: 1039990.451 units remaining) + - location: 13 (remaining gas: 1039990.571 units remaining) [ {} ] - - location: 16 (remaining gas: 1039990.376 units remaining) + - location: 16 (remaining gas: 1039990.526 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039990.301 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039990.256 units remaining) + - location: 18 (remaining gas: 1039990.481 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 aad6192b6dd5..0b288472a2f8 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,114 +7,109 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039981.974 units remaining) + - location: 9 (remaining gas: 1039981.974 units remaining) [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039981.894 units remaining) + - location: 9 (remaining gas: 1039981.924 units remaining) [ { "c" ; "b" ; "a" } @parameter ] - - location: 10 (remaining gas: 1039981.819 units remaining) + - location: 10 (remaining gas: 1039981.879 units remaining) [ {} { "c" ; "b" ; "a" } @parameter ] - - location: 12 (remaining gas: 1039981.749 units remaining) + - location: 12 (remaining gas: 1039981.839 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 13 (remaining gas: 1039981.674 units remaining) + - location: 13 (remaining gas: 1039981.794 units remaining) [ True { "c" ; "b" ; "a" } @parameter {} ] - - location: 20 (remaining gas: 1039981.474 units remaining) + - location: 16 (remaining gas: 1039981.754 units remaining) + [ { "c" ; "b" ; "a" } @parameter + {} ] + - location: 18 (remaining gas: 1039981.724 units remaining) + [ "c" @parameter.hd + { "b" ; "a" } @parameter.tl + {} ] + - location: 20 (remaining gas: 1039981.684 units remaining) [ { "b" ; "a" } @parameter.tl "c" @parameter.hd {} ] - - location: 23 (remaining gas: 1039981.319 units remaining) - [ { "c" } ] - - location: 22 (remaining gas: 1039981.274 units remaining) + - location: 21 (remaining gas: 1039981.639 units remaining) + [ "c" @parameter.hd + {} ] + - location: 23 (remaining gas: 1039981.589 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039981.274 units remaining) + - location: 21 (remaining gas: 1039981.589 units remaining) [ { "b" ; "a" } @parameter.tl { "c" } ] - - location: 24 (remaining gas: 1039981.199 units remaining) + - location: 24 (remaining gas: 1039981.544 units remaining) [ True - { "b" ; "a" } @parameter.tl + { "b" ; "a" } @parameter { "c" } ] - - location: -1 (remaining gas: 1039981.154 units remaining) - [ True - { "b" ; "a" } @parameter.tl + - location: 16 (remaining gas: 1039981.544 units remaining) + [ { "b" ; "a" } @parameter { "c" } ] - - location: 17 (remaining gas: 1039981.109 units remaining) - [ True - { "b" ; "a" } + - location: 18 (remaining gas: 1039981.514 units remaining) + [ "b" @parameter.hd + { "a" } @parameter.tl { "c" } ] - - location: 20 (remaining gas: 1039980.939 units remaining) + - location: 20 (remaining gas: 1039981.474 units remaining) [ { "a" } @parameter.tl "b" @parameter.hd { "c" } ] - - location: 23 (remaining gas: 1039980.784 units remaining) - [ { "b" ; "c" } ] - - location: 22 (remaining gas: 1039980.739 units remaining) + - location: 21 (remaining gas: 1039981.429 units remaining) + [ "b" @parameter.hd + { "c" } ] + - location: 23 (remaining gas: 1039981.379 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039980.739 units remaining) + - location: 21 (remaining gas: 1039981.379 units remaining) [ { "a" } @parameter.tl { "b" ; "c" } ] - - location: 24 (remaining gas: 1039980.664 units remaining) + - location: 24 (remaining gas: 1039981.334 units remaining) [ True - { "a" } @parameter.tl + { "a" } @parameter { "b" ; "c" } ] - - location: -1 (remaining gas: 1039980.619 units remaining) - [ True - { "a" } @parameter.tl + - location: 16 (remaining gas: 1039981.334 units remaining) + [ { "a" } @parameter { "b" ; "c" } ] - - location: 17 (remaining gas: 1039980.574 units remaining) - [ True - { "a" } + - location: 18 (remaining gas: 1039981.304 units remaining) + [ "a" @parameter.hd + {} @parameter.tl { "b" ; "c" } ] - - location: 20 (remaining gas: 1039980.404 units remaining) + - location: 20 (remaining gas: 1039981.264 units remaining) [ {} @parameter.tl "a" @parameter.hd { "b" ; "c" } ] - - location: 23 (remaining gas: 1039980.249 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 22 (remaining gas: 1039980.204 units remaining) + - location: 21 (remaining gas: 1039981.219 units remaining) + [ "a" @parameter.hd + { "b" ; "c" } ] + - location: 23 (remaining gas: 1039981.169 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039980.204 units remaining) + - location: 21 (remaining gas: 1039981.169 units remaining) [ {} @parameter.tl { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039980.129 units remaining) + - location: 24 (remaining gas: 1039981.124 units remaining) [ True - {} @parameter.tl - { "a" ; "b" ; "c" } ] - - location: -1 (remaining gas: 1039980.084 units remaining) - [ True - {} @parameter.tl + {} @parameter { "a" ; "b" ; "c" } ] - - location: 17 (remaining gas: 1039980.039 units remaining) - [ True - {} + - location: 16 (remaining gas: 1039981.124 units remaining) + [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039979.864 units remaining) + - location: 18 (remaining gas: 1039981.094 units remaining) + [ { "a" ; "b" ; "c" } ] + - location: 28 (remaining gas: 1039981.049 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039979.789 units remaining) - [ False - {} - { "a" ; "b" ; "c" } ] - - location: -1 (remaining gas: 1039979.744 units remaining) - [ False - {} - { "a" ; "b" ; "c" } ] - - location: 17 (remaining gas: 1039979.699 units remaining) + - location: 30 (remaining gas: 1039981.004 units remaining) [ False - {} + {} @parameter { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039979.659 units remaining) + - location: 16 (remaining gas: 1039981.004 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 33 (remaining gas: 1039979.584 units remaining) + - location: 33 (remaining gas: 1039980.959 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 34 (remaining gas: 1039979.509 units remaining) + - location: 34 (remaining gas: 1039980.914 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 36 (remaining gas: 1039979.434 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039979.389 units remaining) + - location: 36 (remaining gas: 1039980.869 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 c0ebcad3a288..09bc75bfc530 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,45 +7,40 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039982.766 units remaining) + - location: 9 (remaining gas: 1039982.766 units remaining) [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039982.686 units remaining) + - location: 9 (remaining gas: 1039982.716 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039982.611 units remaining) + - location: 10 (remaining gas: 1039982.671 units remaining) [ {} {} @parameter ] - - location: 12 (remaining gas: 1039982.541 units remaining) + - location: 12 (remaining gas: 1039982.631 units remaining) [ {} @parameter {} ] - - location: 13 (remaining gas: 1039982.466 units remaining) + - location: 13 (remaining gas: 1039982.586 units remaining) [ True {} @parameter {} ] - - location: 28 (remaining gas: 1039982.261 units remaining) - [ {} - {} ] - - location: 30 (remaining gas: 1039982.186 units remaining) - [ False - {} + - location: 16 (remaining gas: 1039982.546 units remaining) + [ {} @parameter {} ] - - location: -1 (remaining gas: 1039982.141 units remaining) - [ False - {} + - location: 18 (remaining gas: 1039982.516 units remaining) + [ {} ] + - location: 28 (remaining gas: 1039982.471 units remaining) + [ {} {} ] - - location: 17 (remaining gas: 1039982.096 units remaining) + - location: 30 (remaining gas: 1039982.426 units remaining) [ False - {} + {} @parameter {} ] - - location: 16 (remaining gas: 1039982.056 units remaining) + - location: 16 (remaining gas: 1039982.426 units remaining) [ {} @parameter {} ] - - location: 33 (remaining gas: 1039981.981 units remaining) + - location: 33 (remaining gas: 1039982.381 units remaining) [ {} ] - - location: 34 (remaining gas: 1039981.906 units remaining) + - location: 34 (remaining gas: 1039982.336 units remaining) [ {} {} ] - - location: 36 (remaining gas: 1039981.831 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039981.786 units remaining) + - location: 36 (remaining gas: 1039982.291 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 7e727fd7b2f5..5b97084a3745 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.740 units remaining) + - location: 8 (remaining gas: 1039994.740 units remaining) [ (Pair Unit {}) ] - - location: 8 (remaining gas: 1039994.665 units remaining) + - location: 8 (remaining gas: 1039994.695 units remaining) [ ] - - location: 9 (remaining gas: 1039994.435 units remaining) + - location: 9 (remaining gas: 1039994.495 units remaining) [ {} @sapling ] - - location: 11 (remaining gas: 1039994.360 units remaining) + - location: 11 (remaining gas: 1039994.450 units remaining) [ {} {} @sapling ] - - location: 13 (remaining gas: 1039994.285 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039994.240 units remaining) + - location: 13 (remaining gas: 1039994.405 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 b5975cd81259..ae233af470ce 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,48 +7,40 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039983.390 units remaining) + - location: 7 (remaining gas: 1039983.390 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039983.315 units remaining) + - location: 7 (remaining gas: 1039983.345 units remaining) [ ] - - location: 8 (remaining gas: 1039983.240 units remaining) + - location: 8 (remaining gas: 1039983.300 units remaining) [ { DROP ; SELF_ADDRESS } ] - - location: 14 (remaining gas: 1039983.165 units remaining) + - location: 14 (remaining gas: 1039983.255 units remaining) [ Unit { DROP ; SELF_ADDRESS } ] - - location: 11 (remaining gas: 1039983.035 units remaining) - [ Unit @arg ] - - location: 12 (remaining gas: 1039982.960 units remaining) + - location: 12 (remaining gas: 1039983.110 units remaining) [ ] - - location: 13 (remaining gas: 1039982.885 units remaining) + - location: 13 (remaining gas: 1039983.065 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: -1 (remaining gas: 1039982.840 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 15 (remaining gas: 1039982.840 units remaining) + - location: 15 (remaining gas: 1039983.065 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 16 (remaining gas: 1039982.765 units remaining) + - location: 16 (remaining gas: 1039983.020 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 17 (remaining gas: 1039982.690 units remaining) + - location: 17 (remaining gas: 1039982.975 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self.address "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 20 (remaining gas: 1039982.382 units remaining) + - location: 20 (remaining gas: 1039982.757 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039982.307 units remaining) - [ True ] - - location: -1 (remaining gas: 1039982.262 units remaining) + - location: 21 (remaining gas: 1039982.707 units remaining) [ True ] - - location: 23 (remaining gas: 1039982.162 units remaining) + - location: 22 (remaining gas: 1039982.682 units remaining) [ ] - - location: -1 (remaining gas: 1039982.117 units remaining) + - location: 23 (remaining gas: 1039982.637 units remaining) [ ] - - location: 28 (remaining gas: 1039982.042 units remaining) + - location: 28 (remaining gas: 1039982.592 units remaining) [ Unit ] - - location: 29 (remaining gas: 1039981.967 units remaining) + - location: 29 (remaining gas: 1039982.547 units remaining) [ {} Unit ] - - location: 31 (remaining gas: 1039981.892 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039981.847 units remaining) + - location: 31 (remaining gas: 1039982.502 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 0651b4129dab..e339fc6c6a75 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,45 +7,41 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039981.740 units remaining) + - location: 13 (remaining gas: 1039981.740 units remaining) [ (Pair (Right (Left Unit)) Unit) ] - - location: 13 (remaining gas: 1039981.665 units remaining) + - location: 13 (remaining gas: 1039981.695 units remaining) [ ] - - location: 14 (remaining gas: 1039981.590 units remaining) + - location: 14 (remaining gas: 1039981.650 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 15 (remaining gas: 1039981.515 units remaining) + - location: 15 (remaining gas: 1039981.605 units remaining) [ ] - - location: 16 (remaining gas: 1039981.440 units remaining) + - location: 16 (remaining gas: 1039981.560 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 17 (remaining gas: 1039981.365 units remaining) + - location: 17 (remaining gas: 1039981.515 units remaining) [ ] - - location: 18 (remaining gas: 1039981.290 units remaining) + - location: 18 (remaining gas: 1039981.470 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 19 (remaining gas: 1039950.420 units remaining) + - location: 19 (remaining gas: 1039950.630 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed ] - - location: 20 (remaining gas: 1039950.345 units remaining) + - location: 20 (remaining gas: 1039950.585 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed ] - - location: 21 (remaining gas: 1039919.475 units remaining) + - location: 21 (remaining gas: 1039919.745 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed ] - - location: 24 (remaining gas: 1039919.265 units remaining) + - location: 24 (remaining gas: 1039919.625 units remaining) [ 0 ] - - location: 25 (remaining gas: 1039919.190 units remaining) + - location: 25 (remaining gas: 1039919.575 units remaining) [ True ] - - location: -1 (remaining gas: 1039919.145 units remaining) - [ True ] - - location: 27 (remaining gas: 1039919.045 units remaining) + - location: 26 (remaining gas: 1039919.550 units remaining) [ ] - - location: -1 (remaining gas: 1039919 units remaining) + - location: 27 (remaining gas: 1039919.505 units remaining) [ ] - - location: 32 (remaining gas: 1039918.925 units remaining) + - location: 32 (remaining gas: 1039919.460 units remaining) [ Unit ] - - location: 33 (remaining gas: 1039918.850 units remaining) + - location: 33 (remaining gas: 1039919.415 units remaining) [ {} Unit ] - - location: 35 (remaining gas: 1039918.775 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039918.730 units remaining) + - location: 35 (remaining gas: 1039919.370 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 e265fe568b31..25f8576d6c98 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,106 +7,99 @@ emitted operations big_map diff trace - - location: 12 (remaining gas: 1039953.950 units remaining) + - location: 13 (remaining gas: 1039953.950 units remaining) [ (Pair (Left (Left 0)) Unit) ] - - location: 13 (remaining gas: 1039953.875 units remaining) + - location: 13 (remaining gas: 1039953.905 units remaining) [ ] - - location: 14 (remaining gas: 1039953.800 units remaining) + - location: 14 (remaining gas: 1039953.860 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 15 (remaining gas: 1039922.930 units remaining) + - location: 15 (remaining gas: 1039923.020 units remaining) [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 16 (remaining gas: 1039922.855 units remaining) + - location: 16 (remaining gas: 1039922.975 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 17 (remaining gas: 1039891.985 units remaining) + - location: 17 (remaining gas: 1039892.135 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 18 (remaining gas: 1039891.905 units remaining) + - location: 18 (remaining gas: 1039892.085 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 21 (remaining gas: 1039891.760 units remaining) - [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 20 (remaining gas: 1039891.715 units remaining) + - location: 19 (remaining gas: 1039892.040 units remaining) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked + 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] + - location: 21 (remaining gas: 1039892 units remaining) [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 19 (remaining gas: 1039891.715 units remaining) + - location: 19 (remaining gas: 1039892 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 24 (remaining gas: 1039891.505 units remaining) + - location: 24 (remaining gas: 1039891.880 units remaining) [ -1 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 25 (remaining gas: 1039891.430 units remaining) + - location: 25 (remaining gas: 1039891.835 units remaining) [ True 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: -1 (remaining gas: 1039891.385 units remaining) - [ True - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 27 (remaining gas: 1039891.285 units remaining) + - location: 26 (remaining gas: 1039891.810 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: -1 (remaining gas: 1039891.240 units remaining) + - location: 27 (remaining gas: 1039891.765 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 32 (remaining gas: 1039891.165 units remaining) + - location: 32 (remaining gas: 1039891.720 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 33 (remaining gas: 1039860.295 units remaining) + - location: 33 (remaining gas: 1039860.880 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @selfpacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 36 (remaining gas: 1039860.085 units remaining) + - location: 36 (remaining gas: 1039860.760 units remaining) [ 0 ] - - location: 37 (remaining gas: 1039860.010 units remaining) + - location: 37 (remaining gas: 1039860.710 units remaining) [ True ] - - location: -1 (remaining gas: 1039859.965 units remaining) - [ True ] - - location: 39 (remaining gas: 1039859.865 units remaining) + - location: 38 (remaining gas: 1039860.685 units remaining) [ ] - - location: -1 (remaining gas: 1039859.820 units remaining) + - location: 39 (remaining gas: 1039860.640 units remaining) [ ] - - location: 44 (remaining gas: 1039859.745 units remaining) + - location: 44 (remaining gas: 1039860.595 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 45 (remaining gas: 1039859.670 units remaining) + - location: 45 (remaining gas: 1039860.550 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 48 (remaining gas: 1039859.595 units remaining) + - location: 48 (remaining gas: 1039860.505 units remaining) [ ] - - location: 49 (remaining gas: 1039859.520 units remaining) + - location: 49 (remaining gas: 1039860.460 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 50 (remaining gas: 1039859.445 units remaining) + - location: 50 (remaining gas: 1039860.415 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 53 (remaining gas: 1039859.370 units remaining) + - location: 53 (remaining gas: 1039860.370 units remaining) [ ] - - location: 54 (remaining gas: 1039859.295 units remaining) + - location: 54 (remaining gas: 1039860.325 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 55 (remaining gas: 1039859.220 units remaining) + - location: 55 (remaining gas: 1039860.280 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 60 (remaining gas: 1039859.145 units remaining) + - location: 60 (remaining gas: 1039860.235 units remaining) [ ] - - location: 61 (remaining gas: 1039859.070 units remaining) + - location: 61 (remaining gas: 1039860.190 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 62 (remaining gas: 1039858.995 units remaining) + - location: 62 (remaining gas: 1039860.145 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 65 (remaining gas: 1039858.920 units remaining) + - location: 65 (remaining gas: 1039860.100 units remaining) [ ] - - location: 66 (remaining gas: 1039858.845 units remaining) + - location: 66 (remaining gas: 1039860.055 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 67 (remaining gas: 1039858.770 units remaining) + - location: 67 (remaining gas: 1039860.010 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 76 (remaining gas: 1039858.695 units remaining) + - location: 76 (remaining gas: 1039859.965 units remaining) [ ] - - location: 77 (remaining gas: 1039858.620 units remaining) + - location: 77 (remaining gas: 1039859.920 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 78 (remaining gas: 1039858.545 units remaining) + - location: 78 (remaining gas: 1039859.875 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 87 (remaining gas: 1039858.470 units remaining) + - location: 87 (remaining gas: 1039859.830 units remaining) [ ] - - location: 88 (remaining gas: 1039858.395 units remaining) + - location: 88 (remaining gas: 1039859.785 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039858.320 units remaining) + - location: 89 (remaining gas: 1039859.740 units remaining) [ {} Unit ] - - location: 91 (remaining gas: 1039858.245 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039858.200 units remaining) + - location: 91 (remaining gas: 1039859.695 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 788c586005dd..683992bfb8b1 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,47 +7,43 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039985.287 units remaining) + - location: 9 (remaining gas: 1039985.287 units remaining) [ (Pair "" "hello" 0) ] - - location: 9 (remaining gas: 1039985.207 units remaining) + - location: 9 (remaining gas: 1039985.237 units remaining) [ (Pair "" "hello" 0) (Pair "" "hello" 0) ] - - location: 10 (remaining gas: 1039985.127 units remaining) + - location: 10 (remaining gas: 1039985.187 units remaining) [ (Pair "hello" 0) @storage (Pair "" "hello" 0) ] - - location: 13 (remaining gas: 1039984.972 units remaining) - [ "" @parameter ] - - location: 12 (remaining gas: 1039984.927 units remaining) + - location: 11 (remaining gas: 1039985.142 units remaining) + [ (Pair "" "hello" 0) ] + - location: 13 (remaining gas: 1039985.092 units remaining) [ "" @parameter ] - - location: 11 (remaining gas: 1039984.927 units remaining) + - location: 11 (remaining gas: 1039985.092 units remaining) [ (Pair "hello" 0) @storage "" @parameter ] - - location: 15 (remaining gas: 1039984.817 units remaining) + - location: 15 (remaining gas: 1039985.042 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage "" @parameter ] - - location: 16 (remaining gas: 1039984.737 units remaining) + - location: 16 (remaining gas: 1039984.992 units remaining) [ "hello" (Pair "hello" 0) @storage "" @parameter ] - - location: 17 (remaining gas: 1039984.662 units remaining) + - location: 17 (remaining gas: 1039984.947 units remaining) [ (Pair "hello" 0) @storage "" @parameter ] - - location: 18 (remaining gas: 1039984.582 units remaining) + - location: 18 (remaining gas: 1039984.897 units remaining) [ 0 @storage.n "" @parameter ] - - location: 19 (remaining gas: 1039984.512 units remaining) + - location: 19 (remaining gas: 1039984.857 units remaining) [ "" @parameter 0 @storage.n ] - - location: 20 (remaining gas: 1039984.437 units remaining) + - location: 20 (remaining gas: 1039984.812 units remaining) [ (Pair "" 0) @storage ] - - location: -1 (remaining gas: 1039984.392 units remaining) - [ (Pair "" 0) @storage ] - - location: 21 (remaining gas: 1039984.317 units remaining) + - location: 21 (remaining gas: 1039984.767 units remaining) [ {} (Pair "" 0) @storage ] - - location: 23 (remaining gas: 1039984.242 units remaining) - [ (Pair {} "" 0) ] - - location: -1 (remaining gas: 1039984.197 units remaining) + - location: 23 (remaining gas: 1039984.722 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 8eeb64ed5541..74f3ee3c4082 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,47 +7,43 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039985.257 units remaining) + - location: 9 (remaining gas: 1039985.257 units remaining) [ (Pair "abc" "hello" 0) ] - - location: 9 (remaining gas: 1039985.177 units remaining) + - location: 9 (remaining gas: 1039985.207 units remaining) [ (Pair "abc" "hello" 0) (Pair "abc" "hello" 0) ] - - location: 10 (remaining gas: 1039985.097 units remaining) + - location: 10 (remaining gas: 1039985.157 units remaining) [ (Pair "hello" 0) @storage (Pair "abc" "hello" 0) ] - - location: 13 (remaining gas: 1039984.942 units remaining) - [ "abc" @parameter ] - - location: 12 (remaining gas: 1039984.897 units remaining) + - location: 11 (remaining gas: 1039985.112 units remaining) + [ (Pair "abc" "hello" 0) ] + - location: 13 (remaining gas: 1039985.062 units remaining) [ "abc" @parameter ] - - location: 11 (remaining gas: 1039984.897 units remaining) + - location: 11 (remaining gas: 1039985.062 units remaining) [ (Pair "hello" 0) @storage "abc" @parameter ] - - location: 15 (remaining gas: 1039984.787 units remaining) + - location: 15 (remaining gas: 1039985.012 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage "abc" @parameter ] - - location: 16 (remaining gas: 1039984.707 units remaining) + - location: 16 (remaining gas: 1039984.962 units remaining) [ "hello" (Pair "hello" 0) @storage "abc" @parameter ] - - location: 17 (remaining gas: 1039984.632 units remaining) + - location: 17 (remaining gas: 1039984.917 units remaining) [ (Pair "hello" 0) @storage "abc" @parameter ] - - location: 18 (remaining gas: 1039984.552 units remaining) + - location: 18 (remaining gas: 1039984.867 units remaining) [ 0 @storage.n "abc" @parameter ] - - location: 19 (remaining gas: 1039984.482 units remaining) + - location: 19 (remaining gas: 1039984.827 units remaining) [ "abc" @parameter 0 @storage.n ] - - location: 20 (remaining gas: 1039984.407 units remaining) + - location: 20 (remaining gas: 1039984.782 units remaining) [ (Pair "abc" 0) @storage ] - - location: -1 (remaining gas: 1039984.362 units remaining) - [ (Pair "abc" 0) @storage ] - - location: 21 (remaining gas: 1039984.287 units remaining) + - location: 21 (remaining gas: 1039984.737 units remaining) [ {} (Pair "abc" 0) @storage ] - - location: 23 (remaining gas: 1039984.212 units remaining) - [ (Pair {} "abc" 0) ] - - location: -1 (remaining gas: 1039984.167 units remaining) + - location: 23 (remaining gas: 1039984.692 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 12710b319060..c50ded818858 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,47 +7,43 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039985.237 units remaining) + - location: 9 (remaining gas: 1039985.237 units remaining) [ (Pair "world" "hello" 0) ] - - location: 9 (remaining gas: 1039985.157 units remaining) + - location: 9 (remaining gas: 1039985.187 units remaining) [ (Pair "world" "hello" 0) (Pair "world" "hello" 0) ] - - location: 10 (remaining gas: 1039985.077 units remaining) + - location: 10 (remaining gas: 1039985.137 units remaining) [ (Pair "hello" 0) @storage (Pair "world" "hello" 0) ] - - location: 13 (remaining gas: 1039984.922 units remaining) - [ "world" @parameter ] - - location: 12 (remaining gas: 1039984.877 units remaining) + - location: 11 (remaining gas: 1039985.092 units remaining) + [ (Pair "world" "hello" 0) ] + - location: 13 (remaining gas: 1039985.042 units remaining) [ "world" @parameter ] - - location: 11 (remaining gas: 1039984.877 units remaining) + - location: 11 (remaining gas: 1039985.042 units remaining) [ (Pair "hello" 0) @storage "world" @parameter ] - - location: 15 (remaining gas: 1039984.767 units remaining) + - location: 15 (remaining gas: 1039984.992 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage "world" @parameter ] - - location: 16 (remaining gas: 1039984.687 units remaining) + - location: 16 (remaining gas: 1039984.942 units remaining) [ "hello" (Pair "hello" 0) @storage "world" @parameter ] - - location: 17 (remaining gas: 1039984.612 units remaining) + - location: 17 (remaining gas: 1039984.897 units remaining) [ (Pair "hello" 0) @storage "world" @parameter ] - - location: 18 (remaining gas: 1039984.532 units remaining) + - location: 18 (remaining gas: 1039984.847 units remaining) [ 0 @storage.n "world" @parameter ] - - location: 19 (remaining gas: 1039984.462 units remaining) + - location: 19 (remaining gas: 1039984.807 units remaining) [ "world" @parameter 0 @storage.n ] - - location: 20 (remaining gas: 1039984.387 units remaining) + - location: 20 (remaining gas: 1039984.762 units remaining) [ (Pair "world" 0) @storage ] - - location: -1 (remaining gas: 1039984.342 units remaining) - [ (Pair "world" 0) @storage ] - - location: 21 (remaining gas: 1039984.267 units remaining) + - location: 21 (remaining gas: 1039984.717 units remaining) [ {} (Pair "world" 0) @storage ] - - location: 23 (remaining gas: 1039984.192 units remaining) - [ (Pair {} "world" 0) ] - - location: -1 (remaining gas: 1039984.147 units remaining) + - location: 23 (remaining gas: 1039984.672 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 9c668de8acf7..5e6d463e0b02 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,44 +7,40 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039986.051 units remaining) + - location: 9 (remaining gas: 1039986.051 units remaining) [ (Pair 1 "hello" 0) ] - - location: 9 (remaining gas: 1039985.971 units remaining) + - location: 9 (remaining gas: 1039986.001 units remaining) [ (Pair 1 "hello" 0) (Pair 1 "hello" 0) ] - - location: 10 (remaining gas: 1039985.891 units remaining) + - location: 10 (remaining gas: 1039985.951 units remaining) [ (Pair "hello" 0) @storage (Pair 1 "hello" 0) ] - - location: 13 (remaining gas: 1039985.736 units remaining) - [ 1 @parameter ] - - location: 12 (remaining gas: 1039985.691 units remaining) + - location: 11 (remaining gas: 1039985.906 units remaining) + [ (Pair 1 "hello" 0) ] + - location: 13 (remaining gas: 1039985.856 units remaining) [ 1 @parameter ] - - location: 11 (remaining gas: 1039985.691 units remaining) + - location: 11 (remaining gas: 1039985.856 units remaining) [ (Pair "hello" 0) @storage 1 @parameter ] - - location: 15 (remaining gas: 1039985.581 units remaining) + - location: 15 (remaining gas: 1039985.806 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage 1 @parameter ] - - location: 16 (remaining gas: 1039985.501 units remaining) + - location: 16 (remaining gas: 1039985.756 units remaining) [ 0 (Pair "hello" 0) @storage 1 @parameter ] - - location: 17 (remaining gas: 1039985.426 units remaining) + - location: 17 (remaining gas: 1039985.711 units remaining) [ (Pair "hello" 0) @storage 1 @parameter ] - - location: 18 (remaining gas: 1039985.346 units remaining) + - location: 18 (remaining gas: 1039985.661 units remaining) [ "hello" @storage.s 1 @parameter ] - - location: 19 (remaining gas: 1039985.271 units remaining) + - location: 19 (remaining gas: 1039985.616 units remaining) [ (Pair "hello" 1) @storage ] - - location: -1 (remaining gas: 1039985.226 units remaining) - [ (Pair "hello" 1) @storage ] - - location: 20 (remaining gas: 1039985.151 units remaining) + - location: 20 (remaining gas: 1039985.571 units remaining) [ {} (Pair "hello" 1) @storage ] - - location: 22 (remaining gas: 1039985.076 units remaining) - [ (Pair {} "hello" 1) ] - - location: -1 (remaining gas: 1039985.031 units remaining) + - location: 22 (remaining gas: 1039985.526 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 394c1d716e4b..bc9adfa538ca 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,44 +7,40 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039986.051 units remaining) + - location: 9 (remaining gas: 1039986.051 units remaining) [ (Pair 3 "hello" 500) ] - - location: 9 (remaining gas: 1039985.971 units remaining) + - location: 9 (remaining gas: 1039986.001 units remaining) [ (Pair 3 "hello" 500) (Pair 3 "hello" 500) ] - - location: 10 (remaining gas: 1039985.891 units remaining) + - location: 10 (remaining gas: 1039985.951 units remaining) [ (Pair "hello" 500) @storage (Pair 3 "hello" 500) ] - - location: 13 (remaining gas: 1039985.736 units remaining) - [ 3 @parameter ] - - location: 12 (remaining gas: 1039985.691 units remaining) + - location: 11 (remaining gas: 1039985.906 units remaining) + [ (Pair 3 "hello" 500) ] + - location: 13 (remaining gas: 1039985.856 units remaining) [ 3 @parameter ] - - location: 11 (remaining gas: 1039985.691 units remaining) + - location: 11 (remaining gas: 1039985.856 units remaining) [ (Pair "hello" 500) @storage 3 @parameter ] - - location: 15 (remaining gas: 1039985.581 units remaining) + - location: 15 (remaining gas: 1039985.806 units remaining) [ (Pair "hello" 500) @storage (Pair "hello" 500) @storage 3 @parameter ] - - location: 16 (remaining gas: 1039985.501 units remaining) + - location: 16 (remaining gas: 1039985.756 units remaining) [ 500 (Pair "hello" 500) @storage 3 @parameter ] - - location: 17 (remaining gas: 1039985.426 units remaining) + - location: 17 (remaining gas: 1039985.711 units remaining) [ (Pair "hello" 500) @storage 3 @parameter ] - - location: 18 (remaining gas: 1039985.346 units remaining) + - location: 18 (remaining gas: 1039985.661 units remaining) [ "hello" @storage.s 3 @parameter ] - - location: 19 (remaining gas: 1039985.271 units remaining) + - location: 19 (remaining gas: 1039985.616 units remaining) [ (Pair "hello" 3) @storage ] - - location: -1 (remaining gas: 1039985.226 units remaining) - [ (Pair "hello" 3) @storage ] - - location: 20 (remaining gas: 1039985.151 units remaining) + - location: 20 (remaining gas: 1039985.571 units remaining) [ {} (Pair "hello" 3) @storage ] - - location: 22 (remaining gas: 1039985.076 units remaining) - [ (Pair {} "hello" 3) ] - - location: -1 (remaining gas: 1039985.031 units remaining) + - location: 22 (remaining gas: 1039985.526 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 a8e2767f2cae..d9c0a9eccb58 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,44 +7,40 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039986.051 units remaining) + - location: 9 (remaining gas: 1039986.051 units remaining) [ (Pair 100 "hello" 7) ] - - location: 9 (remaining gas: 1039985.971 units remaining) + - location: 9 (remaining gas: 1039986.001 units remaining) [ (Pair 100 "hello" 7) (Pair 100 "hello" 7) ] - - location: 10 (remaining gas: 1039985.891 units remaining) + - location: 10 (remaining gas: 1039985.951 units remaining) [ (Pair "hello" 7) @storage (Pair 100 "hello" 7) ] - - location: 13 (remaining gas: 1039985.736 units remaining) - [ 100 @parameter ] - - location: 12 (remaining gas: 1039985.691 units remaining) + - location: 11 (remaining gas: 1039985.906 units remaining) + [ (Pair 100 "hello" 7) ] + - location: 13 (remaining gas: 1039985.856 units remaining) [ 100 @parameter ] - - location: 11 (remaining gas: 1039985.691 units remaining) + - location: 11 (remaining gas: 1039985.856 units remaining) [ (Pair "hello" 7) @storage 100 @parameter ] - - location: 15 (remaining gas: 1039985.581 units remaining) + - location: 15 (remaining gas: 1039985.806 units remaining) [ (Pair "hello" 7) @storage (Pair "hello" 7) @storage 100 @parameter ] - - location: 16 (remaining gas: 1039985.501 units remaining) + - location: 16 (remaining gas: 1039985.756 units remaining) [ 7 (Pair "hello" 7) @storage 100 @parameter ] - - location: 17 (remaining gas: 1039985.426 units remaining) + - location: 17 (remaining gas: 1039985.711 units remaining) [ (Pair "hello" 7) @storage 100 @parameter ] - - location: 18 (remaining gas: 1039985.346 units remaining) + - location: 18 (remaining gas: 1039985.661 units remaining) [ "hello" @storage.s 100 @parameter ] - - location: 19 (remaining gas: 1039985.271 units remaining) + - location: 19 (remaining gas: 1039985.616 units remaining) [ (Pair "hello" 100) @storage ] - - location: -1 (remaining gas: 1039985.226 units remaining) - [ (Pair "hello" 100) @storage ] - - location: 20 (remaining gas: 1039985.151 units remaining) + - location: 20 (remaining gas: 1039985.571 units remaining) [ {} (Pair "hello" 100) @storage ] - - location: 22 (remaining gas: 1039985.076 units remaining) - [ (Pair {} "hello" 100) ] - - location: -1 (remaining gas: 1039985.031 units remaining) + - location: 22 (remaining gas: 1039985.526 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 ccb6e7ce327f..a7e5f0418ec2 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039993.748 units remaining) + - location: 9 (remaining gas: 1039993.748 units remaining) [ (Pair { "a" ; "b" ; "c" } {}) ] - - location: 9 (remaining gas: 1039993.668 units remaining) + - location: 9 (remaining gas: 1039993.698 units remaining) [ { "a" ; "b" ; "c" } @parameter ] - - location: 10 (remaining gas: 1039993.593 units remaining) + - location: 10 (remaining gas: 1039993.653 units remaining) [ {} { "a" ; "b" ; "c" } @parameter ] - - location: 12 (remaining gas: 1039993.518 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039993.473 units remaining) + - location: 12 (remaining gas: 1039993.608 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 3b400448e706..40171028d582 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039994.151 units remaining) + - location: 9 (remaining gas: 1039994.151 units remaining) [ (Pair { "asdf" ; "bcde" } {}) ] - - location: 9 (remaining gas: 1039994.071 units remaining) + - location: 9 (remaining gas: 1039994.101 units remaining) [ { "asdf" ; "bcde" } @parameter ] - - location: 10 (remaining gas: 1039993.996 units remaining) + - location: 10 (remaining gas: 1039994.056 units remaining) [ {} { "asdf" ; "bcde" } @parameter ] - - location: 12 (remaining gas: 1039993.921 units remaining) - [ (Pair {} { "asdf" ; "bcde" }) ] - - location: -1 (remaining gas: 1039993.876 units remaining) + - location: 12 (remaining gas: 1039994.011 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 0902f6d7fa41..996aa1c8b262 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,15 +7,13 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039995.020 units remaining) + - location: 9 (remaining gas: 1039995.020 units remaining) [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039994.940 units remaining) + - location: 9 (remaining gas: 1039994.970 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039994.865 units remaining) + - location: 10 (remaining gas: 1039994.925 units remaining) [ {} {} @parameter ] - - location: 12 (remaining gas: 1039994.790 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039994.745 units remaining) + - location: 12 (remaining gas: 1039994.880 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 c13f5484cb97..59e62a8ebc60 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,39 +7,41 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039990.050 units remaining) + - location: 8 (remaining gas: 1039990.050 units remaining) [ (Pair { -100 ; 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039989.970 units remaining) + - location: 8 (remaining gas: 1039990 units remaining) [ { -100 ; 1 ; 2 ; 3 } @parameter ] - - location: 9 (remaining gas: 1039989.895 units remaining) + - location: 9 (remaining gas: 1039989.955 units remaining) [ 0 { -100 ; 1 ; 2 ; 3 } @parameter ] - - location: 12 (remaining gas: 1039989.825 units remaining) + - location: 12 (remaining gas: 1039989.915 units remaining) [ { -100 ; 1 ; 2 ; 3 } @parameter 0 ] - - location: 15 (remaining gas: 1039989.461 units remaining) - [ -100 ] - - location: 14 (remaining gas: 1039989.416 units remaining) + - location: 13 (remaining gas: 1039989.691 units remaining) + [ -100 @parameter.elt + 0 ] + - location: 15 (remaining gas: 1039989.611 units remaining) [ -100 ] - - location: 15 (remaining gas: 1039989.306 units remaining) - [ -99 ] - - location: 14 (remaining gas: 1039989.261 units remaining) + - location: 13 (remaining gas: 1039989.611 units remaining) + [ 1 @parameter.elt + -100 ] + - location: 15 (remaining gas: 1039989.531 units remaining) [ -99 ] - - location: 15 (remaining gas: 1039989.151 units remaining) + - location: 13 (remaining gas: 1039989.531 units remaining) + [ 2 @parameter.elt + -99 ] + - location: 15 (remaining gas: 1039989.451 units remaining) [ -97 ] - - location: 14 (remaining gas: 1039989.106 units remaining) - [ -97 ] - - location: 15 (remaining gas: 1039988.996 units remaining) - [ -94 ] - - location: 14 (remaining gas: 1039988.951 units remaining) + - location: 13 (remaining gas: 1039989.451 units remaining) + [ 3 @parameter.elt + -97 ] + - location: 15 (remaining gas: 1039989.371 units remaining) [ -94 ] - - location: 13 (remaining gas: 1039988.951 units remaining) + - location: 13 (remaining gas: 1039989.371 units remaining) [ -94 ] - - location: 16 (remaining gas: 1039988.876 units remaining) + - location: 16 (remaining gas: 1039989.326 units remaining) [ {} -94 ] - - location: 18 (remaining gas: 1039988.801 units remaining) - [ (Pair {} -94) ] - - location: -1 (remaining gas: 1039988.756 units remaining) + - location: 18 (remaining gas: 1039989.281 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 b69f4bd93f14..452ca4aa6f9a 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,27 +7,26 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.460 units remaining) + - location: 8 (remaining gas: 1039991.460 units remaining) [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039991.380 units remaining) + - location: 8 (remaining gas: 1039991.410 units remaining) [ { 1 } @parameter ] - - location: 9 (remaining gas: 1039991.305 units remaining) + - location: 9 (remaining gas: 1039991.365 units remaining) [ 0 { 1 } @parameter ] - - location: 12 (remaining gas: 1039991.235 units remaining) + - location: 12 (remaining gas: 1039991.325 units remaining) [ { 1 } @parameter 0 ] - - location: 15 (remaining gas: 1039990.979 units remaining) - [ 1 ] - - location: 14 (remaining gas: 1039990.934 units remaining) + - location: 13 (remaining gas: 1039991.209 units remaining) + [ 1 @parameter.elt + 0 ] + - location: 15 (remaining gas: 1039991.129 units remaining) [ 1 ] - - location: 13 (remaining gas: 1039990.934 units remaining) + - location: 13 (remaining gas: 1039991.129 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039990.859 units remaining) + - location: 16 (remaining gas: 1039991.084 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039990.784 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039990.739 units remaining) + - location: 18 (remaining gas: 1039991.039 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 4b72060687e4..4401d4783aa0 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,23 +7,21 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.780 units remaining) + - location: 8 (remaining gas: 1039991.780 units remaining) [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039991.700 units remaining) + - location: 8 (remaining gas: 1039991.730 units remaining) [ {} @parameter ] - - location: 9 (remaining gas: 1039991.625 units remaining) + - location: 9 (remaining gas: 1039991.685 units remaining) [ 0 {} @parameter ] - - location: 12 (remaining gas: 1039991.555 units remaining) + - location: 12 (remaining gas: 1039991.645 units remaining) [ {} @parameter 0 ] - - location: 13 (remaining gas: 1039991.445 units remaining) + - location: 13 (remaining gas: 1039991.565 units remaining) [ 0 ] - - location: 16 (remaining gas: 1039991.370 units remaining) + - location: 16 (remaining gas: 1039991.520 units remaining) [ {} 0 ] - - location: 18 (remaining gas: 1039991.295 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039991.250 units remaining) + - location: 18 (remaining gas: 1039991.475 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 c6752067686c..3491f319e40d 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,62 +7,55 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039980.147 units remaining) + - location: 11 (remaining gas: 1039980.147 units remaining) [ (Pair "" { "Hello" ; "World" } None) ] - - location: 11 (remaining gas: 1039980.067 units remaining) + - location: 11 (remaining gas: 1039980.097 units remaining) [ (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 12 (remaining gas: 1039979.987 units remaining) + - location: 12 (remaining gas: 1039980.047 units remaining) [ (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 13 (remaining gas: 1039979.907 units remaining) + - location: 13 (remaining gas: 1039979.997 units remaining) [ "" @parameter (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: 17 (remaining gas: 1039979.722 units remaining) - [ (Pair { "Hello" ; "World" } None) @storage - (Pair "" { "Hello" ; "World" } None) ] - - location: 18 (remaining gas: 1039979.642 units remaining) - [ { "Hello" ; "World" } + - location: 14 (remaining gas: 1039979.952 units remaining) + [ (Pair "" { "Hello" ; "World" } None) (Pair "" { "Hello" ; "World" } None) ] - - location: -1 (remaining gas: 1039979.597 units remaining) - [ { "Hello" ; "World" } + - location: 17 (remaining gas: 1039979.902 units remaining) + [ (Pair { "Hello" ; "World" } None) @storage (Pair "" { "Hello" ; "World" } None) ] - - location: 15 (remaining gas: 1039979.552 units remaining) + - location: 18 (remaining gas: 1039979.852 units remaining) [ { "Hello" ; "World" } (Pair "" { "Hello" ; "World" } None) ] - - location: 14 (remaining gas: 1039979.552 units remaining) + - location: 14 (remaining gas: 1039979.852 units remaining) [ "" @parameter { "Hello" ; "World" } (Pair "" { "Hello" ; "World" } None) ] - - location: 19 (remaining gas: 1039979.442 units remaining) + - location: 19 (remaining gas: 1039979.772 units remaining) [ False (Pair "" { "Hello" ; "World" } None) ] - - location: 20 (remaining gas: 1039979.367 units remaining) + - location: 20 (remaining gas: 1039979.727 units remaining) [ (Some False) (Pair "" { "Hello" ; "World" } None) ] - - location: 24 (remaining gas: 1039979.182 units remaining) + - location: 21 (remaining gas: 1039979.682 units remaining) + [ (Pair "" { "Hello" ; "World" } None) ] + - location: 24 (remaining gas: 1039979.632 units remaining) [ (Pair { "Hello" ; "World" } None) @storage ] - - location: 25 (remaining gas: 1039979.102 units remaining) - [ { "Hello" ; "World" } ] - - location: -1 (remaining gas: 1039979.057 units remaining) + - location: 25 (remaining gas: 1039979.582 units remaining) [ { "Hello" ; "World" } ] - - location: 22 (remaining gas: 1039979.012 units remaining) - [ { "Hello" ; "World" } ] - - location: 21 (remaining gas: 1039979.012 units remaining) + - location: 21 (remaining gas: 1039979.582 units remaining) [ (Some False) { "Hello" ; "World" } ] - - location: 26 (remaining gas: 1039978.942 units remaining) + - location: 26 (remaining gas: 1039979.542 units remaining) [ { "Hello" ; "World" } (Some False) ] - - location: 27 (remaining gas: 1039978.867 units remaining) + - location: 27 (remaining gas: 1039979.497 units remaining) [ (Pair { "Hello" ; "World" } (Some False)) ] - - location: 28 (remaining gas: 1039978.792 units remaining) + - location: 28 (remaining gas: 1039979.452 units remaining) [ {} (Pair { "Hello" ; "World" } (Some False)) ] - - location: 30 (remaining gas: 1039978.717 units remaining) - [ (Pair {} { "Hello" ; "World" } (Some False)) ] - - location: -1 (remaining gas: 1039978.672 units remaining) + - location: 30 (remaining gas: 1039979.407 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 e6223b3721fc..077affb28156 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,62 +7,55 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039980.662 units remaining) + - location: 11 (remaining gas: 1039980.662 units remaining) [ (Pair "Hi" { "Hi" } None) ] - - location: 11 (remaining gas: 1039980.582 units remaining) + - location: 11 (remaining gas: 1039980.612 units remaining) [ (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 12 (remaining gas: 1039980.502 units remaining) + - location: 12 (remaining gas: 1039980.562 units remaining) [ (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 13 (remaining gas: 1039980.422 units remaining) + - location: 13 (remaining gas: 1039980.512 units remaining) [ "Hi" @parameter (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: 17 (remaining gas: 1039980.237 units remaining) - [ (Pair { "Hi" } None) @storage - (Pair "Hi" { "Hi" } None) ] - - location: 18 (remaining gas: 1039980.157 units remaining) - [ { "Hi" } + - location: 14 (remaining gas: 1039980.467 units remaining) + [ (Pair "Hi" { "Hi" } None) (Pair "Hi" { "Hi" } None) ] - - location: -1 (remaining gas: 1039980.112 units remaining) - [ { "Hi" } + - location: 17 (remaining gas: 1039980.417 units remaining) + [ (Pair { "Hi" } None) @storage (Pair "Hi" { "Hi" } None) ] - - location: 15 (remaining gas: 1039980.067 units remaining) + - location: 18 (remaining gas: 1039980.367 units remaining) [ { "Hi" } (Pair "Hi" { "Hi" } None) ] - - location: 14 (remaining gas: 1039980.067 units remaining) + - location: 14 (remaining gas: 1039980.367 units remaining) [ "Hi" @parameter { "Hi" } (Pair "Hi" { "Hi" } None) ] - - location: 19 (remaining gas: 1039979.957 units remaining) + - location: 19 (remaining gas: 1039980.287 units remaining) [ True (Pair "Hi" { "Hi" } None) ] - - location: 20 (remaining gas: 1039979.882 units remaining) + - location: 20 (remaining gas: 1039980.242 units remaining) [ (Some True) (Pair "Hi" { "Hi" } None) ] - - location: 24 (remaining gas: 1039979.697 units remaining) + - location: 21 (remaining gas: 1039980.197 units remaining) + [ (Pair "Hi" { "Hi" } None) ] + - location: 24 (remaining gas: 1039980.147 units remaining) [ (Pair { "Hi" } None) @storage ] - - location: 25 (remaining gas: 1039979.617 units remaining) - [ { "Hi" } ] - - location: -1 (remaining gas: 1039979.572 units remaining) + - location: 25 (remaining gas: 1039980.097 units remaining) [ { "Hi" } ] - - location: 22 (remaining gas: 1039979.527 units remaining) - [ { "Hi" } ] - - location: 21 (remaining gas: 1039979.527 units remaining) + - location: 21 (remaining gas: 1039980.097 units remaining) [ (Some True) { "Hi" } ] - - location: 26 (remaining gas: 1039979.457 units remaining) + - location: 26 (remaining gas: 1039980.057 units remaining) [ { "Hi" } (Some True) ] - - location: 27 (remaining gas: 1039979.382 units remaining) + - location: 27 (remaining gas: 1039980.012 units remaining) [ (Pair { "Hi" } (Some True)) ] - - location: 28 (remaining gas: 1039979.307 units remaining) + - location: 28 (remaining gas: 1039979.967 units remaining) [ {} (Pair { "Hi" } (Some True)) ] - - location: 30 (remaining gas: 1039979.232 units remaining) - [ (Pair {} { "Hi" } (Some True)) ] - - location: -1 (remaining gas: 1039979.187 units remaining) + - location: 30 (remaining gas: 1039979.922 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 a8236e70a0bd..435e4511d9a5 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,62 +7,55 @@ emitted operations big_map diff trace - - location: 10 (remaining gas: 1039981.016 units remaining) + - location: 11 (remaining gas: 1039981.016 units remaining) [ (Pair "Hi" {} None) ] - - location: 11 (remaining gas: 1039980.936 units remaining) + - location: 11 (remaining gas: 1039980.966 units remaining) [ (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 12 (remaining gas: 1039980.856 units remaining) + - location: 12 (remaining gas: 1039980.916 units remaining) [ (Pair "Hi" {} None) (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 13 (remaining gas: 1039980.776 units remaining) + - location: 13 (remaining gas: 1039980.866 units remaining) [ "Hi" @parameter (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: 17 (remaining gas: 1039980.591 units remaining) - [ (Pair {} None) @storage - (Pair "Hi" {} None) ] - - location: 18 (remaining gas: 1039980.511 units remaining) - [ {} + - location: 14 (remaining gas: 1039980.821 units remaining) + [ (Pair "Hi" {} None) (Pair "Hi" {} None) ] - - location: -1 (remaining gas: 1039980.466 units remaining) - [ {} + - location: 17 (remaining gas: 1039980.771 units remaining) + [ (Pair {} None) @storage (Pair "Hi" {} None) ] - - location: 15 (remaining gas: 1039980.421 units remaining) + - location: 18 (remaining gas: 1039980.721 units remaining) [ {} (Pair "Hi" {} None) ] - - location: 14 (remaining gas: 1039980.421 units remaining) + - location: 14 (remaining gas: 1039980.721 units remaining) [ "Hi" @parameter {} (Pair "Hi" {} None) ] - - location: 19 (remaining gas: 1039980.311 units remaining) + - location: 19 (remaining gas: 1039980.641 units remaining) [ False (Pair "Hi" {} None) ] - - location: 20 (remaining gas: 1039980.236 units remaining) + - location: 20 (remaining gas: 1039980.596 units remaining) [ (Some False) (Pair "Hi" {} None) ] - - location: 24 (remaining gas: 1039980.051 units remaining) + - location: 21 (remaining gas: 1039980.551 units remaining) + [ (Pair "Hi" {} None) ] + - location: 24 (remaining gas: 1039980.501 units remaining) [ (Pair {} None) @storage ] - - location: 25 (remaining gas: 1039979.971 units remaining) - [ {} ] - - location: -1 (remaining gas: 1039979.926 units remaining) + - location: 25 (remaining gas: 1039980.451 units remaining) [ {} ] - - location: 22 (remaining gas: 1039979.881 units remaining) - [ {} ] - - location: 21 (remaining gas: 1039979.881 units remaining) + - location: 21 (remaining gas: 1039980.451 units remaining) [ (Some False) {} ] - - location: 26 (remaining gas: 1039979.811 units remaining) + - location: 26 (remaining gas: 1039980.411 units remaining) [ {} (Some False) ] - - location: 27 (remaining gas: 1039979.736 units remaining) + - location: 27 (remaining gas: 1039980.366 units remaining) [ (Pair {} (Some False)) ] - - location: 28 (remaining gas: 1039979.661 units remaining) + - location: 28 (remaining gas: 1039980.321 units remaining) [ {} (Pair {} (Some False)) ] - - location: 30 (remaining gas: 1039979.586 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039979.541 units remaining) + - location: 30 (remaining gas: 1039980.276 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 abe336a89b9d..ba18bb3982d9 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039991.900 units remaining) + - location: 8 (remaining gas: 1039991.900 units remaining) [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] - - location: 8 (remaining gas: 1039991.820 units remaining) + - location: 8 (remaining gas: 1039991.850 units remaining) [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } @parameter ] - - location: 9 (remaining gas: 1039991.740 units remaining) + - location: 9 (remaining gas: 1039991.800 units remaining) [ 6 ] - - location: 10 (remaining gas: 1039991.665 units remaining) + - location: 10 (remaining gas: 1039991.755 units remaining) [ {} 6 ] - - location: 12 (remaining gas: 1039991.590 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039991.545 units remaining) + - location: 12 (remaining gas: 1039991.710 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 ad6ba2011443..2cf91aee0851 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.310 units remaining) + - location: 8 (remaining gas: 1039993.310 units remaining) [ (Pair { 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039993.230 units remaining) + - location: 8 (remaining gas: 1039993.260 units remaining) [ { 1 ; 2 ; 3 } @parameter ] - - location: 9 (remaining gas: 1039993.150 units remaining) + - location: 9 (remaining gas: 1039993.210 units remaining) [ 3 ] - - location: 10 (remaining gas: 1039993.075 units remaining) + - location: 10 (remaining gas: 1039993.165 units remaining) [ {} 3 ] - - location: 12 (remaining gas: 1039993 units remaining) - [ (Pair {} 3) ] - - location: -1 (remaining gas: 1039992.955 units remaining) + - location: 12 (remaining gas: 1039993.120 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 5dd610a3149d..bbfae5c536d8 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.250 units remaining) + - location: 8 (remaining gas: 1039994.250 units remaining) [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039994.170 units remaining) + - location: 8 (remaining gas: 1039994.200 units remaining) [ { 1 } @parameter ] - - location: 9 (remaining gas: 1039994.090 units remaining) + - location: 9 (remaining gas: 1039994.150 units remaining) [ 1 ] - - location: 10 (remaining gas: 1039994.015 units remaining) + - location: 10 (remaining gas: 1039994.105 units remaining) [ {} 1 ] - - location: 12 (remaining gas: 1039993.940 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039993.895 units remaining) + - location: 12 (remaining gas: 1039994.060 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 6dadbea09d41..ba1f1d8da796 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.570 units remaining) + - location: 8 (remaining gas: 1039994.570 units remaining) [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039994.490 units remaining) + - location: 8 (remaining gas: 1039994.520 units remaining) [ {} @parameter ] - - location: 9 (remaining gas: 1039994.410 units remaining) + - location: 9 (remaining gas: 1039994.470 units remaining) [ 0 ] - - location: 10 (remaining gas: 1039994.335 units remaining) + - location: 10 (remaining gas: 1039994.425 units remaining) [ {} 0 ] - - location: 12 (remaining gas: 1039994.260 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039994.215 units remaining) + - location: 12 (remaining gas: 1039994.380 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 81ce83664603..7fbf916c3222 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,21 +7,18 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039993.690 units remaining) + - location: 8 (remaining gas: 1039993.690 units remaining) [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] - - location: 8 (remaining gas: 1039993.610 units remaining) + - location: 8 (remaining gas: 1039993.640 units remaining) [ 0x48656c6c6f2c20776f726c6421 @parameter ] - - location: 9 (remaining gas: 1039991.764 units remaining) + - location: 9 (remaining gas: 1039991.824 units remaining) [ 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722 ] - - location: 10 (remaining gas: 1039991.689 units remaining) + - location: 10 (remaining gas: 1039991.779 units remaining) [ (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] - - location: 11 (remaining gas: 1039991.614 units remaining) + - location: 11 (remaining gas: 1039991.734 units remaining) [ {} (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] - - location: 13 (remaining gas: 1039991.539 units remaining) - [ (Pair {} - (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722)) ] - - location: -1 (remaining gas: 1039991.494 units remaining) + - location: 13 (remaining gas: 1039991.689 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 c9dfc15d71a2..4c82b865566d 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Left (Pair 0 0)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Left (Pair 0 0)) @parameter ] - - location: 17 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 0 0) @parameter.left ] + - location: 17 (remaining gas: 1039988.690 units remaining) [ 0 0 ] - - location: 18 (remaining gas: 1039988.420 units remaining) + - location: 18 (remaining gas: 1039988.540 units remaining) [ 0 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 c24fb94c1cb3..57173cbb2c8b 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Left (Pair 0 1)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Left (Pair 0 1)) @parameter ] - - location: 17 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 0 1) @parameter.left ] + - location: 17 (remaining gas: 1039988.690 units remaining) [ 0 1 ] - - location: 18 (remaining gas: 1039988.420 units remaining) + - location: 18 (remaining gas: 1039988.540 units remaining) [ 0 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 2f154fc69ed8..d8e54f2cca7b 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Left (Pair 1 2)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Left (Pair 1 2)) @parameter ] - - location: 17 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 1 2) @parameter.left ] + - location: 17 (remaining gas: 1039988.690 units remaining) [ 1 2 ] - - location: 18 (remaining gas: 1039988.420 units remaining) + - location: 18 (remaining gas: 1039988.540 units remaining) [ 4 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 4 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 4) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 4) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 4)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 c514f82eb42e..613b9d019e95 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Left (Pair 15 2)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Left (Pair 15 2)) @parameter ] - - location: 17 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 15 2) @parameter.left ] + - location: 17 (remaining gas: 1039988.690 units remaining) [ 15 2 ] - - location: 18 (remaining gas: 1039988.420 units remaining) + - location: 18 (remaining gas: 1039988.540 units remaining) [ 60 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 60 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 60) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 60) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 60)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 c371fa54339e..a99fb2136775 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Left (Pair 8 1)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Left (Pair 8 1)) @parameter ] - - location: 17 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 8 1) @parameter.left ] + - location: 17 (remaining gas: 1039988.690 units remaining) [ 8 1 ] - - location: 18 (remaining gas: 1039988.420 units remaining) + - location: 18 (remaining gas: 1039988.540 units remaining) [ 16 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 16 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 16) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 16) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 16)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 8272399da6ef..979021057d4b 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Right (Pair 0 0)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Right (Pair 0 0)) @parameter ] - - location: 20 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 0 0) @parameter.right ] + - location: 20 (remaining gas: 1039988.690 units remaining) [ 0 0 ] - - location: 21 (remaining gas: 1039988.420 units remaining) + - location: 21 (remaining gas: 1039988.540 units remaining) [ 0 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 bce7fb20b4e5..e753647a009f 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Right (Pair 0 1)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Right (Pair 0 1)) @parameter ] - - location: 20 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 0 1) @parameter.right ] + - location: 20 (remaining gas: 1039988.690 units remaining) [ 0 1 ] - - location: 21 (remaining gas: 1039988.420 units remaining) + - location: 21 (remaining gas: 1039988.540 units remaining) [ 0 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 3970ba390686..df488686f70a 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Right (Pair 1 2)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Right (Pair 1 2)) @parameter ] - - location: 20 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 1 2) @parameter.right ] + - location: 20 (remaining gas: 1039988.690 units remaining) [ 1 2 ] - - location: 21 (remaining gas: 1039988.420 units remaining) + - location: 21 (remaining gas: 1039988.540 units remaining) [ 0 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 96ef5b5c91b7..a93b908db4cc 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Right (Pair 15 2)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Right (Pair 15 2)) @parameter ] - - location: 20 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 15 2) @parameter.right ] + - location: 20 (remaining gas: 1039988.690 units remaining) [ 15 2 ] - - location: 21 (remaining gas: 1039988.420 units remaining) + - location: 21 (remaining gas: 1039988.540 units remaining) [ 3 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 3 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 3) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 3) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 3)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 a22dd9bfcca0..d3f616a52faf 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,22 @@ emitted operations big_map diff trace - - location: 13 (remaining gas: 1039988.820 units remaining) + - location: 14 (remaining gas: 1039988.820 units remaining) [ (Pair (Right (Pair 8 1)) None) ] - - location: 14 (remaining gas: 1039988.740 units remaining) + - location: 14 (remaining gas: 1039988.770 units remaining) [ (Right (Pair 8 1)) @parameter ] - - location: 20 (remaining gas: 1039988.600 units remaining) + - location: 15 (remaining gas: 1039988.740 units remaining) + [ (Pair 8 1) @parameter.right ] + - location: 20 (remaining gas: 1039988.690 units remaining) [ 8 1 ] - - location: 21 (remaining gas: 1039988.420 units remaining) + - location: 21 (remaining gas: 1039988.540 units remaining) [ 4 ] - - location: -1 (remaining gas: 1039988.375 units remaining) - [ 4 ] - - location: 22 (remaining gas: 1039988.300 units remaining) + - location: 22 (remaining gas: 1039988.495 units remaining) [ (Some 4) ] - - location: 23 (remaining gas: 1039988.225 units remaining) + - location: 23 (remaining gas: 1039988.450 units remaining) [ {} (Some 4) ] - - location: 25 (remaining gas: 1039988.150 units remaining) - [ (Pair {} (Some 4)) ] - - location: -1 (remaining gas: 1039988.105 units remaining) + - location: 25 (remaining gas: 1039988.405 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 f9281bfccea7..ccf9dbeea183 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,27 +7,23 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.315 units remaining) + - location: 10 (remaining gas: 1039988.315 units remaining) [ (Pair (Pair 0 0) None) ] - - location: 10 (remaining gas: 1039988.235 units remaining) + - location: 10 (remaining gas: 1039988.265 units remaining) [ (Pair 0 0) @parameter None @storage ] - - location: 11 (remaining gas: 1039988.165 units remaining) + - location: 11 (remaining gas: 1039988.225 units remaining) [ None @storage (Pair 0 0) @parameter ] - - location: 15 (remaining gas: 1039988 units remaining) + - location: 13 (remaining gas: 1039988.195 units remaining) + [ (Pair 0 0) @parameter ] + - location: 15 (remaining gas: 1039988.150 units remaining) [ ] - - location: 16 (remaining gas: 1039987.925 units remaining) + - location: 16 (remaining gas: 1039988.105 units remaining) [ None ] - - location: -1 (remaining gas: 1039987.880 units remaining) - [ None ] - - location: 12 (remaining gas: 1039987.835 units remaining) - [ None ] - - location: 22 (remaining gas: 1039987.760 units remaining) + - location: 22 (remaining gas: 1039988.060 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039987.685 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.640 units remaining) + - location: 24 (remaining gas: 1039988.015 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 35328a536dca..81a64b27d6be 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.031 units remaining) + - location: 10 (remaining gas: 1039988.031 units remaining) [ (Pair (Pair 0 0) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.951 units remaining) + - location: 10 (remaining gas: 1039987.981 units remaining) [ (Pair 0 0) @parameter (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.881 units remaining) + - location: 11 (remaining gas: 1039987.941 units remaining) [ (Some "Foo") @storage (Pair 0 0) @parameter ] - - location: 19 (remaining gas: 1039987.721 units remaining) + - location: 13 (remaining gas: 1039987.911 units remaining) + [ "Foo" @storage.some + (Pair 0 0) @parameter ] + - location: 19 (remaining gas: 1039987.871 units remaining) [ (Pair 0 0) @parameter "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.641 units remaining) + - location: 20 (remaining gas: 1039987.821 units remaining) [ 0 0 "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.531 units remaining) - [ (Some "") @storage.some.slice ] - - location: -1 (remaining gas: 1039987.486 units remaining) - [ (Some "") @storage.some.slice ] - - location: 12 (remaining gas: 1039987.441 units remaining) + - location: 21 (remaining gas: 1039987.741 units remaining) [ (Some "") ] - - location: 22 (remaining gas: 1039987.366 units remaining) + - location: 22 (remaining gas: 1039987.696 units remaining) [ {} (Some "") ] - - location: 24 (remaining gas: 1039987.291 units remaining) - [ (Pair {} (Some "")) ] - - location: -1 (remaining gas: 1039987.246 units remaining) + - location: 24 (remaining gas: 1039987.651 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 a6746bc17f86..fae0304e819c 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.031 units remaining) + - location: 10 (remaining gas: 1039988.031 units remaining) [ (Pair (Pair 0 10) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.951 units remaining) + - location: 10 (remaining gas: 1039987.981 units remaining) [ (Pair 0 10) @parameter (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.881 units remaining) + - location: 11 (remaining gas: 1039987.941 units remaining) [ (Some "Foo") @storage (Pair 0 10) @parameter ] - - location: 19 (remaining gas: 1039987.721 units remaining) + - location: 13 (remaining gas: 1039987.911 units remaining) + [ "Foo" @storage.some + (Pair 0 10) @parameter ] + - location: 19 (remaining gas: 1039987.871 units remaining) [ (Pair 0 10) @parameter "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.641 units remaining) + - location: 20 (remaining gas: 1039987.821 units remaining) [ 0 10 "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.531 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.486 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.441 units remaining) + - location: 21 (remaining gas: 1039987.741 units remaining) [ None ] - - location: 22 (remaining gas: 1039987.366 units remaining) + - location: 22 (remaining gas: 1039987.696 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039987.291 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.246 units remaining) + - location: 24 (remaining gas: 1039987.651 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 7ed1a2495624..34c439455321 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.031 units remaining) + - location: 10 (remaining gas: 1039988.031 units remaining) [ (Pair (Pair 0 2) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.951 units remaining) + - location: 10 (remaining gas: 1039987.981 units remaining) [ (Pair 0 2) @parameter (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.881 units remaining) + - location: 11 (remaining gas: 1039987.941 units remaining) [ (Some "Foo") @storage (Pair 0 2) @parameter ] - - location: 19 (remaining gas: 1039987.721 units remaining) + - location: 13 (remaining gas: 1039987.911 units remaining) + [ "Foo" @storage.some + (Pair 0 2) @parameter ] + - location: 19 (remaining gas: 1039987.871 units remaining) [ (Pair 0 2) @parameter "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.641 units remaining) + - location: 20 (remaining gas: 1039987.821 units remaining) [ 0 2 "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.531 units remaining) - [ (Some "Fo") @storage.some.slice ] - - location: -1 (remaining gas: 1039987.486 units remaining) - [ (Some "Fo") @storage.some.slice ] - - location: 12 (remaining gas: 1039987.441 units remaining) + - location: 21 (remaining gas: 1039987.741 units remaining) [ (Some "Fo") ] - - location: 22 (remaining gas: 1039987.366 units remaining) + - location: 22 (remaining gas: 1039987.696 units remaining) [ {} (Some "Fo") ] - - location: 24 (remaining gas: 1039987.291 units remaining) - [ (Pair {} (Some "Fo")) ] - - location: -1 (remaining gas: 1039987.246 units remaining) + - location: 24 (remaining gas: 1039987.651 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 0743dbfdac9f..76101c2465c8 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.031 units remaining) + - location: 10 (remaining gas: 1039988.031 units remaining) [ (Pair (Pair 1 1) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.951 units remaining) + - location: 10 (remaining gas: 1039987.981 units remaining) [ (Pair 1 1) @parameter (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.881 units remaining) + - location: 11 (remaining gas: 1039987.941 units remaining) [ (Some "Foo") @storage (Pair 1 1) @parameter ] - - location: 19 (remaining gas: 1039987.721 units remaining) + - location: 13 (remaining gas: 1039987.911 units remaining) + [ "Foo" @storage.some + (Pair 1 1) @parameter ] + - location: 19 (remaining gas: 1039987.871 units remaining) [ (Pair 1 1) @parameter "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.641 units remaining) + - location: 20 (remaining gas: 1039987.821 units remaining) [ 1 1 "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.531 units remaining) - [ (Some "o") @storage.some.slice ] - - location: -1 (remaining gas: 1039987.486 units remaining) - [ (Some "o") @storage.some.slice ] - - location: 12 (remaining gas: 1039987.441 units remaining) + - location: 21 (remaining gas: 1039987.741 units remaining) [ (Some "o") ] - - location: 22 (remaining gas: 1039987.366 units remaining) + - location: 22 (remaining gas: 1039987.696 units remaining) [ {} (Some "o") ] - - location: 24 (remaining gas: 1039987.291 units remaining) - [ (Pair {} (Some "o")) ] - - location: -1 (remaining gas: 1039987.246 units remaining) + - location: 24 (remaining gas: 1039987.651 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 a19df8b46c17..aee518cb3a39 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.031 units remaining) + - location: 10 (remaining gas: 1039988.031 units remaining) [ (Pair (Pair 1 3) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.951 units remaining) + - location: 10 (remaining gas: 1039987.981 units remaining) [ (Pair 1 3) @parameter (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.881 units remaining) + - location: 11 (remaining gas: 1039987.941 units remaining) [ (Some "Foo") @storage (Pair 1 3) @parameter ] - - location: 19 (remaining gas: 1039987.721 units remaining) + - location: 13 (remaining gas: 1039987.911 units remaining) + [ "Foo" @storage.some + (Pair 1 3) @parameter ] + - location: 19 (remaining gas: 1039987.871 units remaining) [ (Pair 1 3) @parameter "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.641 units remaining) + - location: 20 (remaining gas: 1039987.821 units remaining) [ 1 3 "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.531 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.486 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.441 units remaining) + - location: 21 (remaining gas: 1039987.741 units remaining) [ None ] - - location: 22 (remaining gas: 1039987.366 units remaining) + - location: 22 (remaining gas: 1039987.696 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039987.291 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.246 units remaining) + - location: 24 (remaining gas: 1039987.651 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 c2a676fa2f3e..a640bad2b813 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.031 units remaining) + - location: 10 (remaining gas: 1039988.031 units remaining) [ (Pair (Pair 10 5) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.951 units remaining) + - location: 10 (remaining gas: 1039987.981 units remaining) [ (Pair 10 5) @parameter (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.881 units remaining) + - location: 11 (remaining gas: 1039987.941 units remaining) [ (Some "Foo") @storage (Pair 10 5) @parameter ] - - location: 19 (remaining gas: 1039987.721 units remaining) + - location: 13 (remaining gas: 1039987.911 units remaining) + [ "Foo" @storage.some + (Pair 10 5) @parameter ] + - location: 19 (remaining gas: 1039987.871 units remaining) [ (Pair 10 5) @parameter "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.641 units remaining) + - location: 20 (remaining gas: 1039987.821 units remaining) [ 10 5 "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.531 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.486 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.441 units remaining) + - location: 21 (remaining gas: 1039987.741 units remaining) [ None ] - - location: 22 (remaining gas: 1039987.366 units remaining) + - location: 22 (remaining gas: 1039987.696 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039987.291 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.246 units remaining) + - location: 24 (remaining gas: 1039987.651 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 1c28a25f242c..09a4e394eb3c 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,33 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039928.061 units remaining) + - location: 10 (remaining gas: 1039928.061 units remaining) [ (Pair (Pair 1 10000) (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo")) ] - - location: 10 (remaining gas: 1039927.981 units remaining) + - location: 10 (remaining gas: 1039928.011 units remaining) [ (Pair 1 10000) @parameter (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") @storage ] - - location: 11 (remaining gas: 1039927.911 units remaining) + - location: 11 (remaining gas: 1039927.971 units remaining) [ (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") @storage (Pair 1 10000) @parameter ] - - location: 19 (remaining gas: 1039927.751 units remaining) + - location: 13 (remaining gas: 1039927.941 units remaining) + [ "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" @storage.some + (Pair 1 10000) @parameter ] + - location: 19 (remaining gas: 1039927.901 units remaining) [ (Pair 1 10000) @parameter "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" @storage.some ] - - location: 20 (remaining gas: 1039927.671 units remaining) + - location: 20 (remaining gas: 1039927.851 units remaining) [ 1 10000 "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" @storage.some ] - - location: 21 (remaining gas: 1039927.186 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039927.141 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039927.096 units remaining) + - location: 21 (remaining gas: 1039927.396 units remaining) [ None ] - - location: 22 (remaining gas: 1039927.021 units remaining) + - location: 22 (remaining gas: 1039927.351 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039926.946 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039926.901 units remaining) + - location: 24 (remaining gas: 1039927.306 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 b0a5a96bc49a..12735151e9be 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,27 +7,23 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.315 units remaining) + - location: 10 (remaining gas: 1039988.315 units remaining) [ (Pair (Pair 0 1) None) ] - - location: 10 (remaining gas: 1039988.235 units remaining) + - location: 10 (remaining gas: 1039988.265 units remaining) [ (Pair 0 1) @parameter None @storage ] - - location: 11 (remaining gas: 1039988.165 units remaining) + - location: 11 (remaining gas: 1039988.225 units remaining) [ None @storage (Pair 0 1) @parameter ] - - location: 15 (remaining gas: 1039988 units remaining) + - location: 13 (remaining gas: 1039988.195 units remaining) + [ (Pair 0 1) @parameter ] + - location: 15 (remaining gas: 1039988.150 units remaining) [ ] - - location: 16 (remaining gas: 1039987.925 units remaining) + - location: 16 (remaining gas: 1039988.105 units remaining) [ None ] - - location: -1 (remaining gas: 1039987.880 units remaining) - [ None ] - - location: 12 (remaining gas: 1039987.835 units remaining) - [ None ] - - location: 22 (remaining gas: 1039987.760 units remaining) + - location: 22 (remaining gas: 1039988.060 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039987.685 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.640 units remaining) + - location: 24 (remaining gas: 1039988.015 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 6a32727f9d6c..351080f5ccc9 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 0 0) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 0 0) @parameter (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbcc) @storage (Pair 0 0) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbcc @storage.some + (Pair 0 0) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 0 0) @parameter 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 0 0 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.575 units remaining) - [ (Some 0x) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.530 units remaining) - [ (Some 0x) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.485 units remaining) + - location: 21 (remaining gas: 1039987.785 units remaining) [ (Some 0x) ] - - location: 22 (remaining gas: 1039987.410 units remaining) + - location: 22 (remaining gas: 1039987.740 units remaining) [ {} (Some 0x) ] - - location: 24 (remaining gas: 1039987.335 units remaining) - [ (Pair {} (Some 0x)) ] - - location: -1 (remaining gas: 1039987.290 units remaining) + - location: 24 (remaining gas: 1039987.695 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 c04510530cee..646708357547 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 0 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 0 1) @parameter (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbcc) @storage (Pair 0 1) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbcc @storage.some + (Pair 0 1) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 0 1) @parameter 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 0 1 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.575 units remaining) - [ (Some 0xaa) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.530 units remaining) - [ (Some 0xaa) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.485 units remaining) + - location: 21 (remaining gas: 1039987.785 units remaining) [ (Some 0xaa) ] - - location: 22 (remaining gas: 1039987.410 units remaining) + - location: 22 (remaining gas: 1039987.740 units remaining) [ {} (Some 0xaa) ] - - location: 24 (remaining gas: 1039987.335 units remaining) - [ (Pair {} (Some 0xaa)) ] - - location: -1 (remaining gas: 1039987.290 units remaining) + - location: 24 (remaining gas: 1039987.695 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 8d1dda48708c..1669a35e128d 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 1 1) @parameter (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbcc) @storage (Pair 1 1) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbcc @storage.some + (Pair 1 1) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 1 1) @parameter 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 1 1 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.575 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.530 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.485 units remaining) + - location: 21 (remaining gas: 1039987.785 units remaining) [ (Some 0xbb) ] - - location: 22 (remaining gas: 1039987.410 units remaining) + - location: 22 (remaining gas: 1039987.740 units remaining) [ {} (Some 0xbb) ] - - location: 24 (remaining gas: 1039987.335 units remaining) - [ (Pair {} (Some 0xbb)) ] - - location: -1 (remaining gas: 1039987.290 units remaining) + - location: 24 (remaining gas: 1039987.695 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 fc7764181ccd..553fba0071c4 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 1 1) @parameter (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbcc) @storage (Pair 1 1) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbcc @storage.some + (Pair 1 1) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 1 1) @parameter 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 1 1 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.575 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.530 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.485 units remaining) + - location: 21 (remaining gas: 1039987.785 units remaining) [ (Some 0xbb) ] - - location: 22 (remaining gas: 1039987.410 units remaining) + - location: 22 (remaining gas: 1039987.740 units remaining) [ {} (Some 0xbb) ] - - location: 24 (remaining gas: 1039987.335 units remaining) - [ (Pair {} (Some 0xbb)) ] - - location: -1 (remaining gas: 1039987.290 units remaining) + - location: 24 (remaining gas: 1039987.695 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 df443fb8cb60..53f715830097 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 1 2) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 1 2) @parameter (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbcc) @storage (Pair 1 2) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbcc @storage.some + (Pair 1 2) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 1 2) @parameter 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 1 2 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.575 units remaining) - [ (Some 0xbbcc) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.530 units remaining) - [ (Some 0xbbcc) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.485 units remaining) + - location: 21 (remaining gas: 1039987.785 units remaining) [ (Some 0xbbcc) ] - - location: 22 (remaining gas: 1039987.410 units remaining) + - location: 22 (remaining gas: 1039987.740 units remaining) [ {} (Some 0xbbcc) ] - - location: 24 (remaining gas: 1039987.335 units remaining) - [ (Pair {} (Some 0xbbcc)) ] - - location: -1 (remaining gas: 1039987.290 units remaining) + - location: 24 (remaining gas: 1039987.695 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 62437a51a71f..d7119c9e28f4 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,32 +7,29 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 1 3) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 1 3) @parameter (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbcc) @storage (Pair 1 3) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbcc @storage.some + (Pair 1 3) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 1 3) @parameter 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 1 3 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.575 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.530 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.485 units remaining) + - location: 21 (remaining gas: 1039987.785 units remaining) [ None ] - - location: 22 (remaining gas: 1039987.410 units remaining) + - location: 22 (remaining gas: 1039987.740 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039987.335 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.290 units remaining) + - location: 24 (remaining gas: 1039987.695 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 1eb9c8995132..788e5f1fc242 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,33 +7,30 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039988.075 units remaining) + - location: 10 (remaining gas: 1039988.075 units remaining) [ (Pair (Pair 1 10000) (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc)) ] - - location: 10 (remaining gas: 1039987.995 units remaining) + - location: 10 (remaining gas: 1039988.025 units remaining) [ (Pair 1 10000) @parameter (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.925 units remaining) + - location: 11 (remaining gas: 1039987.985 units remaining) [ (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) @storage (Pair 1 10000) @parameter ] - - location: 19 (remaining gas: 1039987.765 units remaining) + - location: 13 (remaining gas: 1039987.955 units remaining) + [ 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc @storage.some + (Pair 1 10000) @parameter ] + - location: 19 (remaining gas: 1039987.915 units remaining) [ (Pair 1 10000) @parameter 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.685 units remaining) + - location: 20 (remaining gas: 1039987.865 units remaining) [ 1 10000 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.200 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.155 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.110 units remaining) + - location: 21 (remaining gas: 1039987.410 units remaining) [ None ] - - location: 22 (remaining gas: 1039987.035 units remaining) + - location: 22 (remaining gas: 1039987.365 units remaining) [ {} None ] - - location: 24 (remaining gas: 1039986.960 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039986.915 units remaining) + - location: 24 (remaining gas: 1039987.320 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 a8649a58b5cb..28b0b34e041c 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.376 units remaining) + - location: 8 (remaining gas: 1039994.376 units remaining) [ (Pair "Hello" None) ] - - location: 8 (remaining gas: 1039994.296 units remaining) + - location: 8 (remaining gas: 1039994.326 units remaining) [ "Hello" @parameter ] - - location: 9 (remaining gas: 1039994.221 units remaining) + - location: 9 (remaining gas: 1039994.281 units remaining) [ (Some "Hello") ] - - location: 10 (remaining gas: 1039994.146 units remaining) + - location: 10 (remaining gas: 1039994.236 units remaining) [ {} (Some "Hello") ] - - location: 12 (remaining gas: 1039994.071 units remaining) - [ (Pair {} (Some "Hello")) ] - - location: -1 (remaining gas: 1039994.026 units remaining) + - location: 12 (remaining gas: 1039994.191 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 58b12963c78b..19756d1b2769 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,17 +7,15 @@ emitted operations big_map diff trace - - location: 7 (remaining gas: 1039994.386 units remaining) + - location: 8 (remaining gas: 1039994.386 units remaining) [ (Pair "abcd" None) ] - - location: 8 (remaining gas: 1039994.306 units remaining) + - location: 8 (remaining gas: 1039994.336 units remaining) [ "abcd" @parameter ] - - location: 9 (remaining gas: 1039994.231 units remaining) + - location: 9 (remaining gas: 1039994.291 units remaining) [ (Some "abcd") ] - - location: 10 (remaining gas: 1039994.156 units remaining) + - location: 10 (remaining gas: 1039994.246 units remaining) [ {} (Some "abcd") ] - - location: 12 (remaining gas: 1039994.081 units remaining) - [ (Pair {} (Some "abcd")) ] - - location: -1 (remaining gas: 1039994.036 units remaining) + - location: 12 (remaining gas: 1039994.201 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 c64f9b4b11af..6394f7a0c235 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.200 units remaining) + - location: 9 (remaining gas: 1039990.200 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" -100) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039990.120 units remaining) + - location: 9 (remaining gas: 1039990.150 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 10 (remaining gas: 1039990.040 units remaining) + - location: 10 (remaining gas: 1039990.100 units remaining) [ (Pair "1970-01-01T00:01:40Z" -100) @parameter (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 11 (remaining gas: 1039989.960 units remaining) + - location: 11 (remaining gas: 1039990.050 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 14 (remaining gas: 1039989.805 units remaining) - [ -100 ] - - location: 13 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039990.005 units remaining) + [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] + - location: 14 (remaining gas: 1039989.955 units remaining) [ -100 ] - - location: 12 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:01:40Z" -100 ] - - location: 15 (remaining gas: 1039989.650 units remaining) + - location: 15 (remaining gas: 1039989.875 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 16 (remaining gas: 1039989.575 units remaining) + - location: 16 (remaining gas: 1039989.830 units remaining) [ {} "1970-01-01T00:03:20Z" ] - - location: 18 (remaining gas: 1039989.500 units remaining) - [ (Pair {} "1970-01-01T00:03:20Z") ] - - location: -1 (remaining gas: 1039989.455 units remaining) + - location: 18 (remaining gas: 1039989.785 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 be6715c18f25..92ee6f58bb61 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.200 units remaining) + - location: 9 (remaining gas: 1039990.200 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" 100) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039990.120 units remaining) + - location: 9 (remaining gas: 1039990.150 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 10 (remaining gas: 1039990.040 units remaining) + - location: 10 (remaining gas: 1039990.100 units remaining) [ (Pair "1970-01-01T00:01:40Z" 100) @parameter (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 11 (remaining gas: 1039989.960 units remaining) + - location: 11 (remaining gas: 1039990.050 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 14 (remaining gas: 1039989.805 units remaining) - [ 100 ] - - location: 13 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039990.005 units remaining) + [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] + - location: 14 (remaining gas: 1039989.955 units remaining) [ 100 ] - - location: 12 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:01:40Z" 100 ] - - location: 15 (remaining gas: 1039989.650 units remaining) + - location: 15 (remaining gas: 1039989.875 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039989.575 units remaining) + - location: 16 (remaining gas: 1039989.830 units remaining) [ {} "1970-01-01T00:00:00Z" ] - - location: 18 (remaining gas: 1039989.500 units remaining) - [ (Pair {} "1970-01-01T00:00:00Z") ] - - location: -1 (remaining gas: 1039989.455 units remaining) + - location: 18 (remaining gas: 1039989.785 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 89886b713b45..1f4c4cb6554d 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,30 +7,28 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039990.200 units remaining) + - location: 9 (remaining gas: 1039990.200 units remaining) [ (Pair (Pair "1970-01-01T00:01:40Z" 2000000000000000000) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039990.120 units remaining) + - location: 9 (remaining gas: 1039990.150 units remaining) [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - - location: 10 (remaining gas: 1039990.040 units remaining) + - location: 10 (remaining gas: 1039990.100 units remaining) [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039989.960 units remaining) + - location: 11 (remaining gas: 1039990.050 units remaining) [ "1970-01-01T00:01:40Z" (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - - location: 14 (remaining gas: 1039989.805 units remaining) - [ 2000000000000000000 ] - - location: 13 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039990.005 units remaining) + [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] + - location: 14 (remaining gas: 1039989.955 units remaining) [ 2000000000000000000 ] - - location: 12 (remaining gas: 1039989.760 units remaining) + - location: 12 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:01:40Z" 2000000000000000000 ] - - location: 15 (remaining gas: 1039989.650 units remaining) + - location: 15 (remaining gas: 1039989.875 units remaining) [ -1999999999999999900 ] - - location: 16 (remaining gas: 1039989.575 units remaining) + - location: 16 (remaining gas: 1039989.830 units remaining) [ {} -1999999999999999900 ] - - location: 18 (remaining gas: 1039989.500 units remaining) - [ (Pair {} -1999999999999999900) ] - - location: -1 (remaining gas: 1039989.455 units remaining) + - location: 18 (remaining gas: 1039989.785 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 e9d4fb91b4f0..5abe83974028 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,63 +7,61 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039981.110 units remaining) + - location: 12 (remaining gas: 1039981.110 units remaining) [ (Pair (Pair 2000000 1000000) None) ] - - location: 12 (remaining gas: 1039981.030 units remaining) + - location: 12 (remaining gas: 1039981.060 units remaining) [ (Pair 2000000 1000000) @parameter ] - - location: 13 (remaining gas: 1039980.950 units remaining) + - location: 13 (remaining gas: 1039981.010 units remaining) [ (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter ] - - location: 14 (remaining gas: 1039980.870 units remaining) + - location: 14 (remaining gas: 1039980.960 units remaining) [ (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter ] - - location: 15 (remaining gas: 1039980.790 units remaining) + - location: 15 (remaining gas: 1039980.910 units remaining) [ 2000000 (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter ] - - location: 18 (remaining gas: 1039980.635 units remaining) - [ 1000000 + - location: 16 (remaining gas: 1039980.865 units remaining) + [ (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter ] - - location: 17 (remaining gas: 1039980.590 units remaining) + - location: 18 (remaining gas: 1039980.815 units remaining) [ 1000000 (Pair 2000000 1000000) @parameter ] - - location: 16 (remaining gas: 1039980.590 units remaining) + - location: 16 (remaining gas: 1039980.815 units remaining) [ 2000000 1000000 (Pair 2000000 1000000) @parameter ] - - location: 19 (remaining gas: 1039980.505 units remaining) + - location: 19 (remaining gas: 1039980.760 units remaining) [ 3000000 (Pair 2000000 1000000) @parameter ] - - location: 22 (remaining gas: 1039980.350 units remaining) + - location: 20 (remaining gas: 1039980.715 units remaining) + [ (Pair 2000000 1000000) @parameter ] + - location: 22 (remaining gas: 1039980.665 units remaining) [ (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter ] - - location: 23 (remaining gas: 1039980.270 units remaining) + - location: 23 (remaining gas: 1039980.615 units remaining) [ 2000000 (Pair 2000000 1000000) @parameter ] - - location: 26 (remaining gas: 1039980.115 units remaining) - [ 1000000 ] - - location: 25 (remaining gas: 1039980.070 units remaining) + - location: 24 (remaining gas: 1039980.570 units remaining) + [ (Pair 2000000 1000000) @parameter ] + - location: 26 (remaining gas: 1039980.520 units remaining) [ 1000000 ] - - location: 24 (remaining gas: 1039980.070 units remaining) + - location: 24 (remaining gas: 1039980.520 units remaining) [ 2000000 1000000 ] - - location: 27 (remaining gas: 1039979.985 units remaining) - [ 1000000 ] - - location: -1 (remaining gas: 1039979.940 units remaining) + - location: 27 (remaining gas: 1039980.465 units remaining) [ 1000000 ] - - location: 20 (remaining gas: 1039979.940 units remaining) + - location: 20 (remaining gas: 1039980.465 units remaining) [ 3000000 1000000 ] - - location: 28 (remaining gas: 1039979.865 units remaining) + - location: 28 (remaining gas: 1039980.420 units remaining) [ (Pair 3000000 1000000) ] - - location: 29 (remaining gas: 1039979.790 units remaining) + - location: 29 (remaining gas: 1039980.375 units remaining) [ (Some (Pair 3000000 1000000)) ] - - location: 30 (remaining gas: 1039979.715 units remaining) + - location: 30 (remaining gas: 1039980.330 units remaining) [ {} (Some (Pair 3000000 1000000)) ] - - location: 32 (remaining gas: 1039979.640 units remaining) - [ (Pair {} (Some (Pair 3000000 1000000))) ] - - location: -1 (remaining gas: 1039979.595 units remaining) + - location: 32 (remaining gas: 1039980.285 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 a6cd884fb63c..d675ac5f0d00 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,63 +7,61 @@ emitted operations big_map diff trace - - location: 11 (remaining gas: 1039981.110 units remaining) + - location: 12 (remaining gas: 1039981.110 units remaining) [ (Pair (Pair 2310000 1010000) None) ] - - location: 12 (remaining gas: 1039981.030 units remaining) + - location: 12 (remaining gas: 1039981.060 units remaining) [ (Pair 2310000 1010000) @parameter ] - - location: 13 (remaining gas: 1039980.950 units remaining) + - location: 13 (remaining gas: 1039981.010 units remaining) [ (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter ] - - location: 14 (remaining gas: 1039980.870 units remaining) + - location: 14 (remaining gas: 1039980.960 units remaining) [ (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter ] - - location: 15 (remaining gas: 1039980.790 units remaining) + - location: 15 (remaining gas: 1039980.910 units remaining) [ 2310000 (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter ] - - location: 18 (remaining gas: 1039980.635 units remaining) - [ 1010000 + - location: 16 (remaining gas: 1039980.865 units remaining) + [ (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter ] - - location: 17 (remaining gas: 1039980.590 units remaining) + - location: 18 (remaining gas: 1039980.815 units remaining) [ 1010000 (Pair 2310000 1010000) @parameter ] - - location: 16 (remaining gas: 1039980.590 units remaining) + - location: 16 (remaining gas: 1039980.815 units remaining) [ 2310000 1010000 (Pair 2310000 1010000) @parameter ] - - location: 19 (remaining gas: 1039980.505 units remaining) + - location: 19 (remaining gas: 1039980.760 units remaining) [ 3320000 (Pair 2310000 1010000) @parameter ] - - location: 22 (remaining gas: 1039980.350 units remaining) + - location: 20 (remaining gas: 1039980.715 units remaining) + [ (Pair 2310000 1010000) @parameter ] + - location: 22 (remaining gas: 1039980.665 units remaining) [ (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter ] - - location: 23 (remaining gas: 1039980.270 units remaining) + - location: 23 (remaining gas: 1039980.615 units remaining) [ 2310000 (Pair 2310000 1010000) @parameter ] - - location: 26 (remaining gas: 1039980.115 units remaining) - [ 1010000 ] - - location: 25 (remaining gas: 1039980.070 units remaining) + - location: 24 (remaining gas: 1039980.570 units remaining) + [ (Pair 2310000 1010000) @parameter ] + - location: 26 (remaining gas: 1039980.520 units remaining) [ 1010000 ] - - location: 24 (remaining gas: 1039980.070 units remaining) + - location: 24 (remaining gas: 1039980.520 units remaining) [ 2310000 1010000 ] - - location: 27 (remaining gas: 1039979.985 units remaining) - [ 1300000 ] - - location: -1 (remaining gas: 1039979.940 units remaining) + - location: 27 (remaining gas: 1039980.465 units remaining) [ 1300000 ] - - location: 20 (remaining gas: 1039979.940 units remaining) + - location: 20 (remaining gas: 1039980.465 units remaining) [ 3320000 1300000 ] - - location: 28 (remaining gas: 1039979.865 units remaining) + - location: 28 (remaining gas: 1039980.420 units remaining) [ (Pair 3320000 1300000) ] - - location: 29 (remaining gas: 1039979.790 units remaining) + - location: 29 (remaining gas: 1039980.375 units remaining) [ (Some (Pair 3320000 1300000)) ] - - location: 30 (remaining gas: 1039979.715 units remaining) + - location: 30 (remaining gas: 1039980.330 units remaining) [ {} (Some (Pair 3320000 1300000)) ] - - location: 32 (remaining gas: 1039979.640 units remaining) - [ (Pair {} (Some (Pair 3320000 1300000))) ] - - location: -1 (remaining gas: 1039979.595 units remaining) + - location: 32 (remaining gas: 1039980.285 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 5544b6a27203..89265c7fea65 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,46 +7,44 @@ emitted operations big_map diff trace - - location: 9 (remaining gas: 1039986.880 units remaining) + - location: 10 (remaining gas: 1039986.880 units remaining) [ (Pair (Pair 1 4 2) 0) ] - - location: 10 (remaining gas: 1039986.800 units remaining) + - location: 10 (remaining gas: 1039986.830 units remaining) [ (Pair 1 4 2) @parameter ] - - location: 11 (remaining gas: 1039986.680 units remaining) + - location: 11 (remaining gas: 1039986.740 units remaining) [ 1 4 2 ] - - location: 13 (remaining gas: 1039986.605 units remaining) + - location: 13 (remaining gas: 1039986.695 units remaining) [ 100 1 4 2 ] - - location: 16 (remaining gas: 1039986.489 units remaining) + - location: 16 (remaining gas: 1039986.609 units remaining) [ 100 4 2 ] - - location: 17 (remaining gas: 1039986.419 units remaining) + - location: 17 (remaining gas: 1039986.569 units remaining) [ 4 100 2 ] - - location: 18 (remaining gas: 1039986.344 units remaining) + - location: 18 (remaining gas: 1039986.524 units remaining) [ 10 4 100 2 ] - - location: 21 (remaining gas: 1039986.228 units remaining) + - location: 21 (remaining gas: 1039986.438 units remaining) [ 40 100 2 ] - - location: 22 (remaining gas: 1039986.118 units remaining) + - location: 22 (remaining gas: 1039986.358 units remaining) [ 140 2 ] - - location: 23 (remaining gas: 1039986.008 units remaining) + - location: 23 (remaining gas: 1039986.278 units remaining) [ 142 ] - - location: 24 (remaining gas: 1039985.933 units remaining) + - location: 24 (remaining gas: 1039986.233 units remaining) [ {} 142 ] - - location: 26 (remaining gas: 1039985.858 units remaining) - [ (Pair {} 142) ] - - location: -1 (remaining gas: 1039985.813 units remaining) + - location: 26 (remaining gas: 1039986.188 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 be3d28b0a1cb..e4bcb7c015e1 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,458 +7,456 @@ emitted operations big_map diff trace - - location: 6 (remaining gas: 1039845.320 units remaining) + - location: 7 (remaining gas: 1039845.320 units remaining) [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039845.245 units remaining) + - location: 7 (remaining gas: 1039845.275 units remaining) [ ] - - location: 8 (remaining gas: 1039845.170 units remaining) + - location: 8 (remaining gas: 1039845.230 units remaining) [ Unit ] - - location: 9 (remaining gas: 1039845.095 units remaining) + - location: 9 (remaining gas: 1039845.185 units remaining) [ Unit Unit ] - - location: 10 (remaining gas: 1039845.020 units remaining) + - location: 10 (remaining gas: 1039845.140 units remaining) [ (Pair Unit Unit) ] - - location: 11 (remaining gas: 1039844.940 units remaining) + - location: 11 (remaining gas: 1039845.090 units remaining) [ Unit Unit ] - - location: 12 (remaining gas: 1039844.802 units remaining) + - location: 12 (remaining gas: 1039844.982 units remaining) [ ] - - location: 14 (remaining gas: 1039844.727 units remaining) + - location: 14 (remaining gas: 1039844.937 units remaining) [ Unit @b ] - - location: 15 (remaining gas: 1039844.652 units remaining) + - location: 15 (remaining gas: 1039844.892 units remaining) [ Unit @a Unit @b ] - - location: 16 (remaining gas: 1039844.577 units remaining) + - location: 16 (remaining gas: 1039844.847 units remaining) [ (Pair Unit Unit) ] - - location: 17 (remaining gas: 1039844.497 units remaining) + - location: 17 (remaining gas: 1039844.797 units remaining) [ Unit @c Unit @d ] - - location: 18 (remaining gas: 1039844.359 units remaining) + - location: 18 (remaining gas: 1039844.689 units remaining) [ ] - - location: 20 (remaining gas: 1039844.284 units remaining) + - location: 20 (remaining gas: 1039844.644 units remaining) [ Unit @b ] - - location: 21 (remaining gas: 1039844.209 units remaining) + - location: 21 (remaining gas: 1039844.599 units remaining) [ Unit @a Unit @b ] - - location: 22 (remaining gas: 1039844.134 units remaining) + - location: 22 (remaining gas: 1039844.554 units remaining) [ (Pair Unit Unit) ] - - location: 23 (remaining gas: 1039844.054 units remaining) + - location: 23 (remaining gas: 1039844.504 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 24 (remaining gas: 1039843.974 units remaining) + - location: 24 (remaining gas: 1039844.454 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 25 (remaining gas: 1039843.836 units remaining) + - location: 25 (remaining gas: 1039844.346 units remaining) [ (Pair Unit Unit) ] - - location: 27 (remaining gas: 1039843.756 units remaining) + - location: 27 (remaining gas: 1039844.296 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 28 (remaining gas: 1039843.676 units remaining) + - location: 28 (remaining gas: 1039844.246 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 29 (remaining gas: 1039843.538 units remaining) + - location: 29 (remaining gas: 1039844.138 units remaining) [ (Pair Unit Unit) ] - - location: 31 (remaining gas: 1039843.458 units remaining) + - location: 31 (remaining gas: 1039844.088 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 32 (remaining gas: 1039843.378 units remaining) + - location: 32 (remaining gas: 1039844.038 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 33 (remaining gas: 1039843.240 units remaining) + - location: 33 (remaining gas: 1039843.930 units remaining) [ (Pair Unit Unit) ] - - location: 35 (remaining gas: 1039843.160 units remaining) + - location: 35 (remaining gas: 1039843.880 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 36 (remaining gas: 1039843.080 units remaining) + - location: 36 (remaining gas: 1039843.830 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 37 (remaining gas: 1039842.942 units remaining) + - location: 37 (remaining gas: 1039843.722 units remaining) [ (Pair Unit Unit) ] - - location: 39 (remaining gas: 1039842.862 units remaining) + - location: 39 (remaining gas: 1039843.672 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 40 (remaining gas: 1039842.782 units remaining) + - location: 40 (remaining gas: 1039843.622 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 41 (remaining gas: 1039842.644 units remaining) + - location: 41 (remaining gas: 1039843.514 units remaining) [ (Pair Unit Unit) ] - - location: 43 (remaining gas: 1039842.564 units remaining) + - location: 43 (remaining gas: 1039843.464 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 44 (remaining gas: 1039842.484 units remaining) + - location: 44 (remaining gas: 1039843.414 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 45 (remaining gas: 1039842.346 units remaining) + - location: 45 (remaining gas: 1039843.306 units remaining) [ (Pair Unit Unit) ] - - location: 47 (remaining gas: 1039842.266 units remaining) + - location: 47 (remaining gas: 1039843.256 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 48 (remaining gas: 1039842.186 units remaining) + - location: 48 (remaining gas: 1039843.206 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 49 (remaining gas: 1039842.048 units remaining) + - location: 49 (remaining gas: 1039843.098 units remaining) [ (Pair Unit Unit) ] - - location: 51 (remaining gas: 1039841.968 units remaining) + - location: 51 (remaining gas: 1039843.048 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 52 (remaining gas: 1039841.888 units remaining) + - location: 52 (remaining gas: 1039842.998 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 53 (remaining gas: 1039841.750 units remaining) + - location: 53 (remaining gas: 1039842.890 units remaining) [ (Pair Unit Unit) ] - - location: 55 (remaining gas: 1039841.670 units remaining) + - location: 55 (remaining gas: 1039842.840 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 56 (remaining gas: 1039841.590 units remaining) + - location: 56 (remaining gas: 1039842.790 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 57 (remaining gas: 1039841.452 units remaining) + - location: 57 (remaining gas: 1039842.682 units remaining) [ (Pair Unit Unit) ] - - location: 59 (remaining gas: 1039841.372 units remaining) + - location: 59 (remaining gas: 1039842.632 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 60 (remaining gas: 1039841.292 units remaining) + - location: 60 (remaining gas: 1039842.582 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 61 (remaining gas: 1039841.154 units remaining) + - location: 61 (remaining gas: 1039842.474 units remaining) [ (Pair Unit Unit) ] - - location: 63 (remaining gas: 1039841.074 units remaining) + - location: 63 (remaining gas: 1039842.424 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 64 (remaining gas: 1039840.994 units remaining) + - location: 64 (remaining gas: 1039842.374 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 65 (remaining gas: 1039840.856 units remaining) + - location: 65 (remaining gas: 1039842.266 units remaining) [ (Pair Unit Unit) ] - - location: 67 (remaining gas: 1039840.776 units remaining) + - location: 67 (remaining gas: 1039842.216 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 68 (remaining gas: 1039840.696 units remaining) + - location: 68 (remaining gas: 1039842.166 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 69 (remaining gas: 1039840.558 units remaining) + - location: 69 (remaining gas: 1039842.058 units remaining) [ (Pair Unit Unit) ] - - location: 71 (remaining gas: 1039840.483 units remaining) + - location: 71 (remaining gas: 1039842.013 units remaining) [ ] - - location: 72 (remaining gas: 1039840.408 units remaining) + - location: 72 (remaining gas: 1039841.968 units remaining) [ Unit @d ] - - location: 73 (remaining gas: 1039840.333 units remaining) + - location: 73 (remaining gas: 1039841.923 units remaining) [ Unit @c Unit @d ] - - location: 74 (remaining gas: 1039840.258 units remaining) + - location: 74 (remaining gas: 1039841.878 units remaining) [ (Pair Unit Unit) ] - - location: 75 (remaining gas: 1039840.178 units remaining) + - location: 75 (remaining gas: 1039841.828 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 76 (remaining gas: 1039840.098 units remaining) + - location: 76 (remaining gas: 1039841.778 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 77 (remaining gas: 1039839.960 units remaining) + - location: 77 (remaining gas: 1039841.670 units remaining) [ (Pair Unit Unit) ] - - location: 79 (remaining gas: 1039839.880 units remaining) + - location: 79 (remaining gas: 1039841.620 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 80 (remaining gas: 1039839.800 units remaining) + - location: 80 (remaining gas: 1039841.570 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 81 (remaining gas: 1039839.662 units remaining) + - location: 81 (remaining gas: 1039841.462 units remaining) [ (Pair Unit Unit) ] - - location: 83 (remaining gas: 1039839.582 units remaining) + - location: 83 (remaining gas: 1039841.412 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 84 (remaining gas: 1039839.502 units remaining) + - location: 84 (remaining gas: 1039841.362 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 85 (remaining gas: 1039839.364 units remaining) + - location: 85 (remaining gas: 1039841.254 units remaining) [ (Pair Unit Unit) ] - - location: 87 (remaining gas: 1039839.284 units remaining) + - location: 87 (remaining gas: 1039841.204 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 88 (remaining gas: 1039839.204 units remaining) + - location: 88 (remaining gas: 1039841.154 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 89 (remaining gas: 1039839.066 units remaining) + - location: 89 (remaining gas: 1039841.046 units remaining) [ (Pair Unit Unit) ] - - location: 91 (remaining gas: 1039838.986 units remaining) + - location: 91 (remaining gas: 1039840.996 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 92 (remaining gas: 1039838.906 units remaining) + - location: 92 (remaining gas: 1039840.946 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 93 (remaining gas: 1039838.768 units remaining) + - location: 93 (remaining gas: 1039840.838 units remaining) [ (Pair Unit Unit) ] - - location: 95 (remaining gas: 1039838.688 units remaining) + - location: 95 (remaining gas: 1039840.788 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 96 (remaining gas: 1039838.608 units remaining) + - location: 96 (remaining gas: 1039840.738 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 97 (remaining gas: 1039838.470 units remaining) + - location: 97 (remaining gas: 1039840.630 units remaining) [ (Pair Unit Unit) ] - - location: 99 (remaining gas: 1039838.390 units remaining) + - location: 99 (remaining gas: 1039840.580 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 100 (remaining gas: 1039838.310 units remaining) + - location: 100 (remaining gas: 1039840.530 units remaining) [ Unit @c Unit @d (Pair Unit Unit) ] - - location: 101 (remaining gas: 1039838.172 units remaining) + - location: 101 (remaining gas: 1039840.422 units remaining) [ (Pair Unit Unit) ] - - location: 103 (remaining gas: 1039838.092 units remaining) + - location: 103 (remaining gas: 1039840.372 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 104 (remaining gas: 1039838.012 units remaining) + - location: 104 (remaining gas: 1039840.322 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 105 (remaining gas: 1039837.874 units remaining) + - location: 105 (remaining gas: 1039840.214 units remaining) [ (Pair Unit Unit) ] - - location: 107 (remaining gas: 1039837.794 units remaining) + - location: 107 (remaining gas: 1039840.164 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 108 (remaining gas: 1039837.714 units remaining) + - location: 108 (remaining gas: 1039840.114 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 109 (remaining gas: 1039837.576 units remaining) + - location: 109 (remaining gas: 1039840.006 units remaining) [ (Pair Unit Unit) ] - - location: 111 (remaining gas: 1039837.496 units remaining) + - location: 111 (remaining gas: 1039839.956 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 112 (remaining gas: 1039837.416 units remaining) + - location: 112 (remaining gas: 1039839.906 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 113 (remaining gas: 1039837.278 units remaining) + - location: 113 (remaining gas: 1039839.798 units remaining) [ (Pair Unit Unit) ] - - location: 115 (remaining gas: 1039837.198 units remaining) + - location: 115 (remaining gas: 1039839.748 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 116 (remaining gas: 1039837.118 units remaining) + - location: 116 (remaining gas: 1039839.698 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 117 (remaining gas: 1039836.980 units remaining) + - location: 117 (remaining gas: 1039839.590 units remaining) [ (Pair Unit Unit) ] - - location: 119 (remaining gas: 1039836.900 units remaining) + - location: 119 (remaining gas: 1039839.540 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 120 (remaining gas: 1039836.820 units remaining) + - location: 120 (remaining gas: 1039839.490 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 121 (remaining gas: 1039836.682 units remaining) + - location: 121 (remaining gas: 1039839.382 units remaining) [ (Pair Unit Unit) ] - - location: 123 (remaining gas: 1039836.607 units remaining) + - location: 123 (remaining gas: 1039839.337 units remaining) [ ] - - location: 124 (remaining gas: 1039836.532 units remaining) + - location: 124 (remaining gas: 1039839.292 units remaining) [ Unit ] - - location: 125 (remaining gas: 1039836.457 units remaining) + - location: 125 (remaining gas: 1039839.247 units remaining) [ Unit Unit ] - - location: 126 (remaining gas: 1039836.382 units remaining) + - location: 126 (remaining gas: 1039839.202 units remaining) [ (Pair Unit Unit) ] - - location: 127 (remaining gas: 1039836.302 units remaining) + - location: 127 (remaining gas: 1039839.152 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 128 (remaining gas: 1039836.222 units remaining) + - location: 128 (remaining gas: 1039839.102 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 129 (remaining gas: 1039836.084 units remaining) + - location: 129 (remaining gas: 1039838.994 units remaining) [ (Pair Unit Unit) ] - - location: 131 (remaining gas: 1039836.004 units remaining) + - location: 131 (remaining gas: 1039838.944 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 132 (remaining gas: 1039835.924 units remaining) + - location: 132 (remaining gas: 1039838.894 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 133 (remaining gas: 1039835.786 units remaining) + - location: 133 (remaining gas: 1039838.786 units remaining) [ (Pair Unit Unit) ] - - location: 135 (remaining gas: 1039835.706 units remaining) + - location: 135 (remaining gas: 1039838.736 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 136 (remaining gas: 1039835.626 units remaining) + - location: 136 (remaining gas: 1039838.686 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 137 (remaining gas: 1039835.488 units remaining) + - location: 137 (remaining gas: 1039838.578 units remaining) [ (Pair Unit Unit) ] - - location: 139 (remaining gas: 1039835.408 units remaining) + - location: 139 (remaining gas: 1039838.528 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 140 (remaining gas: 1039835.328 units remaining) + - location: 140 (remaining gas: 1039838.478 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 141 (remaining gas: 1039835.190 units remaining) + - location: 141 (remaining gas: 1039838.370 units remaining) [ (Pair Unit Unit) ] - - location: 143 (remaining gas: 1039835.110 units remaining) + - location: 143 (remaining gas: 1039838.320 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 144 (remaining gas: 1039835.030 units remaining) + - location: 144 (remaining gas: 1039838.270 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 145 (remaining gas: 1039834.892 units remaining) + - location: 145 (remaining gas: 1039838.162 units remaining) [ (Pair Unit Unit) ] - - location: 147 (remaining gas: 1039834.812 units remaining) + - location: 147 (remaining gas: 1039838.112 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 148 (remaining gas: 1039834.732 units remaining) + - location: 148 (remaining gas: 1039838.062 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 149 (remaining gas: 1039834.594 units remaining) + - location: 149 (remaining gas: 1039837.954 units remaining) [ (Pair Unit Unit) ] - - location: 151 (remaining gas: 1039834.514 units remaining) + - location: 151 (remaining gas: 1039837.904 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 152 (remaining gas: 1039834.434 units remaining) + - location: 152 (remaining gas: 1039837.854 units remaining) [ Unit Unit (Pair Unit Unit) ] - - location: 153 (remaining gas: 1039834.296 units remaining) + - location: 153 (remaining gas: 1039837.746 units remaining) [ (Pair Unit Unit) ] - - location: 155 (remaining gas: 1039834.216 units remaining) + - location: 155 (remaining gas: 1039837.696 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 156 (remaining gas: 1039834.136 units remaining) + - location: 156 (remaining gas: 1039837.646 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 157 (remaining gas: 1039833.998 units remaining) + - location: 157 (remaining gas: 1039837.538 units remaining) [ (Pair Unit Unit) ] - - location: 159 (remaining gas: 1039833.918 units remaining) + - location: 159 (remaining gas: 1039837.488 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 160 (remaining gas: 1039833.838 units remaining) + - location: 160 (remaining gas: 1039837.438 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 161 (remaining gas: 1039833.700 units remaining) + - location: 161 (remaining gas: 1039837.330 units remaining) [ (Pair Unit Unit) ] - - location: 163 (remaining gas: 1039833.620 units remaining) + - location: 163 (remaining gas: 1039837.280 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 164 (remaining gas: 1039833.540 units remaining) + - location: 164 (remaining gas: 1039837.230 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 165 (remaining gas: 1039833.402 units remaining) + - location: 165 (remaining gas: 1039837.122 units remaining) [ (Pair Unit Unit) ] - - location: 167 (remaining gas: 1039833.322 units remaining) + - location: 167 (remaining gas: 1039837.072 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 168 (remaining gas: 1039833.242 units remaining) + - location: 168 (remaining gas: 1039837.022 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 169 (remaining gas: 1039833.104 units remaining) + - location: 169 (remaining gas: 1039836.914 units remaining) [ (Pair Unit Unit) ] - - location: 171 (remaining gas: 1039833.024 units remaining) + - location: 171 (remaining gas: 1039836.864 units remaining) [ (Pair Unit Unit) (Pair Unit Unit) ] - - location: 172 (remaining gas: 1039832.944 units remaining) + - location: 172 (remaining gas: 1039836.814 units remaining) [ Unit @a Unit @b (Pair Unit Unit) ] - - location: 173 (remaining gas: 1039832.806 units remaining) + - location: 173 (remaining gas: 1039836.706 units remaining) [ (Pair Unit Unit) ] - - location: 175 (remaining gas: 1039832.731 units remaining) + - location: 175 (remaining gas: 1039836.661 units remaining) [ ] - - location: 176 (remaining gas: 1039832.656 units remaining) + - location: 176 (remaining gas: 1039836.616 units remaining) [ Unit ] - - location: 177 (remaining gas: 1039832.581 units remaining) + - location: 177 (remaining gas: 1039836.571 units remaining) [ Unit Unit ] - - location: 178 (remaining gas: 1039832.506 units remaining) + - location: 178 (remaining gas: 1039836.526 units remaining) [ (Pair Unit Unit) @p ] - - location: 179 (remaining gas: 1039832.426 units remaining) + - location: 179 (remaining gas: 1039836.476 units remaining) [ (Pair Unit Unit) @p (Pair Unit Unit) @p ] - - location: 180 (remaining gas: 1039832.346 units remaining) + - location: 180 (remaining gas: 1039836.426 units remaining) [ Unit @p.a Unit @b (Pair Unit Unit) @p ] - - location: 181 (remaining gas: 1039832.208 units remaining) + - location: 181 (remaining gas: 1039836.318 units remaining) [ (Pair Unit Unit) @p ] - - location: 183 (remaining gas: 1039832.128 units remaining) + - location: 183 (remaining gas: 1039836.268 units remaining) [ (Pair Unit Unit) @p (Pair Unit Unit) @p ] - - location: 184 (remaining gas: 1039832.048 units remaining) + - location: 184 (remaining gas: 1039836.218 units remaining) [ Unit @a Unit @p.b (Pair Unit Unit) @p ] - - location: 185 (remaining gas: 1039831.910 units remaining) + - location: 185 (remaining gas: 1039836.110 units remaining) [ (Pair Unit Unit) @p ] - - location: 187 (remaining gas: 1039831.830 units remaining) + - location: 187 (remaining gas: 1039836.060 units remaining) [ (Pair Unit Unit) @p (Pair Unit Unit) @p ] - - location: 188 (remaining gas: 1039831.750 units remaining) + - location: 188 (remaining gas: 1039836.010 units remaining) [ Unit @p.a Unit @p.b (Pair Unit Unit) @p ] - - location: 189 (remaining gas: 1039831.612 units remaining) + - location: 189 (remaining gas: 1039835.902 units remaining) [ (Pair Unit Unit) @p ] - - location: 191 (remaining gas: 1039831.532 units remaining) + - location: 191 (remaining gas: 1039835.852 units remaining) [ (Pair Unit Unit) @p (Pair Unit Unit) @p ] - - location: 192 (remaining gas: 1039831.452 units remaining) + - location: 192 (remaining gas: 1039835.802 units remaining) [ Unit @a Unit @p.b (Pair Unit Unit) @p ] - - location: 193 (remaining gas: 1039831.314 units remaining) + - location: 193 (remaining gas: 1039835.694 units remaining) [ (Pair Unit Unit) @p ] - - location: 195 (remaining gas: 1039831.234 units remaining) + - location: 195 (remaining gas: 1039835.644 units remaining) [ (Pair Unit Unit) @p (Pair Unit Unit) @p ] - - location: 196 (remaining gas: 1039831.154 units remaining) + - location: 196 (remaining gas: 1039835.594 units remaining) [ Unit @p.a Unit @b (Pair Unit Unit) @p ] - - location: 197 (remaining gas: 1039831.016 units remaining) + - location: 197 (remaining gas: 1039835.486 units remaining) [ (Pair Unit Unit) @p ] - - location: 199 (remaining gas: 1039830.941 units remaining) + - location: 199 (remaining gas: 1039835.441 units remaining) [ ] - - location: 200 (remaining gas: 1039830.866 units remaining) + - location: 200 (remaining gas: 1039835.396 units remaining) [ Unit @b ] - - location: 201 (remaining gas: 1039830.791 units remaining) + - location: 201 (remaining gas: 1039835.351 units remaining) [ Unit @a Unit @b ] - - location: 202 (remaining gas: 1039830.716 units remaining) + - location: 202 (remaining gas: 1039835.306 units remaining) [ (Pair Unit Unit) @c ] - - location: 203 (remaining gas: 1039830.636 units remaining) + - location: 203 (remaining gas: 1039835.256 units remaining) [ Unit @b Unit @a ] - - location: 204 (remaining gas: 1039830.498 units remaining) + - location: 204 (remaining gas: 1039835.148 units remaining) [ ] - - location: 206 (remaining gas: 1039830.423 units remaining) + - location: 206 (remaining gas: 1039835.103 units remaining) [ Unit ] - - location: 207 (remaining gas: 1039830.348 units remaining) + - location: 207 (remaining gas: 1039835.058 units remaining) [ {} Unit ] - - location: 209 (remaining gas: 1039830.273 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039830.228 units remaining) + - location: 209 (remaining gas: 1039835.013 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.b2c677ad7b.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" index a190dce30a42..3caef151ea48 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" @@ -7,28 +7,26 @@ emitted operations big_map diff trace - - location: 8 (remaining gas: 1039961.660 units remaining) + - location: 9 (remaining gas: 1039961.660 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" 0 0) ] - - location: 9 (remaining gas: 1039961.580 units remaining) + - location: 9 (remaining gas: 1039961.610 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter ] - - location: 10 (remaining gas: 1039960.970 units remaining) + - location: 10 (remaining gas: 1039961.030 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 11 (remaining gas: 1039745.532 units remaining) + - location: 11 (remaining gas: 1039745.622 units remaining) [ 500 ] - - location: 14 (remaining gas: 1039535.019 units remaining) + - location: 12 (remaining gas: 1039745.577 units remaining) + [ ] + - location: 14 (remaining gas: 1039535.169 units remaining) [ 2500 ] - - location: 13 (remaining gas: 1039534.974 units remaining) - [ 2500 ] - - location: 12 (remaining gas: 1039534.974 units remaining) + - location: 12 (remaining gas: 1039535.169 units remaining) [ 500 2500 ] - - location: 15 (remaining gas: 1039534.899 units remaining) + - location: 15 (remaining gas: 1039535.124 units remaining) [ (Pair 500 2500) ] - - location: 16 (remaining gas: 1039534.824 units remaining) + - location: 16 (remaining gas: 1039535.079 units remaining) [ {} (Pair 500 2500) ] - - location: 18 (remaining gas: 1039534.749 units remaining) - [ (Pair {} 500 2500) ] - - location: -1 (remaining gas: 1039534.704 units remaining) + - location: 18 (remaining gas: 1039535.034 units remaining) [ (Pair {} 500 2500) ] 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 dd02eea84974..bc647e6b8d73 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Left (Pair False False)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Left (Pair False False)) @parameter ] - - location: 19 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair False False) @parameter.left ] + - location: 19 (remaining gas: 1039985.990 units remaining) [ False False ] - - location: 20 (remaining gas: 1039985.820 units remaining) + - location: 20 (remaining gas: 1039985.940 units remaining) [ False ] - - location: 21 (remaining gas: 1039985.745 units remaining) + - location: 21 (remaining gas: 1039985.895 units remaining) [ (Left False) ] - - location: -1 (remaining gas: 1039985.700 units remaining) - [ (Left False) ] - - location: 28 (remaining gas: 1039985.625 units remaining) + - location: 28 (remaining gas: 1039985.850 units remaining) [ (Some (Left False)) ] - - location: 29 (remaining gas: 1039985.550 units remaining) + - location: 29 (remaining gas: 1039985.805 units remaining) [ {} (Some (Left False)) ] - - location: 31 (remaining gas: 1039985.475 units remaining) - [ (Pair {} (Some (Left False))) ] - - location: -1 (remaining gas: 1039985.430 units remaining) + - location: 31 (remaining gas: 1039985.760 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 21a8e7208cfc..5564f9fc872e 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Left (Pair False True)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Left (Pair False True)) @parameter ] - - location: 19 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair False True) @parameter.left ] + - location: 19 (remaining gas: 1039985.990 units remaining) [ False True ] - - location: 20 (remaining gas: 1039985.820 units remaining) + - location: 20 (remaining gas: 1039985.940 units remaining) [ True ] - - location: 21 (remaining gas: 1039985.745 units remaining) + - location: 21 (remaining gas: 1039985.895 units remaining) [ (Left True) ] - - location: -1 (remaining gas: 1039985.700 units remaining) - [ (Left True) ] - - location: 28 (remaining gas: 1039985.625 units remaining) + - location: 28 (remaining gas: 1039985.850 units remaining) [ (Some (Left True)) ] - - location: 29 (remaining gas: 1039985.550 units remaining) + - location: 29 (remaining gas: 1039985.805 units remaining) [ {} (Some (Left True)) ] - - location: 31 (remaining gas: 1039985.475 units remaining) - [ (Pair {} (Some (Left True))) ] - - location: -1 (remaining gas: 1039985.430 units remaining) + - location: 31 (remaining gas: 1039985.760 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 237e98b2e6e4..285f290fce76 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Left (Pair True False)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Left (Pair True False)) @parameter ] - - location: 19 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair True False) @parameter.left ] + - location: 19 (remaining gas: 1039985.990 units remaining) [ True False ] - - location: 20 (remaining gas: 1039985.820 units remaining) + - location: 20 (remaining gas: 1039985.940 units remaining) [ True ] - - location: 21 (remaining gas: 1039985.745 units remaining) + - location: 21 (remaining gas: 1039985.895 units remaining) [ (Left True) ] - - location: -1 (remaining gas: 1039985.700 units remaining) - [ (Left True) ] - - location: 28 (remaining gas: 1039985.625 units remaining) + - location: 28 (remaining gas: 1039985.850 units remaining) [ (Some (Left True)) ] - - location: 29 (remaining gas: 1039985.550 units remaining) + - location: 29 (remaining gas: 1039985.805 units remaining) [ {} (Some (Left True)) ] - - location: 31 (remaining gas: 1039985.475 units remaining) - [ (Pair {} (Some (Left True))) ] - - location: -1 (remaining gas: 1039985.430 units remaining) + - location: 31 (remaining gas: 1039985.760 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 02d5dfb98939..61bb4eaf7777 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Left (Pair True True)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Left (Pair True True)) @parameter ] - - location: 19 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair True True) @parameter.left ] + - location: 19 (remaining gas: 1039985.990 units remaining) [ True True ] - - location: 20 (remaining gas: 1039985.820 units remaining) + - location: 20 (remaining gas: 1039985.940 units remaining) [ False ] - - location: 21 (remaining gas: 1039985.745 units remaining) + - location: 21 (remaining gas: 1039985.895 units remaining) [ (Left False) ] - - location: -1 (remaining gas: 1039985.700 units remaining) - [ (Left False) ] - - location: 28 (remaining gas: 1039985.625 units remaining) + - location: 28 (remaining gas: 1039985.850 units remaining) [ (Some (Left False)) ] - - location: 29 (remaining gas: 1039985.550 units remaining) + - location: 29 (remaining gas: 1039985.805 units remaining) [ {} (Some (Left False)) ] - - location: 31 (remaining gas: 1039985.475 units remaining) - [ (Pair {} (Some (Left False))) ] - - location: -1 (remaining gas: 1039985.430 units remaining) + - location: 31 (remaining gas: 1039985.760 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 d789aab262b5..d22130b833cd 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Right (Pair 0 0)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Right (Pair 0 0)) @parameter ] - - location: 24 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair 0 0) @parameter.right ] + - location: 24 (remaining gas: 1039985.990 units remaining) [ 0 0 ] - - location: 25 (remaining gas: 1039985.790 units remaining) + - location: 25 (remaining gas: 1039985.910 units remaining) [ 0 ] - - location: 26 (remaining gas: 1039985.715 units remaining) + - location: 26 (remaining gas: 1039985.865 units remaining) [ (Right 0) ] - - location: -1 (remaining gas: 1039985.670 units remaining) - [ (Right 0) ] - - location: 28 (remaining gas: 1039985.595 units remaining) + - location: 28 (remaining gas: 1039985.820 units remaining) [ (Some (Right 0)) ] - - location: 29 (remaining gas: 1039985.520 units remaining) + - location: 29 (remaining gas: 1039985.775 units remaining) [ {} (Some (Right 0)) ] - - location: 31 (remaining gas: 1039985.445 units remaining) - [ (Pair {} (Some (Right 0))) ] - - location: -1 (remaining gas: 1039985.400 units remaining) + - location: 31 (remaining gas: 1039985.730 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 26db41b298c2..05ea915e2d85 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Right (Pair 0 1)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Right (Pair 0 1)) @parameter ] - - location: 24 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair 0 1) @parameter.right ] + - location: 24 (remaining gas: 1039985.990 units remaining) [ 0 1 ] - - location: 25 (remaining gas: 1039985.790 units remaining) + - location: 25 (remaining gas: 1039985.910 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039985.715 units remaining) + - location: 26 (remaining gas: 1039985.865 units remaining) [ (Right 1) ] - - location: -1 (remaining gas: 1039985.670 units remaining) - [ (Right 1) ] - - location: 28 (remaining gas: 1039985.595 units remaining) + - location: 28 (remaining gas: 1039985.820 units remaining) [ (Some (Right 1)) ] - - location: 29 (remaining gas: 1039985.520 units remaining) + - location: 29 (remaining gas: 1039985.775 units remaining) [ {} (Some (Right 1)) ] - - location: 31 (remaining gas: 1039985.445 units remaining) - [ (Pair {} (Some (Right 1))) ] - - location: -1 (remaining gas: 1039985.400 units remaining) + - location: 31 (remaining gas: 1039985.730 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 39dd490a1fb4..ab8cac024022 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Right (Pair 1 0)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Right (Pair 1 0)) @parameter ] - - location: 24 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair 1 0) @parameter.right ] + - location: 24 (remaining gas: 1039985.990 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039985.790 units remaining) + - location: 25 (remaining gas: 1039985.910 units remaining) [ 1 ] - - location: 26 (remaining gas: 1039985.715 units remaining) + - location: 26 (remaining gas: 1039985.865 units remaining) [ (Right 1) ] - - location: -1 (remaining gas: 1039985.670 units remaining) - [ (Right 1) ] - - location: 28 (remaining gas: 1039985.595 units remaining) + - location: 28 (remaining gas: 1039985.820 units remaining) [ (Some (Right 1)) ] - - location: 29 (remaining gas: 1039985.520 units remaining) + - location: 29 (remaining gas: 1039985.775 units remaining) [ {} (Some (Right 1)) ] - - location: 31 (remaining gas: 1039985.445 units remaining) - [ (Pair {} (Some (Right 1))) ] - - location: -1 (remaining gas: 1039985.400 units remaining) + - location: 31 (remaining gas: 1039985.730 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 f320c7fbbd77..f8633f39ad88 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Right (Pair 1 1)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Right (Pair 1 1)) @parameter ] - - location: 24 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair 1 1) @parameter.right ] + - location: 24 (remaining gas: 1039985.990 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039985.790 units remaining) + - location: 25 (remaining gas: 1039985.910 units remaining) [ 0 ] - - location: 26 (remaining gas: 1039985.715 units remaining) + - location: 26 (remaining gas: 1039985.865 units remaining) [ (Right 0) ] - - location: -1 (remaining gas: 1039985.670 units remaining) - [ (Right 0) ] - - location: 28 (remaining gas: 1039985.595 units remaining) + - location: 28 (remaining gas: 1039985.820 units remaining) [ (Some (Right 0)) ] - - location: 29 (remaining gas: 1039985.520 units remaining) + - location: 29 (remaining gas: 1039985.775 units remaining) [ {} (Some (Right 0)) ] - - location: 31 (remaining gas: 1039985.445 units remaining) - [ (Pair {} (Some (Right 0))) ] - - location: -1 (remaining gas: 1039985.400 units remaining) + - location: 31 (remaining gas: 1039985.730 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 8887a67ff520..aa1c992bca8b 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Right (Pair 42 21)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Right (Pair 42 21)) @parameter ] - - location: 24 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair 42 21) @parameter.right ] + - location: 24 (remaining gas: 1039985.990 units remaining) [ 42 21 ] - - location: 25 (remaining gas: 1039985.790 units remaining) + - location: 25 (remaining gas: 1039985.910 units remaining) [ 63 ] - - location: 26 (remaining gas: 1039985.715 units remaining) + - location: 26 (remaining gas: 1039985.865 units remaining) [ (Right 63) ] - - location: -1 (remaining gas: 1039985.670 units remaining) - [ (Right 63) ] - - location: 28 (remaining gas: 1039985.595 units remaining) + - location: 28 (remaining gas: 1039985.820 units remaining) [ (Some (Right 63)) ] - - location: 29 (remaining gas: 1039985.520 units remaining) + - location: 29 (remaining gas: 1039985.775 units remaining) [ {} (Some (Right 63)) ] - - location: 31 (remaining gas: 1039985.445 units remaining) - [ (Pair {} (Some (Right 63))) ] - - location: -1 (remaining gas: 1039985.400 units remaining) + - location: 31 (remaining gas: 1039985.730 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 e495aba83b34..e829e4099f74 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,24 @@ emitted operations big_map diff trace - - location: 15 (remaining gas: 1039986.120 units remaining) + - location: 16 (remaining gas: 1039986.120 units remaining) [ (Pair (Right (Pair 42 63)) None) ] - - location: 16 (remaining gas: 1039986.040 units remaining) + - location: 16 (remaining gas: 1039986.070 units remaining) [ (Right (Pair 42 63)) @parameter ] - - location: 24 (remaining gas: 1039985.900 units remaining) + - location: 17 (remaining gas: 1039986.040 units remaining) + [ (Pair 42 63) @parameter.right ] + - location: 24 (remaining gas: 1039985.990 units remaining) [ 42 63 ] - - location: 25 (remaining gas: 1039985.790 units remaining) + - location: 25 (remaining gas: 1039985.910 units remaining) [ 21 ] - - location: 26 (remaining gas: 1039985.715 units remaining) + - location: 26 (remaining gas: 1039985.865 units remaining) [ (Right 21) ] - - location: -1 (remaining gas: 1039985.670 units remaining) - [ (Right 21) ] - - location: 28 (remaining gas: 1039985.595 units remaining) + - location: 28 (remaining gas: 1039985.820 units remaining) [ (Some (Right 21)) ] - - location: 29 (remaining gas: 1039985.520 units remaining) + - location: 29 (remaining gas: 1039985.775 units remaining) [ {} (Some (Right 21)) ] - - location: 31 (remaining gas: 1039985.445 units remaining) - [ (Pair {} (Some (Right 21))) ] - - location: -1 (remaining gas: 1039985.400 units remaining) + - location: 31 (remaining gas: 1039985.730 units remaining) [ (Pair {} (Some (Right 21))) ] 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 f5bcaa921321..2bd785e6083d 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,59 +7,53 @@ emitted operations big_map diff trace - - location: 14 (remaining gas: 1039974.861 units remaining) + - location: 15 (remaining gas: 1039974.861 units remaining) [ (Pair (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) Unit) ] - - location: 15 (remaining gas: 1039974.781 units remaining) + - location: 15 (remaining gas: 1039974.811 units remaining) [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) @parameter ] - - location: 16 (remaining gas: 1039974.701 units remaining) + - location: 16 (remaining gas: 1039974.761 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 19 (remaining gas: 1039974.546 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 18 (remaining gas: 1039974.501 units remaining) + - location: 17 (remaining gas: 1039974.716 units remaining) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 19 (remaining gas: 1039974.666 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 17 (remaining gas: 1039974.501 units remaining) + - location: 17 (remaining gas: 1039974.666 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 20 (remaining gas: 1039947.591 units remaining) + - location: 20 (remaining gas: 1039947.786 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 @packed 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 23 (remaining gas: 1039947.380 units remaining) + - location: 23 (remaining gas: 1039947.665 units remaining) [ 0 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 24 (remaining gas: 1039947.305 units remaining) - [ True - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: -1 (remaining gas: 1039947.260 units remaining) + - location: 24 (remaining gas: 1039947.615 units remaining) [ True 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 26 (remaining gas: 1039947.160 units remaining) + - location: 25 (remaining gas: 1039947.590 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: -1 (remaining gas: 1039947.115 units remaining) + - location: 26 (remaining gas: 1039947.545 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 31 (remaining gas: 1039782.611 units remaining) + - location: 31 (remaining gas: 1039783.071 units remaining) [ (Some (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 })) @unpacked ] - - location: 45 (remaining gas: 1039782.476 units remaining) + - location: 40 (remaining gas: 1039783.041 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 39 (remaining gas: 1039782.431 units remaining) + - location: 45 (remaining gas: 1039782.996 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 46 (remaining gas: 1039782.356 units remaining) + - location: 46 (remaining gas: 1039782.951 units remaining) [ ] - - location: 47 (remaining gas: 1039782.281 units remaining) + - location: 47 (remaining gas: 1039782.906 units remaining) [ Unit ] - - location: 48 (remaining gas: 1039782.206 units remaining) + - location: 48 (remaining gas: 1039782.861 units remaining) [ {} Unit ] - - location: 50 (remaining gas: 1039782.131 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039782.086 units remaining) + - location: 50 (remaining gas: 1039782.816 units remaining) [ (Pair {} Unit) ] Runtime error in contract [CONTRACT_HASH]: @@ -74,40 +68,38 @@ At line 4 characters 14 to 26, script reached FAILWITH instruction with Unit trace - - location: 14 (remaining gas: 1039974.861 units remaining) + - location: 15 (remaining gas: 1039974.861 units remaining) [ (Pair (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) Unit) ] - - location: 15 (remaining gas: 1039974.781 units remaining) + - location: 15 (remaining gas: 1039974.811 units remaining) [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) @parameter ] - - location: 16 (remaining gas: 1039974.701 units remaining) + - location: 16 (remaining gas: 1039974.761 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 19 (remaining gas: 1039974.546 units remaining) - [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 18 (remaining gas: 1039974.501 units remaining) + - location: 17 (remaining gas: 1039974.716 units remaining) + [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 19 (remaining gas: 1039974.666 units remaining) [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 17 (remaining gas: 1039974.501 units remaining) + - location: 17 (remaining gas: 1039974.666 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 20 (remaining gas: 1039947.591 units remaining) + - location: 20 (remaining gas: 1039947.786 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 @packed 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 23 (remaining gas: 1039947.380 units remaining) + - location: 23 (remaining gas: 1039947.665 units remaining) [ -1 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 24 (remaining gas: 1039947.305 units remaining) - [ False - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: -1 (remaining gas: 1039947.260 units remaining) + - location: 24 (remaining gas: 1039947.615 units remaining) [ False 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 29 (remaining gas: 1039947.100 units remaining) + - location: 25 (remaining gas: 1039947.590 units remaining) + [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 29 (remaining gas: 1039947.545 units remaining) [ Unit 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] Fatal error: diff --git a/tests_python/tests_alpha/test_contract.py b/tests_python/tests_alpha/test_contract.py index f710440ca35c..4944fe4f75f8 100644 --- a/tests_python/tests_alpha/test_contract.py +++ b/tests_python/tests_alpha/test_contract.py @@ -499,6 +499,23 @@ class TestContracts: @pytest.mark.parametrize( "contract,error_pattern", [ + # Even though the interpreter uses a nonempty stack internally, + # the typechecker should not be able to observe it. + ("stack_bottom_unfailwithable.tz", r'ill-typed script'), + ("stack_bottom_unrightable.tz", r'ill-typed script'), + ("stack_bottom_unleftable.tz", r'ill-typed script'), + ("stack_bottom_ungetable.tz", r'ill-typed script'), + ("stack_bottom_unpairable.tz", r'ill-typed script'), + ("stack_bottom_undug2able.tz", r'ill-typed script'), + ("stack_bottom_undugable.tz", r'ill-typed script'), + ("stack_bottom_undig2able.tz", r'ill-typed script'), + ("stack_bottom_undigable.tz", r'ill-typed script'), + ("stack_bottom_undip2able.tz", r'ill-typed script'), + ("stack_bottom_undipable.tz", r'ill-typed script'), + ("stack_bottom_undup2able.tz", r'ill-typed script'), + ("stack_bottom_undropable.tz", r'ill-typed script'), + ("stack_bottom_unpopable.tz", r'ill-typed script'), + ("stack_bottom_unpopable_in_lambda.tz", r'ill-typed script'), # operations cannot be PACKed ( "pack_operation.tz", -- GitLab From 5f43f038288bbf627e61661d1887d5ea0f040dbc Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 15 Apr 2021 18:21:24 +0200 Subject: [PATCH 12/69] Proto/Michelson: Remove logger argument --- .../lib_protocol/script_interpreter.ml | 404 +++++++++--------- 1 file changed, 202 insertions(+), 202 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 9b0d2c164654..1a463093ef96 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -823,35 +823,34 @@ let rec interp_stack_prefix_preserving_operation : *) let rec next : type a s r f. - logger option -> outdated_context * step_constants -> local_gas_counter -> (a, s, r, f) continuation -> a -> s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = - fun logger ((ctxt, _) as g) gas ks0 accu stack -> + fun ((ctxt, _) as g) gas ks0 accu stack -> match ks0 with | KLog (ks, logger) -> log logger g gas ks accu stack | KNil -> Lwt.return (Ok (accu, stack, ctxt, gas)) | KCons (k, ks) -> - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | KLoop_in (ki, ks') -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> let (accu', stack') = stack in - if accu then (step [@ocaml.tailcall]) logger g gas ki ks0 accu' stack' - else (next [@ocaml.tailcall]) logger g gas ks' accu' stack' ) + if accu then (step [@ocaml.tailcall]) g gas ki ks0 accu' stack' + else (next [@ocaml.tailcall]) g gas ks' accu' stack' ) | KReturn (stack', ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> - next logger g gas ks accu stack' ) + next g gas ks accu stack' ) | KLoop_in_left (ki, ks') -> ( match consume_control gas ks0 with | None -> @@ -859,15 +858,15 @@ let rec next : | Some gas -> ( match accu with | L v -> - (step [@ocaml.tailcall]) logger g gas ki ks0 v stack + (step [@ocaml.tailcall]) g gas ki ks0 v stack | R v -> - (next [@ocaml.tailcall]) logger g gas ks' v stack ) ) + (next [@ocaml.tailcall]) g gas ks' v stack ) ) | KUndip (x, ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> - next logger g gas ks x (accu, stack) ) + next g gas ks x (accu, stack) ) | KIter (body, xs, ks) -> ( match consume_control gas ks0 with | None -> @@ -875,10 +874,10 @@ let rec next : | Some gas -> ( match xs with | [] -> - next logger g gas ks accu stack + next g gas ks accu stack | x :: xs -> let ks = KIter (body, xs, ks) in - (step [@ocaml.tailcall]) logger g gas body ks x (accu, stack) ) ) + (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) ) | KList_enter_body (body, xs, ys, len, ks) -> ( match consume_control gas ks0 with | None -> @@ -887,10 +886,10 @@ let rec next : match xs with | [] -> let ys = {elements = List.rev ys; length = len} in - next logger g gas ks ys (accu, stack) + next g gas ks ys (accu, stack) | x :: xs -> let ks = KList_exit_body (body, xs, ys, len, ks) in - (step [@ocaml.tailcall]) logger g gas body ks x (accu, stack) ) ) + (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) ) | KList_exit_body (body, xs, ys, len, ks) -> ( match consume_control gas ks0 with | None -> @@ -898,7 +897,7 @@ let rec next : | Some gas -> let ks = KList_enter_body (body, xs, accu :: ys, len, ks) in let (accu, stack) = stack in - next logger g gas ks accu stack ) + next g gas ks accu stack ) | KMap_enter_body (body, xs, ys, ks) -> ( match consume_control gas ks0 with | None -> @@ -906,12 +905,12 @@ let rec next : | Some gas -> ( match xs with | [] -> - next logger g gas ks ys (accu, stack) + next g gas ks ys (accu, stack) | (xk, xv) :: xs -> let ks = KMap_exit_body (body, xs, ys, xk, ks) in let res = (xk, xv) in let stack = (accu, stack) in - (step [@ocaml.tailcall]) logger g gas body ks res stack ) ) + (step [@ocaml.tailcall]) g gas body ks res stack ) ) | KMap_exit_body (body, xs, ys, yk, ks) -> ( match consume_control gas ks0 with | None -> @@ -920,11 +919,10 @@ let rec next : let ys = map_update yk (Some accu) ys in let ks = KMap_enter_body (body, xs, ys, ks) in let (accu, stack) = stack in - next logger g gas ks accu stack ) + next g gas ks accu stack ) and step : type a s b t r f. - logger option -> outdated_context * step_constants -> local_gas_counter -> (a, s, b, t) kinstr -> @@ -932,7 +930,7 @@ and step : a -> s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = - fun logger ((ctxt, sc) as g) gas i ks accu stack -> + fun ((ctxt, sc) as g) gas i ks accu stack -> match consume gas i accu stack with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) @@ -945,168 +943,168 @@ and step : | LogExit prev_kinfo -> log_exit logger ctxt gas prev_kinfo k accu stack ) ; let k = log_next_kinstr logger k in - (step [@ocaml.tailcall]) (Some logger) g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IHalt _ -> - next logger g gas ks accu stack + next g gas ks accu stack (* stack ops *) | IDrop (_, k) -> let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IDup (_, k) -> - (step [@ocaml.tailcall]) logger g gas k ks accu (accu, stack) + (step [@ocaml.tailcall]) g gas k ks accu (accu, stack) | ISwap (_, k) -> let (top, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks top (accu, stack) + (step [@ocaml.tailcall]) g gas k ks top (accu, stack) | IConst (_, v, k) -> - (step [@ocaml.tailcall]) logger g gas k ks v (accu, stack) + (step [@ocaml.tailcall]) g gas k ks v (accu, stack) (* options *) | ICons_some (_, k) -> - (step [@ocaml.tailcall]) logger g gas k ks (Some accu) stack + (step [@ocaml.tailcall]) g gas k ks (Some accu) stack | ICons_none (_, _, k) -> - (step [@ocaml.tailcall]) logger g gas k ks None (accu, stack) + (step [@ocaml.tailcall]) g gas k ks None (accu, stack) | IIf_none (_, bt, bf) -> ( match accu with | None -> let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas bt ks accu stack + (step [@ocaml.tailcall]) g gas bt ks accu stack | Some v -> - (step [@ocaml.tailcall]) logger g gas bf ks v stack ) + (step [@ocaml.tailcall]) g gas bf ks v stack ) (* pairs *) | ICons_pair (_, k) -> let (b, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks (accu, b) stack + (step [@ocaml.tailcall]) g gas k ks (accu, b) stack | IUnpair (_, k) -> let (a, b) = accu in - (step [@ocaml.tailcall]) logger g gas k ks a (b, stack) + (step [@ocaml.tailcall]) g gas k ks a (b, stack) | ICar (_, k) -> let (a, _) = accu in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack | ICdr (_, k) -> let (_, b) = accu in - (step [@ocaml.tailcall]) logger g gas k ks b stack + (step [@ocaml.tailcall]) g gas k ks b stack (* unions *) | ICons_left (_, k) -> - (step [@ocaml.tailcall]) logger g gas k ks (L accu) stack + (step [@ocaml.tailcall]) g gas k ks (L accu) stack | ICons_right (_, k) -> - (step [@ocaml.tailcall]) logger g gas k ks (R accu) stack + (step [@ocaml.tailcall]) g gas k ks (R accu) stack | IIf_left (_, bl, br) -> ( match accu with | L v -> - (step [@ocaml.tailcall]) logger g gas bl ks v stack + (step [@ocaml.tailcall]) g gas bl ks v stack | R v -> - (step [@ocaml.tailcall]) logger g gas br ks v stack ) + (step [@ocaml.tailcall]) g gas br ks v stack ) (* lists *) | ICons_list (_, k) -> let (tl, stack) = stack in let accu = list_cons accu tl in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | INil (_, k) -> let stack = (accu, stack) in let accu = list_empty in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IIf_cons (_, bc, bn) -> ( match accu.elements with | [] -> let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas bn ks accu stack + (step [@ocaml.tailcall]) g gas bn ks accu stack | hd :: tl -> let tl = {elements = tl; length = accu.length - 1} in - (step [@ocaml.tailcall]) logger g gas bc ks hd (tl, stack) ) + (step [@ocaml.tailcall]) g gas bc ks hd (tl, stack) ) | IList_map (_, body, k) -> 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 (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | IList_size (_, k) -> let list = accu in let len = Script_int.(abs (of_int list.length)) in - (step [@ocaml.tailcall]) logger g gas k ks len stack + (step [@ocaml.tailcall]) g gas k ks len stack | IList_iter (_, body, k) -> let xs = accu.elements in let ks = KIter (body, xs, KCons (k, ks)) in let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack (* sets *) | IEmpty_set (_, ty, k) -> let res = empty_set ty in let stack = (accu, stack) in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | ISet_iter (_, body, k) -> let set = accu in let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in let ks = KIter (body, l, KCons (k, ks)) in let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | ISet_mem (_, k) -> let (set, stack) = stack in let res = set_mem accu set in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | ISet_update (_, k) -> let (presence, (set, stack)) = stack in let res = set_update accu presence set in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | ISet_size (_, k) -> let res = set_size accu in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack (* maps *) | IEmpty_map (_, ty, _, k) -> let res = empty_map ty and stack = (accu, stack) in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMap_map (_, body, k) -> let map = accu in let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in let ys = empty_map (map_key_ty map) in let ks = KMap_enter_body (body, xs, ys, KCons (k, ks)) in let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | IMap_iter (_, body, k) -> let map = accu in let l = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in let ks = KIter (body, l, KCons (k, ks)) in let (accu, stack) = stack in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | IMap_mem (_, k) -> let (map, stack) = stack in let res = map_mem accu map in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMap_get (_, k) -> let (map, stack) = stack in let res = map_get accu map in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMap_update (_, k) -> let (v, (map, stack)) = stack in let key = accu in let res = map_update key v map in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMap_get_and_update (_, k) -> let key = accu in let (v, (map, rest)) = stack in let map' = map_update key v map in let v' = map_get key map in - (step [@ocaml.tailcall]) logger g gas k ks v' (map', rest) + (step [@ocaml.tailcall]) g gas k ks v' (map', rest) | IMap_size (_, k) -> let res = map_size accu in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack (* Big map operations *) | IEmpty_big_map (_, tk, tv, k) -> let ebm = Script_ir_translator.empty_big_map tk tv in - (step [@ocaml.tailcall]) logger g gas k ks ebm (accu, stack) + (step [@ocaml.tailcall]) g gas k ks ebm (accu, stack) | IBig_map_mem (_, k) -> let (map, stack) = stack in let key = accu in ( use_gas_counter_in_ctxt ctxt gas @@ fun ctxt -> Script_ir_translator.big_map_mem ctxt key map ) >>=? fun (res, ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks res stack | IBig_map_get (_, k) -> let (map, stack) = stack in let key = accu in ( use_gas_counter_in_ctxt ctxt gas @@ fun ctxt -> Script_ir_translator.big_map_get ctxt key map ) >>=? fun (res, ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks res stack | IBig_map_update (_, k) -> let key = accu in let (maybe_value, (map, stack)) = stack in @@ -1114,7 +1112,7 @@ and step : @@ fun ctxt -> Script_ir_translator.big_map_update ctxt key maybe_value map ) >>=? fun (big_map, ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks big_map stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks big_map stack | IBig_map_get_and_update (_, k) -> let key = accu in let (v, (map, stack)) = stack in @@ -1122,34 +1120,34 @@ and step : @@ fun ctxt -> Script_ir_translator.big_map_get_and_update ctxt key v map ) >>=? fun ((v', map'), ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks v' (map', stack) + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks v' (map', stack) (* timestamp operations *) | IAdd_seconds_to_timestamp (_, k) -> let n = accu in let (t, stack) = stack in let result = Script_timestamp.add_delta t n in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack | IAdd_timestamp_to_seconds (_, k) -> let t = accu in let (n, stack) = stack in let result = Script_timestamp.add_delta t n in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack | ISub_timestamp_seconds (_, k) -> let t = accu in let (s, stack) = stack in let result = Script_timestamp.sub_delta t s in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack | IDiff_timestamps (_, k) -> let t1 = accu in let (t2, stack) = stack in let result = Script_timestamp.diff t1 t2 in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack (* string operations *) | IConcat_string_pair (_, k) -> let x = accu in let (y, stack) = stack in let s = String.concat "" [x; y] in - (step [@ocaml.tailcall]) logger g gas k ks s stack + (step [@ocaml.tailcall]) g gas k ks s stack | IConcat_string (_, k) -> let ss = accu in (* The cost for this fold_left has been paid upfront *) @@ -1162,7 +1160,7 @@ and step : consume' ctxt gas (Interp_costs.concat_string total_length :> int) >>?= fun gas -> let s = String.concat "" ss.elements in - (step [@ocaml.tailcall]) logger g gas k ks s stack + (step [@ocaml.tailcall]) g gas k ks s stack | ISlice_string (_, k) -> let offset = accu and (length, (s, stack)) = stack in let s_length = Z.of_int (String.length s) in @@ -1171,18 +1169,18 @@ and step : if Compare.Z.(offset < s_length && Z.add offset length <= s_length) then let s = String.sub s (Z.to_int offset) (Z.to_int length) in - (step [@ocaml.tailcall]) logger g gas k ks (Some s) stack - else (step [@ocaml.tailcall]) logger g gas k ks None stack + (step [@ocaml.tailcall]) g gas k ks (Some s) stack + else (step [@ocaml.tailcall]) g gas k ks None stack | IString_size (_, k) -> let s = accu in let result = Script_int.(abs (of_int (String.length s))) in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack (* bytes operations *) | IConcat_bytes_pair (_, k) -> let x = accu in let (y, stack) = stack in let s = Bytes.cat x y in - (step [@ocaml.tailcall]) logger g gas k ks s stack + (step [@ocaml.tailcall]) g gas k ks s stack | IConcat_bytes (_, k) -> let ss = accu in (* The cost for this fold_left has been paid upfront *) @@ -1195,7 +1193,7 @@ and step : consume' ctxt gas (Interp_costs.concat_string total_length :> int) >>?= fun gas -> let s = Bytes.concat Bytes.empty ss.elements in - (step [@ocaml.tailcall]) logger g gas k ks s stack + (step [@ocaml.tailcall]) g gas k ks s stack | ISlice_bytes (_, k) -> let offset = accu and (length, (s, stack)) = stack in let s_length = Z.of_int (Bytes.length s) in @@ -1204,23 +1202,23 @@ and step : if Compare.Z.(offset < s_length && Z.add offset length <= s_length) then let s = Bytes.sub s (Z.to_int offset) (Z.to_int length) in - (step [@ocaml.tailcall]) logger g gas k ks (Some s) stack - else (step [@ocaml.tailcall]) logger g gas k ks None stack + (step [@ocaml.tailcall]) g gas k ks (Some s) stack + else (step [@ocaml.tailcall]) g gas k ks None stack | IBytes_size (_, k) -> let s = accu in let result = Script_int.(abs (of_int (Bytes.length s))) in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack (* currency operations *) | IAdd_tez (_, k) -> let x = accu in let (y, stack) = stack in Tez.(x +? y) - >>?= fun res -> (step [@ocaml.tailcall]) logger g gas k ks res stack + >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack | ISub_tez (_, k) -> let x = accu in let (y, stack) = stack in Tez.(x -? y) - >>?= fun res -> (step [@ocaml.tailcall]) logger g gas k ks res stack + >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack | IMul_teznat (kinfo, logger, k) -> ( let x = accu in let (y, stack) = stack in @@ -1229,8 +1227,7 @@ and step : get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) | Some y -> Tez.(x *? y) - >>?= fun res -> - (step [@ocaml.tailcall]) logger g gas k ks res stack ) + >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack ) | IMul_nattez (kinfo, logger, k) -> ( let y = accu in let (x, stack) = stack in @@ -1239,82 +1236,81 @@ and step : get_log logger >>=? fun log -> fail (Overflow (kinfo.iloc, log)) | Some y -> Tez.(x *? y) - >>?= fun res -> - (step [@ocaml.tailcall]) logger g gas k ks res stack ) + >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack ) (* boolean operations *) | IOr (_, k) -> let x = accu in let (y, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks (x || y) stack + (step [@ocaml.tailcall]) g gas k ks (x || y) stack | IAnd (_, k) -> let x = accu in let (y, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks (x && y) stack + (step [@ocaml.tailcall]) g gas k ks (x && y) stack | IXor (_, k) -> let x = accu in let (y, stack) = stack in let res = Compare.Bool.(x <> y) in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | INot (_, k) -> let x = accu in - (step [@ocaml.tailcall]) logger g gas k ks (not x) stack + (step [@ocaml.tailcall]) g gas k ks (not x) stack (* integer operations *) | IIs_nat (_, k) -> let x = accu in let res = Script_int.is_nat x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAbs_int (_, k) -> let x = accu in let res = Script_int.abs x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IInt_nat (_, k) -> let x = accu in let res = Script_int.int x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | INeg_int (_, k) -> let x = accu in let res = Script_int.neg x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | INeg_nat (_, k) -> let x = accu in let res = Script_int.neg x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAdd_intint (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.add x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAdd_intnat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.add x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAdd_natint (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.add x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAdd_natnat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.add_n x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | ISub_int (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.sub x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMul_intint (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMul_intnat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMul_natint (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMul_natnat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.mul_n x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IEdiv_teznat (_, k) -> let x = accu and (y, stack) = stack in let x = Script_int.of_int64 (Tez.to_mutez x) in @@ -1335,7 +1331,7 @@ and step : | _ -> assert false ) in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack | IEdiv_tez (_, k) -> let x = accu and (y, stack) = stack in let x = Script_int.abs (Script_int.of_int64 (Tez.to_mutez x)) in @@ -1355,77 +1351,77 @@ and step : | Some r -> Some (q, r) ) ) in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack | IEdiv_intint (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.ediv x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IEdiv_intnat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.ediv x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IEdiv_natint (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.ediv x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IEdiv_natnat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.ediv_n x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | ILsl_nat (kinfo, logger, k) -> ( 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)) | Some x -> - (step [@ocaml.tailcall]) logger g gas k ks x stack ) + (step [@ocaml.tailcall]) g gas k ks x stack ) | ILsr_nat (kinfo, logger, k) -> ( 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)) | Some r -> - (step [@ocaml.tailcall]) logger g gas k ks r stack ) + (step [@ocaml.tailcall]) g gas k ks r stack ) | IOr_nat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.logor x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAnd_nat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.logand x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IAnd_int_nat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.logand x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IXor_nat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.logxor x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | INot_int (_, k) -> let x = accu in let res = Script_int.lognot x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | INot_nat (_, k) -> let x = accu in let res = Script_int.lognot x in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack (* control *) | IIf (_, bt, bf) -> let (res, stack) = stack in - if accu then (step [@ocaml.tailcall]) logger g gas bt ks res stack - else (step [@ocaml.tailcall]) logger g gas bf ks res stack + if accu then (step [@ocaml.tailcall]) g gas bt ks res stack + else (step [@ocaml.tailcall]) g gas bf ks res stack | ILoop (_, body, k) -> let ks = KLoop_in (body, KCons (k, ks)) in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | ILoop_left (_, bl, br) -> let ks = KLoop_in_left (bl, KCons (br, ks)) in - (next [@ocaml.tailcall]) logger g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | IDip (_, _, b, k) -> let ign = accu in let ks = KUndip (ign, KCons (k, ks)) in let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas b ks accu stack + (step [@ocaml.tailcall]) g gas b ks accu stack | IExec (_, logger, k) -> let arg = accu and (code, stack) = stack in let (Lam (code, _)) = code in @@ -1437,15 +1433,15 @@ and step : log_kinstr logger code.kinstr in let ks = KReturn (stack, KCons (k, ks)) in - (step [@ocaml.tailcall]) logger g gas code ks arg ((), ()) + (step [@ocaml.tailcall]) g gas code ks arg ((), ()) | IApply (_, capture_ty, k) -> let capture = accu in let (lam, stack) = stack in apply ctxt gas capture_ty capture lam >>=? fun (lam', ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks lam' stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks lam' stack | ILambda (_, lam, k) -> - (step [@ocaml.tailcall]) logger g gas k ks lam (accu, stack) + (step [@ocaml.tailcall]) g gas k ks lam (accu, stack) | IFailwith (_, kloc, tv, logger, _) -> let v = accu in let ctxt = update_context gas ctxt in @@ -1454,7 +1450,7 @@ and step : let v = Micheline.strip_locations v in get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) | INop (_, k) -> - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack (* comparison *) | ICompare (_, ty, k) -> let a = accu in @@ -1462,53 +1458,53 @@ and step : let r = Script_int.of_int @@ Script_ir_translator.compare_comparable ty a b in - (step [@ocaml.tailcall]) logger g gas k ks r stack + (step [@ocaml.tailcall]) g gas k ks r stack (* comparators *) | IEq (_, k) -> let a = accu in let a = Script_int.compare a Script_int.zero in let a = Compare.Int.(a = 0) in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack | INeq (_, k) -> let a = accu in let a = Script_int.compare a Script_int.zero in let a = Compare.Int.(a <> 0) in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack | ILt (_, k) -> let a = accu in let a = Script_int.compare a Script_int.zero in let a = Compare.Int.(a < 0) in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack | ILe (_, k) -> let a = accu in let a = Script_int.compare a Script_int.zero in let a = Compare.Int.(a <= 0) in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack | IGt (_, k) -> let a = accu in let a = Script_int.compare a Script_int.zero in let a = Compare.Int.(a > 0) in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack | IGe (_, k) -> let a = accu in let a = Script_int.compare a Script_int.zero in let a = Compare.Int.(a >= 0) in - (step [@ocaml.tailcall]) logger g gas k ks a stack + (step [@ocaml.tailcall]) g gas k ks a stack (* packing *) | IPack (_, ty, k) -> let value = accu in ( use_gas_counter_in_ctxt ctxt gas @@ fun ctxt -> Script_ir_translator.pack_data ctxt ty value ) >>=? fun (bytes, ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks bytes stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks bytes stack | IUnpack (_, ty, k) -> let bytes = accu in (use_gas_counter_in_ctxt ctxt gas @@ fun ctxt -> unpack ctxt ~ty ~bytes) >>=? fun (opt, ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks opt stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks opt stack | IAddress (_, k) -> let (_, address) = accu in - (step [@ocaml.tailcall]) logger g gas k ks address stack + (step [@ocaml.tailcall]) g gas k ks address stack | IContract (kinfo, t, entrypoint, k) -> ( let contract = accu in match (contract, entrypoint) with @@ -1525,20 +1521,20 @@ and step : let gas = update_local_gas_counter ctxt in let ctxt = outdated ctxt in let accu = maybe_contract in - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks accu stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks accu stack | _ -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks None stack ) + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks None stack ) | ITransfer_tokens (_, k) -> let p = accu in let (amount, ((tp, (destination, entrypoint)), stack)) = stack in transfer (ctxt, sc) gas amount tp p destination entrypoint >>=? fun (accu, ctxt, gas) -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks accu stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks accu stack | IImplicit_account (_, k) -> let key = accu in let contract = Contract.implicit_contract key in let res = (Unit_t None, (contract, "default")) in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | ICreate_contract (_, storage_type, param_type, Lam (_, code), root_name, k) -> (* Removed the instruction's arguments manager, spendable and delegatable *) @@ -1556,7 +1552,7 @@ and step : init >>=? fun (res, contract, ctxt, gas) -> let stack = ((contract, "default"), stack) in - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks res stack | ISet_delegate (_, k) -> let delegate = accu in let operation = Delegation delegate in @@ -1568,7 +1564,7 @@ and step : in let gas = update_local_gas_counter ctxt in let ctxt = outdated ctxt in - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks res stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks res stack | IBalance (_, k) -> let ctxt = update_context gas ctxt in Contract.get_balance_carbonated ctxt sc.self @@ -1576,51 +1572,51 @@ and step : let gas = update_local_gas_counter ctxt in let ctxt = outdated ctxt in let g = (ctxt, sc) in - (step [@ocaml.tailcall]) logger g gas k ks balance (accu, stack) + (step [@ocaml.tailcall]) g gas k ks balance (accu, stack) | ILevel (_, k) -> let level = (Level.current (context_from_outdated_context ctxt)).level |> Raw_level.to_int32 |> Script_int.of_int32 |> Script_int.abs in - (step [@ocaml.tailcall]) logger g gas k ks level (accu, stack) + (step [@ocaml.tailcall]) g gas k ks level (accu, stack) | INow (_, k) -> let now = Script_timestamp.now (context_from_outdated_context ctxt) in - (step [@ocaml.tailcall]) logger g gas k ks now (accu, stack) + (step [@ocaml.tailcall]) g gas k ks now (accu, stack) | ICheck_signature (_, k) -> let key = accu and (signature, (message, stack)) = stack in let res = Signature.check key signature message in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IHash_key (_, k) -> let key = accu in let res = Signature.Public_key.hash key in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IBlake2b (_, k) -> let bytes = accu in let hash = Raw_hashes.blake2b bytes in - (step [@ocaml.tailcall]) logger g gas k ks hash stack + (step [@ocaml.tailcall]) g gas k ks hash stack | ISha256 (_, k) -> let bytes = accu in let hash = Raw_hashes.sha256 bytes in - (step [@ocaml.tailcall]) logger g gas k ks hash stack + (step [@ocaml.tailcall]) g gas k ks hash stack | ISha512 (_, k) -> let bytes = accu in let hash = Raw_hashes.sha512 bytes in - (step [@ocaml.tailcall]) logger g gas k ks hash stack + (step [@ocaml.tailcall]) g gas k ks hash stack | ISource (_, k) -> let res = (sc.payer, "default") in - (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + (step [@ocaml.tailcall]) g gas k ks res (accu, stack) | ISender (_, k) -> let res = (sc.source, "default") in - (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + (step [@ocaml.tailcall]) g gas k ks res (accu, stack) | ISelf (_, ty, entrypoint, k) -> let res = (ty, (sc.self, entrypoint)) in - (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + (step [@ocaml.tailcall]) g gas k ks res (accu, stack) | ISelf_address (_, k) -> let res = (sc.self, "default") in - (step [@ocaml.tailcall]) logger g gas k ks res (accu, stack) + (step [@ocaml.tailcall]) g gas k ks res (accu, stack) | IAmount (_, k) -> let accu = sc.amount and stack = (accu, stack) in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IDig (_, _n, n', k) -> let ((accu, stack), x) = interp_stack_prefix_preserving_operation @@ -1630,7 +1626,7 @@ and step : stack in let accu = x and stack = (accu, stack) in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IDug (_, _n, n', k) -> let v = accu in let (accu, stack) = stack in @@ -1641,11 +1637,11 @@ and step : accu stack in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IDipn (_, _n, n', b, k) -> let (accu, stack, restore_prefix) = kundip n' accu stack k in let ks = KCons (restore_prefix, ks) in - (step [@ocaml.tailcall]) logger g gas b ks accu stack + (step [@ocaml.tailcall]) g gas b ks accu stack | IDropn (_, _n, n', k) -> let stack = let rec aux : @@ -1665,10 +1661,10 @@ and step : aux n' accu stack in let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | ISapling_empty_state (_, memo_size, k) -> let state = Sapling.empty_state ~memo_size () in - (step [@ocaml.tailcall]) logger g gas k ks state (accu, stack) + (step [@ocaml.tailcall]) g gas k ks state (accu, stack) | ISapling_verify_update (_, k) -> ( let transaction = accu in let (state, stack) = stack in @@ -1683,12 +1679,12 @@ and step : match balance_state_opt with | Some (balance, state) -> let state = Some (Script_int.of_int64 balance, state) in - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks state stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks state stack | None -> - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks None stack ) + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks None stack ) | IChainId (_, k) -> let accu = sc.chain_id and stack = (accu, stack) in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | INever _ -> ( match accu with _ -> . ) | IVoting_power (_, k) -> @@ -1699,7 +1695,7 @@ and step : let power = Script_int.(abs (of_int32 rolls)) in let gas = update_local_gas_counter ctxt in let ctxt = outdated ctxt in - (step [@ocaml.tailcall]) logger (ctxt, sc) gas k ks power stack + (step [@ocaml.tailcall]) (ctxt, sc) gas k ks power stack | ITotal_voting_power (_, k) -> let ctxt = update_context gas ctxt in Vote.get_total_voting_power ctxt @@ -1708,65 +1704,65 @@ and step : let gas = update_local_gas_counter ctxt in let ctxt = outdated ctxt in let g = (ctxt, sc) in - (step [@ocaml.tailcall]) logger g gas k ks power (accu, stack) + (step [@ocaml.tailcall]) g gas k ks power (accu, stack) | IKeccak (_, k) -> let bytes = accu in let hash = Raw_hashes.keccak256 bytes in - (step [@ocaml.tailcall]) logger g gas k ks hash stack + (step [@ocaml.tailcall]) g gas k ks hash stack | ISha3 (_, k) -> let bytes = accu in let hash = Raw_hashes.sha3_256 bytes in - (step [@ocaml.tailcall]) logger g gas k ks hash stack + (step [@ocaml.tailcall]) g gas k ks hash stack | IAdd_bls12_381_g1 (_, k) -> let x = accu and (y, stack) = stack in let accu = Bls12_381.G1.add x y in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IAdd_bls12_381_g2 (_, k) -> let x = accu and (y, stack) = stack in let accu = Bls12_381.G2.add x y in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IAdd_bls12_381_fr (_, k) -> let x = accu and (y, stack) = stack in let accu = Bls12_381.Fr.add x y in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IMul_bls12_381_g1 (_, k) -> let x = accu and (y, stack) = stack in let accu = Bls12_381.G1.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IMul_bls12_381_g2 (_, k) -> let x = accu and (y, stack) = stack in let accu = Bls12_381.G2.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IMul_bls12_381_fr (_, k) -> let x = accu and (y, stack) = stack in let accu = Bls12_381.Fr.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IMul_bls12_381_fr_z (_, k) -> let x = accu and (y, stack) = stack in let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in let res = Bls12_381.Fr.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IMul_bls12_381_z_fr (_, k) -> let y = accu and (x, stack) = stack in let x = Bls12_381.Fr.of_z (Script_int.to_zint x) in let res = Bls12_381.Fr.mul x y in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | IInt_bls12_381_fr (_, k) -> let x = accu in let res = Script_int.of_zint (Bls12_381.Fr.to_z x) in - (step [@ocaml.tailcall]) logger g gas k ks res stack + (step [@ocaml.tailcall]) g gas k ks res stack | INeg_bls12_381_g1 (_, k) -> let x = accu in let accu = Bls12_381.G1.negate x in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | INeg_bls12_381_g2 (_, k) -> let x = accu in let accu = Bls12_381.G2.negate x in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | INeg_bls12_381_fr (_, k) -> let x = accu in let accu = Bls12_381.Fr.negate x in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IPairing_check_bls12_381 (_, k) -> let pairs = accu in let check = @@ -1779,7 +1775,7 @@ and step : |> Option.map Gt.(eq one)) |> Option.value ~default:false in - (step [@ocaml.tailcall]) logger g gas k ks check stack + (step [@ocaml.tailcall]) g gas k ks check stack | IComb (_, _, witness, k) -> let rec aux : type before after. @@ -1794,7 +1790,7 @@ and step : in let stack = aux witness (accu, stack) in let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IUncomb (_, _, witness, k) -> let rec aux : type before after. @@ -1808,7 +1804,7 @@ and step : in let stack = aux witness (accu, stack) in let (accu, stack) = stack in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IComb_get (_, _, witness, k) -> let comb = accu in let rec aux : @@ -1824,7 +1820,7 @@ and step : aux witness' b in let accu = aux witness comb in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IComb_set (_, _, witness, k) -> let value = accu and (comb, stack) = stack in let rec aux : @@ -1843,7 +1839,7 @@ and step : (hd, aux witness' value tl) in let accu = aux witness value comb in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IDup_n (_, _, witness, k) -> let rec aux : type before after. @@ -1857,18 +1853,18 @@ and step : in let stack = (accu, stack) in let accu = aux witness stack in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack (* Tickets *) | ITicket (_, k) -> let contents = accu and (amount, stack) = stack in let ticketer = (sc.self, "default") in let accu = {ticketer; contents; amount} in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | IRead_ticket (_, k) -> let {ticketer; contents; amount} = accu in let stack = (accu, stack) in let accu = (ticketer, (contents, amount)) in - (step [@ocaml.tailcall]) logger g gas k ks accu stack + (step [@ocaml.tailcall]) g gas k ks accu stack | ISplit_ticket (_, k) -> let ticket = accu and ((amount_a, amount_b), stack) = stack in let result = @@ -1880,7 +1876,7 @@ and step : ({ticket with amount = amount_a}, {ticket with amount = amount_b}) else None in - (step [@ocaml.tailcall]) logger g gas k ks result stack + (step [@ocaml.tailcall]) g gas k ks result stack | IJoin_tickets (_, contents_ty, k) -> let (ticket_a, ticket_b) = accu in let result = @@ -1901,7 +1897,7 @@ and step : } else None in - (step [@ocaml.tailcall]) logger g gas k ks result stack ) + (step [@ocaml.tailcall]) g gas k ks result stack ) (* @@ -1931,49 +1927,49 @@ and log : | KCons (ki, ks') -> let log = enable_log ki in let ks = KLog (ks', logger) in - (step [@ocaml.tailcall]) (Some logger) g gas log ks accu stack + (step [@ocaml.tailcall]) g gas log ks accu stack | KNil -> let ks = ks0 in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KLoop_in (ki, ks') -> let ks' = KLog (ks', logger) in let ks = KLoop_in (enable_log ki, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KReturn (stack', ks') -> let ks' = KLog (ks', logger) in let ks = KReturn (stack', ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KLoop_in_left (ki, ks') -> let ks' = KLog (ks', logger) in let ks = KLoop_in_left (enable_log ki, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KUndip (x, ks') -> let ks' = KLog (ks', logger) in let ks = KUndip (x, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KIter (body, xs, ks') -> let ks' = KLog (ks', logger) in let ks = KIter (enable_log body, xs, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KList_enter_body (body, xs, ys, len, ks') -> let ks' = KLog (ks', logger) in let ks = KList_enter_body (body, xs, ys, len, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KList_exit_body (body, xs, ys, len, ks') -> let ks' = KLog (ks', logger) in let ks = KList_exit_body (body, xs, ys, len, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KMap_enter_body (body, xs, ys, ks') -> let ks' = KLog (ks', logger) in let ks = KMap_enter_body (body, xs, ys, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KMap_exit_body (body, xs, ys, yk, ks') -> let ks' = KLog (ks', logger) in let ks = KMap_exit_body (body, xs, ys, yk, ks') in - (next [@ocaml.tailcall]) (Some logger) g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | KLog (ks', _) -> (* This case should never happen. *) - (next [@ocaml.tailcall]) (Some logger) g gas ks' accu stack + (next [@ocaml.tailcall]) g gas ks' accu stack (* @@ -2246,12 +2242,12 @@ let run_descr logger (ctxt, sc) descr accu stack = let gas = (Gas.gas_counter ctxt :> int) in ( match logger with | None -> - step logger (outdated ctxt, sc) gas descr.kinstr KNil accu stack + step (outdated ctxt, sc) gas descr.kinstr KNil accu stack | Some logger -> let log = ILog (kinfo_of_kinstr descr.kinstr, LogEntry, logger, descr.kinstr) in - step (Some logger) (outdated ctxt, sc) gas log KNil accu stack ) + step (outdated ctxt, sc) gas log KNil accu stack ) >>=? fun (accu, stack, ctxt, gas) -> return (accu, stack, update_context gas ctxt) @@ -2280,7 +2276,7 @@ let kstep logger ctxt step_constants kinstr accu stack = | Some logger -> ILog (kinfo_of_kinstr kinstr, LogEntry, logger, kinstr) in - step logger (outdated ctxt, step_constants) gas kinstr KNil accu stack + step (outdated ctxt, step_constants) gas kinstr KNil accu stack >>=? fun (accu, stack, ctxt, gas) -> return (accu, stack, update_context gas ctxt) @@ -2386,5 +2382,9 @@ module Internals = struct | OutDatedContext of Alpha_context.t [@@unboxed] - let next = next + let next logger g gas ks accu stack = + let ks = + match logger with None -> ks | Some logger -> KLog (ks, logger) + in + next g gas ks accu stack end -- GitLab From c291c22ba293f6988cd762835ccd234e2fa2bb6e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:09:16 +0200 Subject: [PATCH 13/69] Proto/Michelson: Remove dead code Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_typed_ir.ml | 42 ------------------- 1 file changed, 42 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 4728ac28da55..bb954df447c7 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -1841,45 +1841,3 @@ let kinstr_rewritek : IHalt kinfo | ILog (kinfo, event, logger, k) -> ILog (kinfo, event, logger, k) - -let rec ty_of_comparable_ty : type a. a comparable_ty -> a ty = - fun s -> - match s with - | Unit_key _ -> - Unit_t None - | Never_key _ -> - Never_t None - | Int_key _ -> - Int_t None - | Nat_key _ -> - Nat_t None - | Signature_key _ -> - Signature_t None - | String_key _ -> - String_t None - | Bytes_key _ -> - Bytes_t None - | Mutez_key _ -> - Mutez_t None - | Bool_key _ -> - Bool_t None - | Key_hash_key _ -> - Key_hash_t None - | Key_key _ -> - Key_t None - | Timestamp_key _ -> - Timestamp_t None - | Chain_id_key _ -> - Chain_id_t None - | Address_key _ -> - Address_t None - | Pair_key ((a, _), (b, _), _) -> - Pair_t - ( (ty_of_comparable_ty a, None, None), - (ty_of_comparable_ty b, None, None), - None ) - | Union_key ((a, _), (b, _), _) -> - Union_t - ((ty_of_comparable_ty a, None), (ty_of_comparable_ty b, None), None) - | Option_key (t, _) -> - Option_t (ty_of_comparable_ty t, None) -- GitLab From 54149b45143167558bf596f6827eddda89ee6ee9 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:04:41 +0200 Subject: [PATCH 14/69] Proto/Michelson: Improve docstrings Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 80 +++++++++---------- .../lib_protocol/script_interpreter.mli | 2 +- 2 files changed, 40 insertions(+), 42 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 1a463093ef96..f1d618846446 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -27,66 +27,63 @@ (* This module implements an interpreter for Michelson. It takes the - form of a [step] function that interprets script instructions in a - dedicated abstract machine. + form of a [step] function that interprets script instructions in a + dedicated abstract machine. The interpreter is written in a small-step style: an execution - [step] only interprets a single instruction by updating the - configuration of a dedicated abstract machine. + [step] only interprets a single instruction by updating the + configuration of a dedicated abstract machine. This abstract machine has two components: - a stack to control which instructions must be executed ; and - a stack of values where instructions get their inputs and put - their outputs. + their outputs. - In addition, the machine has access to effectful primitives to interact - with the execution environment (e.g. the Tezos node). These primitives - live in the [Lwt+State+Error] monad. Hence, this interpreter produces - a computation in the [Lwt+State+Error] monad. + In addition, the machine has access to effectful primitives to + interact with the execution environment (e.g. the Tezos + node). These primitives live in the [Lwt+State+Error] monad. Hence, + this interpreter produces a computation in the [Lwt+State+Error] + monad. This interpreter enjoys the following properties: - The interpreter is tail-recursive, hence it is robust to stack - overflow. This property is checked by the compiler thanks to the - [@ocaml.tailcall] annotation of each recursive call. + overflow. This property is checked by the compiler thanks to the + [@ocaml.tailcall] annotation of each recursive call. - - The interpreter is type-preserving. Thanks to GADTs, the - typing rules of Michelson are statically checked by the OCaml - typechecker: a Michelson program cannot go wrong. + - The interpreter is type-preserving. Thanks to GADTs, the typing + rules of Michelson are statically checked by the OCaml typechecker: + a Michelson program cannot go wrong. - - The interpreter is tagless. Thanks to GADTs, the exact shape - of the stack is known statically so the interpreter does not - have to check that the input stack has the shape expected by - the instruction to be executed. + - The interpreter is tagless. Thanks to GADTs, the exact shape of + the stack is known statically so the interpreter does not have to + check that the input stack has the shape expected by the + instruction to be executed. Outline ======= This file is organized as follows: - 1. Runtime errors: - The standard incantations to register the errors - that can be produced by this module's functions. + 1. Runtime errors: The standard incantations to register the errors + that can be produced by this module's functions. - 2. Gas accounting: - The function [cost_of_instr] assigns a gas consumption - to an instruction and a stack of values according to - the cost model. This function is used in the interpretation - loop. Several auxiliary functions are given to deal with - gas accounting. + 2. Gas accounting: The function [cost_of_instr] assigns a gas + consumption to an instruction and a stack of values according to + the cost model. This function is used in the interpretation + loop. Several auxiliary functions are given to deal with gas + accounting. - 3. Logging: - One can instrument the interpreter with logging functions. + 3. Logging: One can instrument the interpreter with logging + functions. - 4. Interpretation loop: - This is the main functionality of this module, aka the - [step] function. + 4. Interpretation loop: This is the main functionality of this + module, aka the [step] function. - 5. Interface functions: - This part of the module builds high-level functions - on top the more basic [step] function. + 5. Interface functions: This part of the module builds high-level + functions on top of the more basic [step] function. Implementation details are explained along the file. @@ -712,7 +709,8 @@ let use_gas_counter_in_ctxt ctxt local_gas_counter f = [consume'] is used in the implementation of [IConcat_string] and [IConcat_bytes] because in that special cases, the cost - is expressed with respect to the final result of the concatenation. + is expressed with respect to a non-constant-time computation + on the inputs. *) @@ -2094,11 +2092,11 @@ and transfer : return (res, ctxt, gas) (** [create_contract (ctxt, sc) gas storage_ty param_ty code root_name - delegate credit init] creates an origination operation for a - contract represented by [code], with some [root_name], some initial - [credit] (taken to contract being executed), and an initial storage - [init] of type [storage_ty]. The type of the new contract argument - is [param_ty]. *) + delegate credit init] creates an origination operation for a + contract represented by [code], with some [root_name], some initial + [credit] (taken to contract being executed), and an initial storage + [init] of type [storage_ty]. The type of the new contract argument + is [param_ty]. *) and create_contract : type a b. outdated_context * step_constants -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index c13300981a21..1fc5d5b1e9db 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -104,7 +104,7 @@ val kstep : (** Internal interpretation loop ============================ - The following types and the following function are exposed + The following types and the following functions are exposed in the interface to allow the inference of a gas model in snoop. -- GitLab From 93257c652cf871d2a74877083b3dcbf9d29971a7 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:19:59 +0200 Subject: [PATCH 15/69] Proto/Michelson: Fix copyrights Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 3 ++- src/proto_alpha/lib_protocol/script_interpreter.mli | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index f1d618846446..f8263ec5a661 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1,8 +1,9 @@ (*****************************************************************************) (* *) (* Open Source License *) -(* Copyright (c) 2020 Dynamic Ledger Solutions, Inc. *) +(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) (* Copyright (c) 2020 Metastate AG *) +(* Copyright (c) 2021 Nomadic Labs, *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) (* copy of this software and associated documentation files (the "Software"),*) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.mli b/src/proto_alpha/lib_protocol/script_interpreter.mli index 1fc5d5b1e9db..a675f0ad33ca 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.mli +++ b/src/proto_alpha/lib_protocol/script_interpreter.mli @@ -2,6 +2,7 @@ (* *) (* Open Source License *) (* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) +(* Copyright (c) 2021 Nomadic Labs, *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) (* copy of this software and associated documentation files (the "Software"),*) -- GitLab From ae32d4a198999ccd730107e1991147573f7f183b Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:28:49 +0200 Subject: [PATCH 16/69] Proto/Michelson: Name ignored values Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index f8263ec5a661..54d9f9b65257 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -277,7 +277,8 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = let ss = accu in Interp_costs.concat_string_precheck ss | ISlice_string _ -> - let (_, (s, _)) = stack in + let _offset = accu in + let (_length, (s, _)) = stack in Interp_costs.slice_string s | IConcat_bytes_pair _ -> let x = accu and (y, _) = stack in -- GitLab From 619c48197d30e7a5d20dc87cfc56bc6cb769f788 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:32:44 +0200 Subject: [PATCH 17/69] Proto/Michelson: Never forget INever is ever dead Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 54d9f9b65257..c694266e8d37 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -555,8 +555,8 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = Interp_costs.chain_id | ICreate_contract _ -> Interp_costs.create_contract - | INever _ -> - Gas.free + | INever _ -> ( + match accu with _ -> . ) | IVoting_power _ -> Interp_costs.voting_power | ITotal_voting_power _ -> -- GitLab From 23005ccea18d33f994e9870c442ce1bab9a47d90 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:37:37 +0200 Subject: [PATCH 18/69] Proto/Michelson: Delay the coercion from cost to int Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index c694266e8d37..8f570ddba79d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -716,14 +716,14 @@ let use_gas_counter_in_ctxt ctxt local_gas_counter f = *) -let update_and_check gas_counter cost = - let gas_counter = gas_counter - cost in +let update_and_check gas_counter (cost : Gas.cost) = + let gas_counter = gas_counter - (cost :> int) in if Compare.Int.(gas_counter < 0) then None else Some gas_counter [@@ocaml.inline always] let consume local_gas_counter k accu stack = let cost = cost_of_instr k accu stack in - update_and_check local_gas_counter (cost :> int) + update_and_check local_gas_counter cost [@@ocaml.inline always] let consume' ctxt local_gas_counter cost = @@ -736,7 +736,7 @@ let consume' ctxt local_gas_counter cost = let consume_control local_gas_counter ks = let cost = cost_of_control ks in - update_and_check local_gas_counter (cost :> int) + update_and_check local_gas_counter cost [@@ocaml.inline always] let log_entry (logger : logger) ctxt gas k accu stack = @@ -1157,7 +1157,7 @@ and step : (S.zero |> S.may_saturate) accu.elements in - consume' ctxt gas (Interp_costs.concat_string total_length :> int) + consume' ctxt gas (Interp_costs.concat_string total_length) >>?= fun gas -> let s = String.concat "" ss.elements in (step [@ocaml.tailcall]) g gas k ks s stack @@ -1190,7 +1190,7 @@ and step : (S.zero |> S.may_saturate) accu.elements in - consume' ctxt gas (Interp_costs.concat_string total_length :> int) + consume' ctxt gas (Interp_costs.concat_string total_length) >>?= fun gas -> let s = Bytes.concat Bytes.empty ss.elements in (step [@ocaml.tailcall]) g gas k ks s stack -- GitLab From f10ef7f39dde248951a95da726146d09deb3310e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 14:44:03 +0200 Subject: [PATCH 19/69] Proto/Michelson: Add missing @ocaml.tailcall annotations Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 8f570ddba79d..7b4a3606e899 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -850,7 +850,7 @@ let rec next : | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> - next g gas ks accu stack' ) + (next [@ocaml.tailcall]) g gas ks accu stack' ) | KLoop_in_left (ki, ks') -> ( match consume_control gas ks0 with | None -> @@ -866,7 +866,7 @@ let rec next : | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> - next g gas ks x (accu, stack) ) + (next [@ocaml.tailcall]) g gas ks x (accu, stack) ) | KIter (body, xs, ks) -> ( match consume_control gas ks0 with | None -> @@ -874,7 +874,7 @@ let rec next : | Some gas -> ( match xs with | [] -> - next g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack | x :: xs -> let ks = KIter (body, xs, ks) in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) ) @@ -886,7 +886,7 @@ let rec next : match xs with | [] -> let ys = {elements = List.rev ys; length = len} in - next g gas ks ys (accu, stack) + (next [@ocaml.tailcall]) g gas ks ys (accu, stack) | x :: xs -> let ks = KList_exit_body (body, xs, ys, len, ks) in (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) ) @@ -897,7 +897,7 @@ let rec next : | Some gas -> let ks = KList_enter_body (body, xs, accu :: ys, len, ks) in let (accu, stack) = stack in - next g gas ks accu stack ) + (next [@ocaml.tailcall]) g gas ks accu stack ) | KMap_enter_body (body, xs, ys, ks) -> ( match consume_control gas ks0 with | None -> @@ -905,7 +905,7 @@ let rec next : | Some gas -> ( match xs with | [] -> - next g gas ks ys (accu, stack) + (next [@ocaml.tailcall]) g gas ks ys (accu, stack) | (xk, xv) :: xs -> let ks = KMap_exit_body (body, xs, ys, xk, ks) in let res = (xk, xv) in @@ -919,7 +919,7 @@ let rec next : let ys = map_update yk (Some accu) ys in let ks = KMap_enter_body (body, xs, ys, ks) in let (accu, stack) = stack in - next g gas ks accu stack ) + (next [@ocaml.tailcall]) g gas ks accu stack ) and step : type a s b t r f. @@ -945,7 +945,7 @@ and step : let k = log_next_kinstr logger k in (step [@ocaml.tailcall]) g gas k ks accu stack | IHalt _ -> - next g gas ks accu stack + (next [@ocaml.tailcall]) g gas ks accu stack (* stack ops *) | IDrop (_, k) -> let (accu, stack) = stack in -- GitLab From eff92bee293738cbd9458b6964d4d537888d385a Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 21:16:39 +0200 Subject: [PATCH 20/69] Proto/Michelson: Add a label to step_descr Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 7b4a3606e899..e91cd6e91fd7 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -2251,7 +2251,7 @@ let run_descr logger (ctxt, sc) descr accu stack = >>=? fun (accu, stack, ctxt, gas) -> return (accu, stack, update_context gas ctxt) -let step_descr log_now logger g descr accu stack = +let step_descr ~log_now logger g descr accu stack = ( if log_now then match logger with | None -> @@ -2264,7 +2264,7 @@ let step_descr log_now logger g descr accu stack = run_descr logger g descr accu stack let interp logger g (Lam (code, _)) arg = - step_descr true logger g code arg ((), ()) + step_descr ~log_now:true logger g code arg ((), ()) >|=? fun (ret, _, ctxt) -> (ret, ctxt) let kstep logger ctxt step_constants kinstr accu stack = @@ -2281,7 +2281,7 @@ let kstep logger ctxt step_constants kinstr accu stack = return (accu, stack, update_context gas ctxt) let step logger ctxt step_constants descr stack = - step_descr false logger (ctxt, step_constants) descr stack + step_descr ~log_now:false logger (ctxt, step_constants) descr stack (* -- GitLab From d72ead48dd5a6f4870e21ef7a29c5cfbf85c62f2 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 21:40:35 +0200 Subject: [PATCH 21/69] Proto/Michelson: Add a docstring for cinstr Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_ir_translator.ml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 080b78ef4dcc..65e0cf1b2ab5 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -40,6 +40,19 @@ type ex_ty = Ex_ty : 'a ty -> ex_ty type ex_stack_ty = Ex_stack_ty : ('a, 's) stack_ty -> ex_stack_ty +(* + + The following type represents an instruction parameterized by its + continuation. During the elaboration of the typed term, a sequence + of instructions in Micheline is read from left to right: hence, the + elaboration needs to wait for the next instruction to be elaborated + to be able to construct the current instruction. + + In addition, we maintain the value of + `number_of_generated_growing_types` in the field [csize] to accelerate + a little bit the evaluation of this quantity. + +*) type ('a, 's, 'b, 'u) cinstr = { csize : int; apply : -- GitLab From 67fe11ba8600342400341f6a7f5cba7da6caaf75 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 21:52:27 +0200 Subject: [PATCH 22/69] Proto/Michelson: Give end_of_stack a dedicated "unit" type Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 4 ++-- src/proto_alpha/lib_protocol/script_typed_ir.ml | 6 ++++-- src/proto_alpha/lib_protocol/test/test_interpretation.ml | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index e91cd6e91fd7..b6a81a1f73ed 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1433,7 +1433,7 @@ and step : log_kinstr logger code.kinstr in let ks = KReturn (stack, KCons (k, ks)) in - (step [@ocaml.tailcall]) g gas code ks arg ((), ()) + (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) | IApply (_, capture_ty, k) -> let capture = accu in let (lam, stack) = stack in @@ -2264,7 +2264,7 @@ let step_descr ~log_now logger g descr accu stack = run_descr logger g descr accu stack let interp logger g (Lam (code, _)) arg = - step_descr ~log_now:true logger g code arg ((), ()) + step_descr ~log_now:true logger g code arg (EmptyCell, EmptyCell) >|=? fun (ret, _, ctxt) -> (ret, ctxt) let kstep logger ctxt step_constants kinstr accu stack = diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index bb954df447c7..a8e631b79f4e 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -47,7 +47,9 @@ type operation = packed_internal_operation * Lazy_storage.diffs option type 'a ticket = {ticketer : address; contents : 'a; amount : n num} -type end_of_stack = unit * unit +type empty_cell = EmptyCell + +type end_of_stack = empty_cell * empty_cell type _ comparable_ty = | Unit_key : type_annot option -> unit comparable_ty @@ -1117,7 +1119,7 @@ and ('top_ty, 'resty) stack_ty = | Item_t : 'ty ty * ('ty2, 'rest) stack_ty * var_annot option -> ('ty, 'ty2 * 'rest) stack_ty - | Bot_t : (unit, unit) stack_ty + | Bot_t : (empty_cell, empty_cell) stack_ty and ('key, 'value) big_map = { id : Big_map.Id.t option; diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index aa56e858f086..1d3cd8df7e55 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -104,7 +104,7 @@ let test_stack_overflow () = in aux n (IHalt kinfo) in - run_step ctxt (descr (enorme_et_seq 100_000)) () () + run_step ctxt (descr (enorme_et_seq 100_000)) EmptyCell EmptyCell >>= function | Ok _ -> Alcotest.fail "expected an error" -- GitLab From df5b852ce9b41787c7e1c23311eeb97f30ee8297 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 21:55:50 +0200 Subject: [PATCH 23/69] Proto/Michelson: Remove a useless mutual recursion in type defs Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index a8e631b79f4e..3a5555729f61 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -122,7 +122,7 @@ type ('key, 'value) big_map_overlay = { and 'elt boxed_list = {elements : 'elt list; length : int} -and ('arg, 'storage) script = { +type ('arg, 'storage) script = { code : (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; arg_type : 'arg ty; storage : 'storage; -- GitLab From f3058ea3e242d1933c1e57132204c9de9d1331df Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 16 Apr 2021 21:56:42 +0200 Subject: [PATCH 24/69] Proto/Michelson: Fix duplicate text in docstring Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 3a5555729f61..7b2e86e11331 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -224,11 +224,6 @@ type ('arg, 'storage) script = { with smaller steps. This technique seems required to get an efficient tail-recursive interpreter. - References - ========== - - [1]: http://www.complang.tuwien.ac.at/projects/interpreters.html - References ========== [1]: http://www.complang.tuwien.ac.at/projects/interpreters.html -- GitLab From 2a65cb12f1a402c9cbf18923366be653e61f34b7 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 10:50:03 +0200 Subject: [PATCH 25/69] Proto/Michelson: Refactor and remove run_descr Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index b6a81a1f73ed..a4c6c9512993 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -2238,12 +2238,16 @@ and log_next_kinstr : in kinstr_rewritek i {apply} -let run_descr logger (ctxt, sc) descr accu stack = +let step_descr ~log_now logger (ctxt, sc) descr accu stack = let gas = (Gas.gas_counter ctxt :> int) in ( match logger with | 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 log = ILog (kinfo_of_kinstr descr.kinstr, LogEntry, logger, descr.kinstr) in @@ -2251,18 +2255,6 @@ let run_descr logger (ctxt, sc) descr accu stack = >>=? fun (accu, stack, ctxt, gas) -> return (accu, stack, update_context gas ctxt) -let step_descr ~log_now logger g descr accu stack = - ( if log_now then - match logger with - | None -> - () - | Some logger -> - let kinfo = kinfo_of_kinstr descr.kinstr in - let ctxt = fst g in - logger.log_interp descr.kinstr ctxt kinfo.iloc descr.kbef (accu, stack) - ) ; - run_descr logger g descr accu stack - let interp logger g (Lam (code, _)) arg = step_descr ~log_now:true logger g code arg (EmptyCell, EmptyCell) >|=? fun (ret, _, ctxt) -> (ret, ctxt) -- GitLab From b893fe4abe4663aec59942f7c022b41651e6f77b Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 11:03:09 +0200 Subject: [PATCH 26/69] Proto/Michelson: Refactor some mutually rec funs into aux funs Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 510 +++++++++--------- 1 file changed, 243 insertions(+), 267 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index a4c6c9512993..3e3fd26b56b6 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -779,6 +779,249 @@ type step_constants = { chain_id : Chain_id.t; } +(* + + Auxiliary functions used by the interpretation loop + +*) + +(** The following function pops n elements from the stack + and push their reintroduction in the continuations stack. *) +let rec kundip : + type a s e z c u d w b t. + (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> + c -> + u -> + (d, w, b, t) kinstr -> + 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 + let (accu, stack) = stack in + kundip w accu stack k + | KRest -> + (accu, stack, k) + +(** [apply ctxt gas ty v lam] specializes [lam] by fixing its first + formal argument to [v]. The type of [v] is represented by [ty]. *) +let apply ctxt gas capture_ty capture lam = + let (Lam (descr, expr)) = lam in + let (Item_t (full_arg_ty, _, _)) = descr.kbef in + let ctxt = update_context gas ctxt in + unparse_data ctxt Optimized capture_ty capture + >>=? fun (const_expr, ctxt) -> + unparse_ty ctxt capture_ty + >>?= fun (ty_expr, ctxt) -> + match full_arg_ty with + | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> + let arg_stack_ty = Item_t (arg_ty, Bot_t, None) in + let full_descr = + { + kloc = descr.kloc; + 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, None); + } + in + IConst + (kinfo_const, capture, ICons_pair (kinfo_pair, descr.kinstr))); + } + in + let full_expr = + Micheline.Seq + ( 0, + [ Prim (0, I_PUSH, [ty_expr; const_expr], []); + Prim (0, I_PAIR, [], []); + expr ] ) + in + let lam' = Lam (full_descr, full_expr) in + let gas = update_local_gas_counter ctxt in + return (lam', outdated ctxt, gas) + | _ -> + assert false + +(** [transfer (ctxt, sc) gas tez tp p destination entrypoint] + creates an operation that transfers an amount of [tez] to + a contract determined by [(destination, entrypoint)] + instantiated with argument [p] of type [tp]. *) +let transfer (ctxt, sc) gas amount tp p destination entrypoint = + let ctxt = update_context gas ctxt in + collect_lazy_storage ctxt tp p + >>?= fun (to_duplicate, ctxt) -> + let to_update = no_lazy_storage_id in + extract_lazy_storage_diff + ctxt + Optimized + tp + p + ~to_duplicate + ~to_update + ~temporary:true + >>=? fun (p, lazy_storage_diff, ctxt) -> + unparse_data ctxt Optimized tp p + >>=? fun (p, ctxt) -> + Gas.consume ctxt (Script.strip_locations_cost p) + >>?= fun ctxt -> + let operation = + Transaction + { + amount; + destination; + entrypoint; + parameters = Script.lazy_expr (Micheline.strip_locations p); + } + in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let iop = {source = sc.self; operation; nonce} in + let res = (Internal_operation iop, lazy_storage_diff) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (res, ctxt, gas) + +(** [create_contract (ctxt, sc) gas storage_ty param_ty code root_name + delegate credit init] creates an origination operation for a + contract represented by [code], with some [root_name], some initial + [credit] (taken to contract being executed), and an initial storage + [init] of type [storage_ty]. The type of the new contract argument + is [param_ty]. *) +let create_contract (ctxt, sc) gas storage_type param_type code root_name + delegate credit init = + let ctxt = update_context gas ctxt in + unparse_ty ctxt param_type + >>?= fun (unparsed_param_type, ctxt) -> + let unparsed_param_type = + Script_ir_translator.add_field_annot root_name None unparsed_param_type + in + unparse_ty ctxt storage_type + >>?= fun (unparsed_storage_type, ctxt) -> + let code = + Micheline.strip_locations + (Seq + ( 0, + [ Prim (0, K_parameter, [unparsed_param_type], []); + Prim (0, K_storage, [unparsed_storage_type], []); + Prim (0, K_code, [code], []) ] )) + in + collect_lazy_storage ctxt storage_type init + >>?= fun (to_duplicate, ctxt) -> + let to_update = no_lazy_storage_id in + extract_lazy_storage_diff + ctxt + Optimized + storage_type + init + ~to_duplicate + ~to_update + ~temporary:true + >>=? fun (init, lazy_storage_diff, ctxt) -> + unparse_data ctxt Optimized storage_type init + >>=? fun (storage, ctxt) -> + Gas.consume ctxt (Script.strip_locations_cost storage) + >>?= fun ctxt -> + let storage = Micheline.strip_locations storage in + Contract.fresh_contract_from_current_nonce ctxt + >>?= fun (ctxt, contract) -> + let operation = + Origination + { + credit; + delegate; + preorigination = Some contract; + script = + {code = Script.lazy_expr code; storage = Script.lazy_expr storage}; + } + in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let res = + (Internal_operation {source = sc.self; operation; nonce}, lazy_storage_diff) + in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (res, contract, ctxt, gas) + +(** [unpack ctxt ty bytes] deserialize [bytes] into a value of type [ty]. *) +let unpack ctxt ~ty ~bytes = + Gas.check_enough ctxt (Script.serialized_cost bytes) + >>?= fun () -> + if + Compare.Int.(Bytes.length bytes >= 1) + && Compare.Int.(TzEndian.get_uint8 bytes 0 = 0x05) + then + let bytes = Bytes.sub bytes 1 (Bytes.length bytes - 1) in + match Data_encoding.Binary.of_bytes Script.expr_encoding bytes with + | None -> + Lwt.return + ( Gas.consume ctxt (Interp_costs.unpack_failed bytes) + >|? fun ctxt -> (None, ctxt) ) + | Some expr -> ( + Gas.consume ctxt (Script.deserialized_cost expr) + >>?= fun ctxt -> + parse_data + ctxt + ~legacy:false + ~allow_forged:false + ty + (Micheline.root expr) + >|= function + | Ok (value, ctxt) -> + ok (Some value, ctxt) + | Error _ignored -> + Gas.consume ctxt (Interp_costs.unpack_failed bytes) + >|? fun ctxt -> (None, ctxt) ) + else return (None, ctxt) + +(** [log_kinstr logger i] emits an instruction to instrument the + execution of [i] with [logger]. In some cases, it embeds [logger] + to [i] to let the instruction [i] asks [logger] for a backtrace + when the evaluation of [i] fails. *) +let log_kinstr logger i = + let set_logger_for_trace_dependent_kinstr : + type a s r f. (a, s, r, f) kinstr -> (a, s, r, f) kinstr = function + | IFailwith (kinfo, kloc, tv, _, k) -> + IFailwith (kinfo, kloc, tv, Some logger, k) + | IExec (kinfo, _, k) -> + IExec (kinfo, Some logger, k) + | IMul_teznat (kinfo, _, k) -> + IMul_teznat (kinfo, Some logger, k) + | IMul_nattez (kinfo, _, k) -> + IMul_nattez (kinfo, Some logger, k) + | ILsr_nat (kinfo, _, k) -> + ILsr_nat (kinfo, Some logger, k) + | ILsl_nat (kinfo, _, k) -> + ILsl_nat (kinfo, Some logger, k) + | i -> + i + in + ILog + ( kinfo_of_kinstr i, + LogEntry, + logger, + set_logger_for_trace_dependent_kinstr i ) + +(** [log_next_kinstr logger i] instruments the next instruction of [i] + with the [logger].*) +let log_next_kinstr logger i = + let apply k = + ILog + ( kinfo_of_kinstr k, + LogExit (kinfo_of_kinstr i), + logger, + log_kinstr logger k ) + in + kinstr_rewritek i {apply} + +(** [interp_stack_prefix_preserving_operation f w accu stack] applies + a well-typed operation [f] under some prefix of the A-stack + exploiting [w] to justify that the shape of the stack is + preserved. *) let rec interp_stack_prefix_preserving_operation : type a s b t c u d w result. (a -> s -> (b * t) * result) -> @@ -1971,273 +2214,6 @@ and log : (* This case should never happen. *) (next [@ocaml.tailcall]) g gas ks' accu stack -(* - - The following function pops n elements from the stack - and push their reintroduction in the continuations stack. - - *) -and kundip : - type a s e z c u d w b t. - (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> - c -> - u -> - (d, w, b, t) kinstr -> - 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 - let (accu, stack) = stack in - kundip w accu stack k - | KRest -> - (accu, stack, k) - -(** [apply ctxt gas ty v lam] specializes [lam] by fixing its first - formal argument to [v]. The type of [v] is represented by [ty]. *) -and apply : - type a b c. - outdated_context -> - local_gas_counter -> - a ty -> - a -> - (a * b, c) lambda -> - ((b, c) lambda * outdated_context * local_gas_counter) tzresult Lwt.t = - fun ctxt gas capture_ty capture lam -> - let (Lam (descr, expr)) = lam in - let (Item_t (full_arg_ty, _, _)) = descr.kbef in - let ctxt = update_context gas ctxt in - unparse_data ctxt Optimized capture_ty capture - >>=? fun (const_expr, ctxt) -> - unparse_ty ctxt capture_ty - >>?= fun (ty_expr, ctxt) -> - match full_arg_ty with - | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> - let arg_stack_ty = Item_t (arg_ty, Bot_t, None) in - let full_descr = - { - kloc = descr.kloc; - 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, None); - } - in - IConst - (kinfo_const, capture, ICons_pair (kinfo_pair, descr.kinstr))); - } - in - let full_expr = - Micheline.Seq - ( 0, - [ Prim (0, I_PUSH, [ty_expr; const_expr], []); - Prim (0, I_PAIR, [], []); - expr ] ) - in - let lam' = Lam (full_descr, full_expr) in - let gas = update_local_gas_counter ctxt in - return (lam', outdated ctxt, gas) - | _ -> - assert false - -(** [transfer (ctxt, sc) gas tez tp p destination entrypoint] - creates an operation that transfers an amount of [tez] to - a contract determined by [(destination, entrypoint)] - instantiated with argument [p] of type [tp]. *) -and transfer : - type a. - outdated_context * step_constants -> - local_gas_counter -> - Tez.t -> - a ty -> - a -> - Contract.t -> - string -> - (operation * outdated_context * local_gas_counter) tzresult Lwt.t = - fun (ctxt, sc) gas amount tp p destination entrypoint -> - let ctxt = update_context gas ctxt in - collect_lazy_storage ctxt tp p - >>?= fun (to_duplicate, ctxt) -> - let to_update = no_lazy_storage_id in - extract_lazy_storage_diff - ctxt - Optimized - tp - p - ~to_duplicate - ~to_update - ~temporary:true - >>=? fun (p, lazy_storage_diff, ctxt) -> - unparse_data ctxt Optimized tp p - >>=? fun (p, ctxt) -> - Gas.consume ctxt (Script.strip_locations_cost p) - >>?= fun ctxt -> - let operation = - Transaction - { - amount; - destination; - entrypoint; - parameters = Script.lazy_expr (Micheline.strip_locations p); - } - in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - let iop = {source = sc.self; operation; nonce} in - let res = (Internal_operation iop, lazy_storage_diff) in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - return (res, ctxt, gas) - -(** [create_contract (ctxt, sc) gas storage_ty param_ty code root_name - delegate credit init] creates an origination operation for a - contract represented by [code], with some [root_name], some initial - [credit] (taken to contract being executed), and an initial storage - [init] of type [storage_ty]. The type of the new contract argument - is [param_ty]. *) -and create_contract : - type a b. - outdated_context * step_constants -> - local_gas_counter -> - a ty -> - b ty -> - node -> - field_annot option -> - public_key_hash option -> - Tez.t -> - a -> - (operation * Contract.t * outdated_context * local_gas_counter) tzresult - Lwt.t = - fun (ctxt, sc) gas storage_type param_type code root_name delegate credit init -> - let ctxt = update_context gas ctxt in - unparse_ty ctxt param_type - >>?= fun (unparsed_param_type, ctxt) -> - let unparsed_param_type = - Script_ir_translator.add_field_annot root_name None unparsed_param_type - in - unparse_ty ctxt storage_type - >>?= fun (unparsed_storage_type, ctxt) -> - let code = - Micheline.strip_locations - (Seq - ( 0, - [ Prim (0, K_parameter, [unparsed_param_type], []); - Prim (0, K_storage, [unparsed_storage_type], []); - Prim (0, K_code, [code], []) ] )) - in - collect_lazy_storage ctxt storage_type init - >>?= fun (to_duplicate, ctxt) -> - let to_update = no_lazy_storage_id in - extract_lazy_storage_diff - ctxt - Optimized - storage_type - init - ~to_duplicate - ~to_update - ~temporary:true - >>=? fun (init, lazy_storage_diff, ctxt) -> - unparse_data ctxt Optimized storage_type init - >>=? fun (storage, ctxt) -> - Gas.consume ctxt (Script.strip_locations_cost storage) - >>?= fun ctxt -> - let storage = Micheline.strip_locations storage in - Contract.fresh_contract_from_current_nonce ctxt - >>?= fun (ctxt, contract) -> - let operation = - Origination - { - credit; - delegate; - preorigination = Some contract; - script = - {code = Script.lazy_expr code; storage = Script.lazy_expr storage}; - } - in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - let res = - (Internal_operation {source = sc.self; operation; nonce}, lazy_storage_diff) - in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - return (res, contract, ctxt, gas) - -and unpack : - type a. - context -> ty:a ty -> bytes:bytes -> (a option * context) tzresult Lwt.t = - fun ctxt ~ty ~bytes -> - Gas.check_enough ctxt (Script.serialized_cost bytes) - >>?= fun () -> - if - Compare.Int.(Bytes.length bytes >= 1) - && Compare.Int.(TzEndian.get_uint8 bytes 0 = 0x05) - then - let bytes = Bytes.sub bytes 1 (Bytes.length bytes - 1) in - match Data_encoding.Binary.of_bytes Script.expr_encoding bytes with - | None -> - Lwt.return - ( Gas.consume ctxt (Interp_costs.unpack_failed bytes) - >|? fun ctxt -> (None, ctxt) ) - | Some expr -> ( - Gas.consume ctxt (Script.deserialized_cost expr) - >>?= fun ctxt -> - parse_data - ctxt - ~legacy:false - ~allow_forged:false - ty - (Micheline.root expr) - >|= function - | Ok (value, ctxt) -> - ok (Some value, ctxt) - | Error _ignored -> - Gas.consume ctxt (Interp_costs.unpack_failed bytes) - >|? fun ctxt -> (None, ctxt) ) - else return (None, ctxt) - -and log_kinstr : - type a s r f. logger -> (a, s, r, f) kinstr -> (a, s, r, f) kinstr = - fun logger i -> - let set_logger_for_trace_dependent_kinstr : - type a s r f. (a, s, r, f) kinstr -> (a, s, r, f) kinstr = function - | IFailwith (kinfo, kloc, tv, _, k) -> - IFailwith (kinfo, kloc, tv, Some logger, k) - | IExec (kinfo, _, k) -> - IExec (kinfo, Some logger, k) - | IMul_teznat (kinfo, _, k) -> - IMul_teznat (kinfo, Some logger, k) - | IMul_nattez (kinfo, _, k) -> - IMul_nattez (kinfo, Some logger, k) - | ILsr_nat (kinfo, _, k) -> - ILsr_nat (kinfo, Some logger, k) - | ILsl_nat (kinfo, _, k) -> - ILsl_nat (kinfo, Some logger, k) - | i -> - i - in - ILog - ( kinfo_of_kinstr i, - LogEntry, - logger, - set_logger_for_trace_dependent_kinstr i ) - -and log_next_kinstr : - type a s r f. logger -> (a, s, r, f) kinstr -> (a, s, r, f) kinstr = - fun logger i -> - let apply k = - ILog - ( kinfo_of_kinstr k, - LogExit (kinfo_of_kinstr i), - logger, - log_kinstr logger k ) - in - kinstr_rewritek i {apply} - let step_descr ~log_now logger (ctxt, sc) descr accu stack = let gas = (Gas.gas_counter ctxt :> int) in ( match logger with -- GitLab From a5816c7f4dbeaad091d2d08efe745da86ad3e9f3 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 11:39:03 +0200 Subject: [PATCH 27/69] Proto/Michelson: Make explicit that `log` is tail-called Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 3e3fd26b56b6..4ed4d0712669 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1075,7 +1075,7 @@ let rec next : fun ((ctxt, _) as g) gas ks0 accu stack -> match ks0 with | KLog (ks, logger) -> - log logger g gas ks accu stack + (log [@ocaml.tailcall]) logger g gas ks accu stack | KNil -> Lwt.return (Ok (accu, stack, ctxt, gas)) | KCons (k, ks) -> -- GitLab From a1ed81e46b6c84290504f184264cc1a41af2ee09 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 11:50:31 +0200 Subject: [PATCH 28/69] Proto/Michelson: Update test about stack overflow The glorious interpreter does not fear you, stack overflows! Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/test/test_interpretation.ml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index 1d3cd8df7e55..93af94ff0405 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -107,17 +107,12 @@ let test_stack_overflow () = run_step ctxt (descr (enorme_et_seq 100_000)) EmptyCell EmptyCell >>= function | Ok _ -> - Alcotest.fail "expected an error" + return_unit | Error trace -> let trace_string = Format.asprintf "%a" Environment.Error_monad.pp_trace trace in - let expect = - "Too many recursive calls were needed for interpretation of a \ - Michelson script" - in - if Astring.String.is_infix ~affix:expect trace_string then return_unit - else Alcotest.failf "Unexpected error (%s) at %s" trace_string __LOC__ + Alcotest.failf "Unexpected error (%s) at %s" trace_string __LOC__ (** Test the encoding/decoding of script_interpreter.ml specific errors *) let test_json_roundtrip name testable enc v = @@ -165,6 +160,8 @@ let tests = "test bad contract error" `Quick test_bad_contract_parameter; - Test_services.tztest "test stack overflow error" `Slow test_stack_overflow - ] + Test_services.tztest + "check robustness overflow error" + `Slow + test_stack_overflow ] @ error_encoding_tests -- GitLab From 7e8dbdd61476f54fc601d35114f45461dd870137 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 12:02:18 +0200 Subject: [PATCH 29/69] Proto/Michelson: Remove a useless mutual recursion between types Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 7b2e86e11331..8074202cefba 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -120,7 +120,7 @@ type ('key, 'value) big_map_overlay = { size : int; } -and 'elt boxed_list = {elements : 'elt list; length : int} +type 'elt boxed_list = {elements : 'elt list; length : int} type ('arg, 'storage) script = { code : (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda; -- GitLab From 1f4888ce2659ec7d6d29d977763816762a799cae Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 12:07:32 +0200 Subject: [PATCH 30/69] Proto/Michelson: Follow naming convention in IMap_get_and_update def Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 8074202cefba..71169d8cf355 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -377,9 +377,9 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * (('a, 'b) map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr | IMap_get_and_update : - ('a, 'v option * (('a, 'v) map * 'rest)) kinfo - * ('v option, ('a, 'v) map * 'rest, 'r, 'f) kinstr - -> ('a, 'v option * (('a, 'v) map * 'rest), 'r, 'f) kinstr + ('a, 'b option * (('a, 'b) map * 's)) kinfo + * ('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 -> (('a, 'b) map, 's, 'r, 'f) kinstr @@ -404,9 +404,9 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * (('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, 'v option * (('a, 'v) big_map * 'rest)) kinfo - * ('v option, ('a, 'v) big_map * 'rest, 'r, 'f) kinstr - -> ('a, 'v option * (('a, 'v) big_map * 'rest), 'r, 'f) kinstr + ('a, 'b option * (('a, 'b) big_map * 's)) kinfo + * ('b option, ('a, 'b) big_map * 's, 'r, 'f) kinstr + -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr (* Strings ------- -- GitLab From f85b4a171b2adfbc8f7b20c2d5013dd39e1d46be Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 15:00:10 +0200 Subject: [PATCH 31/69] Proto/Michelson: Use inlined records instructions with similar cont' Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 28 +++--- .../lib_protocol/script_ir_translator.ml | 21 +++-- .../lib_protocol/script_typed_ir.ml | 94 +++++++++++-------- 3 files changed, 81 insertions(+), 62 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 4ed4d0712669..4552c7bad02d 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1205,13 +1205,13 @@ and step : (step [@ocaml.tailcall]) g gas k ks (Some accu) stack | ICons_none (_, _, k) -> (step [@ocaml.tailcall]) g gas k ks None (accu, stack) - | IIf_none (_, bt, bf) -> ( + | IIf_none {branch_if_none; branch_if_some} -> ( match accu with | None -> let (accu, stack) = stack in - (step [@ocaml.tailcall]) g gas bt ks accu stack + (step [@ocaml.tailcall]) g gas branch_if_none ks accu stack | Some v -> - (step [@ocaml.tailcall]) g gas bf ks v stack ) + (step [@ocaml.tailcall]) g gas branch_if_some ks v stack ) (* pairs *) | ICons_pair (_, k) -> let (b, stack) = stack in @@ -1230,12 +1230,12 @@ and step : (step [@ocaml.tailcall]) g gas k ks (L accu) stack | ICons_right (_, k) -> (step [@ocaml.tailcall]) g gas k ks (R accu) stack - | IIf_left (_, bl, br) -> ( + | IIf_left {branch_if_left; branch_if_right} -> ( match accu with | L v -> - (step [@ocaml.tailcall]) g gas bl ks v stack + (step [@ocaml.tailcall]) g gas branch_if_left ks v stack | R v -> - (step [@ocaml.tailcall]) g gas br ks v stack ) + (step [@ocaml.tailcall]) g gas branch_if_right ks v stack ) (* lists *) | ICons_list (_, k) -> let (tl, stack) = stack in @@ -1245,14 +1245,14 @@ and step : let stack = (accu, stack) in let accu = list_empty in (step [@ocaml.tailcall]) g gas k ks accu stack - | IIf_cons (_, bc, bn) -> ( + | IIf_cons {branch_if_cons; branch_if_nil} -> ( match accu.elements with | [] -> let (accu, stack) = stack in - (step [@ocaml.tailcall]) g gas bn ks accu stack + (step [@ocaml.tailcall]) g gas branch_if_nil ks accu stack | hd :: tl -> let tl = {elements = tl; length = accu.length - 1} in - (step [@ocaml.tailcall]) g gas bc ks hd (tl, stack) ) + (step [@ocaml.tailcall]) g gas branch_if_cons ks hd (tl, stack) ) | IList_map (_, body, k) -> let xs = accu.elements in let ys = [] in @@ -1650,10 +1650,10 @@ and step : let res = Script_int.lognot x in (step [@ocaml.tailcall]) g gas k ks res stack (* control *) - | IIf (_, bt, bf) -> + | IIf {branch_if_true; branch_if_false} -> let (res, stack) = stack in - if accu then (step [@ocaml.tailcall]) g gas bt ks res stack - else (step [@ocaml.tailcall]) g gas bf ks res stack + if accu then (step [@ocaml.tailcall]) g gas branch_if_true ks res stack + else (step [@ocaml.tailcall]) g gas branch_if_false ks res stack | ILoop (_, body, k) -> let ks = KLoop_in (body, KCons (k, ks)) in (next [@ocaml.tailcall]) g gas ks accu stack @@ -1779,7 +1779,7 @@ and step : let res = (Unit_t None, (contract, "default")) in (step [@ocaml.tailcall]) g gas k ks res stack | ICreate_contract - (_, storage_type, param_type, Lam (_, code), root_name, k) -> + {storage_type; arg_type; lambda = Lam (_, code); root_name; k} -> (* Removed the instruction's arguments manager, spendable and delegatable *) let delegate = accu in let (credit, (init, stack)) = stack in @@ -1787,7 +1787,7 @@ and step : g gas storage_type - param_type + arg_type code root_name delegate diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 65e0cf1b2ab5..115248b5ee33 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -3742,8 +3742,9 @@ and parse_instr : (fun kinfo k -> let btinfo = kinfo_of_descr ibt and bfinfo = kinfo_of_descr ibf in - IIf_none - (kinfo, ibt.instr.apply btinfo k, ibf.instr.apply bfinfo k)); + let branch_if_none = ibt.instr.apply btinfo k + and branch_if_some = ibf.instr.apply bfinfo k in + IIf_none {kinfo; branch_if_none; branch_if_some}); } in {loc; instr = ifnone; bef; aft = ibt.aft} @@ -4056,8 +4057,9 @@ and parse_instr : csize = 0; apply = (fun kinfo k -> - IIf_left - (kinfo, ibt.instr.apply infobt k, ibf.instr.apply infobf k)); + let branch_if_left = ibt.instr.apply infobt k + and branch_if_right = ibf.instr.apply infobf k in + IIf_left {kinfo; branch_if_left; branch_if_right}); } in {loc; instr; bef; aft = ibt.aft} @@ -4110,8 +4112,9 @@ and parse_instr : csize = 0; apply = (fun kinfo k -> - IIf_cons - (kinfo, ibt.instr.apply infobt k, ibf.instr.apply infobf k)); + let branch_if_cons = ibt.instr.apply infobt k + and branch_if_nil = ibf.instr.apply infobf k in + IIf_cons {kinfo; branch_if_nil; branch_if_cons}); } in {loc; instr; bef; aft = ibt.aft} @@ -4709,7 +4712,9 @@ and parse_instr : csize = 0; apply = (fun kinfo k -> - IIf (kinfo, ibt.instr.apply infobt k, ibf.instr.apply infobf k)); + let branch_if_true = ibt.instr.apply infobt k + and branch_if_false = ibf.instr.apply infobf k in + IIf {kinfo; branch_if_true; branch_if_false}); } in {loc; instr; bef; aft = ibt.aft} @@ -5723,7 +5728,7 @@ and parse_instr : apply = (fun kinfo k -> ICreate_contract - (kinfo, storage_type, arg_type, lambda, root_name, k)); + {kinfo; storage_type; arg_type; lambda; root_name; k}); } in typed diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 71169d8cf355..13f41f5f4b16 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -272,13 +272,14 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | ICons_none : ('a, 's) kinfo * 'b ty * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | IIf_none : - ('a option, 'b * 's) kinfo + | IIf_none : { + kinfo : ('a option, 'b * 's) kinfo; (* Notice that the continuations of the following two - instructions should have a shared suffix to avoid code - duplication. *) - * ('b, 's, 'r, 'f) kinstr - * ('a, 'b * 's, 'r, 'f) kinstr + instructions should have a shared suffix to avoid code + duplication. *) + branch_if_none : ('b, 's, 'r, 'f) kinstr; + branch_if_some : ('a, 'b * 's, 'r, 'f) kinstr; + } -> ('a option, 'b * 's, 'r, 'f) kinstr (* Unions @@ -290,11 +291,12 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | ICons_right : ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr -> ('b, 's, 'r, 'f) kinstr - | IIf_left : - (('a, 'b) union, 's) kinfo + | IIf_left : { + kinfo : (('a, 'b) union, 's) kinfo; (* See remark in IIf_none. *) - * ('a, 's, 'r, 'f) kinstr - * ('b, 's, 'r, 'f) kinstr + branch_if_left : ('a, 's, 'r, 'f) kinstr; + branch_if_right : ('b, 's, 'r, 'f) kinstr; + } -> (('a, 'b) union, 's, 'r, 'f) kinstr (* Lists @@ -306,11 +308,12 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | INil : ('a, 's) kinfo * ('b boxed_list, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | IIf_cons : - ('a boxed_list, 'b * 's) kinfo + | IIf_cons : { + kinfo : ('a boxed_list, 'b * 's) kinfo; (* See remark in IIf_none. *) - * ('a, 'a boxed_list * ('b * 's), 'r, 'f) kinstr - * ('b, 's, 'r, 'f) kinstr + branch_if_cons : ('a, 'a boxed_list * ('b * 's), 'r, 'f) kinstr; + branch_if_nil : ('b, 's, 'r, 'f) kinstr; + } -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr | IList_map : ('a boxed_list, 'c * 's) kinfo @@ -589,11 +592,12 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = Control ------- *) - | IIf : - (bool, 'a * 's) kinfo + | IIf : { + kinfo : (bool, 'a * 's) kinfo; (* See remark in IIf_none. *) - * ('a, 's, 'r, 'f) kinstr - * ('a, 's, 'r, 'f) kinstr + branch_if_true : ('a, 's, 'r, 'f) kinstr; + branch_if_false : ('a, 's, 'r, 'f) kinstr; + } -> (bool, 'a * 's, 'r, 'f) kinstr | ILoop : (bool, 'a * 's) kinfo @@ -683,13 +687,14 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IImplicit_account : (public_key_hash, 's) kinfo * (unit typed_contract, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr - | ICreate_contract : - (public_key_hash option, Tez.t * ('a * 's)) kinfo - * 'a ty - * 'b ty - * ('b * 'a, operation boxed_list * 'a) lambda - * field_annot option - * (operation, address * 's, 'r, 'f) kinstr + | ICreate_contract : { + kinfo : (public_key_hash option, Tez.t * ('a * 's)) kinfo; + storage_type : 'a ty; + arg_type : 'b ty; + lambda : ('b * 'a, operation boxed_list * 'a) lambda; + root_name : field_annot option; + k : (operation, address * 's, 'r, 'f) kinstr; + } -> (public_key_hash option, Tez.t * ('a * 's), 'r, 'f) kinstr | ISet_delegate : (public_key_hash option, 's) kinfo * (operation, 's, 'r, 'f) kinstr @@ -1212,19 +1217,19 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | ICons_none (kinfo, _, _) -> kinfo - | IIf_none (kinfo, _, _) -> + | IIf_none {kinfo; _} -> kinfo | ICons_left (kinfo, _) -> kinfo | ICons_right (kinfo, _) -> kinfo - | IIf_left (kinfo, _, _) -> + | IIf_left {kinfo; _} -> kinfo | ICons_list (kinfo, _) -> kinfo | INil (kinfo, _) -> kinfo - | IIf_cons (kinfo, _, _) -> + | IIf_cons {kinfo; _} -> kinfo | IList_map (kinfo, _, _) -> kinfo @@ -1364,7 +1369,7 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | INot_int (kinfo, _) -> kinfo - | IIf (kinfo, _, _) -> + | IIf {kinfo; _} -> kinfo | ILoop (kinfo, _, _) -> kinfo @@ -1404,7 +1409,7 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IImplicit_account (kinfo, _) -> kinfo - | ICreate_contract (kinfo, _, _, _, _, _) -> + | ICreate_contract {kinfo; _} -> kinfo | ISet_delegate (kinfo, _) -> kinfo @@ -1540,20 +1545,26 @@ let kinstr_rewritek : ICons_some (kinfo, f.apply k) | ICons_none (kinfo, ty, k) -> ICons_none (kinfo, ty, f.apply k) - | IIf_none (kinfo, kl, kr) -> - IIf_none (kinfo, f.apply kl, f.apply kr) + | IIf_none {kinfo; branch_if_none; branch_if_some} -> + let branch_if_none = f.apply branch_if_none + and branch_if_some = f.apply branch_if_some in + IIf_none {kinfo; branch_if_none; branch_if_some} | ICons_left (kinfo, k) -> ICons_left (kinfo, f.apply k) | ICons_right (kinfo, k) -> ICons_right (kinfo, f.apply k) - | IIf_left (kinfo, kl, kr) -> - IIf_left (kinfo, f.apply kl, f.apply kr) + | IIf_left {kinfo; branch_if_left; branch_if_right} -> + let branch_if_left = f.apply branch_if_left + and branch_if_right = f.apply branch_if_right in + IIf_left {kinfo; branch_if_left; branch_if_right} | ICons_list (kinfo, k) -> ICons_list (kinfo, f.apply k) | INil (kinfo, k) -> INil (kinfo, f.apply k) - | IIf_cons (kinfo, kl, kr) -> - IIf_cons (kinfo, f.apply kl, f.apply kr) + | IIf_cons {kinfo; branch_if_cons; branch_if_nil} -> + let branch_if_nil = f.apply branch_if_nil + and branch_if_cons = f.apply branch_if_cons in + IIf_cons {kinfo; branch_if_cons; branch_if_nil} | IList_map (kinfo, body, k) -> IList_map (kinfo, f.apply body, f.apply k) | IList_iter (kinfo, body, k) -> @@ -1692,8 +1703,10 @@ let kinstr_rewritek : INot_nat (kinfo, f.apply k) | INot_int (kinfo, k) -> INot_int (kinfo, f.apply k) - | IIf (kinfo, kl, kr) -> - IIf (kinfo, f.apply kl, f.apply kr) + | IIf {kinfo; branch_if_true; branch_if_false} -> + let branch_if_true = f.apply branch_if_true + and branch_if_false = f.apply branch_if_false in + IIf {kinfo; branch_if_true; branch_if_false} | ILoop (kinfo, kbody, k) -> ILoop (kinfo, f.apply kbody, f.apply k) | ILoop_left (kinfo, kl, kr) -> @@ -1732,8 +1745,9 @@ let kinstr_rewritek : ITransfer_tokens (kinfo, f.apply k) | IImplicit_account (kinfo, k) -> IImplicit_account (kinfo, f.apply k) - | ICreate_contract (kinfo, ty1, ty2, code, annot, k) -> - ICreate_contract (kinfo, ty1, ty2, code, annot, f.apply k) + | ICreate_contract {kinfo; storage_type; arg_type; lambda; root_name; k} -> + let k = f.apply k in + ICreate_contract {kinfo; storage_type; arg_type; lambda; root_name; k} | ISet_delegate (kinfo, k) -> ISet_delegate (kinfo, f.apply k) | INow (kinfo, k) -> -- GitLab From 36c296be08aed570948567f741ccec4790c864a7 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 15:03:58 +0200 Subject: [PATCH 32/69] Proto/Michelson: Remove useless metainformation in IDip Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 2 +- src/proto_alpha/lib_protocol/script_ir_translator.ml | 2 +- src/proto_alpha/lib_protocol/script_typed_ir.ml | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 4552c7bad02d..44ec97e3525f 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1660,7 +1660,7 @@ and step : | 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, k) -> let ign = accu in let ks = KUndip (ign, KCons (k, ks)) in let (accu, stack) = stack in diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 115248b5ee33..f849de4a1711 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4906,7 +4906,7 @@ and parse_instr : let binfo = {iloc = descr.loc; kstack_ty = descr.bef} in let kinfoh = {iloc = descr.loc; kstack_ty = descr.aft} in let b = descr.instr.apply binfo (IHalt kinfoh) in - IDip (kinfo, kinfoh, b, k)); + IDip (kinfo, b, k)); } in typed ctxt loc instr (Item_t (v, descr.aft, stack_annot)) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 13f41f5f4b16..c71db20a1a3e 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -611,7 +611,6 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> (('a, 'b) union, 's, 'r, 'f) kinstr | IDip : ('a, 'b * 's) kinfo - * ('c, 't) kinfo * ('b, 's, 'c, 't) kinstr * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr @@ -1375,7 +1374,7 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | ILoop_left (kinfo, _, _) -> kinfo - | IDip (kinfo, _, _, _) -> + | IDip (kinfo, _, _) -> kinfo | IExec (kinfo, _, _) -> kinfo @@ -1711,8 +1710,8 @@ let kinstr_rewritek : ILoop (kinfo, f.apply kbody, f.apply k) | ILoop_left (kinfo, kl, kr) -> ILoop_left (kinfo, f.apply kl, f.apply kr) - | IDip (kinfo, kinfo', body, k) -> - IDip (kinfo, kinfo', f.apply body, f.apply k) + | IDip (kinfo, body, k) -> + IDip (kinfo, f.apply body, f.apply k) | IExec (kinfo, logger, k) -> IExec (kinfo, logger, f.apply k) | IApply (kinfo, ty, k) -> -- GitLab From 05a23c690ff872e5a94b9e9d39c3b20cbf29793e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 15:06:25 +0200 Subject: [PATCH 33/69] Proto/Michelson: Fix names inconsistent with naming convention Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index c71db20a1a3e..370066d0c0be 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -620,10 +620,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : - ('a, ('a * 't, 'b) lambda * 's) kinfo + ('a, ('a * 'b, 'c) lambda * 's) kinfo * 'a ty - * (('t, 'b) lambda, 's, 'r, 'f) kinstr - -> ('a, ('a * 't, 'b) lambda * 's, 'r, 'f) kinstr + * (('b, 'c) lambda, 's, 'r, 'f) kinstr + -> ('a, ('a * 'b, 'c) lambda * 's, 'r, 'f) kinstr | ILambda : ('a, 's) kinfo * ('b, 'c) lambda -- GitLab From cfd08f358726ab87d10668941ae0d9f84e3425dd Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 15:42:14 +0200 Subject: [PATCH 34/69] Proto/Michelson: Improve docstrings Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_ir_translator.ml | 8 +++ .../lib_protocol/script_typed_ir.ml | 68 ++++++++++++++++++- 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index f849de4a1711..f45dd29270ca 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -59,6 +59,14 @@ type ('a, 's, 'b, 'u) cinstr = { 'r 'f. ('a, 's) kinfo -> ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; } +(* + + While a [Script_typed_ir.descr] contains a fully defined + instruction, [descr] contains a [cinstr], that is an instruction + parameterized by the next instruction, as explained in the previous + comment. + +*) type ('a, 's, 'b, 'u) descr = { loc : Script.location; bef : ('a, 's) stack_ty; diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 370066d0c0be..04e959dd52f9 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -200,7 +200,9 @@ type ('arg, 'storage) script = { IHalt : ('a, 's) kinfo -> ('a, 's, 'a, 's) kinstr Each instruction is decorated by some metadata (typically to hold - locations). The type for these metadata is [kinfo]. + 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 + operational semantics. Notations: ---------- @@ -757,27 +759,67 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = -> (Sapling.transaction, Sapling.state * 's, 'r, 'f) kinstr | IDig : ('a, 's) kinfo + (* + 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. + *) * ('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 + (* + 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]. + *) * 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. + *) * ('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]... + *) * 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].) + *) * ('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 + (* + The input stack enjoys a prefix of length [n]... + *) * int + (* + ... and the following value witnesses that under this prefix + the stack has type ['b * 'u]. + *) * ('b, 'u, 'b, 'u, 'a, 's, 'a, 's) stack_prefix_preservation_witness + (* + This stack is passed to the continuation since we drop the + entire prefix. + *) * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IChainId : @@ -1136,6 +1178,30 @@ and ('a, 's, 'r, 'f) kdescr = { and ('a, 's) kinfo = {iloc : Script.location; kstack_ty : ('a, 's) stack_ty} +(* + + Several instructions work under an arbitrary deep stack prefix + (e.g, IDipn, IDropn, etc). To convince the typechecker that + these instructions are well-typed, we must provide a witness + to statically characterize the relationship between the input + and the output stacks. The inhabitants of the following GADT + act as such witnesses. + + More precisely, a value [w] of type + + [(c, t, d, v, a, s, b, u) stack_prefix_preservation_witness] + + proves that there is a common prefix between an input stack + of type [a * s] and an output stack of type [b * u]. This prefix + is as deep as the number of [KPrefix] application in [w]. When + used with an operation parameterized by a natural number [n] + characterizing the depth at which the operation must be applied, + [w] is the Peano encoding of [n]. + + When this prefix is removed from the two stacks, the input stack + has type [c * t] while the output stack has type [d * v]. + +*) and (_, _, _, _, _, _, _, _) stack_prefix_preservation_witness = | KPrefix : ('y, 'u) kinfo -- GitLab From ffd55c2f2e4f4ba6e8b2e2622d4998a62931e697 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 16:09:41 +0200 Subject: [PATCH 35/69] Proto/Michelson: Fix several invalid values for csize Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index f45dd29270ca..245c008a6a9e 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -3707,7 +3707,7 @@ and parse_instr : parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> let const = - {csize = 1; apply = (fun kinfo k -> IConst (kinfo, (), k))} + {csize = 0; apply = (fun kinfo k -> IConst (kinfo, (), k))} in typed ctxt loc const (Item_t (Unit_t ty_name, stack, annot)) (* options *) @@ -3822,7 +3822,7 @@ and parse_instr : make_proof_argument n stack_ty >>?= fun (Comb_proof_argument (witness, after_ty), _none) -> let comb = - {csize = 0; apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} + {csize = 1; apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in typed ctxt loc comb after_ty | (Prim (loc, I_UNPAIR, [n], annot), stack_ty) -> @@ -4853,7 +4853,7 @@ and parse_instr : code >>=? fun (lambda, ctxt) -> let instr = - {csize = 0; apply = (fun kinfo k -> ILambda (kinfo, lambda, k))} + {csize = 1; apply = (fun kinfo k -> ILambda (kinfo, lambda, k))} in typed ctxt loc instr (Item_t (Lambda_t (arg, ret, None), stack, annot)) | ( Prim (loc, I_EXEC, [], annot), -- GitLab From ea02d3a6c396fbd8e10b2a1b2701287a8de7d0cb Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 16:16:36 +0200 Subject: [PATCH 36/69] Proto/Michelson: Rename ibody into kibody Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 245c008a6a9e..3f29a9a52d77 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4152,9 +4152,9 @@ and parse_instr : (Item_t (elt, starting_rest, elt_annot)) >>=? fun (judgement, ctxt) -> match judgement with - | Typed ({aft = Item_t (ret, rest, _); _} as ibody) -> + | Typed ({aft = Item_t (ret, rest, _); _} as kibody) -> let invalid_map_body () = - serialize_stack_for_error ctxt ibody.aft + serialize_stack_for_error ctxt kibody.aft >|? fun (aft, _ctxt) -> Invalid_map_body (loc, aft) in Lwt.return @@ -4167,14 +4167,14 @@ and parse_instr : csize = 1; apply = (fun kinfo k -> - let binfo = kinfo_of_descr ibody in + let binfo = kinfo_of_descr kibody in let hinfo = { iloc = loc; kstack_ty = Item_t (ret, rest, ret_annot); } in - let ibody = ibody.instr.apply binfo (IHalt hinfo) in + let ibody = kibody.instr.apply binfo (IHalt hinfo) in IList_map (kinfo, ibody, k)); } in -- GitLab From 64db9aaadc3149b0782f7369546617c92a202700 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 16:24:52 +0200 Subject: [PATCH 37/69] Proto/Michelson: Factorize the construction of IMap_iter Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_ir_translator.ml | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 3f29a9a52d77..33db87740b61 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4429,6 +4429,17 @@ and parse_instr : rest, None )) >>=? fun (judgement, ctxt) -> + let make_instr ibody = + { + csize = 0; + apply = + (fun kinfo k -> + 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)); + } + in match judgement with | Typed ({aft; _} as ibody) -> let invalid_iter_body () = @@ -4442,33 +4453,10 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - let instr = - { - csize = 0; - apply = - (fun kinfo k -> - 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)); - } - in - ( typed_no_lwt ctxt loc instr rest + ( typed_no_lwt ctxt loc (make_instr ibody) rest : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - let instr = - { - csize = 0; - apply = - (fun kinfo k -> - let ibody = descr rest in - 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)); - } - in - typed ctxt loc instr rest ) + typed ctxt loc (make_instr (descr rest)) rest ) | ( Prim (loc, I_MEM, [], annot), Item_t (vk, Item_t (Map_t (ck, _, _), rest, _), _) ) -> let k = ty_of_comparable_ty ck in -- GitLab From 01b987dd45d97246cc96ac11361bdcf31b76a12d Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 16:29:08 +0200 Subject: [PATCH 38/69] Proto/Michelson: Translate empty sequences into nothing Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 33db87740b61..84a5ed3a0366 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4664,7 +4664,7 @@ and parse_instr : stack_annot )) (* control *) | (Seq (loc, []), stack) -> - let instr = {csize = 0; apply = (fun kinfo k -> INop (kinfo, k))} in + let instr = {csize = 0; apply = (fun _kinfo k -> k)} in typed ctxt loc instr stack | (Seq (_, [single]), stack) -> non_terminal_recursion ?type_logger tc_context ctxt ~legacy single stack -- GitLab From c1df8d80c5365de8f7d1540aed4703b2720a2a5e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 16:31:02 +0200 Subject: [PATCH 39/69] Proto/Michelson: Remove outdated comment and rename identifier Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 84a5ed3a0366..ed1cf51d351c 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4953,15 +4953,14 @@ and parse_instr : error_unexpected_annot loc result_annot >>?= fun () -> make_proof_argument n tc_context stack - >>=? fun (Dipn_proof_argument (n', new_ctxt, descr, aft)) -> - (* TODO: which context should be used in the next line? new_ctxt or the old ctxt? *) + >>=? 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 b = descr.instr.apply kinfo (IHalt kinfoh) in let res = {csize = 0; apply = (fun kinfo k -> IDipn (kinfo, n, n', b, k))} in - typed new_ctxt loc res aft + 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. However, DIP {code} is equivalent to DIP 1 {code} so hinting at an arity of 2 makes sense. *) -- GitLab From a6753f7cb9ec2ea2e67184f8953113dfcb3b2aca Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 16:33:32 +0200 Subject: [PATCH 40/69] Proto/Michelson: Remove the continuation to INever, obviously Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 2 +- src/proto_alpha/lib_protocol/script_typed_ir.ml | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index ed1cf51d351c..114437382979 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4982,7 +4982,7 @@ and parse_instr : | (Prim (loc, I_NEVER, [], annot), Item_t (Never_t _, _rest, _)) -> error_unexpected_annot loc annot >>?= fun () -> - let instr = {csize = 0; apply = (fun kinfo k -> INever (kinfo, k))} in + let instr = {csize = 0; apply = (fun kinfo _k -> INever kinfo)} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack ctxt loc stack_ty Bot_t >>?= fun () -> return ctxt (Failed {descr}) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 04e959dd52f9..d4a1b5a530e6 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -825,9 +825,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = | IChainId : ('a, 's) kinfo * (Chain_id.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | INever : - (never, 's) kinfo * ('b, 'u, 'r, 'f) kinstr - -> (never, 's, 'r, 'f) kinstr + | INever : (never, 's) kinfo -> (never, 's, 'r, 'f) kinstr | IVoting_power : (public_key_hash, 's) kinfo * (n num, 's, 'r, 'f) kinstr -> (public_key_hash, 's, 'r, 'f) kinstr @@ -1522,7 +1520,7 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IChainId (kinfo, _) -> kinfo - | INever (kinfo, _) -> + | INever kinfo -> kinfo | IVoting_power (kinfo, _) -> kinfo @@ -1859,8 +1857,8 @@ let kinstr_rewritek : IDropn (kinfo, n, p, f.apply k) | IChainId (kinfo, k) -> IChainId (kinfo, f.apply k) - | INever (kinfo, k) -> - INever (kinfo, f.apply k) + | INever kinfo -> + INever kinfo | IVoting_power (kinfo, k) -> IVoting_power (kinfo, f.apply k) | ITotal_voting_power (kinfo, k) -> -- GitLab From f4ca47ac8a3bf2d857ea28a547990b79bbebd7d9 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 20 Apr 2021 18:48:35 +0200 Subject: [PATCH 41/69] Proto/Michelson: Fix regression tests outputs Signed-off-by: Yann Regis-Gianas --- ...ddressTransfer::test_send_self_address.out | 6 +- ...ef0e55c43a9a857214d8761e67b.7da5c9014e.out | 12 +- ...ntractOnchainOpcodes::test_split_bytes.out | 10 +- ...tractOnchainOpcodes::test_split_string.out | 8 +- ... \"two\" }) )-(Right (Righ.7492e8cdea.out" | 28 +- ... \"two\" }))-(Left Unit)-(.21b30dd90f.out" | 14 +- ... \"two\" }))-(Right (Right.d336ca1903.out" | 26 +- ...Pair \"foo\" \"bar\" } { P.7f2ee47600.out" | 60 ++- ...tContractOpcodes::test_check_signature.out | 10 +- ...tract_input_output[abs.tz-Unit-0-Unit].out | 8 +- ....tz-Unit-12039123919239192312931-Unit].out | 8 +- ...act_input_output[abs.tz-Unit-948-Unit].out | 8 +- ...ct_input_output[add.tz-Unit-Unit-Unit].out | 118 +++--- ...t_output[and_binary.tz-Unit-Unit-Unit].out | 56 ++- ...ut[bls12_381_fr_to_mutez.tz-0-0x10-16].out | 10 +- ...mb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out | 66 ++- ...nput_output[compare.tz-Unit-Unit-Unit].out | 344 +++++++-------- ...wnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" | 10 +- ...r 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out | 8 +- ... 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out | 8 +- ..._input_output[dup-n.tz-Unit-Unit-Unit].out | 78 ++-- ....tz-\"?\"-(Some \"hello\")-\"hello\"].out" | 6 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 16 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 16 +- ...ct_input_output[mul.tz-Unit-Unit-Unit].out | 88 ++-- ...0-257-0x0101000000000000000.be11332c7f.out | 12 +- ...2-16-0x10000000000000000000.8230fb4fac.out | 12 +- ... (Pair 1 (Pair \"foobar\".368bdfd73a.out" | 333 +++++---------- ... (Pair 1 (Pair \"foobar\".735d9ae802.out" | 333 +++++---------- ...ir \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" | 397 ++++++------------ ...ir \"edpkuBknW28nW72KG6RoH.4e20b52378.out" | 379 ++++++----------- ...output[self_address.tz-Unit-Unit-Unit].out | 8 +- ..._default_entrypoint.tz-Unit-Unit-Unit].out | 8 +- ...entrypoint.tz-Unit-Left (Left 0)-Unit].out | 56 ++- ...s.TestContractOpcodes::test_packunpack.out | 16 +- 35 files changed, 966 insertions(+), 1610 deletions(-) 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 50414dccb8b9..b4d877bef6ee 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: 6615.027 units (will add 100 for safety) +Estimated gas: 6614.982 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.000966 Expected counter: [EXPECTED_COUNTER] - Gas limit: 6716 + Gas limit: 6715 Storage limit: 0 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000966 @@ -37,6 +37,6 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 83 bytes - Consumed gas: 2669.923 + Consumed gas: 2669.878 Injected block [BLOCK_HASH] 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 91bb01efeb44..81feb446f7f3 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: 6720.256 units (will add 100 for safety) +Estimated gas: 6719.851 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]' @@ -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.00119 + Fee to the baker: ꜩ0.001189 Expected counter: [EXPECTED_COUNTER] - Gas limit: 6821 + Gas limit: 6820 Storage limit: 277 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.00119 - fees(the baker who will include this operation,3) ... +ꜩ0.00119 + [CONTRACT_HASH] ................ -ꜩ0.001189 + fees(the baker who will include this operation,3) ... +ꜩ0.001189 Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -29,7 +29,7 @@ This sequence of operations was run: Updated storage: [OPERATION_HASH]48f709699019725ba Storage size: 578 bytes - Consumed gas: 5293.256 + Consumed gas: 5292.851 Internal operations: Transaction: Amount: ꜩ1000 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 3cb1167c59ac..19f3ed4239c7 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 @@ -66,7 +66,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_bytes. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 3482.227 units (will add 100 for safety) +Estimated gas: 3482.092 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]' @@ -93,14 +93,14 @@ This sequence of operations was run: Updated storage: { 0xaa ; 0xbb ; 0xcc } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 3482.227 + Consumed gas: 3482.092 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 Injected block [BLOCK_HASH] { 0xaa ; 0xbb ; 0xcc } Node is bootstrapped. -Estimated gas: 3622.117 units (will add 100 for safety) +Estimated gas: 3621.982 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]' @@ -113,7 +113,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000634 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3723 + Gas limit: 3722 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000634 @@ -127,7 +127,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: 3622.117 + Consumed gas: 3621.982 Balance updates: [CONTRACT_HASH] ... -ꜩ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 8b14d6e3d56a..51bf3769f37f 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 @@ -66,7 +66,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_string. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 3452.271 units (will add 100 for safety) +Estimated gas: 3452.136 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]' @@ -93,14 +93,14 @@ This sequence of operations was run: Updated storage: { "a" ; "b" ; "c" } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 3452.271 + Consumed gas: 3452.136 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 Injected block [BLOCK_HASH] { "a" ; "b" ; "c" } Node is bootstrapped. -Estimated gas: 3508.233 units (will add 100 for safety) +Estimated gas: 3508.098 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]' @@ -127,7 +127,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: 3508.233 + Consumed gas: 3508.098 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 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 949d871018ff..5d71b53d3793 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" @@ -33,50 +33,48 @@ trace [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - location: 113 (remaining gas: 1039903.534 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 114 (remaining gas: 1039903.489 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 119 (remaining gas: 1039903.439 units remaining) + - location: 119 (remaining gas: 1039903.484 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 110 (remaining gas: 1039903.439 units remaining) + - location: 110 (remaining gas: 1039903.484 units remaining) [ { Pair "3" "three" } @parameter.right.right.right.add { Elt "1" "one" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039902.932 units remaining) + - location: 120 (remaining gas: 1039902.977 units remaining) [ (Pair "3" "three") @parameter.right.right.right.add.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 122 (remaining gas: 1039902.882 units remaining) + - location: 122 (remaining gas: 1039902.927 units remaining) [ "3" "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039902.837 units remaining) + - location: 123 (remaining gas: 1039902.882 units remaining) [ "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 125 (remaining gas: 1039902.792 units remaining) + - location: 125 (remaining gas: 1039902.837 units remaining) [ (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039902.792 units remaining) + - location: 123 (remaining gas: 1039902.837 units remaining) [ "3" (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 126 (remaining gas: 1039893.957 units remaining) + - location: 126 (remaining gas: 1039894.002 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039893.957 units remaining) + - location: 120 (remaining gas: 1039894.002 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 127 (remaining gas: 1039893.912 units remaining) + - location: 127 (remaining gas: 1039893.957 units remaining) [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] - - location: 128 (remaining gas: 1039893.867 units remaining) + - location: 128 (remaining gas: 1039893.912 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039893.822 units remaining) + - location: 151 (remaining gas: 1039893.867 units remaining) [ {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039893.777 units remaining) + - location: 153 (remaining gas: 1039893.822 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 ba3db7ce8ea1..f09b19ac025d 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" @@ -22,21 +22,19 @@ trace [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - location: 48 (remaining gas: 1039905.527 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 49 (remaining gas: 1039905.482 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 54 (remaining gas: 1039905.432 units remaining) + - location: 54 (remaining gas: 1039905.477 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 55 (remaining gas: 1039905.392 units remaining) + - location: 55 (remaining gas: 1039905.437 units remaining) [ { Elt "2" "two" } { Elt "1" "one" } ] - - location: 56 (remaining gas: 1039905.347 units remaining) + - location: 56 (remaining gas: 1039905.392 units remaining) [ (Pair { Elt "2" "two" } { Elt "1" "one" }) ] - - location: 57 (remaining gas: 1039905.302 units remaining) + - location: 57 (remaining gas: 1039905.347 units remaining) [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 151 (remaining gas: 1039905.257 units remaining) + - location: 151 (remaining gas: 1039905.302 units remaining) [ {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 153 (remaining gas: 1039905.212 units remaining) + - location: 153 (remaining gas: 1039905.257 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 (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 a7b1567bd91f..703d2b1900cc 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" @@ -32,44 +32,42 @@ trace [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - location: 134 (remaining gas: 1039904.078 units remaining) [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 135 (remaining gas: 1039904.033 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 140 (remaining gas: 1039903.983 units remaining) + - location: 140 (remaining gas: 1039904.028 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 131 (remaining gas: 1039903.983 units remaining) + - location: 131 (remaining gas: 1039904.028 units remaining) [ { "1" } @parameter.right.right.right.rem { Elt "1" "one" } { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039903.476 units remaining) + - location: 141 (remaining gas: 1039903.521 units remaining) [ "1" @parameter.right.right.right.rem.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039903.431 units remaining) + - location: 143 (remaining gas: 1039903.476 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 145 (remaining gas: 1039903.386 units remaining) + - location: 145 (remaining gas: 1039903.431 units remaining) [ None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039903.386 units remaining) + - location: 143 (remaining gas: 1039903.431 units remaining) [ "1" @parameter.right.right.right.rem.elt None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 147 (remaining gas: 1039894.551 units remaining) + - location: 147 (remaining gas: 1039894.596 units remaining) [ {} { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039894.551 units remaining) + - location: 141 (remaining gas: 1039894.596 units remaining) [ {} { Elt "2" "two" } ] - - location: 148 (remaining gas: 1039894.506 units remaining) + - location: 148 (remaining gas: 1039894.551 units remaining) [ (Pair {} { Elt "2" "two" }) ] - - location: 149 (remaining gas: 1039894.461 units remaining) + - location: 149 (remaining gas: 1039894.506 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039894.416 units remaining) + - location: 151 (remaining gas: 1039894.461 units remaining) [ {} (Left (Pair {} { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039894.371 units remaining) + - location: 153 (remaining gas: 1039894.416 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 bb8af3f198bd..62480650f96c 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" @@ -28,102 +28,100 @@ trace [ (Right Unit) @storage ] - location: 70 (remaining gas: 1039922.504 units remaining) [ Unit @storage.right ] - - location: 75 (remaining gas: 1039922.459 units remaining) - [ Unit @storage.right ] - - location: 76 (remaining gas: 1039922.414 units remaining) + - location: 76 (remaining gas: 1039922.459 units remaining) [ ] - - location: 67 (remaining gas: 1039922.414 units remaining) + - location: 67 (remaining gas: 1039922.459 units remaining) [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) @parameter.right.right.import ] - - location: 77 (remaining gas: 1039922.364 units remaining) + - location: 77 (remaining gas: 1039922.409 units remaining) [ { Pair "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039922.319 units remaining) + - location: 78 (remaining gas: 1039922.364 units remaining) [ { Pair "gaz" "baz" } ] - - location: 80 (remaining gas: 1039922.119 units remaining) + - location: 80 (remaining gas: 1039922.164 units remaining) [ {} { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039922.119 units remaining) + - location: 78 (remaining gas: 1039922.164 units remaining) [ { Pair "foo" "bar" } {} { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039921.612 units remaining) + - location: 83 (remaining gas: 1039921.657 units remaining) [ (Pair "foo" "bar") @elt {} { Pair "gaz" "baz" } ] - - location: 85 (remaining gas: 1039921.562 units remaining) + - location: 85 (remaining gas: 1039921.607 units remaining) [ "foo" "bar" {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039921.517 units remaining) + - location: 86 (remaining gas: 1039921.562 units remaining) [ "bar" {} { Pair "gaz" "baz" } ] - - location: 88 (remaining gas: 1039921.472 units remaining) + - location: 88 (remaining gas: 1039921.517 units remaining) [ (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039921.472 units remaining) + - location: 86 (remaining gas: 1039921.517 units remaining) [ "foo" (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 89 (remaining gas: 1039910.638 units remaining) + - location: 89 (remaining gas: 1039910.683 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039910.638 units remaining) + - location: 83 (remaining gas: 1039910.683 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 90 (remaining gas: 1039910.598 units remaining) + - location: 90 (remaining gas: 1039910.643 units remaining) [ { Pair "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039910.553 units remaining) + - location: 91 (remaining gas: 1039910.598 units remaining) [ { Elt "foo" "bar" } ] - - location: 93 (remaining gas: 1039910.353 units remaining) + - location: 93 (remaining gas: 1039910.398 units remaining) [ {} { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039910.353 units remaining) + - location: 91 (remaining gas: 1039910.398 units remaining) [ { Pair "gaz" "baz" } {} { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039909.846 units remaining) + - location: 96 (remaining gas: 1039909.891 units remaining) [ (Pair "gaz" "baz") @elt {} { Elt "foo" "bar" } ] - - location: 98 (remaining gas: 1039909.796 units remaining) + - location: 98 (remaining gas: 1039909.841 units remaining) [ "gaz" "baz" {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039909.751 units remaining) + - location: 99 (remaining gas: 1039909.796 units remaining) [ "baz" {} { Elt "foo" "bar" } ] - - location: 101 (remaining gas: 1039909.706 units remaining) + - location: 101 (remaining gas: 1039909.751 units remaining) [ (Some "baz") {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039909.706 units remaining) + - location: 99 (remaining gas: 1039909.751 units remaining) [ "gaz" (Some "baz") {} { Elt "foo" "bar" } ] - - location: 102 (remaining gas: 1039898.872 units remaining) + - location: 102 (remaining gas: 1039898.917 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039898.872 units remaining) + - location: 96 (remaining gas: 1039898.917 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 103 (remaining gas: 1039898.832 units remaining) + - location: 103 (remaining gas: 1039898.877 units remaining) [ { Elt "foo" "bar" } { Elt "gaz" "baz" } ] - - location: 104 (remaining gas: 1039898.787 units remaining) + - location: 104 (remaining gas: 1039898.832 units remaining) [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] - - location: 105 (remaining gas: 1039898.742 units remaining) + - location: 105 (remaining gas: 1039898.787 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 151 (remaining gas: 1039898.697 units remaining) + - location: 151 (remaining gas: 1039898.742 units remaining) [ {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 153 (remaining gas: 1039898.652 units remaining) + - location: 153 (remaining gas: 1039898.697 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 df2e73c5d7e6..d7ccdca4d29b 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 @@ -104,18 +104,14 @@ trace [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 23 (remaining gas: 1039661.613 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 28 (remaining gas: 1039661.563 units remaining) + - location: 28 (remaining gas: 1039661.608 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage ] - - location: 29 (remaining gas: 1039661.518 units remaining) + - location: 29 (remaining gas: 1039661.563 units remaining) [ {} (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage ] - - location: 31 (remaining gas: 1039661.473 units remaining) + - location: 31 (remaining gas: 1039661.518 units remaining) [ (Pair {} "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] 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 fc2190ae2ab4..94ba08cb0ae4 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 @@ -26,13 +26,11 @@ trace [ True ] - location: 14 (remaining gas: 1039986.640 units remaining) [ ] - - location: 15 (remaining gas: 1039986.595 units remaining) - [ ] - - location: 20 (remaining gas: 1039986.550 units remaining) + - location: 20 (remaining gas: 1039986.595 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039986.505 units remaining) + - location: 21 (remaining gas: 1039986.550 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039986.460 units remaining) + - location: 23 (remaining gas: 1039986.505 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 7f8677cc9c35..cd2d91db69e0 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 @@ -26,13 +26,11 @@ trace [ True ] - location: 14 (remaining gas: 1039986.640 units remaining) [ ] - - location: 15 (remaining gas: 1039986.595 units remaining) - [ ] - - location: 20 (remaining gas: 1039986.550 units remaining) + - location: 20 (remaining gas: 1039986.595 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039986.505 units remaining) + - location: 21 (remaining gas: 1039986.550 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039986.460 units remaining) + - location: 23 (remaining gas: 1039986.505 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 1f1012b3523c..a27bf85ba889 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 @@ -26,13 +26,11 @@ trace [ True ] - location: 14 (remaining gas: 1039986.640 units remaining) [ ] - - location: 15 (remaining gas: 1039986.595 units remaining) - [ ] - - location: 20 (remaining gas: 1039986.550 units remaining) + - location: 20 (remaining gas: 1039986.595 units remaining) [ Unit ] - - location: 21 (remaining gas: 1039986.505 units remaining) + - location: 21 (remaining gas: 1039986.550 units remaining) [ {} Unit ] - - location: 23 (remaining gas: 1039986.460 units remaining) + - location: 23 (remaining gas: 1039986.505 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 99d752fc0e3e..71543a718780 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 @@ -33,179 +33,163 @@ trace Unit @parameter ] - location: 22 (remaining gas: 1039916.640 units remaining) [ Unit @parameter ] - - location: 23 (remaining gas: 1039916.595 units remaining) - [ Unit @parameter ] - - location: 28 (remaining gas: 1039916.550 units remaining) + - location: 28 (remaining gas: 1039916.595 units remaining) [ 2 Unit @parameter ] - - location: 31 (remaining gas: 1039916.505 units remaining) + - location: 31 (remaining gas: 1039916.550 units remaining) [ 2 2 Unit @parameter ] - - location: 34 (remaining gas: 1039916.425 units remaining) + - location: 34 (remaining gas: 1039916.470 units remaining) [ 4 Unit @parameter ] - - location: 35 (remaining gas: 1039916.380 units remaining) + - location: 35 (remaining gas: 1039916.425 units remaining) [ 4 4 Unit @parameter ] - - location: 40 (remaining gas: 1039916.230 units remaining) + - location: 40 (remaining gas: 1039916.275 units remaining) [ 0 Unit @parameter ] - - location: 41 (remaining gas: 1039916.180 units remaining) + - location: 41 (remaining gas: 1039916.225 units remaining) [ True Unit @parameter ] - - location: 42 (remaining gas: 1039916.155 units remaining) - [ Unit @parameter ] - - location: 43 (remaining gas: 1039916.110 units remaining) + - location: 42 (remaining gas: 1039916.200 units remaining) [ Unit @parameter ] - - location: 48 (remaining gas: 1039916.065 units remaining) + - location: 48 (remaining gas: 1039916.155 units remaining) [ 2 Unit @parameter ] - - location: 51 (remaining gas: 1039916.020 units remaining) + - location: 51 (remaining gas: 1039916.110 units remaining) [ 2 2 Unit @parameter ] - - location: 54 (remaining gas: 1039915.940 units remaining) + - location: 54 (remaining gas: 1039916.030 units remaining) [ 4 Unit @parameter ] - - location: 55 (remaining gas: 1039915.895 units remaining) + - location: 55 (remaining gas: 1039915.985 units remaining) [ 4 4 Unit @parameter ] - - location: 60 (remaining gas: 1039915.745 units remaining) + - location: 60 (remaining gas: 1039915.835 units remaining) [ 0 Unit @parameter ] - - location: 61 (remaining gas: 1039915.695 units remaining) + - location: 61 (remaining gas: 1039915.785 units remaining) [ True Unit @parameter ] - - location: 62 (remaining gas: 1039915.670 units remaining) + - location: 62 (remaining gas: 1039915.760 units remaining) [ Unit @parameter ] - - location: 63 (remaining gas: 1039915.625 units remaining) - [ Unit @parameter ] - - location: 68 (remaining gas: 1039915.580 units remaining) + - location: 68 (remaining gas: 1039915.715 units remaining) [ 2 Unit @parameter ] - - location: 71 (remaining gas: 1039915.535 units remaining) + - location: 71 (remaining gas: 1039915.670 units remaining) [ 2 2 Unit @parameter ] - - location: 74 (remaining gas: 1039915.455 units remaining) + - location: 74 (remaining gas: 1039915.590 units remaining) [ 4 Unit @parameter ] - - location: 75 (remaining gas: 1039915.410 units remaining) + - location: 75 (remaining gas: 1039915.545 units remaining) [ 4 4 Unit @parameter ] - - location: 80 (remaining gas: 1039915.260 units remaining) + - location: 80 (remaining gas: 1039915.395 units remaining) [ 0 Unit @parameter ] - - location: 81 (remaining gas: 1039915.210 units remaining) + - location: 81 (remaining gas: 1039915.345 units remaining) [ True Unit @parameter ] - - location: 82 (remaining gas: 1039915.185 units remaining) - [ Unit @parameter ] - - location: 83 (remaining gas: 1039915.140 units remaining) + - location: 82 (remaining gas: 1039915.320 units remaining) [ Unit @parameter ] - - location: 88 (remaining gas: 1039915.095 units remaining) + - location: 88 (remaining gas: 1039915.275 units remaining) [ 2 Unit @parameter ] - - location: 91 (remaining gas: 1039915.050 units remaining) + - location: 91 (remaining gas: 1039915.230 units remaining) [ 2 2 Unit @parameter ] - - location: 94 (remaining gas: 1039914.970 units remaining) + - location: 94 (remaining gas: 1039915.150 units remaining) [ 4 Unit @parameter ] - - location: 95 (remaining gas: 1039914.925 units remaining) + - location: 95 (remaining gas: 1039915.105 units remaining) [ 4 4 Unit @parameter ] - - location: 100 (remaining gas: 1039914.775 units remaining) + - location: 100 (remaining gas: 1039914.955 units remaining) [ 0 Unit @parameter ] - - location: 101 (remaining gas: 1039914.725 units remaining) + - location: 101 (remaining gas: 1039914.905 units remaining) [ True Unit @parameter ] - - location: 102 (remaining gas: 1039914.700 units remaining) + - location: 102 (remaining gas: 1039914.880 units remaining) [ Unit @parameter ] - - location: 103 (remaining gas: 1039914.655 units remaining) - [ Unit @parameter ] - - location: 108 (remaining gas: 1039914.610 units remaining) + - location: 108 (remaining gas: 1039914.835 units remaining) [ 60 Unit @parameter ] - - location: 111 (remaining gas: 1039914.565 units remaining) + - location: 111 (remaining gas: 1039914.790 units remaining) [ "2019-09-09T12:08:37Z" 60 Unit @parameter ] - - location: 114 (remaining gas: 1039914.485 units remaining) + - location: 114 (remaining gas: 1039914.710 units remaining) [ "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 115 (remaining gas: 1039914.440 units remaining) + - location: 115 (remaining gas: 1039914.665 units remaining) [ "2019-09-09T12:09:37Z" "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 120 (remaining gas: 1039914.300 units remaining) + - location: 120 (remaining gas: 1039914.525 units remaining) [ 0 Unit @parameter ] - - location: 121 (remaining gas: 1039914.250 units remaining) + - location: 121 (remaining gas: 1039914.475 units remaining) [ True Unit @parameter ] - - location: 122 (remaining gas: 1039914.225 units remaining) - [ Unit @parameter ] - - location: 123 (remaining gas: 1039914.180 units remaining) + - location: 122 (remaining gas: 1039914.450 units remaining) [ Unit @parameter ] - - location: 128 (remaining gas: 1039914.135 units remaining) + - location: 128 (remaining gas: 1039914.405 units remaining) [ "2019-09-09T12:08:37Z" Unit @parameter ] - - location: 131 (remaining gas: 1039914.090 units remaining) + - location: 131 (remaining gas: 1039914.360 units remaining) [ 60 "2019-09-09T12:08:37Z" Unit @parameter ] - - location: 134 (remaining gas: 1039914.010 units remaining) + - location: 134 (remaining gas: 1039914.280 units remaining) [ "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 135 (remaining gas: 1039913.965 units remaining) + - location: 135 (remaining gas: 1039914.235 units remaining) [ "2019-09-09T12:09:37Z" "2019-09-09T12:09:37Z" Unit @parameter ] - - location: 140 (remaining gas: 1039913.825 units remaining) + - location: 140 (remaining gas: 1039914.095 units remaining) [ 0 Unit @parameter ] - - location: 141 (remaining gas: 1039913.775 units remaining) + - location: 141 (remaining gas: 1039914.045 units remaining) [ True Unit @parameter ] - - location: 142 (remaining gas: 1039913.750 units remaining) + - location: 142 (remaining gas: 1039914.020 units remaining) [ Unit @parameter ] - - location: 143 (remaining gas: 1039913.705 units remaining) - [ Unit @parameter ] - - location: 148 (remaining gas: 1039913.660 units remaining) + - location: 148 (remaining gas: 1039913.975 units remaining) [ 1000 Unit @parameter ] - - location: 151 (remaining gas: 1039913.615 units remaining) + - location: 151 (remaining gas: 1039913.930 units remaining) [ 1000 1000 Unit @parameter ] - - location: 154 (remaining gas: 1039913.560 units remaining) + - location: 154 (remaining gas: 1039913.875 units remaining) [ 2000 Unit @parameter ] - - location: 155 (remaining gas: 1039913.515 units remaining) + - location: 155 (remaining gas: 1039913.830 units remaining) [ 2000 2000 Unit @parameter ] - - location: 160 (remaining gas: 1039913.411 units remaining) + - location: 160 (remaining gas: 1039913.726 units remaining) [ 0 Unit @parameter ] - - location: 161 (remaining gas: 1039913.361 units remaining) + - location: 161 (remaining gas: 1039913.676 units remaining) [ True Unit @parameter ] - - location: 162 (remaining gas: 1039913.336 units remaining) - [ Unit @parameter ] - - location: 163 (remaining gas: 1039913.291 units remaining) + - location: 162 (remaining gas: 1039913.651 units remaining) [ Unit @parameter ] - - location: 168 (remaining gas: 1039913.246 units remaining) + - location: 168 (remaining gas: 1039913.606 units remaining) [ {} Unit @parameter ] - - location: 170 (remaining gas: 1039913.201 units remaining) + - location: 170 (remaining gas: 1039913.561 units remaining) [ (Pair {} Unit) ] 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 23f3455f829d..f57fe5663504 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 @@ -27,67 +27,59 @@ trace [ True ] - location: 22 (remaining gas: 1039955.335 units remaining) [ ] - - location: 23 (remaining gas: 1039955.290 units remaining) - [ ] - - location: 28 (remaining gas: 1039955.245 units remaining) + - location: 28 (remaining gas: 1039955.290 units remaining) [ 6 ] - - location: 31 (remaining gas: 1039955.200 units remaining) + - location: 31 (remaining gas: 1039955.245 units remaining) [ 5 6 ] - - location: 34 (remaining gas: 1039955.120 units remaining) + - location: 34 (remaining gas: 1039955.165 units remaining) [ 4 ] - - location: 35 (remaining gas: 1039955.075 units remaining) + - location: 35 (remaining gas: 1039955.120 units remaining) [ 4 4 ] - - location: 40 (remaining gas: 1039954.925 units remaining) + - location: 40 (remaining gas: 1039954.970 units remaining) [ 0 ] - - location: 41 (remaining gas: 1039954.875 units remaining) + - location: 41 (remaining gas: 1039954.920 units remaining) [ True ] - - location: 42 (remaining gas: 1039954.850 units remaining) - [ ] - - location: 43 (remaining gas: 1039954.805 units remaining) + - location: 42 (remaining gas: 1039954.895 units remaining) [ ] - - location: 48 (remaining gas: 1039954.760 units remaining) + - location: 48 (remaining gas: 1039954.850 units remaining) [ 12 ] - - location: 51 (remaining gas: 1039954.715 units remaining) + - location: 51 (remaining gas: 1039954.805 units remaining) [ -1 12 ] - - location: 54 (remaining gas: 1039954.635 units remaining) + - location: 54 (remaining gas: 1039954.725 units remaining) [ 12 ] - - location: 55 (remaining gas: 1039954.590 units remaining) + - location: 55 (remaining gas: 1039954.680 units remaining) [ 12 12 ] - - location: 60 (remaining gas: 1039954.440 units remaining) + - location: 60 (remaining gas: 1039954.530 units remaining) [ 0 ] - - location: 61 (remaining gas: 1039954.390 units remaining) + - location: 61 (remaining gas: 1039954.480 units remaining) [ True ] - - location: 62 (remaining gas: 1039954.365 units remaining) + - location: 62 (remaining gas: 1039954.455 units remaining) [ ] - - location: 63 (remaining gas: 1039954.320 units remaining) - [ ] - - location: 68 (remaining gas: 1039954.275 units remaining) + - location: 68 (remaining gas: 1039954.410 units remaining) [ 12 ] - - location: 71 (remaining gas: 1039954.230 units remaining) + - location: 71 (remaining gas: 1039954.365 units remaining) [ -5 12 ] - - location: 74 (remaining gas: 1039954.150 units remaining) + - location: 74 (remaining gas: 1039954.285 units remaining) [ 8 ] - - location: 75 (remaining gas: 1039954.105 units remaining) + - location: 75 (remaining gas: 1039954.240 units remaining) [ 8 8 ] - - location: 80 (remaining gas: 1039953.955 units remaining) + - location: 80 (remaining gas: 1039954.090 units remaining) [ 0 ] - - location: 81 (remaining gas: 1039953.905 units remaining) + - location: 81 (remaining gas: 1039954.040 units remaining) [ True ] - - location: 82 (remaining gas: 1039953.880 units remaining) - [ ] - - location: 83 (remaining gas: 1039953.835 units remaining) + - location: 82 (remaining gas: 1039954.015 units remaining) [ ] - - location: 88 (remaining gas: 1039953.790 units remaining) + - location: 88 (remaining gas: 1039953.970 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039953.745 units remaining) + - location: 89 (remaining gas: 1039953.925 units remaining) [ {} @noop Unit ] - - location: 91 (remaining gas: 1039953.700 units remaining) + - location: 91 (remaining gas: 1039953.880 units remaining) [ (Pair {} Unit) ] 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 d8a228811fec..7a6e8aa92b42 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 @@ -17,16 +17,14 @@ trace [ (Some 16) ] - location: 11 (remaining gas: 1039988.495 units remaining) [ 16 @some ] - - location: 16 (remaining gas: 1039988.450 units remaining) - [ 16 @some ] - - location: 17 (remaining gas: 1039988.405 units remaining) + - location: 17 (remaining gas: 1039988.450 units remaining) [ 1 16 @some ] - - location: 20 (remaining gas: 1039988.072 units remaining) + - location: 20 (remaining gas: 1039988.117 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039988.027 units remaining) + - location: 21 (remaining gas: 1039988.072 units remaining) [ {} 16 ] - - location: 23 (remaining gas: 1039987.982 units remaining) + - location: 23 (remaining gas: 1039988.027 units remaining) [ (Pair {} 16) ] 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 73ff0c46961d..ac1a5c7673fd 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 @@ -29,95 +29,85 @@ trace (Pair 1 4 2 Unit) @parameter ] - location: 21 (remaining gas: 1039941.570 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 22 (remaining gas: 1039941.525 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 27 (remaining gas: 1039941.475 units remaining) + - location: 27 (remaining gas: 1039941.520 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 28 (remaining gas: 1039941.395 units remaining) + - location: 28 (remaining gas: 1039941.440 units remaining) [ 1 (Pair 1 4 2 Unit) @parameter ] - - location: 30 (remaining gas: 1039941.350 units remaining) + - location: 30 (remaining gas: 1039941.395 units remaining) [ 1 1 (Pair 1 4 2 Unit) @parameter ] - - location: 35 (remaining gas: 1039941.200 units remaining) + - location: 35 (remaining gas: 1039941.245 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 36 (remaining gas: 1039941.150 units remaining) + - location: 36 (remaining gas: 1039941.195 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: 37 (remaining gas: 1039941.125 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 38 (remaining gas: 1039941.080 units remaining) + - location: 37 (remaining gas: 1039941.170 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 43 (remaining gas: 1039941.030 units remaining) + - location: 43 (remaining gas: 1039941.120 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 44 (remaining gas: 1039940.949 units remaining) + - location: 44 (remaining gas: 1039941.039 units remaining) [ 4 (Pair 1 4 2 Unit) @parameter ] - - location: 46 (remaining gas: 1039940.904 units remaining) + - location: 46 (remaining gas: 1039940.994 units remaining) [ 4 4 (Pair 1 4 2 Unit) @parameter ] - - location: 51 (remaining gas: 1039940.754 units remaining) + - location: 51 (remaining gas: 1039940.844 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 52 (remaining gas: 1039940.704 units remaining) + - location: 52 (remaining gas: 1039940.794 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: 53 (remaining gas: 1039940.679 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 54 (remaining gas: 1039940.634 units remaining) + - location: 53 (remaining gas: 1039940.769 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 59 (remaining gas: 1039940.584 units remaining) + - location: 59 (remaining gas: 1039940.719 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 60 (remaining gas: 1039940.502 units remaining) + - location: 60 (remaining gas: 1039940.637 units remaining) [ 2 (Pair 1 4 2 Unit) @parameter ] - - location: 62 (remaining gas: 1039940.457 units remaining) + - location: 62 (remaining gas: 1039940.592 units remaining) [ 2 2 (Pair 1 4 2 Unit) @parameter ] - - location: 67 (remaining gas: 1039940.307 units remaining) + - location: 67 (remaining gas: 1039940.442 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 68 (remaining gas: 1039940.257 units remaining) + - location: 68 (remaining gas: 1039940.392 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: 69 (remaining gas: 1039940.232 units remaining) + - location: 69 (remaining gas: 1039940.367 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 70 (remaining gas: 1039940.187 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 75 (remaining gas: 1039940.137 units remaining) + - location: 75 (remaining gas: 1039940.317 units remaining) [ (Pair 1 4 2 Unit) @parameter (Pair 1 4 2 Unit) @parameter ] - - location: 76 (remaining gas: 1039940.054 units remaining) + - location: 76 (remaining gas: 1039940.234 units remaining) [ Unit (Pair 1 4 2 Unit) @parameter ] - - location: 78 (remaining gas: 1039940.009 units remaining) + - location: 78 (remaining gas: 1039940.189 units remaining) [ Unit Unit (Pair 1 4 2 Unit) @parameter ] - - location: 81 (remaining gas: 1039939.999 units remaining) + - location: 81 (remaining gas: 1039940.179 units remaining) [ 0 (Pair 1 4 2 Unit) @parameter ] - - location: 82 (remaining gas: 1039939.949 units remaining) + - location: 82 (remaining gas: 1039940.129 units remaining) [ True (Pair 1 4 2 Unit) @parameter ] - - location: 83 (remaining gas: 1039939.924 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 84 (remaining gas: 1039939.879 units remaining) + - location: 83 (remaining gas: 1039940.104 units remaining) [ (Pair 1 4 2 Unit) @parameter ] - - location: 89 (remaining gas: 1039939.834 units remaining) + - location: 89 (remaining gas: 1039940.059 units remaining) [ ] - - location: 90 (remaining gas: 1039939.789 units remaining) + - location: 90 (remaining gas: 1039940.014 units remaining) [ Unit ] - - location: 91 (remaining gas: 1039939.744 units remaining) + - location: 91 (remaining gas: 1039939.969 units remaining) [ {} Unit ] - - location: 93 (remaining gas: 1039939.699 units remaining) + - location: 93 (remaining gas: 1039939.924 units remaining) [ (Pair {} Unit) ] 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 682d1256f9c8..deaab3395b3c 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 @@ -22,377 +22,319 @@ trace [ True ] - location: 15 (remaining gas: 1039762.556 units remaining) [ ] - - location: 16 (remaining gas: 1039762.511 units remaining) - [ ] - - location: 21 (remaining gas: 1039762.466 units remaining) + - location: 21 (remaining gas: 1039762.511 units remaining) [ False ] - - location: 24 (remaining gas: 1039762.416 units remaining) + - location: 24 (remaining gas: 1039762.461 units remaining) [ False False ] - - location: 25 (remaining gas: 1039762.208 units remaining) + - location: 25 (remaining gas: 1039762.253 units remaining) [ 0 ] - - location: 27 (remaining gas: 1039762.158 units remaining) + - location: 27 (remaining gas: 1039762.203 units remaining) [ True ] - - location: 28 (remaining gas: 1039762.133 units remaining) - [ ] - - location: 29 (remaining gas: 1039762.088 units remaining) + - location: 28 (remaining gas: 1039762.178 units remaining) [ ] - - location: 34 (remaining gas: 1039762.043 units remaining) + - location: 34 (remaining gas: 1039762.133 units remaining) [ False ] - - location: 37 (remaining gas: 1039761.998 units remaining) + - location: 37 (remaining gas: 1039762.088 units remaining) [ True False ] - - location: 40 (remaining gas: 1039761.790 units remaining) + - location: 40 (remaining gas: 1039761.880 units remaining) [ 1 ] - - location: 42 (remaining gas: 1039761.745 units remaining) + - location: 42 (remaining gas: 1039761.835 units remaining) [ True ] - - location: 43 (remaining gas: 1039761.720 units remaining) + - location: 43 (remaining gas: 1039761.810 units remaining) [ ] - - location: 44 (remaining gas: 1039761.675 units remaining) - [ ] - - location: 49 (remaining gas: 1039761.630 units remaining) + - location: 49 (remaining gas: 1039761.765 units remaining) [ True ] - - location: 52 (remaining gas: 1039761.585 units remaining) + - location: 52 (remaining gas: 1039761.720 units remaining) [ False True ] - - location: 55 (remaining gas: 1039761.377 units remaining) + - location: 55 (remaining gas: 1039761.512 units remaining) [ -1 ] - - location: 57 (remaining gas: 1039761.332 units remaining) + - location: 57 (remaining gas: 1039761.467 units remaining) [ True ] - - location: 58 (remaining gas: 1039761.307 units remaining) - [ ] - - location: 59 (remaining gas: 1039761.262 units remaining) + - location: 58 (remaining gas: 1039761.442 units remaining) [ ] - - location: 64 (remaining gas: 1039761.217 units remaining) + - location: 64 (remaining gas: 1039761.397 units remaining) [ 0xaabbcc ] - - location: 67 (remaining gas: 1039761.167 units remaining) + - location: 67 (remaining gas: 1039761.347 units remaining) [ 0xaabbcc 0xaabbcc ] - - location: 68 (remaining gas: 1039761.047 units remaining) + - location: 68 (remaining gas: 1039761.227 units remaining) [ 0 ] - - location: 70 (remaining gas: 1039760.997 units remaining) + - location: 70 (remaining gas: 1039761.177 units remaining) [ True ] - - location: 71 (remaining gas: 1039760.972 units remaining) + - location: 71 (remaining gas: 1039761.152 units remaining) [ ] - - location: 72 (remaining gas: 1039760.927 units remaining) - [ ] - - location: 77 (remaining gas: 1039760.882 units remaining) + - location: 77 (remaining gas: 1039761.107 units remaining) [ 0x ] - - location: 80 (remaining gas: 1039760.837 units remaining) + - location: 80 (remaining gas: 1039761.062 units remaining) [ 0x 0x ] - - location: 83 (remaining gas: 1039760.717 units remaining) + - location: 83 (remaining gas: 1039760.942 units remaining) [ 0 ] - - location: 85 (remaining gas: 1039760.667 units remaining) + - location: 85 (remaining gas: 1039760.892 units remaining) [ True ] - - location: 86 (remaining gas: 1039760.642 units remaining) - [ ] - - location: 87 (remaining gas: 1039760.597 units remaining) + - location: 86 (remaining gas: 1039760.867 units remaining) [ ] - - location: 92 (remaining gas: 1039760.552 units remaining) + - location: 92 (remaining gas: 1039760.822 units remaining) [ 0x ] - - location: 95 (remaining gas: 1039760.507 units remaining) + - location: 95 (remaining gas: 1039760.777 units remaining) [ 0x01 0x ] - - location: 98 (remaining gas: 1039760.387 units remaining) + - location: 98 (remaining gas: 1039760.657 units remaining) [ 1 ] - - location: 100 (remaining gas: 1039760.342 units remaining) + - location: 100 (remaining gas: 1039760.612 units remaining) [ True ] - - location: 101 (remaining gas: 1039760.317 units remaining) + - location: 101 (remaining gas: 1039760.587 units remaining) [ ] - - location: 102 (remaining gas: 1039760.272 units remaining) - [ ] - - location: 107 (remaining gas: 1039760.227 units remaining) + - location: 107 (remaining gas: 1039760.542 units remaining) [ 0x01 ] - - location: 110 (remaining gas: 1039760.182 units remaining) + - location: 110 (remaining gas: 1039760.497 units remaining) [ 0x02 0x01 ] - - location: 113 (remaining gas: 1039760.062 units remaining) + - location: 113 (remaining gas: 1039760.377 units remaining) [ 1 ] - - location: 115 (remaining gas: 1039760.017 units remaining) + - location: 115 (remaining gas: 1039760.332 units remaining) [ True ] - - location: 116 (remaining gas: 1039759.992 units remaining) - [ ] - - location: 117 (remaining gas: 1039759.947 units remaining) + - location: 116 (remaining gas: 1039760.307 units remaining) [ ] - - location: 122 (remaining gas: 1039759.902 units remaining) + - location: 122 (remaining gas: 1039760.262 units remaining) [ 0x02 ] - - location: 125 (remaining gas: 1039759.857 units remaining) + - location: 125 (remaining gas: 1039760.217 units remaining) [ 0x01 0x02 ] - - location: 128 (remaining gas: 1039759.737 units remaining) + - location: 128 (remaining gas: 1039760.097 units remaining) [ -1 ] - - location: 130 (remaining gas: 1039759.692 units remaining) + - location: 130 (remaining gas: 1039760.052 units remaining) [ True ] - - location: 131 (remaining gas: 1039759.667 units remaining) + - location: 131 (remaining gas: 1039760.027 units remaining) [ ] - - location: 132 (remaining gas: 1039759.622 units remaining) - [ ] - - location: 137 (remaining gas: 1039759.577 units remaining) + - location: 137 (remaining gas: 1039759.982 units remaining) [ 1 ] - - location: 140 (remaining gas: 1039759.527 units remaining) + - location: 140 (remaining gas: 1039759.932 units remaining) [ 1 1 ] - - location: 141 (remaining gas: 1039759.377 units remaining) + - location: 141 (remaining gas: 1039759.782 units remaining) [ 0 ] - - location: 143 (remaining gas: 1039759.327 units remaining) + - location: 143 (remaining gas: 1039759.732 units remaining) [ True ] - - location: 144 (remaining gas: 1039759.302 units remaining) - [ ] - - location: 145 (remaining gas: 1039759.257 units remaining) + - location: 144 (remaining gas: 1039759.707 units remaining) [ ] - - location: 150 (remaining gas: 1039759.212 units remaining) + - location: 150 (remaining gas: 1039759.662 units remaining) [ 10 ] - - location: 153 (remaining gas: 1039759.167 units remaining) + - location: 153 (remaining gas: 1039759.617 units remaining) [ 5 10 ] - - location: 156 (remaining gas: 1039759.017 units remaining) + - location: 156 (remaining gas: 1039759.467 units remaining) [ -1 ] - - location: 158 (remaining gas: 1039758.972 units remaining) + - location: 158 (remaining gas: 1039759.422 units remaining) [ True ] - - location: 159 (remaining gas: 1039758.947 units remaining) + - location: 159 (remaining gas: 1039759.397 units remaining) [ ] - - location: 160 (remaining gas: 1039758.902 units remaining) - [ ] - - location: 165 (remaining gas: 1039758.857 units remaining) + - location: 165 (remaining gas: 1039759.352 units remaining) [ -4 ] - - location: 168 (remaining gas: 1039758.812 units remaining) + - location: 168 (remaining gas: 1039759.307 units remaining) [ 1923 -4 ] - - location: 171 (remaining gas: 1039758.662 units remaining) + - location: 171 (remaining gas: 1039759.157 units remaining) [ 1 ] - - location: 173 (remaining gas: 1039758.617 units remaining) + - location: 173 (remaining gas: 1039759.112 units remaining) [ True ] - - location: 174 (remaining gas: 1039758.592 units remaining) - [ ] - - location: 175 (remaining gas: 1039758.547 units remaining) + - location: 174 (remaining gas: 1039759.087 units remaining) [ ] - - location: 180 (remaining gas: 1039758.502 units remaining) + - location: 180 (remaining gas: 1039759.042 units remaining) [ 1 ] - - location: 183 (remaining gas: 1039758.452 units remaining) + - location: 183 (remaining gas: 1039758.992 units remaining) [ 1 1 ] - - location: 184 (remaining gas: 1039758.302 units remaining) + - location: 184 (remaining gas: 1039758.842 units remaining) [ 0 ] - - location: 186 (remaining gas: 1039758.252 units remaining) + - location: 186 (remaining gas: 1039758.792 units remaining) [ True ] - - location: 187 (remaining gas: 1039758.227 units remaining) + - location: 187 (remaining gas: 1039758.767 units remaining) [ ] - - location: 188 (remaining gas: 1039758.182 units remaining) - [ ] - - location: 193 (remaining gas: 1039758.137 units remaining) + - location: 193 (remaining gas: 1039758.722 units remaining) [ 10 ] - - location: 196 (remaining gas: 1039758.092 units remaining) + - location: 196 (remaining gas: 1039758.677 units remaining) [ 5 10 ] - - location: 199 (remaining gas: 1039757.942 units remaining) + - location: 199 (remaining gas: 1039758.527 units remaining) [ -1 ] - - location: 201 (remaining gas: 1039757.897 units remaining) + - location: 201 (remaining gas: 1039758.482 units remaining) [ True ] - - location: 202 (remaining gas: 1039757.872 units remaining) - [ ] - - location: 203 (remaining gas: 1039757.827 units remaining) + - location: 202 (remaining gas: 1039758.457 units remaining) [ ] - - location: 208 (remaining gas: 1039757.782 units remaining) + - location: 208 (remaining gas: 1039758.412 units remaining) [ 4 ] - - location: 211 (remaining gas: 1039757.737 units remaining) + - location: 211 (remaining gas: 1039758.367 units remaining) [ 1923 4 ] - - location: 214 (remaining gas: 1039757.587 units remaining) + - location: 214 (remaining gas: 1039758.217 units remaining) [ 1 ] - - location: 216 (remaining gas: 1039757.542 units remaining) + - location: 216 (remaining gas: 1039758.172 units remaining) [ True ] - - location: 217 (remaining gas: 1039757.517 units remaining) - [ ] - - location: 218 (remaining gas: 1039757.472 units remaining) + - location: 217 (remaining gas: 1039758.147 units remaining) [ ] - - location: 223 (remaining gas: 1039757.427 units remaining) + - location: 223 (remaining gas: 1039758.102 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 226 (remaining gas: 1039757.377 units remaining) + - location: 226 (remaining gas: 1039758.052 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 227 (remaining gas: 1039757.167 units remaining) + - location: 227 (remaining gas: 1039757.842 units remaining) [ 0 ] - - location: 229 (remaining gas: 1039757.117 units remaining) + - location: 229 (remaining gas: 1039757.792 units remaining) [ True ] - - location: 230 (remaining gas: 1039757.092 units remaining) + - location: 230 (remaining gas: 1039757.767 units remaining) [ ] - - location: 231 (remaining gas: 1039757.047 units remaining) - [ ] - - location: 236 (remaining gas: 1039757.002 units remaining) + - location: 236 (remaining gas: 1039757.722 units remaining) [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 239 (remaining gas: 1039756.957 units remaining) + - location: 239 (remaining gas: 1039757.677 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 242 (remaining gas: 1039756.747 units remaining) + - location: 242 (remaining gas: 1039757.467 units remaining) [ -1 ] - - location: 244 (remaining gas: 1039756.702 units remaining) + - location: 244 (remaining gas: 1039757.422 units remaining) [ True ] - - location: 245 (remaining gas: 1039756.677 units remaining) - [ ] - - location: 246 (remaining gas: 1039756.632 units remaining) + - location: 245 (remaining gas: 1039757.397 units remaining) [ ] - - location: 251 (remaining gas: 1039756.587 units remaining) + - location: 251 (remaining gas: 1039757.352 units remaining) [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 254 (remaining gas: 1039756.542 units remaining) + - location: 254 (remaining gas: 1039757.307 units remaining) [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 257 (remaining gas: 1039756.332 units remaining) + - location: 257 (remaining gas: 1039757.097 units remaining) [ 1 ] - - location: 259 (remaining gas: 1039756.287 units remaining) + - location: 259 (remaining gas: 1039757.052 units remaining) [ True ] - - location: 260 (remaining gas: 1039756.262 units remaining) + - location: 260 (remaining gas: 1039757.027 units remaining) [ ] - - location: 261 (remaining gas: 1039756.217 units remaining) - [ ] - - location: 266 (remaining gas: 1039756.172 units remaining) + - location: 266 (remaining gas: 1039756.982 units remaining) [ 1 ] - - location: 269 (remaining gas: 1039756.122 units remaining) + - location: 269 (remaining gas: 1039756.932 units remaining) [ 1 1 ] - - location: 270 (remaining gas: 1039756.018 units remaining) + - location: 270 (remaining gas: 1039756.828 units remaining) [ 0 ] - - location: 272 (remaining gas: 1039755.968 units remaining) + - location: 272 (remaining gas: 1039756.778 units remaining) [ True ] - - location: 273 (remaining gas: 1039755.943 units remaining) - [ ] - - location: 274 (remaining gas: 1039755.898 units remaining) + - location: 273 (remaining gas: 1039756.753 units remaining) [ ] - - location: 279 (remaining gas: 1039755.853 units remaining) + - location: 279 (remaining gas: 1039756.708 units remaining) [ 10 ] - - location: 282 (remaining gas: 1039755.808 units remaining) + - location: 282 (remaining gas: 1039756.663 units remaining) [ 5 10 ] - - location: 285 (remaining gas: 1039755.704 units remaining) + - location: 285 (remaining gas: 1039756.559 units remaining) [ -1 ] - - location: 287 (remaining gas: 1039755.659 units remaining) + - location: 287 (remaining gas: 1039756.514 units remaining) [ True ] - - location: 288 (remaining gas: 1039755.634 units remaining) + - location: 288 (remaining gas: 1039756.489 units remaining) [ ] - - location: 289 (remaining gas: 1039755.589 units remaining) - [ ] - - location: 294 (remaining gas: 1039755.544 units remaining) + - location: 294 (remaining gas: 1039756.444 units remaining) [ 4 ] - - location: 297 (remaining gas: 1039755.499 units remaining) + - location: 297 (remaining gas: 1039756.399 units remaining) [ 1923 4 ] - - location: 300 (remaining gas: 1039755.395 units remaining) + - location: 300 (remaining gas: 1039756.295 units remaining) [ 1 ] - - location: 302 (remaining gas: 1039755.350 units remaining) + - location: 302 (remaining gas: 1039756.250 units remaining) [ True ] - - location: 303 (remaining gas: 1039755.325 units remaining) - [ ] - - location: 304 (remaining gas: 1039755.280 units remaining) + - location: 303 (remaining gas: 1039756.225 units remaining) [ ] - - location: 309 (remaining gas: 1039755.235 units remaining) + - location: 309 (remaining gas: 1039756.180 units remaining) [ "AABBCC" ] - - location: 312 (remaining gas: 1039755.185 units remaining) + - location: 312 (remaining gas: 1039756.130 units remaining) [ "AABBCC" "AABBCC" ] - - location: 313 (remaining gas: 1039755.065 units remaining) + - location: 313 (remaining gas: 1039756.010 units remaining) [ 0 ] - - location: 315 (remaining gas: 1039755.015 units remaining) + - location: 315 (remaining gas: 1039755.960 units remaining) [ True ] - - location: 316 (remaining gas: 1039754.990 units remaining) - [ ] - - location: 317 (remaining gas: 1039754.945 units remaining) + - location: 316 (remaining gas: 1039755.935 units remaining) [ ] - - location: 322 (remaining gas: 1039754.900 units remaining) + - location: 322 (remaining gas: 1039755.890 units remaining) [ "" ] - - location: 325 (remaining gas: 1039754.855 units remaining) + - location: 325 (remaining gas: 1039755.845 units remaining) [ "" "" ] - - location: 328 (remaining gas: 1039754.735 units remaining) + - location: 328 (remaining gas: 1039755.725 units remaining) [ 0 ] - - location: 330 (remaining gas: 1039754.685 units remaining) + - location: 330 (remaining gas: 1039755.675 units remaining) [ True ] - - location: 331 (remaining gas: 1039754.660 units remaining) + - location: 331 (remaining gas: 1039755.650 units remaining) [ ] - - location: 332 (remaining gas: 1039754.615 units remaining) - [ ] - - location: 337 (remaining gas: 1039754.570 units remaining) + - location: 337 (remaining gas: 1039755.605 units remaining) [ "" ] - - location: 340 (remaining gas: 1039754.525 units remaining) + - location: 340 (remaining gas: 1039755.560 units remaining) [ "a" "" ] - - location: 343 (remaining gas: 1039754.405 units remaining) + - location: 343 (remaining gas: 1039755.440 units remaining) [ 1 ] - - location: 345 (remaining gas: 1039754.360 units remaining) + - location: 345 (remaining gas: 1039755.395 units remaining) [ True ] - - location: 346 (remaining gas: 1039754.335 units remaining) - [ ] - - location: 347 (remaining gas: 1039754.290 units remaining) + - location: 346 (remaining gas: 1039755.370 units remaining) [ ] - - location: 352 (remaining gas: 1039754.245 units remaining) + - location: 352 (remaining gas: 1039755.325 units remaining) [ "a" ] - - location: 355 (remaining gas: 1039754.200 units remaining) + - location: 355 (remaining gas: 1039755.280 units remaining) [ "b" "a" ] - - location: 358 (remaining gas: 1039754.080 units remaining) + - location: 358 (remaining gas: 1039755.160 units remaining) [ 1 ] - - location: 360 (remaining gas: 1039754.035 units remaining) + - location: 360 (remaining gas: 1039755.115 units remaining) [ True ] - - location: 361 (remaining gas: 1039754.010 units remaining) + - location: 361 (remaining gas: 1039755.090 units remaining) [ ] - - location: 362 (remaining gas: 1039753.965 units remaining) - [ ] - - location: 367 (remaining gas: 1039753.920 units remaining) + - location: 367 (remaining gas: 1039755.045 units remaining) [ "b" ] - - location: 370 (remaining gas: 1039753.875 units remaining) + - location: 370 (remaining gas: 1039755 units remaining) [ "a" "b" ] - - location: 373 (remaining gas: 1039753.755 units remaining) + - location: 373 (remaining gas: 1039754.880 units remaining) [ -1 ] - - location: 375 (remaining gas: 1039753.710 units remaining) + - location: 375 (remaining gas: 1039754.835 units remaining) [ True ] - - location: 376 (remaining gas: 1039753.685 units remaining) - [ ] - - location: 377 (remaining gas: 1039753.640 units remaining) + - location: 376 (remaining gas: 1039754.810 units remaining) [ ] - - location: 382 (remaining gas: 1039753.595 units remaining) + - location: 382 (remaining gas: 1039754.765 units remaining) [ "2019-09-16T08:38:05Z" ] - - location: 385 (remaining gas: 1039753.545 units remaining) + - location: 385 (remaining gas: 1039754.715 units remaining) [ "2019-09-16T08:38:05Z" "2019-09-16T08:38:05Z" ] - - location: 386 (remaining gas: 1039753.405 units remaining) + - location: 386 (remaining gas: 1039754.575 units remaining) [ 0 ] - - location: 388 (remaining gas: 1039753.355 units remaining) + - location: 388 (remaining gas: 1039754.525 units remaining) [ True ] - - location: 389 (remaining gas: 1039753.330 units remaining) + - location: 389 (remaining gas: 1039754.500 units remaining) [ ] - - location: 390 (remaining gas: 1039753.285 units remaining) - [ ] - - location: 395 (remaining gas: 1039753.240 units remaining) + - location: 395 (remaining gas: 1039754.455 units remaining) [ "2017-09-16T08:38:04Z" ] - - location: 398 (remaining gas: 1039753.195 units remaining) + - location: 398 (remaining gas: 1039754.410 units remaining) [ "2019-09-16T08:38:05Z" "2017-09-16T08:38:04Z" ] - - location: 401 (remaining gas: 1039753.055 units remaining) + - location: 401 (remaining gas: 1039754.270 units remaining) [ 1 ] - - location: 403 (remaining gas: 1039753.010 units remaining) + - location: 403 (remaining gas: 1039754.225 units remaining) [ True ] - - location: 404 (remaining gas: 1039752.985 units remaining) - [ ] - - location: 405 (remaining gas: 1039752.940 units remaining) + - location: 404 (remaining gas: 1039754.200 units remaining) [ ] - - location: 410 (remaining gas: 1039752.895 units remaining) + - location: 410 (remaining gas: 1039754.155 units remaining) [ "2019-09-16T08:38:05Z" ] - - location: 413 (remaining gas: 1039752.850 units remaining) + - location: 413 (remaining gas: 1039754.110 units remaining) [ "2019-09-16T08:38:04Z" "2019-09-16T08:38:05Z" ] - - location: 416 (remaining gas: 1039752.710 units remaining) + - location: 416 (remaining gas: 1039753.970 units remaining) [ -1 ] - - location: 418 (remaining gas: 1039752.665 units remaining) + - location: 418 (remaining gas: 1039753.925 units remaining) [ True ] - - location: 419 (remaining gas: 1039752.640 units remaining) - [ ] - - location: 420 (remaining gas: 1039752.595 units remaining) + - location: 419 (remaining gas: 1039753.900 units remaining) [ ] - - location: 425 (remaining gas: 1039752.550 units remaining) + - location: 425 (remaining gas: 1039753.855 units remaining) [ Unit ] - - location: 426 (remaining gas: 1039752.505 units remaining) + - location: 426 (remaining gas: 1039753.810 units remaining) [ {} Unit ] - - location: 428 (remaining gas: 1039752.460 units remaining) + - location: 428 (remaining gas: 1039753.765 units remaining) [ (Pair {} Unit) ] 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 7335dddc89ea..062a7f96eef2 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" @@ -15,15 +15,13 @@ trace [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter.contract ] - location: 11 (remaining gas: 1039686.424 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.contract.some ] - - location: 16 (remaining gas: 1039686.379 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.contract.some ] - - location: 17 (remaining gas: 1039686.334 units remaining) + - location: 17 (remaining gas: 1039686.379 units remaining) [ ] - - location: 18 (remaining gas: 1039686.289 units remaining) + - location: 18 (remaining gas: 1039686.334 units remaining) [ Unit ] - - location: 19 (remaining gas: 1039686.244 units remaining) + - location: 19 (remaining gas: 1039686.289 units remaining) [ {} Unit ] - - location: 21 (remaining gas: 1039686.199 units remaining) + - location: 21 (remaining gas: 1039686.244 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 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 25d6811a01ac..c302f694691a 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 @@ -1228,13 +1228,11 @@ trace [ True ] - location: 220 (remaining gas: 1039837.915 units remaining) [ ] - - location: 221 (remaining gas: 1039837.870 units remaining) - [ ] - - location: 226 (remaining gas: 1039837.825 units remaining) + - location: 226 (remaining gas: 1039837.870 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039837.780 units remaining) + - location: 227 (remaining gas: 1039837.825 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039837.735 units remaining) + - location: 229 (remaining gas: 1039837.780 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 d9a091bf85be..8e3b49fbdfd3 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 @@ -1228,13 +1228,11 @@ trace [ True ] - location: 220 (remaining gas: 1039837.915 units remaining) [ ] - - location: 221 (remaining gas: 1039837.870 units remaining) - [ ] - - location: 226 (remaining gas: 1039837.825 units remaining) + - location: 226 (remaining gas: 1039837.870 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039837.780 units remaining) + - location: 227 (remaining gas: 1039837.825 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039837.735 units remaining) + - location: 229 (remaining gas: 1039837.780 units remaining) [ (Pair {} Unit) ] 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 86065ec5d273..65b3558c5d35 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 @@ -66,20 +66,14 @@ trace 3 4 5 ] - - location: 33 (remaining gas: 1039948.294 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 38 (remaining gas: 1039948.232 units remaining) + - location: 38 (remaining gas: 1039948.277 units remaining) [ 2 1 2 3 4 5 ] - - location: 40 (remaining gas: 1039948.187 units remaining) + - location: 40 (remaining gas: 1039948.232 units remaining) [ 2 2 1 @@ -87,40 +81,34 @@ trace 3 4 5 ] - - location: 45 (remaining gas: 1039948.037 units remaining) + - location: 45 (remaining gas: 1039948.082 units remaining) [ 0 1 2 3 4 5 ] - - location: 46 (remaining gas: 1039947.987 units remaining) + - location: 46 (remaining gas: 1039948.032 units remaining) [ True 1 2 3 4 5 ] - - location: 47 (remaining gas: 1039947.962 units remaining) + - location: 47 (remaining gas: 1039948.007 units remaining) [ 1 2 3 4 5 ] - - location: 48 (remaining gas: 1039947.917 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 53 (remaining gas: 1039947.854 units remaining) + - location: 53 (remaining gas: 1039947.944 units remaining) [ 3 1 2 3 4 5 ] - - location: 55 (remaining gas: 1039947.809 units remaining) + - location: 55 (remaining gas: 1039947.899 units remaining) [ 3 3 1 @@ -128,40 +116,34 @@ trace 3 4 5 ] - - location: 60 (remaining gas: 1039947.659 units remaining) + - location: 60 (remaining gas: 1039947.749 units remaining) [ 0 1 2 3 4 5 ] - - location: 61 (remaining gas: 1039947.609 units remaining) + - location: 61 (remaining gas: 1039947.699 units remaining) [ True 1 2 3 4 5 ] - - location: 62 (remaining gas: 1039947.584 units remaining) + - location: 62 (remaining gas: 1039947.674 units remaining) [ 1 2 3 4 5 ] - - location: 63 (remaining gas: 1039947.539 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 68 (remaining gas: 1039947.474 units remaining) + - location: 68 (remaining gas: 1039947.609 units remaining) [ 4 1 2 3 4 5 ] - - location: 70 (remaining gas: 1039947.429 units remaining) + - location: 70 (remaining gas: 1039947.564 units remaining) [ 4 4 1 @@ -169,40 +151,34 @@ trace 3 4 5 ] - - location: 75 (remaining gas: 1039947.279 units remaining) + - location: 75 (remaining gas: 1039947.414 units remaining) [ 0 1 2 3 4 5 ] - - location: 76 (remaining gas: 1039947.229 units remaining) + - location: 76 (remaining gas: 1039947.364 units remaining) [ True 1 2 3 4 5 ] - - location: 77 (remaining gas: 1039947.204 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 78 (remaining gas: 1039947.159 units remaining) + - location: 77 (remaining gas: 1039947.339 units remaining) [ 1 2 3 4 5 ] - - location: 83 (remaining gas: 1039947.093 units remaining) + - location: 83 (remaining gas: 1039947.273 units remaining) [ 5 1 2 3 4 5 ] - - location: 85 (remaining gas: 1039947.048 units remaining) + - location: 85 (remaining gas: 1039947.228 units remaining) [ 5 5 1 @@ -210,39 +186,33 @@ trace 3 4 5 ] - - location: 90 (remaining gas: 1039946.898 units remaining) + - location: 90 (remaining gas: 1039947.078 units remaining) [ 0 1 2 3 4 5 ] - - location: 91 (remaining gas: 1039946.848 units remaining) + - location: 91 (remaining gas: 1039947.028 units remaining) [ True 1 2 3 4 5 ] - - location: 92 (remaining gas: 1039946.823 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 93 (remaining gas: 1039946.778 units remaining) + - location: 92 (remaining gas: 1039947.003 units remaining) [ 1 2 3 4 5 ] - - location: 98 (remaining gas: 1039946.658 units remaining) + - location: 98 (remaining gas: 1039946.883 units remaining) [ ] - - location: 100 (remaining gas: 1039946.613 units remaining) + - location: 100 (remaining gas: 1039946.838 units remaining) [ Unit ] - - location: 101 (remaining gas: 1039946.568 units remaining) + - location: 101 (remaining gas: 1039946.793 units remaining) [ {} Unit ] - - location: 103 (remaining gas: 1039946.523 units remaining) + - location: 103 (remaining gas: 1039946.748 units remaining) [ (Pair {} Unit) ] 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 8f2d02e8fc55..481bc9ff52d3 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" @@ -12,12 +12,10 @@ trace - location: 8 (remaining gas: 1039992.138 units remaining) [ (Some "hello") @parameter ] - location: 10 (remaining gas: 1039992.108 units remaining) - [ "hello" @parameter.some ] - - location: 15 (remaining gas: 1039992.063 units remaining) [ "hello" ] - - location: 16 (remaining gas: 1039992.018 units remaining) + - location: 16 (remaining gas: 1039992.063 units remaining) [ {} "hello" ] - - location: 18 (remaining gas: 1039991.973 units remaining) + - location: 18 (remaining gas: 1039992.018 units remaining) [ (Pair {} "hello") ] 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 d94fed56dbbe..645f6dcb3286 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" @@ -12,22 +12,16 @@ trace - location: 9 (remaining gas: 1039992.799 units remaining) [ { "1" ; "2" ; "3" } @parameter ] - location: 10 (remaining gas: 1039992.263 units remaining) - [ "1" @parameter.elt ] - - location: 11 (remaining gas: 1039992.218 units remaining) [ "1" ] - - location: 10 (remaining gas: 1039992.218 units remaining) - [ "2" @parameter.elt ] - - location: 11 (remaining gas: 1039992.173 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ "2" ] - - location: 10 (remaining gas: 1039992.173 units remaining) - [ "3" @parameter.elt ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ "3" ] - - location: 10 (remaining gas: 1039992.128 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039992.083 units remaining) + - location: 12 (remaining gas: 1039992.218 units remaining) [ {} { "1" ; "2" ; "3" } ] - - location: 14 (remaining gas: 1039992.038 units remaining) + - location: 14 (remaining gas: 1039992.173 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 fc2c8390662d..7ad706347ac6 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" @@ -12,22 +12,16 @@ trace - location: 9 (remaining gas: 1039992.799 units remaining) [ { "a" ; "b" ; "c" } @parameter ] - location: 10 (remaining gas: 1039992.263 units remaining) - [ "a" @parameter.elt ] - - location: 11 (remaining gas: 1039992.218 units remaining) [ "a" ] - - location: 10 (remaining gas: 1039992.218 units remaining) - [ "b" @parameter.elt ] - - location: 11 (remaining gas: 1039992.173 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ "b" ] - - location: 10 (remaining gas: 1039992.173 units remaining) - [ "c" @parameter.elt ] - - location: 11 (remaining gas: 1039992.128 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ "c" ] - - location: 10 (remaining gas: 1039992.128 units remaining) + - location: 10 (remaining gas: 1039992.263 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039992.083 units remaining) + - location: 12 (remaining gas: 1039992.218 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039992.038 units remaining) + - location: 14 (remaining gas: 1039992.173 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] 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 c5cd0e60ea34..530990aa8bce 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 @@ -29,103 +29,91 @@ trace [ True ] - location: 22 (remaining gas: 1039936.985 units remaining) [ ] - - location: 23 (remaining gas: 1039936.940 units remaining) - [ ] - - location: 28 (remaining gas: 1039936.895 units remaining) + - location: 28 (remaining gas: 1039936.940 units remaining) [ 10 ] - - location: 31 (remaining gas: 1039936.850 units remaining) + - location: 31 (remaining gas: 1039936.895 units remaining) [ 7987 10 ] - - location: 34 (remaining gas: 1039936.384 units remaining) + - location: 34 (remaining gas: 1039936.429 units remaining) [ 79870 ] - - location: 35 (remaining gas: 1039936.339 units remaining) + - location: 35 (remaining gas: 1039936.384 units remaining) [ 79870 79870 ] - - location: 38 (remaining gas: 1039936.235 units remaining) + - location: 38 (remaining gas: 1039936.280 units remaining) [ 0 ] - - location: 40 (remaining gas: 1039936.185 units remaining) + - location: 40 (remaining gas: 1039936.230 units remaining) [ True ] - - location: 41 (remaining gas: 1039936.160 units remaining) - [ ] - - location: 42 (remaining gas: 1039936.115 units remaining) + - location: 41 (remaining gas: 1039936.205 units remaining) [ ] - - location: 47 (remaining gas: 1039936.070 units remaining) + - location: 47 (remaining gas: 1039936.160 units remaining) [ 10 ] - - location: 50 (remaining gas: 1039936.025 units remaining) + - location: 50 (remaining gas: 1039936.115 units remaining) [ -7987 10 ] - - location: 53 (remaining gas: 1039935.936 units remaining) + - location: 53 (remaining gas: 1039936.026 units remaining) [ -79870 ] - - location: 54 (remaining gas: 1039935.891 units remaining) + - location: 54 (remaining gas: 1039935.981 units remaining) [ -79870 -79870 ] - - location: 57 (remaining gas: 1039935.741 units remaining) + - location: 57 (remaining gas: 1039935.831 units remaining) [ 0 ] - - location: 59 (remaining gas: 1039935.691 units remaining) + - location: 59 (remaining gas: 1039935.781 units remaining) [ True ] - - location: 60 (remaining gas: 1039935.666 units remaining) - [ ] - - location: 61 (remaining gas: 1039935.621 units remaining) + - location: 60 (remaining gas: 1039935.756 units remaining) [ ] - - location: 66 (remaining gas: 1039935.576 units remaining) + - location: 66 (remaining gas: 1039935.711 units remaining) [ 10 ] - - location: 69 (remaining gas: 1039935.531 units remaining) + - location: 69 (remaining gas: 1039935.666 units remaining) [ -7987 10 ] - - location: 72 (remaining gas: 1039935.442 units remaining) + - location: 72 (remaining gas: 1039935.577 units remaining) [ -79870 ] - - location: 73 (remaining gas: 1039935.397 units remaining) + - location: 73 (remaining gas: 1039935.532 units remaining) [ -79870 -79870 ] - - location: 76 (remaining gas: 1039935.247 units remaining) + - location: 76 (remaining gas: 1039935.382 units remaining) [ 0 ] - - location: 78 (remaining gas: 1039935.197 units remaining) + - location: 78 (remaining gas: 1039935.332 units remaining) [ True ] - - location: 79 (remaining gas: 1039935.172 units remaining) + - location: 79 (remaining gas: 1039935.307 units remaining) [ ] - - location: 80 (remaining gas: 1039935.127 units remaining) - [ ] - - location: 85 (remaining gas: 1039935.082 units remaining) + - location: 85 (remaining gas: 1039935.262 units remaining) [ -10 ] - - location: 88 (remaining gas: 1039935.037 units remaining) + - location: 88 (remaining gas: 1039935.217 units remaining) [ 7987 -10 ] - - location: 91 (remaining gas: 1039934.948 units remaining) + - location: 91 (remaining gas: 1039935.128 units remaining) [ -79870 ] - - location: 92 (remaining gas: 1039934.903 units remaining) + - location: 92 (remaining gas: 1039935.083 units remaining) [ -79870 -79870 ] - - location: 95 (remaining gas: 1039934.753 units remaining) + - location: 95 (remaining gas: 1039934.933 units remaining) [ 0 ] - - location: 97 (remaining gas: 1039934.703 units remaining) + - location: 97 (remaining gas: 1039934.883 units remaining) [ True ] - - location: 98 (remaining gas: 1039934.678 units remaining) - [ ] - - location: 99 (remaining gas: 1039934.633 units remaining) + - location: 98 (remaining gas: 1039934.858 units remaining) [ ] - - location: 104 (remaining gas: 1039934.588 units remaining) + - location: 104 (remaining gas: 1039934.813 units remaining) [ 10 ] - - location: 107 (remaining gas: 1039934.543 units remaining) + - location: 107 (remaining gas: 1039934.768 units remaining) [ 7987 10 ] - - location: 110 (remaining gas: 1039934.454 units remaining) + - location: 110 (remaining gas: 1039934.679 units remaining) [ 79870 ] - - location: 111 (remaining gas: 1039934.409 units remaining) + - location: 111 (remaining gas: 1039934.634 units remaining) [ 79870 79870 ] - - location: 114 (remaining gas: 1039934.259 units remaining) + - location: 114 (remaining gas: 1039934.484 units remaining) [ 0 ] - - location: 116 (remaining gas: 1039934.209 units remaining) + - location: 116 (remaining gas: 1039934.434 units remaining) [ True ] - - location: 117 (remaining gas: 1039934.184 units remaining) - [ ] - - location: 118 (remaining gas: 1039934.139 units remaining) + - location: 117 (remaining gas: 1039934.409 units remaining) [ ] - - location: 123 (remaining gas: 1039934.094 units remaining) + - location: 123 (remaining gas: 1039934.364 units remaining) [ Unit ] - - location: 124 (remaining gas: 1039934.049 units remaining) + - location: 124 (remaining gas: 1039934.319 units remaining) [ {} Unit ] - - location: 126 (remaining gas: 1039934.004 units remaining) + - location: 126 (remaining gas: 1039934.274 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 be7291afff08..e6646e592920 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 @@ -21,18 +21,16 @@ trace [ (Some (Pair 257 0)) ] - location: 14 (remaining gas: 1039986.330 units remaining) [ (Pair 257 0) @some ] - - location: 19 (remaining gas: 1039986.285 units remaining) - [ (Pair 257 0) @some ] - - location: 20 (remaining gas: 1039986.235 units remaining) + - location: 20 (remaining gas: 1039986.280 units remaining) [ 257 ] - - location: 21 (remaining gas: 1039986.190 units remaining) + - location: 21 (remaining gas: 1039986.235 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 257 ] - - location: 24 (remaining gas: 1039985.810 units remaining) + - location: 24 (remaining gas: 1039985.855 units remaining) [ 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039985.765 units remaining) + - location: 25 (remaining gas: 1039985.810 units remaining) [ {} 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039985.720 units remaining) + - location: 27 (remaining gas: 1039985.765 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 6c91a4412af2..9ca1bab6fb0a 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 @@ -21,18 +21,16 @@ trace [ (Some (Pair 16 0)) ] - location: 14 (remaining gas: 1039986.330 units remaining) [ (Pair 16 0) @some ] - - location: 19 (remaining gas: 1039986.285 units remaining) - [ (Pair 16 0) @some ] - - location: 20 (remaining gas: 1039986.235 units remaining) + - location: 20 (remaining gas: 1039986.280 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039986.190 units remaining) + - location: 21 (remaining gas: 1039986.235 units remaining) [ 0x0100000000000000000000000000000000000000000000000000000000000000 16 ] - - location: 24 (remaining gas: 1039985.810 units remaining) + - location: 24 (remaining gas: 1039985.855 units remaining) [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039985.765 units remaining) + - location: 25 (remaining gas: 1039985.810 units remaining) [ {} 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039985.720 units remaining) + - location: 27 (remaining gas: 1039985.765 units remaining) [ (Pair {} 0x1000000000000000000000000000000000000000000000000000000000000000) ] 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 d5606bb51552..c707ae51459c 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" @@ -122,18 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 31 (remaining gas: 1039742.256 units remaining) - [ -1 @packed.unpacked.some - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039742.106 units remaining) + - location: 34 (remaining gas: 1039742.151 units remaining) [ 0 (Pair 1 "foobar" @@ -143,7 +132,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039742.056 units remaining) + - location: 35 (remaining gas: 1039742.101 units remaining) [ True (Pair 1 "foobar" @@ -153,16 +142,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039742.031 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 37 (remaining gas: 1039741.986 units remaining) + - location: 36 (remaining gas: 1039742.076 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -171,7 +151,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039741.936 units remaining) + - location: 42 (remaining gas: 1039742.026 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -188,7 +168,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039741.886 units remaining) + - location: 43 (remaining gas: 1039741.976 units remaining) [ 1 (Pair 1 "foobar" @@ -198,7 +178,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.841 units remaining) + - location: 44 (remaining gas: 1039741.931 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -207,7 +187,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039741.791 units remaining) + - location: 46 (remaining gas: 1039741.881 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -216,7 +196,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.791 units remaining) + - location: 44 (remaining gas: 1039741.881 units remaining) [ 1 1 (Pair "foobar" @@ -226,7 +206,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039733.551 units remaining) + - location: 47 (remaining gas: 1039733.641 units remaining) [ 0x050001 @packed 1 (Pair "foobar" @@ -236,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039726.311 units remaining) + - location: 48 (remaining gas: 1039726.401 units remaining) [ (Some 1) @packed.unpacked 1 (Pair "foobar" @@ -246,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039726.281 units remaining) + - location: 51 (remaining gas: 1039726.371 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -256,17 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 56 (remaining gas: 1039726.236 units remaining) - [ 1 @packed.unpacked.some - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039726.086 units remaining) + - location: 59 (remaining gas: 1039726.221 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -275,7 +245,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039726.036 units remaining) + - location: 60 (remaining gas: 1039726.171 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -284,15 +254,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039726.011 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 62 (remaining gas: 1039725.966 units remaining) + - location: 61 (remaining gas: 1039726.146 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -300,7 +262,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039725.916 units remaining) + - location: 67 (remaining gas: 1039726.096 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -315,7 +277,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039725.866 units remaining) + - location: 68 (remaining gas: 1039726.046 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -324,7 +286,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039725.821 units remaining) + - location: 69 (remaining gas: 1039726.001 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -332,7 +294,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039725.771 units remaining) + - location: 71 (remaining gas: 1039725.951 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -340,7 +302,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039725.771 units remaining) + - location: 69 (remaining gas: 1039725.951 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -349,7 +311,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039713.531 units remaining) + - location: 72 (remaining gas: 1039713.711 units remaining) [ 0x050100000006666f6f626172 @packed "foobar" (Pair 0x00aabbcc @@ -358,7 +320,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039706.217 units remaining) + - location: 73 (remaining gas: 1039706.397 units remaining) [ (Some "foobar") @packed.unpacked "foobar" (Pair 0x00aabbcc @@ -367,7 +329,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039706.187 units remaining) + - location: 76 (remaining gas: 1039706.367 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -376,16 +338,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 81 (remaining gas: 1039706.142 units remaining) - [ "foobar" @packed.unpacked.some - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039706.022 units remaining) + - location: 84 (remaining gas: 1039706.247 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -393,7 +346,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039705.972 units remaining) + - location: 85 (remaining gas: 1039706.197 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -401,21 +354,14 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039705.947 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 87 (remaining gas: 1039705.902 units remaining) + - location: 86 (remaining gas: 1039706.172 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039705.852 units remaining) + - location: 92 (remaining gas: 1039706.122 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -428,7 +374,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039705.802 units remaining) + - location: 93 (remaining gas: 1039706.072 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -436,21 +382,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039705.757 units remaining) + - location: 94 (remaining gas: 1039706.027 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039705.707 units remaining) + - location: 96 (remaining gas: 1039705.977 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039705.707 units remaining) + - location: 94 (remaining gas: 1039705.977 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -458,7 +404,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039693.467 units remaining) + - location: 97 (remaining gas: 1039693.737 units remaining) [ 0x050a0000000400aabbcc @packed 0x00aabbcc (Pair 1000 @@ -466,7 +412,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039659.227 units remaining) + - location: 98 (remaining gas: 1039659.497 units remaining) [ (Some 0x00aabbcc) @packed.unpacked 0x00aabbcc (Pair 1000 @@ -474,15 +420,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039659.197 units remaining) - [ 0x00aabbcc @packed.unpacked.some - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 106 (remaining gas: 1039659.152 units remaining) + - location: 101 (remaining gas: 1039659.467 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -490,33 +428,27 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039659.032 units remaining) + - location: 109 (remaining gas: 1039659.347 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039658.982 units remaining) + - location: 110 (remaining gas: 1039659.297 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039658.957 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 112 (remaining gas: 1039658.912 units remaining) + - location: 111 (remaining gas: 1039659.272 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039658.862 units remaining) + - location: 117 (remaining gas: 1039659.222 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -527,83 +459,71 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039658.812 units remaining) + - location: 118 (remaining gas: 1039659.172 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039658.767 units remaining) + - location: 119 (remaining gas: 1039659.127 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039658.717 units remaining) + - location: 121 (remaining gas: 1039659.077 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039658.717 units remaining) + - location: 119 (remaining gas: 1039659.077 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039650.477 units remaining) + - location: 122 (remaining gas: 1039650.837 units remaining) [ 0x0500a80f @packed 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039643.237 units remaining) + - location: 123 (remaining gas: 1039643.597 units remaining) [ (Some 1000) @packed.unpacked 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039643.207 units remaining) - [ 1000 @packed.unpacked.some - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 131 (remaining gas: 1039643.162 units remaining) + - location: 126 (remaining gas: 1039643.567 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039643.058 units remaining) + - location: 134 (remaining gas: 1039643.463 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039643.008 units remaining) + - location: 135 (remaining gas: 1039643.413 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039642.983 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 137 (remaining gas: 1039642.938 units remaining) + - location: 136 (remaining gas: 1039643.388 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039642.888 units remaining) + - location: 142 (remaining gas: 1039643.338 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -612,234 +532,197 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039642.838 units remaining) + - location: 143 (remaining gas: 1039643.288 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039642.793 units remaining) + - location: 144 (remaining gas: 1039643.243 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039642.743 units remaining) + - location: 146 (remaining gas: 1039643.193 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039642.743 units remaining) + - location: 144 (remaining gas: 1039643.193 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039634.503 units remaining) + - location: 147 (remaining gas: 1039634.953 units remaining) [ 0x050303 @packed False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039627.263 units remaining) + - location: 148 (remaining gas: 1039627.713 units remaining) [ (Some False) @packed.unpacked False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039627.233 units remaining) + - location: 151 (remaining gas: 1039627.683 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 156 (remaining gas: 1039627.188 units remaining) - [ False @packed.unpacked.some - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039626.980 units remaining) + - location: 159 (remaining gas: 1039627.475 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039626.930 units remaining) + - location: 160 (remaining gas: 1039627.425 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039626.905 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 162 (remaining gas: 1039626.860 units remaining) + - location: 161 (remaining gas: 1039627.400 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039626.810 units remaining) + - location: 167 (remaining gas: 1039627.350 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039626.760 units remaining) + - location: 168 (remaining gas: 1039627.300 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039626.715 units remaining) + - location: 169 (remaining gas: 1039627.255 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039626.665 units remaining) + - location: 171 (remaining gas: 1039627.205 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039626.665 units remaining) + - location: 169 (remaining gas: 1039627.205 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039606.345 units remaining) + - location: 172 (remaining gas: 1039606.885 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039568.045 units remaining) + - location: 173 (remaining gas: 1039568.585 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039568.015 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 181 (remaining gas: 1039567.970 units remaining) + - location: 176 (remaining gas: 1039568.555 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039567.760 units remaining) + - location: 184 (remaining gas: 1039568.345 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039567.710 units remaining) + - location: 185 (remaining gas: 1039568.295 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039567.685 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 187 (remaining gas: 1039567.640 units remaining) + - location: 186 (remaining gas: 1039568.270 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039567.590 units remaining) + - location: 192 (remaining gas: 1039568.220 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039567.540 units remaining) + - location: 193 (remaining gas: 1039568.170 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 194 (remaining gas: 1039567.495 units remaining) + - location: 194 (remaining gas: 1039568.125 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039567.445 units remaining) + - location: 196 (remaining gas: 1039568.075 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039567.445 units remaining) + - location: 194 (remaining gas: 1039568.075 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039559.205 units remaining) + - location: 197 (remaining gas: 1039559.835 units remaining) [ 0x050095bbb0d70b @packed "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039551.965 units remaining) + - location: 198 (remaining gas: 1039552.595 units remaining) [ (Some "2019-09-09T08:35:33Z") @packed.unpacked "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039551.935 units remaining) + - location: 201 (remaining gas: 1039552.565 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 206 (remaining gas: 1039551.890 units remaining) - [ "2019-09-09T08:35:33Z" @packed.unpacked.some - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039551.750 units remaining) + - location: 209 (remaining gas: 1039552.425 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039551.700 units remaining) + - location: 210 (remaining gas: 1039552.375 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039551.675 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 212 (remaining gas: 1039551.630 units remaining) + - location: 211 (remaining gas: 1039552.350 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039551.580 units remaining) + - location: 217 (remaining gas: 1039552.300 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039520.740 units remaining) + - location: 218 (remaining gas: 1039521.460 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039424.500 units remaining) + - location: 219 (remaining gas: 1039425.220 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039424.470 units remaining) + - location: 222 (remaining gas: 1039425.190 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 227 (remaining gas: 1039424.425 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039424.207 units remaining) + - location: 230 (remaining gas: 1039424.972 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039424.157 units remaining) + - location: 231 (remaining gas: 1039424.922 units remaining) [ True ] - - location: 232 (remaining gas: 1039424.132 units remaining) - [ ] - - location: 233 (remaining gas: 1039424.087 units remaining) + - location: 232 (remaining gas: 1039424.897 units remaining) [ ] - - location: 238 (remaining gas: 1039424.042 units remaining) + - location: 238 (remaining gas: 1039424.852 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039415.802 units remaining) + - location: 241 (remaining gas: 1039416.612 units remaining) [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039410.562 units remaining) + - location: 242 (remaining gas: 1039411.372 units remaining) [ (Some 0) @packed.unpacked ] - - location: 245 (remaining gas: 1039410.532 units remaining) + - location: 245 (remaining gas: 1039411.342 units remaining) [ 0 @packed.unpacked.some ] - - location: 250 (remaining gas: 1039410.487 units remaining) - [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039410.442 units remaining) + - location: 251 (remaining gas: 1039411.297 units remaining) [ ] - - location: 252 (remaining gas: 1039410.397 units remaining) + - location: 252 (remaining gas: 1039411.252 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039402.157 units remaining) + - location: 255 (remaining gas: 1039403.012 units remaining) [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039299.157 units remaining) + - location: 256 (remaining gas: 1039300.012 units remaining) [ None @packed.unpacked ] - - location: 259 (remaining gas: 1039299.127 units remaining) - [ ] - - location: 260 (remaining gas: 1039299.082 units remaining) + - location: 259 (remaining gas: 1039299.982 units remaining) [ ] - - location: 265 (remaining gas: 1039299.037 units remaining) + - location: 265 (remaining gas: 1039299.937 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039299.037 units remaining) + - location: 268 (remaining gas: 1039299.937 units remaining) [ None @unpacked ] - - location: 271 (remaining gas: 1039299.007 units remaining) - [ ] - - location: 272 (remaining gas: 1039298.962 units remaining) + - location: 271 (remaining gas: 1039299.907 units remaining) [ ] - - location: 277 (remaining gas: 1039298.917 units remaining) + - location: 277 (remaining gas: 1039299.862 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039298.917 units remaining) + - location: 280 (remaining gas: 1039299.862 units remaining) [ None @unpacked ] - - location: 283 (remaining gas: 1039298.887 units remaining) + - location: 283 (remaining gas: 1039299.832 units remaining) [ ] - - location: 284 (remaining gas: 1039298.842 units remaining) - [ ] - - location: 289 (remaining gas: 1039298.797 units remaining) + - location: 289 (remaining gas: 1039299.787 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039298.797 units remaining) + - location: 292 (remaining gas: 1039299.787 units remaining) [ None @unpacked ] - - location: 295 (remaining gas: 1039298.767 units remaining) - [ ] - - location: 296 (remaining gas: 1039298.722 units remaining) + - location: 295 (remaining gas: 1039299.757 units remaining) [ ] - - location: 301 (remaining gas: 1039298.677 units remaining) + - location: 301 (remaining gas: 1039299.712 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039298.632 units remaining) + - location: 302 (remaining gas: 1039299.667 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039298.587 units remaining) + - location: 304 (remaining gas: 1039299.622 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 abc410d9653f..904e13c26968 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" @@ -122,18 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 31 (remaining gas: 1039742.256 units remaining) - [ -1 @packed.unpacked.some - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039742.106 units remaining) + - location: 34 (remaining gas: 1039742.151 units remaining) [ 0 (Pair 1 "foobar" @@ -143,7 +132,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039742.056 units remaining) + - location: 35 (remaining gas: 1039742.101 units remaining) [ True (Pair 1 "foobar" @@ -153,16 +142,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039742.031 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 37 (remaining gas: 1039741.986 units remaining) + - location: 36 (remaining gas: 1039742.076 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -171,7 +151,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039741.936 units remaining) + - location: 42 (remaining gas: 1039742.026 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -188,7 +168,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039741.886 units remaining) + - location: 43 (remaining gas: 1039741.976 units remaining) [ 1 (Pair 1 "foobar" @@ -198,7 +178,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.841 units remaining) + - location: 44 (remaining gas: 1039741.931 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -207,7 +187,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039741.791 units remaining) + - location: 46 (remaining gas: 1039741.881 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -216,7 +196,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.791 units remaining) + - location: 44 (remaining gas: 1039741.881 units remaining) [ 1 1 (Pair "foobar" @@ -226,7 +206,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039733.551 units remaining) + - location: 47 (remaining gas: 1039733.641 units remaining) [ 0x050001 @packed 1 (Pair "foobar" @@ -236,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039726.311 units remaining) + - location: 48 (remaining gas: 1039726.401 units remaining) [ (Some 1) @packed.unpacked 1 (Pair "foobar" @@ -246,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039726.281 units remaining) + - location: 51 (remaining gas: 1039726.371 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -256,17 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 56 (remaining gas: 1039726.236 units remaining) - [ 1 @packed.unpacked.some - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039726.086 units remaining) + - location: 59 (remaining gas: 1039726.221 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -275,7 +245,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039726.036 units remaining) + - location: 60 (remaining gas: 1039726.171 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -284,15 +254,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039726.011 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 62 (remaining gas: 1039725.966 units remaining) + - location: 61 (remaining gas: 1039726.146 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -300,7 +262,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039725.916 units remaining) + - location: 67 (remaining gas: 1039726.096 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -315,7 +277,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039725.866 units remaining) + - location: 68 (remaining gas: 1039726.046 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -324,7 +286,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039725.821 units remaining) + - location: 69 (remaining gas: 1039726.001 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -332,7 +294,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039725.771 units remaining) + - location: 71 (remaining gas: 1039725.951 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -340,7 +302,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039725.771 units remaining) + - location: 69 (remaining gas: 1039725.951 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -349,7 +311,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039713.531 units remaining) + - location: 72 (remaining gas: 1039713.711 units remaining) [ 0x050100000006666f6f626172 @packed "foobar" (Pair 0x00aabbcc @@ -358,7 +320,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039706.217 units remaining) + - location: 73 (remaining gas: 1039706.397 units remaining) [ (Some "foobar") @packed.unpacked "foobar" (Pair 0x00aabbcc @@ -367,7 +329,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039706.187 units remaining) + - location: 76 (remaining gas: 1039706.367 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -376,16 +338,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 81 (remaining gas: 1039706.142 units remaining) - [ "foobar" @packed.unpacked.some - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039706.022 units remaining) + - location: 84 (remaining gas: 1039706.247 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -393,7 +346,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039705.972 units remaining) + - location: 85 (remaining gas: 1039706.197 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -401,21 +354,14 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039705.947 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 87 (remaining gas: 1039705.902 units remaining) + - location: 86 (remaining gas: 1039706.172 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039705.852 units remaining) + - location: 92 (remaining gas: 1039706.122 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -428,7 +374,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039705.802 units remaining) + - location: 93 (remaining gas: 1039706.072 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -436,21 +382,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039705.757 units remaining) + - location: 94 (remaining gas: 1039706.027 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039705.707 units remaining) + - location: 96 (remaining gas: 1039705.977 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039705.707 units remaining) + - location: 94 (remaining gas: 1039705.977 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -458,7 +404,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039693.467 units remaining) + - location: 97 (remaining gas: 1039693.737 units remaining) [ 0x050a0000000400aabbcc @packed 0x00aabbcc (Pair 1000 @@ -466,7 +412,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039659.227 units remaining) + - location: 98 (remaining gas: 1039659.497 units remaining) [ (Some 0x00aabbcc) @packed.unpacked 0x00aabbcc (Pair 1000 @@ -474,15 +420,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039659.197 units remaining) - [ 0x00aabbcc @packed.unpacked.some - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 106 (remaining gas: 1039659.152 units remaining) + - location: 101 (remaining gas: 1039659.467 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -490,33 +428,27 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039659.032 units remaining) + - location: 109 (remaining gas: 1039659.347 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039658.982 units remaining) + - location: 110 (remaining gas: 1039659.297 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039658.957 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 112 (remaining gas: 1039658.912 units remaining) + - location: 111 (remaining gas: 1039659.272 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039658.862 units remaining) + - location: 117 (remaining gas: 1039659.222 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -527,83 +459,71 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039658.812 units remaining) + - location: 118 (remaining gas: 1039659.172 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039658.767 units remaining) + - location: 119 (remaining gas: 1039659.127 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039658.717 units remaining) + - location: 121 (remaining gas: 1039659.077 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039658.717 units remaining) + - location: 119 (remaining gas: 1039659.077 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039650.477 units remaining) + - location: 122 (remaining gas: 1039650.837 units remaining) [ 0x0500a80f @packed 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039643.237 units remaining) + - location: 123 (remaining gas: 1039643.597 units remaining) [ (Some 1000) @packed.unpacked 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039643.207 units remaining) - [ 1000 @packed.unpacked.some - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 131 (remaining gas: 1039643.162 units remaining) + - location: 126 (remaining gas: 1039643.567 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039643.058 units remaining) + - location: 134 (remaining gas: 1039643.463 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039643.008 units remaining) + - location: 135 (remaining gas: 1039643.413 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039642.983 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 137 (remaining gas: 1039642.938 units remaining) + - location: 136 (remaining gas: 1039643.388 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039642.888 units remaining) + - location: 142 (remaining gas: 1039643.338 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -612,234 +532,197 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039642.838 units remaining) + - location: 143 (remaining gas: 1039643.288 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039642.793 units remaining) + - location: 144 (remaining gas: 1039643.243 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039642.743 units remaining) + - location: 146 (remaining gas: 1039643.193 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039642.743 units remaining) + - location: 144 (remaining gas: 1039643.193 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039634.503 units remaining) + - location: 147 (remaining gas: 1039634.953 units remaining) [ 0x050303 @packed False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039627.263 units remaining) + - location: 148 (remaining gas: 1039627.713 units remaining) [ (Some False) @packed.unpacked False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039627.233 units remaining) + - location: 151 (remaining gas: 1039627.683 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 156 (remaining gas: 1039627.188 units remaining) - [ False @packed.unpacked.some - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039626.980 units remaining) + - location: 159 (remaining gas: 1039627.475 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039626.930 units remaining) + - location: 160 (remaining gas: 1039627.425 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039626.905 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 162 (remaining gas: 1039626.860 units remaining) + - location: 161 (remaining gas: 1039627.400 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039626.810 units remaining) + - location: 167 (remaining gas: 1039627.350 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039626.760 units remaining) + - location: 168 (remaining gas: 1039627.300 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039626.715 units remaining) + - location: 169 (remaining gas: 1039627.255 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039626.665 units remaining) + - location: 171 (remaining gas: 1039627.205 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039626.665 units remaining) + - location: 169 (remaining gas: 1039627.205 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039606.345 units remaining) + - location: 172 (remaining gas: 1039606.885 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039568.045 units remaining) + - location: 173 (remaining gas: 1039568.585 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039568.015 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 181 (remaining gas: 1039567.970 units remaining) + - location: 176 (remaining gas: 1039568.555 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039567.760 units remaining) + - location: 184 (remaining gas: 1039568.345 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039567.710 units remaining) + - location: 185 (remaining gas: 1039568.295 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039567.685 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 187 (remaining gas: 1039567.640 units remaining) + - location: 186 (remaining gas: 1039568.270 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039567.590 units remaining) + - location: 192 (remaining gas: 1039568.220 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039567.540 units remaining) + - location: 193 (remaining gas: 1039568.170 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 194 (remaining gas: 1039567.495 units remaining) + - location: 194 (remaining gas: 1039568.125 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039567.445 units remaining) + - location: 196 (remaining gas: 1039568.075 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039567.445 units remaining) + - location: 194 (remaining gas: 1039568.075 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039559.205 units remaining) + - location: 197 (remaining gas: 1039559.835 units remaining) [ 0x050095bbb0d70b @packed "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039551.965 units remaining) + - location: 198 (remaining gas: 1039552.595 units remaining) [ (Some "2019-09-09T08:35:33Z") @packed.unpacked "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039551.935 units remaining) + - location: 201 (remaining gas: 1039552.565 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 206 (remaining gas: 1039551.890 units remaining) - [ "2019-09-09T08:35:33Z" @packed.unpacked.some - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039551.750 units remaining) + - location: 209 (remaining gas: 1039552.425 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039551.700 units remaining) + - location: 210 (remaining gas: 1039552.375 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039551.675 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 212 (remaining gas: 1039551.630 units remaining) + - location: 211 (remaining gas: 1039552.350 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039551.580 units remaining) + - location: 217 (remaining gas: 1039552.300 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039520.740 units remaining) + - location: 218 (remaining gas: 1039521.460 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039424.500 units remaining) + - location: 219 (remaining gas: 1039425.220 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039424.470 units remaining) + - location: 222 (remaining gas: 1039425.190 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 227 (remaining gas: 1039424.425 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039424.207 units remaining) + - location: 230 (remaining gas: 1039424.972 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039424.157 units remaining) + - location: 231 (remaining gas: 1039424.922 units remaining) [ True ] - - location: 232 (remaining gas: 1039424.132 units remaining) - [ ] - - location: 233 (remaining gas: 1039424.087 units remaining) + - location: 232 (remaining gas: 1039424.897 units remaining) [ ] - - location: 238 (remaining gas: 1039424.042 units remaining) + - location: 238 (remaining gas: 1039424.852 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039415.802 units remaining) + - location: 241 (remaining gas: 1039416.612 units remaining) [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039410.562 units remaining) + - location: 242 (remaining gas: 1039411.372 units remaining) [ (Some 0) @packed.unpacked ] - - location: 245 (remaining gas: 1039410.532 units remaining) + - location: 245 (remaining gas: 1039411.342 units remaining) [ 0 @packed.unpacked.some ] - - location: 250 (remaining gas: 1039410.487 units remaining) - [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039410.442 units remaining) + - location: 251 (remaining gas: 1039411.297 units remaining) [ ] - - location: 252 (remaining gas: 1039410.397 units remaining) + - location: 252 (remaining gas: 1039411.252 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039402.157 units remaining) + - location: 255 (remaining gas: 1039403.012 units remaining) [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039299.157 units remaining) + - location: 256 (remaining gas: 1039300.012 units remaining) [ None @packed.unpacked ] - - location: 259 (remaining gas: 1039299.127 units remaining) - [ ] - - location: 260 (remaining gas: 1039299.082 units remaining) + - location: 259 (remaining gas: 1039299.982 units remaining) [ ] - - location: 265 (remaining gas: 1039299.037 units remaining) + - location: 265 (remaining gas: 1039299.937 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039299.037 units remaining) + - location: 268 (remaining gas: 1039299.937 units remaining) [ None @unpacked ] - - location: 271 (remaining gas: 1039299.007 units remaining) - [ ] - - location: 272 (remaining gas: 1039298.962 units remaining) + - location: 271 (remaining gas: 1039299.907 units remaining) [ ] - - location: 277 (remaining gas: 1039298.917 units remaining) + - location: 277 (remaining gas: 1039299.862 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039298.917 units remaining) + - location: 280 (remaining gas: 1039299.862 units remaining) [ None @unpacked ] - - location: 283 (remaining gas: 1039298.887 units remaining) + - location: 283 (remaining gas: 1039299.832 units remaining) [ ] - - location: 284 (remaining gas: 1039298.842 units remaining) - [ ] - - location: 289 (remaining gas: 1039298.797 units remaining) + - location: 289 (remaining gas: 1039299.787 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039298.797 units remaining) + - location: 292 (remaining gas: 1039299.787 units remaining) [ None @unpacked ] - - location: 295 (remaining gas: 1039298.767 units remaining) - [ ] - - location: 296 (remaining gas: 1039298.722 units remaining) + - location: 295 (remaining gas: 1039299.757 units remaining) [ ] - - location: 301 (remaining gas: 1039298.677 units remaining) + - location: 301 (remaining gas: 1039299.712 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039298.632 units remaining) + - location: 302 (remaining gas: 1039299.667 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039298.587 units remaining) + - location: 304 (remaining gas: 1039299.622 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 bc1ea2622f06..e2bc1f713598 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" @@ -153,18 +153,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 46 (remaining gas: 1039626.076 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 47 (remaining gas: 1039601.346 units remaining) + - location: 47 (remaining gas: 1039601.391 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -175,7 +164,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 35 (remaining gas: 1039601.346 units remaining) + - location: 35 (remaining gas: 1039601.391 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit @@ -187,7 +176,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 50 (remaining gas: 1039601.225 units remaining) + - location: 50 (remaining gas: 1039601.270 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +187,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 51 (remaining gas: 1039601.175 units remaining) + - location: 51 (remaining gas: 1039601.220 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -209,7 +198,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 52 (remaining gas: 1039601.150 units remaining) + - location: 52 (remaining gas: 1039601.195 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -219,17 +208,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 53 (remaining gas: 1039601.105 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 58 (remaining gas: 1039601.055 units remaining) + - location: 58 (remaining gas: 1039601.145 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -248,7 +227,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 59 (remaining gas: 1039601.005 units remaining) + - location: 59 (remaining gas: 1039601.095 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -259,7 +238,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039600.960 units remaining) + - location: 60 (remaining gas: 1039601.050 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -269,7 +248,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 62 (remaining gas: 1039600.910 units remaining) + - location: 62 (remaining gas: 1039601 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -279,7 +258,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039600.910 units remaining) + - location: 60 (remaining gas: 1039601 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -290,7 +269,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 63 (remaining gas: 1039592.670 units remaining) + - location: 63 (remaining gas: 1039592.760 units remaining) [ 0x05030b @packed Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -301,7 +280,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039592.625 units remaining) + - location: 64 (remaining gas: 1039592.715 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -311,7 +290,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 66 (remaining gas: 1039584.385 units remaining) + - location: 66 (remaining gas: 1039584.475 units remaining) [ 0x05030b @packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -321,7 +300,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 67 (remaining gas: 1039577.145 units remaining) + - location: 67 (remaining gas: 1039577.235 units remaining) [ (Some Unit) @packed.unpacked (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -331,17 +310,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 70 (remaining gas: 1039577.115 units remaining) - [ Unit @packed.unpacked.some - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 75 (remaining gas: 1039577.070 units remaining) + - location: 70 (remaining gas: 1039577.205 units remaining) [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -351,7 +320,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 76 (remaining gas: 1039568.830 units remaining) + - location: 76 (remaining gas: 1039568.965 units remaining) [ 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -361,7 +330,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039568.830 units remaining) + - location: 64 (remaining gas: 1039568.965 units remaining) [ 0x05030b @packed 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -372,7 +341,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 79 (remaining gas: 1039568.710 units remaining) + - location: 79 (remaining gas: 1039568.845 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -382,7 +351,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 80 (remaining gas: 1039568.660 units remaining) + - location: 80 (remaining gas: 1039568.795 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -392,7 +361,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 81 (remaining gas: 1039568.635 units remaining) + - location: 81 (remaining gas: 1039568.770 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -401,16 +370,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 82 (remaining gas: 1039568.590 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 87 (remaining gas: 1039568.540 units remaining) + - location: 87 (remaining gas: 1039568.720 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -427,7 +387,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 88 (remaining gas: 1039568.490 units remaining) + - location: 88 (remaining gas: 1039568.670 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -437,7 +397,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039568.445 units remaining) + - location: 89 (remaining gas: 1039568.625 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -446,7 +406,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 91 (remaining gas: 1039568.395 units remaining) + - location: 91 (remaining gas: 1039568.575 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -455,7 +415,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039568.395 units remaining) + - location: 89 (remaining gas: 1039568.575 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -465,7 +425,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 92 (remaining gas: 1039528.115 units remaining) + - location: 92 (remaining gas: 1039528.295 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -475,7 +435,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039528.070 units remaining) + - location: 93 (remaining gas: 1039528.250 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -484,7 +444,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 95 (remaining gas: 1039487.790 units remaining) + - location: 95 (remaining gas: 1039487.970 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -493,7 +453,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 96 (remaining gas: 1039439.520 units remaining) + - location: 96 (remaining gas: 1039439.700 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -502,7 +462,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 99 (remaining gas: 1039439.490 units remaining) + - location: 99 (remaining gas: 1039439.670 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -511,16 +471,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 104 (remaining gas: 1039439.445 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 105 (remaining gas: 1039399.165 units remaining) + - location: 105 (remaining gas: 1039399.390 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -529,7 +480,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039399.165 units remaining) + - location: 93 (remaining gas: 1039399.390 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -539,7 +490,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 108 (remaining gas: 1039399.043 units remaining) + - location: 108 (remaining gas: 1039399.268 units remaining) [ 0 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -548,7 +499,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 109 (remaining gas: 1039398.993 units remaining) + - location: 109 (remaining gas: 1039399.218 units remaining) [ True (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -557,7 +508,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 110 (remaining gas: 1039398.968 units remaining) + - location: 110 (remaining gas: 1039399.193 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -565,15 +516,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 111 (remaining gas: 1039398.923 units remaining) - [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 116 (remaining gas: 1039398.873 units remaining) + - location: 116 (remaining gas: 1039399.143 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -588,7 +531,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 117 (remaining gas: 1039398.823 units remaining) + - location: 117 (remaining gas: 1039399.093 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -597,7 +540,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039398.778 units remaining) + - location: 118 (remaining gas: 1039399.048 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -605,7 +548,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 120 (remaining gas: 1039398.728 units remaining) + - location: 120 (remaining gas: 1039398.998 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -613,7 +556,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039398.728 units remaining) + - location: 118 (remaining gas: 1039398.998 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -622,7 +565,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 121 (remaining gas: 1039358.208 units remaining) + - location: 121 (remaining gas: 1039358.478 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -631,7 +574,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039358.163 units remaining) + - location: 122 (remaining gas: 1039358.433 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -639,7 +582,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 124 (remaining gas: 1039317.643 units remaining) + - location: 124 (remaining gas: 1039317.913 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair { Unit } { True } @@ -647,7 +590,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 125 (remaining gas: 1039255.133 units remaining) + - location: 125 (remaining gas: 1039255.403 units remaining) [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) @packed.unpacked (Pair { Unit } { True } @@ -655,7 +598,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 129 (remaining gas: 1039255.103 units remaining) + - location: 129 (remaining gas: 1039255.373 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some (Pair { Unit } { True } @@ -663,15 +606,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 134 (remaining gas: 1039255.058 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 135 (remaining gas: 1039214.538 units remaining) + - location: 135 (remaining gas: 1039214.853 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair { Unit } { True } @@ -679,7 +614,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039214.538 units remaining) + - location: 122 (remaining gas: 1039214.853 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair { Unit } @@ -688,7 +623,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 138 (remaining gas: 1039214.416 units remaining) + - location: 138 (remaining gas: 1039214.731 units remaining) [ 0 (Pair { Unit } { True } @@ -696,7 +631,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 139 (remaining gas: 1039214.366 units remaining) + - location: 139 (remaining gas: 1039214.681 units remaining) [ True (Pair { Unit } { True } @@ -704,21 +639,14 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 140 (remaining gas: 1039214.341 units remaining) + - location: 140 (remaining gas: 1039214.656 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 141 (remaining gas: 1039214.296 units remaining) - [ (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 146 (remaining gas: 1039214.246 units remaining) + - location: 146 (remaining gas: 1039214.606 units remaining) [ (Pair { Unit } { True } (Pair 19 10) @@ -731,7 +659,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 147 (remaining gas: 1039214.196 units remaining) + - location: 147 (remaining gas: 1039214.556 units remaining) [ { Unit } (Pair { Unit } { True } @@ -739,21 +667,21 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039214.151 units remaining) + - location: 148 (remaining gas: 1039214.511 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 150 (remaining gas: 1039214.101 units remaining) + - location: 150 (remaining gas: 1039214.461 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039214.101 units remaining) + - location: 148 (remaining gas: 1039214.461 units remaining) [ { Unit } { Unit } (Pair { True } @@ -761,7 +689,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 151 (remaining gas: 1039205.621 units remaining) + - location: 151 (remaining gas: 1039205.981 units remaining) [ 0x050200000002030b @packed { Unit } (Pair { True } @@ -769,49 +697,42 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039205.576 units remaining) + - location: 152 (remaining gas: 1039205.936 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 154 (remaining gas: 1039197.096 units remaining) + - location: 154 (remaining gas: 1039197.456 units remaining) [ 0x050200000002030b @packed (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 155 (remaining gas: 1039175.616 units remaining) + - location: 155 (remaining gas: 1039175.976 units remaining) [ (Some { Unit }) @packed.unpacked (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 159 (remaining gas: 1039175.586 units remaining) - [ { Unit } @packed.unpacked.some - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 164 (remaining gas: 1039175.541 units remaining) + - location: 159 (remaining gas: 1039175.946 units remaining) [ { Unit } @packed.unpacked.some (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 165 (remaining gas: 1039167.061 units remaining) + - location: 165 (remaining gas: 1039167.466 units remaining) [ 0x050200000002030b @packed.unpacked.some.packed (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039167.061 units remaining) + - location: 152 (remaining gas: 1039167.466 units remaining) [ 0x050200000002030b @packed 0x050200000002030b @packed.unpacked.some.packed (Pair { True } @@ -819,33 +740,27 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 168 (remaining gas: 1039166.941 units remaining) + - location: 168 (remaining gas: 1039167.346 units remaining) [ 0 (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 169 (remaining gas: 1039166.891 units remaining) + - location: 169 (remaining gas: 1039167.296 units remaining) [ True (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 170 (remaining gas: 1039166.866 units remaining) - [ (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 171 (remaining gas: 1039166.821 units remaining) + - location: 170 (remaining gas: 1039167.271 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 176 (remaining gas: 1039166.771 units remaining) + - location: 176 (remaining gas: 1039167.221 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @@ -856,105 +771,94 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 177 (remaining gas: 1039166.721 units remaining) + - location: 177 (remaining gas: 1039167.171 units remaining) [ { True } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039166.676 units remaining) + - location: 178 (remaining gas: 1039167.126 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 180 (remaining gas: 1039166.626 units remaining) + - location: 180 (remaining gas: 1039167.076 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039166.626 units remaining) + - location: 178 (remaining gas: 1039167.076 units remaining) [ { True } { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 181 (remaining gas: 1039158.146 units remaining) + - location: 181 (remaining gas: 1039158.596 units remaining) [ 0x050200000002030a @packed { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039158.101 units remaining) + - location: 182 (remaining gas: 1039158.551 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 184 (remaining gas: 1039149.621 units remaining) + - location: 184 (remaining gas: 1039150.071 units remaining) [ 0x050200000002030a @packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 185 (remaining gas: 1039128.060 units remaining) + - location: 185 (remaining gas: 1039128.510 units remaining) [ (Some { True }) @packed.unpacked (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 189 (remaining gas: 1039128.030 units remaining) + - location: 189 (remaining gas: 1039128.480 units remaining) [ { True } @packed.unpacked.some (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 194 (remaining gas: 1039127.985 units remaining) - [ { True } @packed.unpacked.some - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 195 (remaining gas: 1039119.505 units remaining) + - location: 195 (remaining gas: 1039120 units remaining) [ 0x050200000002030a @packed.unpacked.some.packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039119.505 units remaining) + - location: 182 (remaining gas: 1039120 units remaining) [ 0x050200000002030a @packed 0x050200000002030a @packed.unpacked.some.packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 198 (remaining gas: 1039119.385 units remaining) + - location: 198 (remaining gas: 1039119.880 units remaining) [ 0 (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 199 (remaining gas: 1039119.335 units remaining) + - location: 199 (remaining gas: 1039119.830 units remaining) [ True (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 200 (remaining gas: 1039119.310 units remaining) - [ (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 201 (remaining gas: 1039119.265 units remaining) + - location: 200 (remaining gas: 1039119.805 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 206 (remaining gas: 1039119.215 units remaining) + - location: 206 (remaining gas: 1039119.755 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } @@ -963,232 +867,209 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 207 (remaining gas: 1039119.165 units remaining) + - location: 207 (remaining gas: 1039119.705 units remaining) [ (Pair 19 10) (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039119.120 units remaining) + - location: 208 (remaining gas: 1039119.660 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 210 (remaining gas: 1039119.070 units remaining) + - location: 210 (remaining gas: 1039119.610 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039119.070 units remaining) + - location: 208 (remaining gas: 1039119.610 units remaining) [ (Pair 19 10) (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 211 (remaining gas: 1039110.350 units remaining) + - location: 211 (remaining gas: 1039110.890 units remaining) [ 0x0507070013000a @packed (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039110.305 units remaining) + - location: 212 (remaining gas: 1039110.845 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 214 (remaining gas: 1039101.585 units remaining) + - location: 214 (remaining gas: 1039102.125 units remaining) [ 0x0507070013000a @packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 215 (remaining gas: 1039065.865 units remaining) + - location: 215 (remaining gas: 1039066.405 units remaining) [ (Some (Pair 19 10)) @packed.unpacked (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 220 (remaining gas: 1039065.835 units remaining) - [ (Pair 19 10) @packed.unpacked.some - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 225 (remaining gas: 1039065.790 units remaining) + - location: 220 (remaining gas: 1039066.375 units remaining) [ (Pair 19 10) @packed.unpacked.some (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 226 (remaining gas: 1039057.070 units remaining) + - location: 226 (remaining gas: 1039057.655 units remaining) [ 0x0507070013000a @packed.unpacked.some.packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039057.070 units remaining) + - location: 212 (remaining gas: 1039057.655 units remaining) [ 0x0507070013000a @packed 0x0507070013000a @packed.unpacked.some.packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 229 (remaining gas: 1039056.950 units remaining) + - location: 229 (remaining gas: 1039057.535 units remaining) [ 0 (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 230 (remaining gas: 1039056.900 units remaining) + - location: 230 (remaining gas: 1039057.485 units remaining) [ True (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 231 (remaining gas: 1039056.875 units remaining) - [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 232 (remaining gas: 1039056.830 units remaining) + - location: 231 (remaining gas: 1039057.460 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 237 (remaining gas: 1039056.780 units remaining) + - location: 237 (remaining gas: 1039057.410 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: 1039056.730 units remaining) + - location: 238 (remaining gas: 1039057.360 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039056.685 units remaining) + - location: 239 (remaining gas: 1039057.315 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 241 (remaining gas: 1039056.635 units remaining) + - location: 241 (remaining gas: 1039057.265 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039056.635 units remaining) + - location: 239 (remaining gas: 1039057.265 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 242 (remaining gas: 1039036.075 units remaining) + - location: 242 (remaining gas: 1039036.705 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1039036.030 units remaining) + - location: 243 (remaining gas: 1039036.660 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 245 (remaining gas: 1039015.470 units remaining) + - location: 245 (remaining gas: 1039016.100 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 246 (remaining gas: 1038962.930 units remaining) + - location: 246 (remaining gas: 1038963.560 units remaining) [ (Some (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) @packed.unpacked (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 251 (remaining gas: 1038962.900 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 256 (remaining gas: 1038962.855 units remaining) + - location: 251 (remaining gas: 1038963.530 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 257 (remaining gas: 1038942.295 units remaining) + - location: 257 (remaining gas: 1038942.970 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1038942.295 units remaining) + - location: 243 (remaining gas: 1038942.970 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 260 (remaining gas: 1038942.175 units remaining) + - location: 260 (remaining gas: 1038942.850 units remaining) [ 0 (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 261 (remaining gas: 1038942.125 units remaining) + - location: 261 (remaining gas: 1038942.800 units remaining) [ True (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 262 (remaining gas: 1038942.100 units remaining) + - location: 262 (remaining gas: 1038942.775 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 263 (remaining gas: 1038942.055 units remaining) - [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 268 (remaining gas: 1038942.005 units remaining) + - location: 268 (remaining gas: 1038942.725 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 269 (remaining gas: 1038941.955 units remaining) + - location: 269 (remaining gas: 1038942.675 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 270 (remaining gas: 1038941.910 units remaining) + - location: 270 (remaining gas: 1038942.630 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 272 (remaining gas: 1038941.860 units remaining) + - location: 272 (remaining gas: 1038942.580 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 270 (remaining gas: 1038941.860 units remaining) + - location: 270 (remaining gas: 1038942.580 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 273 (remaining gas: 1038920.460 units remaining) + - location: 273 (remaining gas: 1038921.180 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 274 (remaining gas: 1038920.415 units remaining) + - location: 274 (remaining gas: 1038921.135 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 276 (remaining gas: 1038899.015 units remaining) + - location: 276 (remaining gas: 1038899.735 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed { PACK } ] - - location: 277 (remaining gas: 1038808.417 units remaining) + - location: 277 (remaining gas: 1038809.137 units remaining) [ (Some { Elt 0 "foo" ; Elt 1 "bar" }) @packed.unpacked { PACK } ] - - location: 282 (remaining gas: 1038808.387 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some - { PACK } ] - - location: 287 (remaining gas: 1038808.342 units remaining) + - location: 282 (remaining gas: 1038809.107 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some { PACK } ] - - location: 288 (remaining gas: 1038786.942 units remaining) + - location: 288 (remaining gas: 1038787.707 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed { PACK } ] - - location: 274 (remaining gas: 1038786.942 units remaining) + - location: 274 (remaining gas: 1038787.707 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed { PACK } ] - - location: 291 (remaining gas: 1038786.822 units remaining) + - location: 291 (remaining gas: 1038787.587 units remaining) [ 0 { PACK } ] - - location: 292 (remaining gas: 1038786.772 units remaining) + - location: 292 (remaining gas: 1038787.537 units remaining) [ True { PACK } ] - - location: 293 (remaining gas: 1038786.747 units remaining) + - location: 293 (remaining gas: 1038787.512 units remaining) [ { PACK } ] - - location: 294 (remaining gas: 1038786.702 units remaining) - [ { PACK } ] - - location: 299 (remaining gas: 1038786.652 units remaining) + - location: 299 (remaining gas: 1038787.462 units remaining) [ { PACK } { PACK } ] - - location: 300 (remaining gas: 1038777.912 units remaining) + - location: 300 (remaining gas: 1038778.722 units remaining) [ 0x050200000002030c @packed { PACK } ] - - location: 301 (remaining gas: 1038777.867 units remaining) + - location: 301 (remaining gas: 1038778.677 units remaining) [ { PACK } ] - - location: 303 (remaining gas: 1038769.127 units remaining) + - location: 303 (remaining gas: 1038769.937 units remaining) [ 0x050200000002030c @packed ] - - location: 304 (remaining gas: 1038747.007 units remaining) + - location: 304 (remaining gas: 1038747.817 units remaining) [ (Some { PACK }) @packed.unpacked ] - - location: 309 (remaining gas: 1038746.977 units remaining) - [ { PACK } @packed.unpacked.some ] - - location: 314 (remaining gas: 1038746.932 units remaining) + - location: 309 (remaining gas: 1038747.787 units remaining) [ { PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1038738.192 units remaining) + - location: 315 (remaining gas: 1038739.047 units remaining) [ 0x050200000002030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1038738.192 units remaining) + - location: 301 (remaining gas: 1038739.047 units remaining) [ 0x050200000002030c @packed 0x050200000002030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1038738.072 units remaining) + - location: 318 (remaining gas: 1038738.927 units remaining) [ 0 ] - - location: 319 (remaining gas: 1038738.022 units remaining) + - location: 319 (remaining gas: 1038738.877 units remaining) [ True ] - - location: 320 (remaining gas: 1038737.997 units remaining) - [ ] - - location: 321 (remaining gas: 1038737.952 units remaining) + - location: 320 (remaining gas: 1038738.852 units remaining) [ ] - - location: 326 (remaining gas: 1038737.907 units remaining) + - location: 326 (remaining gas: 1038738.807 units remaining) [ Unit ] - - location: 327 (remaining gas: 1038737.862 units remaining) + - location: 327 (remaining gas: 1038738.762 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1038737.817 units remaining) + - location: 329 (remaining gas: 1038738.717 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 533e6257bbfa..bbdf408d4add 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" @@ -153,18 +153,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 46 (remaining gas: 1039636.265 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 47 (remaining gas: 1039611.535 units remaining) + - location: 47 (remaining gas: 1039611.580 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -175,7 +164,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039611.535 units remaining) + - location: 35 (remaining gas: 1039611.580 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit @@ -187,7 +176,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 50 (remaining gas: 1039611.414 units remaining) + - location: 50 (remaining gas: 1039611.459 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +187,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 51 (remaining gas: 1039611.364 units remaining) + - location: 51 (remaining gas: 1039611.409 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -209,7 +198,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 52 (remaining gas: 1039611.339 units remaining) + - location: 52 (remaining gas: 1039611.384 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -219,17 +208,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 53 (remaining gas: 1039611.294 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 58 (remaining gas: 1039611.244 units remaining) + - location: 58 (remaining gas: 1039611.334 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -248,7 +227,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 59 (remaining gas: 1039611.194 units remaining) + - location: 59 (remaining gas: 1039611.284 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -259,7 +238,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039611.149 units remaining) + - location: 60 (remaining gas: 1039611.239 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -269,7 +248,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 62 (remaining gas: 1039611.099 units remaining) + - location: 62 (remaining gas: 1039611.189 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -279,7 +258,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039611.099 units remaining) + - location: 60 (remaining gas: 1039611.189 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -290,7 +269,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 63 (remaining gas: 1039602.859 units remaining) + - location: 63 (remaining gas: 1039602.949 units remaining) [ 0x05030b @packed Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -301,7 +280,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039602.814 units remaining) + - location: 64 (remaining gas: 1039602.904 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -311,7 +290,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 66 (remaining gas: 1039594.574 units remaining) + - location: 66 (remaining gas: 1039594.664 units remaining) [ 0x05030b @packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -321,7 +300,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 67 (remaining gas: 1039587.334 units remaining) + - location: 67 (remaining gas: 1039587.424 units remaining) [ (Some Unit) @packed.unpacked (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -331,7 +310,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 70 (remaining gas: 1039587.304 units remaining) + - location: 70 (remaining gas: 1039587.394 units remaining) [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -341,17 +320,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 75 (remaining gas: 1039587.259 units remaining) - [ Unit @packed.unpacked.some - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 76 (remaining gas: 1039579.019 units remaining) + - location: 76 (remaining gas: 1039579.154 units remaining) [ 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -361,7 +330,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039579.019 units remaining) + - location: 64 (remaining gas: 1039579.154 units remaining) [ 0x05030b @packed 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -372,7 +341,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 79 (remaining gas: 1039578.899 units remaining) + - location: 79 (remaining gas: 1039579.034 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -382,7 +351,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 80 (remaining gas: 1039578.849 units remaining) + - location: 80 (remaining gas: 1039578.984 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -392,16 +361,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 81 (remaining gas: 1039578.824 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 82 (remaining gas: 1039578.779 units remaining) + - location: 81 (remaining gas: 1039578.959 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -410,7 +370,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 87 (remaining gas: 1039578.729 units remaining) + - location: 87 (remaining gas: 1039578.909 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -427,7 +387,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 88 (remaining gas: 1039578.679 units remaining) + - location: 88 (remaining gas: 1039578.859 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -437,7 +397,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039578.634 units remaining) + - location: 89 (remaining gas: 1039578.814 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -446,7 +406,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 91 (remaining gas: 1039578.584 units remaining) + - location: 91 (remaining gas: 1039578.764 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -455,7 +415,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039578.584 units remaining) + - location: 89 (remaining gas: 1039578.764 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -465,7 +425,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 92 (remaining gas: 1039538.304 units remaining) + - location: 92 (remaining gas: 1039538.484 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -475,7 +435,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039538.259 units remaining) + - location: 93 (remaining gas: 1039538.439 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -484,7 +444,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 95 (remaining gas: 1039497.979 units remaining) + - location: 95 (remaining gas: 1039498.159 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair None {} @@ -493,7 +453,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 96 (remaining gas: 1039449.709 units remaining) + - location: 96 (remaining gas: 1039449.889 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked (Pair None {} @@ -502,7 +462,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 99 (remaining gas: 1039449.679 units remaining) + - location: 99 (remaining gas: 1039449.859 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair None {} @@ -511,16 +471,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 104 (remaining gas: 1039449.634 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 105 (remaining gas: 1039409.354 units remaining) + - location: 105 (remaining gas: 1039409.579 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair None {} @@ -529,7 +480,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039409.354 units remaining) + - location: 93 (remaining gas: 1039409.579 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair None @@ -539,7 +490,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 108 (remaining gas: 1039409.232 units remaining) + - location: 108 (remaining gas: 1039409.457 units remaining) [ 0 (Pair None {} @@ -548,7 +499,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 109 (remaining gas: 1039409.182 units remaining) + - location: 109 (remaining gas: 1039409.407 units remaining) [ True (Pair None {} @@ -557,15 +508,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 110 (remaining gas: 1039409.157 units remaining) - [ (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 111 (remaining gas: 1039409.112 units remaining) + - location: 110 (remaining gas: 1039409.382 units remaining) [ (Pair None {} {} @@ -573,7 +516,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 116 (remaining gas: 1039409.062 units remaining) + - location: 116 (remaining gas: 1039409.332 units remaining) [ (Pair None {} {} @@ -588,7 +531,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 117 (remaining gas: 1039409.012 units remaining) + - location: 117 (remaining gas: 1039409.282 units remaining) [ None (Pair None {} @@ -597,7 +540,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039408.967 units remaining) + - location: 118 (remaining gas: 1039409.237 units remaining) [ (Pair None {} {} @@ -605,7 +548,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 120 (remaining gas: 1039408.917 units remaining) + - location: 120 (remaining gas: 1039409.187 units remaining) [ None (Pair {} {} @@ -613,7 +556,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039408.917 units remaining) + - location: 118 (remaining gas: 1039409.187 units remaining) [ None None (Pair {} @@ -622,7 +565,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 121 (remaining gas: 1039400.677 units remaining) + - location: 121 (remaining gas: 1039400.947 units remaining) [ 0x050306 @packed None (Pair {} @@ -631,7 +574,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039400.632 units remaining) + - location: 122 (remaining gas: 1039400.902 units remaining) [ None (Pair {} {} @@ -639,7 +582,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 124 (remaining gas: 1039392.392 units remaining) + - location: 124 (remaining gas: 1039392.662 units remaining) [ 0x050306 @packed (Pair {} {} @@ -647,7 +590,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 125 (remaining gas: 1039385.152 units remaining) + - location: 125 (remaining gas: 1039385.422 units remaining) [ (Some None) @packed.unpacked (Pair {} {} @@ -655,7 +598,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 129 (remaining gas: 1039385.122 units remaining) + - location: 129 (remaining gas: 1039385.392 units remaining) [ None @packed.unpacked.some (Pair {} {} @@ -663,15 +606,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 134 (remaining gas: 1039385.077 units remaining) - [ None @packed.unpacked.some - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 135 (remaining gas: 1039376.837 units remaining) + - location: 135 (remaining gas: 1039377.152 units remaining) [ 0x050306 @packed.unpacked.some.packed (Pair {} {} @@ -679,7 +614,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039376.837 units remaining) + - location: 122 (remaining gas: 1039377.152 units remaining) [ 0x050306 @packed 0x050306 @packed.unpacked.some.packed (Pair {} @@ -688,7 +623,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 138 (remaining gas: 1039376.717 units remaining) + - location: 138 (remaining gas: 1039377.032 units remaining) [ 0 (Pair {} {} @@ -696,7 +631,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 139 (remaining gas: 1039376.667 units remaining) + - location: 139 (remaining gas: 1039376.982 units remaining) [ True (Pair {} {} @@ -704,21 +639,14 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 140 (remaining gas: 1039376.642 units remaining) - [ (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 141 (remaining gas: 1039376.597 units remaining) + - location: 140 (remaining gas: 1039376.957 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 146 (remaining gas: 1039376.547 units remaining) + - location: 146 (remaining gas: 1039376.907 units remaining) [ (Pair {} {} (Pair 40 -10) @@ -731,7 +659,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 147 (remaining gas: 1039376.497 units remaining) + - location: 147 (remaining gas: 1039376.857 units remaining) [ {} (Pair {} {} @@ -739,294 +667,265 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039376.452 units remaining) + - location: 148 (remaining gas: 1039376.812 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 150 (remaining gas: 1039376.402 units remaining) + - location: 150 (remaining gas: 1039376.762 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039376.402 units remaining) + - location: 148 (remaining gas: 1039376.762 units remaining) [ {} {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 151 (remaining gas: 1039368.162 units remaining) + - location: 151 (remaining gas: 1039368.522 units remaining) [ 0x050200000000 @packed {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039368.117 units remaining) + - location: 152 (remaining gas: 1039368.477 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 154 (remaining gas: 1039359.877 units remaining) + - location: 154 (remaining gas: 1039360.237 units remaining) [ 0x050200000000 @packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 155 (remaining gas: 1039352.637 units remaining) + - location: 155 (remaining gas: 1039352.997 units remaining) [ (Some {}) @packed.unpacked (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 159 (remaining gas: 1039352.607 units remaining) - [ {} @packed.unpacked.some - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 164 (remaining gas: 1039352.562 units remaining) + - location: 159 (remaining gas: 1039352.967 units remaining) [ {} @packed.unpacked.some (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 165 (remaining gas: 1039344.322 units remaining) + - location: 165 (remaining gas: 1039344.727 units remaining) [ 0x050200000000 @packed.unpacked.some.packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039344.322 units remaining) + - location: 152 (remaining gas: 1039344.727 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 168 (remaining gas: 1039344.202 units remaining) + - location: 168 (remaining gas: 1039344.607 units remaining) [ 0 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 169 (remaining gas: 1039344.152 units remaining) + - location: 169 (remaining gas: 1039344.557 units remaining) [ True (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 170 (remaining gas: 1039344.127 units remaining) + - location: 170 (remaining gas: 1039344.532 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 171 (remaining gas: 1039344.082 units remaining) - [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 176 (remaining gas: 1039344.032 units remaining) + - location: 176 (remaining gas: 1039344.482 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: 1039343.982 units remaining) + - location: 177 (remaining gas: 1039344.432 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039343.937 units remaining) + - location: 178 (remaining gas: 1039344.387 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 180 (remaining gas: 1039343.887 units remaining) + - location: 180 (remaining gas: 1039344.337 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039343.887 units remaining) + - location: 178 (remaining gas: 1039344.337 units remaining) [ {} {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 181 (remaining gas: 1039335.647 units remaining) + - location: 181 (remaining gas: 1039336.097 units remaining) [ 0x050200000000 @packed {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039335.602 units remaining) + - location: 182 (remaining gas: 1039336.052 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 184 (remaining gas: 1039327.362 units remaining) + - location: 184 (remaining gas: 1039327.812 units remaining) [ 0x050200000000 @packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 185 (remaining gas: 1039320.122 units remaining) + - location: 185 (remaining gas: 1039320.572 units remaining) [ (Some {}) @packed.unpacked (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 189 (remaining gas: 1039320.092 units remaining) - [ {} @packed.unpacked.some - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 194 (remaining gas: 1039320.047 units remaining) + - location: 189 (remaining gas: 1039320.542 units remaining) [ {} @packed.unpacked.some (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 195 (remaining gas: 1039311.807 units remaining) + - location: 195 (remaining gas: 1039312.302 units remaining) [ 0x050200000000 @packed.unpacked.some.packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039311.807 units remaining) + - location: 182 (remaining gas: 1039312.302 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 198 (remaining gas: 1039311.687 units remaining) + - location: 198 (remaining gas: 1039312.182 units remaining) [ 0 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 199 (remaining gas: 1039311.637 units remaining) + - location: 199 (remaining gas: 1039312.132 units remaining) [ True (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 200 (remaining gas: 1039311.612 units remaining) + - location: 200 (remaining gas: 1039312.107 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 201 (remaining gas: 1039311.567 units remaining) - [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 206 (remaining gas: 1039311.517 units remaining) + - location: 206 (remaining gas: 1039312.057 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: 1039311.467 units remaining) + - location: 207 (remaining gas: 1039312.007 units remaining) [ (Pair 40 -10) (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039311.422 units remaining) + - location: 208 (remaining gas: 1039311.962 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 210 (remaining gas: 1039311.372 units remaining) + - location: 210 (remaining gas: 1039311.912 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039311.372 units remaining) + - location: 208 (remaining gas: 1039311.912 units remaining) [ (Pair 40 -10) (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 211 (remaining gas: 1039302.652 units remaining) + - location: 211 (remaining gas: 1039303.192 units remaining) [ 0x0507070028004a @packed (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039302.607 units remaining) + - location: 212 (remaining gas: 1039303.147 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 214 (remaining gas: 1039293.887 units remaining) + - location: 214 (remaining gas: 1039294.427 units remaining) [ 0x0507070028004a @packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 215 (remaining gas: 1039258.167 units remaining) + - location: 215 (remaining gas: 1039258.707 units remaining) [ (Some (Pair 40 -10)) @packed.unpacked (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 220 (remaining gas: 1039258.137 units remaining) - [ (Pair 40 -10) @packed.unpacked.some - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 225 (remaining gas: 1039258.092 units remaining) + - location: 220 (remaining gas: 1039258.677 units remaining) [ (Pair 40 -10) @packed.unpacked.some (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 226 (remaining gas: 1039249.372 units remaining) + - location: 226 (remaining gas: 1039249.957 units remaining) [ 0x0507070028004a @packed.unpacked.some.packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039249.372 units remaining) + - location: 212 (remaining gas: 1039249.957 units remaining) [ 0x0507070028004a @packed 0x0507070028004a @packed.unpacked.some.packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 229 (remaining gas: 1039249.252 units remaining) + - location: 229 (remaining gas: 1039249.837 units remaining) [ 0 (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 230 (remaining gas: 1039249.202 units remaining) + - location: 230 (remaining gas: 1039249.787 units remaining) [ True (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 231 (remaining gas: 1039249.177 units remaining) - [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 232 (remaining gas: 1039249.132 units remaining) + - location: 231 (remaining gas: 1039249.762 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 237 (remaining gas: 1039249.082 units remaining) + - location: 237 (remaining gas: 1039249.712 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: 1039249.032 units remaining) + - location: 238 (remaining gas: 1039249.662 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039248.987 units remaining) + - location: 239 (remaining gas: 1039249.617 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 241 (remaining gas: 1039248.937 units remaining) + - location: 241 (remaining gas: 1039249.567 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039248.937 units remaining) + - location: 239 (remaining gas: 1039249.567 units remaining) [ (Right "2019-09-09T08:35:33Z") (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 242 (remaining gas: 1039238.457 units remaining) + - location: 242 (remaining gas: 1039239.087 units remaining) [ 0x0505080095bbb0d70b @packed (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039238.412 units remaining) + - location: 243 (remaining gas: 1039239.042 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 245 (remaining gas: 1039227.932 units remaining) + - location: 245 (remaining gas: 1039228.562 units remaining) [ 0x0505080095bbb0d70b @packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 246 (remaining gas: 1039206.452 units remaining) + - location: 246 (remaining gas: 1039207.082 units remaining) [ (Some (Right "2019-09-09T08:35:33Z")) @packed.unpacked (Pair {} { DUP ; DROP ; PACK }) ] - - location: 251 (remaining gas: 1039206.422 units remaining) + - location: 251 (remaining gas: 1039207.052 units remaining) [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some (Pair {} { DUP ; DROP ; PACK }) ] - - location: 256 (remaining gas: 1039206.377 units remaining) - [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 257 (remaining gas: 1039195.897 units remaining) + - location: 257 (remaining gas: 1039196.572 units remaining) [ 0x0505080095bbb0d70b @packed.unpacked.some.packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039195.897 units remaining) + - location: 243 (remaining gas: 1039196.572 units remaining) [ 0x0505080095bbb0d70b @packed 0x0505080095bbb0d70b @packed.unpacked.some.packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 260 (remaining gas: 1039195.777 units remaining) + - location: 260 (remaining gas: 1039196.452 units remaining) [ 0 (Pair {} { DUP ; DROP ; PACK }) ] - - location: 261 (remaining gas: 1039195.727 units remaining) + - location: 261 (remaining gas: 1039196.402 units remaining) [ True (Pair {} { DUP ; DROP ; PACK }) ] - - location: 262 (remaining gas: 1039195.702 units remaining) - [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 263 (remaining gas: 1039195.657 units remaining) + - location: 262 (remaining gas: 1039196.377 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 268 (remaining gas: 1039195.607 units remaining) + - location: 268 (remaining gas: 1039196.327 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) (Pair {} { DUP ; DROP ; PACK }) ] - - location: 269 (remaining gas: 1039195.557 units remaining) + - location: 269 (remaining gas: 1039196.277 units remaining) [ {} (Pair {} { DUP ; DROP ; PACK }) ] - - location: 270 (remaining gas: 1039195.512 units remaining) + - location: 270 (remaining gas: 1039196.232 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 272 (remaining gas: 1039195.462 units remaining) + - location: 272 (remaining gas: 1039196.182 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 270 (remaining gas: 1039195.462 units remaining) + - location: 270 (remaining gas: 1039196.182 units remaining) [ {} {} { DUP ; DROP ; PACK } ] - - location: 273 (remaining gas: 1039187.222 units remaining) + - location: 273 (remaining gas: 1039187.942 units remaining) [ 0x050200000000 @packed {} { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039187.177 units remaining) + - location: 274 (remaining gas: 1039187.897 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 276 (remaining gas: 1039178.937 units remaining) + - location: 276 (remaining gas: 1039179.657 units remaining) [ 0x050200000000 @packed { DUP ; DROP ; PACK } ] - - location: 277 (remaining gas: 1039171.697 units remaining) + - location: 277 (remaining gas: 1039172.417 units remaining) [ (Some {}) @packed.unpacked { DUP ; DROP ; PACK } ] - - location: 282 (remaining gas: 1039171.667 units remaining) + - location: 282 (remaining gas: 1039172.387 units remaining) [ {} @packed.unpacked.some { DUP ; DROP ; PACK } ] - - location: 287 (remaining gas: 1039171.622 units remaining) - [ {} @packed.unpacked.some - { DUP ; DROP ; PACK } ] - - location: 288 (remaining gas: 1039163.382 units remaining) + - location: 288 (remaining gas: 1039164.147 units remaining) [ 0x050200000000 @packed.unpacked.some.packed { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039163.382 units remaining) + - location: 274 (remaining gas: 1039164.147 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed { DUP ; DROP ; PACK } ] - - location: 291 (remaining gas: 1039163.262 units remaining) + - location: 291 (remaining gas: 1039164.027 units remaining) [ 0 { DUP ; DROP ; PACK } ] - - location: 292 (remaining gas: 1039163.212 units remaining) + - location: 292 (remaining gas: 1039163.977 units remaining) [ True { DUP ; DROP ; PACK } ] - - location: 293 (remaining gas: 1039163.187 units remaining) - [ { DUP ; DROP ; PACK } ] - - location: 294 (remaining gas: 1039163.142 units remaining) + - location: 293 (remaining gas: 1039163.952 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 299 (remaining gas: 1039163.092 units remaining) + - location: 299 (remaining gas: 1039163.902 units remaining) [ { DUP ; DROP ; PACK } { DUP ; DROP ; PACK } ] - - location: 300 (remaining gas: 1039149.752 units remaining) + - location: 300 (remaining gas: 1039150.562 units remaining) [ 0x05020000000603210320030c @packed { DUP ; DROP ; PACK } ] - - location: 301 (remaining gas: 1039149.707 units remaining) + - location: 301 (remaining gas: 1039150.517 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 303 (remaining gas: 1039136.367 units remaining) + - location: 303 (remaining gas: 1039137.177 units remaining) [ 0x05020000000603210320030c @packed ] - - location: 304 (remaining gas: 1039084.507 units remaining) + - location: 304 (remaining gas: 1039085.317 units remaining) [ (Some { DUP ; DROP ; PACK }) @packed.unpacked ] - - location: 309 (remaining gas: 1039084.477 units remaining) + - location: 309 (remaining gas: 1039085.287 units remaining) [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 314 (remaining gas: 1039084.432 units remaining) - [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1039071.092 units remaining) + - location: 315 (remaining gas: 1039071.947 units remaining) [ 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1039071.092 units remaining) + - location: 301 (remaining gas: 1039071.947 units remaining) [ 0x05020000000603210320030c @packed 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1039070.972 units remaining) + - location: 318 (remaining gas: 1039071.827 units remaining) [ 0 ] - - location: 319 (remaining gas: 1039070.922 units remaining) + - location: 319 (remaining gas: 1039071.777 units remaining) [ True ] - - location: 320 (remaining gas: 1039070.897 units remaining) - [ ] - - location: 321 (remaining gas: 1039070.852 units remaining) + - location: 320 (remaining gas: 1039071.752 units remaining) [ ] - - location: 326 (remaining gas: 1039070.807 units remaining) + - location: 326 (remaining gas: 1039071.707 units remaining) [ Unit ] - - location: 327 (remaining gas: 1039070.762 units remaining) + - location: 327 (remaining gas: 1039071.662 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1039070.717 units remaining) + - location: 329 (remaining gas: 1039071.617 units remaining) [ (Pair {} Unit) ] 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 ae233af470ce..d264f720866f 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 @@ -34,13 +34,11 @@ trace [ True ] - location: 22 (remaining gas: 1039982.682 units remaining) [ ] - - location: 23 (remaining gas: 1039982.637 units remaining) - [ ] - - location: 28 (remaining gas: 1039982.592 units remaining) + - location: 28 (remaining gas: 1039982.637 units remaining) [ Unit ] - - location: 29 (remaining gas: 1039982.547 units remaining) + - location: 29 (remaining gas: 1039982.592 units remaining) [ {} Unit ] - - location: 31 (remaining gas: 1039982.502 units remaining) + - location: 31 (remaining gas: 1039982.547 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 e339fc6c6a75..447d471c574e 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 @@ -35,13 +35,11 @@ trace [ True ] - location: 26 (remaining gas: 1039919.550 units remaining) [ ] - - location: 27 (remaining gas: 1039919.505 units remaining) - [ ] - - location: 32 (remaining gas: 1039919.460 units remaining) + - location: 32 (remaining gas: 1039919.505 units remaining) [ Unit ] - - location: 33 (remaining gas: 1039919.415 units remaining) + - location: 33 (remaining gas: 1039919.460 units remaining) [ {} Unit ] - - location: 35 (remaining gas: 1039919.370 units remaining) + - location: 35 (remaining gas: 1039919.415 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 25f8576d6c98..80536e88e344 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 @@ -43,63 +43,59 @@ trace 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - location: 26 (remaining gas: 1039891.810 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 27 (remaining gas: 1039891.765 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 32 (remaining gas: 1039891.720 units remaining) + - location: 32 (remaining gas: 1039891.765 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 33 (remaining gas: 1039860.880 units remaining) + - location: 33 (remaining gas: 1039860.925 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @selfpacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 36 (remaining gas: 1039860.760 units remaining) + - location: 36 (remaining gas: 1039860.805 units remaining) [ 0 ] - - location: 37 (remaining gas: 1039860.710 units remaining) + - location: 37 (remaining gas: 1039860.755 units remaining) [ True ] - - location: 38 (remaining gas: 1039860.685 units remaining) - [ ] - - location: 39 (remaining gas: 1039860.640 units remaining) + - location: 38 (remaining gas: 1039860.730 units remaining) [ ] - - location: 44 (remaining gas: 1039860.595 units remaining) + - location: 44 (remaining gas: 1039860.685 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 45 (remaining gas: 1039860.550 units remaining) + - location: 45 (remaining gas: 1039860.640 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 48 (remaining gas: 1039860.505 units remaining) + - location: 48 (remaining gas: 1039860.595 units remaining) [ ] - - location: 49 (remaining gas: 1039860.460 units remaining) + - location: 49 (remaining gas: 1039860.550 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 50 (remaining gas: 1039860.415 units remaining) + - location: 50 (remaining gas: 1039860.505 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 53 (remaining gas: 1039860.370 units remaining) + - location: 53 (remaining gas: 1039860.460 units remaining) [ ] - - location: 54 (remaining gas: 1039860.325 units remaining) + - location: 54 (remaining gas: 1039860.415 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 55 (remaining gas: 1039860.280 units remaining) + - location: 55 (remaining gas: 1039860.370 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 60 (remaining gas: 1039860.235 units remaining) + - location: 60 (remaining gas: 1039860.325 units remaining) [ ] - - location: 61 (remaining gas: 1039860.190 units remaining) + - location: 61 (remaining gas: 1039860.280 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 62 (remaining gas: 1039860.145 units remaining) + - location: 62 (remaining gas: 1039860.235 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 65 (remaining gas: 1039860.100 units remaining) + - location: 65 (remaining gas: 1039860.190 units remaining) [ ] - - location: 66 (remaining gas: 1039860.055 units remaining) + - location: 66 (remaining gas: 1039860.145 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 67 (remaining gas: 1039860.010 units remaining) + - location: 67 (remaining gas: 1039860.100 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 76 (remaining gas: 1039859.965 units remaining) + - location: 76 (remaining gas: 1039860.055 units remaining) [ ] - - location: 77 (remaining gas: 1039859.920 units remaining) + - location: 77 (remaining gas: 1039860.010 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 78 (remaining gas: 1039859.875 units remaining) + - location: 78 (remaining gas: 1039859.965 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 87 (remaining gas: 1039859.830 units remaining) + - location: 87 (remaining gas: 1039859.920 units remaining) [ ] - - location: 88 (remaining gas: 1039859.785 units remaining) + - location: 88 (remaining gas: 1039859.875 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039859.740 units remaining) + - location: 89 (remaining gas: 1039859.830 units remaining) [ {} Unit ] - - location: 91 (remaining gas: 1039859.695 units remaining) + - location: 91 (remaining gas: 1039859.785 units remaining) [ (Pair {} Unit) ] 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 2bd785e6083d..c01187d0a196 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 @@ -38,22 +38,18 @@ trace 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - location: 25 (remaining gas: 1039947.590 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 26 (remaining gas: 1039947.545 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 31 (remaining gas: 1039783.071 units remaining) + - location: 31 (remaining gas: 1039783.116 units remaining) [ (Some (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 })) @unpacked ] - - location: 40 (remaining gas: 1039783.041 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 45 (remaining gas: 1039782.996 units remaining) + - location: 40 (remaining gas: 1039783.086 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 46 (remaining gas: 1039782.951 units remaining) + - location: 46 (remaining gas: 1039783.041 units remaining) [ ] - - location: 47 (remaining gas: 1039782.906 units remaining) + - location: 47 (remaining gas: 1039782.996 units remaining) [ Unit ] - - location: 48 (remaining gas: 1039782.861 units remaining) + - location: 48 (remaining gas: 1039782.951 units remaining) [ {} Unit ] - - location: 50 (remaining gas: 1039782.816 units remaining) + - location: 50 (remaining gas: 1039782.906 units remaining) [ (Pair {} Unit) ] Runtime error in contract [CONTRACT_HASH]: -- GitLab From 3019253f4e33dfd1ae20b4f4864189658a188da4 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 21 Apr 2021 14:45:55 +0200 Subject: [PATCH 42/69] Proto/Michelson: Restore files removed by wrong history rewriting Signed-off-by: Yann Regis-Gianas --- .../ill_typed/stack_bottom_undig2able.tz | 5 +++++ .../ill_typed/stack_bottom_undigable.tz | 6 ++++++ .../ill_typed/stack_bottom_undip2able.tz | 6 ++++++ .../ill_typed/stack_bottom_undipable.tz | 5 +++++ .../ill_typed/stack_bottom_undropable.tz | 5 +++++ .../ill_typed/stack_bottom_undug2able.tz | 5 +++++ .../ill_typed/stack_bottom_undugable.tz | 6 ++++++ .../ill_typed/stack_bottom_undup2able.tz | 5 +++++ .../ill_typed/stack_bottom_unfailwithable.tz | 6 ++++++ .../ill_typed/stack_bottom_ungetable.tz | 6 ++++++ .../ill_typed/stack_bottom_unleftable.tz | 6 ++++++ .../ill_typed/stack_bottom_unpairable.tz | 6 ++++++ .../ill_typed/stack_bottom_unpopable.tz | 10 ++++++++++ .../ill_typed/stack_bottom_unpopable_in_lambda.tz | 10 ++++++++++ .../ill_typed/stack_bottom_unrightable.tz | 6 ++++++ 15 files changed, 93 insertions(+) create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undig2able.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undip2able.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undipable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undropable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undug2able.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_undup2able.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_unfailwithable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_unleftable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_unpairable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable_in_lambda.tz create mode 100644 tests_python/contracts_alpha/ill_typed/stack_bottom_unrightable.tz diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undig2able.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undig2able.tz new file mode 100644 index 000000000000..6f7061e004a0 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undig2able.tz @@ -0,0 +1,5 @@ +parameter unit; +storage unit; +code { + DIG 2; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz new file mode 100644 index 000000000000..9468f3024598 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + DIG; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undip2able.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undip2able.tz new file mode 100644 index 000000000000..e048a24f74b8 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undip2able.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DUP; + DIP 2 { DUP }; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undipable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undipable.tz new file mode 100644 index 000000000000..09f94b133e50 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undipable.tz @@ -0,0 +1,5 @@ +parameter unit; +storage unit; +code { + DIP { DUP }; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undropable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undropable.tz new file mode 100644 index 000000000000..d33142cdb82b --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undropable.tz @@ -0,0 +1,5 @@ +parameter unit; +storage unit; +code { + DROP 2; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undug2able.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undug2able.tz new file mode 100644 index 000000000000..5eef1da706f2 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undug2able.tz @@ -0,0 +1,5 @@ +parameter unit; +storage unit; +code { + DUG 2; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz new file mode 100644 index 000000000000..aec909e5844a --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + DUG; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undup2able.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undup2able.tz new file mode 100644 index 000000000000..c760764fd5b2 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undup2able.tz @@ -0,0 +1,5 @@ +parameter unit; +storage unit; +code { + DUP 2; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_unfailwithable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_unfailwithable.tz new file mode 100644 index 000000000000..c8cf263e5dcc --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_unfailwithable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + FAILWITH; + } \ No newline at end of file diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz new file mode 100644 index 000000000000..79242f72c16c --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + GET 1; + } \ No newline at end of file diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_unleftable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_unleftable.tz new file mode 100644 index 000000000000..0bc846effa3b --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_unleftable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + LEFT unit; + } \ No newline at end of file diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_unpairable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_unpairable.tz new file mode 100644 index 000000000000..70f7e3a40c10 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_unpairable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + UNPAIR; + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable.tz new file mode 100644 index 000000000000..0f1d8ea456a2 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable.tz @@ -0,0 +1,10 @@ +parameter unit; +storage unit; +code { + DROP ; + DUP ; + DROP ; + PUSH unit Unit ; + NIL operation ; + PAIR + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable_in_lambda.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable_in_lambda.tz new file mode 100644 index 000000000000..4299b8bef474 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_unpopable_in_lambda.tz @@ -0,0 +1,10 @@ +parameter unit; +storage unit; +code { + DROP ; + LAMBDA int unit { DROP ; DUP }; + DROP ; + PUSH unit Unit ; + NIL operation ; + PAIR + } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_unrightable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_unrightable.tz new file mode 100644 index 000000000000..a7cf3d06a470 --- /dev/null +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_unrightable.tz @@ -0,0 +1,6 @@ +parameter unit; +storage unit; +code { + DROP; + RIGHT unit; + } \ No newline at end of file -- GitLab From 98fae8df446ddbb0c232a11de89ba6132394cd40 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 28 Apr 2021 16:45:53 +0200 Subject: [PATCH 43/69] Proto/Michelson: Fix incomplete log control in new interpreter This large commit fixes a problem in zero-cost logging. The fresh continuations generated by IList_map, IList_iter, ISet_map, and ISet_iter were not logged. They were indeed untouched by log_next_kinstr since they did not even exist when this function is called. The fix consists in having specialized evaluation rules for logged instructions and logged continuations. They differ from standard evaluation rules simply because they decorate the fresh continuations with KLog. To avoid code duplication, we hoist these evaluation rules from the [step] function and turn them into parameterized auxiliary functions. Notice that the cost of this parameterization is not null when compiled with OCaml vanilla compiler while it is indeed zero with recent version of the flambda-variant of the OCaml compiler. Because these auxiliary functions have ugly types, we hide them behind type abbreviations in a new module named [Script_interpreter_defs]. We take the opportunity to move many auxiliary definitions to this module to get a cleaner presentation of [Script_interpreter]. Signed-off-by: Yann Regis-Gianas --- .../sigs/v2/format.mli | 2 + src/proto_alpha/lib_protocol/TEZOS_PROTOCOL | 1 + src/proto_alpha/lib_protocol/dune.inc | 5 + .../lib_protocol/script_interpreter.ml | 1309 ++++------------- .../lib_protocol/script_interpreter_defs.ml | 1061 +++++++++++++ ...one\" ; Elt \"2\" \"two\" .6f3d35b151.out" | 8 +- ...one\" ; Elt \"2\" \"two\" .76aeaa0706.out" | 14 +- ...one\" ; Elt \"2\" \"two\" .7e7197f248.out" | 14 +- ...one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" | 14 +- ...one\" ; Elt \"2\" \"two\" .b688cc94a7.out" | 14 +- ...one\" ; Elt \"2\" \"two\" .c68db221ed.out" | 14 +- ... \"two\" }) )-(Right (Righ.7492e8cdea.out" | 22 +- ... \"two\" }))-(Right (Right.d336ca1903.out" | 20 +- ...Pair \"foo\" \"bar\" } { P.7f2ee47600.out" | 46 +- ...; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out | 190 +-- ...-{ \"World!\" }-{ \"Hello World!\" }].out" | 12 +- ..."test2\" }-{ \"Hello test1.c27e8c3ee6.out" | 18 +- ...input_output[concat_hello.tz-{}-{}-{}].out | 6 +- ...}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out | 18 +- ...hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out | 12 +- ...output[concat_hello_bytes.tz-{}-{}-{}].out | 6 +- ...; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" | 78 +- ...\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" | 60 +- ...t_output[concat_list.tz-\"\"-{}-\"\"].out" | 6 +- ...ir { \"A\" } { \"B\" })-(Some False)].out" | 82 +- ...\"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" | 226 +-- ...\"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" | 248 ++-- ...air { \"B\" } { \"B\" })-(Some True)].out" | 82 +- ...ir { \"c\" } { \"B\" })-(Some False)].out" | 82 +- ..._all.tz-None-(Pair {} {})-(Some True)].out | 20 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 12 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 12 +- ...t_output[list_id_map.tz-{\"\"}-{}-{}].out" | 6 +- ...tput[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out | 18 +- ...tput[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out | 18 +- ...}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out | 84 +- ...}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out | 84 +- ...ut_output[list_map_block.tz-{0}-{}-{}].out | 12 +- ... Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out | 82 +- ...-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out | 82 +- ...foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" | 36 +- ...lt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" | 24 +- ...ract_input_output[map_map.tz-{}-10-{}].out | 12 +- ... 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out | 132 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 18 +- ...input_output[reverse.tz-{\"\"}-{}-{}].out" | 6 +- ..._iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out | 22 +- ..._input_output[set_iter.tz-111-{ 1 }-1].out | 10 +- ...act_input_output[set_iter.tz-111-{}-0].out | 6 +- 49 files changed, 2371 insertions(+), 1995 deletions(-) create mode 100644 src/proto_alpha/lib_protocol/script_interpreter_defs.ml diff --git a/src/lib_protocol_environment/sigs/v2/format.mli b/src/lib_protocol_environment/sigs/v2/format.mli index e5b04e2bcab6..f0e90142ab91 100644 --- a/src/lib_protocol_environment/sigs/v2/format.mli +++ b/src/lib_protocol_environment/sigs/v2/format.mli @@ -745,3 +745,5 @@ val kasprintf : (string -> 'a) -> ('b, formatter, unit, 'a) format4 -> 'b @since 4.03 *) + +val eprintf : ('a, formatter, unit) format -> 'a diff --git a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL index 6a82eb356a0b..4469a132008a 100644 --- a/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL +++ b/src/proto_alpha/lib_protocol/TEZOS_PROTOCOL @@ -77,6 +77,7 @@ "Script_ir_annot", "Script_ir_translator", "Script_tc_errors_registration", + "Script_interpreter_defs", "Script_interpreter", "Baking", diff --git a/src/proto_alpha/lib_protocol/dune.inc b/src/proto_alpha/lib_protocol/dune.inc index 969c8694bdc4..d135469c2291 100644 --- a/src/proto_alpha/lib_protocol/dune.inc +++ b/src/proto_alpha/lib_protocol/dune.inc @@ -89,6 +89,7 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end script_ir_annot.mli script_ir_annot.ml script_ir_translator.mli script_ir_translator.ml script_tc_errors_registration.mli script_tc_errors_registration.ml + script_interpreter_defs.ml script_interpreter.mli script_interpreter.ml baking.mli baking.ml amendment.mli amendment.ml @@ -180,6 +181,7 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end script_ir_annot.mli script_ir_annot.ml script_ir_translator.mli script_ir_translator.ml script_tc_errors_registration.mli script_tc_errors_registration.ml + script_interpreter_defs.ml script_interpreter.mli script_interpreter.ml baking.mli baking.ml amendment.mli amendment.ml @@ -271,6 +273,7 @@ module CamlinternalFormatBasics = struct include CamlinternalFormatBasics end script_ir_annot.mli script_ir_annot.ml script_ir_translator.mli script_ir_translator.ml script_tc_errors_registration.mli script_tc_errors_registration.ml + script_interpreter_defs.ml script_interpreter.mli script_interpreter.ml baking.mli baking.ml amendment.mli amendment.ml @@ -382,6 +385,7 @@ include Tezos_raw_protocol_alpha.Main Script_ir_annot Script_ir_translator Script_tc_errors_registration + Script_interpreter_defs Script_interpreter Baking Amendment @@ -509,6 +513,7 @@ include Tezos_raw_protocol_alpha.Main script_ir_annot.mli script_ir_annot.ml script_ir_translator.mli script_ir_translator.ml script_tc_errors_registration.mli script_tc_errors_registration.ml + script_interpreter_defs.ml script_interpreter.mli script_interpreter.ml baking.mli baking.ml amendment.mli amendment.ml diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 44ec97e3525f..cff253a1bebb 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -28,12 +28,12 @@ (* This module implements an interpreter for Michelson. It takes the - form of a [step] function that interprets script instructions in a - dedicated abstract machine. + form of a [step] function that interprets script instructions in a + dedicated abstract machine. The interpreter is written in a small-step style: an execution - [step] only interprets a single instruction by updating the - configuration of a dedicated abstract machine. + [step] only interprets a single instruction by updating the + configuration of a dedicated abstract machine. This abstract machine has two components: @@ -43,49 +43,41 @@ their outputs. In addition, the machine has access to effectful primitives to - interact with the execution environment (e.g. the Tezos - node). These primitives live in the [Lwt+State+Error] monad. Hence, - this interpreter produces a computation in the [Lwt+State+Error] - monad. + interact with the execution environment (e.g. the Tezos + node). These primitives live in the [Lwt+State+Error] monad. Hence, + this interpreter produces a computation in the [Lwt+State+Error] + monad. This interpreter enjoys the following properties: - The interpreter is tail-recursive, hence it is robust to stack - overflow. This property is checked by the compiler thanks to the - [@ocaml.tailcall] annotation of each recursive call. + overflow. This property is checked by the compiler thanks to the + [@ocaml.tailcall] annotation of each recursive call. - The interpreter is type-preserving. Thanks to GADTs, the typing - rules of Michelson are statically checked by the OCaml typechecker: - a Michelson program cannot go wrong. + rules of Michelson are statically checked by the OCaml typechecker: + a Michelson program cannot go wrong. - The interpreter is tagless. Thanks to GADTs, the exact shape of - the stack is known statically so the interpreter does not have to - check that the input stack has the shape expected by the - instruction to be executed. + the stack is known statically so the interpreter does not have to + check that the input stack has the shape expected by the + instruction to be executed. Outline ======= This file is organized as follows: - 1. Runtime errors: The standard incantations to register the errors - that can be produced by this module's functions. + 1. Definition of runtime errors. - 2. Gas accounting: The function [cost_of_instr] assigns a gas - consumption to an instruction and a stack of values according to - the cost model. This function is used in the interpretation - loop. Several auxiliary functions are given to deal with gas - accounting. - - 3. Logging: One can instrument the interpreter with logging - functions. - - 4. Interpretation loop: This is the main functionality of this + 2. Interpretation loop: This is the main functionality of this module, aka the [step] function. - 5. Interface functions: This part of the module builds high-level + 3. Interface functions: This part of the module builds high-level functions on top of the more basic [step] function. + Auxiliary definitions can be found in {!Script_interpreter_defs}. + Implementation details are explained along the file. *) @@ -94,8 +86,17 @@ open Alpha_context open Script open Script_typed_ir open Script_ir_translator +open Script_interpreter_defs module S = Saturation_repr +type step_constants = Script_interpreter_defs.step_constants = { + source : Contract.t; + payer : Contract.t; + self : Contract.t; + amount : Tez.t; + chain_id : Chain_id.t; +} + (* ---- Run-time errors -----------------------------------------------------*) type error += @@ -196,569 +197,6 @@ let () = (function Cannot_serialize_storage -> Some () | _ -> None) (fun () -> Cannot_serialize_storage) -(* - - Computing the cost of Michelson instructions - ============================================ - - The function [cost_of_instr] provides a cost model for Michelson - instructions. It is used by the interpreter to track the - consumption of gas. This consumption may depend on the values - on the stack. - - *) - -module Interp_costs = Michelson_v1_gas.Cost_of.Interpreter - -let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = - fun i accu stack -> - match i with - | IList_map _ -> - let list = accu in - Interp_costs.list_map list - | IList_iter _ -> - let list = accu in - Interp_costs.list_iter list - | ISet_iter _ -> - let set = accu in - Interp_costs.set_iter set - | ISet_mem _ -> - let v = accu and (set, _) = stack in - Interp_costs.set_mem v set - | ISet_update _ -> - let v = accu and (_, (set, _)) = stack in - Interp_costs.set_update v set - | IMap_map _ -> - let map = accu in - Interp_costs.map_map map - | IMap_iter _ -> - let map = accu in - Interp_costs.map_iter map - | IMap_mem _ -> - let v = accu and (map, _) = stack in - Interp_costs.map_mem v map - | IMap_get _ -> - let v = accu and (map, _) = stack in - Interp_costs.map_get v map - | IMap_update _ -> - let k = accu and (_, (map, _)) = stack in - Interp_costs.map_update k map - | IMap_get_and_update _ -> - let k = accu and (_, (map, _)) = stack in - Interp_costs.map_get_and_update k map - | IBig_map_mem _ -> - let (map, _) = stack in - Interp_costs.big_map_mem map.diff - | IBig_map_get _ -> - let (map, _) = stack in - Interp_costs.big_map_get map.diff - | IBig_map_update _ -> - let (_, (map, _)) = stack in - Interp_costs.big_map_update map.diff - | IBig_map_get_and_update _ -> - let (_, (map, _)) = stack in - Interp_costs.big_map_get_and_update map.diff - | IAdd_seconds_to_timestamp _ -> - let n = accu and (t, _) = stack in - Interp_costs.add_seconds_timestamp n t - | IAdd_timestamp_to_seconds _ -> - let t = accu and (n, _) = stack in - Interp_costs.add_seconds_timestamp n t - | ISub_timestamp_seconds _ -> - let t = accu and (n, _) = stack in - Interp_costs.sub_seconds_timestamp n t - | IDiff_timestamps _ -> - let t1 = accu and (t2, _) = stack in - Interp_costs.diff_timestamps t1 t2 - | IConcat_string_pair _ -> - let x = accu and (y, _) = stack in - Interp_costs.concat_string_pair x y - | IConcat_string _ -> - let ss = accu in - Interp_costs.concat_string_precheck ss - | ISlice_string _ -> - let _offset = accu in - let (_length, (s, _)) = stack in - Interp_costs.slice_string s - | IConcat_bytes_pair _ -> - let x = accu and (y, _) = stack in - Interp_costs.concat_bytes_pair x y - | IConcat_bytes _ -> - let ss = accu in - Interp_costs.concat_string_precheck ss - | ISlice_bytes _ -> - let (_, (s, _)) = stack in - Interp_costs.slice_bytes s - | IMul_teznat _ -> - let (n, _) = stack in - Interp_costs.mul_teznat n - | IMul_nattez _ -> - let n = accu in - Interp_costs.mul_teznat n - | IAbs_int _ -> - let x = accu in - Interp_costs.abs_int x - | INeg_int _ -> - let x = accu in - Interp_costs.neg_int x - | INeg_nat _ -> - let x = accu in - Interp_costs.neg_nat x - | IAdd_intint _ -> - let x = accu and (y, _) = stack in - Interp_costs.add_bigint x y - | IAdd_intnat _ -> - let x = accu and (y, _) = stack in - Interp_costs.add_bigint x y - | IAdd_natint _ -> - let x = accu and (y, _) = stack in - Interp_costs.add_bigint x y - | IAdd_natnat _ -> - let x = accu and (y, _) = stack in - Interp_costs.add_bigint x y - | ISub_int _ -> - let x = accu and (y, _) = stack in - Interp_costs.sub_bigint x y - | IMul_intint _ -> - let x = accu and (y, _) = stack in - Interp_costs.mul_bigint x y - | IMul_intnat _ -> - let x = accu and (y, _) = stack in - Interp_costs.mul_bigint x y - | IMul_natint _ -> - let x = accu and (y, _) = stack in - Interp_costs.mul_bigint x y - | IMul_natnat _ -> - let x = accu and (y, _) = stack in - Interp_costs.mul_bigint x y - | IEdiv_teznat _ -> - let x = accu and (y, _) = stack in - Interp_costs.ediv_teznat x y - | IEdiv_intint _ -> - let x = accu and (y, _) = stack in - Interp_costs.ediv_bigint x y - | IEdiv_intnat _ -> - let x = accu and (y, _) = stack in - Interp_costs.ediv_bigint x y - | IEdiv_natint _ -> - let x = accu and (y, _) = stack in - Interp_costs.ediv_bigint x y - | IEdiv_natnat _ -> - let x = accu and (y, _) = stack in - Interp_costs.ediv_bigint x y - | ILsl_nat _ -> - let x = accu in - Interp_costs.lsl_nat x - | ILsr_nat _ -> - let x = accu in - Interp_costs.lsr_nat x - | IOr_nat _ -> - let x = accu and (y, _) = stack in - Interp_costs.or_nat x y - | IAnd_nat _ -> - let x = accu and (y, _) = stack in - Interp_costs.and_nat x y - | IAnd_int_nat _ -> - let x = accu and (y, _) = stack in - Interp_costs.and_nat x y - | IXor_nat _ -> - let x = accu and (y, _) = stack in - Interp_costs.xor_nat x y - | INot_int _ -> - let x = accu in - Interp_costs.not_nat x - | INot_nat _ -> - let x = accu in - Interp_costs.not_nat x - | ICompare (_, ty, _) -> - let a = accu and (b, _) = stack in - Interp_costs.compare ty a b - | ICheck_signature _ -> - let key = accu and (_, (message, _)) = stack in - Interp_costs.check_signature key message - | IHash_key _ -> - let pk = accu in - Interp_costs.hash_key pk - | IBlake2b _ -> - let bytes = accu in - Interp_costs.blake2b bytes - | ISha256 _ -> - let bytes = accu in - Interp_costs.sha256 bytes - | ISha512 _ -> - let bytes = accu in - Interp_costs.sha512 bytes - | IKeccak _ -> - let bytes = accu in - Interp_costs.keccak bytes - | ISha3 _ -> - let bytes = accu in - Interp_costs.sha3 bytes - | IPairing_check_bls12_381 _ -> - let pairs = accu in - Interp_costs.pairing_check_bls12_381 pairs - | ISapling_verify_update _ -> - let tx = accu in - let inputs = List.length tx.inputs in - let outputs = List.length tx.outputs in - Interp_costs.sapling_verify_update ~inputs ~outputs - | ISplit_ticket _ -> - let ticket = accu and ((amount_a, amount_b), _) = stack in - Interp_costs.split_ticket ticket.amount amount_a amount_b - | IJoin_tickets (_, ty, _) -> - let (ticket_a, ticket_b) = accu in - Interp_costs.join_tickets ty ticket_a ticket_b - | IHalt _ -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | IDrop _ -> - Interp_costs.drop - | IDup _ -> - Interp_costs.dup - | ISwap _ -> - Interp_costs.swap - | IConst _ -> - Interp_costs.push - | ICons_some _ -> - Interp_costs.cons_some - | ICons_none _ -> - Interp_costs.cons_none - | IIf_none _ -> - Interp_costs.if_none - | ICons_pair _ -> - Interp_costs.cons_pair - | IUnpair _ -> - Interp_costs.unpair - | ICar _ -> - Interp_costs.car - | ICdr _ -> - Interp_costs.cdr - | ICons_left _ -> - Interp_costs.cons_left - | ICons_right _ -> - Interp_costs.cons_right - | IIf_left _ -> - Interp_costs.if_left - | ICons_list _ -> - Interp_costs.cons_list - | INil _ -> - Interp_costs.nil - | IIf_cons _ -> - Interp_costs.if_cons - | IList_size _ -> - Interp_costs.list_size - | IEmpty_set _ -> - Interp_costs.empty_set - | ISet_size _ -> - Interp_costs.set_size - | IEmpty_map _ -> - Interp_costs.empty_map - | IMap_size _ -> - Interp_costs.map_size - | IEmpty_big_map _ -> - Interp_costs.empty_map - | IString_size _ -> - Interp_costs.string_size - | IBytes_size _ -> - Interp_costs.bytes_size - | IAdd_tez _ -> - Interp_costs.add_tez - | ISub_tez _ -> - Interp_costs.sub_tez - | IOr _ -> - Interp_costs.bool_or - | IAnd _ -> - Interp_costs.bool_and - | IXor _ -> - Interp_costs.bool_xor - | INot _ -> - Interp_costs.bool_not - | IIs_nat _ -> - Interp_costs.is_nat - | IInt_nat _ -> - Interp_costs.int_nat - | IInt_bls12_381_fr _ -> - Interp_costs.int_bls12_381_fr - | IEdiv_tez _ -> - Interp_costs.ediv_tez - | IIf _ -> - Interp_costs.if_ - | ILoop _ -> - Interp_costs.loop - | ILoop_left _ -> - Interp_costs.loop_left - | IDip _ -> - Interp_costs.dip - | IExec _ -> - Interp_costs.exec - | IApply _ -> - Interp_costs.apply - | ILambda _ -> - Interp_costs.push - | IFailwith _ -> - Gas.free - | INop _ -> - Interp_costs.nop - | IEq _ -> - Interp_costs.eq - | INeq _ -> - Interp_costs.neq - | ILt _ -> - Interp_costs.neq - | ILe _ -> - Interp_costs.neq - | IGt _ -> - Interp_costs.neq - | IGe _ -> - Interp_costs.neq - | IPack _ -> - Gas.free - | IUnpack _ -> - Gas.free - | IAddress _ -> - Interp_costs.address - | IContract _ -> - Interp_costs.contract - | ITransfer_tokens _ -> - Interp_costs.transfer_tokens - | IImplicit_account _ -> - Interp_costs.implicit_account - | ISet_delegate _ -> - Interp_costs.set_delegate - | IBalance _ -> - Interp_costs.balance - | ILevel _ -> - Interp_costs.level - | INow _ -> - Interp_costs.now - | ISapling_empty_state _ -> - Interp_costs.sapling_empty_state - | ISource _ -> - Interp_costs.source - | ISender _ -> - Interp_costs.source - | ISelf _ -> - Interp_costs.self - | ISelf_address _ -> - Interp_costs.self - | IAmount _ -> - Interp_costs.amount - | IDig (_, n, _, _) -> - Interp_costs.dign n - | IDug (_, n, _, _) -> - Interp_costs.dugn n - | IDipn (_, n, _, _, _) -> - Interp_costs.dipn n - | IDropn (_, n, _, _) -> - Interp_costs.dropn n - | IChainId _ -> - Interp_costs.chain_id - | ICreate_contract _ -> - Interp_costs.create_contract - | INever _ -> ( - match accu with _ -> . ) - | IVoting_power _ -> - Interp_costs.voting_power - | ITotal_voting_power _ -> - Interp_costs.total_voting_power - | IAdd_bls12_381_g1 _ -> - Interp_costs.add_bls12_381_g1 - | IAdd_bls12_381_g2 _ -> - Interp_costs.add_bls12_381_g2 - | IAdd_bls12_381_fr _ -> - Interp_costs.add_bls12_381_fr - | IMul_bls12_381_g1 _ -> - Interp_costs.mul_bls12_381_g1 - | IMul_bls12_381_g2 _ -> - Interp_costs.mul_bls12_381_g2 - | IMul_bls12_381_fr _ -> - Interp_costs.mul_bls12_381_fr - | INeg_bls12_381_g1 _ -> - Interp_costs.neg_bls12_381_g1 - | INeg_bls12_381_g2 _ -> - Interp_costs.neg_bls12_381_g2 - | INeg_bls12_381_fr _ -> - Interp_costs.neg_bls12_381_fr - | IMul_bls12_381_fr_z _ -> - Interp_costs.mul_bls12_381_fr_z - | IMul_bls12_381_z_fr _ -> - Interp_costs.mul_bls12_381_fr_z - | IDup_n (_, n, _, _) -> - Interp_costs.dupn n - | IComb (_, n, _, _) -> - Interp_costs.comb n - | IUncomb (_, n, _, _) -> - Interp_costs.uncomb n - | IComb_get (_, n, _, _) -> - Interp_costs.comb_get n - | IComb_set (_, n, _, _) -> - Interp_costs.comb_set n - | ITicket _ -> - Interp_costs.ticket - | IRead_ticket _ -> - Interp_costs.read_ticket - | ILog _ -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - [@@ocaml.inline always] - -let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = - fun ks -> - match ks with - | KLog _ -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KNil -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KCons (_, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KReturn _ -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KUndip (_, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KLoop_in (_, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KLoop_in_left (_, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KIter (_, _, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KList_enter_body (_, _, _, _, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KList_exit_body (_, _, _, _, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KMap_enter_body (_, _, _, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - | KMap_exit_body (_, _, _, _, _) -> - (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free - -(* - - Gas update and check for gas exhaustion - ======================================= - - Each instruction has a cost. The runtime subtracts this cost - from an amount of gas made available for the script execution. - - Updating the gas counter is a critical aspect to Michelson - execution because it is done at each execution step. - - For this reason, the interpreter must read and update the - gas counter as quickly as possible. Hence, the gas counter - should be stored in a machine register. To motivate the - OCaml compiler to make that choice, we represent the gas - counter as a local parameter of the execution [step] - function. - -*) - -type local_gas_counter = int - -(* - - The gas counter stored in the context is desynchronized with the - [local_gas_counter] used in the interpretation loop. When we have - to call a gas-consuming function which lives outside the - interpreter, we must update the context so that it carries an - up-to-date gas counter. Similarly, when we return from such a - function, the [local_gas_counter] must be updated as well. - - To statically track these points where the context's gas counter - must be updated, we introduce a type for outdated contexts. The - [step] function carries an [outdated_context]. When an external - function needs a [context], the typechecker points out the need for - a conversion: this forces us to either call [update_context], or - better, when this is possible, the function - [use_gas_counter_in_ctxt]. - -*) -type outdated_context = OutDatedContext of context [@@unboxed] - -let update_context local_gas_counter = function - | OutDatedContext ctxt -> - Gas.update_gas_counter ctxt (Saturation_repr.safe_int local_gas_counter) - [@@ocaml.inline always] - -let update_local_gas_counter ctxt = - (Gas.gas_counter ctxt :> int) - [@@ocaml.inline always] - -let outdated ctxt = OutDatedContext ctxt [@@ocaml.inline always] - -let context_from_outdated_context (OutDatedContext ctxt) = - ctxt - [@@ocaml.inline always] - -let use_gas_counter_in_ctxt ctxt local_gas_counter f = - let ctxt = update_context local_gas_counter ctxt in - f ctxt - >>=? fun (y, ctxt) -> return (y, outdated ctxt, update_local_gas_counter ctxt) - [@@ocaml.inline always] - -(* - - [step] calls [consume] at the beginning of each execution step. - - [consume'] is used in the implementation of [IConcat_string] - and [IConcat_bytes] because in that special cases, the cost - is expressed with respect to a non-constant-time computation - on the inputs. - -*) - -let update_and_check gas_counter (cost : Gas.cost) = - let gas_counter = gas_counter - (cost :> int) in - if Compare.Int.(gas_counter < 0) then None else Some gas_counter - [@@ocaml.inline always] - -let consume local_gas_counter k accu stack = - let cost = cost_of_instr k accu stack in - update_and_check local_gas_counter cost - [@@ocaml.inline always] - -let consume' ctxt local_gas_counter cost = - match update_and_check local_gas_counter cost with - | None -> - Gas.gas_exhausted_error (update_context local_gas_counter ctxt) - | Some local_gas_counter -> - Ok local_gas_counter - [@@ocaml.inline always] - -let consume_control local_gas_counter ks = - let cost = cost_of_control ks in - update_and_check local_gas_counter cost - [@@ocaml.inline always] - -let log_entry (logger : logger) ctxt gas k 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) - -let log_exit (logger : logger) ctxt gas kinfo_prev k accu stack = - let ctxt = update_context gas ctxt in - let kinfo = kinfo_of_kinstr k in - logger.log_exit k ctxt kinfo_prev.iloc kinfo.kstack_ty (accu, stack) - -let log_control (logger : logger) ks = logger.log_control ks - -let get_log (logger : logger option) = - match logger with - | None -> - Lwt.return (Ok None) - | Some logger -> - logger.get_log () - [@@ocaml.inline always] - (* Interpretation loop @@ -768,278 +206,7 @@ let get_log (logger : logger option) = (* - The interpreter is parameterized by a small set of values. - -*) -type step_constants = { - source : Contract.t; - payer : Contract.t; - self : Contract.t; - amount : Tez.t; - chain_id : Chain_id.t; -} - -(* - - Auxiliary functions used by the interpretation loop - -*) - -(** The following function pops n elements from the stack - and push their reintroduction in the continuations stack. *) -let rec kundip : - type a s e z c u d w b t. - (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> - c -> - u -> - (d, w, b, t) kinstr -> - 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 - let (accu, stack) = stack in - kundip w accu stack k - | KRest -> - (accu, stack, k) - -(** [apply ctxt gas ty v lam] specializes [lam] by fixing its first - formal argument to [v]. The type of [v] is represented by [ty]. *) -let apply ctxt gas capture_ty capture lam = - let (Lam (descr, expr)) = lam in - let (Item_t (full_arg_ty, _, _)) = descr.kbef in - let ctxt = update_context gas ctxt in - unparse_data ctxt Optimized capture_ty capture - >>=? fun (const_expr, ctxt) -> - unparse_ty ctxt capture_ty - >>?= fun (ty_expr, ctxt) -> - match full_arg_ty with - | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> - let arg_stack_ty = Item_t (arg_ty, Bot_t, None) in - let full_descr = - { - kloc = descr.kloc; - 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, None); - } - in - IConst - (kinfo_const, capture, ICons_pair (kinfo_pair, descr.kinstr))); - } - in - let full_expr = - Micheline.Seq - ( 0, - [ Prim (0, I_PUSH, [ty_expr; const_expr], []); - Prim (0, I_PAIR, [], []); - expr ] ) - in - let lam' = Lam (full_descr, full_expr) in - let gas = update_local_gas_counter ctxt in - return (lam', outdated ctxt, gas) - | _ -> - assert false - -(** [transfer (ctxt, sc) gas tez tp p destination entrypoint] - creates an operation that transfers an amount of [tez] to - a contract determined by [(destination, entrypoint)] - instantiated with argument [p] of type [tp]. *) -let transfer (ctxt, sc) gas amount tp p destination entrypoint = - let ctxt = update_context gas ctxt in - collect_lazy_storage ctxt tp p - >>?= fun (to_duplicate, ctxt) -> - let to_update = no_lazy_storage_id in - extract_lazy_storage_diff - ctxt - Optimized - tp - p - ~to_duplicate - ~to_update - ~temporary:true - >>=? fun (p, lazy_storage_diff, ctxt) -> - unparse_data ctxt Optimized tp p - >>=? fun (p, ctxt) -> - Gas.consume ctxt (Script.strip_locations_cost p) - >>?= fun ctxt -> - let operation = - Transaction - { - amount; - destination; - entrypoint; - parameters = Script.lazy_expr (Micheline.strip_locations p); - } - in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - let iop = {source = sc.self; operation; nonce} in - let res = (Internal_operation iop, lazy_storage_diff) in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - return (res, ctxt, gas) - -(** [create_contract (ctxt, sc) gas storage_ty param_ty code root_name - delegate credit init] creates an origination operation for a - contract represented by [code], with some [root_name], some initial - [credit] (taken to contract being executed), and an initial storage - [init] of type [storage_ty]. The type of the new contract argument - is [param_ty]. *) -let create_contract (ctxt, sc) gas storage_type param_type code root_name - delegate credit init = - let ctxt = update_context gas ctxt in - unparse_ty ctxt param_type - >>?= fun (unparsed_param_type, ctxt) -> - let unparsed_param_type = - Script_ir_translator.add_field_annot root_name None unparsed_param_type - in - unparse_ty ctxt storage_type - >>?= fun (unparsed_storage_type, ctxt) -> - let code = - Micheline.strip_locations - (Seq - ( 0, - [ Prim (0, K_parameter, [unparsed_param_type], []); - Prim (0, K_storage, [unparsed_storage_type], []); - Prim (0, K_code, [code], []) ] )) - in - collect_lazy_storage ctxt storage_type init - >>?= fun (to_duplicate, ctxt) -> - let to_update = no_lazy_storage_id in - extract_lazy_storage_diff - ctxt - Optimized - storage_type - init - ~to_duplicate - ~to_update - ~temporary:true - >>=? fun (init, lazy_storage_diff, ctxt) -> - unparse_data ctxt Optimized storage_type init - >>=? fun (storage, ctxt) -> - Gas.consume ctxt (Script.strip_locations_cost storage) - >>?= fun ctxt -> - let storage = Micheline.strip_locations storage in - Contract.fresh_contract_from_current_nonce ctxt - >>?= fun (ctxt, contract) -> - let operation = - Origination - { - credit; - delegate; - preorigination = Some contract; - script = - {code = Script.lazy_expr code; storage = Script.lazy_expr storage}; - } - in - fresh_internal_nonce ctxt - >>?= fun (ctxt, nonce) -> - let res = - (Internal_operation {source = sc.self; operation; nonce}, lazy_storage_diff) - in - let gas = update_local_gas_counter ctxt in - let ctxt = outdated ctxt in - return (res, contract, ctxt, gas) - -(** [unpack ctxt ty bytes] deserialize [bytes] into a value of type [ty]. *) -let unpack ctxt ~ty ~bytes = - Gas.check_enough ctxt (Script.serialized_cost bytes) - >>?= fun () -> - if - Compare.Int.(Bytes.length bytes >= 1) - && Compare.Int.(TzEndian.get_uint8 bytes 0 = 0x05) - then - let bytes = Bytes.sub bytes 1 (Bytes.length bytes - 1) in - match Data_encoding.Binary.of_bytes Script.expr_encoding bytes with - | None -> - Lwt.return - ( Gas.consume ctxt (Interp_costs.unpack_failed bytes) - >|? fun ctxt -> (None, ctxt) ) - | Some expr -> ( - Gas.consume ctxt (Script.deserialized_cost expr) - >>?= fun ctxt -> - parse_data - ctxt - ~legacy:false - ~allow_forged:false - ty - (Micheline.root expr) - >|= function - | Ok (value, ctxt) -> - ok (Some value, ctxt) - | Error _ignored -> - Gas.consume ctxt (Interp_costs.unpack_failed bytes) - >|? fun ctxt -> (None, ctxt) ) - else return (None, ctxt) - -(** [log_kinstr logger i] emits an instruction to instrument the - execution of [i] with [logger]. In some cases, it embeds [logger] - to [i] to let the instruction [i] asks [logger] for a backtrace - when the evaluation of [i] fails. *) -let log_kinstr logger i = - let set_logger_for_trace_dependent_kinstr : - type a s r f. (a, s, r, f) kinstr -> (a, s, r, f) kinstr = function - | IFailwith (kinfo, kloc, tv, _, k) -> - IFailwith (kinfo, kloc, tv, Some logger, k) - | IExec (kinfo, _, k) -> - IExec (kinfo, Some logger, k) - | IMul_teznat (kinfo, _, k) -> - IMul_teznat (kinfo, Some logger, k) - | IMul_nattez (kinfo, _, k) -> - IMul_nattez (kinfo, Some logger, k) - | ILsr_nat (kinfo, _, k) -> - ILsr_nat (kinfo, Some logger, k) - | ILsl_nat (kinfo, _, k) -> - ILsl_nat (kinfo, Some logger, k) - | i -> - i - in - ILog - ( kinfo_of_kinstr i, - LogEntry, - logger, - set_logger_for_trace_dependent_kinstr i ) - -(** [log_next_kinstr logger i] instruments the next instruction of [i] - with the [logger].*) -let log_next_kinstr logger i = - let apply k = - ILog - ( kinfo_of_kinstr k, - LogExit (kinfo_of_kinstr i), - logger, - log_kinstr logger k ) - in - kinstr_rewritek i {apply} - -(** [interp_stack_prefix_preserving_operation f w accu stack] applies - a well-typed operation [f] under some prefix of the A-stack - exploiting [w] to justify that the shape of the stack is - preserved. *) -let rec interp_stack_prefix_preserving_operation : - type a s b t c u d w result. - (a -> s -> (b * t) * result) -> - (a, s, b, t, c, u, d, w) stack_prefix_preservation_witness -> - c -> - u -> - (d * w) * result = - fun f n accu stk -> - match (n, stk) with - | (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 - -(* - - As announced earlier, the step function produces a computation in + As announced earlier, the [step] function produces a computation in the [Lwt+State+Error] monad. The [State] monad is implemented by having the [context] passed as input and returned updated as output. The [Error] monad is represented by the [tzresult] type @@ -1063,8 +230,127 @@ let rec interp_stack_prefix_preserving_operation : Again, we make sure that the recursive calls to [step] are tail calls by annotating them with [@ocaml.tailcall]. + The [step] function is actually based on several mutually + recursive functions that can be separated in two groups: the first + group focuses on the evaluation of continuations while the second + group is about evaluating the instructions. + *) -let rec next : + +(* + + Evaluation of continuations + =========================== + + As explained in [Script_typed_ir], there are several kinds of + continuations, each having a specific evaluation rules. The + following group of functions starts with a list of evaluation + rules for continuations that generate fresh continuations. This + group ends with the definition of [next], which dispatches + evaluation rules depending on the continuation at stake. + + *) +let rec kmap_exit : + type a b c d e f g h i j k l m n o. + (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) kmap_exit_type = + fun mk ((ctxt, _) as g) gas ks0 body xs ys yk ks accu stack -> + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + let ys = map_update yk (Some accu) ys in + let ks = mk (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 e f g h i j k. + (a, b, c, d, e, f, g, h, i, j, k) kmap_enter_type = + fun mk ((ctxt, _) as g) gas ks0 body xs ys ks accu stack -> + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + 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 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 f g h i j. (a, b, c, d, e, f, g, h, i, j) klist_exit_type = + fun mk ((ctxt, _) as g) gas ks0 body xs ys len ks accu stack -> + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + let ks = mk (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 f g h i j. (a, b, c, d, e, f, g, h, i, j) klist_enter_type = + fun mk ((ctxt, _) as g) gas ks body xs ys len ks' accu stack -> + match consume_control gas ks with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + 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 + (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) + [@@inline] + +and kloop_in_left : + type c d e f a s c d b s e f. (a, b, c, d, e, f, s) kloop_in_left_type = + fun ((ctxt, _) as g) gas ks0 ks ki ks' accu stack -> + match consume_control gas ks with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match accu with + | L v -> + (step [@ocaml.tailcall]) g gas ki ks0 v stack + | R v -> + (next [@ocaml.tailcall]) g gas ks' v stack ) + [@@inline] + +and kloop_in : + type a b c r f d e f u h s. (a, b, c, r, f, d, e, u, h, s) kloop_in_type = + fun ((ctxt, _) as g) gas ks0 ks ki ks' accu stack -> + match consume_control gas ks with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> + let (accu', stack') = stack in + if accu then (step [@ocaml.tailcall]) g gas ki ks0 accu' stack' + else (next [@ocaml.tailcall]) g gas ks' accu' stack' + [@@inline] + +and kiter : type a b s r f c d e g. (a, b, s, r, f, c, d, e, g) kiter_type = + fun mk ((ctxt, _) as g) gas ks0 body xs ks accu stack -> + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match xs with + | [] -> + (next [@ocaml.tailcall]) g gas ks accu stack + | x :: xs -> + let ks = mk (KIter (body, xs, ks)) in + (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) + [@@inline] + +and next : type a s r f. outdated_context * step_constants -> local_gas_counter -> @@ -1075,104 +361,101 @@ let rec next : fun ((ctxt, _) as g) gas ks0 accu stack -> match ks0 with | KLog (ks, logger) -> - (log [@ocaml.tailcall]) logger g gas ks accu stack + (klog [@ocaml.tailcall]) logger g gas 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') -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - let (accu', stack') = stack in - if accu then (step [@ocaml.tailcall]) g gas ki ks0 accu' stack' - else (next [@ocaml.tailcall]) g gas ks' accu' stack' ) + | KLoop_in (ki, ks') -> + (kloop_in [@ocaml.tailcall]) g gas ks0 ks0 ki ks' accu stack | KReturn (stack', ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> (next [@ocaml.tailcall]) g gas ks accu stack' ) - | KLoop_in_left (ki, ks') -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - match accu with - | L v -> - (step [@ocaml.tailcall]) g gas ki ks0 v stack - | R v -> - (next [@ocaml.tailcall]) g gas ks' v stack ) ) + | KLoop_in_left (ki, ks') -> + (kloop_in_left [@ocaml.tailcall]) g gas ks0 ks0 ki ks' accu stack | KUndip (x, ks) -> ( match consume_control gas ks0 with | None -> Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) | Some gas -> (next [@ocaml.tailcall]) g gas ks x (accu, stack) ) - | KIter (body, xs, ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - match xs with - | [] -> - (next [@ocaml.tailcall]) g gas ks accu stack - | x :: xs -> - let ks = KIter (body, xs, ks) in - (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) ) - | KList_enter_body (body, xs, ys, len, ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - 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 - (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) ) - | KList_exit_body (body, xs, ys, len, ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - 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 ) - | KMap_enter_body (body, xs, ys, ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - 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 res = (xk, xv) in - let stack = (accu, stack) in - (step [@ocaml.tailcall]) g gas body ks res stack ) ) - | KMap_exit_body (body, xs, ys, yk, ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - let ys = map_update yk (Some accu) ys in - let ks = KMap_enter_body (body, xs, ys, ks) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack ) + | KIter (body, xs, ks) -> + (kiter [@ocaml.tailcall]) id g gas ks0 body xs ks accu stack + | KList_enter_body (body, xs, ys, len, ks) -> + (klist_enter [@ocaml.tailcall]) id g gas ks0 body xs ys len ks accu stack + | KList_exit_body (body, xs, ys, len, ks) -> + (klist_exit [@ocaml.tailcall]) id g gas ks0 body xs ys len ks accu stack + | KMap_enter_body (body, xs, ys, ks) -> + (kmap_enter [@ocaml.tailcall]) id g gas ks0 body xs ys ks accu stack + | KMap_exit_body (body, xs, ys, yk, ks) -> + (kmap_exit [@ocaml.tailcall]) id g gas ks0 body xs ys yk ks accu stack -and step : - type a s b t r f. - outdated_context * step_constants -> - local_gas_counter -> - (a, s, b, t) kinstr -> - (b, t, r, f) continuation -> - a -> - s -> - (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = +(* + + Evaluation of instructions + ========================== + + 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. + + 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 -> + 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 (accu, stack) = stack in + (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 -> + let xs = accu.elements in + let ks = log_if_needed (KIter (body, 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 -> + let set = accu in + let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in + let ks = log_if_needed (KIter (body, 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 -> + let map = accu in + let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in + let ys = empty_map (map_key_ty map) in + let ks = log_if_needed (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. (a, b, c, d, e, f, g, h) imap_iter_type = + fun log_if_needed g gas body k ks accu stack -> + let map = accu in + let l = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in + let ks = log_if_needed (KIter (body, l, KCons (k, ks))) in + let (accu, stack) = stack in + (next [@ocaml.tailcall]) g gas ks accu stack + [@@inline] + +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 gas i accu stack with | None -> @@ -1180,13 +463,7 @@ and step : | Some gas -> ( match i with | ILog (_, event, logger, k) -> - ( match event with - | 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 - (step [@ocaml.tailcall]) g gas k ks accu stack + (log [@ocaml.tailcall]) logger event g gas k ks accu stack | IHalt _ -> (next [@ocaml.tailcall]) g gas ks accu stack (* stack ops *) @@ -1254,32 +531,20 @@ and step : let tl = {elements = tl; length = accu.length - 1} in (step [@ocaml.tailcall]) g gas branch_if_cons ks hd (tl, stack) ) | IList_map (_, body, k) -> - 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 (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack + (ilist_map [@ocaml.tailcall]) id 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 (_, body, k) -> - let xs = accu.elements in - let ks = KIter (body, xs, KCons (k, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack + (ilist_iter [@ocaml.tailcall]) id g gas body k ks accu stack (* sets *) | IEmpty_set (_, ty, k) -> let res = empty_set ty in let stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | ISet_iter (_, body, k) -> - let set = accu in - let l = List.rev (set_fold (fun e acc -> e :: acc) set []) in - let ks = KIter (body, l, KCons (k, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack + (iset_iter [@ocaml.tailcall]) id g gas body k ks accu stack | ISet_mem (_, k) -> let (set, stack) = stack in let res = set_mem accu set in @@ -1296,18 +561,9 @@ and step : let res = empty_map ty and stack = (accu, stack) in (step [@ocaml.tailcall]) g gas k ks res stack | IMap_map (_, body, k) -> - let map = accu in - let xs = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in - let ys = empty_map (map_key_ty map) 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 + (imap_map [@ocaml.tailcall]) id g gas body k ks accu stack | IMap_iter (_, body, k) -> - let map = accu in - let l = List.rev (map_fold (fun k v a -> (k, v) :: a) map []) in - let ks = KIter (body, l, KCons (k, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack + (imap_iter [@ocaml.tailcall]) id g gas body k ks accu stack | IMap_mem (_, k) -> let (map, stack) = stack in let res = map_mem accu map in @@ -2144,75 +1400,119 @@ and step : (* - The following function inserts a logging instruction and modifies - the continuation to continue the logging process in the next - execution steps. + Zero-cost logging + ================= + +*) + +(* + + The following functions insert a logging instruction and modify the + continuation 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. This on-the-fly instrumentation of the execution allows zero-cost logging since logging instructions are only introduced if an - initial logging continuation is pushed at the beginning of the - evaluation. + initial logging continuation is pushed in the initial continuation + that starts the evaluation. *) 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 -> + ( 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 = KLog (k, logger) in + 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) -> + (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 + | _ -> + (step [@ocaml.tailcall]) g gas k (with_log ks) accu stack + [@@inline] + +and klog : type a s r f. logger -> 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 accu stack -> - log_control logger ks0 ; + fun logger g gas ks0 ks accu stack -> + (match ks with KLog _ -> () | _ -> log_control logger ks) ; let enable_log ki = log_kinstr logger ki in - match ks0 with + let mk k = KLog (k, logger) in + match ks with | KCons (ki, ks') -> let log = enable_log ki in let ks = KLog (ks', logger) in (step [@ocaml.tailcall]) g gas log ks accu stack | KNil -> - let ks = ks0 in (next [@ocaml.tailcall]) g gas ks accu stack | KLoop_in (ki, ks') -> let ks' = KLog (ks', logger) in - let ks = KLoop_in (enable_log ki, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + let ki = enable_log ki in + (kloop_in [@ocaml.tailcall]) g gas ks0 ks ki ks' accu stack | KReturn (stack', ks') -> let ks' = KLog (ks', logger) in let ks = KReturn (stack', ks') in (next [@ocaml.tailcall]) g gas ks accu stack | KLoop_in_left (ki, ks') -> let ks' = KLog (ks', logger) in - let ks = KLoop_in_left (enable_log ki, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + let ki = enable_log ki in + (kloop_in_left [@ocaml.tailcall]) g gas ks0 ks ki ks' accu stack | KUndip (x, ks') -> let ks' = KLog (ks', logger) in let ks = KUndip (x, ks') in (next [@ocaml.tailcall]) g gas ks accu stack | KIter (body, xs, ks') -> let ks' = KLog (ks', logger) in - let ks = KIter (enable_log body, xs, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + let body = enable_log body in + (kiter [@ocaml.tailcall]) mk g gas ks0 body xs ks' accu stack | KList_enter_body (body, xs, ys, len, ks') -> let ks' = KLog (ks', logger) in - let ks = KList_enter_body (body, xs, ys, len, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + (klist_enter [@ocaml.tailcall]) mk g gas ks body xs ys len ks' accu stack | KList_exit_body (body, xs, ys, len, ks') -> let ks' = KLog (ks', logger) in - let ks = KList_exit_body (body, xs, ys, len, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + (klist_exit [@ocaml.tailcall]) mk g gas ks body xs ys len ks' accu stack | KMap_enter_body (body, xs, ys, ks') -> let ks' = KLog (ks', logger) in - let ks = KMap_enter_body (body, xs, ys, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + (kmap_enter [@ocaml.tailcall]) mk g gas ks body xs ys ks' accu stack | KMap_exit_body (body, xs, ys, yk, ks') -> let ks' = KLog (ks', logger) in - let ks = KMap_exit_body (body, xs, ys, yk, ks') in - (next [@ocaml.tailcall]) g gas ks accu stack + (kmap_exit [@ocaml.tailcall]) mk g gas ks body xs ys yk ks' accu stack | KLog (ks', _) -> (* This case should never happen. *) (next [@ocaml.tailcall]) g gas ks' accu stack + [@@inline] + +(* + + Entrypoints + =========== + +*) let step_descr ~log_now logger (ctxt, sc) descr accu stack = let gas = (Gas.gas_counter ctxt :> int) in @@ -2336,6 +1636,13 @@ let execute ?logger ctxt mode step_constants ~script ~entrypoint ~parameter >|=? fun (storage, operations, ctxt, lazy_storage_diff) -> {ctxt; storage; lazy_storage_diff; operations} +(* + + Internals + ========= + +*) + (* We export the internals definitions for tool that requires diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml new file mode 100644 index 000000000000..a930824b8974 --- /dev/null +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -0,0 +1,1061 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2021 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. *) +(* *) +(*****************************************************************************) + +(* + + This module provides auxiliary definitions used in the interpreter. + + These are internal private definitions. Do not rely on them outside + the interpreter. + +*) + +open Alpha_context +open Script +open Script_typed_ir +open Script_ir_translator + +(* + + Computing the cost of Michelson instructions + ============================================ + + The function [cost_of_instr] provides a cost model for Michelson + instructions. It is used by the interpreter to track the + consumption of gas. This consumption may depend on the values + on the stack. + + *) + +module Interp_costs = Michelson_v1_gas.Cost_of.Interpreter + +let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = + fun i accu stack -> + match i with + | IList_map _ -> + let list = accu in + Interp_costs.list_map list + | IList_iter _ -> + let list = accu in + Interp_costs.list_iter list + | ISet_iter _ -> + let set = accu in + Interp_costs.set_iter set + | ISet_mem _ -> + let v = accu and (set, _) = stack in + Interp_costs.set_mem v set + | ISet_update _ -> + let v = accu and (_, (set, _)) = stack in + Interp_costs.set_update v set + | IMap_map _ -> + let map = accu in + Interp_costs.map_map map + | IMap_iter _ -> + let map = accu in + Interp_costs.map_iter map + | IMap_mem _ -> + let v = accu and (map, _) = stack in + Interp_costs.map_mem v map + | IMap_get _ -> + let v = accu and (map, _) = stack in + Interp_costs.map_get v map + | IMap_update _ -> + let k = accu and (_, (map, _)) = stack in + Interp_costs.map_update k map + | IMap_get_and_update _ -> + let k = accu and (_, (map, _)) = stack in + Interp_costs.map_get_and_update k map + | IBig_map_mem _ -> + let (map, _) = stack in + Interp_costs.big_map_mem map.diff + | IBig_map_get _ -> + let (map, _) = stack in + Interp_costs.big_map_get map.diff + | IBig_map_update _ -> + let (_, (map, _)) = stack in + Interp_costs.big_map_update map.diff + | IBig_map_get_and_update _ -> + let (_, (map, _)) = stack in + Interp_costs.big_map_get_and_update map.diff + | IAdd_seconds_to_timestamp _ -> + let n = accu and (t, _) = stack in + Interp_costs.add_seconds_timestamp n t + | IAdd_timestamp_to_seconds _ -> + let t = accu and (n, _) = stack in + Interp_costs.add_seconds_timestamp n t + | ISub_timestamp_seconds _ -> + let t = accu and (n, _) = stack in + Interp_costs.sub_seconds_timestamp n t + | IDiff_timestamps _ -> + let t1 = accu and (t2, _) = stack in + Interp_costs.diff_timestamps t1 t2 + | IConcat_string_pair _ -> + let x = accu and (y, _) = stack in + Interp_costs.concat_string_pair x y + | IConcat_string _ -> + let ss = accu in + Interp_costs.concat_string_precheck ss + | ISlice_string _ -> + let _offset = accu in + let (_length, (s, _)) = stack in + Interp_costs.slice_string s + | IConcat_bytes_pair _ -> + let x = accu and (y, _) = stack in + Interp_costs.concat_bytes_pair x y + | IConcat_bytes _ -> + let ss = accu in + Interp_costs.concat_string_precheck ss + | ISlice_bytes _ -> + let (_, (s, _)) = stack in + Interp_costs.slice_bytes s + | IMul_teznat _ -> + let (n, _) = stack in + Interp_costs.mul_teznat n + | IMul_nattez _ -> + let n = accu in + Interp_costs.mul_teznat n + | IAbs_int _ -> + let x = accu in + Interp_costs.abs_int x + | INeg_int _ -> + let x = accu in + Interp_costs.neg_int x + | INeg_nat _ -> + let x = accu in + Interp_costs.neg_nat x + | IAdd_intint _ -> + let x = accu and (y, _) = stack in + Interp_costs.add_bigint x y + | IAdd_intnat _ -> + let x = accu and (y, _) = stack in + Interp_costs.add_bigint x y + | IAdd_natint _ -> + let x = accu and (y, _) = stack in + Interp_costs.add_bigint x y + | IAdd_natnat _ -> + let x = accu and (y, _) = stack in + Interp_costs.add_bigint x y + | ISub_int _ -> + let x = accu and (y, _) = stack in + Interp_costs.sub_bigint x y + | IMul_intint _ -> + let x = accu and (y, _) = stack in + Interp_costs.mul_bigint x y + | IMul_intnat _ -> + let x = accu and (y, _) = stack in + Interp_costs.mul_bigint x y + | IMul_natint _ -> + let x = accu and (y, _) = stack in + Interp_costs.mul_bigint x y + | IMul_natnat _ -> + let x = accu and (y, _) = stack in + Interp_costs.mul_bigint x y + | IEdiv_teznat _ -> + let x = accu and (y, _) = stack in + Interp_costs.ediv_teznat x y + | IEdiv_intint _ -> + let x = accu and (y, _) = stack in + Interp_costs.ediv_bigint x y + | IEdiv_intnat _ -> + let x = accu and (y, _) = stack in + Interp_costs.ediv_bigint x y + | IEdiv_natint _ -> + let x = accu and (y, _) = stack in + Interp_costs.ediv_bigint x y + | IEdiv_natnat _ -> + let x = accu and (y, _) = stack in + Interp_costs.ediv_bigint x y + | ILsl_nat _ -> + let x = accu in + Interp_costs.lsl_nat x + | ILsr_nat _ -> + let x = accu in + Interp_costs.lsr_nat x + | IOr_nat _ -> + let x = accu and (y, _) = stack in + Interp_costs.or_nat x y + | IAnd_nat _ -> + let x = accu and (y, _) = stack in + Interp_costs.and_nat x y + | IAnd_int_nat _ -> + let x = accu and (y, _) = stack in + Interp_costs.and_nat x y + | IXor_nat _ -> + let x = accu and (y, _) = stack in + Interp_costs.xor_nat x y + | INot_int _ -> + let x = accu in + Interp_costs.not_nat x + | INot_nat _ -> + let x = accu in + Interp_costs.not_nat x + | ICompare (_, ty, _) -> + let a = accu and (b, _) = stack in + Interp_costs.compare ty a b + | ICheck_signature _ -> + let key = accu and (_, (message, _)) = stack in + Interp_costs.check_signature key message + | IHash_key _ -> + let pk = accu in + Interp_costs.hash_key pk + | IBlake2b _ -> + let bytes = accu in + Interp_costs.blake2b bytes + | ISha256 _ -> + let bytes = accu in + Interp_costs.sha256 bytes + | ISha512 _ -> + let bytes = accu in + Interp_costs.sha512 bytes + | IKeccak _ -> + let bytes = accu in + Interp_costs.keccak bytes + | ISha3 _ -> + let bytes = accu in + Interp_costs.sha3 bytes + | IPairing_check_bls12_381 _ -> + let pairs = accu in + Interp_costs.pairing_check_bls12_381 pairs + | ISapling_verify_update _ -> + let tx = accu in + let inputs = List.length tx.inputs in + let outputs = List.length tx.outputs in + Interp_costs.sapling_verify_update ~inputs ~outputs + | ISplit_ticket _ -> + let ticket = accu and ((amount_a, amount_b), _) = stack in + Interp_costs.split_ticket ticket.amount amount_a amount_b + | IJoin_tickets (_, ty, _) -> + let (ticket_a, ticket_b) = accu in + Interp_costs.join_tickets ty ticket_a ticket_b + | IHalt _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | IDrop _ -> + Interp_costs.drop + | IDup _ -> + Interp_costs.dup + | ISwap _ -> + Interp_costs.swap + | IConst _ -> + Interp_costs.push + | ICons_some _ -> + Interp_costs.cons_some + | ICons_none _ -> + Interp_costs.cons_none + | IIf_none _ -> + Interp_costs.if_none + | ICons_pair _ -> + Interp_costs.cons_pair + | IUnpair _ -> + Interp_costs.unpair + | ICar _ -> + Interp_costs.car + | ICdr _ -> + Interp_costs.cdr + | ICons_left _ -> + Interp_costs.cons_left + | ICons_right _ -> + Interp_costs.cons_right + | IIf_left _ -> + Interp_costs.if_left + | ICons_list _ -> + Interp_costs.cons_list + | INil _ -> + Interp_costs.nil + | IIf_cons _ -> + Interp_costs.if_cons + | IList_size _ -> + Interp_costs.list_size + | IEmpty_set _ -> + Interp_costs.empty_set + | ISet_size _ -> + Interp_costs.set_size + | IEmpty_map _ -> + Interp_costs.empty_map + | IMap_size _ -> + Interp_costs.map_size + | IEmpty_big_map _ -> + Interp_costs.empty_map + | IString_size _ -> + Interp_costs.string_size + | IBytes_size _ -> + Interp_costs.bytes_size + | IAdd_tez _ -> + Interp_costs.add_tez + | ISub_tez _ -> + Interp_costs.sub_tez + | IOr _ -> + Interp_costs.bool_or + | IAnd _ -> + Interp_costs.bool_and + | IXor _ -> + Interp_costs.bool_xor + | INot _ -> + Interp_costs.bool_not + | IIs_nat _ -> + Interp_costs.is_nat + | IInt_nat _ -> + Interp_costs.int_nat + | IInt_bls12_381_fr _ -> + Interp_costs.int_bls12_381_fr + | IEdiv_tez _ -> + Interp_costs.ediv_tez + | IIf _ -> + Interp_costs.if_ + | ILoop _ -> + Interp_costs.loop + | ILoop_left _ -> + Interp_costs.loop_left + | IDip _ -> + Interp_costs.dip + | IExec _ -> + Interp_costs.exec + | IApply _ -> + Interp_costs.apply + | ILambda _ -> + Interp_costs.push + | IFailwith _ -> + Gas.free + | INop _ -> + Interp_costs.nop + | IEq _ -> + Interp_costs.eq + | INeq _ -> + Interp_costs.neq + | ILt _ -> + Interp_costs.neq + | ILe _ -> + Interp_costs.neq + | IGt _ -> + Interp_costs.neq + | IGe _ -> + Interp_costs.neq + | IPack _ -> + Gas.free + | IUnpack _ -> + Gas.free + | IAddress _ -> + Interp_costs.address + | IContract _ -> + Interp_costs.contract + | ITransfer_tokens _ -> + Interp_costs.transfer_tokens + | IImplicit_account _ -> + Interp_costs.implicit_account + | ISet_delegate _ -> + Interp_costs.set_delegate + | IBalance _ -> + Interp_costs.balance + | ILevel _ -> + Interp_costs.level + | INow _ -> + Interp_costs.now + | ISapling_empty_state _ -> + Interp_costs.sapling_empty_state + | ISource _ -> + Interp_costs.source + | ISender _ -> + Interp_costs.source + | ISelf _ -> + Interp_costs.self + | ISelf_address _ -> + Interp_costs.self + | IAmount _ -> + Interp_costs.amount + | IDig (_, n, _, _) -> + Interp_costs.dign n + | IDug (_, n, _, _) -> + Interp_costs.dugn n + | IDipn (_, n, _, _, _) -> + Interp_costs.dipn n + | IDropn (_, n, _, _) -> + Interp_costs.dropn n + | IChainId _ -> + Interp_costs.chain_id + | ICreate_contract _ -> + Interp_costs.create_contract + | INever _ -> ( + match accu with _ -> . ) + | IVoting_power _ -> + Interp_costs.voting_power + | ITotal_voting_power _ -> + Interp_costs.total_voting_power + | IAdd_bls12_381_g1 _ -> + Interp_costs.add_bls12_381_g1 + | IAdd_bls12_381_g2 _ -> + Interp_costs.add_bls12_381_g2 + | IAdd_bls12_381_fr _ -> + Interp_costs.add_bls12_381_fr + | IMul_bls12_381_g1 _ -> + Interp_costs.mul_bls12_381_g1 + | IMul_bls12_381_g2 _ -> + Interp_costs.mul_bls12_381_g2 + | IMul_bls12_381_fr _ -> + Interp_costs.mul_bls12_381_fr + | INeg_bls12_381_g1 _ -> + Interp_costs.neg_bls12_381_g1 + | INeg_bls12_381_g2 _ -> + Interp_costs.neg_bls12_381_g2 + | INeg_bls12_381_fr _ -> + Interp_costs.neg_bls12_381_fr + | IMul_bls12_381_fr_z _ -> + Interp_costs.mul_bls12_381_fr_z + | IMul_bls12_381_z_fr _ -> + Interp_costs.mul_bls12_381_fr_z + | IDup_n (_, n, _, _) -> + Interp_costs.dupn n + | IComb (_, n, _, _) -> + Interp_costs.comb n + | IUncomb (_, n, _, _) -> + Interp_costs.uncomb n + | IComb_get (_, n, _, _) -> + Interp_costs.comb_get n + | IComb_set (_, n, _, _) -> + Interp_costs.comb_set n + | ITicket _ -> + Interp_costs.ticket + | IRead_ticket _ -> + Interp_costs.read_ticket + | ILog _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + [@@ocaml.inline always] + +let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = + fun ks -> + match ks with + | KLog _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KNil -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KCons (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KReturn _ -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KUndip (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KLoop_in (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KLoop_in_left (_, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KIter (_, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KList_enter_body (_, _, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KList_exit_body (_, _, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KMap_enter_body (_, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + | KMap_exit_body (_, _, _, _, _) -> + (* FIXME: This will be fixed when the new cost model is defined. *) + Gas.free + +(* + + Gas update and check for gas exhaustion + ======================================= + + Each instruction has a cost. The runtime subtracts this cost + from an amount of gas made available for the script execution. + + Updating the gas counter is a critical aspect to Michelson + execution because it is done at each execution step. + + For this reason, the interpreter must read and update the + gas counter as quickly as possible. Hence, the gas counter + should be stored in a machine register. To motivate the + OCaml compiler to make that choice, we represent the gas + counter as a local parameter of the execution [step] + function. + +*) + +type local_gas_counter = int + +(* + + The gas counter stored in the context is desynchronized with the + [local_gas_counter] used in the interpretation loop. When we have + to call a gas-consuming function which lives outside the + interpreter, we must update the context so that it carries an + up-to-date gas counter. Similarly, when we return from such a + function, the [local_gas_counter] must be updated as well. + + To statically track these points where the context's gas counter + must be updated, we introduce a type for outdated contexts. The + [step] function carries an [outdated_context]. When an external + function needs a [context], the typechecker points out the need for + a conversion: this forces us to either call [update_context], or + better, when this is possible, the function + [use_gas_counter_in_ctxt]. + +*) +type outdated_context = OutDatedContext of context [@@unboxed] + +let update_context local_gas_counter = function + | OutDatedContext ctxt -> + Gas.update_gas_counter ctxt (Saturation_repr.safe_int local_gas_counter) + [@@ocaml.inline always] + +let update_local_gas_counter ctxt = + (Gas.gas_counter ctxt :> int) + [@@ocaml.inline always] + +let outdated ctxt = OutDatedContext ctxt [@@ocaml.inline always] + +let context_from_outdated_context (OutDatedContext ctxt) = + ctxt + [@@ocaml.inline always] + +let use_gas_counter_in_ctxt ctxt local_gas_counter f = + let ctxt = update_context local_gas_counter ctxt in + f ctxt + >>=? fun (y, ctxt) -> return (y, outdated ctxt, update_local_gas_counter ctxt) + [@@ocaml.inline always] + +(* + + [step] calls [consume] at the beginning of each execution step. + + [consume'] is used in the implementation of [IConcat_string] + and [IConcat_bytes] because in that special cases, the cost + is expressed with respect to a non-constant-time computation + on the inputs. + +*) + +let update_and_check gas_counter (cost : Gas.cost) = + let gas_counter = gas_counter - (cost :> int) in + if Compare.Int.(gas_counter < 0) then None else Some gas_counter + [@@ocaml.inline always] + +let consume local_gas_counter k accu stack = + let cost = cost_of_instr k accu stack in + update_and_check local_gas_counter cost + [@@ocaml.inline always] + +let consume' ctxt local_gas_counter cost = + match update_and_check local_gas_counter cost with + | None -> + Gas.gas_exhausted_error (update_context local_gas_counter ctxt) + | Some local_gas_counter -> + Ok local_gas_counter + [@@ocaml.inline always] + +let consume_control local_gas_counter ks = + let cost = cost_of_control ks in + update_and_check local_gas_counter cost + [@@ocaml.inline always] + +(* + + Auxiliary functions used by the instrumentation + =============================================== + +*) + +let log_entry (logger : logger) ctxt gas k 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) + +let log_exit (logger : logger) ctxt gas kinfo_prev k accu stack = + let ctxt = update_context gas ctxt in + let kinfo = kinfo_of_kinstr k in + logger.log_exit k ctxt kinfo_prev.iloc kinfo.kstack_ty (accu, stack) + +let log_control (logger : logger) ks = logger.log_control ks + +let get_log (logger : logger option) = + match logger with + | 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]. In some cases, it embeds [logger] + to [i] to let the instruction [i] asks [logger] for a backtrace + when the evaluation of [i] fails. *) +let log_kinstr logger i = + let set_logger_for_trace_dependent_kinstr : + type a s r f. (a, s, r, f) kinstr -> (a, s, r, f) kinstr = function + | IFailwith (kinfo, kloc, tv, _, k) -> + IFailwith (kinfo, kloc, tv, Some logger, k) + | IExec (kinfo, _, k) -> + IExec (kinfo, Some logger, k) + | IMul_teznat (kinfo, _, k) -> + IMul_teznat (kinfo, Some logger, k) + | IMul_nattez (kinfo, _, k) -> + IMul_nattez (kinfo, Some logger, k) + | ILsr_nat (kinfo, _, k) -> + ILsr_nat (kinfo, Some logger, k) + | ILsl_nat (kinfo, _, k) -> + ILsl_nat (kinfo, Some logger, k) + | i -> + i + in + ILog + ( kinfo_of_kinstr i, + LogEntry, + logger, + set_logger_for_trace_dependent_kinstr i ) + +(* [log_next_kinstr logger i] instruments the next instruction of [i] + with the [logger].*) +let log_next_kinstr logger i = + let apply k = + ILog + ( kinfo_of_kinstr k, + LogExit (kinfo_of_kinstr i), + logger, + log_kinstr logger k ) + in + kinstr_rewritek i {apply} + +(* We pass the identity function when no instrumentation is needed. *) +let id x = x [@@inline] + +(* + + Interpreter parameters + ====================== + +*) +type step_constants = { + source : Contract.t; + payer : Contract.t; + self : Contract.t; + amount : Tez.t; + chain_id : Chain_id.t; +} + +(* + + Auxiliary functions used by the interpretation loop + =================================================== + +*) + +(* The following function pops n elements from the stack + and push their reintroduction in the continuations stack. *) +let rec kundip : + type a s e z c u d w b t. + (a, s, e, z, c, u, d, w) stack_prefix_preservation_witness -> + c -> + u -> + (d, w, b, t) kinstr -> + 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 + let (accu, stack) = stack in + kundip w accu stack k + | KRest -> + (accu, stack, k) + +(* [apply ctxt gas ty v lam] specializes [lam] by fixing its first + formal argument to [v]. The type of [v] is represented by [ty]. *) +let apply ctxt gas capture_ty capture lam = + let (Lam (descr, expr)) = lam in + let (Item_t (full_arg_ty, _, _)) = descr.kbef in + let ctxt = update_context gas ctxt in + unparse_data ctxt Optimized capture_ty capture + >>=? fun (const_expr, ctxt) -> + unparse_ty ctxt capture_ty + >>?= fun (ty_expr, ctxt) -> + match full_arg_ty with + | Pair_t ((capture_ty, _, _), (arg_ty, _, _), _) -> + let arg_stack_ty = Item_t (arg_ty, Bot_t, None) in + let full_descr = + { + kloc = descr.kloc; + 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, None); + } + in + IConst + (kinfo_const, capture, ICons_pair (kinfo_pair, descr.kinstr))); + } + in + let full_expr = + Micheline.Seq + ( 0, + [ Prim (0, I_PUSH, [ty_expr; const_expr], []); + Prim (0, I_PAIR, [], []); + expr ] ) + in + let lam' = Lam (full_descr, full_expr) in + let gas = update_local_gas_counter ctxt in + return (lam', outdated ctxt, gas) + | _ -> + assert false + +(* [transfer (ctxt, sc) gas tez tp p destination entrypoint] + creates an operation that transfers an amount of [tez] to + a contract determined by [(destination, entrypoint)] + instantiated with argument [p] of type [tp]. *) +let transfer (ctxt, sc) gas amount tp p destination entrypoint = + let ctxt = update_context gas ctxt in + collect_lazy_storage ctxt tp p + >>?= fun (to_duplicate, ctxt) -> + let to_update = no_lazy_storage_id in + extract_lazy_storage_diff + ctxt + Optimized + tp + p + ~to_duplicate + ~to_update + ~temporary:true + >>=? fun (p, lazy_storage_diff, ctxt) -> + unparse_data ctxt Optimized tp p + >>=? fun (p, ctxt) -> + Gas.consume ctxt (Script.strip_locations_cost p) + >>?= fun ctxt -> + let operation = + Transaction + { + amount; + destination; + entrypoint; + parameters = Script.lazy_expr (Micheline.strip_locations p); + } + in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let iop = {source = sc.self; operation; nonce} in + let res = (Internal_operation iop, lazy_storage_diff) in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (res, ctxt, gas) + +(* [create_contract (ctxt, sc) gas storage_ty param_ty code root_name + delegate credit init] creates an origination operation for a + contract represented by [code], with some [root_name], some initial + [credit] (taken to contract being executed), and an initial storage + [init] of type [storage_ty]. The type of the new contract argument + is [param_ty]. *) +let create_contract (ctxt, sc) gas storage_type param_type code root_name + delegate credit init = + let ctxt = update_context gas ctxt in + unparse_ty ctxt param_type + >>?= fun (unparsed_param_type, ctxt) -> + let unparsed_param_type = + Script_ir_translator.add_field_annot root_name None unparsed_param_type + in + unparse_ty ctxt storage_type + >>?= fun (unparsed_storage_type, ctxt) -> + let code = + Micheline.strip_locations + (Seq + ( 0, + [ Prim (0, K_parameter, [unparsed_param_type], []); + Prim (0, K_storage, [unparsed_storage_type], []); + Prim (0, K_code, [code], []) ] )) + in + collect_lazy_storage ctxt storage_type init + >>?= fun (to_duplicate, ctxt) -> + let to_update = no_lazy_storage_id in + extract_lazy_storage_diff + ctxt + Optimized + storage_type + init + ~to_duplicate + ~to_update + ~temporary:true + >>=? fun (init, lazy_storage_diff, ctxt) -> + unparse_data ctxt Optimized storage_type init + >>=? fun (storage, ctxt) -> + Gas.consume ctxt (Script.strip_locations_cost storage) + >>?= fun ctxt -> + let storage = Micheline.strip_locations storage in + Contract.fresh_contract_from_current_nonce ctxt + >>?= fun (ctxt, contract) -> + let operation = + Origination + { + credit; + delegate; + preorigination = Some contract; + script = + {code = Script.lazy_expr code; storage = Script.lazy_expr storage}; + } + in + fresh_internal_nonce ctxt + >>?= fun (ctxt, nonce) -> + let res = + (Internal_operation {source = sc.self; operation; nonce}, lazy_storage_diff) + in + let gas = update_local_gas_counter ctxt in + let ctxt = outdated ctxt in + return (res, contract, ctxt, gas) + +(* [unpack ctxt ty bytes] deserialize [bytes] into a value of type [ty]. *) +let unpack ctxt ~ty ~bytes = + Gas.check_enough ctxt (Script.serialized_cost bytes) + >>?= fun () -> + if + Compare.Int.(Bytes.length bytes >= 1) + && Compare.Int.(TzEndian.get_uint8 bytes 0 = 0x05) + then + let bytes = Bytes.sub bytes 1 (Bytes.length bytes - 1) in + match Data_encoding.Binary.of_bytes Script.expr_encoding bytes with + | None -> + Lwt.return + ( Gas.consume ctxt (Interp_costs.unpack_failed bytes) + >|? fun ctxt -> (None, ctxt) ) + | Some expr -> ( + Gas.consume ctxt (Script.deserialized_cost expr) + >>?= fun ctxt -> + parse_data + ctxt + ~legacy:false + ~allow_forged:false + ty + (Micheline.root expr) + >|= function + | Ok (value, ctxt) -> + ok (Some value, ctxt) + | Error _ignored -> + Gas.consume ctxt (Interp_costs.unpack_failed bytes) + >|? fun ctxt -> (None, ctxt) ) + else return (None, ctxt) + +(* [interp_stack_prefix_preserving_operation f w accu stack] applies + a well-typed operation [f] under some prefix of the A-stack + exploiting [w] to justify that the shape of the stack is + preserved. *) +let rec interp_stack_prefix_preserving_operation : + type a s b t c u d w result. + (a -> s -> (b * t) * result) -> + (a, s, b, t, c, u, d, w) stack_prefix_preservation_witness -> + c -> + u -> + (d * w) * result = + fun f n accu stk -> + match (n, stk) with + | (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 + +(* + + Some auxiliary functions have complex types and must be annotated + because of GADTs and polymorphic recursion. + + To improve readibility, we introduce their types as abbreviations: + +*) + +type ('a, 's, 'b, 't, 'r, 'f) step_type = + outdated_context * step_constants -> + local_gas_counter -> + ('a, 's, 'b, 't) kinstr -> + ('b, 't, 'r, 'f) continuation -> + 'a -> + 's -> + ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t + +type ( 'a, + 'b, + 'c, + 'd, + 'e, + 'f, + 'g, + 'h, + 'i, + 'j, + 'k, + 'l, + 'm, + 'n, + 'o ) + kmap_exit_type = + (('c, 'd, 'e, 'f) continuation -> ('a, 'b, 'g, 'h) continuation) -> + outdated_context * step_constants -> + local_gas_counter -> + ('i, 'j, 'k, 'l) continuation -> + ('m * 'n, 'c * 'd, 'o, 'c * 'd) kinstr -> + ('m * 'n) list -> + ('m, 'o) map -> + 'm -> + (('m, 'o) map, 'c * 'd, 'e, 'f) continuation -> + 'o -> + 'a * 'b -> + ('g * 'h * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k) kmap_enter_type = + (('a, 'b * 'c, 'd, 'e) continuation -> ('a, 'b * 'c, 'd, 'e) continuation) -> + outdated_context * step_constants -> + local_gas_counter -> + ('f, 'g, 'h, 'i) continuation -> + ('j * 'k, 'b * 'c, 'a, 'b * 'c) kinstr -> + ('j * 'k) list -> + ('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, 'e, 'f, 'g, 'h, 'i, 'j) klist_exit_type = + (('a, 'b, 'c, 'd) continuation -> ('a, 'b, 'c, 'd) continuation) -> + outdated_context * step_constants -> + local_gas_counter -> + ('e, 'f, 'g, 'h) continuation -> + ('i, 'a * 'b, 'j, 'a * 'b) kinstr -> + 'i list -> + 'j list -> + local_gas_counter -> + ('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, 'f, 'g, 'h, 'i, 'j) klist_enter_type = + (('b, 'a * 'c, 'd, 'e) continuation -> ('b, 'a * 'c, 'd, 'e) continuation) -> + outdated_context * step_constants -> + local_gas_counter -> + ('f, 'g, 'h, 'i) continuation -> + ('j, 'a * 'c, 'b, 'a * 'c) kinstr -> + 'j list -> + 'b list -> + local_gas_counter -> + ('b boxed_list, 'a * 'c, 'd, 'e) continuation -> + 'a -> + 'c -> + ('d * 'e * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f, 'g) kloop_in_left_type = + outdated_context * step_constants -> + local_gas_counter -> + ('c, 'd, 'e, 'f) continuation -> + ('c, 'd, 'e, 'f) continuation -> + ('a, 'g, 'c, 'd) kinstr -> + ('b, 'g, 'e, 'f) continuation -> + ('a, 'b) union -> + 'g -> + ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'r, 'f, 'd, 'e, 'u, 'h, 's) kloop_in_type = + outdated_context * step_constants -> + local_gas_counter -> + ('b, 'c, 'r, 'f) continuation -> + ('d, 'e, 'u, 'h) continuation -> + ('a, 's, 'b, 'c) kinstr -> + ('a, 's, 'r, 'f) continuation -> + bool -> + 'a * 's -> + ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 's, 'r, 'f, 'c, 'd, 'e, 'g) kiter_type = + (('a, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation) -> + outdated_context * step_constants -> + local_gas_counter -> + ('c, 'd, 'e, 'g) continuation -> + ('b, 'a * 's, 'a, 's) kinstr -> + 'b list -> + ('a, 's, 'r, 'f) continuation -> + 'a -> + 's -> + ('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 -> + ('f boxed_list, 'a * 'b, 'g, 'h) kinstr -> + ('g, 'h, 'c, 'd) continuation -> + 'e boxed_list -> + 'a * 'b -> + ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f, 'g) 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 -> + ('a, 'b, 'f, 'g) kinstr -> + ('f, 'g, 'c, 'd) continuation -> + 'e boxed_list -> + 'a * 'b -> + ('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 -> + ('a, 'b, 'f, 'g) kinstr -> + ('f, 'g, 'c, 'd) continuation -> + 'e set -> + '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 = + (('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 -> + (('e, 'g) map, 'a * 'b, 'h, 'i) kinstr -> + ('h, 'i, 'c, 'd) continuation -> + ('e, 'f) map -> + 'a * 'b -> + ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) 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 -> + ('a, 'b, 'g, 'h) kinstr -> + ('g, 'h, 'c, 'd) continuation -> + ('e, 'f) map -> + 'a * 'b -> + ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t 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 1de250d14c26..51e31976e4bf 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" @@ -23,14 +23,14 @@ trace [ {} @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039967.618 units remaining) + - location: 19 (remaining gas: 1039967.698 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039967.573 units remaining) + - location: 23 (remaining gas: 1039967.653 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039967.528 units remaining) + - location: 24 (remaining gas: 1039967.608 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039967.483 units remaining) + - location: 26 (remaining gas: 1039967.563 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 3965d01d448e..7fd665e77823 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" @@ -23,26 +23,26 @@ trace [ { Elt "1" (Some "two") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.710 units remaining) + - location: 19 (remaining gas: 1039966.830 units remaining) [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.660 units remaining) + - location: 21 (remaining gas: 1039966.780 units remaining) [ "1" @key (Some "two") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.822 units remaining) + - location: 22 (remaining gas: 1039957.942 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.822 units remaining) + - location: 19 (remaining gas: 1039957.942 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039957.777 units remaining) + - location: 23 (remaining gas: 1039957.897 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.732 units remaining) + - location: 24 (remaining gas: 1039957.852 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.687 units remaining) + - location: 26 (remaining gas: 1039957.807 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 0209f0a89d17..db166279170e 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" @@ -23,26 +23,26 @@ trace [ { Elt "1" (Some "two") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.710 units remaining) + - location: 19 (remaining gas: 1039966.830 units remaining) [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.660 units remaining) + - location: 21 (remaining gas: 1039966.780 units remaining) [ "1" @key (Some "two") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.822 units remaining) + - location: 22 (remaining gas: 1039957.942 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.822 units remaining) + - location: 19 (remaining gas: 1039957.942 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039957.777 units remaining) + - location: 23 (remaining gas: 1039957.897 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.732 units remaining) + - location: 24 (remaining gas: 1039957.852 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.687 units remaining) + - location: 26 (remaining gas: 1039957.807 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 bb9c1c9ceffd..6093b830a7df 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" @@ -24,26 +24,26 @@ trace [ { Elt "3" (Some "three") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.690 units remaining) + - location: 19 (remaining gas: 1039966.810 units remaining) [ (Pair "3" (Some "three")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.640 units remaining) + - location: 21 (remaining gas: 1039966.760 units remaining) [ "3" @key (Some "three") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.802 units remaining) + - location: 22 (remaining gas: 1039957.922 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 19 (remaining gas: 1039957.802 units remaining) + - location: 19 (remaining gas: 1039957.922 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 23 (remaining gas: 1039957.757 units remaining) + - location: 23 (remaining gas: 1039957.877 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 24 (remaining gas: 1039957.712 units remaining) + - location: 24 (remaining gas: 1039957.832 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 26 (remaining gas: 1039957.667 units remaining) + - location: 26 (remaining gas: 1039957.787 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 e714d734eeb6..9852d9028a07 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" @@ -24,26 +24,26 @@ trace [ { Elt "3" None } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.994 units remaining) + - location: 19 (remaining gas: 1039967.114 units remaining) [ (Pair "3" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.944 units remaining) + - location: 21 (remaining gas: 1039967.064 units remaining) [ "3" @key None @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039958.106 units remaining) + - location: 22 (remaining gas: 1039958.226 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039958.106 units remaining) + - location: 19 (remaining gas: 1039958.226 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039958.061 units remaining) + - location: 23 (remaining gas: 1039958.181 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039958.016 units remaining) + - location: 24 (remaining gas: 1039958.136 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.971 units remaining) + - location: 26 (remaining gas: 1039958.091 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 df32b2be2cfe..2535d73aec08 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" @@ -23,26 +23,26 @@ trace [ { Elt "2" None } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.994 units remaining) + - location: 19 (remaining gas: 1039967.114 units remaining) [ (Pair "2" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.944 units remaining) + - location: 21 (remaining gas: 1039967.064 units remaining) [ "2" @key None @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039958.106 units remaining) + - location: 22 (remaining gas: 1039958.226 units remaining) [ { Elt "1" "one" } Unit ] - - location: 19 (remaining gas: 1039958.106 units remaining) + - location: 19 (remaining gas: 1039958.226 units remaining) [ { Elt "1" "one" } Unit ] - - location: 23 (remaining gas: 1039958.061 units remaining) + - location: 23 (remaining gas: 1039958.181 units remaining) [ (Pair { Elt "1" "one" } Unit) ] - - location: 24 (remaining gas: 1039958.016 units remaining) + - location: 24 (remaining gas: 1039958.136 units remaining) [ {} (Pair { Elt "1" "one" } Unit) ] - - location: 26 (remaining gas: 1039957.971 units remaining) + - location: 26 (remaining gas: 1039958.091 units remaining) [ (Pair {} { Elt "1" "one" } 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 (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 5d71b53d3793..837deeb09d64 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" @@ -40,41 +40,41 @@ trace [ { Pair "3" "three" } @parameter.right.right.right.add { Elt "1" "one" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039902.977 units remaining) + - location: 120 (remaining gas: 1039903.484 units remaining) [ (Pair "3" "three") @parameter.right.right.right.add.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 122 (remaining gas: 1039902.927 units remaining) + - location: 122 (remaining gas: 1039903.434 units remaining) [ "3" "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039902.882 units remaining) + - location: 123 (remaining gas: 1039903.389 units remaining) [ "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 125 (remaining gas: 1039902.837 units remaining) + - location: 125 (remaining gas: 1039903.344 units remaining) [ (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039902.837 units remaining) + - location: 123 (remaining gas: 1039903.344 units remaining) [ "3" (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 126 (remaining gas: 1039894.002 units remaining) + - location: 126 (remaining gas: 1039894.509 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039894.002 units remaining) + - location: 120 (remaining gas: 1039894.509 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 127 (remaining gas: 1039893.957 units remaining) + - location: 127 (remaining gas: 1039894.464 units remaining) [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] - - location: 128 (remaining gas: 1039893.912 units remaining) + - location: 128 (remaining gas: 1039894.419 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039893.867 units remaining) + - location: 151 (remaining gas: 1039894.374 units remaining) [ {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039893.822 units remaining) + - location: 153 (remaining gas: 1039894.329 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\" }))-(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 703d2b1900cc..a813e9bcbcce 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" @@ -39,35 +39,35 @@ trace [ { "1" } @parameter.right.right.right.rem { Elt "1" "one" } { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039903.521 units remaining) + - location: 141 (remaining gas: 1039904.028 units remaining) [ "1" @parameter.right.right.right.rem.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039903.476 units remaining) + - location: 143 (remaining gas: 1039903.983 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 145 (remaining gas: 1039903.431 units remaining) + - location: 145 (remaining gas: 1039903.938 units remaining) [ None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039903.431 units remaining) + - location: 143 (remaining gas: 1039903.938 units remaining) [ "1" @parameter.right.right.right.rem.elt None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 147 (remaining gas: 1039894.596 units remaining) + - location: 147 (remaining gas: 1039895.103 units remaining) [ {} { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039894.596 units remaining) + - location: 141 (remaining gas: 1039895.103 units remaining) [ {} { Elt "2" "two" } ] - - location: 148 (remaining gas: 1039894.551 units remaining) + - location: 148 (remaining gas: 1039895.058 units remaining) [ (Pair {} { Elt "2" "two" }) ] - - location: 149 (remaining gas: 1039894.506 units remaining) + - location: 149 (remaining gas: 1039895.013 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039894.461 units remaining) + - location: 151 (remaining gas: 1039894.968 units remaining) [ {} (Left (Pair {} { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039894.416 units remaining) + - location: 153 (remaining gas: 1039894.923 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 62480650f96c..5e5601136a61 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" @@ -44,84 +44,84 @@ trace [ { Pair "foo" "bar" } {} { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039921.657 units remaining) + - location: 83 (remaining gas: 1039922.164 units remaining) [ (Pair "foo" "bar") @elt {} { Pair "gaz" "baz" } ] - - location: 85 (remaining gas: 1039921.607 units remaining) + - location: 85 (remaining gas: 1039922.114 units remaining) [ "foo" "bar" {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039921.562 units remaining) + - location: 86 (remaining gas: 1039922.069 units remaining) [ "bar" {} { Pair "gaz" "baz" } ] - - location: 88 (remaining gas: 1039921.517 units remaining) + - location: 88 (remaining gas: 1039922.024 units remaining) [ (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039921.517 units remaining) + - location: 86 (remaining gas: 1039922.024 units remaining) [ "foo" (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 89 (remaining gas: 1039910.683 units remaining) + - location: 89 (remaining gas: 1039911.190 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039910.683 units remaining) + - location: 83 (remaining gas: 1039911.190 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 90 (remaining gas: 1039910.643 units remaining) + - location: 90 (remaining gas: 1039911.150 units remaining) [ { Pair "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039910.598 units remaining) + - location: 91 (remaining gas: 1039911.105 units remaining) [ { Elt "foo" "bar" } ] - - location: 93 (remaining gas: 1039910.398 units remaining) + - location: 93 (remaining gas: 1039910.905 units remaining) [ {} { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039910.398 units remaining) + - location: 91 (remaining gas: 1039910.905 units remaining) [ { Pair "gaz" "baz" } {} { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039909.891 units remaining) + - location: 96 (remaining gas: 1039910.905 units remaining) [ (Pair "gaz" "baz") @elt {} { Elt "foo" "bar" } ] - - location: 98 (remaining gas: 1039909.841 units remaining) + - location: 98 (remaining gas: 1039910.855 units remaining) [ "gaz" "baz" {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039909.796 units remaining) + - location: 99 (remaining gas: 1039910.810 units remaining) [ "baz" {} { Elt "foo" "bar" } ] - - location: 101 (remaining gas: 1039909.751 units remaining) + - location: 101 (remaining gas: 1039910.765 units remaining) [ (Some "baz") {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039909.751 units remaining) + - location: 99 (remaining gas: 1039910.765 units remaining) [ "gaz" (Some "baz") {} { Elt "foo" "bar" } ] - - location: 102 (remaining gas: 1039898.917 units remaining) + - location: 102 (remaining gas: 1039899.931 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039898.917 units remaining) + - location: 96 (remaining gas: 1039899.931 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 103 (remaining gas: 1039898.877 units remaining) + - location: 103 (remaining gas: 1039899.891 units remaining) [ { Elt "foo" "bar" } { Elt "gaz" "baz" } ] - - location: 104 (remaining gas: 1039898.832 units remaining) + - location: 104 (remaining gas: 1039899.846 units remaining) [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] - - location: 105 (remaining gas: 1039898.787 units remaining) + - location: 105 (remaining gas: 1039899.801 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 151 (remaining gas: 1039898.742 units remaining) + - location: 151 (remaining gas: 1039899.756 units remaining) [ {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 153 (remaining gas: 1039898.697 units remaining) + - location: 153 (remaining gas: 1039899.711 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_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 45cdc4d2ccbc..1397abd24133 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 @@ -24,314 +24,314 @@ trace - location: 16 (remaining gas: 1039960.730 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.170 units remaining) + - location: 17 (remaining gas: 1039960.730 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.120 units remaining) + - location: 19 (remaining gas: 1039960.680 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.120 units remaining) + - location: 17 (remaining gas: 1039960.680 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.070 units remaining) + - location: 19 (remaining gas: 1039960.630 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.070 units remaining) + - location: 17 (remaining gas: 1039960.630 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.020 units remaining) + - location: 19 (remaining gas: 1039960.580 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.020 units remaining) + - location: 17 (remaining gas: 1039960.580 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.970 units remaining) + - location: 19 (remaining gas: 1039960.530 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039959.970 units remaining) + - location: 17 (remaining gas: 1039960.530 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.920 units remaining) + - location: 19 (remaining gas: 1039960.480 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039959.920 units remaining) + - location: 17 (remaining gas: 1039960.480 units remaining) [ { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 14 (remaining gas: 1039959.920 units remaining) + - location: 14 (remaining gas: 1039960.480 units remaining) [ {} { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 20 (remaining gas: 1039959.880 units remaining) + - location: 20 (remaining gas: 1039960.440 units remaining) [ { False ; False ; True ; False ; False } {} { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 21 (remaining gas: 1039959.830 units remaining) + - location: 21 (remaining gas: 1039960.390 units remaining) [ { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 22 (remaining gas: 1039959.785 units remaining) + - location: 22 (remaining gas: 1039960.345 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 24 (remaining gas: 1039959.735 units remaining) + - location: 24 (remaining gas: 1039960.295 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039959.175 units remaining) + - location: 25 (remaining gas: 1039960.295 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039959.130 units remaining) + - location: 27 (remaining gas: 1039960.250 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039959.130 units remaining) + - location: 25 (remaining gas: 1039960.250 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039959.085 units remaining) + - location: 27 (remaining gas: 1039960.205 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039959.085 units remaining) + - location: 25 (remaining gas: 1039960.205 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039959.040 units remaining) + - location: 27 (remaining gas: 1039960.160 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039959.040 units remaining) + - location: 25 (remaining gas: 1039960.160 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039958.995 units remaining) + - location: 27 (remaining gas: 1039960.115 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039958.995 units remaining) + - location: 25 (remaining gas: 1039960.115 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039958.950 units remaining) + - location: 27 (remaining gas: 1039960.070 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039958.950 units remaining) + - location: 25 (remaining gas: 1039960.070 units remaining) [ { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 22 (remaining gas: 1039958.950 units remaining) + - location: 22 (remaining gas: 1039960.070 units remaining) [ { { False ; False ; True ; False ; False } } { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 28 (remaining gas: 1039958.910 units remaining) + - location: 28 (remaining gas: 1039960.030 units remaining) [ { True ; True ; False ; True ; True } { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 29 (remaining gas: 1039958.860 units remaining) + - location: 29 (remaining gas: 1039959.980 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 30 (remaining gas: 1039958.815 units remaining) + - location: 30 (remaining gas: 1039959.935 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 32 (remaining gas: 1039958.765 units remaining) + - location: 32 (remaining gas: 1039959.885 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039958.205 units remaining) + - location: 33 (remaining gas: 1039959.885 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039958.160 units remaining) + - location: 35 (remaining gas: 1039959.840 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039958.160 units remaining) + - location: 33 (remaining gas: 1039959.840 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039958.115 units remaining) + - location: 35 (remaining gas: 1039959.795 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039958.115 units remaining) + - location: 33 (remaining gas: 1039959.795 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039958.070 units remaining) + - location: 35 (remaining gas: 1039959.750 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039958.070 units remaining) + - location: 33 (remaining gas: 1039959.750 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039958.025 units remaining) + - location: 35 (remaining gas: 1039959.705 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039958.025 units remaining) + - location: 33 (remaining gas: 1039959.705 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039957.980 units remaining) + - location: 35 (remaining gas: 1039959.660 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039957.980 units remaining) + - location: 33 (remaining gas: 1039959.660 units remaining) [ { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 30 (remaining gas: 1039957.980 units remaining) + - location: 30 (remaining gas: 1039959.660 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 36 (remaining gas: 1039957.940 units remaining) + - location: 36 (remaining gas: 1039959.620 units remaining) [ { True ; True ; True ; False ; False } { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 37 (remaining gas: 1039957.890 units remaining) + - location: 37 (remaining gas: 1039959.570 units remaining) [ { { True ; True ; True ; False ; False } ; { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 38 (remaining gas: 1039957.845 units remaining) + - location: 38 (remaining gas: 1039959.525 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 40 (remaining gas: 1039957.795 units remaining) + - location: 40 (remaining gas: 1039959.475 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039957.235 units remaining) + - location: 41 (remaining gas: 1039959.475 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039957.190 units remaining) + - location: 43 (remaining gas: 1039959.430 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039957.190 units remaining) + - location: 41 (remaining gas: 1039959.430 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039957.145 units remaining) + - location: 43 (remaining gas: 1039959.385 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039957.145 units remaining) + - location: 41 (remaining gas: 1039959.385 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039957.100 units remaining) + - location: 43 (remaining gas: 1039959.340 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039957.100 units remaining) + - location: 41 (remaining gas: 1039959.340 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039957.055 units remaining) + - location: 43 (remaining gas: 1039959.295 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039957.055 units remaining) + - location: 41 (remaining gas: 1039959.295 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039957.010 units remaining) + - location: 43 (remaining gas: 1039959.250 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039957.010 units remaining) + - location: 41 (remaining gas: 1039959.250 units remaining) [ { True ; True ; False ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 38 (remaining gas: 1039957.010 units remaining) + - location: 38 (remaining gas: 1039959.250 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 } @parameter ] - - location: 44 (remaining gas: 1039956.970 units remaining) + - location: 44 (remaining gas: 1039959.210 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 } @parameter ] - - location: 45 (remaining gas: 1039956.920 units remaining) + - location: 45 (remaining gas: 1039959.160 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 } @parameter ] - - location: 46 (remaining gas: 1039956.875 units remaining) + - location: 46 (remaining gas: 1039959.115 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 48 (remaining gas: 1039956.825 units remaining) + - location: 48 (remaining gas: 1039959.065 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039956.265 units remaining) + - location: 49 (remaining gas: 1039959.065 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039956.220 units remaining) + - location: 51 (remaining gas: 1039959.020 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039956.220 units remaining) + - location: 49 (remaining gas: 1039959.020 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039956.175 units remaining) + - location: 51 (remaining gas: 1039958.975 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039956.175 units remaining) + - location: 49 (remaining gas: 1039958.975 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039956.130 units remaining) + - location: 51 (remaining gas: 1039958.930 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039956.130 units remaining) + - location: 49 (remaining gas: 1039958.930 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039956.085 units remaining) + - location: 51 (remaining gas: 1039958.885 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039956.085 units remaining) + - location: 49 (remaining gas: 1039958.885 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039956.040 units remaining) + - location: 51 (remaining gas: 1039958.840 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039956.040 units remaining) + - location: 49 (remaining gas: 1039958.840 units remaining) [ { False ; False ; True ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 46 (remaining gas: 1039956.040 units remaining) + - location: 46 (remaining gas: 1039958.840 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 } @parameter ] - - location: 52 (remaining gas: 1039956 units remaining) + - location: 52 (remaining gas: 1039958.800 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 } @parameter ] - - location: 53 (remaining gas: 1039955.950 units remaining) + - location: 53 (remaining gas: 1039958.750 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 } @parameter ] - - location: 54 (remaining gas: 1039955.905 units remaining) + - location: 54 (remaining gas: 1039958.705 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 56 (remaining gas: 1039955.345 units remaining) + - location: 56 (remaining gas: 1039958.705 units remaining) [ -9999999 @parameter.elt ] - - location: 58 (remaining gas: 1039955.300 units remaining) + - location: 58 (remaining gas: 1039958.660 units remaining) [ False ] - - location: 56 (remaining gas: 1039955.300 units remaining) + - location: 56 (remaining gas: 1039958.660 units remaining) [ -1 @parameter.elt ] - - location: 58 (remaining gas: 1039955.255 units remaining) + - location: 58 (remaining gas: 1039958.615 units remaining) [ False ] - - location: 56 (remaining gas: 1039955.255 units remaining) + - location: 56 (remaining gas: 1039958.615 units remaining) [ 0 @parameter.elt ] - - location: 58 (remaining gas: 1039955.210 units remaining) + - location: 58 (remaining gas: 1039958.570 units remaining) [ False ] - - location: 56 (remaining gas: 1039955.210 units remaining) + - location: 56 (remaining gas: 1039958.570 units remaining) [ 1 @parameter.elt ] - - location: 58 (remaining gas: 1039955.165 units remaining) + - location: 58 (remaining gas: 1039958.525 units remaining) [ True ] - - location: 56 (remaining gas: 1039955.165 units remaining) + - location: 56 (remaining gas: 1039958.525 units remaining) [ 9999999 @parameter.elt ] - - location: 58 (remaining gas: 1039955.120 units remaining) + - location: 58 (remaining gas: 1039958.480 units remaining) [ True ] - - location: 56 (remaining gas: 1039955.120 units remaining) + - location: 56 (remaining gas: 1039958.480 units remaining) [ { False ; False ; False ; True ; True } ] - - location: 54 (remaining gas: 1039955.120 units remaining) + - location: 54 (remaining gas: 1039958.480 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: 1039955.080 units remaining) + - location: 59 (remaining gas: 1039958.440 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: 1039955.030 units remaining) + - location: 60 (remaining gas: 1039958.390 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: 1039954.985 units remaining) + - location: 61 (remaining gas: 1039958.345 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: 1039954.940 units remaining) + - location: 63 (remaining gas: 1039958.300 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 f97486e2f4b5..57a1168420c0 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" @@ -11,18 +11,18 @@ trace [ (Pair { "World!" } {}) ] - location: 9 (remaining gas: 1039991.922 units remaining) [ { "World!" } @parameter ] - - location: 10 (remaining gas: 1039991.410 units remaining) + - location: 10 (remaining gas: 1039991.922 units remaining) [ "World!" @parameter.elt ] - - location: 12 (remaining gas: 1039991.365 units remaining) + - location: 12 (remaining gas: 1039991.877 units remaining) [ "Hello " @hello "World!" @parameter.elt ] - - location: 15 (remaining gas: 1039991.285 units remaining) + - location: 15 (remaining gas: 1039991.797 units remaining) [ "Hello World!" ] - - location: 10 (remaining gas: 1039991.285 units remaining) + - location: 10 (remaining gas: 1039991.797 units remaining) [ { "Hello World!" } ] - - location: 16 (remaining gas: 1039991.240 units remaining) + - location: 16 (remaining gas: 1039991.752 units remaining) [ {} { "Hello World!" } ] - - location: 18 (remaining gas: 1039991.195 units remaining) + - location: 18 (remaining gas: 1039991.707 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 60dd0da91e6e..64fa17b4badc 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" @@ -11,25 +11,25 @@ trace [ (Pair { "test1" ; "test2" } {}) ] - location: 9 (remaining gas: 1039991.628 units remaining) [ { "test1" ; "test2" } @parameter ] - - location: 10 (remaining gas: 1039991.104 units remaining) + - location: 10 (remaining gas: 1039991.628 units remaining) [ "test1" @parameter.elt ] - - location: 12 (remaining gas: 1039991.059 units remaining) + - location: 12 (remaining gas: 1039991.583 units remaining) [ "Hello " @hello "test1" @parameter.elt ] - - location: 15 (remaining gas: 1039990.979 units remaining) + - location: 15 (remaining gas: 1039991.503 units remaining) [ "Hello test1" ] - - location: 10 (remaining gas: 1039990.979 units remaining) + - location: 10 (remaining gas: 1039991.503 units remaining) [ "test2" @parameter.elt ] - - location: 12 (remaining gas: 1039990.934 units remaining) + - location: 12 (remaining gas: 1039991.458 units remaining) [ "Hello " @hello "test2" @parameter.elt ] - - location: 15 (remaining gas: 1039990.854 units remaining) + - location: 15 (remaining gas: 1039991.378 units remaining) [ "Hello test2" ] - - location: 10 (remaining gas: 1039990.854 units remaining) + - location: 10 (remaining gas: 1039991.378 units remaining) [ { "Hello test1" ; "Hello test2" } ] - - location: 16 (remaining gas: 1039990.809 units remaining) + - location: 16 (remaining gas: 1039991.333 units remaining) [ {} { "Hello test1" ; "Hello test2" } ] - - location: 18 (remaining gas: 1039990.764 units remaining) + - location: 18 (remaining gas: 1039991.288 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 348bbd48d1a6..e38dd56c9c4e 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 @@ -11,11 +11,11 @@ trace [ (Pair {} {}) ] - location: 9 (remaining gas: 1039992.236 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039991.736 units remaining) + - location: 10 (remaining gas: 1039992.236 units remaining) [ {} ] - - location: 16 (remaining gas: 1039991.691 units remaining) + - location: 16 (remaining gas: 1039992.191 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039991.646 units remaining) + - location: 18 (remaining gas: 1039992.146 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 91dabc1cd9c4..e2f28122084e 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 @@ -11,25 +11,25 @@ trace [ (Pair { 0xab ; 0xcd } {}) ] - location: 9 (remaining gas: 1039991.830 units remaining) [ { 0xab ; 0xcd } @parameter ] - - location: 10 (remaining gas: 1039991.306 units remaining) + - location: 10 (remaining gas: 1039991.830 units remaining) [ 0xab @parameter.elt ] - - location: 12 (remaining gas: 1039991.261 units remaining) + - location: 12 (remaining gas: 1039991.785 units remaining) [ 0xff 0xab @parameter.elt ] - - location: 15 (remaining gas: 1039991.181 units remaining) + - location: 15 (remaining gas: 1039991.705 units remaining) [ 0xffab ] - - location: 10 (remaining gas: 1039991.181 units remaining) + - location: 10 (remaining gas: 1039991.705 units remaining) [ 0xcd @parameter.elt ] - - location: 12 (remaining gas: 1039991.136 units remaining) + - location: 12 (remaining gas: 1039991.660 units remaining) [ 0xff 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039991.056 units remaining) + - location: 15 (remaining gas: 1039991.580 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039991.056 units remaining) + - location: 10 (remaining gas: 1039991.580 units remaining) [ { 0xffab ; 0xffcd } ] - - location: 16 (remaining gas: 1039991.011 units remaining) + - location: 16 (remaining gas: 1039991.535 units remaining) [ {} { 0xffab ; 0xffcd } ] - - location: 18 (remaining gas: 1039990.966 units remaining) + - location: 18 (remaining gas: 1039991.490 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 d244222efe02..6452684e1ed7 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 @@ -11,18 +11,18 @@ trace [ (Pair { 0xcd } {}) ] - location: 9 (remaining gas: 1039992.070 units remaining) [ { 0xcd } @parameter ] - - location: 10 (remaining gas: 1039991.558 units remaining) + - location: 10 (remaining gas: 1039992.070 units remaining) [ 0xcd @parameter.elt ] - - location: 12 (remaining gas: 1039991.513 units remaining) + - location: 12 (remaining gas: 1039992.025 units remaining) [ 0xff 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039991.433 units remaining) + - location: 15 (remaining gas: 1039991.945 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039991.433 units remaining) + - location: 10 (remaining gas: 1039991.945 units remaining) [ { 0xffcd } ] - - location: 16 (remaining gas: 1039991.388 units remaining) + - location: 16 (remaining gas: 1039991.900 units remaining) [ {} { 0xffcd } ] - - location: 18 (remaining gas: 1039991.343 units remaining) + - location: 18 (remaining gas: 1039991.855 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 370f62d23f0b..e4de19efedd0 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 @@ -11,11 +11,11 @@ trace [ (Pair {} {}) ] - location: 9 (remaining gas: 1039992.310 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039991.810 units remaining) + - location: 10 (remaining gas: 1039992.310 units remaining) [ {} ] - - location: 16 (remaining gas: 1039991.765 units remaining) + - location: 16 (remaining gas: 1039992.265 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039991.720 units remaining) + - location: 18 (remaining gas: 1039992.220 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 b52ed085a8cc..18339db7f205 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" @@ -17,103 +17,103 @@ trace - location: 12 (remaining gas: 1039985.551 units remaining) [ { "Hello" ; " " ; "World" ; "!" } @parameter "" ] - - location: 13 (remaining gas: 1039985.023 units remaining) + - location: 13 (remaining gas: 1039985.551 units remaining) [ "Hello" @parameter.elt "" ] - - location: 15 (remaining gas: 1039984.983 units remaining) + - location: 15 (remaining gas: 1039985.511 units remaining) [ "" "Hello" @parameter.elt ] - - location: 16 (remaining gas: 1039984.938 units remaining) + - location: 16 (remaining gas: 1039985.466 units remaining) [ "Hello" @parameter.elt ] - - location: 18 (remaining gas: 1039984.893 units remaining) + - location: 18 (remaining gas: 1039985.421 units remaining) [ {} "Hello" @parameter.elt ] - - location: 20 (remaining gas: 1039984.853 units remaining) + - location: 20 (remaining gas: 1039985.381 units remaining) [ "Hello" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.803 units remaining) + - location: 21 (remaining gas: 1039985.331 units remaining) [ { "Hello" } ] - - location: 16 (remaining gas: 1039984.803 units remaining) + - location: 16 (remaining gas: 1039985.331 units remaining) [ "" { "Hello" } ] - - location: 22 (remaining gas: 1039984.753 units remaining) + - location: 22 (remaining gas: 1039985.281 units remaining) [ { "" ; "Hello" } ] - - location: 23 (remaining gas: 1039984.633 units remaining) + - location: 23 (remaining gas: 1039985.161 units remaining) [ "Hello" ] - - location: 13 (remaining gas: 1039984.633 units remaining) + - location: 13 (remaining gas: 1039985.161 units remaining) [ " " @parameter.elt "Hello" ] - - location: 15 (remaining gas: 1039984.593 units remaining) + - location: 15 (remaining gas: 1039985.121 units remaining) [ "Hello" " " @parameter.elt ] - - location: 16 (remaining gas: 1039984.548 units remaining) + - location: 16 (remaining gas: 1039985.076 units remaining) [ " " @parameter.elt ] - - location: 18 (remaining gas: 1039984.503 units remaining) + - location: 18 (remaining gas: 1039985.031 units remaining) [ {} " " @parameter.elt ] - - location: 20 (remaining gas: 1039984.463 units remaining) + - location: 20 (remaining gas: 1039984.991 units remaining) [ " " @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.413 units remaining) + - location: 21 (remaining gas: 1039984.941 units remaining) [ { " " } ] - - location: 16 (remaining gas: 1039984.413 units remaining) + - location: 16 (remaining gas: 1039984.941 units remaining) [ "Hello" { " " } ] - - location: 22 (remaining gas: 1039984.363 units remaining) + - location: 22 (remaining gas: 1039984.891 units remaining) [ { "Hello" ; " " } ] - - location: 23 (remaining gas: 1039984.243 units remaining) + - location: 23 (remaining gas: 1039984.771 units remaining) [ "Hello " ] - - location: 13 (remaining gas: 1039984.243 units remaining) + - location: 13 (remaining gas: 1039984.771 units remaining) [ "World" @parameter.elt "Hello " ] - - location: 15 (remaining gas: 1039984.203 units remaining) + - location: 15 (remaining gas: 1039984.731 units remaining) [ "Hello " "World" @parameter.elt ] - - location: 16 (remaining gas: 1039984.158 units remaining) + - location: 16 (remaining gas: 1039984.686 units remaining) [ "World" @parameter.elt ] - - location: 18 (remaining gas: 1039984.113 units remaining) + - location: 18 (remaining gas: 1039984.641 units remaining) [ {} "World" @parameter.elt ] - - location: 20 (remaining gas: 1039984.073 units remaining) + - location: 20 (remaining gas: 1039984.601 units remaining) [ "World" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.023 units remaining) + - location: 21 (remaining gas: 1039984.551 units remaining) [ { "World" } ] - - location: 16 (remaining gas: 1039984.023 units remaining) + - location: 16 (remaining gas: 1039984.551 units remaining) [ "Hello " { "World" } ] - - location: 22 (remaining gas: 1039983.973 units remaining) + - location: 22 (remaining gas: 1039984.501 units remaining) [ { "Hello " ; "World" } ] - - location: 23 (remaining gas: 1039983.852 units remaining) + - location: 23 (remaining gas: 1039984.380 units remaining) [ "Hello World" ] - - location: 13 (remaining gas: 1039983.852 units remaining) + - location: 13 (remaining gas: 1039984.380 units remaining) [ "!" @parameter.elt "Hello World" ] - - location: 15 (remaining gas: 1039983.812 units remaining) + - location: 15 (remaining gas: 1039984.340 units remaining) [ "Hello World" "!" @parameter.elt ] - - location: 16 (remaining gas: 1039983.767 units remaining) + - location: 16 (remaining gas: 1039984.295 units remaining) [ "!" @parameter.elt ] - - location: 18 (remaining gas: 1039983.722 units remaining) + - location: 18 (remaining gas: 1039984.250 units remaining) [ {} "!" @parameter.elt ] - - location: 20 (remaining gas: 1039983.682 units remaining) + - location: 20 (remaining gas: 1039984.210 units remaining) [ "!" @parameter.elt {} ] - - location: 21 (remaining gas: 1039983.632 units remaining) + - location: 21 (remaining gas: 1039984.160 units remaining) [ { "!" } ] - - location: 16 (remaining gas: 1039983.632 units remaining) + - location: 16 (remaining gas: 1039984.160 units remaining) [ "Hello World" { "!" } ] - - location: 22 (remaining gas: 1039983.582 units remaining) + - location: 22 (remaining gas: 1039984.110 units remaining) [ { "Hello World" ; "!" } ] - - location: 23 (remaining gas: 1039983.461 units remaining) + - location: 23 (remaining gas: 1039983.989 units remaining) [ "Hello World!" ] - - location: 13 (remaining gas: 1039983.461 units remaining) + - location: 13 (remaining gas: 1039983.989 units remaining) [ "Hello World!" ] - - location: 24 (remaining gas: 1039983.416 units remaining) + - location: 24 (remaining gas: 1039983.944 units remaining) [ {} "Hello World!" ] - - location: 26 (remaining gas: 1039983.371 units remaining) + - location: 26 (remaining gas: 1039983.899 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 8ea69788adc8..0b74792b3e0f 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" @@ -17,80 +17,80 @@ trace - location: 12 (remaining gas: 1039985.895 units remaining) [ { "a" ; "b" ; "c" } @parameter "" ] - - location: 13 (remaining gas: 1039985.374 units remaining) + - location: 13 (remaining gas: 1039985.895 units remaining) [ "a" @parameter.elt "" ] - - location: 15 (remaining gas: 1039985.334 units remaining) + - location: 15 (remaining gas: 1039985.855 units remaining) [ "" "a" @parameter.elt ] - - location: 16 (remaining gas: 1039985.289 units remaining) + - location: 16 (remaining gas: 1039985.810 units remaining) [ "a" @parameter.elt ] - - location: 18 (remaining gas: 1039985.244 units remaining) + - location: 18 (remaining gas: 1039985.765 units remaining) [ {} "a" @parameter.elt ] - - location: 20 (remaining gas: 1039985.204 units remaining) + - location: 20 (remaining gas: 1039985.725 units remaining) [ "a" @parameter.elt {} ] - - location: 21 (remaining gas: 1039985.154 units remaining) + - location: 21 (remaining gas: 1039985.675 units remaining) [ { "a" } ] - - location: 16 (remaining gas: 1039985.154 units remaining) + - location: 16 (remaining gas: 1039985.675 units remaining) [ "" { "a" } ] - - location: 22 (remaining gas: 1039985.104 units remaining) + - location: 22 (remaining gas: 1039985.625 units remaining) [ { "" ; "a" } ] - - location: 23 (remaining gas: 1039984.984 units remaining) + - location: 23 (remaining gas: 1039985.505 units remaining) [ "a" ] - - location: 13 (remaining gas: 1039984.984 units remaining) + - location: 13 (remaining gas: 1039985.505 units remaining) [ "b" @parameter.elt "a" ] - - location: 15 (remaining gas: 1039984.944 units remaining) + - location: 15 (remaining gas: 1039985.465 units remaining) [ "a" "b" @parameter.elt ] - - location: 16 (remaining gas: 1039984.899 units remaining) + - location: 16 (remaining gas: 1039985.420 units remaining) [ "b" @parameter.elt ] - - location: 18 (remaining gas: 1039984.854 units remaining) + - location: 18 (remaining gas: 1039985.375 units remaining) [ {} "b" @parameter.elt ] - - location: 20 (remaining gas: 1039984.814 units remaining) + - location: 20 (remaining gas: 1039985.335 units remaining) [ "b" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.764 units remaining) + - location: 21 (remaining gas: 1039985.285 units remaining) [ { "b" } ] - - location: 16 (remaining gas: 1039984.764 units remaining) + - location: 16 (remaining gas: 1039985.285 units remaining) [ "a" { "b" } ] - - location: 22 (remaining gas: 1039984.714 units remaining) + - location: 22 (remaining gas: 1039985.235 units remaining) [ { "a" ; "b" } ] - - location: 23 (remaining gas: 1039984.594 units remaining) + - location: 23 (remaining gas: 1039985.115 units remaining) [ "ab" ] - - location: 13 (remaining gas: 1039984.594 units remaining) + - location: 13 (remaining gas: 1039985.115 units remaining) [ "c" @parameter.elt "ab" ] - - location: 15 (remaining gas: 1039984.554 units remaining) + - location: 15 (remaining gas: 1039985.075 units remaining) [ "ab" "c" @parameter.elt ] - - location: 16 (remaining gas: 1039984.509 units remaining) + - location: 16 (remaining gas: 1039985.030 units remaining) [ "c" @parameter.elt ] - - location: 18 (remaining gas: 1039984.464 units remaining) + - location: 18 (remaining gas: 1039984.985 units remaining) [ {} "c" @parameter.elt ] - - location: 20 (remaining gas: 1039984.424 units remaining) + - location: 20 (remaining gas: 1039984.945 units remaining) [ "c" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.374 units remaining) + - location: 21 (remaining gas: 1039984.895 units remaining) [ { "c" } ] - - location: 16 (remaining gas: 1039984.374 units remaining) + - location: 16 (remaining gas: 1039984.895 units remaining) [ "ab" { "c" } ] - - location: 22 (remaining gas: 1039984.324 units remaining) + - location: 22 (remaining gas: 1039984.845 units remaining) [ { "ab" ; "c" } ] - - location: 23 (remaining gas: 1039984.204 units remaining) + - location: 23 (remaining gas: 1039984.725 units remaining) [ "abc" ] - - location: 13 (remaining gas: 1039984.204 units remaining) + - location: 13 (remaining gas: 1039984.725 units remaining) [ "abc" ] - - location: 24 (remaining gas: 1039984.159 units remaining) + - location: 24 (remaining gas: 1039984.680 units remaining) [ {} "abc" ] - - location: 26 (remaining gas: 1039984.114 units remaining) + - location: 26 (remaining gas: 1039984.635 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 82068e5441dc..9c4abc919576 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" @@ -17,11 +17,11 @@ trace - location: 12 (remaining gas: 1039986.687 units remaining) [ {} @parameter "" ] - - location: 13 (remaining gas: 1039986.187 units remaining) + - location: 13 (remaining gas: 1039986.687 units remaining) [ "" ] - - location: 24 (remaining gas: 1039986.142 units remaining) + - location: 24 (remaining gas: 1039986.642 units remaining) [ {} "" ] - - location: 26 (remaining gas: 1039986.097 units remaining) + - location: 26 (remaining gas: 1039986.597 units remaining) [ (Pair {} "") ] 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 2cf9d2979ef4..b6ca0f745151 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" @@ -32,135 +32,135 @@ trace [ { "A" } {} { "B" } ] - - location: 21 (remaining gas: 1039955.660 units remaining) + - location: 21 (remaining gas: 1039956.167 units remaining) [ "A" @elt {} { "B" } ] - - location: 23 (remaining gas: 1039955.615 units remaining) + - location: 23 (remaining gas: 1039956.122 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 24 (remaining gas: 1039955.565 units remaining) + - location: 24 (remaining gas: 1039956.072 units remaining) [ (Pair "A" {}) (Pair "A" {}) { "B" } ] - - location: 25 (remaining gas: 1039955.515 units remaining) + - location: 25 (remaining gas: 1039956.022 units remaining) [ "A" @elt (Pair "A" {}) { "B" } ] - - location: 26 (remaining gas: 1039955.470 units remaining) + - location: 26 (remaining gas: 1039955.977 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 28 (remaining gas: 1039955.420 units remaining) + - location: 28 (remaining gas: 1039955.927 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039955.420 units remaining) + - location: 26 (remaining gas: 1039955.927 units remaining) [ "A" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039955.375 units remaining) + - location: 29 (remaining gas: 1039955.882 units remaining) [ True "A" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039955.335 units remaining) + - location: 32 (remaining gas: 1039955.842 units remaining) [ "A" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039955.255 units remaining) + - location: 33 (remaining gas: 1039955.762 units remaining) [ { "A" } { "B" } ] - - location: 21 (remaining gas: 1039955.255 units remaining) + - location: 21 (remaining gas: 1039955.762 units remaining) [ { "A" } { "B" } ] - - location: 34 (remaining gas: 1039955.210 units remaining) + - location: 34 (remaining gas: 1039955.717 units remaining) [ True { "A" } { "B" } ] - - location: 37 (remaining gas: 1039955.170 units remaining) + - location: 37 (remaining gas: 1039955.677 units remaining) [ { "A" } True { "B" } ] - - location: 38 (remaining gas: 1039955.125 units remaining) + - location: 38 (remaining gas: 1039955.632 units remaining) [ (Pair { "A" } True) { "B" } ] - - location: 39 (remaining gas: 1039955.085 units remaining) + - location: 39 (remaining gas: 1039955.592 units remaining) [ { "B" } (Pair { "A" } True) ] - - location: 40 (remaining gas: 1039954.578 units remaining) + - location: 40 (remaining gas: 1039955.592 units remaining) [ "B" @elt (Pair { "A" } True) ] - - location: 42 (remaining gas: 1039954.533 units remaining) + - location: 42 (remaining gas: 1039955.547 units remaining) [ (Pair "B" { "A" } True) ] - - location: 43 (remaining gas: 1039954.483 units remaining) + - location: 43 (remaining gas: 1039955.497 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 44 (remaining gas: 1039954.433 units remaining) + - location: 44 (remaining gas: 1039955.447 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 45 (remaining gas: 1039954.383 units remaining) + - location: 45 (remaining gas: 1039955.397 units remaining) [ "B" @elt (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 46 (remaining gas: 1039954.338 units remaining) + - location: 46 (remaining gas: 1039955.352 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 49 (remaining gas: 1039954.288 units remaining) + - location: 49 (remaining gas: 1039955.302 units remaining) [ (Pair { "A" } True) (Pair "B" { "A" } True) ] - - location: 50 (remaining gas: 1039954.238 units remaining) + - location: 50 (remaining gas: 1039955.252 units remaining) [ { "A" } (Pair "B" { "A" } True) ] - - location: 51 (remaining gas: 1039954.193 units remaining) + - location: 51 (remaining gas: 1039955.207 units remaining) [ (Pair "B" { "A" } True) ] - - location: 54 (remaining gas: 1039954.143 units remaining) + - location: 54 (remaining gas: 1039955.157 units remaining) [ (Pair { "A" } True) ] - - location: 55 (remaining gas: 1039954.093 units remaining) + - location: 55 (remaining gas: 1039955.107 units remaining) [ True ] - - location: 51 (remaining gas: 1039954.093 units remaining) + - location: 51 (remaining gas: 1039955.107 units remaining) [ { "A" } True ] - - location: 56 (remaining gas: 1039954.043 units remaining) + - location: 56 (remaining gas: 1039955.057 units remaining) [ { "A" } { "A" } True ] - - location: 46 (remaining gas: 1039954.043 units remaining) + - location: 46 (remaining gas: 1039955.057 units remaining) [ "B" @elt { "A" } { "A" } True ] - - location: 57 (remaining gas: 1039953.963 units remaining) + - location: 57 (remaining gas: 1039954.977 units remaining) [ False { "A" } True ] - - location: 58 (remaining gas: 1039953.918 units remaining) + - location: 58 (remaining gas: 1039954.932 units remaining) [ { "A" } True ] - - location: 60 (remaining gas: 1039953.878 units remaining) + - location: 60 (remaining gas: 1039954.892 units remaining) [ True { "A" } ] - - location: 58 (remaining gas: 1039953.878 units remaining) + - location: 58 (remaining gas: 1039954.892 units remaining) [ False True { "A" } ] - - location: 61 (remaining gas: 1039953.828 units remaining) + - location: 61 (remaining gas: 1039954.842 units remaining) [ False { "A" } ] - - location: 62 (remaining gas: 1039953.788 units remaining) + - location: 62 (remaining gas: 1039954.802 units remaining) [ { "A" } False ] - - location: 63 (remaining gas: 1039953.743 units remaining) + - location: 63 (remaining gas: 1039954.757 units remaining) [ (Pair { "A" } False) ] - - location: 40 (remaining gas: 1039953.743 units remaining) + - location: 40 (remaining gas: 1039954.757 units remaining) [ (Pair { "A" } False) ] - - location: 64 (remaining gas: 1039953.693 units remaining) + - location: 64 (remaining gas: 1039954.707 units remaining) [ False ] - - location: 65 (remaining gas: 1039953.648 units remaining) + - location: 65 (remaining gas: 1039954.662 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039953.603 units remaining) + - location: 66 (remaining gas: 1039954.617 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039953.558 units remaining) + - location: 68 (remaining gas: 1039954.572 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 4a32585d30bf..fe694bf9310c 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" @@ -32,379 +32,379 @@ trace [ { "B" ; "B" ; "asdf" ; "C" } {} { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039954.259 units remaining) + - location: 21 (remaining gas: 1039954.787 units remaining) [ "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039954.214 units remaining) + - location: 23 (remaining gas: 1039954.742 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039954.164 units remaining) + - location: 24 (remaining gas: 1039954.692 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039954.114 units remaining) + - location: 25 (remaining gas: 1039954.642 units remaining) [ "B" @elt (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039954.069 units remaining) + - location: 26 (remaining gas: 1039954.597 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039954.019 units remaining) + - location: 28 (remaining gas: 1039954.547 units remaining) [ {} { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039954.019 units remaining) + - location: 26 (remaining gas: 1039954.547 units remaining) [ "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039953.974 units remaining) + - location: 29 (remaining gas: 1039954.502 units remaining) [ True "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039953.934 units remaining) + - location: 32 (remaining gas: 1039954.462 units remaining) [ "B" @elt True {} { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.854 units remaining) + - location: 33 (remaining gas: 1039954.382 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039953.854 units remaining) + - location: 21 (remaining gas: 1039954.382 units remaining) [ "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.809 units remaining) + - location: 23 (remaining gas: 1039954.337 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.759 units remaining) + - location: 24 (remaining gas: 1039954.287 units remaining) [ (Pair "B" { "B" }) (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.709 units remaining) + - location: 25 (remaining gas: 1039954.237 units remaining) [ "B" @elt (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.664 units remaining) + - location: 26 (remaining gas: 1039954.192 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039953.614 units remaining) + - location: 28 (remaining gas: 1039954.142 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.614 units remaining) + - location: 26 (remaining gas: 1039954.142 units remaining) [ "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039953.569 units remaining) + - location: 29 (remaining gas: 1039954.097 units remaining) [ True "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039953.529 units remaining) + - location: 32 (remaining gas: 1039954.057 units remaining) [ "B" @elt True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.449 units remaining) + - location: 33 (remaining gas: 1039953.977 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039953.449 units remaining) + - location: 21 (remaining gas: 1039953.977 units remaining) [ "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.404 units remaining) + - location: 23 (remaining gas: 1039953.932 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.354 units remaining) + - location: 24 (remaining gas: 1039953.882 units remaining) [ (Pair "asdf" { "B" }) (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.304 units remaining) + - location: 25 (remaining gas: 1039953.832 units remaining) [ "asdf" @elt (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.259 units remaining) + - location: 26 (remaining gas: 1039953.787 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039953.209 units remaining) + - location: 28 (remaining gas: 1039953.737 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.209 units remaining) + - location: 26 (remaining gas: 1039953.737 units remaining) [ "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039953.164 units remaining) + - location: 29 (remaining gas: 1039953.692 units remaining) [ True "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039953.124 units remaining) + - location: 32 (remaining gas: 1039953.652 units remaining) [ "asdf" @elt True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.043 units remaining) + - location: 33 (remaining gas: 1039953.571 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039953.043 units remaining) + - location: 21 (remaining gas: 1039953.571 units remaining) [ "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039952.998 units remaining) + - location: 23 (remaining gas: 1039953.526 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039952.948 units remaining) + - location: 24 (remaining gas: 1039953.476 units remaining) [ (Pair "C" { "B" ; "asdf" }) (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039952.898 units remaining) + - location: 25 (remaining gas: 1039953.426 units remaining) [ "C" @elt (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039952.853 units remaining) + - location: 26 (remaining gas: 1039953.381 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039952.803 units remaining) + - location: 28 (remaining gas: 1039953.331 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039952.803 units remaining) + - location: 26 (remaining gas: 1039953.331 units remaining) [ "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039952.758 units remaining) + - location: 29 (remaining gas: 1039953.286 units remaining) [ True "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039952.718 units remaining) + - location: 32 (remaining gas: 1039953.246 units remaining) [ "C" @elt True { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039952.638 units remaining) + - location: 33 (remaining gas: 1039953.166 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039952.638 units remaining) + - location: 21 (remaining gas: 1039953.166 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 34 (remaining gas: 1039952.593 units remaining) + - location: 34 (remaining gas: 1039953.121 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 37 (remaining gas: 1039952.553 units remaining) + - location: 37 (remaining gas: 1039953.081 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "C" ; "asdf" } ] - - location: 38 (remaining gas: 1039952.508 units remaining) + - location: 38 (remaining gas: 1039953.036 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "C" ; "asdf" } ] - - location: 39 (remaining gas: 1039952.468 units remaining) + - location: 39 (remaining gas: 1039952.996 units remaining) [ { "B" ; "C" ; "asdf" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039951.947 units remaining) + - location: 40 (remaining gas: 1039952.996 units remaining) [ "B" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039951.902 units remaining) + - location: 42 (remaining gas: 1039952.951 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039951.852 units remaining) + - location: 43 (remaining gas: 1039952.901 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039951.802 units remaining) + - location: 44 (remaining gas: 1039952.851 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039951.752 units remaining) + - location: 45 (remaining gas: 1039952.801 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039951.707 units remaining) + - location: 46 (remaining gas: 1039952.756 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039951.657 units remaining) + - location: 49 (remaining gas: 1039952.706 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039951.607 units remaining) + - location: 50 (remaining gas: 1039952.656 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039951.562 units remaining) + - location: 51 (remaining gas: 1039952.611 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039951.512 units remaining) + - location: 54 (remaining gas: 1039952.561 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039951.462 units remaining) + - location: 55 (remaining gas: 1039952.511 units remaining) [ True ] - - location: 51 (remaining gas: 1039951.462 units remaining) + - location: 51 (remaining gas: 1039952.511 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039951.412 units remaining) + - location: 56 (remaining gas: 1039952.461 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039951.412 units remaining) + - location: 46 (remaining gas: 1039952.461 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039951.332 units remaining) + - location: 57 (remaining gas: 1039952.381 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039951.287 units remaining) + - location: 58 (remaining gas: 1039952.336 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039951.247 units remaining) + - location: 60 (remaining gas: 1039952.296 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039951.247 units remaining) + - location: 58 (remaining gas: 1039952.296 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039951.197 units remaining) + - location: 61 (remaining gas: 1039952.246 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039951.157 units remaining) + - location: 62 (remaining gas: 1039952.206 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039951.112 units remaining) + - location: 63 (remaining gas: 1039952.161 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039951.112 units remaining) + - location: 40 (remaining gas: 1039952.161 units remaining) [ "C" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039951.067 units remaining) + - location: 42 (remaining gas: 1039952.116 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039951.017 units remaining) + - location: 43 (remaining gas: 1039952.066 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039950.967 units remaining) + - location: 44 (remaining gas: 1039952.016 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039950.917 units remaining) + - location: 45 (remaining gas: 1039951.966 units remaining) [ "C" @elt (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039950.872 units remaining) + - location: 46 (remaining gas: 1039951.921 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039950.822 units remaining) + - location: 49 (remaining gas: 1039951.871 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039950.772 units remaining) + - location: 50 (remaining gas: 1039951.821 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039950.727 units remaining) + - location: 51 (remaining gas: 1039951.776 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039950.677 units remaining) + - location: 54 (remaining gas: 1039951.726 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039950.627 units remaining) + - location: 55 (remaining gas: 1039951.676 units remaining) [ True ] - - location: 51 (remaining gas: 1039950.627 units remaining) + - location: 51 (remaining gas: 1039951.676 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039950.577 units remaining) + - location: 56 (remaining gas: 1039951.626 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039950.577 units remaining) + - location: 46 (remaining gas: 1039951.626 units remaining) [ "C" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039950.497 units remaining) + - location: 57 (remaining gas: 1039951.546 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039950.452 units remaining) + - location: 58 (remaining gas: 1039951.501 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039950.412 units remaining) + - location: 60 (remaining gas: 1039951.461 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039950.412 units remaining) + - location: 58 (remaining gas: 1039951.461 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039950.362 units remaining) + - location: 61 (remaining gas: 1039951.411 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039950.322 units remaining) + - location: 62 (remaining gas: 1039951.371 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039950.277 units remaining) + - location: 63 (remaining gas: 1039951.326 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039950.277 units remaining) + - location: 40 (remaining gas: 1039951.326 units remaining) [ "asdf" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039950.232 units remaining) + - location: 42 (remaining gas: 1039951.281 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039950.182 units remaining) + - location: 43 (remaining gas: 1039951.231 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039950.132 units remaining) + - location: 44 (remaining gas: 1039951.181 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039950.082 units remaining) + - location: 45 (remaining gas: 1039951.131 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039950.037 units remaining) + - location: 46 (remaining gas: 1039951.086 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039949.987 units remaining) + - location: 49 (remaining gas: 1039951.036 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039949.937 units remaining) + - location: 50 (remaining gas: 1039950.986 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039949.892 units remaining) + - location: 51 (remaining gas: 1039950.941 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039949.842 units remaining) + - location: 54 (remaining gas: 1039950.891 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039949.792 units remaining) + - location: 55 (remaining gas: 1039950.841 units remaining) [ True ] - - location: 51 (remaining gas: 1039949.792 units remaining) + - location: 51 (remaining gas: 1039950.841 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039949.742 units remaining) + - location: 56 (remaining gas: 1039950.791 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039949.742 units remaining) + - location: 46 (remaining gas: 1039950.791 units remaining) [ "asdf" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039949.662 units remaining) + - location: 57 (remaining gas: 1039950.711 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039949.617 units remaining) + - location: 58 (remaining gas: 1039950.666 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039949.577 units remaining) + - location: 60 (remaining gas: 1039950.626 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039949.577 units remaining) + - location: 58 (remaining gas: 1039950.626 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039949.527 units remaining) + - location: 61 (remaining gas: 1039950.576 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039949.487 units remaining) + - location: 62 (remaining gas: 1039950.536 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039949.442 units remaining) + - location: 63 (remaining gas: 1039950.491 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039949.442 units remaining) + - location: 40 (remaining gas: 1039950.491 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039949.392 units remaining) + - location: 64 (remaining gas: 1039950.441 units remaining) [ True ] - - location: 65 (remaining gas: 1039949.347 units remaining) + - location: 65 (remaining gas: 1039950.396 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039949.302 units remaining) + - location: 66 (remaining gas: 1039950.351 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039949.257 units remaining) + - location: 68 (remaining gas: 1039950.306 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 75c17fe0643a..a9277612e510 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" @@ -32,406 +32,406 @@ trace [ { "B" ; "C" ; "asdf" } {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039954.266 units remaining) + - location: 21 (remaining gas: 1039954.787 units remaining) [ "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039954.221 units remaining) + - location: 23 (remaining gas: 1039954.742 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039954.171 units remaining) + - location: 24 (remaining gas: 1039954.692 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039954.121 units remaining) + - location: 25 (remaining gas: 1039954.642 units remaining) [ "B" @elt (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039954.076 units remaining) + - location: 26 (remaining gas: 1039954.597 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039954.026 units remaining) + - location: 28 (remaining gas: 1039954.547 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039954.026 units remaining) + - location: 26 (remaining gas: 1039954.547 units remaining) [ "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039953.981 units remaining) + - location: 29 (remaining gas: 1039954.502 units remaining) [ True "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039953.941 units remaining) + - location: 32 (remaining gas: 1039954.462 units remaining) [ "B" @elt True {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039953.861 units remaining) + - location: 33 (remaining gas: 1039954.382 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039953.861 units remaining) + - location: 21 (remaining gas: 1039954.382 units remaining) [ "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039953.816 units remaining) + - location: 23 (remaining gas: 1039954.337 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039953.766 units remaining) + - location: 24 (remaining gas: 1039954.287 units remaining) [ (Pair "C" { "B" }) (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039953.716 units remaining) + - location: 25 (remaining gas: 1039954.237 units remaining) [ "C" @elt (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.671 units remaining) + - location: 26 (remaining gas: 1039954.192 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039953.621 units remaining) + - location: 28 (remaining gas: 1039954.142 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.621 units remaining) + - location: 26 (remaining gas: 1039954.142 units remaining) [ "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039953.576 units remaining) + - location: 29 (remaining gas: 1039954.097 units remaining) [ True "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039953.536 units remaining) + - location: 32 (remaining gas: 1039954.057 units remaining) [ "C" @elt True { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039953.456 units remaining) + - location: 33 (remaining gas: 1039953.977 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039953.456 units remaining) + - location: 21 (remaining gas: 1039953.977 units remaining) [ "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039953.411 units remaining) + - location: 23 (remaining gas: 1039953.932 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039953.361 units remaining) + - location: 24 (remaining gas: 1039953.882 units remaining) [ (Pair "asdf" { "B" ; "C" }) (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039953.311 units remaining) + - location: 25 (remaining gas: 1039953.832 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.266 units remaining) + - location: 26 (remaining gas: 1039953.787 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039953.216 units remaining) + - location: 28 (remaining gas: 1039953.737 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.216 units remaining) + - location: 26 (remaining gas: 1039953.737 units remaining) [ "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039953.171 units remaining) + - location: 29 (remaining gas: 1039953.692 units remaining) [ True "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039953.131 units remaining) + - location: 32 (remaining gas: 1039953.652 units remaining) [ "asdf" @elt True { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039953.050 units remaining) + - location: 33 (remaining gas: 1039953.571 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039953.050 units remaining) + - location: 21 (remaining gas: 1039953.571 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 34 (remaining gas: 1039953.005 units remaining) + - location: 34 (remaining gas: 1039953.526 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 37 (remaining gas: 1039952.965 units remaining) + - location: 37 (remaining gas: 1039953.486 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "B" ; "asdf" ; "C" } ] - - location: 38 (remaining gas: 1039952.920 units remaining) + - location: 38 (remaining gas: 1039953.441 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 39 (remaining gas: 1039952.880 units remaining) + - location: 39 (remaining gas: 1039953.401 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039952.352 units remaining) + - location: 40 (remaining gas: 1039953.401 units remaining) [ "B" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039952.307 units remaining) + - location: 42 (remaining gas: 1039953.356 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039952.257 units remaining) + - location: 43 (remaining gas: 1039953.306 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039952.207 units remaining) + - location: 44 (remaining gas: 1039953.256 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039952.157 units remaining) + - location: 45 (remaining gas: 1039953.206 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039952.112 units remaining) + - location: 46 (remaining gas: 1039953.161 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039952.062 units remaining) + - location: 49 (remaining gas: 1039953.111 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039952.012 units remaining) + - location: 50 (remaining gas: 1039953.061 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039951.967 units remaining) + - location: 51 (remaining gas: 1039953.016 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039951.917 units remaining) + - location: 54 (remaining gas: 1039952.966 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039951.867 units remaining) + - location: 55 (remaining gas: 1039952.916 units remaining) [ True ] - - location: 51 (remaining gas: 1039951.867 units remaining) + - location: 51 (remaining gas: 1039952.916 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039951.817 units remaining) + - location: 56 (remaining gas: 1039952.866 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039951.817 units remaining) + - location: 46 (remaining gas: 1039952.866 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039951.737 units remaining) + - location: 57 (remaining gas: 1039952.786 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039951.692 units remaining) + - location: 58 (remaining gas: 1039952.741 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039951.652 units remaining) + - location: 60 (remaining gas: 1039952.701 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039951.652 units remaining) + - location: 58 (remaining gas: 1039952.701 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039951.602 units remaining) + - location: 61 (remaining gas: 1039952.651 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039951.562 units remaining) + - location: 62 (remaining gas: 1039952.611 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039951.517 units remaining) + - location: 63 (remaining gas: 1039952.566 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039951.517 units remaining) + - location: 40 (remaining gas: 1039952.566 units remaining) [ "B" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039951.472 units remaining) + - location: 42 (remaining gas: 1039952.521 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039951.422 units remaining) + - location: 43 (remaining gas: 1039952.471 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039951.372 units remaining) + - location: 44 (remaining gas: 1039952.421 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039951.322 units remaining) + - location: 45 (remaining gas: 1039952.371 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039951.277 units remaining) + - location: 46 (remaining gas: 1039952.326 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039951.227 units remaining) + - location: 49 (remaining gas: 1039952.276 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039951.177 units remaining) + - location: 50 (remaining gas: 1039952.226 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039951.132 units remaining) + - location: 51 (remaining gas: 1039952.181 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039951.082 units remaining) + - location: 54 (remaining gas: 1039952.131 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039951.032 units remaining) + - location: 55 (remaining gas: 1039952.081 units remaining) [ True ] - - location: 51 (remaining gas: 1039951.032 units remaining) + - location: 51 (remaining gas: 1039952.081 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039950.982 units remaining) + - location: 56 (remaining gas: 1039952.031 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039950.982 units remaining) + - location: 46 (remaining gas: 1039952.031 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039950.902 units remaining) + - location: 57 (remaining gas: 1039951.951 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039950.857 units remaining) + - location: 58 (remaining gas: 1039951.906 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039950.817 units remaining) + - location: 60 (remaining gas: 1039951.866 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039950.817 units remaining) + - location: 58 (remaining gas: 1039951.866 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039950.767 units remaining) + - location: 61 (remaining gas: 1039951.816 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039950.727 units remaining) + - location: 62 (remaining gas: 1039951.776 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039950.682 units remaining) + - location: 63 (remaining gas: 1039951.731 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039950.682 units remaining) + - location: 40 (remaining gas: 1039951.731 units remaining) [ "asdf" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039950.637 units remaining) + - location: 42 (remaining gas: 1039951.686 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039950.587 units remaining) + - location: 43 (remaining gas: 1039951.636 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039950.537 units remaining) + - location: 44 (remaining gas: 1039951.586 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039950.487 units remaining) + - location: 45 (remaining gas: 1039951.536 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039950.442 units remaining) + - location: 46 (remaining gas: 1039951.491 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039950.392 units remaining) + - location: 49 (remaining gas: 1039951.441 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039950.342 units remaining) + - location: 50 (remaining gas: 1039951.391 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039950.297 units remaining) + - location: 51 (remaining gas: 1039951.346 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039950.247 units remaining) + - location: 54 (remaining gas: 1039951.296 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039950.197 units remaining) + - location: 55 (remaining gas: 1039951.246 units remaining) [ True ] - - location: 51 (remaining gas: 1039950.197 units remaining) + - location: 51 (remaining gas: 1039951.246 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039950.147 units remaining) + - location: 56 (remaining gas: 1039951.196 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039950.147 units remaining) + - location: 46 (remaining gas: 1039951.196 units remaining) [ "asdf" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039950.067 units remaining) + - location: 57 (remaining gas: 1039951.116 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039950.022 units remaining) + - location: 58 (remaining gas: 1039951.071 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039949.982 units remaining) + - location: 60 (remaining gas: 1039951.031 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039949.982 units remaining) + - location: 58 (remaining gas: 1039951.031 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039949.932 units remaining) + - location: 61 (remaining gas: 1039950.981 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039949.892 units remaining) + - location: 62 (remaining gas: 1039950.941 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039949.847 units remaining) + - location: 63 (remaining gas: 1039950.896 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039949.847 units remaining) + - location: 40 (remaining gas: 1039950.896 units remaining) [ "C" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039949.802 units remaining) + - location: 42 (remaining gas: 1039950.851 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039949.752 units remaining) + - location: 43 (remaining gas: 1039950.801 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039949.702 units remaining) + - location: 44 (remaining gas: 1039950.751 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039949.652 units remaining) + - location: 45 (remaining gas: 1039950.701 units remaining) [ "C" @elt (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039949.607 units remaining) + - location: 46 (remaining gas: 1039950.656 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039949.557 units remaining) + - location: 49 (remaining gas: 1039950.606 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039949.507 units remaining) + - location: 50 (remaining gas: 1039950.556 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039949.462 units remaining) + - location: 51 (remaining gas: 1039950.511 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039949.412 units remaining) + - location: 54 (remaining gas: 1039950.461 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039949.362 units remaining) + - location: 55 (remaining gas: 1039950.411 units remaining) [ True ] - - location: 51 (remaining gas: 1039949.362 units remaining) + - location: 51 (remaining gas: 1039950.411 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039949.312 units remaining) + - location: 56 (remaining gas: 1039950.361 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039949.312 units remaining) + - location: 46 (remaining gas: 1039950.361 units remaining) [ "C" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039949.232 units remaining) + - location: 57 (remaining gas: 1039950.281 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039949.187 units remaining) + - location: 58 (remaining gas: 1039950.236 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039949.147 units remaining) + - location: 60 (remaining gas: 1039950.196 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039949.147 units remaining) + - location: 58 (remaining gas: 1039950.196 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039949.097 units remaining) + - location: 61 (remaining gas: 1039950.146 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039949.057 units remaining) + - location: 62 (remaining gas: 1039950.106 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039949.012 units remaining) + - location: 63 (remaining gas: 1039950.061 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039949.012 units remaining) + - location: 40 (remaining gas: 1039950.061 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039948.962 units remaining) + - location: 64 (remaining gas: 1039950.011 units remaining) [ True ] - - location: 65 (remaining gas: 1039948.917 units remaining) + - location: 65 (remaining gas: 1039949.966 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039948.872 units remaining) + - location: 66 (remaining gas: 1039949.921 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039948.827 units remaining) + - location: 68 (remaining gas: 1039949.876 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 338eab1a680f..aecb2f4969c3 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" @@ -32,135 +32,135 @@ trace [ { "B" } {} { "B" } ] - - location: 21 (remaining gas: 1039955.660 units remaining) + - location: 21 (remaining gas: 1039956.167 units remaining) [ "B" @elt {} { "B" } ] - - location: 23 (remaining gas: 1039955.615 units remaining) + - location: 23 (remaining gas: 1039956.122 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 24 (remaining gas: 1039955.565 units remaining) + - location: 24 (remaining gas: 1039956.072 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" } ] - - location: 25 (remaining gas: 1039955.515 units remaining) + - location: 25 (remaining gas: 1039956.022 units remaining) [ "B" @elt (Pair "B" {}) { "B" } ] - - location: 26 (remaining gas: 1039955.470 units remaining) + - location: 26 (remaining gas: 1039955.977 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 28 (remaining gas: 1039955.420 units remaining) + - location: 28 (remaining gas: 1039955.927 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039955.420 units remaining) + - location: 26 (remaining gas: 1039955.927 units remaining) [ "B" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039955.375 units remaining) + - location: 29 (remaining gas: 1039955.882 units remaining) [ True "B" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039955.335 units remaining) + - location: 32 (remaining gas: 1039955.842 units remaining) [ "B" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039955.255 units remaining) + - location: 33 (remaining gas: 1039955.762 units remaining) [ { "B" } { "B" } ] - - location: 21 (remaining gas: 1039955.255 units remaining) + - location: 21 (remaining gas: 1039955.762 units remaining) [ { "B" } { "B" } ] - - location: 34 (remaining gas: 1039955.210 units remaining) + - location: 34 (remaining gas: 1039955.717 units remaining) [ True { "B" } { "B" } ] - - location: 37 (remaining gas: 1039955.170 units remaining) + - location: 37 (remaining gas: 1039955.677 units remaining) [ { "B" } True { "B" } ] - - location: 38 (remaining gas: 1039955.125 units remaining) + - location: 38 (remaining gas: 1039955.632 units remaining) [ (Pair { "B" } True) { "B" } ] - - location: 39 (remaining gas: 1039955.085 units remaining) + - location: 39 (remaining gas: 1039955.592 units remaining) [ { "B" } (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039954.578 units remaining) + - location: 40 (remaining gas: 1039955.592 units remaining) [ "B" @elt (Pair { "B" } True) ] - - location: 42 (remaining gas: 1039954.533 units remaining) + - location: 42 (remaining gas: 1039955.547 units remaining) [ (Pair "B" { "B" } True) ] - - location: 43 (remaining gas: 1039954.483 units remaining) + - location: 43 (remaining gas: 1039955.497 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 44 (remaining gas: 1039954.433 units remaining) + - location: 44 (remaining gas: 1039955.447 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 45 (remaining gas: 1039954.383 units remaining) + - location: 45 (remaining gas: 1039955.397 units remaining) [ "B" @elt (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 46 (remaining gas: 1039954.338 units remaining) + - location: 46 (remaining gas: 1039955.352 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 49 (remaining gas: 1039954.288 units remaining) + - location: 49 (remaining gas: 1039955.302 units remaining) [ (Pair { "B" } True) (Pair "B" { "B" } True) ] - - location: 50 (remaining gas: 1039954.238 units remaining) + - location: 50 (remaining gas: 1039955.252 units remaining) [ { "B" } (Pair "B" { "B" } True) ] - - location: 51 (remaining gas: 1039954.193 units remaining) + - location: 51 (remaining gas: 1039955.207 units remaining) [ (Pair "B" { "B" } True) ] - - location: 54 (remaining gas: 1039954.143 units remaining) + - location: 54 (remaining gas: 1039955.157 units remaining) [ (Pair { "B" } True) ] - - location: 55 (remaining gas: 1039954.093 units remaining) + - location: 55 (remaining gas: 1039955.107 units remaining) [ True ] - - location: 51 (remaining gas: 1039954.093 units remaining) + - location: 51 (remaining gas: 1039955.107 units remaining) [ { "B" } True ] - - location: 56 (remaining gas: 1039954.043 units remaining) + - location: 56 (remaining gas: 1039955.057 units remaining) [ { "B" } { "B" } True ] - - location: 46 (remaining gas: 1039954.043 units remaining) + - location: 46 (remaining gas: 1039955.057 units remaining) [ "B" @elt { "B" } { "B" } True ] - - location: 57 (remaining gas: 1039953.963 units remaining) + - location: 57 (remaining gas: 1039954.977 units remaining) [ True { "B" } True ] - - location: 58 (remaining gas: 1039953.918 units remaining) + - location: 58 (remaining gas: 1039954.932 units remaining) [ { "B" } True ] - - location: 60 (remaining gas: 1039953.878 units remaining) + - location: 60 (remaining gas: 1039954.892 units remaining) [ True { "B" } ] - - location: 58 (remaining gas: 1039953.878 units remaining) + - location: 58 (remaining gas: 1039954.892 units remaining) [ True True { "B" } ] - - location: 61 (remaining gas: 1039953.828 units remaining) + - location: 61 (remaining gas: 1039954.842 units remaining) [ True { "B" } ] - - location: 62 (remaining gas: 1039953.788 units remaining) + - location: 62 (remaining gas: 1039954.802 units remaining) [ { "B" } True ] - - location: 63 (remaining gas: 1039953.743 units remaining) + - location: 63 (remaining gas: 1039954.757 units remaining) [ (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039953.743 units remaining) + - location: 40 (remaining gas: 1039954.757 units remaining) [ (Pair { "B" } True) ] - - location: 64 (remaining gas: 1039953.693 units remaining) + - location: 64 (remaining gas: 1039954.707 units remaining) [ True ] - - location: 65 (remaining gas: 1039953.648 units remaining) + - location: 65 (remaining gas: 1039954.662 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039953.603 units remaining) + - location: 66 (remaining gas: 1039954.617 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039953.558 units remaining) + - location: 68 (remaining gas: 1039954.572 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 8e318c131a3c..cf271c85ddca 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" @@ -32,135 +32,135 @@ trace [ { "c" } {} { "B" } ] - - location: 21 (remaining gas: 1039955.660 units remaining) + - location: 21 (remaining gas: 1039956.167 units remaining) [ "c" @elt {} { "B" } ] - - location: 23 (remaining gas: 1039955.615 units remaining) + - location: 23 (remaining gas: 1039956.122 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 24 (remaining gas: 1039955.565 units remaining) + - location: 24 (remaining gas: 1039956.072 units remaining) [ (Pair "c" {}) (Pair "c" {}) { "B" } ] - - location: 25 (remaining gas: 1039955.515 units remaining) + - location: 25 (remaining gas: 1039956.022 units remaining) [ "c" @elt (Pair "c" {}) { "B" } ] - - location: 26 (remaining gas: 1039955.470 units remaining) + - location: 26 (remaining gas: 1039955.977 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 28 (remaining gas: 1039955.420 units remaining) + - location: 28 (remaining gas: 1039955.927 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039955.420 units remaining) + - location: 26 (remaining gas: 1039955.927 units remaining) [ "c" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039955.375 units remaining) + - location: 29 (remaining gas: 1039955.882 units remaining) [ True "c" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039955.335 units remaining) + - location: 32 (remaining gas: 1039955.842 units remaining) [ "c" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039955.255 units remaining) + - location: 33 (remaining gas: 1039955.762 units remaining) [ { "c" } { "B" } ] - - location: 21 (remaining gas: 1039955.255 units remaining) + - location: 21 (remaining gas: 1039955.762 units remaining) [ { "c" } { "B" } ] - - location: 34 (remaining gas: 1039955.210 units remaining) + - location: 34 (remaining gas: 1039955.717 units remaining) [ True { "c" } { "B" } ] - - location: 37 (remaining gas: 1039955.170 units remaining) + - location: 37 (remaining gas: 1039955.677 units remaining) [ { "c" } True { "B" } ] - - location: 38 (remaining gas: 1039955.125 units remaining) + - location: 38 (remaining gas: 1039955.632 units remaining) [ (Pair { "c" } True) { "B" } ] - - location: 39 (remaining gas: 1039955.085 units remaining) + - location: 39 (remaining gas: 1039955.592 units remaining) [ { "B" } (Pair { "c" } True) ] - - location: 40 (remaining gas: 1039954.578 units remaining) + - location: 40 (remaining gas: 1039955.592 units remaining) [ "B" @elt (Pair { "c" } True) ] - - location: 42 (remaining gas: 1039954.533 units remaining) + - location: 42 (remaining gas: 1039955.547 units remaining) [ (Pair "B" { "c" } True) ] - - location: 43 (remaining gas: 1039954.483 units remaining) + - location: 43 (remaining gas: 1039955.497 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 44 (remaining gas: 1039954.433 units remaining) + - location: 44 (remaining gas: 1039955.447 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 45 (remaining gas: 1039954.383 units remaining) + - location: 45 (remaining gas: 1039955.397 units remaining) [ "B" @elt (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 46 (remaining gas: 1039954.338 units remaining) + - location: 46 (remaining gas: 1039955.352 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 49 (remaining gas: 1039954.288 units remaining) + - location: 49 (remaining gas: 1039955.302 units remaining) [ (Pair { "c" } True) (Pair "B" { "c" } True) ] - - location: 50 (remaining gas: 1039954.238 units remaining) + - location: 50 (remaining gas: 1039955.252 units remaining) [ { "c" } (Pair "B" { "c" } True) ] - - location: 51 (remaining gas: 1039954.193 units remaining) + - location: 51 (remaining gas: 1039955.207 units remaining) [ (Pair "B" { "c" } True) ] - - location: 54 (remaining gas: 1039954.143 units remaining) + - location: 54 (remaining gas: 1039955.157 units remaining) [ (Pair { "c" } True) ] - - location: 55 (remaining gas: 1039954.093 units remaining) + - location: 55 (remaining gas: 1039955.107 units remaining) [ True ] - - location: 51 (remaining gas: 1039954.093 units remaining) + - location: 51 (remaining gas: 1039955.107 units remaining) [ { "c" } True ] - - location: 56 (remaining gas: 1039954.043 units remaining) + - location: 56 (remaining gas: 1039955.057 units remaining) [ { "c" } { "c" } True ] - - location: 46 (remaining gas: 1039954.043 units remaining) + - location: 46 (remaining gas: 1039955.057 units remaining) [ "B" @elt { "c" } { "c" } True ] - - location: 57 (remaining gas: 1039953.963 units remaining) + - location: 57 (remaining gas: 1039954.977 units remaining) [ False { "c" } True ] - - location: 58 (remaining gas: 1039953.918 units remaining) + - location: 58 (remaining gas: 1039954.932 units remaining) [ { "c" } True ] - - location: 60 (remaining gas: 1039953.878 units remaining) + - location: 60 (remaining gas: 1039954.892 units remaining) [ True { "c" } ] - - location: 58 (remaining gas: 1039953.878 units remaining) + - location: 58 (remaining gas: 1039954.892 units remaining) [ False True { "c" } ] - - location: 61 (remaining gas: 1039953.828 units remaining) + - location: 61 (remaining gas: 1039954.842 units remaining) [ False { "c" } ] - - location: 62 (remaining gas: 1039953.788 units remaining) + - location: 62 (remaining gas: 1039954.802 units remaining) [ { "c" } False ] - - location: 63 (remaining gas: 1039953.743 units remaining) + - location: 63 (remaining gas: 1039954.757 units remaining) [ (Pair { "c" } False) ] - - location: 40 (remaining gas: 1039953.743 units remaining) + - location: 40 (remaining gas: 1039954.757 units remaining) [ (Pair { "c" } False) ] - - location: 64 (remaining gas: 1039953.693 units remaining) + - location: 64 (remaining gas: 1039954.707 units remaining) [ False ] - - location: 65 (remaining gas: 1039953.648 units remaining) + - location: 65 (remaining gas: 1039954.662 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039953.603 units remaining) + - location: 66 (remaining gas: 1039954.617 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039953.558 units remaining) + - location: 68 (remaining gas: 1039954.572 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 0462b6c1e039..1d55493fcaba 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 @@ -32,32 +32,32 @@ trace [ {} {} {} ] - - location: 21 (remaining gas: 1039956.195 units remaining) + - location: 21 (remaining gas: 1039956.695 units remaining) [ {} {} ] - - location: 34 (remaining gas: 1039956.150 units remaining) + - location: 34 (remaining gas: 1039956.650 units remaining) [ True {} {} ] - - location: 37 (remaining gas: 1039956.110 units remaining) + - location: 37 (remaining gas: 1039956.610 units remaining) [ {} True {} ] - - location: 38 (remaining gas: 1039956.065 units remaining) + - location: 38 (remaining gas: 1039956.565 units remaining) [ (Pair {} True) {} ] - - location: 39 (remaining gas: 1039956.025 units remaining) + - location: 39 (remaining gas: 1039956.525 units remaining) [ {} (Pair {} True) ] - - location: 40 (remaining gas: 1039955.525 units remaining) + - location: 40 (remaining gas: 1039956.525 units remaining) [ (Pair {} True) ] - - location: 64 (remaining gas: 1039955.475 units remaining) + - location: 64 (remaining gas: 1039956.475 units remaining) [ True ] - - location: 65 (remaining gas: 1039955.430 units remaining) + - location: 65 (remaining gas: 1039956.430 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039955.385 units remaining) + - location: 66 (remaining gas: 1039956.385 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039955.340 units remaining) + - location: 68 (remaining gas: 1039956.340 units remaining) [ (Pair {} (Some True)) ] 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 645f6dcb3286..9b1eb8ad191d 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" @@ -11,17 +11,17 @@ trace [ (Pair { "1" ; "2" ; "3" } { "" }) ] - location: 9 (remaining gas: 1039992.799 units remaining) [ { "1" ; "2" ; "3" } @parameter ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ "1" ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ "2" ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ "3" ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039992.218 units remaining) + - location: 12 (remaining gas: 1039992.754 units remaining) [ {} { "1" ; "2" ; "3" } ] - - location: 14 (remaining gas: 1039992.173 units remaining) + - location: 14 (remaining gas: 1039992.709 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 7ad706347ac6..8bdf27f01200 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" @@ -11,17 +11,17 @@ trace [ (Pair { "a" ; "b" ; "c" } { "" }) ] - location: 9 (remaining gas: 1039992.799 units remaining) [ { "a" ; "b" ; "c" } @parameter ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ "a" ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ "b" ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ "c" ] - - location: 10 (remaining gas: 1039992.263 units remaining) + - location: 10 (remaining gas: 1039992.799 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039992.218 units remaining) + - location: 12 (remaining gas: 1039992.754 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039992.173 units remaining) + - location: 14 (remaining gas: 1039992.709 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 740ca4a4d4e4..b892ad258e12 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" @@ -11,11 +11,11 @@ trace [ (Pair {} { "" }) ] - location: 9 (remaining gas: 1039993.591 units remaining) [ {} @parameter ] - - location: 10 (remaining gas: 1039993.091 units remaining) + - location: 10 (remaining gas: 1039993.591 units remaining) [ {} ] - - location: 12 (remaining gas: 1039993.046 units remaining) + - location: 12 (remaining gas: 1039993.546 units remaining) [ {} {} ] - - location: 14 (remaining gas: 1039993.001 units remaining) + - location: 14 (remaining gas: 1039993.501 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 5543f94d7abb..cf9dff97751a 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 @@ -17,26 +17,26 @@ trace - location: 12 (remaining gas: 1039990.925 units remaining) [ { 10 ; 2 ; 1 } @parameter 1 ] - - location: 13 (remaining gas: 1039990.404 units remaining) + - location: 13 (remaining gas: 1039990.925 units remaining) [ 10 @parameter.elt 1 ] - - location: 15 (remaining gas: 1039990.318 units remaining) + - location: 15 (remaining gas: 1039990.839 units remaining) [ 10 ] - - location: 13 (remaining gas: 1039990.318 units remaining) + - location: 13 (remaining gas: 1039990.839 units remaining) [ 2 @parameter.elt 10 ] - - location: 15 (remaining gas: 1039990.232 units remaining) + - location: 15 (remaining gas: 1039990.753 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039990.232 units remaining) + - location: 13 (remaining gas: 1039990.753 units remaining) [ 1 @parameter.elt 20 ] - - location: 15 (remaining gas: 1039990.146 units remaining) + - location: 15 (remaining gas: 1039990.667 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039990.146 units remaining) + - location: 13 (remaining gas: 1039990.667 units remaining) [ 20 ] - - location: 16 (remaining gas: 1039990.101 units remaining) + - location: 16 (remaining gas: 1039990.622 units remaining) [ {} 20 ] - - location: 18 (remaining gas: 1039990.056 units remaining) + - location: 18 (remaining gas: 1039990.577 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 6f54dd3c14bc..853a96464980 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 @@ -17,26 +17,26 @@ trace - location: 12 (remaining gas: 1039990.925 units remaining) [ { 3 ; 6 ; 9 } @parameter 1 ] - - location: 13 (remaining gas: 1039990.404 units remaining) + - location: 13 (remaining gas: 1039990.925 units remaining) [ 3 @parameter.elt 1 ] - - location: 15 (remaining gas: 1039990.318 units remaining) + - location: 15 (remaining gas: 1039990.839 units remaining) [ 3 ] - - location: 13 (remaining gas: 1039990.318 units remaining) + - location: 13 (remaining gas: 1039990.839 units remaining) [ 6 @parameter.elt 3 ] - - location: 15 (remaining gas: 1039990.232 units remaining) + - location: 15 (remaining gas: 1039990.753 units remaining) [ 18 ] - - location: 13 (remaining gas: 1039990.232 units remaining) + - location: 13 (remaining gas: 1039990.753 units remaining) [ 9 @parameter.elt 18 ] - - location: 15 (remaining gas: 1039990.146 units remaining) + - location: 15 (remaining gas: 1039990.667 units remaining) [ 162 ] - - location: 13 (remaining gas: 1039990.146 units remaining) + - location: 13 (remaining gas: 1039990.667 units remaining) [ 162 ] - - location: 16 (remaining gas: 1039990.101 units remaining) + - location: 16 (remaining gas: 1039990.622 units remaining) [ {} 162 ] - - location: 18 (remaining gas: 1039990.056 units remaining) + - location: 18 (remaining gas: 1039990.577 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 20e2973eeaa2..6c1c92280d18 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 @@ -17,120 +17,120 @@ trace - location: 13 (remaining gas: 1039984.245 units remaining) [ { 1 ; 1 ; 1 ; 1 } @parameter 0 ] - - location: 14 (remaining gas: 1039983.697 units remaining) + - location: 14 (remaining gas: 1039984.245 units remaining) [ 1 @parameter.elt 0 ] - - location: 16 (remaining gas: 1039983.652 units remaining) + - location: 16 (remaining gas: 1039984.200 units remaining) [ 0 ] - - location: 18 (remaining gas: 1039983.602 units remaining) + - location: 18 (remaining gas: 1039984.150 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039983.602 units remaining) + - location: 16 (remaining gas: 1039984.150 units remaining) [ 1 @parameter.elt 0 0 ] - - location: 19 (remaining gas: 1039983.522 units remaining) + - location: 19 (remaining gas: 1039984.070 units remaining) [ 1 0 ] - - location: 20 (remaining gas: 1039983.477 units remaining) + - location: 20 (remaining gas: 1039984.025 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039983.432 units remaining) + - location: 22 (remaining gas: 1039983.980 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039983.352 units remaining) + - location: 25 (remaining gas: 1039983.900 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039983.352 units remaining) + - location: 20 (remaining gas: 1039983.900 units remaining) [ 1 1 ] - - location: 14 (remaining gas: 1039983.352 units remaining) + - location: 14 (remaining gas: 1039983.900 units remaining) [ 1 @parameter.elt 1 ] - - location: 16 (remaining gas: 1039983.307 units remaining) + - location: 16 (remaining gas: 1039983.855 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039983.257 units remaining) + - location: 18 (remaining gas: 1039983.805 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039983.257 units remaining) + - location: 16 (remaining gas: 1039983.805 units remaining) [ 1 @parameter.elt 1 1 ] - - location: 19 (remaining gas: 1039983.177 units remaining) + - location: 19 (remaining gas: 1039983.725 units remaining) [ 2 1 ] - - location: 20 (remaining gas: 1039983.132 units remaining) + - location: 20 (remaining gas: 1039983.680 units remaining) [ 1 ] - - location: 22 (remaining gas: 1039983.087 units remaining) + - location: 22 (remaining gas: 1039983.635 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039983.007 units remaining) + - location: 25 (remaining gas: 1039983.555 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039983.007 units remaining) + - location: 20 (remaining gas: 1039983.555 units remaining) [ 2 2 ] - - location: 14 (remaining gas: 1039983.007 units remaining) + - location: 14 (remaining gas: 1039983.555 units remaining) [ 1 @parameter.elt 2 ] - - location: 16 (remaining gas: 1039982.962 units remaining) + - location: 16 (remaining gas: 1039983.510 units remaining) [ 2 ] - - location: 18 (remaining gas: 1039982.912 units remaining) + - location: 18 (remaining gas: 1039983.460 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039982.912 units remaining) + - location: 16 (remaining gas: 1039983.460 units remaining) [ 1 @parameter.elt 2 2 ] - - location: 19 (remaining gas: 1039982.832 units remaining) + - location: 19 (remaining gas: 1039983.380 units remaining) [ 3 2 ] - - location: 20 (remaining gas: 1039982.787 units remaining) + - location: 20 (remaining gas: 1039983.335 units remaining) [ 2 ] - - location: 22 (remaining gas: 1039982.742 units remaining) + - location: 22 (remaining gas: 1039983.290 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039982.662 units remaining) + - location: 25 (remaining gas: 1039983.210 units remaining) [ 3 ] - - location: 20 (remaining gas: 1039982.662 units remaining) + - location: 20 (remaining gas: 1039983.210 units remaining) [ 3 3 ] - - location: 14 (remaining gas: 1039982.662 units remaining) + - location: 14 (remaining gas: 1039983.210 units remaining) [ 1 @parameter.elt 3 ] - - location: 16 (remaining gas: 1039982.617 units remaining) + - location: 16 (remaining gas: 1039983.165 units remaining) [ 3 ] - - location: 18 (remaining gas: 1039982.567 units remaining) + - location: 18 (remaining gas: 1039983.115 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039982.567 units remaining) + - location: 16 (remaining gas: 1039983.115 units remaining) [ 1 @parameter.elt 3 3 ] - - location: 19 (remaining gas: 1039982.487 units remaining) + - location: 19 (remaining gas: 1039983.035 units remaining) [ 4 3 ] - - location: 20 (remaining gas: 1039982.442 units remaining) + - location: 20 (remaining gas: 1039982.990 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039982.397 units remaining) + - location: 22 (remaining gas: 1039982.945 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039982.317 units remaining) + - location: 25 (remaining gas: 1039982.865 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039982.317 units remaining) + - location: 20 (remaining gas: 1039982.865 units remaining) [ 4 4 ] - - location: 14 (remaining gas: 1039982.317 units remaining) + - location: 14 (remaining gas: 1039982.865 units remaining) [ { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 26 (remaining gas: 1039982.272 units remaining) + - location: 26 (remaining gas: 1039982.820 units remaining) [ {} { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 28 (remaining gas: 1039982.227 units remaining) + - location: 28 (remaining gas: 1039982.775 units remaining) [ (Pair {} { 1 ; 2 ; 3 ; 4 }) 4 ] - - location: 29 (remaining gas: 1039982.182 units remaining) + - location: 29 (remaining gas: 1039982.730 units remaining) [ 4 ] - - location: 31 (remaining gas: 1039982.137 units remaining) + - location: 31 (remaining gas: 1039982.685 units remaining) [ ] - - location: 29 (remaining gas: 1039982.137 units remaining) + - location: 29 (remaining gas: 1039982.685 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 5d3ef2e4e0af..4ed74d6e4b7f 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 @@ -17,120 +17,120 @@ trace - location: 13 (remaining gas: 1039984.245 units remaining) [ { 1 ; 2 ; 3 ; 0 } @parameter 0 ] - - location: 14 (remaining gas: 1039983.697 units remaining) + - location: 14 (remaining gas: 1039984.245 units remaining) [ 1 @parameter.elt 0 ] - - location: 16 (remaining gas: 1039983.652 units remaining) + - location: 16 (remaining gas: 1039984.200 units remaining) [ 0 ] - - location: 18 (remaining gas: 1039983.602 units remaining) + - location: 18 (remaining gas: 1039984.150 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039983.602 units remaining) + - location: 16 (remaining gas: 1039984.150 units remaining) [ 1 @parameter.elt 0 0 ] - - location: 19 (remaining gas: 1039983.522 units remaining) + - location: 19 (remaining gas: 1039984.070 units remaining) [ 1 0 ] - - location: 20 (remaining gas: 1039983.477 units remaining) + - location: 20 (remaining gas: 1039984.025 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039983.432 units remaining) + - location: 22 (remaining gas: 1039983.980 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039983.352 units remaining) + - location: 25 (remaining gas: 1039983.900 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039983.352 units remaining) + - location: 20 (remaining gas: 1039983.900 units remaining) [ 1 1 ] - - location: 14 (remaining gas: 1039983.352 units remaining) + - location: 14 (remaining gas: 1039983.900 units remaining) [ 2 @parameter.elt 1 ] - - location: 16 (remaining gas: 1039983.307 units remaining) + - location: 16 (remaining gas: 1039983.855 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039983.257 units remaining) + - location: 18 (remaining gas: 1039983.805 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039983.257 units remaining) + - location: 16 (remaining gas: 1039983.805 units remaining) [ 2 @parameter.elt 1 1 ] - - location: 19 (remaining gas: 1039983.177 units remaining) + - location: 19 (remaining gas: 1039983.725 units remaining) [ 3 1 ] - - location: 20 (remaining gas: 1039983.132 units remaining) + - location: 20 (remaining gas: 1039983.680 units remaining) [ 1 ] - - location: 22 (remaining gas: 1039983.087 units remaining) + - location: 22 (remaining gas: 1039983.635 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039983.007 units remaining) + - location: 25 (remaining gas: 1039983.555 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039983.007 units remaining) + - location: 20 (remaining gas: 1039983.555 units remaining) [ 3 2 ] - - location: 14 (remaining gas: 1039983.007 units remaining) + - location: 14 (remaining gas: 1039983.555 units remaining) [ 3 @parameter.elt 2 ] - - location: 16 (remaining gas: 1039982.962 units remaining) + - location: 16 (remaining gas: 1039983.510 units remaining) [ 2 ] - - location: 18 (remaining gas: 1039982.912 units remaining) + - location: 18 (remaining gas: 1039983.460 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039982.912 units remaining) + - location: 16 (remaining gas: 1039983.460 units remaining) [ 3 @parameter.elt 2 2 ] - - location: 19 (remaining gas: 1039982.832 units remaining) + - location: 19 (remaining gas: 1039983.380 units remaining) [ 5 2 ] - - location: 20 (remaining gas: 1039982.787 units remaining) + - location: 20 (remaining gas: 1039983.335 units remaining) [ 2 ] - - location: 22 (remaining gas: 1039982.742 units remaining) + - location: 22 (remaining gas: 1039983.290 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039982.662 units remaining) + - location: 25 (remaining gas: 1039983.210 units remaining) [ 3 ] - - location: 20 (remaining gas: 1039982.662 units remaining) + - location: 20 (remaining gas: 1039983.210 units remaining) [ 5 3 ] - - location: 14 (remaining gas: 1039982.662 units remaining) + - location: 14 (remaining gas: 1039983.210 units remaining) [ 0 @parameter.elt 3 ] - - location: 16 (remaining gas: 1039982.617 units remaining) + - location: 16 (remaining gas: 1039983.165 units remaining) [ 3 ] - - location: 18 (remaining gas: 1039982.567 units remaining) + - location: 18 (remaining gas: 1039983.115 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039982.567 units remaining) + - location: 16 (remaining gas: 1039983.115 units remaining) [ 0 @parameter.elt 3 3 ] - - location: 19 (remaining gas: 1039982.487 units remaining) + - location: 19 (remaining gas: 1039983.035 units remaining) [ 3 3 ] - - location: 20 (remaining gas: 1039982.442 units remaining) + - location: 20 (remaining gas: 1039982.990 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039982.397 units remaining) + - location: 22 (remaining gas: 1039982.945 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039982.317 units remaining) + - location: 25 (remaining gas: 1039982.865 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039982.317 units remaining) + - location: 20 (remaining gas: 1039982.865 units remaining) [ 3 4 ] - - location: 14 (remaining gas: 1039982.317 units remaining) + - location: 14 (remaining gas: 1039982.865 units remaining) [ { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 26 (remaining gas: 1039982.272 units remaining) + - location: 26 (remaining gas: 1039982.820 units remaining) [ {} { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 28 (remaining gas: 1039982.227 units remaining) + - location: 28 (remaining gas: 1039982.775 units remaining) [ (Pair {} { 1 ; 3 ; 5 ; 3 }) 4 ] - - location: 29 (remaining gas: 1039982.182 units remaining) + - location: 29 (remaining gas: 1039982.730 units remaining) [ 4 ] - - location: 31 (remaining gas: 1039982.137 units remaining) + - location: 31 (remaining gas: 1039982.685 units remaining) [ ] - - location: 29 (remaining gas: 1039982.137 units remaining) + - location: 29 (remaining gas: 1039982.685 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 c4b80dbd6257..eb58d951b8e3 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 @@ -17,20 +17,20 @@ trace - location: 13 (remaining gas: 1039985.205 units remaining) [ {} @parameter 0 ] - - location: 14 (remaining gas: 1039984.705 units remaining) + - location: 14 (remaining gas: 1039985.205 units remaining) [ {} 0 ] - - location: 26 (remaining gas: 1039984.660 units remaining) + - location: 26 (remaining gas: 1039985.160 units remaining) [ {} {} 0 ] - - location: 28 (remaining gas: 1039984.615 units remaining) + - location: 28 (remaining gas: 1039985.115 units remaining) [ (Pair {} {}) 0 ] - - location: 29 (remaining gas: 1039984.570 units remaining) + - location: 29 (remaining gas: 1039985.070 units remaining) [ 0 ] - - location: 31 (remaining gas: 1039984.525 units remaining) + - location: 31 (remaining gas: 1039985.025 units remaining) [ ] - - location: 29 (remaining gas: 1039984.525 units remaining) + - location: 29 (remaining gas: 1039985.025 units remaining) [ (Pair {} {}) ] 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 d2d52cb75e83..e4c956e70998 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 @@ -24,129 +24,129 @@ trace - location: 19 (remaining gas: 1039975.675 units remaining) [ { Elt 0 100 ; Elt 2 100 } @parameter (Pair 0 0) ] - - location: 20 (remaining gas: 1039975.515 units remaining) + - location: 20 (remaining gas: 1039975.675 units remaining) [ (Pair 0 100) (Pair 0 0) ] - - location: 22 (remaining gas: 1039975.470 units remaining) + - location: 22 (remaining gas: 1039975.630 units remaining) [ (Pair 0 0) ] - - location: 24 (remaining gas: 1039975.420 units remaining) + - location: 24 (remaining gas: 1039975.580 units remaining) [ (Pair 0 0) (Pair 0 0) ] - - location: 25 (remaining gas: 1039975.370 units remaining) + - location: 25 (remaining gas: 1039975.530 units remaining) [ 0 @acc_k (Pair 0 0) ] - - location: 26 (remaining gas: 1039975.325 units remaining) + - location: 26 (remaining gas: 1039975.485 units remaining) [ (Pair 0 0) ] - - location: 28 (remaining gas: 1039975.275 units remaining) + - location: 28 (remaining gas: 1039975.435 units remaining) [ 0 @acc_e ] - - location: 26 (remaining gas: 1039975.275 units remaining) + - location: 26 (remaining gas: 1039975.435 units remaining) [ 0 @acc_k 0 @acc_e ] - - location: 22 (remaining gas: 1039975.275 units remaining) + - location: 22 (remaining gas: 1039975.435 units remaining) [ (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 29 (remaining gas: 1039975.225 units remaining) + - location: 29 (remaining gas: 1039975.385 units remaining) [ (Pair 0 100) (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 30 (remaining gas: 1039975.180 units remaining) + - location: 30 (remaining gas: 1039975.340 units remaining) [ (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 32 (remaining gas: 1039975.130 units remaining) + - location: 32 (remaining gas: 1039975.290 units remaining) [ 0 @key 0 @acc_k 0 @acc_e ] - - location: 33 (remaining gas: 1039975.050 units remaining) + - location: 33 (remaining gas: 1039975.210 units remaining) [ 0 0 @acc_e ] - - location: 30 (remaining gas: 1039975.050 units remaining) + - location: 30 (remaining gas: 1039975.210 units remaining) [ (Pair 0 100) 0 0 @acc_e ] - - location: 34 (remaining gas: 1039975.010 units remaining) + - location: 34 (remaining gas: 1039975.170 units remaining) [ 0 (Pair 0 100) 0 @acc_e ] - - location: 35 (remaining gas: 1039974.965 units remaining) + - location: 35 (remaining gas: 1039975.125 units remaining) [ (Pair 0 100) 0 @acc_e ] - - location: 37 (remaining gas: 1039974.915 units remaining) + - location: 37 (remaining gas: 1039975.075 units remaining) [ 100 @elt 0 @acc_e ] - - location: 38 (remaining gas: 1039974.835 units remaining) + - location: 38 (remaining gas: 1039974.995 units remaining) [ 100 ] - - location: 35 (remaining gas: 1039974.835 units remaining) + - location: 35 (remaining gas: 1039974.995 units remaining) [ 0 100 ] - - location: 39 (remaining gas: 1039974.790 units remaining) + - location: 39 (remaining gas: 1039974.950 units remaining) [ (Pair 0 100) ] - - location: 20 (remaining gas: 1039974.790 units remaining) + - location: 20 (remaining gas: 1039974.950 units remaining) [ (Pair 2 100) (Pair 0 100) ] - - location: 22 (remaining gas: 1039974.745 units remaining) + - location: 22 (remaining gas: 1039974.905 units remaining) [ (Pair 0 100) ] - - location: 24 (remaining gas: 1039974.695 units remaining) + - location: 24 (remaining gas: 1039974.855 units remaining) [ (Pair 0 100) (Pair 0 100) ] - - location: 25 (remaining gas: 1039974.645 units remaining) + - location: 25 (remaining gas: 1039974.805 units remaining) [ 0 @acc_k (Pair 0 100) ] - - location: 26 (remaining gas: 1039974.600 units remaining) + - location: 26 (remaining gas: 1039974.760 units remaining) [ (Pair 0 100) ] - - location: 28 (remaining gas: 1039974.550 units remaining) + - location: 28 (remaining gas: 1039974.710 units remaining) [ 100 @acc_e ] - - location: 26 (remaining gas: 1039974.550 units remaining) + - location: 26 (remaining gas: 1039974.710 units remaining) [ 0 @acc_k 100 @acc_e ] - - location: 22 (remaining gas: 1039974.550 units remaining) + - location: 22 (remaining gas: 1039974.710 units remaining) [ (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 29 (remaining gas: 1039974.500 units remaining) + - location: 29 (remaining gas: 1039974.660 units remaining) [ (Pair 2 100) (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 30 (remaining gas: 1039974.455 units remaining) + - location: 30 (remaining gas: 1039974.615 units remaining) [ (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 32 (remaining gas: 1039974.405 units remaining) + - location: 32 (remaining gas: 1039974.565 units remaining) [ 2 @key 0 @acc_k 100 @acc_e ] - - location: 33 (remaining gas: 1039974.325 units remaining) + - location: 33 (remaining gas: 1039974.485 units remaining) [ 2 100 @acc_e ] - - location: 30 (remaining gas: 1039974.325 units remaining) + - location: 30 (remaining gas: 1039974.485 units remaining) [ (Pair 2 100) 2 100 @acc_e ] - - location: 34 (remaining gas: 1039974.285 units remaining) + - location: 34 (remaining gas: 1039974.445 units remaining) [ 2 (Pair 2 100) 100 @acc_e ] - - location: 35 (remaining gas: 1039974.240 units remaining) + - location: 35 (remaining gas: 1039974.400 units remaining) [ (Pair 2 100) 100 @acc_e ] - - location: 37 (remaining gas: 1039974.190 units remaining) + - location: 37 (remaining gas: 1039974.350 units remaining) [ 100 @elt 100 @acc_e ] - - location: 38 (remaining gas: 1039974.110 units remaining) + - location: 38 (remaining gas: 1039974.270 units remaining) [ 200 ] - - location: 35 (remaining gas: 1039974.110 units remaining) + - location: 35 (remaining gas: 1039974.270 units remaining) [ 2 200 ] - - location: 39 (remaining gas: 1039974.065 units remaining) + - location: 39 (remaining gas: 1039974.225 units remaining) [ (Pair 2 200) ] - - location: 20 (remaining gas: 1039974.065 units remaining) + - location: 20 (remaining gas: 1039974.225 units remaining) [ (Pair 2 200) ] - - location: 40 (remaining gas: 1039974.020 units remaining) + - location: 40 (remaining gas: 1039974.180 units remaining) [ {} (Pair 2 200) ] - - location: 42 (remaining gas: 1039973.975 units remaining) + - location: 42 (remaining gas: 1039974.135 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 b39b3a3026d8..3706af607598 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 @@ -24,129 +24,129 @@ trace - location: 19 (remaining gas: 1039975.675 units remaining) [ { Elt 1 1 ; Elt 2 100 } @parameter (Pair 0 0) ] - - location: 20 (remaining gas: 1039975.515 units remaining) + - location: 20 (remaining gas: 1039975.675 units remaining) [ (Pair 1 1) (Pair 0 0) ] - - location: 22 (remaining gas: 1039975.470 units remaining) + - location: 22 (remaining gas: 1039975.630 units remaining) [ (Pair 0 0) ] - - location: 24 (remaining gas: 1039975.420 units remaining) + - location: 24 (remaining gas: 1039975.580 units remaining) [ (Pair 0 0) (Pair 0 0) ] - - location: 25 (remaining gas: 1039975.370 units remaining) + - location: 25 (remaining gas: 1039975.530 units remaining) [ 0 @acc_k (Pair 0 0) ] - - location: 26 (remaining gas: 1039975.325 units remaining) + - location: 26 (remaining gas: 1039975.485 units remaining) [ (Pair 0 0) ] - - location: 28 (remaining gas: 1039975.275 units remaining) + - location: 28 (remaining gas: 1039975.435 units remaining) [ 0 @acc_e ] - - location: 26 (remaining gas: 1039975.275 units remaining) + - location: 26 (remaining gas: 1039975.435 units remaining) [ 0 @acc_k 0 @acc_e ] - - location: 22 (remaining gas: 1039975.275 units remaining) + - location: 22 (remaining gas: 1039975.435 units remaining) [ (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 29 (remaining gas: 1039975.225 units remaining) + - location: 29 (remaining gas: 1039975.385 units remaining) [ (Pair 1 1) (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 30 (remaining gas: 1039975.180 units remaining) + - location: 30 (remaining gas: 1039975.340 units remaining) [ (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 32 (remaining gas: 1039975.130 units remaining) + - location: 32 (remaining gas: 1039975.290 units remaining) [ 1 @key 0 @acc_k 0 @acc_e ] - - location: 33 (remaining gas: 1039975.050 units remaining) + - location: 33 (remaining gas: 1039975.210 units remaining) [ 1 0 @acc_e ] - - location: 30 (remaining gas: 1039975.050 units remaining) + - location: 30 (remaining gas: 1039975.210 units remaining) [ (Pair 1 1) 1 0 @acc_e ] - - location: 34 (remaining gas: 1039975.010 units remaining) + - location: 34 (remaining gas: 1039975.170 units remaining) [ 1 (Pair 1 1) 0 @acc_e ] - - location: 35 (remaining gas: 1039974.965 units remaining) + - location: 35 (remaining gas: 1039975.125 units remaining) [ (Pair 1 1) 0 @acc_e ] - - location: 37 (remaining gas: 1039974.915 units remaining) + - location: 37 (remaining gas: 1039975.075 units remaining) [ 1 @elt 0 @acc_e ] - - location: 38 (remaining gas: 1039974.835 units remaining) + - location: 38 (remaining gas: 1039974.995 units remaining) [ 1 ] - - location: 35 (remaining gas: 1039974.835 units remaining) + - location: 35 (remaining gas: 1039974.995 units remaining) [ 1 1 ] - - location: 39 (remaining gas: 1039974.790 units remaining) + - location: 39 (remaining gas: 1039974.950 units remaining) [ (Pair 1 1) ] - - location: 20 (remaining gas: 1039974.790 units remaining) + - location: 20 (remaining gas: 1039974.950 units remaining) [ (Pair 2 100) (Pair 1 1) ] - - location: 22 (remaining gas: 1039974.745 units remaining) + - location: 22 (remaining gas: 1039974.905 units remaining) [ (Pair 1 1) ] - - location: 24 (remaining gas: 1039974.695 units remaining) + - location: 24 (remaining gas: 1039974.855 units remaining) [ (Pair 1 1) (Pair 1 1) ] - - location: 25 (remaining gas: 1039974.645 units remaining) + - location: 25 (remaining gas: 1039974.805 units remaining) [ 1 @acc_k (Pair 1 1) ] - - location: 26 (remaining gas: 1039974.600 units remaining) + - location: 26 (remaining gas: 1039974.760 units remaining) [ (Pair 1 1) ] - - location: 28 (remaining gas: 1039974.550 units remaining) + - location: 28 (remaining gas: 1039974.710 units remaining) [ 1 @acc_e ] - - location: 26 (remaining gas: 1039974.550 units remaining) + - location: 26 (remaining gas: 1039974.710 units remaining) [ 1 @acc_k 1 @acc_e ] - - location: 22 (remaining gas: 1039974.550 units remaining) + - location: 22 (remaining gas: 1039974.710 units remaining) [ (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 29 (remaining gas: 1039974.500 units remaining) + - location: 29 (remaining gas: 1039974.660 units remaining) [ (Pair 2 100) (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 30 (remaining gas: 1039974.455 units remaining) + - location: 30 (remaining gas: 1039974.615 units remaining) [ (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 32 (remaining gas: 1039974.405 units remaining) + - location: 32 (remaining gas: 1039974.565 units remaining) [ 2 @key 1 @acc_k 1 @acc_e ] - - location: 33 (remaining gas: 1039974.325 units remaining) + - location: 33 (remaining gas: 1039974.485 units remaining) [ 3 1 @acc_e ] - - location: 30 (remaining gas: 1039974.325 units remaining) + - location: 30 (remaining gas: 1039974.485 units remaining) [ (Pair 2 100) 3 1 @acc_e ] - - location: 34 (remaining gas: 1039974.285 units remaining) + - location: 34 (remaining gas: 1039974.445 units remaining) [ 3 (Pair 2 100) 1 @acc_e ] - - location: 35 (remaining gas: 1039974.240 units remaining) + - location: 35 (remaining gas: 1039974.400 units remaining) [ (Pair 2 100) 1 @acc_e ] - - location: 37 (remaining gas: 1039974.190 units remaining) + - location: 37 (remaining gas: 1039974.350 units remaining) [ 100 @elt 1 @acc_e ] - - location: 38 (remaining gas: 1039974.110 units remaining) + - location: 38 (remaining gas: 1039974.270 units remaining) [ 101 ] - - location: 35 (remaining gas: 1039974.110 units remaining) + - location: 35 (remaining gas: 1039974.270 units remaining) [ 3 101 ] - - location: 39 (remaining gas: 1039974.065 units remaining) + - location: 39 (remaining gas: 1039974.225 units remaining) [ (Pair 3 101) ] - - location: 20 (remaining gas: 1039974.065 units remaining) + - location: 20 (remaining gas: 1039974.225 units remaining) [ (Pair 3 101) ] - - location: 40 (remaining gas: 1039974.020 units remaining) + - location: 40 (remaining gas: 1039974.180 units remaining) [ {} (Pair 3 101) ] - - location: 42 (remaining gas: 1039973.975 units remaining) + - location: 42 (remaining gas: 1039974.135 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 4bf22576f522..cbebb51386dd 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" @@ -15,54 +15,54 @@ trace - location: 10 (remaining gas: 1039987.102 units remaining) [ { Elt "bar" 5 ; Elt "foo" 1 } @storage 15 @parameter ] - - location: 11 (remaining gas: 1039985.500 units remaining) + - location: 11 (remaining gas: 1039987.102 units remaining) [ (Pair "bar" 5) 15 @parameter ] - - location: 13 (remaining gas: 1039985.450 units remaining) + - location: 13 (remaining gas: 1039987.052 units remaining) [ 5 @elt 15 @parameter ] - - location: 14 (remaining gas: 1039985.405 units remaining) + - location: 14 (remaining gas: 1039987.007 units remaining) [ 15 @parameter ] - - location: 16 (remaining gas: 1039985.355 units remaining) + - location: 16 (remaining gas: 1039986.957 units remaining) [ 15 @parameter 15 @parameter ] - - location: 14 (remaining gas: 1039985.355 units remaining) + - location: 14 (remaining gas: 1039986.957 units remaining) [ 5 @elt 15 @parameter 15 @parameter ] - - location: 17 (remaining gas: 1039985.275 units remaining) + - location: 17 (remaining gas: 1039986.877 units remaining) [ 20 15 @parameter ] - - location: 11 (remaining gas: 1039985.275 units remaining) + - location: 11 (remaining gas: 1039986.877 units remaining) [ (Pair "foo" 1) 15 @parameter ] - - location: 13 (remaining gas: 1039985.225 units remaining) + - location: 13 (remaining gas: 1039986.827 units remaining) [ 1 @elt 15 @parameter ] - - location: 14 (remaining gas: 1039985.180 units remaining) + - location: 14 (remaining gas: 1039986.782 units remaining) [ 15 @parameter ] - - location: 16 (remaining gas: 1039985.130 units remaining) + - location: 16 (remaining gas: 1039986.732 units remaining) [ 15 @parameter 15 @parameter ] - - location: 14 (remaining gas: 1039985.130 units remaining) + - location: 14 (remaining gas: 1039986.732 units remaining) [ 1 @elt 15 @parameter 15 @parameter ] - - location: 17 (remaining gas: 1039985.050 units remaining) + - location: 17 (remaining gas: 1039986.652 units remaining) [ 16 15 @parameter ] - - location: 11 (remaining gas: 1039985.050 units remaining) + - location: 11 (remaining gas: 1039986.652 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } 15 @parameter ] - - location: 18 (remaining gas: 1039985.005 units remaining) + - location: 18 (remaining gas: 1039986.607 units remaining) [ 15 @parameter ] - - location: 20 (remaining gas: 1039984.960 units remaining) + - location: 20 (remaining gas: 1039986.562 units remaining) [ ] - - location: 18 (remaining gas: 1039984.960 units remaining) + - location: 18 (remaining gas: 1039986.562 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 21 (remaining gas: 1039984.915 units remaining) + - location: 21 (remaining gas: 1039986.517 units remaining) [ {} { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 23 (remaining gas: 1039984.870 units remaining) + - location: 23 (remaining gas: 1039986.472 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 7d1034ed3c47..0ea7363002e4 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" @@ -15,36 +15,36 @@ trace - location: 10 (remaining gas: 1039987.826 units remaining) [ { Elt "foo" 1 } @storage 10 @parameter ] - - location: 11 (remaining gas: 1039986.985 units remaining) + - location: 11 (remaining gas: 1039987.826 units remaining) [ (Pair "foo" 1) 10 @parameter ] - - location: 13 (remaining gas: 1039986.935 units remaining) + - location: 13 (remaining gas: 1039987.776 units remaining) [ 1 @elt 10 @parameter ] - - location: 14 (remaining gas: 1039986.890 units remaining) + - location: 14 (remaining gas: 1039987.731 units remaining) [ 10 @parameter ] - - location: 16 (remaining gas: 1039986.840 units remaining) + - location: 16 (remaining gas: 1039987.681 units remaining) [ 10 @parameter 10 @parameter ] - - location: 14 (remaining gas: 1039986.840 units remaining) + - location: 14 (remaining gas: 1039987.681 units remaining) [ 1 @elt 10 @parameter 10 @parameter ] - - location: 17 (remaining gas: 1039986.760 units remaining) + - location: 17 (remaining gas: 1039987.601 units remaining) [ 11 10 @parameter ] - - location: 11 (remaining gas: 1039986.760 units remaining) + - location: 11 (remaining gas: 1039987.601 units remaining) [ { Elt "foo" 11 } 10 @parameter ] - - location: 18 (remaining gas: 1039986.715 units remaining) + - location: 18 (remaining gas: 1039987.556 units remaining) [ 10 @parameter ] - - location: 20 (remaining gas: 1039986.670 units remaining) + - location: 20 (remaining gas: 1039987.511 units remaining) [ ] - - location: 18 (remaining gas: 1039986.670 units remaining) + - location: 18 (remaining gas: 1039987.511 units remaining) [ { Elt "foo" 11 } ] - - location: 21 (remaining gas: 1039986.625 units remaining) + - location: 21 (remaining gas: 1039987.466 units remaining) [ {} { Elt "foo" 11 } ] - - location: 23 (remaining gas: 1039986.580 units remaining) + - location: 23 (remaining gas: 1039987.421 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 ca1d0beec5f3..7ba2894a9bff 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 @@ -15,18 +15,18 @@ trace - location: 10 (remaining gas: 1039988.430 units remaining) [ {} @storage 10 @parameter ] - - location: 11 (remaining gas: 1039988.350 units remaining) + - location: 11 (remaining gas: 1039988.430 units remaining) [ {} 10 @parameter ] - - location: 18 (remaining gas: 1039988.305 units remaining) + - location: 18 (remaining gas: 1039988.385 units remaining) [ 10 @parameter ] - - location: 20 (remaining gas: 1039988.260 units remaining) + - location: 20 (remaining gas: 1039988.340 units remaining) [ ] - - location: 18 (remaining gas: 1039988.260 units remaining) + - location: 18 (remaining gas: 1039988.340 units remaining) [ {} ] - - location: 21 (remaining gas: 1039988.215 units remaining) + - location: 21 (remaining gas: 1039988.295 units remaining) [ {} {} ] - - location: 23 (remaining gas: 1039988.170 units remaining) + - location: 23 (remaining gas: 1039988.250 units remaining) [ (Pair {} {}) ] 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 e905d3af3445..965262cedd8f 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 @@ -37,23 +37,23 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039975.482 units remaining) + - location: 30 (remaining gas: 1039976.030 units remaining) [ 0 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039975.437 units remaining) + - location: 32 (remaining gas: 1039975.985 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039975.387 units remaining) + - location: 34 (remaining gas: 1039975.935 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: 1039975.387 units remaining) + - location: 32 (remaining gas: 1039975.935 units remaining) [ 0 @s.elt { 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: 1039975.242 units remaining) + - location: 16 (remaining gas: 1039975.790 units remaining) [ 3 0 ] - - location: 16 (remaining gas: 1039975.197 units remaining) + - location: 16 (remaining gas: 1039975.745 units remaining) [ (Pair 3 0) ] - - location: 16 (remaining gas: 1039975.152 units remaining) + - location: 16 (remaining gas: 1039975.700 units remaining) [ 4 (Pair 3 0) ] - - location: 16 (remaining gas: 1039975.107 units remaining) + - location: 16 (remaining gas: 1039975.655 units remaining) [ (Pair 4 3 0) @arg ] - - location: 17 (remaining gas: 1039975.057 units remaining) + - location: 17 (remaining gas: 1039975.605 units remaining) [ 4 (Pair 3 0) ] - - location: 18 (remaining gas: 1039975.012 units remaining) + - location: 18 (remaining gas: 1039975.560 units remaining) [ (Pair 3 0) ] - - location: 20 (remaining gas: 1039974.962 units remaining) + - location: 20 (remaining gas: 1039975.510 units remaining) [ 3 0 ] - - location: 18 (remaining gas: 1039974.962 units remaining) + - location: 18 (remaining gas: 1039975.510 units remaining) [ 4 3 0 ] - - location: 21 (remaining gas: 1039974.882 units remaining) + - location: 21 (remaining gas: 1039975.430 units remaining) [ 7 0 ] - - location: 22 (remaining gas: 1039974.800 units remaining) + - location: 22 (remaining gas: 1039975.348 units remaining) [ 0 ] - - location: 35 (remaining gas: 1039974.800 units remaining) + - location: 35 (remaining gas: 1039975.348 units remaining) [ 0 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039974.800 units remaining) + - location: 30 (remaining gas: 1039975.348 units remaining) [ 1 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039974.755 units remaining) + - location: 32 (remaining gas: 1039975.303 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039974.705 units remaining) + - location: 34 (remaining gas: 1039975.253 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: 1039974.705 units remaining) + - location: 32 (remaining gas: 1039975.253 units remaining) [ 1 @s.elt { 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: 1039974.560 units remaining) + - location: 16 (remaining gas: 1039975.108 units remaining) [ 3 1 ] - - location: 16 (remaining gas: 1039974.515 units remaining) + - location: 16 (remaining gas: 1039975.063 units remaining) [ (Pair 3 1) ] - - location: 16 (remaining gas: 1039974.470 units remaining) + - location: 16 (remaining gas: 1039975.018 units remaining) [ 4 (Pair 3 1) ] - - location: 16 (remaining gas: 1039974.425 units remaining) + - location: 16 (remaining gas: 1039974.973 units remaining) [ (Pair 4 3 1) @arg ] - - location: 17 (remaining gas: 1039974.375 units remaining) + - location: 17 (remaining gas: 1039974.923 units remaining) [ 4 (Pair 3 1) ] - - location: 18 (remaining gas: 1039974.330 units remaining) + - location: 18 (remaining gas: 1039974.878 units remaining) [ (Pair 3 1) ] - - location: 20 (remaining gas: 1039974.280 units remaining) + - location: 20 (remaining gas: 1039974.828 units remaining) [ 3 1 ] - - location: 18 (remaining gas: 1039974.280 units remaining) + - location: 18 (remaining gas: 1039974.828 units remaining) [ 4 3 1 ] - - location: 21 (remaining gas: 1039974.200 units remaining) + - location: 21 (remaining gas: 1039974.748 units remaining) [ 7 1 ] - - location: 22 (remaining gas: 1039974.114 units remaining) + - location: 22 (remaining gas: 1039974.662 units remaining) [ 7 ] - - location: 35 (remaining gas: 1039974.114 units remaining) + - location: 35 (remaining gas: 1039974.662 units remaining) [ 7 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039974.114 units remaining) + - location: 30 (remaining gas: 1039974.662 units remaining) [ 2 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039974.069 units remaining) + - location: 32 (remaining gas: 1039974.617 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039974.019 units remaining) + - location: 34 (remaining gas: 1039974.567 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: 1039974.019 units remaining) + - location: 32 (remaining gas: 1039974.567 units remaining) [ 2 @s.elt { 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: 1039973.874 units remaining) + - location: 16 (remaining gas: 1039974.422 units remaining) [ 3 2 ] - - location: 16 (remaining gas: 1039973.829 units remaining) + - location: 16 (remaining gas: 1039974.377 units remaining) [ (Pair 3 2) ] - - location: 16 (remaining gas: 1039973.784 units remaining) + - location: 16 (remaining gas: 1039974.332 units remaining) [ 4 (Pair 3 2) ] - - location: 16 (remaining gas: 1039973.739 units remaining) + - location: 16 (remaining gas: 1039974.287 units remaining) [ (Pair 4 3 2) @arg ] - - location: 17 (remaining gas: 1039973.689 units remaining) + - location: 17 (remaining gas: 1039974.237 units remaining) [ 4 (Pair 3 2) ] - - location: 18 (remaining gas: 1039973.644 units remaining) + - location: 18 (remaining gas: 1039974.192 units remaining) [ (Pair 3 2) ] - - location: 20 (remaining gas: 1039973.594 units remaining) + - location: 20 (remaining gas: 1039974.142 units remaining) [ 3 2 ] - - location: 18 (remaining gas: 1039973.594 units remaining) + - location: 18 (remaining gas: 1039974.142 units remaining) [ 4 3 2 ] - - location: 21 (remaining gas: 1039973.514 units remaining) + - location: 21 (remaining gas: 1039974.062 units remaining) [ 7 2 ] - - location: 22 (remaining gas: 1039973.428 units remaining) + - location: 22 (remaining gas: 1039973.976 units remaining) [ 14 ] - - location: 35 (remaining gas: 1039973.428 units remaining) + - location: 35 (remaining gas: 1039973.976 units remaining) [ 14 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039973.428 units remaining) + - location: 30 (remaining gas: 1039973.976 units remaining) [ 3 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039973.383 units remaining) + - location: 32 (remaining gas: 1039973.931 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039973.333 units remaining) + - location: 34 (remaining gas: 1039973.881 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: 1039973.333 units remaining) + - location: 32 (remaining gas: 1039973.881 units remaining) [ 3 @s.elt { 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: 1039973.188 units remaining) + - location: 16 (remaining gas: 1039973.736 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039973.143 units remaining) + - location: 16 (remaining gas: 1039973.691 units remaining) [ (Pair 3 3) ] - - location: 16 (remaining gas: 1039973.098 units remaining) + - location: 16 (remaining gas: 1039973.646 units remaining) [ 4 (Pair 3 3) ] - - location: 16 (remaining gas: 1039973.053 units remaining) + - location: 16 (remaining gas: 1039973.601 units remaining) [ (Pair 4 3 3) @arg ] - - location: 17 (remaining gas: 1039973.003 units remaining) + - location: 17 (remaining gas: 1039973.551 units remaining) [ 4 (Pair 3 3) ] - - location: 18 (remaining gas: 1039972.958 units remaining) + - location: 18 (remaining gas: 1039973.506 units remaining) [ (Pair 3 3) ] - - location: 20 (remaining gas: 1039972.908 units remaining) + - location: 20 (remaining gas: 1039973.456 units remaining) [ 3 3 ] - - location: 18 (remaining gas: 1039972.908 units remaining) + - location: 18 (remaining gas: 1039973.456 units remaining) [ 4 3 3 ] - - location: 21 (remaining gas: 1039972.828 units remaining) + - location: 21 (remaining gas: 1039973.376 units remaining) [ 7 3 ] - - location: 22 (remaining gas: 1039972.742 units remaining) + - location: 22 (remaining gas: 1039973.290 units remaining) [ 21 ] - - location: 35 (remaining gas: 1039972.742 units remaining) + - location: 35 (remaining gas: 1039973.290 units remaining) [ 21 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039972.742 units remaining) + - location: 30 (remaining gas: 1039973.290 units remaining) [ { 0 ; 7 ; 14 ; 21 } { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 36 (remaining gas: 1039972.697 units remaining) + - location: 36 (remaining gas: 1039973.245 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 38 (remaining gas: 1039972.652 units remaining) + - location: 38 (remaining gas: 1039973.200 units remaining) [ ] - - location: 36 (remaining gas: 1039972.652 units remaining) + - location: 36 (remaining gas: 1039973.200 units remaining) [ { 0 ; 7 ; 14 ; 21 } ] - - location: 39 (remaining gas: 1039972.607 units remaining) + - location: 39 (remaining gas: 1039973.155 units remaining) [ {} { 0 ; 7 ; 14 ; 21 } ] - - location: 41 (remaining gas: 1039972.562 units remaining) + - location: 41 (remaining gas: 1039973.110 units remaining) [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] 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 3ac7e6cb98cb..108496c0759e 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" @@ -17,26 +17,26 @@ trace - location: 12 (remaining gas: 1039990.279 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 13 (remaining gas: 1039989.758 units remaining) + - location: 13 (remaining gas: 1039990.279 units remaining) [ "c" @parameter.elt {} ] - - location: 15 (remaining gas: 1039989.708 units remaining) + - location: 15 (remaining gas: 1039990.229 units remaining) [ { "c" } ] - - location: 13 (remaining gas: 1039989.708 units remaining) + - location: 13 (remaining gas: 1039990.229 units remaining) [ "b" @parameter.elt { "c" } ] - - location: 15 (remaining gas: 1039989.658 units remaining) + - location: 15 (remaining gas: 1039990.179 units remaining) [ { "b" ; "c" } ] - - location: 13 (remaining gas: 1039989.658 units remaining) + - location: 13 (remaining gas: 1039990.179 units remaining) [ "a" @parameter.elt { "b" ; "c" } ] - - location: 15 (remaining gas: 1039989.608 units remaining) + - location: 15 (remaining gas: 1039990.129 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 13 (remaining gas: 1039989.608 units remaining) + - location: 13 (remaining gas: 1039990.129 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039989.563 units remaining) + - location: 16 (remaining gas: 1039990.084 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039989.518 units remaining) + - location: 18 (remaining gas: 1039990.039 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 69b3aafc05ca..5817e7d4fae1 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" @@ -17,11 +17,11 @@ trace - location: 12 (remaining gas: 1039991.071 units remaining) [ {} @parameter {} ] - - location: 13 (remaining gas: 1039990.571 units remaining) + - location: 13 (remaining gas: 1039991.071 units remaining) [ {} ] - - location: 16 (remaining gas: 1039990.526 units remaining) + - location: 16 (remaining gas: 1039991.026 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039990.481 units remaining) + - location: 18 (remaining gas: 1039990.981 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 59e62a8ebc60..204f58fd8e67 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 @@ -17,31 +17,31 @@ trace - location: 12 (remaining gas: 1039989.915 units remaining) [ { -100 ; 1 ; 2 ; 3 } @parameter 0 ] - - location: 13 (remaining gas: 1039989.691 units remaining) + - location: 13 (remaining gas: 1039989.915 units remaining) [ -100 @parameter.elt 0 ] - - location: 15 (remaining gas: 1039989.611 units remaining) + - location: 15 (remaining gas: 1039989.835 units remaining) [ -100 ] - - location: 13 (remaining gas: 1039989.611 units remaining) + - location: 13 (remaining gas: 1039989.835 units remaining) [ 1 @parameter.elt -100 ] - - location: 15 (remaining gas: 1039989.531 units remaining) + - location: 15 (remaining gas: 1039989.755 units remaining) [ -99 ] - - location: 13 (remaining gas: 1039989.531 units remaining) + - location: 13 (remaining gas: 1039989.755 units remaining) [ 2 @parameter.elt -99 ] - - location: 15 (remaining gas: 1039989.451 units remaining) + - location: 15 (remaining gas: 1039989.675 units remaining) [ -97 ] - - location: 13 (remaining gas: 1039989.451 units remaining) + - location: 13 (remaining gas: 1039989.675 units remaining) [ 3 @parameter.elt -97 ] - - location: 15 (remaining gas: 1039989.371 units remaining) + - location: 15 (remaining gas: 1039989.595 units remaining) [ -94 ] - - location: 13 (remaining gas: 1039989.371 units remaining) + - location: 13 (remaining gas: 1039989.595 units remaining) [ -94 ] - - location: 16 (remaining gas: 1039989.326 units remaining) + - location: 16 (remaining gas: 1039989.550 units remaining) [ {} -94 ] - - location: 18 (remaining gas: 1039989.281 units remaining) + - location: 18 (remaining gas: 1039989.505 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 452ca4aa6f9a..80b181ddf9be 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 @@ -17,16 +17,16 @@ trace - location: 12 (remaining gas: 1039991.325 units remaining) [ { 1 } @parameter 0 ] - - location: 13 (remaining gas: 1039991.209 units remaining) + - location: 13 (remaining gas: 1039991.325 units remaining) [ 1 @parameter.elt 0 ] - - location: 15 (remaining gas: 1039991.129 units remaining) + - location: 15 (remaining gas: 1039991.245 units remaining) [ 1 ] - - location: 13 (remaining gas: 1039991.129 units remaining) + - location: 13 (remaining gas: 1039991.245 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039991.084 units remaining) + - location: 16 (remaining gas: 1039991.200 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039991.039 units remaining) + - location: 18 (remaining gas: 1039991.155 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 4401d4783aa0..c932bda2194e 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 @@ -17,11 +17,11 @@ trace - location: 12 (remaining gas: 1039991.645 units remaining) [ {} @parameter 0 ] - - location: 13 (remaining gas: 1039991.565 units remaining) + - location: 13 (remaining gas: 1039991.645 units remaining) [ 0 ] - - location: 16 (remaining gas: 1039991.520 units remaining) + - location: 16 (remaining gas: 1039991.600 units remaining) [ {} 0 ] - - location: 18 (remaining gas: 1039991.475 units remaining) + - location: 18 (remaining gas: 1039991.555 units remaining) [ (Pair {} 0) ] -- GitLab From cfd73c35b3f69776c68bdf54e8ac658b4b6501c2 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 08:18:40 +0200 Subject: [PATCH 44/69] Proto/Michelson: Ensure that KLog is introduced only once Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index cff253a1bebb..3912c30d177c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1433,7 +1433,7 @@ and log : | (_, 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 = KLog (k, logger) in + let with_log k = match k with KLog _ -> k | _ -> KLog (k, logger) in match k with | IList_map (_, body, k) -> (ilist_map [@ocaml.tailcall]) with_log g gas body k ks accu stack @@ -1462,49 +1462,49 @@ and klog : fun logger g gas ks0 ks accu stack -> (match ks with KLog _ -> () | _ -> log_control logger ks) ; let enable_log ki = log_kinstr logger ki in - let mk k = KLog (k, logger) 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 = KLog (ks', logger) 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' = KLog (ks', logger) in + let ks' = mk ks' in let ki = enable_log ki in (kloop_in [@ocaml.tailcall]) g gas ks0 ks ki ks' accu stack | KReturn (stack', ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in let ks = KReturn (stack', ks') in (next [@ocaml.tailcall]) g gas ks accu stack | KLoop_in_left (ki, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in let ki = enable_log ki in (kloop_in_left [@ocaml.tailcall]) g gas ks0 ks ki ks' accu stack | KUndip (x, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in let ks = KUndip (x, ks') in (next [@ocaml.tailcall]) g gas ks accu stack | KIter (body, xs, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in let body = enable_log body in (kiter [@ocaml.tailcall]) mk g gas ks0 body xs ks' accu stack | KList_enter_body (body, xs, ys, len, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in (klist_enter [@ocaml.tailcall]) mk g gas ks body xs ys len ks' accu stack | KList_exit_body (body, xs, ys, len, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in (klist_exit [@ocaml.tailcall]) mk g gas ks body xs ys len ks' accu stack | KMap_enter_body (body, xs, ys, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in (kmap_enter [@ocaml.tailcall]) mk g gas ks body xs ys ks' accu stack | KMap_exit_body (body, xs, ys, yk, ks') -> - let ks' = KLog (ks', logger) in + let ks' = mk ks' in (kmap_exit [@ocaml.tailcall]) mk g gas ks body xs ys yk ks' accu stack - | KLog (ks', _) -> + | KLog (_, _) -> (* This case should never happen. *) - (next [@ocaml.tailcall]) g gas ks' accu stack + (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] (* -- GitLab From 5d25bfe0e9b76e9d0f86d3ba09477af077817a42 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 08:23:28 +0200 Subject: [PATCH 45/69] Proto/Michelson: Fix instrumentation of fresh cont. from loops Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 3912c30d177c..5ecbcbc90047 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1445,6 +1445,12 @@ and log : (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 + | 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 | _ -> (step [@ocaml.tailcall]) g gas k (with_log ks) accu stack [@@inline] -- GitLab From b87dfa9920b02a5abc6e6c2fab68a586dd4bd4cb Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 08:29:36 +0200 Subject: [PATCH 46/69] Proto/Michelson: Optimize the elaboration of IList_map Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 114437382979..7985e98838c0 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4162,18 +4162,15 @@ and parse_instr : invalid_map_body ( merge_stacks ~legacy loc ctxt 1 rest starting_rest >>? fun (Eq, rest, ctxt) -> + let binfo = kinfo_of_descr kibody in + let hinfo = + {iloc = loc; kstack_ty = Item_t (ret, rest, ret_annot)} + in let list_map = { csize = 1; apply = (fun kinfo k -> - let binfo = kinfo_of_descr kibody in - let hinfo = - { - iloc = loc; - kstack_ty = Item_t (ret, rest, ret_annot); - } - in let ibody = kibody.instr.apply binfo (IHalt hinfo) in IList_map (kinfo, ibody, k)); } -- GitLab From 8090f3c0cdcbd0ff18bebb39bfdc858bc67e5623 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 09:09:30 +0200 Subject: [PATCH 47/69] Proto/Michelson: Refactor to avoid code duplication Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_ir_translator.ml | 76 +++++++------------ 1 file changed, 26 insertions(+), 50 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 7985e98838c0..774449ae7087 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4201,6 +4201,17 @@ and parse_instr : body (Item_t (elt, rest, elt_annot)) >>=? fun (judgement, ctxt) -> + let mk_list_iter ibody = + { + csize = 0; + apply = + (fun kinfo k -> + 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)); + } + in match judgement with | Typed ({aft; _} as ibody) -> let invalid_iter_body () = @@ -4214,33 +4225,10 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - let list_iter = - { - csize = 0; - apply = - (fun kinfo k -> - 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)); - } - in - ( typed_no_lwt ctxt loc list_iter rest + ( typed_no_lwt ctxt loc (mk_list_iter ibody) rest : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - let list_iter = - { - csize = 0; - apply = - (fun kinfo k -> - let ibody = descr rest in - 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)); - } - in - typed ctxt loc list_iter rest ) + typed ctxt loc (mk_list_iter (descr rest)) rest ) (* sets *) | (Prim (loc, I_EMPTY_SET, [t], annot), rest) -> parse_comparable_ty ctxt t @@ -4267,6 +4255,17 @@ and parse_instr : body (Item_t (elt, rest, elt_annot)) >>=? fun (judgement, ctxt) -> + let mk_iset_iter ibody = + { + csize = 0; + apply = + (fun kinfo k -> + 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)); + } + in match judgement with | Typed ({aft; _} as ibody) -> let invalid_iter_body () = @@ -4280,33 +4279,10 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - let instr = - { - csize = 0; - apply = - (fun kinfo k -> - 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)); - } - in - ( typed_no_lwt ctxt loc instr rest + ( typed_no_lwt ctxt loc (mk_iset_iter ibody) rest : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - let instr = - { - csize = 0; - apply = - (fun kinfo k -> - let ibody = descr rest in - 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)); - } - in - typed ctxt loc instr rest ) + typed ctxt loc (mk_iset_iter (descr rest)) rest ) | ( Prim (loc, I_MEM, [], annot), Item_t (v, Item_t (Set_t (elt, _), rest, _), _) ) -> let elt = ty_of_comparable_ty elt in -- GitLab From aaa238caac3eb5dbc49668a46020e271852c363d Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 09:10:24 +0200 Subject: [PATCH 48/69] Proto/Michelson: Optimize a bit more the elaboration of IList_map Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 774449ae7087..220e61aa9c1f 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4166,13 +4166,11 @@ and parse_instr : let hinfo = {iloc = loc; kstack_ty = Item_t (ret, rest, ret_annot)} in + let ibody = kibody.instr.apply binfo (IHalt hinfo) in let list_map = { csize = 1; - apply = - (fun kinfo k -> - let ibody = kibody.instr.apply binfo (IHalt hinfo) in - IList_map (kinfo, ibody, k)); + apply = (fun kinfo k -> IList_map (kinfo, ibody, k)); } in typed_no_lwt -- GitLab From 5de90e613a77422f99b0585aeb0ad0648551d7e2 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 09:23:19 +0200 Subject: [PATCH 49/69] Proto/Michelson: Remove useless INop No rest for the Michelson interpreter! Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 2 -- .../lib_protocol/script_interpreter_defs.ml | 2 -- src/proto_alpha/lib_protocol/script_ir_translator.ml | 4 ++-- src/proto_alpha/lib_protocol/script_typed_ir.ml | 5 ----- .../lib_protocol/test/test_interpretation.ml | 10 +++++----- 5 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 5ecbcbc90047..926e8f0e3c48 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -948,8 +948,6 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = >>=? fun (v, _ctxt) -> let v = Micheline.strip_locations v in get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) - | INop (_, k) -> - (step [@ocaml.tailcall]) g gas k ks accu stack (* comparison *) | ICompare (_, ty, k) -> let a = 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 a930824b8974..9a0c0c34ed92 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -338,8 +338,6 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = Interp_costs.push | IFailwith _ -> Gas.free - | INop _ -> - Interp_costs.nop | IEq _ -> Interp_costs.eq | INeq _ -> diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 220e61aa9c1f..38ed4a6fdbe3 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -5505,14 +5505,14 @@ and parse_instr : >>?= fun (Ex_ty cast_t, ctxt) -> merge_types ~legacy ctxt loc cast_t t >>?= fun (Eq, _, ctxt) -> - let instr = {csize = 0; apply = (fun kinfo k -> INop (kinfo, k))} in + let instr = {csize = 0; apply = (fun _ k -> k)} in ( typed ctxt loc instr (Item_t (cast_t, stack, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_RENAME, [], annot), Item_t (t, (Item_t _ as stack), _)) -> parse_var_annot loc annot >>?= fun annot -> (* can erase annot *) - let instr = {csize = 0; apply = (fun kinfo k -> INop (kinfo, k))} in + let instr = {csize = 0; apply = (fun _ k -> k)} in typed ctxt loc instr (Item_t (t, stack, annot)) (* packing *) | (Prim (loc, I_PACK, [], annot), Item_t (t, rest, unpacked_annot)) -> diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index d4a1b5a530e6..56e432fe184c 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -638,7 +638,6 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * logger option * ('b, 't, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr - | INop : ('a, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* Comparison ---------- @@ -1448,8 +1447,6 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IFailwith (kinfo, _, _, _, _) -> kinfo - | INop (kinfo, _) -> - kinfo | ICompare (kinfo, _, _) -> kinfo | IEq (kinfo, _) -> @@ -1784,8 +1781,6 @@ let kinstr_rewritek : ILambda (kinfo, l, f.apply k) | IFailwith (kinfo, i, ty, logger, k) -> IFailwith (kinfo, i, ty, logger, f.apply k) - | INop (kinfo, k) -> - INop (kinfo, f.apply k) | ICompare (kinfo, ty, k) -> ICompare (kinfo, ty, f.apply k) | IEq (kinfo, k) -> diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index 93af94ff0405..3a016d0f5341 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -93,14 +93,14 @@ let test_stack_overflow () = let open Script_typed_ir in test_context () >>=? fun ctxt -> - let stack = Script_typed_ir.Bot_t in - let descr kinstr = - Script_typed_ir.{kloc = 0; kbef = stack; kaft = stack; kinstr} - 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 None, stack, None)} in let enorme_et_seq n = let rec aux n acc = - if n = 0 then acc else aux (n - 1) (INop (kinfo, acc)) + if n = 0 then acc + else aux (n - 1) (IConst (kinfo, true, IDrop (kinfo', acc))) in aux n (IHalt kinfo) in -- GitLab From b639fe0319a6c61bcea97812e6fda5e458d8623a Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 11:56:28 +0200 Subject: [PATCH 50/69] Proto/Michelson: Optimize the elaboration by passing csize as an arg Courtesy of Mehdi Bouaziz. Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_ir_translator.ml | 1236 ++++++++--------- .../lib_protocol/script_ir_translator.mli | 1 - 2 files changed, 551 insertions(+), 686 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 38ed4a6fdbe3..c377a6364ec9 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -48,13 +48,8 @@ type ex_stack_ty = Ex_stack_ty : ('a, 's) stack_ty -> ex_stack_ty elaboration needs to wait for the next instruction to be elaborated to be able to construct the current instruction. - In addition, we maintain the value of - `number_of_generated_growing_types` in the field [csize] to accelerate - a little bit the evaluation of this quantity. - *) type ('a, 's, 'b, 'u) cinstr = { - csize : int; apply : 'r 'f. ('a, 's) kinfo -> ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr; } @@ -95,7 +90,6 @@ let compose_descr : aft = d2.aft; instr = { - csize = d1.instr.csize + d2.instr.csize; apply = (fun _ k -> d1.instr.apply @@ -248,21 +242,6 @@ let rec type_size_of_stack_head : type a s. (a, s) stack_ty -> up_to:int -> int (type_size_of_stack_head tail ~up_to:(up_to - 1)) else 0 -(* This is the depth of the stack to inspect for sizes overflow. We - only need to check the produced types that can be larger than the - arguments. That's why Swap is 0 for instance as no type grows. - Constant sized types are not checked: it is assumed they are lower - than the bound (otherwise every program would be rejected). - - In a [(b, a) instr], it is the number of types in [a] that may exceed the - limit, knowing that types in [b] don't. - If the instr is parameterized by [(b', a') descr] then you may assume that - types in [a'] don't exceed the limit. -*) -let number_of_generated_growing_types : - type a s r f. (a, s, r, f) cinstr -> int = - fun c -> c.csize - (* ---- Error helpers -------------------------------------------------------*) let location = function @@ -3464,17 +3443,31 @@ and parse_instr : >>? fun (stack_ty, _) -> unparse_stack ctxt aft >|? fun (aft, _) -> log loc stack_ty aft ; () in + (* + In the following functions, [number_of_generated_growing_types] is the + depth of the stack to inspect for sizes overflow. We only need to check + the produced types that can be larger than the arguments. That's why Swap + is 0 for instance as no type grows. + Constant sized types are not checked: it is assumed they are lower than + the bound (otherwise every program would be rejected). + + In a [(b, a) instr], it is the number of types in [a] that may exceed the + limit, knowing that types in [b] don't. + If the instr is parameterized by [(b', a') descr] then you may assume that + types in [a'] don't exceed the limit. + *) let return_no_lwt : type a s. - context -> (a, s) judgement -> ((a, s) judgement * context) tzresult = - fun ctxt judgement -> + context -> + int -> + (a, s) judgement -> + ((a, s) judgement * context) tzresult = + fun ctxt number_of_generated_growing_types judgement -> match judgement with - | Typed {instr; loc; aft; _} -> + | Typed {loc; aft; _} -> let maximum_type_size = Constants.michelson_maximum_type_size ctxt in let type_size = - type_size_of_stack_head - aft - ~up_to:(number_of_generated_growing_types instr) + type_size_of_stack_head aft ~up_to:number_of_generated_growing_types in if Compare.Int.(type_size > maximum_type_size) then error (Type_too_large (loc, type_size, maximum_type_size)) @@ -3485,16 +3478,22 @@ and parse_instr : let return : type a s. context -> + int -> (a, s) judgement -> ((a, s) judgement * context) tzresult Lwt.t = - fun ctxt judgement -> Lwt.return @@ return_no_lwt ctxt judgement + fun ctxt number_of_generated_growing_types judgement -> + Lwt.return + @@ return_no_lwt ctxt number_of_generated_growing_types judgement in - let typed_no_lwt ctxt loc instr aft = + let typed_no_lwt ctxt number_of_generated_growing_types loc instr aft = log_stack ctxt loc stack_ty aft - >>? fun () -> return_no_lwt ctxt (Typed {loc; instr; bef = stack_ty; aft}) + >>? fun () -> + let j = Typed {loc; instr; bef = stack_ty; aft} in + return_no_lwt ctxt number_of_generated_growing_types j in - let typed ctxt loc instr aft = - Lwt.return @@ typed_no_lwt ctxt loc instr aft + let typed ctxt number_of_generated_growing_types loc instr aft = + Lwt.return + @@ typed_no_lwt ctxt number_of_generated_growing_types loc instr aft in Gas.consume ctxt Typecheck_costs.parse_instr_cycle >>?= fun ctxt -> @@ -3517,11 +3516,7 @@ and parse_instr : | (Prim (loc, I_DROP, [], annot), Item_t (_, rest, _)) -> ( error_unexpected_annot loc annot >>?= fun () -> - typed - ctxt - loc - {csize = 0; apply = (fun kinfo k -> IDrop (kinfo, k))} - rest + typed ctxt 0 loc {apply = (fun kinfo k -> IDrop (kinfo, k))} rest : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_DROP, [n], result_annot), whole_stack) -> parse_uint10 n @@ -3550,7 +3545,7 @@ and parse_instr : 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 - typed ctxt loc {csize = 0; apply = kdropn} stack_after_drops + typed ctxt 0 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. However, DROP is equivalent to DROP 1 so hinting at an arity of 1 makes sense. *) @@ -3564,8 +3559,8 @@ and parse_instr : >|? fun (t, _ctxt) -> Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc v) >>?= fun ctxt -> - let dup = {csize = 0; apply = (fun kinfo k -> IDup (kinfo, k))} in - typed ctxt loc dup (Item_t (v, Item_t (v, rest, stack_annot), annot)) + let dup = {apply = (fun kinfo k -> IDup (kinfo, k))} in + typed ctxt 0 loc dup (Item_t (v, Item_t (v, rest, stack_annot), annot)) | (Prim (loc, I_DUP, [n], v_annot), stack_ty) -> parse_var_annot loc v_annot >>?= fun annot -> @@ -3599,10 +3594,8 @@ and parse_instr : >|? fun (t, _ctxt) -> Non_dupable_type (loc, t)) (check_dupable_ty ctxt loc after_ty) >>?= fun ctxt -> - let dupn = - {csize = 0; apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} - in - typed ctxt loc dupn (Item_t (after_ty, stack_ty, annot)) + let dupn = {apply = (fun kinfo k -> IDup_n (kinfo, n, witness, k))} in + typed ctxt 0 loc dupn (Item_t (after_ty, stack_ty, annot)) | (Prim (loc, I_DIG, [n], result_annot), stack) -> let rec make_proof_argument : type a s. @@ -3630,8 +3623,8 @@ and parse_instr : >>?= fun () -> make_proof_argument n stack >>?= fun (Dig_proof_argument (n', x, stack_annot, aft)) -> - let dig = {csize = 0; apply = (fun kinfo k -> IDig (kinfo, n, n', k))} in - typed ctxt loc dig (Item_t (x, aft, stack_annot)) + let dig = {apply = (fun kinfo k -> IDig (kinfo, n, n', k))} in + typed ctxt 0 loc dig (Item_t (x, aft, stack_annot)) | (Prim (loc, I_DIG, (([] | _ :: _ :: _) as l), _), _) -> fail (Invalid_arity (loc, I_DIG, 1, List.length l)) | (Prim (loc, I_DUG, [n], result_annot), Item_t (x, whole_stack, stack_annot)) @@ -3666,10 +3659,8 @@ and parse_instr : >>?= fun () -> make_proof_argument whole_n x stack_annot whole_stack >>?= fun (Dug_proof_argument (n', (), aft)) -> - let dug = - {csize = 0; apply = (fun kinfo k -> IDug (kinfo, whole_n, n', k))} - in - typed ctxt loc dug aft + let dug = {apply = (fun kinfo k -> IDug (kinfo, whole_n, n', k))} in + typed ctxt 0 loc dug aft | (Prim (loc, I_DUG, [_], result_annot), stack) -> Lwt.return ( error_unexpected_annot loc result_annot @@ -3682,11 +3673,11 @@ and parse_instr : Item_t (v, Item_t (w, rest, stack_annot), cur_top_annot) ) -> error_unexpected_annot loc annot >>?= fun () -> - let swap = {csize = 0; apply = (fun kinfo k -> ISwap (kinfo, k))} in + let swap = {apply = (fun kinfo k -> ISwap (kinfo, k))} in let stack_ty = Item_t (w, Item_t (v, rest, cur_top_annot), stack_annot) in - typed ctxt loc swap stack_ty + typed ctxt 0 loc swap stack_ty | (Prim (loc, I_PUSH, [t; d], annot), stack) -> parse_var_annot loc annot >>?= fun annot -> @@ -3701,33 +3692,27 @@ and parse_instr : t d >>=? fun (v, ctxt) -> - let const = {csize = 1; apply = (fun kinfo k -> IConst (kinfo, v, k))} in - typed ctxt loc const (Item_t (t, stack, annot)) + let const = {apply = (fun kinfo k -> IConst (kinfo, v, k))} in + typed ctxt 1 loc const (Item_t (t, stack, annot)) | (Prim (loc, I_UNIT, [], annot), stack) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - let const = - {csize = 0; apply = (fun kinfo k -> IConst (kinfo, (), k))} - in - typed ctxt loc const (Item_t (Unit_t ty_name, stack, annot)) + let const = {apply = (fun kinfo k -> IConst (kinfo, (), k))} in + typed ctxt 0 loc const (Item_t (Unit_t ty_name, stack, annot)) (* options *) | (Prim (loc, I_SOME, [], annot), Item_t (t, rest, _)) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - let cons_some = - {csize = 1; apply = (fun kinfo k -> ICons_some (kinfo, k))} - in - typed ctxt loc cons_some (Item_t (Option_t (t, ty_name), rest, annot)) + let cons_some = {apply = (fun kinfo k -> ICons_some (kinfo, k))} in + typed ctxt 1 loc cons_some (Item_t (Option_t (t, ty_name), rest, annot)) | (Prim (loc, I_NONE, [t], annot), stack) -> parse_any_ty ctxt ~legacy t >>?= fun (Ex_ty t, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - let cons_none = - {csize = 1; apply = (fun kinfo k -> ICons_none (kinfo, t, k))} - in + let cons_none = {apply = (fun kinfo k -> ICons_none (kinfo, t, k))} in let stack_ty = Item_t (Option_t (t, ty_name), stack, annot) in - typed ctxt loc cons_none stack_ty + typed ctxt 1 loc cons_none stack_ty | ( Prim (loc, I_IF_NONE, [bt; bf], annot), (Item_t (Option_t (t, _), rest, option_annot) as bef) ) -> check_kind [Seq_kind] bt @@ -3745,7 +3730,6 @@ and parse_instr : let branch ibt ibf = let ifnone = { - csize = 0; apply = (fun kinfo k -> let btinfo = kinfo_of_descr ibt @@ -3758,7 +3742,7 @@ and parse_instr : {loc; instr = ifnone; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} - >>?= fun (judgement, ctxt) -> return ctxt judgement + >>?= fun (judgement, ctxt) -> return ctxt 0 judgement (* pairs *) | ( Prim (loc, I_PAIR, [], annot), Item_t (a, Item_t (b, rest, snd_annot), fst_annot) ) -> @@ -3774,10 +3758,8 @@ and parse_instr : rest, annot ) in - let cons_pair = - {csize = 1; apply = (fun kinfo k -> ICons_pair (kinfo, k))} - in - typed ctxt loc cons_pair stack_ty + let cons_pair = {apply = (fun kinfo k -> ICons_pair (kinfo, k))} in + typed ctxt 1 loc cons_pair stack_ty | (Prim (loc, I_PAIR, [n], annot), stack_ty) -> parse_var_annot loc annot >>?= fun annot -> @@ -3821,10 +3803,8 @@ and parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Comb_proof_argument (witness, after_ty), _none) -> - let comb = - {csize = 1; apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} - in - typed ctxt loc comb after_ty + let comb = {apply = (fun kinfo k -> IComb (kinfo, n, witness, k))} in + typed ctxt 1 loc comb after_ty | (Prim (loc, I_UNPAIR, [n], annot), stack_ty) -> error_unexpected_annot loc annot >>?= fun () -> @@ -3862,10 +3842,8 @@ and parse_instr : >>?= fun () -> make_proof_argument n stack_ty >>?= fun (Uncomb_proof_argument (witness, after_ty)) -> - let uncomb = - {csize = 0; apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} - in - typed ctxt loc uncomb after_ty + let uncomb = {apply = (fun kinfo k -> IUncomb (kinfo, n, witness, k))} in + typed ctxt 0 loc uncomb after_ty | (Prim (loc, I_GET, [n], annot), Item_t (comb_ty, rest_ty, _)) -> parse_var_annot loc annot >>?= fun annot -> @@ -3895,9 +3873,9 @@ and parse_instr : >>?= fun (Comb_get_proof_argument (witness, ty')) -> let after_stack_ty = Item_t (ty', rest_ty, annot) in let comb_get = - {csize = 0; apply = (fun kinfo k -> IComb_get (kinfo, n, witness, k))} + {apply = (fun kinfo k -> IComb_get (kinfo, n, witness, k))} in - typed ctxt loc comb_get after_stack_ty + typed ctxt 0 loc comb_get after_stack_ty | ( Prim (loc, I_UPDATE, [n], annot), Item_t (value_ty, Item_t (comb_ty, rest_ty, _), _) ) -> parse_var_annot loc annot @@ -3938,9 +3916,9 @@ and parse_instr : >>?= fun (Comb_set_proof_argument (witness, after_ty)) -> let after_stack_ty = Item_t (after_ty, rest_ty, annot) in let comb_set = - {csize = 0; apply = (fun kinfo k -> IComb_set (kinfo, n, witness, k))} + {apply = (fun kinfo k -> IComb_set (kinfo, n, witness, k))} in - typed ctxt loc comb_set after_stack_ty + typed ctxt 0 loc comb_set after_stack_ty | ( Prim (loc, I_UNPAIR, [], annot), Item_t ( Pair_t @@ -3962,8 +3940,8 @@ and parse_instr : >>?= fun () -> check_correct_field field_b expected_field_annot_b >>?= fun () -> - let unpair = {csize = 0; apply = (fun kinfo k -> IUnpair (kinfo, k))} in - typed ctxt loc unpair (Item_t (a, Item_t (b, rest, annot_b), annot_a)) + let unpair = {apply = (fun kinfo k -> IUnpair (kinfo, k))} in + typed ctxt 0 loc unpair (Item_t (a, Item_t (b, rest, annot_b), annot_a)) | ( Prim (loc, I_CAR, [], annot), Item_t (Pair_t ((a, expected_field_annot, a_annot), _, _), rest, pair_annot) @@ -3978,8 +3956,8 @@ and parse_instr : >>?= fun (annot, field_annot) -> check_correct_field field_annot expected_field_annot >>?= fun () -> - let car = {csize = 0; apply = (fun kinfo k -> ICar (kinfo, k))} in - typed ctxt loc car (Item_t (a, rest, annot)) + let car = {apply = (fun kinfo k -> ICar (kinfo, k))} in + typed ctxt 0 loc car (Item_t (a, rest, annot)) | ( Prim (loc, I_CDR, [], annot), Item_t (Pair_t (_, (b, expected_field_annot, b_annot), _), rest, pair_annot) @@ -3994,8 +3972,8 @@ and parse_instr : >>?= fun (annot, field_annot) -> check_correct_field field_annot expected_field_annot >>?= fun () -> - let cdr = {csize = 0; apply = (fun kinfo k -> ICdr (kinfo, k))} in - typed ctxt loc cdr (Item_t (b, rest, annot)) + let cdr = {apply = (fun kinfo k -> ICdr (kinfo, k))} in + typed ctxt 0 loc cdr (Item_t (b, rest, annot)) (* unions *) | (Prim (loc, I_LEFT, [tr], annot), Item_t (tl, rest, stack_annot)) -> parse_any_ty ctxt ~legacy tr @@ -4005,13 +3983,11 @@ and parse_instr : annot ~if_special_first:(var_to_field_annot stack_annot) >>?= fun (annot, tname, l_field, r_field) -> - let cons_left = - {csize = 1; apply = (fun kinfo k -> ICons_left (kinfo, k))} - in + let cons_left = {apply = (fun kinfo k -> ICons_left (kinfo, k))} in let stack_ty = Item_t (Union_t ((tl, l_field), (tr, r_field), tname), rest, annot) in - typed ctxt loc cons_left stack_ty + typed ctxt 1 loc cons_left stack_ty | (Prim (loc, I_RIGHT, [tl], annot), Item_t (tr, rest, stack_annot)) -> parse_any_ty ctxt ~legacy tl >>?= fun (Ex_ty tl, ctxt) -> @@ -4020,13 +3996,11 @@ and parse_instr : annot ~if_special_second:(var_to_field_annot stack_annot) >>?= fun (annot, tname, l_field, r_field) -> - let cons_right = - {csize = 1; apply = (fun kinfo k -> ICons_right (kinfo, k))} - in + let cons_right = {apply = (fun kinfo k -> ICons_right (kinfo, k))} in let stack_ty = Item_t (Union_t ((tl, l_field), (tr, r_field), tname), rest, annot) in - typed ctxt loc cons_right stack_ty + typed ctxt 1 loc cons_right stack_ty | ( Prim (loc, I_IF_LEFT, [bt; bf], annot), ( Item_t (Union_t ((tl, l_field), (tr, r_field), _), rest, union_annot) as bef ) ) -> @@ -4062,7 +4036,6 @@ and parse_instr : let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in let instr = { - csize = 0; apply = (fun kinfo k -> let branch_if_left = ibt.instr.apply infobt k @@ -4073,25 +4046,23 @@ and parse_instr : {loc; instr; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} - >>?= fun (judgement, ctxt) -> return ctxt judgement + >>?= fun (judgement, ctxt) -> return ctxt 0 judgement (* lists *) | (Prim (loc, I_NIL, [t], annot), stack) -> parse_any_ty ctxt ~legacy t >>?= fun (Ex_ty t, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - let nil = {csize = 1; apply = (fun kinfo k -> INil (kinfo, k))} in - typed ctxt loc nil (Item_t (List_t (t, ty_name), stack, annot)) + let nil = {apply = (fun kinfo k -> INil (kinfo, k))} in + typed ctxt 1 loc nil (Item_t (List_t (t, ty_name), stack, annot)) | ( Prim (loc, I_CONS, [], annot), Item_t (tv, Item_t (List_t (t, ty_name), rest, _), _) ) -> check_item_ty ctxt tv t loc I_CONS 1 2 >>?= fun (Eq, t, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let cons_list = - {csize = 0; apply = (fun kinfo k -> ICons_list (kinfo, k))} - in - ( typed ctxt loc cons_list (Item_t (List_t (t, ty_name), rest, annot)) + let cons_list = {apply = (fun kinfo k -> ICons_list (kinfo, k))} in + ( typed ctxt 0 loc cons_list (Item_t (List_t (t, ty_name), rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_IF_CONS, [bt; bf], annot), (Item_t (List_t (t, ty_name), rest, list_annot) as bef) ) -> @@ -4117,7 +4088,6 @@ and parse_instr : let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in let instr = { - csize = 0; apply = (fun kinfo k -> let branch_if_cons = ibt.instr.apply infobt k @@ -4128,14 +4098,12 @@ and parse_instr : {loc; instr; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} - >>?= fun (judgement, ctxt) -> return ctxt judgement + >>?= fun (judgement, ctxt) -> return ctxt 1 judgement | (Prim (loc, I_SIZE, [], annot), Item_t (List_t _, rest, _)) -> parse_var_type_annot loc annot >>?= fun (annot, tname) -> - let list_size = - {csize = 0; apply = (fun kinfo k -> IList_size (kinfo, k))} - in - typed ctxt loc list_size (Item_t (Nat_t tname, rest, annot)) + let list_size = {apply = (fun kinfo k -> IList_size (kinfo, k))} in + typed ctxt 0 loc list_size (Item_t (Nat_t tname, rest, annot)) | ( Prim (loc, I_MAP, [body], annot), Item_t (List_t (elt, _), starting_rest, list_annot) ) -> ( check_kind [Seq_kind] body @@ -4168,16 +4136,12 @@ and parse_instr : in let ibody = kibody.instr.apply binfo (IHalt hinfo) in let list_map = - { - csize = 1; - apply = (fun kinfo k -> IList_map (kinfo, ibody, k)); - } + {apply = (fun kinfo k -> IList_map (kinfo, ibody, k))} in - typed_no_lwt - ctxt - loc - list_map - (Item_t (List_t (ret, list_ty_name), rest, ret_annot)) ) + let stack = + Item_t (List_t (ret, list_ty_name), rest, ret_annot) + in + typed_no_lwt ctxt 1 loc list_map stack ) | Typed {aft; _} -> Lwt.return ( serialize_stack_for_error ctxt aft @@ -4201,7 +4165,6 @@ and parse_instr : >>=? fun (judgement, ctxt) -> let mk_list_iter ibody = { - csize = 0; apply = (fun kinfo k -> let hinfo = {iloc = loc; kstack_ty = rest} in @@ -4223,20 +4186,18 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - ( typed_no_lwt ctxt loc (mk_list_iter ibody) rest + ( typed_no_lwt ctxt 0 loc (mk_list_iter ibody) rest : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - typed ctxt loc (mk_list_iter (descr rest)) rest ) + typed ctxt 0 loc (mk_list_iter (descr rest)) rest ) (* sets *) | (Prim (loc, I_EMPTY_SET, [t], annot), rest) -> parse_comparable_ty ctxt t >>?= fun (Ex_comparable_ty t, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, tname) -> - let instr = - {csize = 1; apply = (fun kinfo k -> IEmpty_set (kinfo, t, k))} - in - typed ctxt loc instr (Item_t (Set_t (t, tname), rest, annot)) + let instr = {apply = (fun kinfo k -> IEmpty_set (kinfo, t, k))} in + typed ctxt 1 loc instr (Item_t (Set_t (t, tname), rest, annot)) | ( Prim (loc, I_ITER, [body], annot), Item_t (Set_t (comp_elt, _), rest, set_annot) ) -> ( check_kind [Seq_kind] body @@ -4255,7 +4216,6 @@ and parse_instr : >>=? fun (judgement, ctxt) -> let mk_iset_iter ibody = { - csize = 0; apply = (fun kinfo k -> let hinfo = {iloc = loc; kstack_ty = rest} in @@ -4277,10 +4237,10 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - ( typed_no_lwt ctxt loc (mk_iset_iter ibody) rest + ( typed_no_lwt ctxt 0 loc (mk_iset_iter ibody) rest : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - typed ctxt loc (mk_iset_iter (descr rest)) rest ) + typed ctxt 0 loc (mk_iset_iter (descr rest)) rest ) | ( Prim (loc, I_MEM, [], annot), Item_t (v, Item_t (Set_t (elt, _), rest, _), _) ) -> let elt = ty_of_comparable_ty elt in @@ -4288,8 +4248,8 @@ and parse_instr : >>?= fun (annot, tname) -> check_item_ty ctxt elt v loc I_MEM 1 2 >>?= fun (Eq, _, ctxt) -> - let instr = {csize = 0; apply = (fun kinfo k -> ISet_mem (kinfo, k))} in - ( typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ISet_mem (kinfo, k))} in + ( typed ctxt 0 loc instr (Item_t (Bool_t tname, rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_UPDATE, [], annot), Item_t @@ -4300,16 +4260,14 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot ~default:set_annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ISet_update (kinfo, k))} - in - ( typed ctxt loc instr (Item_t (Set_t (elt, tname), rest, annot)) + let instr = {apply = (fun kinfo k -> ISet_update (kinfo, k))} in + ( typed ctxt 0 loc instr (Item_t (Set_t (elt, tname), rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_SIZE, [], annot), Item_t (Set_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISet_size (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ISet_size (kinfo, k))} in + typed ctxt 0 loc instr (Item_t (Nat_t None, rest, annot)) (* maps *) | (Prim (loc, I_EMPTY_MAP, [tk; tv], annot), stack) -> parse_comparable_ty ctxt tk @@ -4318,10 +4276,8 @@ and parse_instr : >>?= fun (Ex_ty tv, ctxt) -> parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> - let instr = - {csize = 1; apply = (fun kinfo k -> IEmpty_map (kinfo, tk, tv, k))} - in - typed ctxt loc instr (Item_t (Map_t (tk, tv, ty_name), stack, annot)) + let instr = {apply = (fun kinfo k -> IEmpty_map (kinfo, tk, tv, k))} in + typed ctxt 1 loc instr (Item_t (Map_t (tk, tv, ty_name), stack, annot)) | ( Prim (loc, I_MAP, [body], annot), Item_t (Map_t (ck, elt, _), starting_rest, _map_annot) ) -> ( let k = ty_of_comparable_ty ck in @@ -4355,7 +4311,6 @@ and parse_instr : >>? fun (Eq, rest, ctxt) -> let instr = { - csize = 1; apply = (fun kinfo k -> let binfo = kinfo_of_descr ibody in @@ -4369,11 +4324,10 @@ and parse_instr : IMap_map (kinfo, ibody, k)); } in - typed_no_lwt - ctxt - loc - instr - (Item_t (Map_t (ck, ret, ty_name), rest, ret_annot)) ) + let stack = + Item_t (Map_t (ck, ret, ty_name), rest, ret_annot) + in + typed_no_lwt ctxt 1 loc instr stack ) | Typed {aft; _} -> Lwt.return ( serialize_stack_for_error ctxt aft @@ -4402,7 +4356,6 @@ and parse_instr : >>=? fun (judgement, ctxt) -> let make_instr ibody = { - csize = 0; apply = (fun kinfo k -> let hinfo = {iloc = loc; kstack_ty = rest} in @@ -4424,10 +4377,10 @@ and parse_instr : invalid_iter_body ( merge_stacks ~legacy loc ctxt 1 aft rest >>? fun (Eq, rest, ctxt) -> - ( typed_no_lwt ctxt loc (make_instr ibody) rest + ( typed_no_lwt ctxt 0 loc (make_instr ibody) rest : ((a, s) judgement * context) tzresult ) ) | Failed {descr} -> - typed ctxt loc (make_instr (descr rest)) rest ) + typed ctxt 0 loc (make_instr (descr rest)) rest ) | ( Prim (loc, I_MEM, [], annot), Item_t (vk, Item_t (Map_t (ck, _, _), rest, _), _) ) -> let k = ty_of_comparable_ty ck in @@ -4435,8 +4388,8 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IMap_mem (kinfo, k))} in - ( typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IMap_mem (kinfo, k))} in + ( typed ctxt 0 loc instr (Item_t (Bool_t None, rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Map_t (ck, elt, _), rest, _), _) ) -> @@ -4445,8 +4398,8 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IMap_get (kinfo, k))} in - ( typed ctxt loc instr (Item_t (Option_t (elt, None), rest, annot)) + let instr = {apply = (fun kinfo k -> IMap_get (kinfo, k))} in + ( typed ctxt 0 loc instr (Item_t (Option_t (elt, None), rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_UPDATE, [], annot), Item_t @@ -4463,10 +4416,8 @@ and parse_instr : >>?= fun (Eq, v, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMap_update (kinfo, k))} - in - ( typed ctxt loc instr (Item_t (Map_t (ck, v, map_name), rest, annot)) + let instr = {apply = (fun kinfo k -> IMap_update (kinfo, k))} in + ( typed ctxt 0 loc instr (Item_t (Map_t (ck, v, map_name), rest, annot)) : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t @@ -4483,23 +4434,20 @@ and parse_instr : >>?= fun (Eq, v, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMap_get_and_update (kinfo, k))} + let instr = {apply = (fun kinfo k -> IMap_get_and_update (kinfo, k))} in + let stack = + Item_t + ( Option_t (vv, vname), + Item_t (Map_t (ck, v, map_name), rest, annot), + v_annot ) in - ( typed - ctxt - loc - instr - (Item_t - ( Option_t (vv, vname), - Item_t (Map_t (ck, v, map_name), rest, annot), - v_annot )) + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_SIZE, [], annot), Item_t (Map_t (_, _, _), rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IMap_size (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IMap_size (kinfo, k))} in + typed ctxt 0 loc instr (Item_t (Nat_t None, rest, annot)) (* big_map *) | (Prim (loc, I_EMPTY_BIG_MAP, [tk; tv], annot), stack) -> parse_comparable_ty ctxt tk @@ -4509,9 +4457,10 @@ and parse_instr : parse_var_type_annot loc annot >>?= fun (annot, ty_name) -> let instr = - {csize = 1; apply = (fun kinfo k -> IEmpty_big_map (kinfo, tk, tv, k))} + {apply = (fun kinfo k -> IEmpty_big_map (kinfo, tk, tv, k))} in - typed ctxt loc instr (Item_t (Big_map_t (tk, tv, ty_name), stack, annot)) + let stack = Item_t (Big_map_t (tk, tv, ty_name), stack, annot) in + typed ctxt 1 loc instr stack | ( Prim (loc, I_MEM, [], annot), Item_t (set_key, Item_t (Big_map_t (map_key, _, _), rest, _), _) ) -> let k = ty_of_comparable_ty map_key in @@ -4519,10 +4468,9 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IBig_map_mem (kinfo, k))} - in - ( typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IBig_map_mem (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET, [], annot), Item_t (vk, Item_t (Big_map_t (ck, elt, _), rest, _), _) ) -> @@ -4531,10 +4479,9 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IBig_map_get (kinfo, k))} - in - ( typed ctxt loc instr (Item_t (Option_t (elt, None), rest, annot)) + let instr = {apply = (fun kinfo k -> IBig_map_get (kinfo, k))} in + let stack = Item_t (Option_t (elt, None), rest, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_UPDATE, [], annot), Item_t @@ -4551,14 +4498,11 @@ and parse_instr : >>?= fun (Eq, map_value, ctxt) -> parse_var_annot loc annot ~default:map_annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IBig_map_update (kinfo, k))} + let instr = {apply = (fun kinfo k -> IBig_map_update (kinfo, k))} in + let stack = + Item_t (Big_map_t (map_key, map_value, map_name), rest, annot) in - ( typed - ctxt - loc - instr - (Item_t (Big_map_t (map_key, map_value, map_name), rest, annot)) + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_GET_AND_UPDATE, [], annot), Item_t @@ -4576,19 +4520,15 @@ and parse_instr : parse_var_annot loc annot ~default:map_annot >>?= fun annot -> let instr = - { - csize = 0; - apply = (fun kinfo k -> IBig_map_get_and_update (kinfo, k)); - } + {apply = (fun kinfo k -> IBig_map_get_and_update (kinfo, k))} in - ( typed - ctxt - loc - instr - (Item_t - ( Option_t (vv, vname), - Item_t (Big_map_t (ck, v, map_name), rest, annot), - v_annot )) + let stack = + Item_t + ( Option_t (vv, vname), + Item_t (Big_map_t (ck, v, map_name), rest, annot), + v_annot ) + in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) (* Sapling *) | (Prim (loc, I_SAPLING_EMPTY_STATE, [memo_size], annot), rest) -> @@ -4597,16 +4537,10 @@ and parse_instr : parse_var_annot loc annot ~default:default_sapling_state_annot >>?= fun annot -> let instr = - { - csize = 0; - apply = (fun kinfo k -> ISapling_empty_state (kinfo, memo_size, k)); - } + {apply = (fun kinfo k -> ISapling_empty_state (kinfo, memo_size, k))} in - typed - ctxt - loc - instr - (Item_t (Sapling_state_t (memo_size, None), rest, annot)) + let stack = Item_t (Sapling_state_t (memo_size, None), rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SAPLING_VERIFY_UPDATE, [], _), Item_t ( Sapling_transaction_t (transaction_memo_size, _), @@ -4618,25 +4552,24 @@ and parse_instr : merge_memo_sizes state_memo_size transaction_memo_size >>?= fun _memo_size -> let instr = - {csize = 0; apply = (fun kinfo k -> ISapling_verify_update (kinfo, k))} + {apply = (fun kinfo k -> ISapling_verify_update (kinfo, k))} in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ( (Int_t None, None, default_sapling_balance_annot), - (state_ty, None, None), - None ), - None ), - rest, - stack_annot )) + let stack = + Item_t + ( Option_t + ( Pair_t + ( (Int_t None, None, default_sapling_balance_annot), + (state_ty, None, None), + None ), + None ), + rest, + stack_annot ) + in + typed ctxt 0 loc instr stack (* control *) | (Seq (loc, []), stack) -> - let instr = {csize = 0; apply = (fun _kinfo k -> k)} in - typed ctxt loc instr stack + let instr = {apply = (fun _kinfo k -> k)} in + typed ctxt 0 loc instr stack | (Seq (_, [single]), stack) -> non_terminal_recursion ?type_logger tc_context ctxt ~legacy single stack | (Seq (loc, hd :: tl), stack) -> ( @@ -4657,7 +4590,7 @@ and parse_instr : match judgement with | Failed {descr} -> let descr ret = compose_descr loc ihd (descr ret) in - return ctxt (Failed {descr}) + return ctxt 0 (Failed {descr}) | Typed itl -> ( Lwt.return (Ok (Typed (compose_descr loc ihd itl), ctxt)) : ((a, s) judgement * context) tzresult Lwt.t ) ) ) @@ -4676,7 +4609,6 @@ and parse_instr : let infobt = kinfo_of_descr ibt and infobf = kinfo_of_descr ibf in let instr = { - csize = 0; apply = (fun kinfo k -> let branch_if_true = ibt.instr.apply infobt k @@ -4687,7 +4619,7 @@ and parse_instr : {loc; instr; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} - >>?= fun (judgement, ctxt) -> return ctxt judgement + >>?= fun (judgement, ctxt) -> return ctxt 0 judgement | ( Prim (loc, I_LOOP, [body], annot), (Item_t (Bool_t _, rest, _stack_annot) as stack) ) -> ( check_kind [Seq_kind] body @@ -4711,7 +4643,6 @@ and parse_instr : >>? fun (Eq, _stack, ctxt) -> let instr = { - csize = 0; apply = (fun kinfo k -> let ibody = @@ -4720,11 +4651,10 @@ and parse_instr : ILoop (kinfo, ibody, k)); } in - typed_no_lwt ctxt loc instr rest ) + typed_no_lwt ctxt 0 loc instr rest ) | Failed {descr} -> let instr = { - csize = 0; apply = (fun kinfo k -> let ibody = descr stack in @@ -4734,7 +4664,7 @@ and parse_instr : ILoop (kinfo, ibody, k)); } in - typed ctxt loc instr rest ) + typed ctxt loc 0 instr rest ) | ( Prim (loc, I_LOOP_LEFT, [body], annot), (Item_t (Union_t ((tl, l_field), (tr, _), _), rest, union_annot) as stack) ) -> ( @@ -4768,7 +4698,6 @@ and parse_instr : >>? fun (Eq, _stack, ctxt) -> let instr = { - csize = 0; apply = (fun kinfo k -> let ibody = @@ -4777,11 +4706,11 @@ and parse_instr : ILoop_left (kinfo, ibody, k)); } in - typed_no_lwt ctxt loc instr (Item_t (tr, rest, annot)) ) + let stack = Item_t (tr, rest, annot) in + typed_no_lwt ctxt 0 loc instr stack ) | Failed {descr} -> let instr = { - csize = 0; apply = (fun kinfo k -> let ibody = descr stack in @@ -4791,7 +4720,8 @@ and parse_instr : ILoop_left (kinfo, ibody, k)); } in - typed ctxt loc instr (Item_t (tr, rest, annot)) ) + let stack = Item_t (tr, rest, annot) in + typed ctxt 0 loc instr stack ) | (Prim (loc, I_LAMBDA, [arg; ret; code], annot), stack) -> parse_any_ty ctxt ~legacy arg >>?= fun (Ex_ty arg, ctxt) -> @@ -4811,20 +4741,18 @@ and parse_instr : ret code >>=? fun (lambda, ctxt) -> - let instr = - {csize = 1; apply = (fun kinfo k -> ILambda (kinfo, lambda, k))} - in - typed ctxt loc instr (Item_t (Lambda_t (arg, ret, None), stack, annot)) + let instr = {apply = (fun kinfo k -> ILambda (kinfo, lambda, k))} in + let stack = Item_t (Lambda_t (arg, ret, None), stack, annot) in + typed ctxt 1 loc instr stack | ( Prim (loc, I_EXEC, [], annot), Item_t (arg, Item_t (Lambda_t (param, ret, _), rest, _), _) ) -> check_item_ty ctxt arg param loc I_EXEC 1 2 >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IExec (kinfo, None, k))} - in - ( typed ctxt loc instr (Item_t (ret, rest, annot)) + let instr = {apply = (fun kinfo k -> IExec (kinfo, None, k))} in + let stack = Item_t (ret, rest, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_APPLY, [], annot), Item_t @@ -4841,14 +4769,9 @@ and parse_instr : >>?= fun (Eq, capture_ty, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IApply (kinfo, capture_ty, k))} - in - ( typed - ctxt - loc - instr - (Item_t (Lambda_t (arg_ty, ret, lam_annot), rest, annot)) + let instr = {apply = (fun kinfo k -> IApply (kinfo, capture_ty, k))} in + let stack = Item_t (Lambda_t (arg_ty, ret, lam_annot), rest, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_DIP, [code], annot), Item_t (v, rest, stack_annot)) -> ( error_unexpected_annot loc annot @@ -4867,7 +4790,6 @@ and parse_instr : | Typed descr -> let instr = { - csize = 0; apply = (fun kinfo k -> let binfo = {iloc = descr.loc; kstack_ty = descr.bef} in @@ -4876,7 +4798,8 @@ and parse_instr : IDip (kinfo, b, k)); } in - typed ctxt loc instr (Item_t (v, descr.aft, stack_annot)) + let stack = Item_t (v, descr.aft, stack_annot) in + typed ctxt 0 loc instr stack | Failed _ -> fail (Fail_not_in_tail_position loc) ) | (Prim (loc, I_DIP, [n; code], result_annot), stack) -> @@ -4928,10 +4851,8 @@ and parse_instr : let kinfo = {iloc = descr.loc; kstack_ty = descr.bef} in let kinfoh = {iloc = descr.loc; kstack_ty = descr.aft} in let b = descr.instr.apply kinfo (IHalt kinfoh) in - let res = - {csize = 0; apply = (fun kinfo k -> IDipn (kinfo, n, n', b, k))} - in - typed ctxt loc res aft + let res = {apply = (fun kinfo k -> IDipn (kinfo, n, n', b, k))} in + typed ctxt 0 loc res aft | (Prim (loc, I_DIP, (([] | _ :: _ :: _ :: _) as l), _), _) -> (* Technically, the arities 1 and 2 are allowed but the error only mentions 2. However, DIP {code} is equivalent to DIP 1 {code} so hinting at an arity of 2 makes sense. *) @@ -4942,62 +4863,53 @@ and parse_instr : (if legacy then ok_unit else check_packable ~legacy:false loc v) >>?= fun () -> let instr = - { - csize = 0; - apply = (fun kinfo k -> IFailwith (kinfo, loc, v, None, k)); - } + {apply = (fun kinfo k -> IFailwith (kinfo, loc, v, None, k))} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack ctxt loc stack_ty Bot_t - >>?= fun () -> return ctxt (Failed {descr}) + >>?= fun () -> return ctxt 0 (Failed {descr}) | (Prim (loc, I_NEVER, [], annot), Item_t (Never_t _, _rest, _)) -> error_unexpected_annot loc annot >>?= fun () -> - let instr = {csize = 0; apply = (fun kinfo _k -> INever kinfo)} in + let instr = {apply = (fun kinfo _k -> INever kinfo)} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack ctxt loc stack_ty Bot_t - >>?= fun () -> return ctxt (Failed {descr}) + >>?= fun () -> return ctxt 0 (Failed {descr}) (* timestamp operations *) | ( Prim (loc, I_ADD, [], annot), Item_t (Timestamp_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> let instr = - { - csize = 0; - apply = (fun kinfo k -> IAdd_timestamp_to_seconds (kinfo, k)); - } + {apply = (fun kinfo k -> IAdd_timestamp_to_seconds (kinfo, k))} in - typed ctxt loc instr (Item_t (Timestamp_t tname, rest, annot)) + typed ctxt 0 loc instr (Item_t (Timestamp_t tname, rest, annot)) | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t _, Item_t (Timestamp_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> let instr = - { - csize = 0; - apply = (fun kinfo k -> IAdd_seconds_to_timestamp (kinfo, k)); - } + {apply = (fun kinfo k -> IAdd_seconds_to_timestamp (kinfo, k))} in - typed ctxt loc instr (Item_t (Timestamp_t tname, rest, annot)) + typed ctxt 0 loc instr (Item_t (Timestamp_t tname, rest, annot)) | ( Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> let instr = - {csize = 0; apply = (fun kinfo k -> ISub_timestamp_seconds (kinfo, k))} + {apply = (fun kinfo k -> ISub_timestamp_seconds (kinfo, k))} in - typed ctxt loc instr (Item_t (Timestamp_t tname, rest, annot)) + let stack = Item_t (Timestamp_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Timestamp_t tn1, Item_t (Timestamp_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IDiff_timestamps (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IDiff_timestamps (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack (* string operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (String_t tn1, Item_t (String_t tn2, rest, _), _) ) -> @@ -5005,18 +4917,14 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IConcat_string_pair (kinfo, k))} - in - typed ctxt loc instr (Item_t (String_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IConcat_string_pair (kinfo, k))} in + typed ctxt 0 loc instr (Item_t (String_t tname, rest, annot)) | ( Prim (loc, I_CONCAT, [], annot), Item_t (List_t (String_t tname, _), rest, list_annot) ) -> parse_var_annot ~default:list_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IConcat_string (kinfo, k))} - in - typed ctxt loc instr (Item_t (String_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IConcat_string (kinfo, k))} in + typed ctxt 0 loc instr (Item_t (String_t tname, rest, annot)) | ( Prim (loc, I_SLICE, [], annot), Item_t ( Nat_t _, @@ -5027,21 +4935,15 @@ and parse_instr : loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ISlice_string (kinfo, k))} - in - typed - ctxt - loc - instr - (Item_t (Option_t (String_t tname, None), rest, annot)) + let instr = {apply = (fun kinfo k -> ISlice_string (kinfo, k))} in + let stack = Item_t (Option_t (String_t tname, None), rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SIZE, [], annot), Item_t (String_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IString_size (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IString_size (kinfo, k))} in + let stack = Item_t (Nat_t None, rest, annot) in + typed ctxt 0 loc instr stack (* bytes operations *) | ( Prim (loc, I_CONCAT, [], annot), Item_t (Bytes_t tn1, Item_t (Bytes_t tn2, rest, _), _) ) -> @@ -5049,18 +4951,16 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IConcat_bytes_pair (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bytes_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IConcat_bytes_pair (kinfo, k))} in + let stack = Item_t (Bytes_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_CONCAT, [], annot), Item_t (List_t (Bytes_t tname, _), rest, list_annot) ) -> parse_var_annot ~default:list_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IConcat_bytes (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bytes_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IConcat_bytes (kinfo, k))} in + let stack = Item_t (Bytes_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SLICE, [], annot), Item_t ( Nat_t _, @@ -5071,21 +4971,15 @@ and parse_instr : loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ISlice_bytes (kinfo, k))} - in - typed - ctxt - loc - instr - (Item_t (Option_t (Bytes_t tname, None), rest, annot)) + let instr = {apply = (fun kinfo k -> ISlice_bytes (kinfo, k))} in + let stack = Item_t (Option_t (Bytes_t tname, None), rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SIZE, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IBytes_size (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IBytes_size (kinfo, k))} in + let stack = Item_t (Nat_t None, rest, annot) in + typed ctxt 0 loc instr stack (* currency operations *) | ( Prim (loc, I_ADD, [], annot), Item_t (Mutez_t tn1, Item_t (Mutez_t tn2, rest, _), _) ) -> @@ -5093,34 +4987,34 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IAdd_tez (kinfo, k))} in - typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_tez (kinfo, k))} in + let stack = Item_t (Mutez_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Mutez_t tn1, Item_t (Mutez_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> ISub_tez (kinfo, k))} in - typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ISub_tez (kinfo, k))} in + let stack = Item_t (Mutez_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Mutez_t tname, Item_t (Nat_t _, rest, _), _) ) -> (* no type name check *) parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_teznat (kinfo, None, k))} - in - typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_teznat (kinfo, None, k))} in + let stack = Item_t (Mutez_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t _, Item_t (Mutez_t tname, rest, _), _) ) -> (* no type name check *) parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_nattez (kinfo, None, k))} - in - typed ctxt loc instr (Item_t (Mutez_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_nattez (kinfo, None, k))} in + let stack = Item_t (Mutez_t tname, rest, annot) in + typed ctxt 0 loc instr stack (* boolean operations *) | ( Prim (loc, I_OR, [], annot), Item_t (Bool_t tn1, Item_t (Bool_t tn2, rest, _), _) ) -> @@ -5128,331 +5022,322 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IOr (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IOr (kinfo, k))} in + let stack = Item_t (Bool_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_AND, [], annot), Item_t (Bool_t tn1, Item_t (Bool_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IAnd (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAnd (kinfo, k))} in + let stack = Item_t (Bool_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_XOR, [], annot), Item_t (Bool_t tn1, Item_t (Bool_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IXor (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IXor (kinfo, k))} in + let stack = Item_t (Bool_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NOT, [], annot), Item_t (Bool_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INot (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> INot (kinfo, k))} in + let stack = Item_t (Bool_t tname, rest, annot) in + typed ctxt 0 loc instr stack (* integer operations *) | (Prim (loc, I_ABS, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IAbs_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IAbs_int (kinfo, k))} in + let stack = Item_t (Nat_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_ISNAT, [], annot), Item_t (Int_t _, rest, int_annot)) -> parse_var_annot loc annot ~default:int_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IIs_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Option_t (Nat_t None, None), rest, annot)) + let instr = {apply = (fun kinfo k -> IIs_nat (kinfo, k))} in + let stack = Item_t (Option_t (Nat_t None, None), rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_INT, [], annot), Item_t (Nat_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IInt_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IInt_nat (kinfo, k))} in + let stack = Item_t (Int_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NEG, [], annot), Item_t (Int_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INeg_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> INeg_int (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NEG, [], annot), Item_t (Nat_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INeg_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> INeg_nat (kinfo, k))} in + let stack = Item_t (Int_t None, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_intint (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_intint (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_intnat (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_intnat (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Nat_t _, Item_t (Int_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_natint (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_natint (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_natnat (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_natnat (kinfo, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Nat_t _, Item_t (Int_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_SUB, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun _tname -> - let instr = {csize = 0; apply = (fun kinfo k -> ISub_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ISub_int (kinfo, k))} in + let stack = Item_t (Int_t None, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_intint (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_intint (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_intnat (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_intnat (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t _, Item_t (Int_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_natint (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_natint (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_natnat (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_natnat (kinfo, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IEdiv_teznat (kinfo, k))} + let instr = {apply = (fun kinfo k -> IEdiv_teznat (kinfo, k))} in + let stack = + Item_t + ( Option_t + ( Pair_t + ( (Mutez_t tname, None, None), + (Mutez_t tname, None, None), + None ), + None ), + rest, + annot ) in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ( (Mutez_t tname, None, None), - (Mutez_t tname, None, None), - None ), - None ), - rest, - annot )) + typed ctxt 0 loc instr stack | ( Prim (loc, I_EDIV, [], annot), Item_t (Mutez_t tn1, Item_t (Mutez_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IEdiv_tez (kinfo, k))} in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ((Nat_t None, None, None), (Mutez_t tname, None, None), None), - None ), - rest, - annot )) + let instr = {apply = (fun kinfo k -> IEdiv_tez (kinfo, k))} in + let stack = + Item_t + ( Option_t + ( Pair_t + ((Nat_t None, None, None), (Mutez_t tname, None, None), None), + None ), + rest, + annot ) + in + typed ctxt 0 loc instr stack | ( Prim (loc, I_EDIV, [], annot), Item_t (Int_t tn1, Item_t (Int_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IEdiv_intint (kinfo, k))} + let instr = {apply = (fun kinfo k -> IEdiv_intint (kinfo, k))} in + let stack = + Item_t + ( Option_t + ( Pair_t + ((Int_t tname, None, None), (Nat_t None, None, None), None), + None ), + rest, + annot ) in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ((Int_t tname, None, None), (Nat_t None, None, None), None), - None ), - rest, - annot )) + typed ctxt 0 loc instr stack | ( Prim (loc, I_EDIV, [], annot), Item_t (Int_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IEdiv_intnat (kinfo, k))} + let instr = {apply = (fun kinfo k -> IEdiv_intnat (kinfo, k))} in + let stack = + Item_t + ( Option_t + ( Pair_t + ((Int_t tname, None, None), (Nat_t None, None, None), None), + None ), + rest, + annot ) in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ((Int_t tname, None, None), (Nat_t None, None, None), None), - None ), - rest, - annot )) + typed ctxt 0 loc instr stack | ( Prim (loc, I_EDIV, [], annot), Item_t (Nat_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IEdiv_natint (kinfo, k))} + let instr = {apply = (fun kinfo k -> IEdiv_natint (kinfo, k))} in + let stack = + Item_t + ( Option_t + ( Pair_t + ((Int_t None, None, None), (Nat_t tname, None, None), None), + None ), + rest, + annot ) in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ((Int_t None, None, None), (Nat_t tname, None, None), None), - None ), - rest, - annot )) + typed ctxt 0 loc instr stack | ( Prim (loc, I_EDIV, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IEdiv_natnat (kinfo, k))} + let instr = {apply = (fun kinfo k -> IEdiv_natnat (kinfo, k))} in + let stack = + Item_t + ( Option_t + ( Pair_t + ((Nat_t tname, None, None), (Nat_t tname, None, None), None), + None ), + rest, + annot ) in - typed - ctxt - loc - instr - (Item_t - ( Option_t - ( Pair_t - ((Nat_t tname, None, None), (Nat_t tname, None, None), None), - None ), - rest, - annot )) + typed ctxt 0 loc instr stack | ( Prim (loc, I_LSL, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> ILsl_nat (kinfo, None, k))} - in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ILsl_nat (kinfo, None, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_LSR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> ILsr_nat (kinfo, None, k))} - in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> ILsr_nat (kinfo, None, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_OR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IOr_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IOr_nat (kinfo, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_AND, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IAnd_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAnd_nat (kinfo, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_AND, [], annot), Item_t (Int_t _, Item_t (Nat_t tname, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAnd_int_nat (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAnd_int_nat (kinfo, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_XOR, [], annot), Item_t (Nat_t tn1, Item_t (Nat_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {csize = 0; apply = (fun kinfo k -> IXor_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IXor_nat (kinfo, k))} in + let stack = Item_t (Nat_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NOT, [], annot), Item_t (Int_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INot_int (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> INot_int (kinfo, k))} in + let stack = Item_t (Int_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NOT, [], annot), Item_t (Nat_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INot_nat (kinfo, k))} in - typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> INot_nat (kinfo, k))} in + let stack = Item_t (Int_t None, rest, annot) in + typed ctxt 0 loc instr stack (* comparison *) | (Prim (loc, I_COMPARE, [], annot), Item_t (t1, Item_t (t2, rest, _), _)) -> parse_var_annot loc annot @@ -5461,42 +5346,47 @@ and parse_instr : >>?= fun (Eq, t, ctxt) -> comparable_ty_of_ty ctxt loc t >>?= fun (key, ctxt) -> - let instr = - {csize = 0; apply = (fun kinfo k -> ICompare (kinfo, key, k))} - in - ( typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ICompare (kinfo, key, k))} in + let stack = Item_t (Int_t None, rest, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) (* comparators *) | (Prim (loc, I_EQ, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IEq (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IEq (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NEQ, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INeq (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> INeq (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_LT, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ILt (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ILt (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_GT, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IGt (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IGt (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_LE, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ILe (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ILe (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_GE, [], annot), Item_t (Int_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IGe (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IGe (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack (* annotations *) | (Prim (loc, I_CAST, [cast_t], annot), Item_t (t, stack, item_annot)) -> parse_var_annot loc annot ~default:item_annot @@ -5505,15 +5395,17 @@ and parse_instr : >>?= fun (Ex_ty cast_t, ctxt) -> merge_types ~legacy ctxt loc cast_t t >>?= fun (Eq, _, ctxt) -> - let instr = {csize = 0; apply = (fun _ k -> k)} in - ( typed ctxt loc instr (Item_t (cast_t, stack, annot)) + let instr = {apply = (fun _ k -> k)} in + let stack = Item_t (cast_t, stack, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | (Prim (loc, I_RENAME, [], annot), Item_t (t, (Item_t _ as stack), _)) -> parse_var_annot loc annot >>?= fun annot -> (* can erase annot *) - let instr = {csize = 0; apply = (fun _ k -> k)} in - typed ctxt loc instr (Item_t (t, stack, annot)) + let instr = {apply = (fun _ k -> k)} in + let stack = Item_t (t, stack, annot) in + typed ctxt 0 loc instr stack (* packing *) | (Prim (loc, I_PACK, [], annot), Item_t (t, rest, unpacked_annot)) -> check_packable @@ -5526,8 +5418,9 @@ and parse_instr : annot ~default:(gen_access_annot unpacked_annot default_pack_annot) >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IPack (kinfo, t, k))} in - typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IPack (kinfo, t, k))} in + let stack = Item_t (Bytes_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_UNPACK, [ty], annot), Item_t (Bytes_t _, rest, packed_annot)) -> parse_packable_ty ctxt ~legacy ty @@ -5539,10 +5432,9 @@ and parse_instr : annot ~default:(gen_access_annot packed_annot default_unpack_annot) in - let instr = - {csize = 1; apply = (fun kinfo k -> IUnpack (kinfo, t, k))} - in - typed ctxt loc instr (Item_t (Option_t (t, ty_name), rest, annot)) + let instr = {apply = (fun kinfo k -> IUnpack (kinfo, t, k))} in + let stack = Item_t (Option_t (t, ty_name), rest, annot) in + typed ctxt 1 loc instr stack (* protocol *) | ( Prim (loc, I_ADDRESS, [], annot), Item_t (Contract_t _, rest, contract_annot) ) -> @@ -5551,8 +5443,9 @@ and parse_instr : annot ~default:(gen_access_annot contract_annot default_addr_annot) >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IAddress (kinfo, k))} in - typed ctxt loc instr (Item_t (Address_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IAddress (kinfo, k))} in + let stack = Item_t (Address_t None, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_CONTRACT, [ty], annot), Item_t (Address_t _, rest, addr_annot) ) -> parse_parameter_ty ctxt ~legacy ty @@ -5573,16 +5466,12 @@ and parse_instr : else Ok entrypoint ) >>?= fun entrypoint -> let instr = - { - csize = 1; - apply = (fun kinfo k -> IContract (kinfo, t, entrypoint, k)); - } + {apply = (fun kinfo k -> IContract (kinfo, t, entrypoint, k))} in - typed - ctxt - loc - instr - (Item_t (Option_t (Contract_t (t, None), None), rest, annot)) + let stack = + Item_t (Option_t (Contract_t (t, None), None), rest, annot) + in + typed ctxt 1 loc instr stack | ( Prim (loc, I_TRANSFER_TOKENS, [], annot), Item_t (p, Item_t (Mutez_t _, Item_t (Contract_t (cp, _), rest, _), _), _) ) -> @@ -5590,33 +5479,26 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ITransfer_tokens (kinfo, k))} - in - ( typed ctxt loc instr (Item_t (Operation_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ITransfer_tokens (kinfo, k))} in + let stack = Item_t (Operation_t None, rest, annot) in + ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) | ( Prim (loc, I_SET_DELEGATE, [], annot), Item_t (Option_t (Key_hash_t _, _), rest, _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ISet_delegate (kinfo, k))} - in - typed ctxt loc instr (Item_t (Operation_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ISet_delegate (kinfo, k))} in + let stack = Item_t (Operation_t None, rest, annot) in + typed ctxt 0 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, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IImplicit_account (kinfo, k))} - in - typed - ctxt - loc - instr - (Item_t (Contract_t (Unit_t None, None), rest, annot)) + let instr = {apply = (fun kinfo k -> IImplicit_account (kinfo, k))} in + let stack = Item_t (Contract_t (Unit_t None, None), rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_CREATE_CONTRACT, [(Seq _ as code)], annot), Item_t ( Option_t (Key_hash_t _, _), @@ -5690,72 +5572,75 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> let instr = { - csize = 0; apply = (fun kinfo k -> ICreate_contract {kinfo; storage_type; arg_type; lambda; root_name; k}); } in - typed - ctxt - loc - instr - (Item_t - ( Operation_t None, - Item_t (Address_t None, rest, addr_annot), - op_annot )) + let stack = + Item_t + ( Operation_t None, + Item_t (Address_t None, rest, addr_annot), + op_annot ) + in + typed ctxt 0 loc instr stack | (Prim (loc, I_NOW, [], annot), stack) -> parse_var_annot loc annot ~default:default_now_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> INow (kinfo, k))} in - typed ctxt loc instr (Item_t (Timestamp_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> INow (kinfo, k))} in + let stack = Item_t (Timestamp_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_AMOUNT, [], annot), stack) -> parse_var_annot loc annot ~default:default_amount_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IAmount (kinfo, k))} in - typed ctxt loc instr (Item_t (Mutez_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> IAmount (kinfo, k))} in + let stack = Item_t (Mutez_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_CHAIN_ID, [], annot), stack) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IChainId (kinfo, k))} in - typed ctxt loc instr (Item_t (Chain_id_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> IChainId (kinfo, k))} in + let stack = Item_t (Chain_id_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_BALANCE, [], annot), stack) -> parse_var_annot loc annot ~default:default_balance_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IBalance (kinfo, k))} in - typed ctxt loc instr (Item_t (Mutez_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> IBalance (kinfo, k))} in + let stack = Item_t (Mutez_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_LEVEL, [], annot), stack) -> parse_var_annot loc annot ~default:default_level_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ILevel (kinfo, k))} in - typed ctxt loc instr (Item_t (Nat_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> ILevel (kinfo, k))} in + let stack = Item_t (Nat_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_VOTING_POWER, [], annot), Item_t (Key_hash_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IVoting_power (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IVoting_power (kinfo, k))} in + let stack = Item_t (Nat_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_TOTAL_VOTING_POWER, [], annot), stack) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ITotal_voting_power (kinfo, k))} - in - typed ctxt loc instr (Item_t (Nat_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> ITotal_voting_power (kinfo, k))} in + let stack = Item_t (Nat_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (_, I_STEPS_TO_QUOTA, _, _), _) -> fail (Deprecated_instruction I_STEPS_TO_QUOTA) | (Prim (loc, I_SOURCE, [], annot), stack) -> parse_var_annot loc annot ~default:default_source_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISource (kinfo, k))} in - typed ctxt loc instr (Item_t (Address_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> ISource (kinfo, k))} in + let stack = Item_t (Address_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SENDER, [], annot), stack) -> parse_var_annot loc annot ~default:default_sender_annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISender (kinfo, k))} in - typed ctxt loc instr (Item_t (Address_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> ISender (kinfo, k))} in + let stack = Item_t (Address_t None, stack, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SELF, [], annot), stack) -> Lwt.return ( parse_entrypoint_annot loc annot ~default:default_self_annot @@ -5779,195 +5664,181 @@ and parse_instr : >>? fun (_, Ex_ty param_type) -> let instr = { - csize = 1; apply = (fun kinfo k -> ISelf (kinfo, param_type, entrypoint, k)); } in - typed_no_lwt - ctxt - loc - instr - (Item_t (Contract_t (param_type, None), stack, annot)) + let stack = + Item_t (Contract_t (param_type, None), stack, annot) + in + typed_no_lwt ctxt 1 loc instr stack | Toplevel {param_type; root_name = _; legacy_create_contract_literal = true} -> let instr = { - csize = 1; apply = (fun kinfo k -> ISelf (kinfo, param_type, "default", k)); } in - typed_no_lwt - ctxt - loc - instr - (Item_t (Contract_t (param_type, None), stack, annot)) + let stack = + Item_t (Contract_t (param_type, None), stack, annot) + in + typed_no_lwt ctxt 1 loc instr stack in get_toplevel_type tc_context ) | (Prim (loc, I_SELF_ADDRESS, [], annot), stack) -> parse_var_annot loc annot ~default:default_self_annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ISelf_address (kinfo, k))} - in - typed ctxt loc instr (Item_t (Address_t None, stack, annot)) + let instr = {apply = (fun kinfo k -> ISelf_address (kinfo, k))} in + let stack = Item_t (Address_t None, stack, annot) in + typed ctxt 0 loc instr stack (* cryptography *) | (Prim (loc, I_HASH_KEY, [], annot), Item_t (Key_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IHash_key (kinfo, k))} in - typed ctxt loc instr (Item_t (Key_hash_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IHash_key (kinfo, k))} in + let stack = Item_t (Key_hash_t None, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_CHECK_SIGNATURE, [], annot), Item_t (Key_t _, Item_t (Signature_t _, Item_t (Bytes_t _, rest, _), _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> ICheck_signature (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ICheck_signature (kinfo, k))} in + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_BLAKE2B, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IBlake2b (kinfo, k))} in - typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IBlake2b (kinfo, k))} in + let stack = Item_t (Bytes_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SHA256, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISha256 (kinfo, k))} in - typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ISha256 (kinfo, k))} in + let stack = Item_t (Bytes_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SHA512, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISha512 (kinfo, k))} in - typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ISha512 (kinfo, k))} in + let stack = Item_t (Bytes_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_KECCAK, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> IKeccak (kinfo, k))} in - typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IKeccak (kinfo, k))} in + let stack = Item_t (Bytes_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_SHA3, [], annot), Item_t (Bytes_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {csize = 0; apply = (fun kinfo k -> ISha3 (kinfo, k))} in - typed ctxt loc instr (Item_t (Bytes_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> ISha3 (kinfo, k))} in + let stack = Item_t (Bytes_t None, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g1_t tn1, Item_t (Bls12_381_g1_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_bls12_381_g1 (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_g1_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_bls12_381_g1 (kinfo, k))} in + let stack = Item_t (Bls12_381_g1_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_g2_t tn1, Item_t (Bls12_381_g2_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_bls12_381_g2 (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_g2_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_bls12_381_g2 (kinfo, k))} in + let stack = Item_t (Bls12_381_g2_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_ADD, [], annot), Item_t (Bls12_381_fr_t tn1, Item_t (Bls12_381_fr_t tn2, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = - {csize = 0; apply = (fun kinfo k -> IAdd_bls12_381_fr (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IAdd_bls12_381_fr (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g1_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_g1 (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_g1_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_g1 (kinfo, k))} in + let stack = Item_t (Bls12_381_g1_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_g2_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_g2 (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_g2_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_g2 (kinfo, k))} in + let stack = Item_t (Bls12_381_g2_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_fr (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_fr (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Nat_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Int_t tname, Item_t (Bls12_381_fr_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_fr_z (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t tname, Item_t (Int_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), Item_t (Bls12_381_fr_t tname, Item_t (Nat_t _, rest, _), _) ) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> IMul_bls12_381_z_fr (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_INT, [], annot), Item_t (Bls12_381_fr_t _, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> IInt_bls12_381_fr (kinfo, k))} - in - typed ctxt loc instr (Item_t (Int_t None, rest, annot)) + let instr = {apply = (fun kinfo k -> IInt_bls12_381_fr (kinfo, k))} in + let stack = Item_t (Int_t None, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NEG, [], annot), Item_t (Bls12_381_g1_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> INeg_bls12_381_g1 (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_g1_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> INeg_bls12_381_g1 (kinfo, k))} in + let stack = Item_t (Bls12_381_g1_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NEG, [], annot), Item_t (Bls12_381_g2_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> INeg_bls12_381_g2 (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_g2_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> INeg_bls12_381_g2 (kinfo, k))} in + let stack = Item_t (Bls12_381_g2_t tname, rest, annot) in + typed ctxt 0 loc instr stack | (Prim (loc, I_NEG, [], annot), Item_t (Bls12_381_fr_t tname, rest, _)) -> parse_var_annot loc annot >>?= fun annot -> - let instr = - {csize = 0; apply = (fun kinfo k -> INeg_bls12_381_fr (kinfo, k))} - in - typed ctxt loc instr (Item_t (Bls12_381_fr_t tname, rest, annot)) + let instr = {apply = (fun kinfo k -> INeg_bls12_381_fr (kinfo, k))} in + let stack = Item_t (Bls12_381_fr_t tname, rest, annot) in + typed ctxt 0 loc instr stack | ( Prim (loc, I_PAIRING_CHECK, [], annot), Item_t ( List_t @@ -5977,12 +5848,10 @@ and parse_instr : parse_var_annot loc annot >>?= fun annot -> let instr = - { - csize = 0; - apply = (fun kinfo k -> IPairing_check_bls12_381 (kinfo, k)); - } + {apply = (fun kinfo k -> IPairing_check_bls12_381 (kinfo, k))} in - typed ctxt loc instr (Item_t (Bool_t None, rest, annot)) + let stack = Item_t (Bool_t None, rest, annot) in + typed ctxt 0 loc instr stack (* Tickets *) | (Prim (loc, I_TICKET, [], annot), Item_t (t, Item_t (Nat_t _, rest, _), _)) -> @@ -5990,18 +5859,18 @@ and parse_instr : >>?= fun annot -> comparable_ty_of_ty ctxt loc t >>?= fun (ty, ctxt) -> - let instr = {csize = 1; apply = (fun kinfo k -> ITicket (kinfo, k))} in - typed ctxt loc instr (Item_t (Ticket_t (ty, None), rest, annot)) + let instr = {apply = (fun kinfo k -> ITicket (kinfo, k))} in + let stack = Item_t (Ticket_t (ty, None), rest, annot) in + typed ctxt 1 loc instr stack | ( Prim (loc, I_READ_TICKET, [], annot), (Item_t (Ticket_t (t, _), _, _) as full_stack) ) -> parse_var_annot loc annot >>?= fun annot -> let () = check_dupable_comparable_ty t in let result = ty_of_comparable_ty @@ opened_ticket_type t in - let instr = - {csize = 1; apply = (fun kinfo k -> IRead_ticket (kinfo, k))} - in - typed ctxt loc instr (Item_t (result, full_stack, annot)) + let instr = {apply = (fun kinfo k -> IRead_ticket (kinfo, k))} in + let stack = Item_t (result, full_stack, annot) in + typed ctxt 1 loc instr stack | ( Prim (loc, I_SPLIT_TICKET, [], annot), Item_t ( (Ticket_t (t, _) as ticket_t), @@ -6015,10 +5884,9 @@ and parse_instr : Option_t (Pair_t ((ticket_t, fa_a, a_a), (ticket_t, fa_b, a_b), None), None) in - let instr = - {csize = 1; apply = (fun kinfo k -> ISplit_ticket (kinfo, k))} - in - typed ctxt loc instr (Item_t (result, rest, annot)) + let instr = {apply = (fun kinfo k -> ISplit_ticket (kinfo, k))} in + let stack = Item_t (result, rest, annot) in + typed ctxt 1 loc instr stack | ( Prim (loc, I_JOIN_TICKETS, [], annot), Item_t ( Pair_t (((Ticket_t _ as ty_a), _, _), ((Ticket_t _ as ty_b), _, _), _), @@ -6031,12 +5899,10 @@ and parse_instr : match ty with | Ticket_t (contents_ty, _) -> let instr = - { - csize = 0; - apply = (fun kinfo k -> IJoin_tickets (kinfo, contents_ty, k)); - } + {apply = (fun kinfo k -> IJoin_tickets (kinfo, contents_ty, k))} in - typed ctxt loc instr (Item_t (Option_t (ty, None), rest, annot)) + let stack = Item_t (Option_t (ty, None), rest, annot) in + typed ctxt 0 loc instr stack | _ -> (* TODO: fix injectivity of types *) assert false ) (* Primitive parsing errors *) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.mli b/src/proto_alpha/lib_protocol/script_ir_translator.mli index 130b13b193b4..7c8e42153824 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.mli +++ b/src/proto_alpha/lib_protocol/script_ir_translator.mli @@ -53,7 +53,6 @@ type ('arg, 'storage) code = { type ex_code = Ex_code : ('a, 'c) code -> ex_code type ('a, 's, 'b, 'u) cinstr = { - csize : int; apply : 'r 'f. ('a, 's) Script_typed_ir.kinfo -> ('b, 'u, 'r, 'f) Script_typed_ir.kinstr -> -- GitLab From 9be14bd0e2d963cb08ca094333eedd0be6eb6789 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 12:22:09 +0200 Subject: [PATCH 51/69] Proto/Michelson: Fix docstring Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 56e432fe184c..bc1a69e060f9 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -1019,7 +1019,7 @@ and (_, _, _, _) continuation = ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) continuation -> (('a, 'b) union, 's, 'r, 'f) continuation (* This continuation is executed at each iteration of a traversal. - (Used in List, Map and Big_map.) *) + (Used in List, Map and Set.) *) | KIter : ('a, 'b * 's, 'b, 's) kinstr * 'a list * ('b, 's, 'r, 'f) continuation -> ('b, 's, 'r, 'f) continuation -- GitLab From 5d11c6f15ffbacf153ef37a37987b044004137f5 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 20:24:48 +0200 Subject: [PATCH 52/69] Proto/Michelson: Remove ugly 'logger option' field in instructions Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 138 +++++++++++------- .../lib_protocol/script_interpreter_defs.ml | 87 ++++++++--- .../lib_protocol/script_ir_translator.ml | 14 +- .../lib_protocol/script_typed_ir.ml | 54 +++---- 4 files changed, 181 insertions(+), 112 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 926e8f0e3c48..ed5436ec8d14 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -455,6 +455,69 @@ and imap_iter : type a b c d e f g h. (a, b, c, d, e, f, g, h) imap_iter_type = (next [@ocaml.tailcall]) g gas ks accu stack [@@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 -> + 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)) + | 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 -> + 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)) + | 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 -> + 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)) + | 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 -> + 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)) + | Some r -> + (step [@ocaml.tailcall]) g gas k ks r stack + +and ifailwith : type a b. (a, b) ifailwith_type = + fun logger (ctxt, _) gas kloc tv accu -> + let v = accu in + let ctxt = update_context gas ctxt in + trace Cannot_serialize_failure (unparse_data ctxt Optimized tv v) + >>=? fun (v, _ctxt) -> + let v = Micheline.strip_locations v in + get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) + +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 -> + let arg = accu and (code, stack) = stack in + let (Lam (code, _)) = code in + let code = + match logger with + | None -> + code.kinstr + | Some logger -> + log_kinstr logger code.kinstr + in + let ks = KReturn (stack, 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 = fun ((ctxt, sc) as g) gas i ks accu stack -> match consume gas i accu stack with @@ -718,24 +781,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, logger, k) -> ( - 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)) - | Some y -> - Tez.(x *? y) - >>?= fun res -> (step [@ocaml.tailcall]) g gas k ks res stack ) - | IMul_nattez (kinfo, logger, k) -> ( - 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)) - | Some y -> - 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 (* boolean operations *) | IOr (_, k) -> let x = accu in @@ -867,20 +916,10 @@ 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, logger, k) -> ( - 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)) - | Some x -> - (step [@ocaml.tailcall]) g gas k ks x stack ) - | ILsr_nat (kinfo, logger, k) -> ( - 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)) - | Some r -> - (step [@ocaml.tailcall]) g gas k ks r 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 | IOr_nat (_, k) -> let x = accu and (y, stack) = stack in let res = Script_int.logor x y in @@ -921,18 +960,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let ks = KUndip (ign, KCons (k, ks)) in let (accu, stack) = stack in (step [@ocaml.tailcall]) g gas b ks accu stack - | IExec (_, logger, k) -> - let arg = accu and (code, stack) = stack in - let (Lam (code, _)) = code in - let code = - match logger with - | None -> - code.kinstr - | Some logger -> - log_kinstr logger code.kinstr - in - let ks = KReturn (stack, KCons (k, ks)) in - (step [@ocaml.tailcall]) g gas code ks arg (EmptyCell, EmptyCell) + | IExec (_, k) -> + iexec None g gas k ks accu stack | IApply (_, capture_ty, k) -> let capture = accu in let (lam, stack) = stack in @@ -941,13 +970,8 @@ 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, logger, _) -> - let v = accu in - let ctxt = update_context gas ctxt in - trace Cannot_serialize_failure (unparse_data ctxt Optimized tv v) - >>=? fun (v, _ctxt) -> - let v = Micheline.strip_locations v in - get_log logger >>=? fun log -> fail (Reject (kloc, v, log)) + | IFailwith (_, kloc, tv, _) -> + ifailwith None g gas kloc tv accu (* comparison *) | ICompare (_, ty, k) -> let a = accu in @@ -1449,6 +1473,18 @@ and log : | 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 (Some logger) g gas kinfo k ks accu stack + | IMul_nattez (kinfo, k) -> + imul_nattez (Some logger) g gas kinfo k ks accu stack + | ILsl_nat (kinfo, k) -> + ilsl_nat (Some logger) g gas kinfo k ks accu stack + | ILsr_nat (kinfo, k) -> + ilsr_nat (Some logger) g gas kinfo k ks accu stack + | IFailwith (_, kloc, tv, _) -> + ifailwith (Some logger) g gas kloc tv accu + | IExec (_, k) -> + iexec (Some logger) g gas k ks accu stack | _ -> (step [@ocaml.tailcall]) g gas k (with_log 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 9a0c0c34ed92..8721971fc1f6 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -609,29 +609,7 @@ let get_log (logger : logger option) = execution of [i] with [logger]. In some cases, it embeds [logger] to [i] to let the instruction [i] asks [logger] for a backtrace when the evaluation of [i] fails. *) -let log_kinstr logger i = - let set_logger_for_trace_dependent_kinstr : - type a s r f. (a, s, r, f) kinstr -> (a, s, r, f) kinstr = function - | IFailwith (kinfo, kloc, tv, _, k) -> - IFailwith (kinfo, kloc, tv, Some logger, k) - | IExec (kinfo, _, k) -> - IExec (kinfo, Some logger, k) - | IMul_teznat (kinfo, _, k) -> - IMul_teznat (kinfo, Some logger, k) - | IMul_nattez (kinfo, _, k) -> - IMul_nattez (kinfo, Some logger, k) - | ILsr_nat (kinfo, _, k) -> - ILsr_nat (kinfo, Some logger, k) - | ILsl_nat (kinfo, _, k) -> - ILsl_nat (kinfo, Some logger, k) - | i -> - i - in - ILog - ( kinfo_of_kinstr i, - LogEntry, - logger, - set_logger_for_trace_dependent_kinstr i ) +let log_kinstr logger i = ILog (kinfo_of_kinstr i, LogEntry, logger, i) (* [log_next_kinstr logger i] instruments the next instruction of [i] with the [logger].*) @@ -1057,3 +1035,66 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h) imap_iter_type = ('e, 'f) map -> 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f) imul_teznat_type = + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + (Tez.t, 'a) kinfo -> + (Tez.t, 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + Tez.t -> + Script_int.n Script_int.num * 'b -> + ('e * 'f * outdated_context * local_gas_counter, error trace) result Lwt.t + +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 -> + (Tez.t, 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + Script_int.n Script_int.num -> + Tez.t * 'b -> + ('e * 'f * outdated_context * local_gas_counter, error trace) result Lwt.t + +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_int.n Script_int.num, 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + Script_int.n Script_int.num -> + Script_int.n Script_int.num * 'b -> + ('e * 'f * outdated_context * local_gas_counter, error trace) result Lwt.t + +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_int.n Script_int.num, 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + Script_int.n Script_int.num -> + Script_int.n Script_int.num * 'b -> + ('e * 'f * outdated_context * local_gas_counter, error trace) result Lwt.t + +type ('a, 'b) ifailwith_type = + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + int -> + 'a ty -> + 'a -> + ('b, error trace) result Lwt.t + +type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iexec_type = + logger option -> + outdated_context * step_constants -> + local_gas_counter -> + ('a, 'b, 'c, 'd) kinstr -> + ('c, 'd, 'e, 'f) continuation -> + 'g -> + ('g, 'a) lambda * 'b -> + ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index c377a6364ec9..584cf26331e3 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4750,7 +4750,7 @@ and parse_instr : >>?= fun (Eq, _, ctxt) -> parse_var_annot loc annot >>?= fun annot -> - let instr = {apply = (fun kinfo k -> IExec (kinfo, None, k))} in + let instr = {apply = (fun kinfo k -> IExec (kinfo, k))} in let stack = Item_t (ret, rest, annot) in ( typed ctxt 0 loc instr stack : ((a, s) judgement * context) tzresult Lwt.t ) @@ -4862,9 +4862,7 @@ and parse_instr : >>?= fun () -> (if legacy then ok_unit else check_packable ~legacy:false loc v) >>?= fun () -> - let instr = - {apply = (fun kinfo k -> IFailwith (kinfo, loc, v, None, k))} - in + let instr = {apply = (fun kinfo k -> IFailwith (kinfo, loc, v, k))} in let descr aft = {loc; instr; bef = stack_ty; aft} in log_stack ctxt loc stack_ty Bot_t >>?= fun () -> return ctxt 0 (Failed {descr}) @@ -5004,7 +5002,7 @@ and parse_instr : (* no type name check *) parse_var_annot loc annot >>?= fun annot -> - let instr = {apply = (fun kinfo k -> IMul_teznat (kinfo, None, k))} in + let instr = {apply = (fun kinfo k -> IMul_teznat (kinfo, k))} in let stack = Item_t (Mutez_t tname, rest, annot) in typed ctxt 0 loc instr stack | ( Prim (loc, I_MUL, [], annot), @@ -5012,7 +5010,7 @@ and parse_instr : (* no type name check *) parse_var_annot loc annot >>?= fun annot -> - let instr = {apply = (fun kinfo k -> IMul_nattez (kinfo, None, k))} in + let instr = {apply = (fun kinfo k -> IMul_nattez (kinfo, k))} in let stack = Item_t (Mutez_t tname, rest, annot) in typed ctxt 0 loc instr stack (* boolean operations *) @@ -5280,7 +5278,7 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {apply = (fun kinfo k -> ILsl_nat (kinfo, None, k))} in + let instr = {apply = (fun kinfo k -> ILsl_nat (kinfo, k))} in let stack = Item_t (Nat_t tname, rest, annot) in typed ctxt 0 loc instr stack | ( Prim (loc, I_LSR, [], annot), @@ -5289,7 +5287,7 @@ and parse_instr : >>?= fun annot -> merge_type_annot ~legacy tn1 tn2 >>?= fun tname -> - let instr = {apply = (fun kinfo k -> ILsr_nat (kinfo, None, k))} in + let instr = {apply = (fun kinfo k -> ILsr_nat (kinfo, k))} in let stack = Item_t (Nat_t tname, rest, annot) in typed ctxt 0 loc instr stack | ( Prim (loc, I_OR, [], annot), diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index bc1a69e060f9..793d2a50fe4a 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -475,10 +475,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = (Tez.t, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, Tez.t * 's, 'r, 'f) kinstr | IMul_teznat : - (Tez.t, n num * 's) kinfo * logger option * (Tez.t, 's, 'r, 'f) kinstr + (Tez.t, n num * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr -> (Tez.t, n num * 's, 'r, 'f) kinstr | IMul_nattez : - (n num, Tez.t * 's) kinfo * logger option * (Tez.t, 's, 'r, 'f) kinstr + (n num, Tez.t * 's) kinfo * (Tez.t, 's, 'r, 'f) kinstr -> (n num, Tez.t * 's, 'r, 'f) kinstr | IEdiv_teznat : (Tez.t, n num * 's) kinfo @@ -567,10 +567,10 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ((n num, n num) pair option, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ILsl_nat : - (n num, n num * 's) kinfo * logger option * (n num, 's, 'r, 'f) kinstr + (n num, n num * 's) kinfo * (n num, 's, 'r, 'f) kinstr -> (n num, n num * 's, 'r, 'f) kinstr | ILsr_nat : - (n num, n num * 's) kinfo * logger option * (n num, 's, 'r, 'f) kinstr + (n num, n num * 's) kinfo * (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 @@ -617,9 +617,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr | IExec : - ('a, ('a, 'b) lambda * 's) kinfo - * logger option - * ('b, 's, 'r, 'f) kinstr + ('a, ('a, 'b) lambda * 's) kinfo * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr | IApply : ('a, ('a * 'b, 'c) lambda * 's) kinfo @@ -632,11 +630,7 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr | IFailwith : - ('a, 's) kinfo - * Script.location - * 'a ty - * logger option - * ('b, 't, 'r, 'f) kinstr + ('a, 's) kinfo * Script.location * 'a ty * ('b, 't, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr (* Comparison @@ -1363,9 +1357,9 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | ISub_tez (kinfo, _) -> kinfo - | IMul_teznat (kinfo, _, _) -> + | IMul_teznat (kinfo, _) -> kinfo - | IMul_nattez (kinfo, _, _) -> + | IMul_nattez (kinfo, _) -> kinfo | IEdiv_teznat (kinfo, _) -> kinfo @@ -1415,9 +1409,9 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IEdiv_natnat (kinfo, _) -> kinfo - | ILsl_nat (kinfo, _, _) -> + | ILsl_nat (kinfo, _) -> kinfo - | ILsr_nat (kinfo, _, _) -> + | ILsr_nat (kinfo, _) -> kinfo | IOr_nat (kinfo, _) -> kinfo @@ -1439,13 +1433,13 @@ let kinfo_of_kinstr : type a s b f. (a, s, b, f) kinstr -> (a, s) kinfo = kinfo | IDip (kinfo, _, _) -> kinfo - | IExec (kinfo, _, _) -> + | IExec (kinfo, _) -> kinfo | IApply (kinfo, _, _) -> kinfo | ILambda (kinfo, _, _) -> kinfo - | IFailwith (kinfo, _, _, _, _) -> + | IFailwith (kinfo, _, _, _) -> kinfo | ICompare (kinfo, _, _) -> kinfo @@ -1695,10 +1689,10 @@ let kinstr_rewritek : IAdd_tez (kinfo, f.apply k) | ISub_tez (kinfo, k) -> ISub_tez (kinfo, f.apply k) - | IMul_teznat (kinfo, logger, k) -> - IMul_teznat (kinfo, logger, f.apply k) - | IMul_nattez (kinfo, logger, k) -> - IMul_nattez (kinfo, logger, 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) -> @@ -1747,10 +1741,10 @@ let kinstr_rewritek : IEdiv_natint (kinfo, f.apply k) | IEdiv_natnat (kinfo, k) -> IEdiv_natnat (kinfo, f.apply k) - | ILsl_nat (kinfo, logger, k) -> - ILsl_nat (kinfo, logger, f.apply k) - | ILsr_nat (kinfo, logger, k) -> - ILsr_nat (kinfo, logger, 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) -> @@ -1773,14 +1767,14 @@ let kinstr_rewritek : ILoop_left (kinfo, f.apply kl, f.apply kr) | IDip (kinfo, body, k) -> IDip (kinfo, f.apply body, f.apply k) - | IExec (kinfo, logger, k) -> - IExec (kinfo, logger, 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, logger, k) -> - IFailwith (kinfo, i, ty, logger, f.apply k) + | IFailwith (kinfo, i, ty, k) -> + IFailwith (kinfo, i, ty, f.apply k) | ICompare (kinfo, ty, k) -> ICompare (kinfo, ty, f.apply k) | IEq (kinfo, k) -> -- GitLab From dd5731cce0207827056e2cda073de2c1fe9ea2c1 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 17:35:11 +0200 Subject: [PATCH 53/69] Proto/Michelson: Update regression test outputs Signed-off-by: Yann Regis-Gianas --- ...ut[bls12_381_fr_to_mutez.tz-0-0x10-16].out | 6 +- ...r 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out | 3439 ++++++++++++++--- ... 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out | 3439 ++++++++++++++--- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out | 25 + ... None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out | 7 + ... None)-(Pair 10 -3)-(Pair (.3caea50555.out | 7 + ... None)-(Pair 10 0)-(Pair No.f9448c04fb.out | 7 + ...t[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" | 20 +- ...oncat.tz-\"?\"-\"test\"-\"test_abc\"].out" | 20 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 100 +- ...put_output[loop_left.tz-{\"\"}-{}-{}].out" | 22 +- ...ct_input_output[mul.tz-Unit-Unit-Unit].out | 86 +- ...ntract_input_output[pexec.tz-14-38-52].out | 14 +- ... 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out | 124 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 58 +- ..._output[reverse_loop.tz-{\"\"}-{}-{}].out" | 16 +- ...output[self_address.tz-Unit-Unit-Unit].out | 22 +- ...entrypoint.tz-Unit-Left (Left 0)-Unit].out | 40 +- ...ts.tz-None-(Left (Pair 0 0))-(Some 0)].out | 8 +- ...ts.tz-None-(Left (Pair 0 1))-(Some 0)].out | 8 +- ...ts.tz-None-(Left (Pair 1 2))-(Some 4)].out | 8 +- ....tz-None-(Left (Pair 15 2))-(Some 60)].out | 8 +- ...s.tz-None-(Left (Pair 8 1))-(Some 16)].out | 8 +- ...s.tz-None-(Right (Pair 0 0))-(Some 0)].out | 8 +- ...s.tz-None-(Right (Pair 0 1))-(Some 0)].out | 8 +- ...s.tz-None-(Right (Pair 1 2))-(Some 0)].out | 8 +- ....tz-None-(Right (Pair 15 2))-(Some 3)].out | 8 +- ...s.tz-None-(Right (Pair 8 1))-(Some 4)].out | 8 +- 28 files changed, 5974 insertions(+), 1558 deletions(-) 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 7a6e8aa92b42..fb07622efef4 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 @@ -20,11 +20,11 @@ trace - location: 17 (remaining gas: 1039988.450 units remaining) [ 1 16 @some ] - - location: 20 (remaining gas: 1039988.117 units remaining) + - location: 20 (remaining gas: 1039988.450 units remaining) [ 16 ] - - location: 21 (remaining gas: 1039988.072 units remaining) + - location: 21 (remaining gas: 1039988.405 units remaining) [ {} 16 ] - - location: 23 (remaining gas: 1039988.027 units remaining) + - location: 23 (remaining gas: 1039988.360 units remaining) [ (Pair {} 16) ] 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 c302f694691a..5ab387a948fb 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 @@ -37,6 +37,17 @@ trace [ 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) @parameter ] + - location: 31 (remaining gas: 1039860.752 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) @parameter ] + - location: 31 (remaining gas: 1039860.707 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) @parameter ] - location: 31 (remaining gas: 1039860.707 units remaining) [ 17 16 @@ -50,6 +61,24 @@ trace [ 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) @parameter ] + - location: 35 (remaining gas: 1039860.500 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) @parameter ] + - location: 35 (remaining gas: 1039860.455 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) @parameter ] + - location: 35 (remaining gas: 1039860.410 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) @parameter ] - location: 35 (remaining gas: 1039860.410 units remaining) [ 17 16 @@ -64,6 +93,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) @parameter ] + - location: 39 (remaining gas: 1039860.199 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) @parameter ] + - location: 39 (remaining gas: 1039860.154 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) @parameter ] + - location: 39 (remaining gas: 1039860.109 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) @parameter ] + - location: 39 (remaining gas: 1039860.064 units remaining) + [ 17 + 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 39 (remaining gas: 1039860.064 units remaining) [ 17 16 @@ -79,6 +134,41 @@ 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) @parameter ] + - location: 43 (remaining gas: 1039859.849 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) @parameter ] + - location: 43 (remaining gas: 1039859.804 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) @parameter ] + - location: 43 (remaining gas: 1039859.759 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) @parameter ] + - location: 43 (remaining gas: 1039859.714 units remaining) + [ 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 43 (remaining gas: 1039859.669 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 43 (remaining gas: 1039859.669 units remaining) [ 17 16 @@ -95,6 +185,51 @@ 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) @parameter ] + - location: 47 (remaining gas: 1039859.450 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) @parameter ] + - location: 47 (remaining gas: 1039859.405 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) @parameter ] + - location: 47 (remaining gas: 1039859.360 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) @parameter ] + - location: 47 (remaining gas: 1039859.315 units remaining) + [ 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 47 (remaining gas: 1039859.270 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 47 (remaining gas: 1039859.225 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 47 (remaining gas: 1039859.225 units remaining) [ 17 16 @@ -112,6 +247,62 @@ 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) @parameter ] + - location: 51 (remaining gas: 1039859.002 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) @parameter ] + - location: 51 (remaining gas: 1039858.957 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) @parameter ] + - location: 51 (remaining gas: 1039858.912 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) @parameter ] + - location: 51 (remaining gas: 1039858.867 units remaining) + [ 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 51 (remaining gas: 1039858.822 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 51 (remaining gas: 1039858.777 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 51 (remaining gas: 1039858.732 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 51 (remaining gas: 1039858.732 units remaining) [ 17 16 @@ -130,48 +321,53 @@ 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) @parameter ] - - location: 55 (remaining gas: 1039858.190 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 + - location: 55 (remaining gas: 1039858.505 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) @parameter ] + - location: 55 (remaining gas: 1039858.460 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) @parameter ] + - location: 55 (remaining gas: 1039858.415 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) @parameter ] - - location: 59 (remaining gas: 1039858.054 units remaining) - [ (Pair 8 7 6 5 4 3 2 1) + - location: 55 (remaining gas: 1039858.370 units remaining) + [ 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 62 (remaining gas: 1039858.004 units remaining) - [ 8 - (Pair 7 6 5 4 3 2 1) + - location: 55 (remaining gas: 1039858.325 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 59 (remaining gas: 1039857.599 units remaining) - [ 17 - 16 - 15 + - location: 55 (remaining gas: 1039858.280 units remaining) + [ 15 14 13 12 11 10 9 - 8 - (Pair 7 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 63 (remaining gas: 1039857.459 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) @parameter ] - - location: 66 (remaining gas: 1039857.409 units remaining) - [ 7 - (Pair 6 5 4 3 2 1) + (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) @parameter ] - - location: 63 (remaining gas: 1039856.959 units remaining) - [ 17 - 16 + - location: 55 (remaining gas: 1039858.235 units remaining) + [ 16 15 14 13 @@ -179,18 +375,9 @@ trace 11 10 9 - 8 - 7 - (Pair 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 67 (remaining gas: 1039856.815 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) @parameter ] - - location: 70 (remaining gas: 1039856.765 units remaining) - [ 6 - (Pair 5 4 3 2 1) + (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) @parameter ] - - location: 67 (remaining gas: 1039856.270 units remaining) + - location: 55 (remaining gas: 1039858.190 units remaining) [ 17 16 15 @@ -200,19 +387,9 @@ trace 11 10 9 - 8 - 7 - 6 - (Pair 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 71 (remaining gas: 1039856.122 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) @parameter ] - - location: 74 (remaining gas: 1039856.072 units remaining) - [ 5 - (Pair 4 3 2 1) + (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) @parameter ] - - location: 71 (remaining gas: 1039855.532 units remaining) + - location: 55 (remaining gas: 1039858.190 units remaining) [ 17 16 15 @@ -222,46 +399,73 @@ trace 11 10 9 - 8 - 7 - 6 - 5 - (Pair 4 3 2 1) + (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) @parameter ] - - location: 75 (remaining gas: 1039855.380 units remaining) - [ (Pair 4 3 2 1) + - location: 59 (remaining gas: 1039858.054 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) @parameter ] - - location: 78 (remaining gas: 1039855.330 units remaining) - [ 4 - (Pair 3 2 1) + - location: 62 (remaining gas: 1039858.004 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) @parameter ] - - location: 75 (remaining gas: 1039854.745 units remaining) - [ 17 - 16 - 15 - 14 - 13 + - location: 59 (remaining gas: 1039857.959 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) @parameter ] + - location: 59 (remaining gas: 1039857.914 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) @parameter ] + - location: 59 (remaining gas: 1039857.869 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) @parameter ] + - location: 59 (remaining gas: 1039857.824 units remaining) + [ 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 59 (remaining gas: 1039857.779 units remaining) + [ 13 12 11 10 9 8 - 7 - 6 - 5 - 4 - (Pair 3 2 1) + (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) @parameter ] - - location: 79 (remaining gas: 1039854.589 units remaining) - [ (Pair 3 2 1) + - location: 59 (remaining gas: 1039857.734 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 82 (remaining gas: 1039854.539 units remaining) - [ 3 - (Pair 2 1) + - location: 59 (remaining gas: 1039857.689 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 79 (remaining gas: 1039853.909 units remaining) - [ 17 - 16 + - location: 59 (remaining gas: 1039857.644 units remaining) + [ 16 15 14 13 @@ -270,21 +474,9 @@ trace 10 9 8 - 7 - 6 - 5 - 4 - 3 - (Pair 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 83 (remaining gas: 1039853.749 units remaining) - [ (Pair 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 86 (remaining gas: 1039853.699 units remaining) - [ 2 - 1 + (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) @parameter ] - - location: 83 (remaining gas: 1039853.024 units remaining) + - location: 59 (remaining gas: 1039857.599 units remaining) [ 17 16 15 @@ -295,15 +487,9 @@ trace 10 9 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1 + (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) @parameter ] - - location: 87 (remaining gas: 1039852.924 units remaining) + - location: 59 (remaining gas: 1039857.599 units remaining) [ 17 16 15 @@ -314,19 +500,62 @@ trace 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) @parameter ] + - location: 63 (remaining gas: 1039857.459 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) @parameter ] + - location: 66 (remaining gas: 1039857.409 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) @parameter ] + - location: 63 (remaining gas: 1039857.364 units remaining) + [ 8 7 - 6 - 5 - 4 - 3 - 2 - 1 + (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) @parameter ] - - location: 89 (remaining gas: 1039852.820 units remaining) - [ 16 - 17 - 15 - 14 + - location: 63 (remaining gas: 1039857.319 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) @parameter ] + - location: 63 (remaining gas: 1039857.274 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) @parameter ] + - location: 63 (remaining gas: 1039857.229 units remaining) + [ 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 63 (remaining gas: 1039857.184 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 63 (remaining gas: 1039857.139 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 63 (remaining gas: 1039857.094 units remaining) + [ 14 13 12 11 @@ -334,17 +563,10 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 + (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) @parameter ] - - location: 91 (remaining gas: 1039852.712 units remaining) + - location: 63 (remaining gas: 1039857.049 units remaining) [ 15 - 16 - 17 14 13 12 @@ -353,18 +575,12 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 + (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) @parameter ] - - location: 93 (remaining gas: 1039852.600 units remaining) - [ 14 + - location: 63 (remaining gas: 1039857.004 units remaining) + [ 16 15 - 16 - 17 + 14 13 12 11 @@ -372,489 +588,2219 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 + (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) @parameter ] - - location: 95 (remaining gas: 1039852.484 units remaining) - [ 13 - 14 - 15 + - location: 63 (remaining gas: 1039856.959 units remaining) + [ 17 16 - 17 + 15 + 14 + 13 12 11 10 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 + (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) @parameter ] - - location: 97 (remaining gas: 1039852.364 units remaining) - [ 12 - 13 - 14 - 15 + - location: 63 (remaining gas: 1039856.959 units remaining) + [ 17 16 - 17 + 15 + 14 + 13 + 12 11 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 67 (remaining gas: 1039856.815 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) @parameter ] + - location: 70 (remaining gas: 1039856.765 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) @parameter ] + - location: 67 (remaining gas: 1039856.720 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) @parameter ] + - location: 67 (remaining gas: 1039856.675 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) @parameter ] + - location: 67 (remaining gas: 1039856.630 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) @parameter ] + - location: 67 (remaining gas: 1039856.585 units remaining) + [ 10 9 8 7 6 - 5 - 4 - 3 - 2 - 1 + (Pair 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 99 (remaining gas: 1039852.240 units remaining) + - location: 67 (remaining gas: 1039856.540 units remaining) [ 11 - 12 - 13 - 14 - 15 - 16 - 17 10 9 8 7 6 - 5 - 4 - 3 - 2 - 1 + (Pair 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 101 (remaining gas: 1039852.112 units remaining) - [ 10 + - location: 67 (remaining gas: 1039856.495 units remaining) + [ 12 11 - 12 - 13 - 14 - 15 - 16 - 17 + 10 9 8 7 6 - 5 - 4 - 3 - 2 - 1 + (Pair 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 103 (remaining gas: 1039851.980 units remaining) - [ 9 - 10 - 11 + - location: 67 (remaining gas: 1039856.450 units remaining) + [ 13 12 - 13 - 14 - 15 - 16 - 17 + 11 + 10 + 9 8 7 6 - 5 - 4 - 3 - 2 - 1 + (Pair 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 105 (remaining gas: 1039851.844 units remaining) - [ 8 - 9 - 10 - 11 + - location: 67 (remaining gas: 1039856.405 units remaining) + [ 14 + 13 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 67 (remaining gas: 1039856.360 units remaining) + [ 15 + 14 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 67 (remaining gas: 1039856.315 units remaining) + [ 16 + 15 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 67 (remaining gas: 1039856.270 units remaining) + [ 17 + 16 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 67 (remaining gas: 1039856.270 units remaining) + [ 17 16 - 17 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 7 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039856.122 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) @parameter ] + - location: 74 (remaining gas: 1039856.072 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) @parameter ] + - location: 71 (remaining gas: 1039856.027 units remaining) + [ 6 5 - 4 - 3 - 2 - 1 + (Pair 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 107 (remaining gas: 1039851.704 units remaining) + - location: 71 (remaining gas: 1039855.982 units remaining) [ 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 6 5 - 4 - 3 - 2 - 1 + (Pair 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 109 (remaining gas: 1039851.560 units remaining) - [ 6 + - location: 71 (remaining gas: 1039855.937 units remaining) + [ 8 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + 6 5 - 4 - 3 - 2 - 1 + (Pair 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 111 (remaining gas: 1039851.412 units remaining) - [ 5 - 6 - 7 + - location: 71 (remaining gas: 1039855.892 units remaining) + [ 9 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 4 - 3 - 2 - 1 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 113 (remaining gas: 1039851.260 units remaining) - [ 4 - 5 - 6 7 - 8 + 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) @parameter ] + - location: 71 (remaining gas: 1039855.847 units remaining) + [ 10 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.802 units remaining) + [ 11 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.757 units remaining) + [ 12 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.712 units remaining) + [ 13 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.667 units remaining) + [ 14 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.622 units remaining) + [ 15 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.577 units remaining) + [ 16 15 - 16 - 17 - 3 - 2 - 1 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 115 (remaining gas: 1039851.104 units remaining) - [ 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 + - location: 71 (remaining gas: 1039855.532 units remaining) + [ 17 16 - 17 - 2 - 1 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 117 (remaining gas: 1039850.944 units remaining) - [ 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 15 - 16 - 17 - 1 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 119 (remaining gas: 1039850.780 units remaining) - [ 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 14 - 15 - 16 - 17 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 121 (remaining gas: 1039850.680 units remaining) - [ 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 13 - 14 - 15 - 16 - 17 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 123 (remaining gas: 1039850.576 units remaining) - [ 2 - 1 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 12 - 13 - 14 - 15 - 16 - 17 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 125 (remaining gas: 1039850.468 units remaining) - [ 3 - 2 - 1 - 4 - 5 - 6 - 7 - 8 - 9 - 10 11 - 12 - 13 - 14 - 15 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 71 (remaining gas: 1039855.532 units remaining) + [ 17 16 - 17 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 127 (remaining gas: 1039850.356 units remaining) + - location: 75 (remaining gas: 1039855.380 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) @parameter ] + - location: 78 (remaining gas: 1039855.330 units remaining) [ 4 - 3 - 2 - 1 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 129 (remaining gas: 1039850.240 units remaining) + - location: 75 (remaining gas: 1039855.285 units remaining) [ 5 4 - 3 - 2 - 1 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 131 (remaining gas: 1039850.120 units remaining) + - location: 75 (remaining gas: 1039855.240 units remaining) [ 6 5 4 - 3 - 2 - 1 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 133 (remaining gas: 1039849.996 units remaining) + - location: 75 (remaining gas: 1039855.195 units remaining) [ 7 6 5 4 - 3 - 2 - 1 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 135 (remaining gas: 1039849.868 units remaining) + - location: 75 (remaining gas: 1039855.150 units remaining) [ 8 7 6 5 4 - 3 - 2 - 1 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039855.105 units remaining) + [ 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039855.060 units remaining) + [ 10 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039855.015 units remaining) + [ 11 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.970 units remaining) + [ 12 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.925 units remaining) + [ 13 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.880 units remaining) + [ 14 13 - 14 - 15 - 16 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.835 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.790 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.745 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 75 (remaining gas: 1039854.745 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.589 units remaining) + [ (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 82 (remaining gas: 1039854.539 units remaining) + [ 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.494 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) @parameter ] + - location: 79 (remaining gas: 1039854.449 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) @parameter ] + - location: 79 (remaining gas: 1039854.404 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) @parameter ] + - location: 79 (remaining gas: 1039854.359 units remaining) + [ 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.314 units remaining) + [ 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.269 units remaining) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.224 units remaining) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.179 units remaining) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.134 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.089 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039854.044 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039853.999 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039853.954 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039853.909 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 79 (remaining gas: 1039853.909 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.749 units remaining) + [ (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 86 (remaining gas: 1039853.699 units remaining) + [ 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.654 units remaining) + [ 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.609 units remaining) + [ 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.564 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) @parameter ] + - location: 83 (remaining gas: 1039853.519 units remaining) + [ 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.474 units remaining) + [ 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.429 units remaining) + [ 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 83 (remaining gas: 1039853.384 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.339 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.294 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.249 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.204 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.159 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.114 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.069 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.024 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.024 units remaining) + [ 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) @parameter ] + - location: 87 (remaining gas: 1039852.924 units remaining) + [ 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) @parameter ] + - location: 89 (remaining gas: 1039852.820 units remaining) + [ 16 + 17 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 91 (remaining gas: 1039852.712 units remaining) + [ 15 + 16 + 17 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 93 (remaining gas: 1039852.600 units remaining) + [ 14 + 15 + 16 + 17 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 95 (remaining gas: 1039852.484 units remaining) + [ 13 + 14 + 15 + 16 + 17 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 97 (remaining gas: 1039852.364 units remaining) + [ 12 + 13 + 14 + 15 + 16 + 17 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 99 (remaining gas: 1039852.240 units remaining) + [ 11 + 12 + 13 + 14 + 15 + 16 + 17 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 101 (remaining gas: 1039852.112 units remaining) + [ 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 103 (remaining gas: 1039851.980 units remaining) + [ 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 105 (remaining gas: 1039851.844 units remaining) + [ 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 107 (remaining gas: 1039851.704 units remaining) + [ 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 109 (remaining gas: 1039851.560 units remaining) + [ 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 111 (remaining gas: 1039851.412 units remaining) + [ 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 113 (remaining gas: 1039851.260 units remaining) + [ 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 115 (remaining gas: 1039851.104 units remaining) + [ 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 117 (remaining gas: 1039850.944 units remaining) + [ 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 119 (remaining gas: 1039850.780 units remaining) + [ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 121 (remaining gas: 1039850.680 units remaining) + [ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 123 (remaining gas: 1039850.576 units remaining) + [ 2 + 1 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 125 (remaining gas: 1039850.468 units remaining) + [ 3 + 2 + 1 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 127 (remaining gas: 1039850.356 units remaining) + [ 4 + 3 + 2 + 1 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 129 (remaining gas: 1039850.240 units remaining) + [ 5 + 4 + 3 + 2 + 1 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 131 (remaining gas: 1039850.120 units remaining) + [ 6 + 5 + 4 + 3 + 2 + 1 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 133 (remaining gas: 1039849.996 units remaining) + [ 7 + 6 + 5 + 4 + 3 + 2 + 1 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 135 (remaining gas: 1039849.868 units remaining) + [ 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 137 (remaining gas: 1039849.736 units remaining) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 139 (remaining gas: 1039849.600 units remaining) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 141 (remaining gas: 1039849.460 units remaining) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 143 (remaining gas: 1039849.316 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 145 (remaining gas: 1039849.168 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 147 (remaining gas: 1039849.016 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 149 (remaining gas: 1039848.860 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 151 (remaining gas: 1039848.700 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 17 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 137 (remaining gas: 1039849.736 units remaining) + - location: 153 (remaining gas: 1039848.536 units remaining) + [ 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) @parameter ] + - location: 156 (remaining gas: 1039848.376 units remaining) + [ 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 159 (remaining gas: 1039848.331 units remaining) + [ (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039848.286 units remaining) + [ 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039848.241 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) @parameter ] + - location: 156 (remaining gas: 1039848.196 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) @parameter ] + - location: 156 (remaining gas: 1039848.151 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) @parameter ] + - location: 156 (remaining gas: 1039848.106 units remaining) + [ 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039848.061 units remaining) + [ 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039848.016 units remaining) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.971 units remaining) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.926 units remaining) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.881 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.836 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.791 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.746 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.701 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.656 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 156 (remaining gas: 1039847.656 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.500 units remaining) + [ 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 163 (remaining gas: 1039847.455 units remaining) + [ (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.410 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) @parameter ] + - location: 160 (remaining gas: 1039847.365 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) @parameter ] + - location: 160 (remaining gas: 1039847.320 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) @parameter ] + - location: 160 (remaining gas: 1039847.275 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) @parameter ] + - location: 160 (remaining gas: 1039847.230 units remaining) + [ 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.185 units remaining) + [ 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.140 units remaining) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.095 units remaining) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.050 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039847.005 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039846.960 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039846.915 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039846.870 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039846.825 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 160 (remaining gas: 1039846.825 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.673 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) @parameter ] + - location: 167 (remaining gas: 1039846.628 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) @parameter ] + - location: 164 (remaining gas: 1039846.583 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) @parameter ] + - location: 164 (remaining gas: 1039846.538 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) @parameter ] + - location: 164 (remaining gas: 1039846.493 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) @parameter ] + - location: 164 (remaining gas: 1039846.448 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) @parameter ] + - location: 164 (remaining gas: 1039846.403 units remaining) + [ 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.358 units remaining) + [ 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.313 units remaining) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.268 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.223 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.178 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.133 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.088 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.043 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 164 (remaining gas: 1039846.043 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.895 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) @parameter ] + - location: 171 (remaining gas: 1039845.850 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) @parameter ] + - location: 168 (remaining gas: 1039845.805 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) @parameter ] + - location: 168 (remaining gas: 1039845.760 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) @parameter ] + - location: 168 (remaining gas: 1039845.715 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) @parameter ] + - location: 168 (remaining gas: 1039845.670 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) @parameter ] + - location: 168 (remaining gas: 1039845.625 units remaining) + [ 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.580 units remaining) + [ 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.535 units remaining) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.490 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.445 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.400 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.355 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.310 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 168 (remaining gas: 1039845.310 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 172 (remaining gas: 1039845.166 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) @parameter ] + - location: 175 (remaining gas: 1039845.121 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) @parameter ] + - location: 172 (remaining gas: 1039845.076 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) @parameter ] + - location: 172 (remaining gas: 1039845.031 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) @parameter ] + - location: 172 (remaining gas: 1039844.986 units remaining) [ 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + (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) @parameter ] - - location: 139 (remaining gas: 1039849.600 units remaining) + - location: 172 (remaining gas: 1039844.941 units remaining) [ 10 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 11 - 12 - 13 - 14 - 15 - 16 - 17 + (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) @parameter ] - - location: 141 (remaining gas: 1039849.460 units remaining) + - location: 172 (remaining gas: 1039844.896 units remaining) [ 11 10 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 12 - 13 - 14 - 15 - 16 - 17 + (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) @parameter ] - - location: 143 (remaining gas: 1039849.316 units remaining) + - location: 172 (remaining gas: 1039844.851 units remaining) [ 12 11 10 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 13 - 14 - 15 - 16 - 17 + (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) @parameter ] - - location: 145 (remaining gas: 1039849.168 units remaining) + - location: 172 (remaining gas: 1039844.806 units remaining) [ 13 12 11 @@ -862,18 +2808,9 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 14 - 15 - 16 - 17 + (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) @parameter ] - - location: 147 (remaining gas: 1039849.016 units remaining) + - location: 172 (remaining gas: 1039844.761 units remaining) [ 14 13 12 @@ -882,17 +2819,9 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 15 - 16 - 17 + (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) @parameter ] - - location: 149 (remaining gas: 1039848.860 units remaining) + - location: 172 (remaining gas: 1039844.716 units remaining) [ 15 14 13 @@ -902,16 +2831,9 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 16 - 17 + (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) @parameter ] - - location: 151 (remaining gas: 1039848.700 units remaining) + - location: 172 (remaining gas: 1039844.671 units remaining) [ 16 15 14 @@ -922,15 +2844,9 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - 2 - 1 - 17 + (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) @parameter ] - - location: 153 (remaining gas: 1039848.536 units remaining) + - location: 172 (remaining gas: 1039844.626 units remaining) [ 17 16 15 @@ -942,21 +2858,9 @@ trace 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) @parameter ] - - location: 156 (remaining gas: 1039848.376 units remaining) - [ 2 - 1 - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 159 (remaining gas: 1039848.331 units remaining) - [ (Pair 2 1) + (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) @parameter ] - - location: 156 (remaining gas: 1039847.656 units remaining) + - location: 172 (remaining gas: 1039844.626 units remaining) [ 17 16 15 @@ -968,20 +2872,88 @@ trace 9 8 7 - 6 - 5 - 4 - 3 - (Pair 2 1) + (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) @parameter ] - - location: 160 (remaining gas: 1039847.500 units remaining) - [ 3 - (Pair 2 1) + - location: 176 (remaining gas: 1039844.486 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) @parameter ] - - location: 163 (remaining gas: 1039847.455 units remaining) - [ (Pair 3 2 1) + - location: 179 (remaining gas: 1039844.441 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) @parameter ] - - location: 160 (remaining gas: 1039846.825 units remaining) + - location: 176 (remaining gas: 1039844.396 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) @parameter ] + - location: 176 (remaining gas: 1039844.351 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) @parameter ] + - location: 176 (remaining gas: 1039844.306 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) @parameter ] + - location: 176 (remaining gas: 1039844.261 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) @parameter ] + - location: 176 (remaining gas: 1039844.216 units remaining) + [ 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 176 (remaining gas: 1039844.171 units remaining) + [ 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 176 (remaining gas: 1039844.126 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 176 (remaining gas: 1039844.081 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 176 (remaining gas: 1039844.036 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 176 (remaining gas: 1039843.991 units remaining) [ 17 16 15 @@ -992,20 +2964,9 @@ trace 10 9 8 - 7 - 6 - 5 - 4 - (Pair 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 164 (remaining gas: 1039846.673 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) @parameter ] - - location: 167 (remaining gas: 1039846.628 units remaining) - [ (Pair 4 3 2 1) + (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) @parameter ] - - location: 164 (remaining gas: 1039846.043 units remaining) + - location: 176 (remaining gas: 1039843.991 units remaining) [ 17 16 15 @@ -1015,44 +2976,67 @@ trace 11 10 9 - 8 - 7 - 6 - 5 - (Pair 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 168 (remaining gas: 1039845.895 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) @parameter ] - - location: 171 (remaining gas: 1039845.850 units remaining) - [ (Pair 5 4 3 2 1) + 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) @parameter ] + - location: 180 (remaining gas: 1039843.855 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) @parameter ] + - location: 183 (remaining gas: 1039843.810 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) @parameter ] + - location: 180 (remaining gas: 1039843.765 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) @parameter ] + - location: 180 (remaining gas: 1039843.720 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) @parameter ] + - location: 180 (remaining gas: 1039843.675 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) @parameter ] + - location: 180 (remaining gas: 1039843.630 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) @parameter ] + - location: 180 (remaining gas: 1039843.585 units remaining) + [ 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 180 (remaining gas: 1039843.540 units remaining) + [ 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 168 (remaining gas: 1039845.310 units remaining) - [ 17 - 16 - 15 + - location: 180 (remaining gas: 1039843.495 units remaining) + [ 15 14 13 12 11 10 9 - 8 - 7 - 6 - (Pair 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 172 (remaining gas: 1039845.166 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) @parameter ] - - location: 175 (remaining gas: 1039845.121 units remaining) - [ (Pair 6 5 4 3 2 1) + (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) @parameter ] - - location: 172 (remaining gas: 1039844.626 units remaining) - [ 17 - 16 + - location: 180 (remaining gas: 1039843.450 units remaining) + [ 16 15 14 13 @@ -1060,18 +3044,9 @@ trace 11 10 9 - 8 - 7 - (Pair 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 176 (remaining gas: 1039844.486 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) @parameter ] - - location: 179 (remaining gas: 1039844.441 units remaining) - [ (Pair 7 6 5 4 3 2 1) + (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) @parameter ] - - location: 176 (remaining gas: 1039843.991 units remaining) + - location: 180 (remaining gas: 1039843.405 units remaining) [ 17 16 15 @@ -1081,15 +3056,7 @@ trace 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) @parameter ] - - location: 180 (remaining gas: 1039843.855 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) @parameter ] - - location: 183 (remaining gas: 1039843.810 units remaining) - [ (Pair 8 7 6 5 4 3 2 1) + (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) @parameter ] - location: 180 (remaining gas: 1039843.405 units remaining) [ 17 @@ -1110,6 +3077,66 @@ trace - location: 187 (remaining gas: 1039843.228 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) @parameter ] + - location: 184 (remaining gas: 1039843.183 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) @parameter ] + - location: 184 (remaining gas: 1039843.138 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) @parameter ] + - location: 184 (remaining gas: 1039843.093 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) @parameter ] + - location: 184 (remaining gas: 1039843.048 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) @parameter ] + - location: 184 (remaining gas: 1039843.003 units remaining) + [ 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 184 (remaining gas: 1039842.958 units remaining) + [ 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 184 (remaining gas: 1039842.913 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 184 (remaining gas: 1039842.868 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 184 (remaining gas: 1039842.868 units remaining) [ 17 16 @@ -1128,6 +3155,55 @@ trace - location: 191 (remaining gas: 1039842.695 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) @parameter ] + - location: 188 (remaining gas: 1039842.650 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) @parameter ] + - location: 188 (remaining gas: 1039842.605 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) @parameter ] + - location: 188 (remaining gas: 1039842.560 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) @parameter ] + - location: 188 (remaining gas: 1039842.515 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) @parameter ] + - location: 188 (remaining gas: 1039842.470 units remaining) + [ 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 188 (remaining gas: 1039842.425 units remaining) + [ 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 188 (remaining gas: 1039842.380 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 188 (remaining gas: 1039842.380 units remaining) [ 17 16 @@ -1145,6 +3221,45 @@ trace - location: 195 (remaining gas: 1039842.211 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) @parameter ] + - location: 192 (remaining gas: 1039842.166 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) @parameter ] + - location: 192 (remaining gas: 1039842.121 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) @parameter ] + - location: 192 (remaining gas: 1039842.076 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) @parameter ] + - location: 192 (remaining gas: 1039842.031 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) @parameter ] + - location: 192 (remaining gas: 1039841.986 units remaining) + [ 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] + - location: 192 (remaining gas: 1039841.941 units remaining) + [ 17 + 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 192 (remaining gas: 1039841.941 units remaining) [ 17 16 @@ -1161,6 +3276,36 @@ trace - location: 199 (remaining gas: 1039841.776 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) @parameter ] + - location: 196 (remaining gas: 1039841.731 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) @parameter ] + - location: 196 (remaining gas: 1039841.686 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) @parameter ] + - location: 196 (remaining gas: 1039841.641 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) @parameter ] + - location: 196 (remaining gas: 1039841.596 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) @parameter ] + - location: 196 (remaining gas: 1039841.551 units remaining) + [ 17 + 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - location: 196 (remaining gas: 1039841.551 units remaining) [ 17 16 @@ -1176,6 +3321,28 @@ trace - location: 203 (remaining gas: 1039841.390 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) @parameter ] + - location: 200 (remaining gas: 1039841.345 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) @parameter ] + - location: 200 (remaining gas: 1039841.300 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) @parameter ] + - location: 200 (remaining gas: 1039841.255 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) @parameter ] + - location: 200 (remaining gas: 1039841.210 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) @parameter ] - location: 200 (remaining gas: 1039841.210 units remaining) [ 17 16 @@ -1190,6 +3357,21 @@ trace - location: 207 (remaining gas: 1039841.053 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) @parameter ] + - location: 204 (remaining gas: 1039841.008 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) @parameter ] + - location: 204 (remaining gas: 1039840.963 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) @parameter ] + - location: 204 (remaining gas: 1039840.918 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) @parameter ] - location: 204 (remaining gas: 1039840.918 units remaining) [ 17 16 @@ -1203,6 +3385,15 @@ trace - location: 211 (remaining gas: 1039840.765 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) @parameter ] + - location: 208 (remaining gas: 1039840.720 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) @parameter ] + - location: 208 (remaining gas: 1039840.675 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) @parameter ] - location: 208 (remaining gas: 1039840.675 units remaining) [ 17 16 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 8e3b49fbdfd3..8813f40a40f5 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 @@ -37,6 +37,17 @@ trace [ 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) @parameter ] + - location: 31 (remaining gas: 1039860.752 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) @parameter ] + - location: 31 (remaining gas: 1039860.707 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) @parameter ] - location: 31 (remaining gas: 1039860.707 units remaining) [ 2 3 @@ -50,6 +61,24 @@ trace [ 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) @parameter ] + - location: 35 (remaining gas: 1039860.500 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) @parameter ] + - location: 35 (remaining gas: 1039860.455 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) @parameter ] + - location: 35 (remaining gas: 1039860.410 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) @parameter ] - location: 35 (remaining gas: 1039860.410 units remaining) [ 2 3 @@ -64,6 +93,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) @parameter ] + - location: 39 (remaining gas: 1039860.199 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) @parameter ] + - location: 39 (remaining gas: 1039860.154 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) @parameter ] + - location: 39 (remaining gas: 1039860.109 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) @parameter ] + - location: 39 (remaining gas: 1039860.064 units remaining) + [ 2 + 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 39 (remaining gas: 1039860.064 units remaining) [ 2 3 @@ -79,6 +134,41 @@ 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) @parameter ] + - location: 43 (remaining gas: 1039859.849 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) @parameter ] + - location: 43 (remaining gas: 1039859.804 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) @parameter ] + - location: 43 (remaining gas: 1039859.759 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) @parameter ] + - location: 43 (remaining gas: 1039859.714 units remaining) + [ 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 43 (remaining gas: 1039859.669 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 43 (remaining gas: 1039859.669 units remaining) [ 2 3 @@ -95,6 +185,51 @@ 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) @parameter ] + - location: 47 (remaining gas: 1039859.450 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) @parameter ] + - location: 47 (remaining gas: 1039859.405 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) @parameter ] + - location: 47 (remaining gas: 1039859.360 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) @parameter ] + - location: 47 (remaining gas: 1039859.315 units remaining) + [ 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 47 (remaining gas: 1039859.270 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 47 (remaining gas: 1039859.225 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 47 (remaining gas: 1039859.225 units remaining) [ 2 3 @@ -112,6 +247,62 @@ 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) @parameter ] + - location: 51 (remaining gas: 1039859.002 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) @parameter ] + - location: 51 (remaining gas: 1039858.957 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) @parameter ] + - location: 51 (remaining gas: 1039858.912 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) @parameter ] + - location: 51 (remaining gas: 1039858.867 units remaining) + [ 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 51 (remaining gas: 1039858.822 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 51 (remaining gas: 1039858.777 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 51 (remaining gas: 1039858.732 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 51 (remaining gas: 1039858.732 units remaining) [ 2 3 @@ -130,48 +321,53 @@ 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) @parameter ] - - location: 55 (remaining gas: 1039858.190 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 + - location: 55 (remaining gas: 1039858.505 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) @parameter ] + - location: 55 (remaining gas: 1039858.460 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) @parameter ] + - location: 55 (remaining gas: 1039858.415 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) @parameter ] - - location: 59 (remaining gas: 1039858.054 units remaining) - [ (Pair 6 8 11 4 13 15 5 1) + - location: 55 (remaining gas: 1039858.370 units remaining) + [ 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 62 (remaining gas: 1039858.004 units remaining) - [ 6 - (Pair 8 11 4 13 15 5 1) + - location: 55 (remaining gas: 1039858.325 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 59 (remaining gas: 1039857.599 units remaining) - [ 2 - 3 - 12 + - location: 55 (remaining gas: 1039858.280 units remaining) + [ 12 16 10 14 19 9 18 - 6 - (Pair 8 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 63 (remaining gas: 1039857.459 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) @parameter ] - - location: 66 (remaining gas: 1039857.409 units remaining) - [ 8 - (Pair 11 4 13 15 5 1) + (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) @parameter ] - - location: 63 (remaining gas: 1039856.959 units remaining) - [ 2 - 3 + - location: 55 (remaining gas: 1039858.235 units remaining) + [ 3 12 16 10 @@ -179,18 +375,9 @@ trace 19 9 18 - 6 - 8 - (Pair 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 67 (remaining gas: 1039856.815 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) @parameter ] - - location: 70 (remaining gas: 1039856.765 units remaining) - [ 11 - (Pair 4 13 15 5 1) + (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) @parameter ] - - location: 67 (remaining gas: 1039856.270 units remaining) + - location: 55 (remaining gas: 1039858.190 units remaining) [ 2 3 12 @@ -200,19 +387,9 @@ trace 19 9 18 - 6 - 8 - 11 - (Pair 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 71 (remaining gas: 1039856.122 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) @parameter ] - - location: 74 (remaining gas: 1039856.072 units remaining) - [ 4 - (Pair 13 15 5 1) + (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) @parameter ] - - location: 71 (remaining gas: 1039855.532 units remaining) + - location: 55 (remaining gas: 1039858.190 units remaining) [ 2 3 12 @@ -222,46 +399,73 @@ trace 19 9 18 - 6 - 8 - 11 - 4 - (Pair 13 15 5 1) + (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) @parameter ] - - location: 75 (remaining gas: 1039855.380 units remaining) - [ (Pair 13 15 5 1) + - location: 59 (remaining gas: 1039858.054 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) @parameter ] - - location: 78 (remaining gas: 1039855.330 units remaining) - [ 13 - (Pair 15 5 1) + - location: 62 (remaining gas: 1039858.004 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) @parameter ] - - location: 75 (remaining gas: 1039854.745 units remaining) - [ 2 - 3 - 12 - 16 - 10 + - location: 59 (remaining gas: 1039857.959 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) @parameter ] + - location: 59 (remaining gas: 1039857.914 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) @parameter ] + - location: 59 (remaining gas: 1039857.869 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) @parameter ] + - location: 59 (remaining gas: 1039857.824 units remaining) + [ 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 59 (remaining gas: 1039857.779 units remaining) + [ 10 14 19 9 18 6 - 8 - 11 - 4 - 13 - (Pair 15 5 1) + (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) @parameter ] - - location: 79 (remaining gas: 1039854.589 units remaining) - [ (Pair 15 5 1) + - location: 59 (remaining gas: 1039857.734 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 82 (remaining gas: 1039854.539 units remaining) - [ 15 - (Pair 5 1) + - location: 59 (remaining gas: 1039857.689 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 79 (remaining gas: 1039853.909 units remaining) - [ 2 - 3 + - location: 59 (remaining gas: 1039857.644 units remaining) + [ 3 12 16 10 @@ -270,21 +474,9 @@ trace 9 18 6 - 8 - 11 - 4 - 13 - 15 - (Pair 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 83 (remaining gas: 1039853.749 units remaining) - [ (Pair 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 86 (remaining gas: 1039853.699 units remaining) - [ 5 - 1 + (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) @parameter ] - - location: 83 (remaining gas: 1039853.024 units remaining) + - location: 59 (remaining gas: 1039857.599 units remaining) [ 2 3 12 @@ -295,15 +487,9 @@ trace 9 18 6 - 8 - 11 - 4 - 13 - 15 - 5 - 1 + (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) @parameter ] - - location: 87 (remaining gas: 1039852.924 units remaining) + - location: 59 (remaining gas: 1039857.599 units remaining) [ 2 3 12 @@ -314,19 +500,62 @@ trace 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) @parameter ] + - location: 63 (remaining gas: 1039857.459 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) @parameter ] + - location: 66 (remaining gas: 1039857.409 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) @parameter ] + - location: 63 (remaining gas: 1039857.364 units remaining) + [ 6 8 - 11 - 4 - 13 - 15 - 5 - 1 + (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) @parameter ] - - location: 89 (remaining gas: 1039852.820 units remaining) - [ 3 - 2 - 12 - 16 + - location: 63 (remaining gas: 1039857.319 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) @parameter ] + - location: 63 (remaining gas: 1039857.274 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) @parameter ] + - location: 63 (remaining gas: 1039857.229 units remaining) + [ 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 63 (remaining gas: 1039857.184 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 63 (remaining gas: 1039857.139 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 63 (remaining gas: 1039857.094 units remaining) + [ 16 10 14 19 @@ -334,17 +563,10 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 + (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) @parameter ] - - location: 91 (remaining gas: 1039852.712 units remaining) + - location: 63 (remaining gas: 1039857.049 units remaining) [ 12 - 3 - 2 16 10 14 @@ -353,18 +575,12 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 + (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) @parameter ] - - location: 93 (remaining gas: 1039852.600 units remaining) - [ 16 + - location: 63 (remaining gas: 1039857.004 units remaining) + [ 3 12 - 3 - 2 + 16 10 14 19 @@ -372,489 +588,2219 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 + (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) @parameter ] - - location: 95 (remaining gas: 1039852.484 units remaining) - [ 10 - 16 - 12 + - location: 63 (remaining gas: 1039856.959 units remaining) + [ 2 3 - 2 + 12 + 16 + 10 14 19 9 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 + (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) @parameter ] - - location: 97 (remaining gas: 1039852.364 units remaining) - [ 14 - 10 - 16 - 12 + - location: 63 (remaining gas: 1039856.959 units remaining) + [ 2 3 - 2 + 12 + 16 + 10 + 14 19 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 67 (remaining gas: 1039856.815 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) @parameter ] + - location: 70 (remaining gas: 1039856.765 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) @parameter ] + - location: 67 (remaining gas: 1039856.720 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) @parameter ] + - location: 67 (remaining gas: 1039856.675 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) @parameter ] + - location: 67 (remaining gas: 1039856.630 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) @parameter ] + - location: 67 (remaining gas: 1039856.585 units remaining) + [ 9 18 6 8 11 - 4 - 13 - 15 - 5 - 1 + (Pair 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 99 (remaining gas: 1039852.240 units remaining) + - location: 67 (remaining gas: 1039856.540 units remaining) [ 19 - 14 - 10 - 16 - 12 - 3 - 2 9 18 6 8 11 - 4 - 13 - 15 - 5 - 1 + (Pair 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 101 (remaining gas: 1039852.112 units remaining) - [ 9 + - location: 67 (remaining gas: 1039856.495 units remaining) + [ 14 19 - 14 - 10 - 16 - 12 - 3 - 2 + 9 18 6 8 11 - 4 - 13 - 15 - 5 - 1 + (Pair 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 103 (remaining gas: 1039851.980 units remaining) - [ 18 - 9 - 19 + - location: 67 (remaining gas: 1039856.450 units remaining) + [ 10 14 - 10 - 16 - 12 - 3 - 2 + 19 + 9 + 18 6 8 11 - 4 - 13 - 15 - 5 - 1 + (Pair 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 105 (remaining gas: 1039851.844 units remaining) - [ 6 - 18 - 9 - 19 + - location: 67 (remaining gas: 1039856.405 units remaining) + [ 16 + 10 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 67 (remaining gas: 1039856.360 units remaining) + [ 12 + 16 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 67 (remaining gas: 1039856.315 units remaining) + [ 3 + 12 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 67 (remaining gas: 1039856.270 units remaining) + [ 2 + 3 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 67 (remaining gas: 1039856.270 units remaining) + [ 2 3 - 2 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 8 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039856.122 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) @parameter ] + - location: 74 (remaining gas: 1039856.072 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) @parameter ] + - location: 71 (remaining gas: 1039856.027 units remaining) + [ 11 4 - 13 - 15 - 5 - 1 + (Pair 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 107 (remaining gas: 1039851.704 units remaining) + - location: 71 (remaining gas: 1039855.982 units remaining) [ 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 11 4 - 13 - 15 - 5 - 1 + (Pair 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 109 (remaining gas: 1039851.560 units remaining) - [ 11 + - location: 71 (remaining gas: 1039855.937 units remaining) + [ 6 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + 11 4 - 13 - 15 - 5 - 1 + (Pair 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 111 (remaining gas: 1039851.412 units remaining) - [ 4 - 11 - 8 + - location: 71 (remaining gas: 1039855.892 units remaining) + [ 18 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 - 13 - 15 - 5 - 1 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 113 (remaining gas: 1039851.260 units remaining) - [ 13 - 4 - 11 8 - 6 + 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) @parameter ] + - location: 71 (remaining gas: 1039855.847 units remaining) + [ 9 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.802 units remaining) + [ 19 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.757 units remaining) + [ 14 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.712 units remaining) + [ 10 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.667 units remaining) + [ 16 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.622 units remaining) + [ 12 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.577 units remaining) + [ 3 12 - 3 - 2 - 15 - 5 - 1 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 115 (remaining gas: 1039851.104 units remaining) - [ 15 - 13 - 4 - 11 - 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 + - location: 71 (remaining gas: 1039855.532 units remaining) + [ 2 3 - 2 - 5 - 1 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 117 (remaining gas: 1039850.944 units remaining) - [ 5 - 15 - 13 - 4 - 11 - 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 12 - 3 - 2 - 1 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 119 (remaining gas: 1039850.780 units remaining) - [ 1 - 5 - 15 - 13 - 4 - 11 - 8 - 6 - 18 - 9 - 19 - 14 - 10 16 - 12 - 3 - 2 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 121 (remaining gas: 1039850.680 units remaining) - [ 1 - 5 - 15 - 13 - 4 - 11 - 8 - 6 - 18 - 9 - 19 - 14 10 - 16 - 12 - 3 - 2 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 123 (remaining gas: 1039850.576 units remaining) - [ 5 - 1 - 15 - 13 - 4 - 11 - 8 - 6 - 18 - 9 - 19 14 - 10 - 16 - 12 - 3 - 2 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 125 (remaining gas: 1039850.468 units remaining) - [ 15 - 5 - 1 - 13 - 4 - 11 - 8 - 6 - 18 - 9 19 - 14 - 10 - 16 - 12 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 71 (remaining gas: 1039855.532 units remaining) + [ 2 3 - 2 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 127 (remaining gas: 1039850.356 units remaining) + - location: 75 (remaining gas: 1039855.380 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) @parameter ] + - location: 78 (remaining gas: 1039855.330 units remaining) [ 13 - 15 - 5 - 1 - 4 - 11 - 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 129 (remaining gas: 1039850.240 units remaining) + - location: 75 (remaining gas: 1039855.285 units remaining) [ 4 13 - 15 - 5 - 1 - 11 - 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 131 (remaining gas: 1039850.120 units remaining) + - location: 75 (remaining gas: 1039855.240 units remaining) [ 11 4 13 - 15 - 5 - 1 - 8 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 133 (remaining gas: 1039849.996 units remaining) + - location: 75 (remaining gas: 1039855.195 units remaining) [ 8 11 4 13 - 15 - 5 - 1 - 6 - 18 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 135 (remaining gas: 1039849.868 units remaining) + - location: 75 (remaining gas: 1039855.150 units remaining) [ 6 8 11 4 13 - 15 - 5 - 1 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039855.105 units remaining) + [ 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039855.060 units remaining) + [ 9 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039855.015 units remaining) + [ 19 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.970 units remaining) + [ 14 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.925 units remaining) + [ 10 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.880 units remaining) + [ 16 10 - 16 - 12 - 3 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.835 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.790 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.745 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 75 (remaining gas: 1039854.745 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.589 units remaining) + [ (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 82 (remaining gas: 1039854.539 units remaining) + [ 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.494 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) @parameter ] + - location: 79 (remaining gas: 1039854.449 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) @parameter ] + - location: 79 (remaining gas: 1039854.404 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) @parameter ] + - location: 79 (remaining gas: 1039854.359 units remaining) + [ 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.314 units remaining) + [ 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.269 units remaining) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.224 units remaining) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.179 units remaining) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.134 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.089 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039854.044 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039853.999 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039853.954 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039853.909 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 79 (remaining gas: 1039853.909 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.749 units remaining) + [ (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 86 (remaining gas: 1039853.699 units remaining) + [ 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.654 units remaining) + [ 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.609 units remaining) + [ 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.564 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) @parameter ] + - location: 83 (remaining gas: 1039853.519 units remaining) + [ 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.474 units remaining) + [ 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.429 units remaining) + [ 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 83 (remaining gas: 1039853.384 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.339 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.294 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.249 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.204 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.159 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.114 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.069 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.024 units remaining) + [ 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) @parameter ] + - location: 83 (remaining gas: 1039853.024 units remaining) + [ 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) @parameter ] + - location: 87 (remaining gas: 1039852.924 units remaining) + [ 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) @parameter ] + - location: 89 (remaining gas: 1039852.820 units remaining) + [ 3 + 2 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 91 (remaining gas: 1039852.712 units remaining) + [ 12 + 3 + 2 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 93 (remaining gas: 1039852.600 units remaining) + [ 16 + 12 + 3 + 2 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 95 (remaining gas: 1039852.484 units remaining) + [ 10 + 16 + 12 + 3 + 2 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 97 (remaining gas: 1039852.364 units remaining) + [ 14 + 10 + 16 + 12 + 3 + 2 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 99 (remaining gas: 1039852.240 units remaining) + [ 19 + 14 + 10 + 16 + 12 + 3 + 2 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 101 (remaining gas: 1039852.112 units remaining) + [ 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 103 (remaining gas: 1039851.980 units remaining) + [ 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 105 (remaining gas: 1039851.844 units remaining) + [ 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 107 (remaining gas: 1039851.704 units remaining) + [ 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 109 (remaining gas: 1039851.560 units remaining) + [ 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 111 (remaining gas: 1039851.412 units remaining) + [ 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 113 (remaining gas: 1039851.260 units remaining) + [ 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 115 (remaining gas: 1039851.104 units remaining) + [ 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 117 (remaining gas: 1039850.944 units remaining) + [ 5 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 119 (remaining gas: 1039850.780 units remaining) + [ 1 + 5 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 121 (remaining gas: 1039850.680 units remaining) + [ 1 + 5 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 123 (remaining gas: 1039850.576 units remaining) + [ 5 + 1 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 125 (remaining gas: 1039850.468 units remaining) + [ 15 + 5 + 1 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 127 (remaining gas: 1039850.356 units remaining) + [ 13 + 15 + 5 + 1 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 129 (remaining gas: 1039850.240 units remaining) + [ 4 + 13 + 15 + 5 + 1 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 131 (remaining gas: 1039850.120 units remaining) + [ 11 + 4 + 13 + 15 + 5 + 1 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 133 (remaining gas: 1039849.996 units remaining) + [ 8 + 11 + 4 + 13 + 15 + 5 + 1 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 135 (remaining gas: 1039849.868 units remaining) + [ 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 137 (remaining gas: 1039849.736 units remaining) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 139 (remaining gas: 1039849.600 units remaining) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 141 (remaining gas: 1039849.460 units remaining) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 143 (remaining gas: 1039849.316 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 145 (remaining gas: 1039849.168 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 147 (remaining gas: 1039849.016 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 149 (remaining gas: 1039848.860 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 151 (remaining gas: 1039848.700 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 2 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 137 (remaining gas: 1039849.736 units remaining) + - location: 153 (remaining gas: 1039848.536 units remaining) + [ 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) @parameter ] + - location: 156 (remaining gas: 1039848.376 units remaining) + [ 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 159 (remaining gas: 1039848.331 units remaining) + [ (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039848.286 units remaining) + [ 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039848.241 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) @parameter ] + - location: 156 (remaining gas: 1039848.196 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) @parameter ] + - location: 156 (remaining gas: 1039848.151 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) @parameter ] + - location: 156 (remaining gas: 1039848.106 units remaining) + [ 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039848.061 units remaining) + [ 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039848.016 units remaining) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.971 units remaining) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.926 units remaining) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.881 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.836 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.791 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.746 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.701 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.656 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 156 (remaining gas: 1039847.656 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.500 units remaining) + [ 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 163 (remaining gas: 1039847.455 units remaining) + [ (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.410 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) @parameter ] + - location: 160 (remaining gas: 1039847.365 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) @parameter ] + - location: 160 (remaining gas: 1039847.320 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) @parameter ] + - location: 160 (remaining gas: 1039847.275 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) @parameter ] + - location: 160 (remaining gas: 1039847.230 units remaining) + [ 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.185 units remaining) + [ 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.140 units remaining) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.095 units remaining) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.050 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039847.005 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039846.960 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039846.915 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039846.870 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039846.825 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 160 (remaining gas: 1039846.825 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.673 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) @parameter ] + - location: 167 (remaining gas: 1039846.628 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) @parameter ] + - location: 164 (remaining gas: 1039846.583 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) @parameter ] + - location: 164 (remaining gas: 1039846.538 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) @parameter ] + - location: 164 (remaining gas: 1039846.493 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) @parameter ] + - location: 164 (remaining gas: 1039846.448 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) @parameter ] + - location: 164 (remaining gas: 1039846.403 units remaining) + [ 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.358 units remaining) + [ 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.313 units remaining) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.268 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.223 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.178 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.133 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.088 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.043 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 164 (remaining gas: 1039846.043 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.895 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) @parameter ] + - location: 171 (remaining gas: 1039845.850 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) @parameter ] + - location: 168 (remaining gas: 1039845.805 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) @parameter ] + - location: 168 (remaining gas: 1039845.760 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) @parameter ] + - location: 168 (remaining gas: 1039845.715 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) @parameter ] + - location: 168 (remaining gas: 1039845.670 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) @parameter ] + - location: 168 (remaining gas: 1039845.625 units remaining) + [ 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.580 units remaining) + [ 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.535 units remaining) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.490 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.445 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.400 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.355 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.310 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 168 (remaining gas: 1039845.310 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 172 (remaining gas: 1039845.166 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) @parameter ] + - location: 175 (remaining gas: 1039845.121 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) @parameter ] + - location: 172 (remaining gas: 1039845.076 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) @parameter ] + - location: 172 (remaining gas: 1039845.031 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) @parameter ] + - location: 172 (remaining gas: 1039844.986 units remaining) [ 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 9 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + (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) @parameter ] - - location: 139 (remaining gas: 1039849.600 units remaining) + - location: 172 (remaining gas: 1039844.941 units remaining) [ 9 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 19 - 14 - 10 - 16 - 12 - 3 - 2 + (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) @parameter ] - - location: 141 (remaining gas: 1039849.460 units remaining) + - location: 172 (remaining gas: 1039844.896 units remaining) [ 19 9 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 14 - 10 - 16 - 12 - 3 - 2 + (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) @parameter ] - - location: 143 (remaining gas: 1039849.316 units remaining) + - location: 172 (remaining gas: 1039844.851 units remaining) [ 14 19 9 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 10 - 16 - 12 - 3 - 2 + (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) @parameter ] - - location: 145 (remaining gas: 1039849.168 units remaining) + - location: 172 (remaining gas: 1039844.806 units remaining) [ 10 14 19 @@ -862,18 +2808,9 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 16 - 12 - 3 - 2 + (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) @parameter ] - - location: 147 (remaining gas: 1039849.016 units remaining) + - location: 172 (remaining gas: 1039844.761 units remaining) [ 16 10 14 @@ -882,17 +2819,9 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 12 - 3 - 2 + (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) @parameter ] - - location: 149 (remaining gas: 1039848.860 units remaining) + - location: 172 (remaining gas: 1039844.716 units remaining) [ 12 16 10 @@ -902,16 +2831,9 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 3 - 2 + (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) @parameter ] - - location: 151 (remaining gas: 1039848.700 units remaining) + - location: 172 (remaining gas: 1039844.671 units remaining) [ 3 12 16 @@ -922,15 +2844,9 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - 5 - 1 - 2 + (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) @parameter ] - - location: 153 (remaining gas: 1039848.536 units remaining) + - location: 172 (remaining gas: 1039844.626 units remaining) [ 2 3 12 @@ -942,21 +2858,9 @@ trace 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) @parameter ] - - location: 156 (remaining gas: 1039848.376 units remaining) - [ 5 - 1 - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 159 (remaining gas: 1039848.331 units remaining) - [ (Pair 5 1) + (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) @parameter ] - - location: 156 (remaining gas: 1039847.656 units remaining) + - location: 172 (remaining gas: 1039844.626 units remaining) [ 2 3 12 @@ -968,20 +2872,88 @@ trace 18 6 8 - 11 - 4 - 13 - 15 - (Pair 5 1) + (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) @parameter ] - - location: 160 (remaining gas: 1039847.500 units remaining) - [ 15 - (Pair 5 1) + - location: 176 (remaining gas: 1039844.486 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) @parameter ] - - location: 163 (remaining gas: 1039847.455 units remaining) - [ (Pair 15 5 1) + - location: 179 (remaining gas: 1039844.441 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) @parameter ] - - location: 160 (remaining gas: 1039846.825 units remaining) + - location: 176 (remaining gas: 1039844.396 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) @parameter ] + - location: 176 (remaining gas: 1039844.351 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) @parameter ] + - location: 176 (remaining gas: 1039844.306 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) @parameter ] + - location: 176 (remaining gas: 1039844.261 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) @parameter ] + - location: 176 (remaining gas: 1039844.216 units remaining) + [ 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 176 (remaining gas: 1039844.171 units remaining) + [ 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 176 (remaining gas: 1039844.126 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 176 (remaining gas: 1039844.081 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 176 (remaining gas: 1039844.036 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 176 (remaining gas: 1039843.991 units remaining) [ 2 3 12 @@ -992,20 +2964,9 @@ trace 9 18 6 - 8 - 11 - 4 - 13 - (Pair 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 164 (remaining gas: 1039846.673 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) @parameter ] - - location: 167 (remaining gas: 1039846.628 units remaining) - [ (Pair 13 15 5 1) + (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) @parameter ] - - location: 164 (remaining gas: 1039846.043 units remaining) + - location: 176 (remaining gas: 1039843.991 units remaining) [ 2 3 12 @@ -1015,44 +2976,67 @@ trace 19 9 18 - 6 - 8 - 11 - 4 - (Pair 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 168 (remaining gas: 1039845.895 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) @parameter ] - - location: 171 (remaining gas: 1039845.850 units remaining) - [ (Pair 4 13 15 5 1) + 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) @parameter ] + - location: 180 (remaining gas: 1039843.855 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) @parameter ] + - location: 183 (remaining gas: 1039843.810 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) @parameter ] + - location: 180 (remaining gas: 1039843.765 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) @parameter ] + - location: 180 (remaining gas: 1039843.720 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) @parameter ] + - location: 180 (remaining gas: 1039843.675 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) @parameter ] + - location: 180 (remaining gas: 1039843.630 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) @parameter ] + - location: 180 (remaining gas: 1039843.585 units remaining) + [ 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 180 (remaining gas: 1039843.540 units remaining) + [ 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 168 (remaining gas: 1039845.310 units remaining) - [ 2 - 3 - 12 + - location: 180 (remaining gas: 1039843.495 units remaining) + [ 12 16 10 14 19 9 18 - 6 - 8 - 11 - (Pair 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 172 (remaining gas: 1039845.166 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) @parameter ] - - location: 175 (remaining gas: 1039845.121 units remaining) - [ (Pair 11 4 13 15 5 1) + (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) @parameter ] - - location: 172 (remaining gas: 1039844.626 units remaining) - [ 2 - 3 + - location: 180 (remaining gas: 1039843.450 units remaining) + [ 3 12 16 10 @@ -1060,18 +3044,9 @@ trace 19 9 18 - 6 - 8 - (Pair 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 176 (remaining gas: 1039844.486 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) @parameter ] - - location: 179 (remaining gas: 1039844.441 units remaining) - [ (Pair 8 11 4 13 15 5 1) + (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) @parameter ] - - location: 176 (remaining gas: 1039843.991 units remaining) + - location: 180 (remaining gas: 1039843.405 units remaining) [ 2 3 12 @@ -1081,15 +3056,7 @@ trace 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) @parameter ] - - location: 180 (remaining gas: 1039843.855 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) @parameter ] - - location: 183 (remaining gas: 1039843.810 units remaining) - [ (Pair 6 8 11 4 13 15 5 1) + (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) @parameter ] - location: 180 (remaining gas: 1039843.405 units remaining) [ 2 @@ -1110,6 +3077,66 @@ trace - location: 187 (remaining gas: 1039843.228 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) @parameter ] + - location: 184 (remaining gas: 1039843.183 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) @parameter ] + - location: 184 (remaining gas: 1039843.138 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) @parameter ] + - location: 184 (remaining gas: 1039843.093 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) @parameter ] + - location: 184 (remaining gas: 1039843.048 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) @parameter ] + - location: 184 (remaining gas: 1039843.003 units remaining) + [ 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 184 (remaining gas: 1039842.958 units remaining) + [ 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 184 (remaining gas: 1039842.913 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 184 (remaining gas: 1039842.868 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 184 (remaining gas: 1039842.868 units remaining) [ 2 3 @@ -1128,6 +3155,55 @@ trace - location: 191 (remaining gas: 1039842.695 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) @parameter ] + - location: 188 (remaining gas: 1039842.650 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) @parameter ] + - location: 188 (remaining gas: 1039842.605 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) @parameter ] + - location: 188 (remaining gas: 1039842.560 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) @parameter ] + - location: 188 (remaining gas: 1039842.515 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) @parameter ] + - location: 188 (remaining gas: 1039842.470 units remaining) + [ 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 188 (remaining gas: 1039842.425 units remaining) + [ 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 188 (remaining gas: 1039842.380 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 188 (remaining gas: 1039842.380 units remaining) [ 2 3 @@ -1145,6 +3221,45 @@ trace - location: 195 (remaining gas: 1039842.211 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) @parameter ] + - location: 192 (remaining gas: 1039842.166 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) @parameter ] + - location: 192 (remaining gas: 1039842.121 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) @parameter ] + - location: 192 (remaining gas: 1039842.076 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) @parameter ] + - location: 192 (remaining gas: 1039842.031 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) @parameter ] + - location: 192 (remaining gas: 1039841.986 units remaining) + [ 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] + - location: 192 (remaining gas: 1039841.941 units remaining) + [ 2 + 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 192 (remaining gas: 1039841.941 units remaining) [ 2 3 @@ -1161,6 +3276,36 @@ trace - location: 199 (remaining gas: 1039841.776 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) @parameter ] + - location: 196 (remaining gas: 1039841.731 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) @parameter ] + - location: 196 (remaining gas: 1039841.686 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) @parameter ] + - location: 196 (remaining gas: 1039841.641 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) @parameter ] + - location: 196 (remaining gas: 1039841.596 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) @parameter ] + - location: 196 (remaining gas: 1039841.551 units remaining) + [ 2 + 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - location: 196 (remaining gas: 1039841.551 units remaining) [ 2 3 @@ -1176,6 +3321,28 @@ trace - location: 203 (remaining gas: 1039841.390 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) @parameter ] + - location: 200 (remaining gas: 1039841.345 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) @parameter ] + - location: 200 (remaining gas: 1039841.300 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) @parameter ] + - location: 200 (remaining gas: 1039841.255 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) @parameter ] + - location: 200 (remaining gas: 1039841.210 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) @parameter ] - location: 200 (remaining gas: 1039841.210 units remaining) [ 2 3 @@ -1190,6 +3357,21 @@ trace - location: 207 (remaining gas: 1039841.053 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) @parameter ] + - location: 204 (remaining gas: 1039841.008 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) @parameter ] + - location: 204 (remaining gas: 1039840.963 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) @parameter ] + - location: 204 (remaining gas: 1039840.918 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) @parameter ] - location: 204 (remaining gas: 1039840.918 units remaining) [ 2 3 @@ -1203,6 +3385,15 @@ trace - location: 211 (remaining gas: 1039840.765 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) @parameter ] + - location: 208 (remaining gas: 1039840.720 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) @parameter ] + - location: 208 (remaining gas: 1039840.675 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) @parameter ] - location: 208 (remaining gas: 1039840.675 units remaining) [ 2 3 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 e3c0df266a63..f4f7c0379a50 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 @@ -33,6 +33,31 @@ trace [ ] - location: 23 (remaining gas: 1039982.885 units remaining) [ 6 ] + - location: 20 (remaining gas: 1039982.840 units remaining) + [ 5 + 6 ] + - location: 20 (remaining gas: 1039982.795 units remaining) + [ 4 + 5 + 6 ] + - location: 20 (remaining gas: 1039982.750 units remaining) + [ 3 + 4 + 5 + 6 ] + - location: 20 (remaining gas: 1039982.705 units remaining) + [ 2 + 3 + 4 + 5 + 6 ] + - location: 20 (remaining gas: 1039982.660 units remaining) + [ 1 + 2 + 3 + 4 + 5 + 6 ] - location: 20 (remaining gas: 1039982.660 units remaining) [ 1 2 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 cbdfa83a4331..01f3e49b059b 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 @@ -113,6 +113,13 @@ trace (Some (Pair 4 0)) ] - location: 52 (remaining gas: 1039964.162 units remaining) [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 49 (remaining gas: 1039964.117 units remaining) + [ (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 49 (remaining gas: 1039964.072 units remaining) + [ (Some (Pair -4 0)) + (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - location: 49 (remaining gas: 1039964.072 units remaining) [ (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 1d5bc4e1bf23..7d9e56dac0df 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 @@ -113,6 +113,13 @@ trace (Some (Pair 3 1)) ] - location: 52 (remaining gas: 1039964.162 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 49 (remaining gas: 1039964.117 units remaining) + [ (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 49 (remaining gas: 1039964.072 units remaining) + [ (Some (Pair -3 1)) + (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - location: 49 (remaining gas: 1039964.072 units remaining) [ (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 6d8e03e87c84..23377d4f70bf 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 @@ -113,6 +113,13 @@ trace None ] - location: 52 (remaining gas: 1039964.162 units remaining) [ (Pair None None) ] + - location: 49 (remaining gas: 1039964.117 units remaining) + [ None + (Pair None None) ] + - location: 49 (remaining gas: 1039964.072 units remaining) + [ None + None + (Pair None None) ] - location: 49 (remaining gas: 1039964.072 units remaining) [ None None 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 de139b6c0650..bbfd9a793243 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" @@ -17,32 +17,32 @@ trace - location: 22 (remaining gas: 1039986.323 units remaining) [ "" @parameter { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 12 (remaining gas: 1039986.178 units remaining) + - location: 12 (remaining gas: 1039986.278 units remaining) [ "_abc" "" @arg ] - - location: 15 (remaining gas: 1039986.133 units remaining) + - location: 15 (remaining gas: 1039986.233 units remaining) [ {} "_abc" "" @arg ] - - location: 17 (remaining gas: 1039986.093 units remaining) + - location: 17 (remaining gas: 1039986.193 units remaining) [ "_abc" {} "" @arg ] - - location: 18 (remaining gas: 1039986.043 units remaining) + - location: 18 (remaining gas: 1039986.143 units remaining) [ { "_abc" } "" @arg ] - - location: 19 (remaining gas: 1039986.003 units remaining) + - location: 19 (remaining gas: 1039986.103 units remaining) [ "" @arg { "_abc" } ] - - location: 20 (remaining gas: 1039985.953 units remaining) + - location: 20 (remaining gas: 1039986.053 units remaining) [ { "" ; "_abc" } ] - - location: 21 (remaining gas: 1039985.833 units remaining) + - location: 21 (remaining gas: 1039985.933 units remaining) [ "_abc" ] - - location: 23 (remaining gas: 1039985.833 units remaining) + - location: 23 (remaining gas: 1039985.933 units remaining) [ "_abc" ] - - location: 24 (remaining gas: 1039985.788 units remaining) + - location: 24 (remaining gas: 1039985.888 units remaining) [ {} "_abc" ] - - location: 26 (remaining gas: 1039985.743 units remaining) + - location: 26 (remaining gas: 1039985.843 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 9398761a5ccb..919790c6739d 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" @@ -17,32 +17,32 @@ trace - location: 22 (remaining gas: 1039986.283 units remaining) [ "test" @parameter { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 12 (remaining gas: 1039986.138 units remaining) + - location: 12 (remaining gas: 1039986.238 units remaining) [ "_abc" "test" @arg ] - - location: 15 (remaining gas: 1039986.093 units remaining) + - location: 15 (remaining gas: 1039986.193 units remaining) [ {} "_abc" "test" @arg ] - - location: 17 (remaining gas: 1039986.053 units remaining) + - location: 17 (remaining gas: 1039986.153 units remaining) [ "_abc" {} "test" @arg ] - - location: 18 (remaining gas: 1039986.003 units remaining) + - location: 18 (remaining gas: 1039986.103 units remaining) [ { "_abc" } "test" @arg ] - - location: 19 (remaining gas: 1039985.963 units remaining) + - location: 19 (remaining gas: 1039986.063 units remaining) [ "test" @arg { "_abc" } ] - - location: 20 (remaining gas: 1039985.913 units remaining) + - location: 20 (remaining gas: 1039986.013 units remaining) [ { "test" ; "_abc" } ] - - location: 21 (remaining gas: 1039985.793 units remaining) + - location: 21 (remaining gas: 1039985.893 units remaining) [ "test_abc" ] - - location: 23 (remaining gas: 1039985.793 units remaining) + - location: 23 (remaining gas: 1039985.893 units remaining) [ "test_abc" ] - - location: 24 (remaining gas: 1039985.748 units remaining) + - location: 24 (remaining gas: 1039985.848 units remaining) [ {} "test_abc" ] - - location: 26 (remaining gas: 1039985.703 units remaining) + - location: 26 (remaining gas: 1039985.803 units remaining) [ (Pair {} "test_abc") ] 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 3fec8ad00a96..6c8144066a45 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" @@ -21,135 +21,135 @@ trace [ (Pair { "c" ; "b" ; "a" } {}) ] - location: 14 (remaining gas: 1039976.639 units remaining) [ (Left (Pair { "c" ; "b" ; "a" } {})) ] - - location: 17 (remaining gas: 1039976.594 units remaining) + - location: 17 (remaining gas: 1039976.639 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 19 (remaining gas: 1039976.544 units remaining) + - location: 19 (remaining gas: 1039976.589 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) (Pair { "c" ; "b" ; "a" } {}) ] - - location: 20 (remaining gas: 1039976.494 units remaining) + - location: 20 (remaining gas: 1039976.539 units remaining) [ { "c" ; "b" ; "a" } @parameter (Pair { "c" ; "b" ; "a" } {}) ] - - location: 21 (remaining gas: 1039976.449 units remaining) + - location: 21 (remaining gas: 1039976.494 units remaining) [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 23 (remaining gas: 1039976.399 units remaining) + - location: 23 (remaining gas: 1039976.444 units remaining) [ {} ] - - location: 21 (remaining gas: 1039976.399 units remaining) + - location: 21 (remaining gas: 1039976.444 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 24 (remaining gas: 1039976.369 units remaining) + - location: 24 (remaining gas: 1039976.414 units remaining) [ "c" @parameter.hd { "b" ; "a" } @parameter.tl {} ] - - location: 26 (remaining gas: 1039976.329 units remaining) + - location: 26 (remaining gas: 1039976.374 units remaining) [ { "b" ; "a" } @parameter.tl "c" @parameter.hd {} ] - - location: 27 (remaining gas: 1039976.284 units remaining) + - location: 27 (remaining gas: 1039976.329 units remaining) [ "c" @parameter.hd {} ] - - location: 29 (remaining gas: 1039976.234 units remaining) + - location: 29 (remaining gas: 1039976.279 units remaining) [ { "c" } ] - - location: 27 (remaining gas: 1039976.234 units remaining) + - location: 27 (remaining gas: 1039976.279 units remaining) [ { "b" ; "a" } @parameter.tl { "c" } ] - - location: 30 (remaining gas: 1039976.189 units remaining) + - location: 30 (remaining gas: 1039976.234 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 31 (remaining gas: 1039976.144 units remaining) + - location: 31 (remaining gas: 1039976.189 units remaining) [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: 17 (remaining gas: 1039976.144 units remaining) + - location: 17 (remaining gas: 1039976.189 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 19 (remaining gas: 1039976.094 units remaining) + - location: 19 (remaining gas: 1039976.139 units remaining) [ (Pair { "b" ; "a" } { "c" }) (Pair { "b" ; "a" } { "c" }) ] - - location: 20 (remaining gas: 1039976.044 units remaining) + - location: 20 (remaining gas: 1039976.089 units remaining) [ { "b" ; "a" } @parameter (Pair { "b" ; "a" } { "c" }) ] - - location: 21 (remaining gas: 1039975.999 units remaining) + - location: 21 (remaining gas: 1039976.044 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 23 (remaining gas: 1039975.949 units remaining) + - location: 23 (remaining gas: 1039975.994 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039975.949 units remaining) + - location: 21 (remaining gas: 1039975.994 units remaining) [ { "b" ; "a" } @parameter { "c" } ] - - location: 24 (remaining gas: 1039975.919 units remaining) + - location: 24 (remaining gas: 1039975.964 units remaining) [ "b" @parameter.hd { "a" } @parameter.tl { "c" } ] - - location: 26 (remaining gas: 1039975.879 units remaining) + - location: 26 (remaining gas: 1039975.924 units remaining) [ { "a" } @parameter.tl "b" @parameter.hd { "c" } ] - - location: 27 (remaining gas: 1039975.834 units remaining) + - location: 27 (remaining gas: 1039975.879 units remaining) [ "b" @parameter.hd { "c" } ] - - location: 29 (remaining gas: 1039975.784 units remaining) + - location: 29 (remaining gas: 1039975.829 units remaining) [ { "b" ; "c" } ] - - location: 27 (remaining gas: 1039975.784 units remaining) + - location: 27 (remaining gas: 1039975.829 units remaining) [ { "a" } @parameter.tl { "b" ; "c" } ] - - location: 30 (remaining gas: 1039975.739 units remaining) + - location: 30 (remaining gas: 1039975.784 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 31 (remaining gas: 1039975.694 units remaining) + - location: 31 (remaining gas: 1039975.739 units remaining) [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: 17 (remaining gas: 1039975.694 units remaining) + - location: 17 (remaining gas: 1039975.739 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 19 (remaining gas: 1039975.644 units remaining) + - location: 19 (remaining gas: 1039975.689 units remaining) [ (Pair { "a" } { "b" ; "c" }) (Pair { "a" } { "b" ; "c" }) ] - - location: 20 (remaining gas: 1039975.594 units remaining) + - location: 20 (remaining gas: 1039975.639 units remaining) [ { "a" } @parameter (Pair { "a" } { "b" ; "c" }) ] - - location: 21 (remaining gas: 1039975.549 units remaining) + - location: 21 (remaining gas: 1039975.594 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 23 (remaining gas: 1039975.499 units remaining) + - location: 23 (remaining gas: 1039975.544 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039975.499 units remaining) + - location: 21 (remaining gas: 1039975.544 units remaining) [ { "a" } @parameter { "b" ; "c" } ] - - location: 24 (remaining gas: 1039975.469 units remaining) + - location: 24 (remaining gas: 1039975.514 units remaining) [ "a" @parameter.hd {} @parameter.tl { "b" ; "c" } ] - - location: 26 (remaining gas: 1039975.429 units remaining) + - location: 26 (remaining gas: 1039975.474 units remaining) [ {} @parameter.tl "a" @parameter.hd { "b" ; "c" } ] - - location: 27 (remaining gas: 1039975.384 units remaining) + - location: 27 (remaining gas: 1039975.429 units remaining) [ "a" @parameter.hd { "b" ; "c" } ] - - location: 29 (remaining gas: 1039975.334 units remaining) + - location: 29 (remaining gas: 1039975.379 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 27 (remaining gas: 1039975.334 units remaining) + - location: 27 (remaining gas: 1039975.379 units remaining) [ {} @parameter.tl { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039975.289 units remaining) + - location: 30 (remaining gas: 1039975.334 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 31 (remaining gas: 1039975.244 units remaining) + - location: 31 (remaining gas: 1039975.289 units remaining) [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: 17 (remaining gas: 1039975.244 units remaining) + - location: 17 (remaining gas: 1039975.289 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 19 (remaining gas: 1039975.194 units remaining) + - location: 19 (remaining gas: 1039975.239 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) (Pair {} { "a" ; "b" ; "c" }) ] - - location: 20 (remaining gas: 1039975.144 units remaining) + - location: 20 (remaining gas: 1039975.189 units remaining) [ {} @parameter (Pair {} { "a" ; "b" ; "c" }) ] - - location: 21 (remaining gas: 1039975.099 units remaining) + - location: 21 (remaining gas: 1039975.144 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 23 (remaining gas: 1039975.049 units remaining) + - location: 23 (remaining gas: 1039975.094 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039975.049 units remaining) + - location: 21 (remaining gas: 1039975.094 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039975.019 units remaining) + - location: 24 (remaining gas: 1039975.064 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 35 (remaining gas: 1039974.974 units remaining) + - location: 35 (remaining gas: 1039975.019 units remaining) [ (Right { "a" ; "b" ; "c" }) ] - - location: 17 (remaining gas: 1039974.974 units remaining) + - location: 17 (remaining gas: 1039975.019 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 41 (remaining gas: 1039974.929 units remaining) + - location: 41 (remaining gas: 1039974.974 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 43 (remaining gas: 1039974.884 units remaining) + - location: 43 (remaining gas: 1039974.929 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 0075464088a7..18ab60c1cbb2 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" @@ -21,30 +21,30 @@ trace [ (Pair {} {}) ] - location: 14 (remaining gas: 1039977.431 units remaining) [ (Left (Pair {} {})) ] - - location: 17 (remaining gas: 1039977.386 units remaining) + - location: 17 (remaining gas: 1039977.431 units remaining) [ (Pair {} {}) ] - - location: 19 (remaining gas: 1039977.336 units remaining) + - location: 19 (remaining gas: 1039977.381 units remaining) [ (Pair {} {}) (Pair {} {}) ] - - location: 20 (remaining gas: 1039977.286 units remaining) + - location: 20 (remaining gas: 1039977.331 units remaining) [ {} @parameter (Pair {} {}) ] - - location: 21 (remaining gas: 1039977.241 units remaining) + - location: 21 (remaining gas: 1039977.286 units remaining) [ (Pair {} {}) ] - - location: 23 (remaining gas: 1039977.191 units remaining) + - location: 23 (remaining gas: 1039977.236 units remaining) [ {} ] - - location: 21 (remaining gas: 1039977.191 units remaining) + - location: 21 (remaining gas: 1039977.236 units remaining) [ {} @parameter {} ] - - location: 24 (remaining gas: 1039977.161 units remaining) + - location: 24 (remaining gas: 1039977.206 units remaining) [ {} ] - - location: 35 (remaining gas: 1039977.116 units remaining) + - location: 35 (remaining gas: 1039977.161 units remaining) [ (Right {}) ] - - location: 17 (remaining gas: 1039977.116 units remaining) + - location: 17 (remaining gas: 1039977.161 units remaining) [ {} ] - - location: 41 (remaining gas: 1039977.071 units remaining) + - location: 41 (remaining gas: 1039977.116 units remaining) [ {} {} ] - - location: 43 (remaining gas: 1039977.026 units remaining) + - location: 43 (remaining gas: 1039977.071 units remaining) [ (Pair {} {}) ] 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 530990aa8bce..94a7acafbfa1 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 @@ -18,102 +18,102 @@ trace - location: 12 (remaining gas: 1039937.675 units remaining) [ 10 7987 ] - - location: 15 (remaining gas: 1039937.209 units remaining) + - location: 15 (remaining gas: 1039937.675 units remaining) [ 79870 ] - - location: 16 (remaining gas: 1039937.164 units remaining) + - location: 16 (remaining gas: 1039937.630 units remaining) [ 79870 79870 ] - - location: 19 (remaining gas: 1039937.060 units remaining) + - location: 19 (remaining gas: 1039937.526 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039937.010 units remaining) + - location: 21 (remaining gas: 1039937.476 units remaining) [ True ] - - location: 22 (remaining gas: 1039936.985 units remaining) + - location: 22 (remaining gas: 1039937.451 units remaining) [ ] - - location: 28 (remaining gas: 1039936.940 units remaining) + - location: 28 (remaining gas: 1039937.406 units remaining) [ 10 ] - - location: 31 (remaining gas: 1039936.895 units remaining) + - location: 31 (remaining gas: 1039937.361 units remaining) [ 7987 10 ] - - location: 34 (remaining gas: 1039936.429 units remaining) + - location: 34 (remaining gas: 1039937.361 units remaining) [ 79870 ] - - location: 35 (remaining gas: 1039936.384 units remaining) + - location: 35 (remaining gas: 1039937.316 units remaining) [ 79870 79870 ] - - location: 38 (remaining gas: 1039936.280 units remaining) + - location: 38 (remaining gas: 1039937.212 units remaining) [ 0 ] - - location: 40 (remaining gas: 1039936.230 units remaining) + - location: 40 (remaining gas: 1039937.162 units remaining) [ True ] - - location: 41 (remaining gas: 1039936.205 units remaining) + - location: 41 (remaining gas: 1039937.137 units remaining) [ ] - - location: 47 (remaining gas: 1039936.160 units remaining) + - location: 47 (remaining gas: 1039937.092 units remaining) [ 10 ] - - location: 50 (remaining gas: 1039936.115 units remaining) + - location: 50 (remaining gas: 1039937.047 units remaining) [ -7987 10 ] - - location: 53 (remaining gas: 1039936.026 units remaining) + - location: 53 (remaining gas: 1039936.958 units remaining) [ -79870 ] - - location: 54 (remaining gas: 1039935.981 units remaining) + - location: 54 (remaining gas: 1039936.913 units remaining) [ -79870 -79870 ] - - location: 57 (remaining gas: 1039935.831 units remaining) + - location: 57 (remaining gas: 1039936.763 units remaining) [ 0 ] - - location: 59 (remaining gas: 1039935.781 units remaining) + - location: 59 (remaining gas: 1039936.713 units remaining) [ True ] - - location: 60 (remaining gas: 1039935.756 units remaining) + - location: 60 (remaining gas: 1039936.688 units remaining) [ ] - - location: 66 (remaining gas: 1039935.711 units remaining) + - location: 66 (remaining gas: 1039936.643 units remaining) [ 10 ] - - location: 69 (remaining gas: 1039935.666 units remaining) + - location: 69 (remaining gas: 1039936.598 units remaining) [ -7987 10 ] - - location: 72 (remaining gas: 1039935.577 units remaining) + - location: 72 (remaining gas: 1039936.509 units remaining) [ -79870 ] - - location: 73 (remaining gas: 1039935.532 units remaining) + - location: 73 (remaining gas: 1039936.464 units remaining) [ -79870 -79870 ] - - location: 76 (remaining gas: 1039935.382 units remaining) + - location: 76 (remaining gas: 1039936.314 units remaining) [ 0 ] - - location: 78 (remaining gas: 1039935.332 units remaining) + - location: 78 (remaining gas: 1039936.264 units remaining) [ True ] - - location: 79 (remaining gas: 1039935.307 units remaining) + - location: 79 (remaining gas: 1039936.239 units remaining) [ ] - - location: 85 (remaining gas: 1039935.262 units remaining) + - location: 85 (remaining gas: 1039936.194 units remaining) [ -10 ] - - location: 88 (remaining gas: 1039935.217 units remaining) + - location: 88 (remaining gas: 1039936.149 units remaining) [ 7987 -10 ] - - location: 91 (remaining gas: 1039935.128 units remaining) + - location: 91 (remaining gas: 1039936.060 units remaining) [ -79870 ] - - location: 92 (remaining gas: 1039935.083 units remaining) + - location: 92 (remaining gas: 1039936.015 units remaining) [ -79870 -79870 ] - - location: 95 (remaining gas: 1039934.933 units remaining) + - location: 95 (remaining gas: 1039935.865 units remaining) [ 0 ] - - location: 97 (remaining gas: 1039934.883 units remaining) + - location: 97 (remaining gas: 1039935.815 units remaining) [ True ] - - location: 98 (remaining gas: 1039934.858 units remaining) + - location: 98 (remaining gas: 1039935.790 units remaining) [ ] - - location: 104 (remaining gas: 1039934.813 units remaining) + - location: 104 (remaining gas: 1039935.745 units remaining) [ 10 ] - - location: 107 (remaining gas: 1039934.768 units remaining) + - location: 107 (remaining gas: 1039935.700 units remaining) [ 7987 10 ] - - location: 110 (remaining gas: 1039934.679 units remaining) + - location: 110 (remaining gas: 1039935.611 units remaining) [ 79870 ] - - location: 111 (remaining gas: 1039934.634 units remaining) + - location: 111 (remaining gas: 1039935.566 units remaining) [ 79870 79870 ] - - location: 114 (remaining gas: 1039934.484 units remaining) + - location: 114 (remaining gas: 1039935.416 units remaining) [ 0 ] - - location: 116 (remaining gas: 1039934.434 units remaining) + - location: 116 (remaining gas: 1039935.366 units remaining) [ True ] - - location: 117 (remaining gas: 1039934.409 units remaining) + - location: 117 (remaining gas: 1039935.341 units remaining) [ ] - - location: 123 (remaining gas: 1039934.364 units remaining) + - location: 123 (remaining gas: 1039935.296 units remaining) [ Unit ] - - location: 124 (remaining gas: 1039934.319 units remaining) + - location: 124 (remaining gas: 1039935.251 units remaining) [ {} Unit ] - - location: 126 (remaining gas: 1039934.274 units remaining) + - location: 126 (remaining gas: 1039935.206 units remaining) [ (Pair {} Unit) ] 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 d78fc4a96937..d8b20c8d335d 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 @@ -27,21 +27,21 @@ trace - location: 17 (remaining gas: 1039987.665 units remaining) [ 38 @parameter { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 12 (remaining gas: 1039987.520 units remaining) + - location: 12 (remaining gas: 1039987.620 units remaining) [ 14 38 ] - - location: 12 (remaining gas: 1039987.475 units remaining) + - location: 12 (remaining gas: 1039987.575 units remaining) [ (Pair 14 38) @arg ] - - location: 13 (remaining gas: 1039987.425 units remaining) + - location: 13 (remaining gas: 1039987.525 units remaining) [ 14 38 ] - - location: 14 (remaining gas: 1039987.345 units remaining) + - location: 14 (remaining gas: 1039987.445 units remaining) [ 52 ] - - location: 20 (remaining gas: 1039987.345 units remaining) + - location: 20 (remaining gas: 1039987.445 units remaining) [ 52 ] - - location: 21 (remaining gas: 1039987.300 units remaining) + - location: 21 (remaining gas: 1039987.400 units remaining) [ {} 52 ] - - location: 23 (remaining gas: 1039987.255 units remaining) + - location: 23 (remaining gas: 1039987.355 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 965262cedd8f..d878cabb43d2 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 @@ -61,55 +61,55 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039975.790 units remaining) + - location: 16 (remaining gas: 1039975.890 units remaining) [ 3 0 ] - - location: 16 (remaining gas: 1039975.745 units remaining) + - location: 16 (remaining gas: 1039975.845 units remaining) [ (Pair 3 0) ] - - location: 16 (remaining gas: 1039975.700 units remaining) + - location: 16 (remaining gas: 1039975.800 units remaining) [ 4 (Pair 3 0) ] - - location: 16 (remaining gas: 1039975.655 units remaining) + - location: 16 (remaining gas: 1039975.755 units remaining) [ (Pair 4 3 0) @arg ] - - location: 17 (remaining gas: 1039975.605 units remaining) + - location: 17 (remaining gas: 1039975.705 units remaining) [ 4 (Pair 3 0) ] - - location: 18 (remaining gas: 1039975.560 units remaining) + - location: 18 (remaining gas: 1039975.660 units remaining) [ (Pair 3 0) ] - - location: 20 (remaining gas: 1039975.510 units remaining) + - location: 20 (remaining gas: 1039975.610 units remaining) [ 3 0 ] - - location: 18 (remaining gas: 1039975.510 units remaining) + - location: 18 (remaining gas: 1039975.610 units remaining) [ 4 3 0 ] - - location: 21 (remaining gas: 1039975.430 units remaining) + - location: 21 (remaining gas: 1039975.530 units remaining) [ 7 0 ] - - location: 22 (remaining gas: 1039975.348 units remaining) + - location: 22 (remaining gas: 1039975.448 units remaining) [ 0 ] - - location: 35 (remaining gas: 1039975.348 units remaining) + - location: 35 (remaining gas: 1039975.448 units remaining) [ 0 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039975.348 units remaining) + - location: 30 (remaining gas: 1039975.448 units remaining) [ 1 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039975.303 units remaining) + - location: 32 (remaining gas: 1039975.403 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039975.253 units remaining) + - location: 34 (remaining gas: 1039975.353 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: 1039975.253 units remaining) + - location: 32 (remaining gas: 1039975.353 units remaining) [ 1 @s.elt { 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: 1039975.108 units remaining) + - location: 16 (remaining gas: 1039975.308 units remaining) [ 3 1 ] - - location: 16 (remaining gas: 1039975.063 units remaining) + - location: 16 (remaining gas: 1039975.263 units remaining) [ (Pair 3 1) ] - - location: 16 (remaining gas: 1039975.018 units remaining) + - location: 16 (remaining gas: 1039975.218 units remaining) [ 4 (Pair 3 1) ] - - location: 16 (remaining gas: 1039974.973 units remaining) + - location: 16 (remaining gas: 1039975.173 units remaining) [ (Pair 4 3 1) @arg ] - - location: 17 (remaining gas: 1039974.923 units remaining) + - location: 17 (remaining gas: 1039975.123 units remaining) [ 4 (Pair 3 1) ] - - location: 18 (remaining gas: 1039974.878 units remaining) + - location: 18 (remaining gas: 1039975.078 units remaining) [ (Pair 3 1) ] - - location: 20 (remaining gas: 1039974.828 units remaining) + - location: 20 (remaining gas: 1039975.028 units remaining) [ 3 1 ] - - location: 18 (remaining gas: 1039974.828 units remaining) + - location: 18 (remaining gas: 1039975.028 units remaining) [ 4 3 1 ] - - location: 21 (remaining gas: 1039974.748 units remaining) + - location: 21 (remaining gas: 1039974.948 units remaining) [ 7 1 ] - - location: 22 (remaining gas: 1039974.662 units remaining) + - location: 22 (remaining gas: 1039974.862 units remaining) [ 7 ] - - location: 35 (remaining gas: 1039974.662 units remaining) + - location: 35 (remaining gas: 1039974.862 units remaining) [ 7 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039974.662 units remaining) + - location: 30 (remaining gas: 1039974.862 units remaining) [ 2 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039974.617 units remaining) + - location: 32 (remaining gas: 1039974.817 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039974.567 units remaining) + - location: 34 (remaining gas: 1039974.767 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: 1039974.567 units remaining) + - location: 32 (remaining gas: 1039974.767 units remaining) [ 2 @s.elt { 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: 1039974.422 units remaining) + - location: 16 (remaining gas: 1039974.722 units remaining) [ 3 2 ] - - location: 16 (remaining gas: 1039974.377 units remaining) + - location: 16 (remaining gas: 1039974.677 units remaining) [ (Pair 3 2) ] - - location: 16 (remaining gas: 1039974.332 units remaining) + - location: 16 (remaining gas: 1039974.632 units remaining) [ 4 (Pair 3 2) ] - - location: 16 (remaining gas: 1039974.287 units remaining) + - location: 16 (remaining gas: 1039974.587 units remaining) [ (Pair 4 3 2) @arg ] - - location: 17 (remaining gas: 1039974.237 units remaining) + - location: 17 (remaining gas: 1039974.537 units remaining) [ 4 (Pair 3 2) ] - - location: 18 (remaining gas: 1039974.192 units remaining) + - location: 18 (remaining gas: 1039974.492 units remaining) [ (Pair 3 2) ] - - location: 20 (remaining gas: 1039974.142 units remaining) + - location: 20 (remaining gas: 1039974.442 units remaining) [ 3 2 ] - - location: 18 (remaining gas: 1039974.142 units remaining) + - location: 18 (remaining gas: 1039974.442 units remaining) [ 4 3 2 ] - - location: 21 (remaining gas: 1039974.062 units remaining) + - location: 21 (remaining gas: 1039974.362 units remaining) [ 7 2 ] - - location: 22 (remaining gas: 1039973.976 units remaining) + - location: 22 (remaining gas: 1039974.276 units remaining) [ 14 ] - - location: 35 (remaining gas: 1039973.976 units remaining) + - location: 35 (remaining gas: 1039974.276 units remaining) [ 14 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039973.976 units remaining) + - location: 30 (remaining gas: 1039974.276 units remaining) [ 3 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039973.931 units remaining) + - location: 32 (remaining gas: 1039974.231 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039973.881 units remaining) + - location: 34 (remaining gas: 1039974.181 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: 1039973.881 units remaining) + - location: 32 (remaining gas: 1039974.181 units remaining) [ 3 @s.elt { 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: 1039973.736 units remaining) + - location: 16 (remaining gas: 1039974.136 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039973.691 units remaining) + - location: 16 (remaining gas: 1039974.091 units remaining) [ (Pair 3 3) ] - - location: 16 (remaining gas: 1039973.646 units remaining) + - location: 16 (remaining gas: 1039974.046 units remaining) [ 4 (Pair 3 3) ] - - location: 16 (remaining gas: 1039973.601 units remaining) + - location: 16 (remaining gas: 1039974.001 units remaining) [ (Pair 4 3 3) @arg ] - - location: 17 (remaining gas: 1039973.551 units remaining) + - location: 17 (remaining gas: 1039973.951 units remaining) [ 4 (Pair 3 3) ] - - location: 18 (remaining gas: 1039973.506 units remaining) + - location: 18 (remaining gas: 1039973.906 units remaining) [ (Pair 3 3) ] - - location: 20 (remaining gas: 1039973.456 units remaining) + - location: 20 (remaining gas: 1039973.856 units remaining) [ 3 3 ] - - location: 18 (remaining gas: 1039973.456 units remaining) + - location: 18 (remaining gas: 1039973.856 units remaining) [ 4 3 3 ] - - location: 21 (remaining gas: 1039973.376 units remaining) + - location: 21 (remaining gas: 1039973.776 units remaining) [ 7 3 ] - - location: 22 (remaining gas: 1039973.290 units remaining) + - location: 22 (remaining gas: 1039973.690 units remaining) [ 21 ] - - location: 35 (remaining gas: 1039973.290 units remaining) + - location: 35 (remaining gas: 1039973.690 units remaining) [ 21 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039973.290 units remaining) + - location: 30 (remaining gas: 1039973.690 units remaining) [ { 0 ; 7 ; 14 ; 21 } { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 36 (remaining gas: 1039973.245 units remaining) + - location: 36 (remaining gas: 1039973.645 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 38 (remaining gas: 1039973.200 units remaining) + - location: 38 (remaining gas: 1039973.600 units remaining) [ ] - - location: 36 (remaining gas: 1039973.200 units remaining) + - location: 36 (remaining gas: 1039973.600 units remaining) [ { 0 ; 7 ; 14 ; 21 } ] - - location: 39 (remaining gas: 1039973.155 units remaining) + - location: 39 (remaining gas: 1039973.555 units remaining) [ {} { 0 ; 7 ; 14 ; 21 } ] - - location: 41 (remaining gas: 1039973.110 units remaining) + - location: 41 (remaining gas: 1039973.510 units remaining) [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] 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 0b288472a2f8..ec6fcb69f2b9 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" @@ -21,95 +21,95 @@ trace [ True { "c" ; "b" ; "a" } @parameter {} ] - - location: 16 (remaining gas: 1039981.754 units remaining) + - location: 16 (remaining gas: 1039981.794 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 18 (remaining gas: 1039981.724 units remaining) + - location: 18 (remaining gas: 1039981.764 units remaining) [ "c" @parameter.hd { "b" ; "a" } @parameter.tl {} ] - - location: 20 (remaining gas: 1039981.684 units remaining) + - location: 20 (remaining gas: 1039981.724 units remaining) [ { "b" ; "a" } @parameter.tl "c" @parameter.hd {} ] - - location: 21 (remaining gas: 1039981.639 units remaining) + - location: 21 (remaining gas: 1039981.679 units remaining) [ "c" @parameter.hd {} ] - - location: 23 (remaining gas: 1039981.589 units remaining) + - location: 23 (remaining gas: 1039981.629 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039981.589 units remaining) + - location: 21 (remaining gas: 1039981.629 units remaining) [ { "b" ; "a" } @parameter.tl { "c" } ] - - location: 24 (remaining gas: 1039981.544 units remaining) + - location: 24 (remaining gas: 1039981.584 units remaining) [ True { "b" ; "a" } @parameter { "c" } ] - - location: 16 (remaining gas: 1039981.544 units remaining) + - location: 16 (remaining gas: 1039981.584 units remaining) [ { "b" ; "a" } @parameter { "c" } ] - - location: 18 (remaining gas: 1039981.514 units remaining) + - location: 18 (remaining gas: 1039981.554 units remaining) [ "b" @parameter.hd { "a" } @parameter.tl { "c" } ] - - location: 20 (remaining gas: 1039981.474 units remaining) + - location: 20 (remaining gas: 1039981.514 units remaining) [ { "a" } @parameter.tl "b" @parameter.hd { "c" } ] - - location: 21 (remaining gas: 1039981.429 units remaining) + - location: 21 (remaining gas: 1039981.469 units remaining) [ "b" @parameter.hd { "c" } ] - - location: 23 (remaining gas: 1039981.379 units remaining) + - location: 23 (remaining gas: 1039981.419 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.379 units remaining) + - location: 21 (remaining gas: 1039981.419 units remaining) [ { "a" } @parameter.tl { "b" ; "c" } ] - - location: 24 (remaining gas: 1039981.334 units remaining) + - location: 24 (remaining gas: 1039981.374 units remaining) [ True { "a" } @parameter { "b" ; "c" } ] - - location: 16 (remaining gas: 1039981.334 units remaining) + - location: 16 (remaining gas: 1039981.374 units remaining) [ { "a" } @parameter { "b" ; "c" } ] - - location: 18 (remaining gas: 1039981.304 units remaining) + - location: 18 (remaining gas: 1039981.344 units remaining) [ "a" @parameter.hd {} @parameter.tl { "b" ; "c" } ] - - location: 20 (remaining gas: 1039981.264 units remaining) + - location: 20 (remaining gas: 1039981.304 units remaining) [ {} @parameter.tl "a" @parameter.hd { "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.219 units remaining) + - location: 21 (remaining gas: 1039981.259 units remaining) [ "a" @parameter.hd { "b" ; "c" } ] - - location: 23 (remaining gas: 1039981.169 units remaining) + - location: 23 (remaining gas: 1039981.209 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.169 units remaining) + - location: 21 (remaining gas: 1039981.209 units remaining) [ {} @parameter.tl { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039981.124 units remaining) + - location: 24 (remaining gas: 1039981.164 units remaining) [ True {} @parameter { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039981.124 units remaining) + - location: 16 (remaining gas: 1039981.164 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039981.094 units remaining) + - location: 18 (remaining gas: 1039981.134 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039981.049 units remaining) + - location: 28 (remaining gas: 1039981.089 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039981.004 units remaining) + - location: 30 (remaining gas: 1039981.044 units remaining) [ False {} @parameter { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039981.004 units remaining) + - location: 16 (remaining gas: 1039981.044 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 33 (remaining gas: 1039980.959 units remaining) + - location: 33 (remaining gas: 1039980.999 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 34 (remaining gas: 1039980.914 units remaining) + - location: 34 (remaining gas: 1039980.954 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 36 (remaining gas: 1039980.869 units remaining) + - location: 36 (remaining gas: 1039980.909 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 09bc75bfc530..2f81cccda2fb 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" @@ -21,26 +21,26 @@ trace [ True {} @parameter {} ] - - location: 16 (remaining gas: 1039982.546 units remaining) + - location: 16 (remaining gas: 1039982.586 units remaining) [ {} @parameter {} ] - - location: 18 (remaining gas: 1039982.516 units remaining) + - location: 18 (remaining gas: 1039982.556 units remaining) [ {} ] - - location: 28 (remaining gas: 1039982.471 units remaining) + - location: 28 (remaining gas: 1039982.511 units remaining) [ {} {} ] - - location: 30 (remaining gas: 1039982.426 units remaining) + - location: 30 (remaining gas: 1039982.466 units remaining) [ False {} @parameter {} ] - - location: 16 (remaining gas: 1039982.426 units remaining) + - location: 16 (remaining gas: 1039982.466 units remaining) [ {} @parameter {} ] - - location: 33 (remaining gas: 1039982.381 units remaining) + - location: 33 (remaining gas: 1039982.421 units remaining) [ {} ] - - location: 34 (remaining gas: 1039982.336 units remaining) + - location: 34 (remaining gas: 1039982.376 units remaining) [ {} {} ] - - location: 36 (remaining gas: 1039982.291 units remaining) + - location: 36 (remaining gas: 1039982.331 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 d264f720866f..38f3a76ccebc 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 @@ -16,29 +16,29 @@ trace - location: 14 (remaining gas: 1039983.255 units remaining) [ Unit { DROP ; SELF_ADDRESS } ] - - location: 12 (remaining gas: 1039983.110 units remaining) + - location: 12 (remaining gas: 1039983.210 units remaining) [ ] - - location: 13 (remaining gas: 1039983.065 units remaining) + - location: 13 (remaining gas: 1039983.165 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 15 (remaining gas: 1039983.065 units remaining) + - location: 15 (remaining gas: 1039983.165 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 16 (remaining gas: 1039983.020 units remaining) + - location: 16 (remaining gas: 1039983.120 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 17 (remaining gas: 1039982.975 units remaining) + - location: 17 (remaining gas: 1039983.075 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self.address "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 20 (remaining gas: 1039982.757 units remaining) + - location: 20 (remaining gas: 1039982.857 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039982.707 units remaining) + - location: 21 (remaining gas: 1039982.807 units remaining) [ True ] - - location: 22 (remaining gas: 1039982.682 units remaining) + - location: 22 (remaining gas: 1039982.782 units remaining) [ ] - - location: 28 (remaining gas: 1039982.637 units remaining) + - location: 28 (remaining gas: 1039982.737 units remaining) [ Unit ] - - location: 29 (remaining gas: 1039982.592 units remaining) + - location: 29 (remaining gas: 1039982.692 units remaining) [ {} Unit ] - - location: 31 (remaining gas: 1039982.547 units remaining) + - location: 31 (remaining gas: 1039982.647 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 80536e88e344..54e04b207b07 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 @@ -57,45 +57,33 @@ trace [ ] - location: 44 (remaining gas: 1039860.685 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 45 (remaining gas: 1039860.640 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 48 (remaining gas: 1039860.595 units remaining) + - location: 48 (remaining gas: 1039860.640 units remaining) [ ] - - location: 49 (remaining gas: 1039860.550 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 50 (remaining gas: 1039860.505 units remaining) + - location: 49 (remaining gas: 1039860.595 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 53 (remaining gas: 1039860.460 units remaining) + - location: 53 (remaining gas: 1039860.550 units remaining) [ ] - - location: 54 (remaining gas: 1039860.415 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 55 (remaining gas: 1039860.370 units remaining) + - location: 54 (remaining gas: 1039860.505 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 60 (remaining gas: 1039860.325 units remaining) + - location: 60 (remaining gas: 1039860.460 units remaining) [ ] - - location: 61 (remaining gas: 1039860.280 units remaining) + - location: 61 (remaining gas: 1039860.415 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 62 (remaining gas: 1039860.235 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 65 (remaining gas: 1039860.190 units remaining) + - location: 65 (remaining gas: 1039860.370 units remaining) [ ] - - location: 66 (remaining gas: 1039860.145 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 67 (remaining gas: 1039860.100 units remaining) + - location: 66 (remaining gas: 1039860.325 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 76 (remaining gas: 1039860.055 units remaining) + - location: 76 (remaining gas: 1039860.280 units remaining) [ ] - - location: 77 (remaining gas: 1039860.010 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 78 (remaining gas: 1039859.965 units remaining) + - location: 77 (remaining gas: 1039860.235 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 87 (remaining gas: 1039859.920 units remaining) + - location: 87 (remaining gas: 1039860.190 units remaining) [ ] - - location: 88 (remaining gas: 1039859.875 units remaining) + - location: 88 (remaining gas: 1039860.145 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039859.830 units remaining) + - location: 89 (remaining gas: 1039860.100 units remaining) [ {} Unit ] - - location: 91 (remaining gas: 1039859.785 units remaining) + - location: 91 (remaining gas: 1039860.055 units remaining) [ (Pair {} Unit) ] 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 4c82b865566d..e9fb28d4dc5a 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 @@ -16,13 +16,13 @@ trace - location: 17 (remaining gas: 1039988.690 units remaining) [ 0 0 ] - - location: 18 (remaining gas: 1039988.540 units remaining) + - location: 18 (remaining gas: 1039988.690 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 57173cbb2c8b..5800339f4cdd 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 @@ -16,13 +16,13 @@ trace - location: 17 (remaining gas: 1039988.690 units remaining) [ 0 1 ] - - location: 18 (remaining gas: 1039988.540 units remaining) + - location: 18 (remaining gas: 1039988.690 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 d8e54f2cca7b..6eefa83d7c9c 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 @@ -16,13 +16,13 @@ trace - location: 17 (remaining gas: 1039988.690 units remaining) [ 1 2 ] - - location: 18 (remaining gas: 1039988.540 units remaining) + - location: 18 (remaining gas: 1039988.690 units remaining) [ 4 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 4) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 4) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 613b9d019e95..6abdf1fe4daf 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 @@ -16,13 +16,13 @@ trace - location: 17 (remaining gas: 1039988.690 units remaining) [ 15 2 ] - - location: 18 (remaining gas: 1039988.540 units remaining) + - location: 18 (remaining gas: 1039988.690 units remaining) [ 60 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 60) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 60) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 a99fb2136775..5c5aa8c9d648 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 @@ -16,13 +16,13 @@ trace - location: 17 (remaining gas: 1039988.690 units remaining) [ 8 1 ] - - location: 18 (remaining gas: 1039988.540 units remaining) + - location: 18 (remaining gas: 1039988.690 units remaining) [ 16 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 16) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 16) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 979021057d4b..45c0d9ece244 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 @@ -16,13 +16,13 @@ trace - location: 20 (remaining gas: 1039988.690 units remaining) [ 0 0 ] - - location: 21 (remaining gas: 1039988.540 units remaining) + - location: 21 (remaining gas: 1039988.690 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 e753647a009f..df48fd4d85ba 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 @@ -16,13 +16,13 @@ trace - location: 20 (remaining gas: 1039988.690 units remaining) [ 0 1 ] - - location: 21 (remaining gas: 1039988.540 units remaining) + - location: 21 (remaining gas: 1039988.690 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 df488686f70a..9a3ab018df4b 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 @@ -16,13 +16,13 @@ trace - location: 20 (remaining gas: 1039988.690 units remaining) [ 1 2 ] - - location: 21 (remaining gas: 1039988.540 units remaining) + - location: 21 (remaining gas: 1039988.690 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 0) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 0) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 a93b908db4cc..fb5f24aa30b2 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 @@ -16,13 +16,13 @@ trace - location: 20 (remaining gas: 1039988.690 units remaining) [ 15 2 ] - - location: 21 (remaining gas: 1039988.540 units remaining) + - location: 21 (remaining gas: 1039988.690 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 3) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 3) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 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 d3f616a52faf..5e20b6eb5ce0 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 @@ -16,13 +16,13 @@ trace - location: 20 (remaining gas: 1039988.690 units remaining) [ 8 1 ] - - location: 21 (remaining gas: 1039988.540 units remaining) + - location: 21 (remaining gas: 1039988.690 units remaining) [ 4 ] - - location: 22 (remaining gas: 1039988.495 units remaining) + - location: 22 (remaining gas: 1039988.645 units remaining) [ (Some 4) ] - - location: 23 (remaining gas: 1039988.450 units remaining) + - location: 23 (remaining gas: 1039988.600 units remaining) [ {} (Some 4) ] - - location: 25 (remaining gas: 1039988.405 units remaining) + - location: 25 (remaining gas: 1039988.555 units remaining) [ (Pair {} (Some 4)) ] -- GitLab From a104833f90aeb6a93441104cb8be3d7d98b60225 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 5 May 2021 10:50:47 +0200 Subject: [PATCH 54/69] Proto/Michelson: Add a comment about the cost of instrumentation Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter_defs.ml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 8721971fc1f6..80e382c5065f 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -612,7 +612,18 @@ let get_log (logger : logger option) = let log_kinstr logger i = ILog (kinfo_of_kinstr i, LogEntry, logger, i) (* [log_next_kinstr logger i] instruments the next instruction of [i] - with the [logger].*) + 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 i = let apply k = ILog -- GitLab From 42b5d2fa89091821ce517d386f7166670ba50744 Mon Sep 17 00:00:00 2001 From: Mehdi Bouaziz Date: Wed, 5 May 2021 08:52:22 +0000 Subject: [PATCH 55/69] Proto/Michelson: Fix invalid type growing size --- src/proto_alpha/lib_protocol/script_ir_translator.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 584cf26331e3..6f1d89cae90d 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -4098,7 +4098,7 @@ and parse_instr : {loc; instr; bef; aft = ibt.aft} in merge_branches ~legacy ctxt loc btr bfr {branch} - >>?= fun (judgement, ctxt) -> return ctxt 1 judgement + >>?= fun (judgement, ctxt) -> return ctxt 0 judgement | (Prim (loc, I_SIZE, [], annot), Item_t (List_t _, rest, _)) -> parse_var_type_annot loc annot >>?= fun (annot, tname) -> -- GitLab From 7cdca07d0998e28769665f879c21c964260c2ed6 Mon Sep 17 00:00:00 2001 From: Mehdi Bouaziz Date: Thu, 6 May 2021 07:14:33 +0000 Subject: [PATCH 56/69] Proto/Michelson: Remove trailing debugging ax. --- src/lib_protocol_environment/sigs/v2/format.mli | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib_protocol_environment/sigs/v2/format.mli b/src/lib_protocol_environment/sigs/v2/format.mli index f0e90142ab91..e5b04e2bcab6 100644 --- a/src/lib_protocol_environment/sigs/v2/format.mli +++ b/src/lib_protocol_environment/sigs/v2/format.mli @@ -745,5 +745,3 @@ val kasprintf : (string -> 'a) -> ('b, formatter, unit, 'a) format4 -> 'b @since 4.03 *) - -val eprintf : ('a, formatter, unit) format -> 'a -- GitLab From d03ea8d5eff1e9503d250cf8047884f3aebe5e7e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 5 May 2021 11:01:24 +0200 Subject: [PATCH 57/69] Proto/Michelson: Fix test to fail for the correct reason Signed-off-by: Yann Regis-Gianas --- .../ill_typed/stack_bottom_undigable.tz | 2 +- .../ill_typed/stack_bottom_undugable.tz | 2 +- .../ill_typed/stack_bottom_ungetable.tz | 2 +- tests_python/tests_alpha/test_contract.py | 75 +++++++++++++++---- 4 files changed, 63 insertions(+), 18 deletions(-) diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz index 9468f3024598..2aba7d303eaf 100644 --- a/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undigable.tz @@ -2,5 +2,5 @@ parameter unit; storage unit; code { DROP; - DIG; + DIG 0; } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz index aec909e5844a..eaf5d7d486e7 100644 --- a/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_undugable.tz @@ -2,5 +2,5 @@ parameter unit; storage unit; code { DROP; - DUG; + DUG 0; } diff --git a/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz b/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz index 79242f72c16c..6bc5a629e2a4 100644 --- a/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz +++ b/tests_python/contracts_alpha/ill_typed/stack_bottom_ungetable.tz @@ -2,5 +2,5 @@ parameter unit; storage unit; code { DROP; - GET 1; + GET; } \ No newline at end of file diff --git a/tests_python/tests_alpha/test_contract.py b/tests_python/tests_alpha/test_contract.py index 4944fe4f75f8..64f26f19d04d 100644 --- a/tests_python/tests_alpha/test_contract.py +++ b/tests_python/tests_alpha/test_contract.py @@ -501,21 +501,66 @@ class TestContracts: [ # Even though the interpreter uses a nonempty stack internally, # the typechecker should not be able to observe it. - ("stack_bottom_unfailwithable.tz", r'ill-typed script'), - ("stack_bottom_unrightable.tz", r'ill-typed script'), - ("stack_bottom_unleftable.tz", r'ill-typed script'), - ("stack_bottom_ungetable.tz", r'ill-typed script'), - ("stack_bottom_unpairable.tz", r'ill-typed script'), - ("stack_bottom_undug2able.tz", r'ill-typed script'), - ("stack_bottom_undugable.tz", r'ill-typed script'), - ("stack_bottom_undig2able.tz", r'ill-typed script'), - ("stack_bottom_undigable.tz", r'ill-typed script'), - ("stack_bottom_undip2able.tz", r'ill-typed script'), - ("stack_bottom_undipable.tz", r'ill-typed script'), - ("stack_bottom_undup2able.tz", r'ill-typed script'), - ("stack_bottom_undropable.tz", r'ill-typed script'), - ("stack_bottom_unpopable.tz", r'ill-typed script'), - ("stack_bottom_unpopable_in_lambda.tz", r'ill-typed script'), + ( + "stack_bottom_unfailwithable.tz", + r'wrong stack type for instruction FAILWITH', + ), + ( + "stack_bottom_unrightable.tz", + r'wrong stack type for instruction RIGHT', + ), + ( + "stack_bottom_unleftable.tz", + r'wrong stack type for instruction LEFT', + ), + ( + "stack_bottom_ungetable.tz", + r'wrong stack type for instruction GET', + ), + ( + "stack_bottom_unpairable.tz", + r'wrong stack type for instruction UNPAIR', + ), + ( + "stack_bottom_undug2able.tz", + r'wrong stack type for instruction DUG 2', + ), + ( + "stack_bottom_undugable.tz", + r'wrong stack type for instruction DUG', + ), + ( + "stack_bottom_undig2able.tz", + r'wrong stack type for instruction DIG 2', + ), + ( + "stack_bottom_undigable.tz", + r'wrong stack type for instruction DIG', + ), + ( + "stack_bottom_undip2able.tz", + r'wrong stack type for instruction DIP 2', + ), + ( + "stack_bottom_undipable.tz", + r'wrong stack type for instruction DIP', + ), + ( + "stack_bottom_undup2able.tz", + r'wrong stack type for instruction DUP 2', + ), + ( + "stack_bottom_undropable.tz", + r'wrong stack type for instruction DROP', + ), + ( + "stack_bottom_unpopable.tz", + r'wrong stack type for instruction DUP', + ), + ( + "stack_bottom_unpopable_in_lambda.tz", + r'wrong stack type for instruction DUP', + ), # operations cannot be PACKed ( "pack_operation.tz", -- GitLab From 519749942322fa90fd26a16773760ad411af61f3 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 6 May 2021 09:16:01 +0200 Subject: [PATCH 58/69] Proto/Michelson: Fix outdated comments Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter_defs.ml | 15 ++++++--------- .../lib_protocol/script_ir_translator.ml | 5 +---- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 80e382c5065f..26d50d3c4b00 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -585,20 +585,19 @@ let consume_control local_gas_counter ks = *) -let log_entry (logger : logger) ctxt gas k accu stack = +let log_entry logger ctxt gas k 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) -let log_exit (logger : logger) ctxt gas kinfo_prev k accu stack = - let ctxt = update_context gas ctxt in +let log_exit logger ctxt gas kinfo_prev k 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) -let log_control (logger : logger) ks = logger.log_control ks +let log_control logger ks = logger.log_control ks -let get_log (logger : logger option) = - match logger with +let get_log = function | None -> Lwt.return (Ok None) | Some logger -> @@ -606,9 +605,7 @@ let get_log (logger : logger option) = [@@ocaml.inline always] (* [log_kinstr logger i] emits an instruction to instrument the - execution of [i] with [logger]. In some cases, it embeds [logger] - to [i] to let the instruction [i] asks [logger] for a backtrace - when the evaluation of [i] fails. *) + execution of [i] with [logger]. *) let log_kinstr logger i = ILog (kinfo_of_kinstr i, LogEntry, logger, i) (* [log_next_kinstr logger i] instruments the next instruction of [i] diff --git a/src/proto_alpha/lib_protocol/script_ir_translator.ml b/src/proto_alpha/lib_protocol/script_ir_translator.ml index 6f1d89cae90d..9b9f22a3da72 100644 --- a/src/proto_alpha/lib_protocol/script_ir_translator.ml +++ b/src/proto_alpha/lib_protocol/script_ir_translator.ml @@ -3444,6 +3444,7 @@ and parse_instr : unparse_stack ctxt aft >|? fun (aft, _) -> log loc stack_ty aft ; () in (* + In the following functions, [number_of_generated_growing_types] is the depth of the stack to inspect for sizes overflow. We only need to check the produced types that can be larger than the arguments. That's why Swap @@ -3451,10 +3452,6 @@ and parse_instr : Constant sized types are not checked: it is assumed they are lower than the bound (otherwise every program would be rejected). - In a [(b, a) instr], it is the number of types in [a] that may exceed the - limit, knowing that types in [b] don't. - If the instr is parameterized by [(b', a') descr] then you may assume that - types in [a'] don't exceed the limit. *) let return_no_lwt : type a s. -- GitLab From 2353293612fa9cfd16dc8873db9450857aa093ab Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 7 May 2021 08:59:12 +0200 Subject: [PATCH 59/69] Proto/Michelson: Refactor the evaluation rules for I_Concat_* Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index ed5436ec8d14..3b51b636ce5f 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -716,8 +716,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let total_length = List.fold_left (fun acc s -> S.add acc (S.safe_int (String.length s))) - (S.zero |> S.may_saturate) - accu.elements + S.zero + ss.elements in consume' ctxt gas (Interp_costs.concat_string total_length) >>?= fun gas -> @@ -749,8 +749,8 @@ and step : type a s b t r f. (a, s, b, t, r, f) step_type = let total_length = List.fold_left (fun acc s -> S.add acc (S.safe_int (Bytes.length s))) - (S.zero |> S.may_saturate) - accu.elements + S.zero + ss.elements in consume' ctxt gas (Interp_costs.concat_string total_length) >>?= fun gas -> -- GitLab From 859c7c400567647bccea39c34c68c3aad82b43cc Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 7 May 2021 09:28:53 +0200 Subject: [PATCH 60/69] Proto/Michelson: Add a test about stack-overflow robustness Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/test/test_interpretation.ml | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index 3a016d0f5341..0032855100fa 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -104,7 +104,52 @@ let test_stack_overflow () = in aux n (IHalt kinfo) in - run_step ctxt (descr (enorme_et_seq 100_000)) EmptyCell EmptyCell + run_step ctxt (descr (enorme_et_seq 1_000_000)) EmptyCell EmptyCell + >>= function + | Ok _ -> + return_unit + | Error trace -> + let trace_string = + Format.asprintf "%a" Environment.Error_monad.pp_trace trace + in + Alcotest.failf "Unexpected error (%s) at %s" trace_string __LOC__ + +let test_stack_overflow_in_lwt () = + let open Script_typed_ir in + test_context () + >>=? fun ctxt -> + let stack = Bot_t in + let item ty s = Item_t (ty, s, None) in + let unit_t = Unit_t None in + let unit_k = Unit_key None in + let bool_t = Bool_t None in + let big_map_t = Big_map_t (unit_k, unit_t, None) in + 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_key None, Unit_t None, k) + in + let large_mem_seq n = + let rec aux n acc = + if n = 0 then acc + else + aux + (n - 1) + (IDup + ( kinfo stack1, + IConst + ( kinfo stack2, + (), + IBig_map_mem (kinfo stack3, IDrop (kinfo stack4, acc)) ) )) + in + aux n (IDrop (kinfo stack1, IHalt (kinfo stack))) + in + let script = push_empty_big_map (large_mem_seq 1_000_000) in + run_step ctxt (descr script) EmptyCell EmptyCell >>= function | Ok _ -> return_unit @@ -163,5 +208,9 @@ let tests = Test_services.tztest "check robustness overflow error" `Slow - test_stack_overflow ] + test_stack_overflow; + Test_services.tztest + "check robustness overflow error in lwt" + `Slow + test_stack_overflow_in_lwt ] @ error_encoding_tests -- GitLab From 9f70608a3c3815e7a723bc11ab30987331323fe6 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 7 May 2021 13:26:45 +0200 Subject: [PATCH 61/69] Proto/Michelson: Use a more specific pattern because we can Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 3b51b636ce5f..cc1c54011bd5 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1573,7 +1573,7 @@ let step_descr ~log_now logger (ctxt, sc) descr accu stack = let interp logger g (Lam (code, _)) arg = step_descr ~log_now:true logger g code arg (EmptyCell, EmptyCell) - >|=? fun (ret, _, ctxt) -> (ret, ctxt) + >|=? fun (ret, (EmptyCell, EmptyCell), ctxt) -> (ret, ctxt) let kstep logger ctxt step_constants kinstr accu stack = let gas = (Gas.gas_counter ctxt :> int) in -- GitLab From f408fb79cbfa65f1368a911cc77b43280c26ecf6 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Fri, 7 May 2021 14:42:55 +0200 Subject: [PATCH 62/69] Proto/Michelson: Consume cost of control homogeneously Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter.ml | 211 ++++++++---------- .../lib_protocol/script_interpreter_defs.ml | 34 +-- 2 files changed, 93 insertions(+), 152 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index cc1c54011bd5..570c0062df16 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -251,103 +251,70 @@ let () = *) let rec kmap_exit : - type a b c d e f g h i j k l m n o. - (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) kmap_exit_type = - fun mk ((ctxt, _) as g) gas ks0 body xs ys yk ks accu stack -> - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - let ys = map_update yk (Some accu) ys in - let ks = mk (KMap_enter_body (body, xs, ys, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack + 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 ys = map_update yk (Some accu) ys in + let ks = mk (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 e f g h i j k. - (a, b, c, d, e, f, g, h, i, j, k) kmap_enter_type = - fun mk ((ctxt, _) as g) gas ks0 body xs ys ks accu stack -> - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - 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 res = (xk, xv) in - let stack = (accu, stack) in - (step [@ocaml.tailcall]) g gas body ks res stack ) +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 -> + 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 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 f g h i j. (a, b, c, d, e, f, g, h, i, j) klist_exit_type = - fun mk ((ctxt, _) as g) gas ks0 body xs ys len ks accu stack -> - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - let ks = mk (KList_enter_body (body, xs, accu :: ys, len, ks)) in - let (accu, stack) = stack in - (next [@ocaml.tailcall]) g gas ks accu stack +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 + let (accu, stack) = stack in + (next [@ocaml.tailcall]) g gas ks accu stack [@@inline] -and klist_enter : - type a b c d e f g h i j. (a, b, c, d, e, f, g, h, i, j) klist_enter_type = - fun mk ((ctxt, _) as g) gas ks body xs ys len ks' accu stack -> - match consume_control gas ks with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - 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 - (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) +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 -> + 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 + (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] and kloop_in_left : - type c d e f a s c d b s e f. (a, b, c, d, e, f, s) kloop_in_left_type = - fun ((ctxt, _) as g) gas ks0 ks ki ks' accu stack -> - match consume_control gas ks with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - match accu with - | L v -> - (step [@ocaml.tailcall]) g gas ki ks0 v stack - | R v -> - (next [@ocaml.tailcall]) g gas ks' v stack ) + type a b c d e f g. (a, b, c, d, e, f, g) kloop_in_left_type = + fun g gas ks0 ki ks' accu stack -> + match accu with + | L v -> + (step [@ocaml.tailcall]) g gas ki ks0 v stack + | R v -> + (next [@ocaml.tailcall]) g gas ks' v stack [@@inline] -and kloop_in : - type a b c r f d e f u h s. (a, b, c, r, f, d, e, u, h, s) kloop_in_type = - fun ((ctxt, _) as g) gas ks0 ks ki ks' accu stack -> - match consume_control gas ks with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - let (accu', stack') = stack in - if accu then (step [@ocaml.tailcall]) g gas ki ks0 accu' stack' - else (next [@ocaml.tailcall]) g gas ks' accu' stack' +and kloop_in : type a b c r f s. (a, b, c, r, f, s) kloop_in_type = + fun g gas ks0 ki ks' accu stack -> + let (accu', stack') = stack in + if accu then (step [@ocaml.tailcall]) g gas ki ks0 accu' stack' + else (next [@ocaml.tailcall]) g gas ks' accu' stack' [@@inline] -and kiter : type a b s r f c d e g. (a, b, s, r, f, c, d, e, g) kiter_type = - fun mk ((ctxt, _) as g) gas ks0 body xs ks accu stack -> - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> ( - match xs with - | [] -> - (next [@ocaml.tailcall]) g gas ks accu stack - | x :: xs -> - let ks = mk (KIter (body, xs, ks)) in - (step [@ocaml.tailcall]) g gas body ks x (accu, stack) ) +and kiter : type a b s r f. (a, b, s, r, f) kiter_type = + fun mk g gas body 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 + (step [@ocaml.tailcall]) g gas body ks x (accu, stack) [@@inline] and next : @@ -359,39 +326,35 @@ and next : s -> (r * f * outdated_context * local_gas_counter) tzresult Lwt.t = fun ((ctxt, _) as g) gas ks0 accu stack -> - match ks0 with - | KLog (ks, logger) -> - (klog [@ocaml.tailcall]) logger g gas 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') -> - (kloop_in [@ocaml.tailcall]) g gas ks0 ks0 ki ks' accu stack - | KReturn (stack', ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - (next [@ocaml.tailcall]) g gas ks accu stack' ) - | KLoop_in_left (ki, ks') -> - (kloop_in_left [@ocaml.tailcall]) g gas ks0 ks0 ki ks' accu stack - | KUndip (x, ks) -> ( - match consume_control gas ks0 with - | None -> - Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) - | Some gas -> - (next [@ocaml.tailcall]) g gas ks x (accu, stack) ) - | KIter (body, xs, ks) -> - (kiter [@ocaml.tailcall]) id g gas ks0 body xs ks accu stack - | KList_enter_body (body, xs, ys, len, ks) -> - (klist_enter [@ocaml.tailcall]) id g gas ks0 body xs ys len ks accu stack - | KList_exit_body (body, xs, ys, len, ks) -> - (klist_exit [@ocaml.tailcall]) id g gas ks0 body xs ys len ks accu stack - | KMap_enter_body (body, xs, ys, ks) -> - (kmap_enter [@ocaml.tailcall]) id g gas ks0 body xs ys ks accu stack - | KMap_exit_body (body, xs, ys, yk, ks) -> - (kmap_exit [@ocaml.tailcall]) id g gas ks0 body xs ys yk ks accu stack + match consume_control gas ks0 with + | None -> + Lwt.return (Gas.gas_exhausted_error (update_context gas ctxt)) + | Some gas -> ( + match ks0 with + | KLog (ks, logger) -> + (klog [@ocaml.tailcall]) logger g gas 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') -> + (kloop_in [@ocaml.tailcall]) g gas ks0 ki ks' accu stack + | KReturn (stack', ks) -> + (next [@ocaml.tailcall]) g gas ks 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) + | KIter (body, xs, ks) -> + (kiter [@ocaml.tailcall]) id g gas body 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) -> + (klist_exit [@ocaml.tailcall]) id 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_exit_body (body, xs, ys, yk, ks) -> + (kmap_exit [@ocaml.tailcall]) id g gas body xs ys yk ks accu stack ) (* @@ -1513,7 +1476,7 @@ and klog : | KLoop_in (ki, ks') -> let ks' = mk ks' in let ki = enable_log ki in - (kloop_in [@ocaml.tailcall]) g gas ks0 ks ki ks' accu stack + (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 @@ -1521,7 +1484,7 @@ and klog : | KLoop_in_left (ki, ks') -> let ks' = mk ks' in let ki = enable_log ki in - (kloop_in_left [@ocaml.tailcall]) g gas ks0 ks ki ks' accu stack + (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 @@ -1529,19 +1492,19 @@ and klog : | KIter (body, xs, ks') -> let ks' = mk ks' in let body = enable_log body in - (kiter [@ocaml.tailcall]) mk g gas ks0 body xs ks' accu stack + (kiter [@ocaml.tailcall]) mk g gas body xs ks' accu stack | KList_enter_body (body, xs, ys, len, ks') -> let ks' = mk ks' in - (klist_enter [@ocaml.tailcall]) mk g gas ks body xs ys len ks' accu stack + (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 ks body xs ys len ks' accu stack + (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 ks body xs ys ks' accu stack + (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 ks body xs ys yk ks' accu stack + (kmap_exit [@ocaml.tailcall]) mk g gas body xs ys yk ks' accu stack | KLog (_, _) -> (* This case should never happen. *) (next [@ocaml.tailcall]) g gas 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 26d50d3c4b00..0737f2fd1066 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -885,26 +885,10 @@ 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, - 'i, - 'j, - 'k, - 'l, - 'm, - 'n, - 'o ) - kmap_exit_type = +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) -> outdated_context * step_constants -> local_gas_counter -> - ('i, 'j, 'k, 'l) continuation -> ('m * 'n, 'c * 'd, 'o, 'c * 'd) kinstr -> ('m * 'n) list -> ('m, 'o) map -> @@ -914,11 +898,10 @@ type ( 'a, 'a * 'b -> ('g * 'h * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k) kmap_enter_type = +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 -> - ('f, 'g, 'h, 'i) continuation -> ('j * 'k, 'b * 'c, 'a, 'b * 'c) kinstr -> ('j * 'k) list -> ('j, 'a) map -> @@ -927,11 +910,10 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k) kmap_enter_type = 'c -> ('d * 'e * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) klist_exit_type = +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 -> - ('e, 'f, 'g, 'h) continuation -> ('i, 'a * 'b, 'j, 'a * 'b) kinstr -> 'i list -> 'j list -> @@ -941,11 +923,10 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) klist_exit_type = 'a * 'b -> ('c * 'd * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) klist_enter_type = +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 -> - ('f, 'g, 'h, 'i) continuation -> ('j, 'a * 'c, 'b, 'a * 'c) kinstr -> 'j list -> 'b list -> @@ -959,29 +940,26 @@ type ('a, 'b, 'c, 'd, 'e, 'f, 'g) kloop_in_left_type = outdated_context * step_constants -> local_gas_counter -> ('c, 'd, 'e, 'f) continuation -> - ('c, 'd, 'e, 'f) continuation -> ('a, 'g, 'c, 'd) kinstr -> ('b, 'g, 'e, 'f) continuation -> ('a, 'b) union -> 'g -> ('e * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 'c, 'r, 'f, 'd, 'e, 'u, 'h, 's) kloop_in_type = +type ('a, 'b, 'c, 'r, 'f, 's) kloop_in_type = outdated_context * step_constants -> local_gas_counter -> ('b, 'c, 'r, 'f) continuation -> - ('d, 'e, 'u, 'h) continuation -> ('a, 's, 'b, 'c) kinstr -> ('a, 's, 'r, 'f) continuation -> bool -> 'a * 's -> ('r * 'f * outdated_context * local_gas_counter) tzresult Lwt.t -type ('a, 'b, 's, 'r, 'f, 'c, 'd, 'e, 'g) kiter_type = +type ('a, 'b, 's, 'r, 'f) kiter_type = (('a, 's, 'r, 'f) continuation -> ('a, 's, 'r, 'f) continuation) -> outdated_context * step_constants -> local_gas_counter -> - ('c, 'd, 'e, 'g) continuation -> ('b, 'a * 's, 'a, 's) kinstr -> 'b list -> ('a, 's, 'r, 'f) continuation -> -- GitLab From c2f6d1e082919aaf5076891b116649cbd7e647bc Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Mon, 10 May 2021 12:55:12 +0200 Subject: [PATCH 63/69] Proto/Michelson: Check that logging has no effect on gas consumption Signed-off-by: Yann Regis-Gianas --- .../lib_protocol/script_interpreter_defs.ml | 26 +- .../lib_protocol/test/test_interpretation.ml | 19 +- ...ddressTransfer::test_send_self_address.out | 6 +- ...s.TestContractOnchainLevel::test_level.out | 8 +- ...tractOnchainOpcodes::test_set_delegate.out | 8 +- ...ef0e55c43a9a857214d8761e67b.7da5c9014e.out | 4 +- ...estContractOnchainOpcodes::test_source.out | 10 +- ...ntractOnchainOpcodes::test_split_bytes.out | 10 +- ...tractOnchainOpcodes::test_split_string.out | 8 +- ...ntractOnchainOpcodes::test_store_input.out | 8 +- ...ctOnchainOpcodes::test_transfer_amount.out | 4 +- ...ctOnchainOpcodes::test_transfer_tokens.out | 12 +- ...(Some 4) {})-\"hello\"-(Pa.f6092ac5d6.out" | 10 +- ...(Some 5) { Elt \"hello\" 4.0427752f13.out" | 10 +- ...(Some 5) { Elt \"hello\" 4.0793dc66d5.out" | 10 +- ...None { Elt \"1\" 1 ; .df114499b8.out" | 10 +- ...None { Elt \"1\" 1 ; .f9bea98de9.out" | 10 +- ...None { Elt \"hello\" 4 })-.1db12cd837.out" | 10 +- ...None {})-\"hello\"-(Pair N.6fc7d0acf2.out" | 10 +- ..." \"one\" ; Elt \"2\" \"tw.524c5459f8.out" | 12 +- ...ello\" \"hi\" } None)-\"\".33eba403e7.out" | 12 +- ...hello\" \"hi\" } None)-\"h.a5cd1005c9.out" | 12 +- ...one\" ; Elt \"2\" \"two\" .6f3d35b151.out" | 10 +- ...one\" ; Elt \"2\" \"two\" .76aeaa0706.out" | 16 +- ...one\" ; Elt \"2\" \"two\" .7e7197f248.out" | 16 +- ...one\" ; Elt \"2\" \"two\" .7ef2c415a7.out" | 16 +- ...one\" ; Elt \"2\" \"two\" .b688cc94a7.out" | 16 +- ...one\" ; Elt \"2\" \"two\" .c68db221ed.out" | 16 +- ... \"two\" }) )-(Right (Righ.7492e8cdea.out" | 24 +- ... \"two\" }))-(Right (Right.d336ca1903.out" | 22 +- ...Pair \"foo\" \"bar\" } { P.7f2ee47600.out" | 56 +- ...tContractOpcodes::test_check_signature.out | 28 +- ...air -100 100)-(Some \"1970.7c1b1e4e5b.out" | 10 +- ...air 0 \"1970-01-01T00:00:0.528ed42c01.out" | 10 +- ...air 100 100)-(Some \"1970-.6566111ad2.out" | 10 +- ...air \"1970-01-01T00:00:00Z.72c424f3da.out" | 10 +- ...air 100 -100)-(Some \"1970.7c4b12e9aa.out" | 10 +- ...air 100 100)-(Some \"1970-.af32743640.out" | 10 +- ...lt 0 1 } None)-1-(Pair 4 (S.2292d6ce17.out | 14 +- ...lt 0 1 } None)-1-(Pair 4 (S.dda583f5e9.out | 14 +- ...lt 1 0 } None)-1-(Pair 4 (S.6d753598ba.out | 14 +- ...lt 1 0 } None)-1-(Pair 4 (S.73700321f8.out | 14 +- ...lt 1 4 ; Elt 2 11 } None)-1.1182eca937.out | 14 +- ...lt 1 4 ; Elt 2 11 } None)-1.2ea67af009.out | 14 +- ...lt 1 4 ; Elt 2 11 } None)-2.1eead33885.out | 14 +- ...lt 1 4 ; Elt 2 11 } None)-2.47f55c94c8.out | 14 +- ...lt 1 4 ; Elt 2 11 } None)-3.7f1f2ab27d.out | 14 +- ...lt 1 4 ; Elt 2 11 } None)-3.a3c5c126ce.out | 14 +- ...air {} None)-1-(Pair 4 (Some False))0].out | 14 +- ...air {} None)-1-(Pair 4 (Some False))1].out | 14 +- ... \"bar\" 4 ; Elt \"foo\" 1.4be99ce05d.out" | 14 +- ... \"bar\" 4 ; Elt \"foo\" 1.50c0e0ff8b.out" | 14 +- ... \"bar\" 4 ; Elt \"foo\" 1.775c22b027.out" | 14 +- ... \"foo\" 0 } None)-\"foo\".968709d39d.out" | 14 +- ... \"foo\" 1 } None)-\"bar\".cdcfaf9d09.out" | 14 +- ... None)-\"bar\"-(Pair 4 (Some False))].out" | 14 +- ...; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out | 186 ++--- ...-{ \"World!\" }-{ \"Hello World!\" }].out" | 6 +- ..."test2\" }-{ \"Hello test1.c27e8c3ee6.out" | 12 +- ...}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out | 12 +- ...hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out | 6 +- ...; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" | 66 +- ...\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" | 48 +- ...ir { \"A\" } { \"B\" })-(Some False)].out" | 88 +-- ...\"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" | 232 +++--- ...\"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" | 254 +++--- ...air { \"B\" } { \"B\" })-(Some True)].out" | 88 +-- ...ir { \"c\" } { \"B\" })-(Some False)].out" | 88 +-- ..._all.tz-None-(Pair {} {})-(Some True)].out | 26 +- ...Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" | 6 +- ...970-01-01T00:03:20Z\" \"19.90e9215d17.out" | 8 +- ...t[diff_timestamps.tz-111-(Pair 0 0)-0].out | 8 +- ...[diff_timestamps.tz-111-(Pair 0 1)--1].out | 8 +- ...t[diff_timestamps.tz-111-(Pair 1 0)-1].out | 8 +- ...r 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out | 734 +++++++++--------- ... 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out | 734 +++++++++--------- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out | 6 +- ...p.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out | 8 +- ...z-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out | 8 +- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out | 26 +- ... None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out | 56 +- ... None)-(Pair 10 -3)-(Pair (.3caea50555.out | 56 +- ... None)-(Pair 10 0)-(Pair No.f9448c04fb.out | 56 +- ...t[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" | 6 +- ...oncat.tz-\"?\"-\"test\"-\"test_abc\"].out" | 6 +- ...tput[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out | 6 +- ...act_input_output[first.tz-111-{ 4 }-4].out | 6 +- ...me 4) {})-\"hello\"-(Pair .161d86cef6.out" | 10 +- ...me 5) { Elt \"hello\" 4 }).684ab7e326.out" | 10 +- ...me 5) { Elt \"hello\" 4 }).d49817fb83.out" | 10 +- ...e { Elt \"1\" 1 ; .6900b1da14.out" | 10 +- ...e { Elt \"1\" 1 ; .bca0ede8be.out" | 10 +- ... { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" | 10 +- ...ir None {})-\"hello\"-(Pair None {})].out" | 10 +- ... \"1\" \"one\" ; .bc4127094e.out" | 10 +- ..."hello\" \"hi\" })-\"\"-(P.0c03056487.out" | 10 +- ...\"hello\" \"hi\" })-\"hell.cc45544c66.out" | 10 +- ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 10 +- ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 10 +- ...tput[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out | 14 +- ...tput[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out | 14 +- ...}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out | 78 +- ...}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out | 78 +- ...ut_output[list_map_block.tz-{0}-{}-{}].out | 2 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 90 +-- ...put_output[loop_left.tz-{\"\"}-{}-{}].out" | 12 +- ... Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out | 70 +- ...-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out | 70 +- ...foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" | 28 +- ...lt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" | 16 +- ...ract_input_output[map_map.tz-{}-10-{}].out | 6 +- ... 1 } None)-1-(Pair { Elt 0 .7396e5f090.out | 14 +- ... 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out | 14 +- ... 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out | 14 +- ... 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out | 14 +- ... 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out | 14 +- ...air {} None)-1-(Pair {} (Some False))].out | 14 +- ...ar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" | 14 +- ...ar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" | 14 +- ...ar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" | 14 +- ...oo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" | 14 +- ...oo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" | 14 +- ...None)-\"bar\"-(Pair {} (Some False))].out" | 14 +- ... (Pair 1 (Pair \"foobar\".368bdfd73a.out" | 224 +++--- ... (Pair 1 (Pair \"foobar\".735d9ae802.out" | 224 +++--- ...ir \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" | 290 +++---- ...ir \"edpkuBknW28nW72KG6RoH.4e20b52378.out" | 290 +++---- ...ntract_input_output[pexec.tz-14-38-52].out | 16 +- ... 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out | 126 +-- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 14 +- ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 48 +- ..._output[reverse_loop.tz-{\"\"}-{}-{}].out" | 8 +- ...output[self_address.tz-Unit-Unit-Unit].out | 18 +- ...entrypoint.tz-Unit-Left (Left 0)-Unit].out | 48 +- ...Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" | 18 +- ..."hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" | 18 +- ...lo\" 0)-\"world\"-(Pair \"world\" 0)].out" | 18 +- ...ir \"hello\" 0)-1-(Pair \"hello\" 1)].out" | 16 +- ... \"hello\" 500)-3-(Pair \"hello\" 3)].out" | 16 +- ..."hello\" 7)-100-(Pair \"hello\" 100)].out" | 16 +- ..._iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out | 18 +- ..._input_output[set_iter.tz-111-{ 1 }-1].out | 6 +- ..."World\" } None)-\"\"-(Pai.3d2044726e.out" | 22 +- ...)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" | 22 +- ... None)-\"Hi\"-(Pair {} (Some False))].out" | 22 +- ...r 100 -100)-\"1970-01-01T00:03:20Z\"].out" | 8 +- ...ir 100 100)-\"1970-01-01T00:00:00Z\"].out" | 8 +- ...Pair 100 200000000000000000.3db82d2c25.out | 8 +- ...00000 1000000)-(Some (Pair .b461aa042b.out | 28 +- ...10000 1010000)-(Some (Pair .1e8cf7679c.out | 28 +- ...dpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" | 8 +- ...s.TestContractOpcodes::test_packunpack.out | 34 +- 152 files changed, 3012 insertions(+), 2993 deletions(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 0737f2fd1066..61435f1394e7 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -251,7 +251,7 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = Interp_costs.join_tickets ty ticket_a ticket_b | IHalt _ -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + Gas.atomic_step_cost (Saturation_repr.safe_int 1) | IDrop _ -> Interp_costs.drop | IDup _ -> @@ -443,43 +443,45 @@ let cost_of_instr : type a s r f. (a, s, r, f) kinstr -> a -> s -> Gas.cost = let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = fun ks -> + (* FIXME: This will be fixed when the new cost model is defined. *) + let a_little = Gas.atomic_step_cost (Saturation_repr.safe_int 1) in match ks with | KLog _ -> (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KNil -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KCons (_, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KReturn _ -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KUndip (_, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KLoop_in (_, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KLoop_in_left (_, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KIter (_, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KList_enter_body (_, _, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KList_exit_body (_, _, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KMap_enter_body (_, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little | KMap_exit_body (_, _, _, _, _) -> (* FIXME: This will be fixed when the new cost model is defined. *) - Gas.free + a_little (* diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index 0032855100fa..bb8e59bdee7c 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -56,8 +56,25 @@ let run_script ctx ?(step_constants = default_step_constants) contract ~internal:false >>=?? fun res -> return res +let logger = + Script_typed_ir. + { + log_interp = (fun _ _ _ _ _ -> ()); + log_entry = (fun _ _ _ _ _ -> ()); + log_exit = (fun _ _ _ _ _ -> ()); + log_control = (fun _ -> ()); + get_log = (fun () -> Lwt.return (Ok None)); + } + let run_step ctxt code accu stack = - Script_interpreter.step None ctxt default_step_constants code accu stack + let open Script_interpreter in + step None ctxt default_step_constants code accu stack + >>=? fun ((accu, stack, ctxt') as r) -> + step (Some logger) ctxt default_step_constants code accu stack + >>=? fun (_, _, ctxt'') -> + if Gas.(gas_counter ctxt' <> gas_counter ctxt'') then + Alcotest.failf "Logging should not have an impact on gas consumption." ; + return r (** Runs a script with an ill-typed parameter and verifies that a Bad_contract_parameter error is returned. *) 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 b4d877bef6ee..7e2a8c771809 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: 6614.982 units (will add 100 for safety) +Estimated gas: 6614.992 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -27,7 +27,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 82 bytes - Consumed gas: 3945.104 + Consumed gas: 3945.109 Internal operations: 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: 2669.878 + Consumed gas: 2669.883 Injected block [BLOCK_HASH] 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 4733fe49bbdb..cbf258a12021 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 @@ -45,7 +45,7 @@ Contract memorized as level. Injected block [BLOCK_HASH] Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2226.210 units (will add 100 for safety) +Estimated gas: 2226.212 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -70,7 +70,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 4 Storage size: 40 bytes - Consumed gas: 2226.210 + Consumed gas: 2226.212 Balance updates: [CONTRACT_HASH] ... -ꜩ500 [CONTRACT_HASH] ... +ꜩ500 @@ -87,7 +87,7 @@ Injected block [BLOCK_HASH] Injected block [BLOCK_HASH] 4 Node is bootstrapped. -Estimated gas: 2226.204 units (will add 100 for safety) +Estimated gas: 2226.206 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -112,7 +112,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 7 Storage size: 40 bytes - Consumed gas: 2226.204 + Consumed gas: 2226.206 Balance updates: [CONTRACT_HASH] ... -ꜩ500 [CONTRACT_HASH] ... +ꜩ500 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 1e13f9e7ff79..44ecf13fed78 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 @@ -46,7 +46,7 @@ Injected block [BLOCK_HASH] Injected block [BLOCK_HASH] none Node is bootstrapped. -Estimated gas: 3519.666 units (will add 100 for safety) +Estimated gas: 3519.671 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: Unit Storage size: 51 bytes - Consumed gas: 2519.666 + Consumed gas: 2519.671 Internal operations: Delegation: Contract: [CONTRACT_HASH] @@ -83,7 +83,7 @@ This sequence of operations was run: Injected block [BLOCK_HASH] [CONTRACT_HASH] (known as bootstrap5) Node is bootstrapped. -Estimated gas: 3494.126 units (will add 100 for safety) +Estimated gas: 3494.131 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -109,7 +109,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 51 bytes - Consumed gas: 2494.126 + Consumed gas: 2494.131 Internal operations: Delegation: Contract: [CONTRACT_HASH] 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 81feb446f7f3..9605ed3da4f8 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: 6719.851 units (will add 100 for safety) +Estimated gas: 6719.880 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]' @@ -29,7 +29,7 @@ This sequence of operations was run: Updated storage: [OPERATION_HASH]48f709699019725ba Storage size: 578 bytes - Consumed gas: 5292.851 + Consumed gas: 5292.880 Internal operations: 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 4b02fa2d4b92..b55196b27456 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 @@ -44,7 +44,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as source. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2542.909 units (will add 100 for safety) +Estimated gas: 2542.911 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -69,14 +69,14 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c Storage size: 65 bytes - Consumed gas: 2542.909 + Consumed gas: 2542.911 Injected block [BLOCK_HASH] "[CONTRACT_HASH]" [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 5960.137 units (will add 100 for safety) +Estimated gas: 5960.144 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -102,7 +102,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 55 bytes - Consumed gas: 3417.228 + Consumed gas: 3417.233 Internal operations: Transaction: Amount: ꜩ0 @@ -111,7 +111,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c Storage size: 65 bytes - Consumed gas: 2542.909 + Consumed gas: 2542.911 Injected block [BLOCK_HASH] "[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 19f3ed4239c7..7878c97d2812 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 @@ -66,7 +66,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_bytes. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 3482.092 units (will add 100 for safety) +Estimated gas: 3482.154 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]' @@ -93,14 +93,14 @@ This sequence of operations was run: Updated storage: { 0xaa ; 0xbb ; 0xcc } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 3482.092 + Consumed gas: 3482.154 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 Injected block [BLOCK_HASH] { 0xaa ; 0xbb ; 0xcc } Node is bootstrapped. -Estimated gas: 3621.982 units (will add 100 for safety) +Estimated gas: 3622.056 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]' @@ -113,7 +113,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.000634 Expected counter: [EXPECTED_COUNTER] - Gas limit: 3722 + Gas limit: 3723 Storage limit: 38 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.000634 @@ -127,7 +127,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: 3621.982 + Consumed gas: 3622.056 Balance updates: [CONTRACT_HASH] ... -ꜩ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 51bf3769f37f..175754cf196e 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 @@ -66,7 +66,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as split_string. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 3452.136 units (will add 100 for safety) +Estimated gas: 3452.198 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]' @@ -93,14 +93,14 @@ This sequence of operations was run: Updated storage: { "a" ; "b" ; "c" } Storage size: 272 bytes Paid storage size diff: 18 bytes - Consumed gas: 3452.136 + Consumed gas: 3452.198 Balance updates: [CONTRACT_HASH] ... -ꜩ0.0045 Injected block [BLOCK_HASH] { "a" ; "b" ; "c" } Node is bootstrapped. -Estimated gas: 3508.098 units (will add 100 for safety) +Estimated gas: 3508.172 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]' @@ -127,7 +127,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: 3508.098 + Consumed gas: 3508.172 Balance updates: [CONTRACT_HASH] ... -ꜩ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 55121dacf768..5af772e9a8c3 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 @@ -108,7 +108,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as store_input. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2211.509 units (will add 100 for safety) +Estimated gas: 2211.511 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]' @@ -135,7 +135,7 @@ This sequence of operations was run: Updated storage: "abcdefg" Storage size: 48 bytes Paid storage size diff: 7 bytes - Consumed gas: 2211.509 + Consumed gas: 2211.511 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00175 [CONTRACT_HASH] ... -ꜩ100 @@ -145,7 +145,7 @@ Injected block [BLOCK_HASH] 200 ꜩ "abcdefg" Node is bootstrapped. -Estimated gas: 2211.537 units (will add 100 for safety) +Estimated gas: 2211.539 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -171,7 +171,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: "xyz" Storage size: 44 bytes - Consumed gas: 2211.537 + Consumed gas: 2211.539 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 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 53459b7f590f..f6cb9414b043 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 @@ -44,7 +44,7 @@ New contract [CONTRACT_HASH] originated. Contract memorized as transfer_amount. Injected block [BLOCK_HASH] Node is bootstrapped. -Estimated gas: 2224.175 units (will add 100 for safety) +Estimated gas: 2224.177 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]' @@ -70,7 +70,7 @@ This sequence of operations was run: Updated storage: 500000000 Storage size: 44 bytes Paid storage size diff: 4 bytes - Consumed gas: 2224.175 + Consumed gas: 2224.177 Balance updates: [CONTRACT_HASH] ... -ꜩ0.001 [CONTRACT_HASH] ... -ꜩ500 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 0fee42aec703..a67d8c892a4b 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 @@ -137,7 +137,7 @@ Injected block [BLOCK_HASH] [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 5462.606 units (will add 100 for safety) +Estimated gas: 5462.613 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -163,7 +163,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 66 bytes - Consumed gas: 3251.241 + Consumed gas: 3251.246 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -175,7 +175,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 38 bytes - Consumed gas: 2211.365 + Consumed gas: 2211.367 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -185,7 +185,7 @@ Injected block [BLOCK_HASH] [CONTRACT_HASH] Node is bootstrapped. -Estimated gas: 5462.606 units (will add 100 for safety) +Estimated gas: 5462.613 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[BLOCK_HASH]' @@ -211,7 +211,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 66 bytes - Consumed gas: 3251.241 + Consumed gas: 3251.246 Balance updates: [CONTRACT_HASH] ... -ꜩ100 [CONTRACT_HASH] ... +ꜩ100 @@ -223,7 +223,7 @@ This sequence of operations was run: This transaction was successfully applied Updated storage: Unit Storage size: 38 bytes - Consumed gas: 2211.365 + Consumed gas: 2211.367 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 bc6f028c294d..9d156d06352a 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" @@ -18,18 +18,18 @@ trace - location: 16 (remaining gas: 1039988.506 units remaining) [ (Some 4) {} ] - - location: 14 (remaining gas: 1039988.506 units remaining) + - location: 14 (remaining gas: 1039988.504 units remaining) [ "hello" @parameter (Some 4) {} ] - - location: 17 (remaining gas: 1039975.589 units remaining) + - location: 17 (remaining gas: 1039975.587 units remaining) [ None { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039975.544 units remaining) + - location: 18 (remaining gas: 1039975.542 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039975.499 units remaining) + - location: 19 (remaining gas: 1039975.497 units remaining) [ {} (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039975.454 units remaining) + - location: 21 (remaining gas: 1039975.452 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 1f41782fed9e..cec229eab3ff 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" @@ -18,18 +18,18 @@ trace - location: 16 (remaining gas: 1039975.126 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039975.126 units remaining) + - location: 14 (remaining gas: 1039975.124 units remaining) [ "hello" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039962.203 units remaining) + - location: 17 (remaining gas: 1039962.201 units remaining) [ (Some 4) { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039962.158 units remaining) + - location: 18 (remaining gas: 1039962.156 units remaining) [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039962.113 units remaining) + - location: 19 (remaining gas: 1039962.111 units remaining) [ {} (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039962.068 units remaining) + - location: 21 (remaining gas: 1039962.066 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 e49d05908ae4..782ddddb3784 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" @@ -19,18 +19,18 @@ trace - location: 16 (remaining gas: 1039975.156 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039975.156 units remaining) + - location: 14 (remaining gas: 1039975.154 units remaining) [ "hi" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039966.236 units remaining) + - location: 17 (remaining gas: 1039966.234 units remaining) [ None { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039966.191 units remaining) + - location: 18 (remaining gas: 1039966.189 units remaining) [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039966.146 units remaining) + - location: 19 (remaining gas: 1039966.144 units remaining) [ {} (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039966.101 units remaining) + - location: 21 (remaining gas: 1039966.099 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 37b6db86b7e8..5d548cc5819c 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" @@ -19,18 +19,18 @@ trace - location: 16 (remaining gas: 1039969.992 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039969.992 units remaining) + - location: 14 (remaining gas: 1039969.990 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039961.070 units remaining) + - location: 17 (remaining gas: 1039961.068 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039961.025 units remaining) + - location: 18 (remaining gas: 1039961.023 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039960.980 units remaining) + - location: 19 (remaining gas: 1039960.978 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039960.935 units remaining) + - location: 21 (remaining gas: 1039960.933 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 f84484ab30b3..b3c6cda01aa5 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" @@ -19,18 +19,18 @@ trace - location: 16 (remaining gas: 1039969.992 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039969.992 units remaining) + - location: 14 (remaining gas: 1039969.990 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039961.070 units remaining) + - location: 17 (remaining gas: 1039961.068 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039961.025 units remaining) + - location: 18 (remaining gas: 1039961.023 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039960.980 units remaining) + - location: 19 (remaining gas: 1039960.978 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039960.935 units remaining) + - location: 21 (remaining gas: 1039960.933 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 6316073fd51b..7fa79f09c08b 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" @@ -18,18 +18,18 @@ trace - location: 16 (remaining gas: 1039975.366 units remaining) [ None { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039975.366 units remaining) + - location: 14 (remaining gas: 1039975.364 units remaining) [ "hello" @parameter None { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039962.443 units remaining) + - location: 17 (remaining gas: 1039962.441 units remaining) [ (Some 4) {} ] - - location: 18 (remaining gas: 1039962.398 units remaining) + - location: 18 (remaining gas: 1039962.396 units remaining) [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039962.353 units remaining) + - location: 19 (remaining gas: 1039962.351 units remaining) [ {} (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039962.308 units remaining) + - location: 21 (remaining gas: 1039962.306 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 bad061762ec6..996512c60d1f 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" @@ -18,18 +18,18 @@ trace - location: 16 (remaining gas: 1039988.746 units remaining) [ None {} ] - - location: 14 (remaining gas: 1039988.746 units remaining) + - location: 14 (remaining gas: 1039988.744 units remaining) [ "hello" @parameter None {} ] - - location: 17 (remaining gas: 1039975.829 units remaining) + - location: 17 (remaining gas: 1039975.827 units remaining) [ None {} ] - - location: 18 (remaining gas: 1039975.784 units remaining) + - location: 18 (remaining gas: 1039975.782 units remaining) [ (Pair None {}) ] - - location: 19 (remaining gas: 1039975.739 units remaining) + - location: 19 (remaining gas: 1039975.737 units remaining) [ {} (Pair None {}) ] - - location: 21 (remaining gas: 1039975.694 units remaining) + - location: 21 (remaining gas: 1039975.692 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 279796f05afc..318a3a756330 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" @@ -26,21 +26,21 @@ trace - location: 19 (remaining gas: 1039964.724 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039964.724 units remaining) + - location: 14 (remaining gas: 1039964.722 units remaining) [ "1" @parameter { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039955.892 units remaining) + - location: 20 (remaining gas: 1039955.890 units remaining) [ (Some "one") { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039955.852 units remaining) + - location: 21 (remaining gas: 1039955.850 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } (Some "one") ] - - location: 22 (remaining gas: 1039955.807 units remaining) + - location: 22 (remaining gas: 1039955.805 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 23 (remaining gas: 1039955.762 units remaining) + - location: 23 (remaining gas: 1039955.760 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 25 (remaining gas: 1039955.717 units remaining) + - location: 25 (remaining gas: 1039955.715 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 4b7a86c90a06..1828082de670 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" @@ -25,21 +25,21 @@ trace - location: 19 (remaining gas: 1039970.202 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039970.202 units remaining) + - location: 14 (remaining gas: 1039970.200 units remaining) [ "" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039961.372 units remaining) + - location: 20 (remaining gas: 1039961.370 units remaining) [ None { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039961.332 units remaining) + - location: 21 (remaining gas: 1039961.330 units remaining) [ { Elt "hello" "hi" } None ] - - location: 22 (remaining gas: 1039961.287 units remaining) + - location: 22 (remaining gas: 1039961.285 units remaining) [ (Pair { Elt "hello" "hi" } None) ] - - location: 23 (remaining gas: 1039961.242 units remaining) + - location: 23 (remaining gas: 1039961.240 units remaining) [ {} (Pair { Elt "hello" "hi" } None) ] - - location: 25 (remaining gas: 1039961.197 units remaining) + - location: 25 (remaining gas: 1039961.195 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 ad6934c7fcb8..42a2d0d1c32f 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" @@ -25,21 +25,21 @@ trace - location: 19 (remaining gas: 1039970.152 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039970.152 units remaining) + - location: 14 (remaining gas: 1039970.150 units remaining) [ "hello" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039957.316 units remaining) + - location: 20 (remaining gas: 1039957.314 units remaining) [ (Some "hi") { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039957.276 units remaining) + - location: 21 (remaining gas: 1039957.274 units remaining) [ { Elt "hello" "hi" } (Some "hi") ] - - location: 22 (remaining gas: 1039957.231 units remaining) + - location: 22 (remaining gas: 1039957.229 units remaining) [ (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 23 (remaining gas: 1039957.186 units remaining) + - location: 23 (remaining gas: 1039957.184 units remaining) [ {} (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 25 (remaining gas: 1039957.141 units remaining) + - location: 25 (remaining gas: 1039957.139 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 51e31976e4bf..b34ea6ceda14 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" @@ -19,18 +19,18 @@ trace - location: 18 (remaining gas: 1039967.698 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039967.698 units remaining) + - location: 16 (remaining gas: 1039967.696 units remaining) [ {} @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039967.698 units remaining) + - location: 19 (remaining gas: 1039967.696 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039967.653 units remaining) + - location: 23 (remaining gas: 1039967.651 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039967.608 units remaining) + - location: 24 (remaining gas: 1039967.606 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039967.563 units remaining) + - location: 26 (remaining gas: 1039967.561 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 7fd665e77823..68f926334d1e 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" @@ -19,30 +19,30 @@ trace - location: 18 (remaining gas: 1039966.830 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039966.830 units remaining) + - location: 16 (remaining gas: 1039966.828 units remaining) [ { Elt "1" (Some "two") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.830 units remaining) + - location: 19 (remaining gas: 1039966.828 units remaining) [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.780 units remaining) + - location: 21 (remaining gas: 1039966.778 units remaining) [ "1" @key (Some "two") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.942 units remaining) + - location: 22 (remaining gas: 1039957.940 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.942 units remaining) + - location: 19 (remaining gas: 1039957.939 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039957.897 units remaining) + - location: 23 (remaining gas: 1039957.894 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.852 units remaining) + - location: 24 (remaining gas: 1039957.849 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.807 units remaining) + - location: 26 (remaining gas: 1039957.804 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 db166279170e..a894088b21d3 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" @@ -19,30 +19,30 @@ trace - location: 18 (remaining gas: 1039966.830 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039966.830 units remaining) + - location: 16 (remaining gas: 1039966.828 units remaining) [ { Elt "1" (Some "two") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.830 units remaining) + - location: 19 (remaining gas: 1039966.828 units remaining) [ (Pair "1" (Some "two")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.780 units remaining) + - location: 21 (remaining gas: 1039966.778 units remaining) [ "1" @key (Some "two") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.942 units remaining) + - location: 22 (remaining gas: 1039957.940 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039957.942 units remaining) + - location: 19 (remaining gas: 1039957.939 units remaining) [ { Elt "1" "two" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039957.897 units remaining) + - location: 23 (remaining gas: 1039957.894 units remaining) [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039957.852 units remaining) + - location: 24 (remaining gas: 1039957.849 units remaining) [ {} (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039957.807 units remaining) + - location: 26 (remaining gas: 1039957.804 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 6093b830a7df..83a0db8e6f41 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" @@ -20,30 +20,30 @@ trace - location: 18 (remaining gas: 1039966.810 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039966.810 units remaining) + - location: 16 (remaining gas: 1039966.808 units remaining) [ { Elt "3" (Some "three") } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039966.810 units remaining) + - location: 19 (remaining gas: 1039966.808 units remaining) [ (Pair "3" (Some "three")) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039966.760 units remaining) + - location: 21 (remaining gas: 1039966.758 units remaining) [ "3" @key (Some "three") @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039957.922 units remaining) + - location: 22 (remaining gas: 1039957.920 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 19 (remaining gas: 1039957.922 units remaining) + - location: 19 (remaining gas: 1039957.919 units remaining) [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit ] - - location: 23 (remaining gas: 1039957.877 units remaining) + - location: 23 (remaining gas: 1039957.874 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 24 (remaining gas: 1039957.832 units remaining) + - location: 24 (remaining gas: 1039957.829 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 26 (remaining gas: 1039957.787 units remaining) + - location: 26 (remaining gas: 1039957.784 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 9852d9028a07..438edf4ded14 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" @@ -20,30 +20,30 @@ trace - location: 18 (remaining gas: 1039967.114 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039967.114 units remaining) + - location: 16 (remaining gas: 1039967.112 units remaining) [ { Elt "3" None } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039967.114 units remaining) + - location: 19 (remaining gas: 1039967.112 units remaining) [ (Pair "3" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039967.064 units remaining) + - location: 21 (remaining gas: 1039967.062 units remaining) [ "3" @key None @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039958.226 units remaining) + - location: 22 (remaining gas: 1039958.224 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039958.226 units remaining) + - location: 19 (remaining gas: 1039958.223 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 23 (remaining gas: 1039958.181 units remaining) + - location: 23 (remaining gas: 1039958.178 units remaining) [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039958.136 units remaining) + - location: 24 (remaining gas: 1039958.133 units remaining) [ {} (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039958.091 units remaining) + - location: 26 (remaining gas: 1039958.088 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 2535d73aec08..0f9343c25119 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" @@ -19,30 +19,30 @@ trace - location: 18 (remaining gas: 1039967.114 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 16 (remaining gas: 1039967.114 units remaining) + - location: 16 (remaining gas: 1039967.112 units remaining) [ { Elt "2" None } @parameter { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 19 (remaining gas: 1039967.114 units remaining) + - location: 19 (remaining gas: 1039967.112 units remaining) [ (Pair "2" None) { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 21 (remaining gas: 1039967.064 units remaining) + - location: 21 (remaining gas: 1039967.062 units remaining) [ "2" @key None @elt { Elt "1" "one" ; Elt "2" "two" } Unit ] - - location: 22 (remaining gas: 1039958.226 units remaining) + - location: 22 (remaining gas: 1039958.224 units remaining) [ { Elt "1" "one" } Unit ] - - location: 19 (remaining gas: 1039958.226 units remaining) + - location: 19 (remaining gas: 1039958.223 units remaining) [ { Elt "1" "one" } Unit ] - - location: 23 (remaining gas: 1039958.181 units remaining) + - location: 23 (remaining gas: 1039958.178 units remaining) [ (Pair { Elt "1" "one" } Unit) ] - - location: 24 (remaining gas: 1039958.136 units remaining) + - location: 24 (remaining gas: 1039958.133 units remaining) [ {} (Pair { Elt "1" "one" } Unit) ] - - location: 26 (remaining gas: 1039958.091 units remaining) + - location: 26 (remaining gas: 1039958.088 units remaining) [ (Pair {} { Elt "1" "one" } 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 (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 837deeb09d64..087dc3c5c0f8 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" @@ -36,45 +36,45 @@ trace - location: 119 (remaining gas: 1039903.484 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 110 (remaining gas: 1039903.484 units remaining) + - location: 110 (remaining gas: 1039903.482 units remaining) [ { Pair "3" "three" } @parameter.right.right.right.add { Elt "1" "one" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039903.484 units remaining) + - location: 120 (remaining gas: 1039903.482 units remaining) [ (Pair "3" "three") @parameter.right.right.right.add.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 122 (remaining gas: 1039903.434 units remaining) + - location: 122 (remaining gas: 1039903.432 units remaining) [ "3" "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039903.389 units remaining) + - location: 123 (remaining gas: 1039903.387 units remaining) [ "three" { Elt "1" "one" } { Elt "2" "two" } ] - - location: 125 (remaining gas: 1039903.344 units remaining) + - location: 125 (remaining gas: 1039903.342 units remaining) [ (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039903.344 units remaining) + - location: 123 (remaining gas: 1039903.340 units remaining) [ "3" (Some "three") { Elt "1" "one" } { Elt "2" "two" } ] - - location: 126 (remaining gas: 1039894.509 units remaining) + - location: 126 (remaining gas: 1039894.505 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039894.509 units remaining) + - location: 120 (remaining gas: 1039894.504 units remaining) [ { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" } ] - - location: 127 (remaining gas: 1039894.464 units remaining) + - location: 127 (remaining gas: 1039894.459 units remaining) [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] - - location: 128 (remaining gas: 1039894.419 units remaining) + - location: 128 (remaining gas: 1039894.414 units remaining) [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039894.374 units remaining) + - location: 151 (remaining gas: 1039894.369 units remaining) [ {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039894.329 units remaining) + - location: 153 (remaining gas: 1039894.324 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\" }))-(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 a813e9bcbcce..3e9a5833654e 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" @@ -35,39 +35,39 @@ trace - location: 140 (remaining gas: 1039904.028 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 131 (remaining gas: 1039904.028 units remaining) + - location: 131 (remaining gas: 1039904.026 units remaining) [ { "1" } @parameter.right.right.right.rem { Elt "1" "one" } { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039904.028 units remaining) + - location: 141 (remaining gas: 1039904.026 units remaining) [ "1" @parameter.right.right.right.rem.elt { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039903.983 units remaining) + - location: 143 (remaining gas: 1039903.981 units remaining) [ { Elt "1" "one" } { Elt "2" "two" } ] - - location: 145 (remaining gas: 1039903.938 units remaining) + - location: 145 (remaining gas: 1039903.936 units remaining) [ None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039903.938 units remaining) + - location: 143 (remaining gas: 1039903.934 units remaining) [ "1" @parameter.right.right.right.rem.elt None { Elt "1" "one" } { Elt "2" "two" } ] - - location: 147 (remaining gas: 1039895.103 units remaining) + - location: 147 (remaining gas: 1039895.099 units remaining) [ {} { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039895.103 units remaining) + - location: 141 (remaining gas: 1039895.098 units remaining) [ {} { Elt "2" "two" } ] - - location: 148 (remaining gas: 1039895.058 units remaining) + - location: 148 (remaining gas: 1039895.053 units remaining) [ (Pair {} { Elt "2" "two" }) ] - - location: 149 (remaining gas: 1039895.013 units remaining) + - location: 149 (remaining gas: 1039895.008 units remaining) [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039894.968 units remaining) + - location: 151 (remaining gas: 1039894.963 units remaining) [ {} (Left (Pair {} { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039894.923 units remaining) + - location: 153 (remaining gas: 1039894.918 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 5e5601136a61..5b535b3c85b7 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" @@ -30,98 +30,98 @@ trace [ Unit @storage.right ] - location: 76 (remaining gas: 1039922.459 units remaining) [ ] - - location: 67 (remaining gas: 1039922.459 units remaining) + - location: 67 (remaining gas: 1039922.457 units remaining) [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) @parameter.right.right.import ] - - location: 77 (remaining gas: 1039922.409 units remaining) + - location: 77 (remaining gas: 1039922.407 units remaining) [ { Pair "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039922.364 units remaining) + - location: 78 (remaining gas: 1039922.362 units remaining) [ { Pair "gaz" "baz" } ] - - location: 80 (remaining gas: 1039922.164 units remaining) + - location: 80 (remaining gas: 1039922.162 units remaining) [ {} { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039922.164 units remaining) + - location: 78 (remaining gas: 1039922.160 units remaining) [ { Pair "foo" "bar" } {} { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039922.164 units remaining) + - location: 83 (remaining gas: 1039922.160 units remaining) [ (Pair "foo" "bar") @elt {} { Pair "gaz" "baz" } ] - - location: 85 (remaining gas: 1039922.114 units remaining) + - location: 85 (remaining gas: 1039922.110 units remaining) [ "foo" "bar" {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039922.069 units remaining) + - location: 86 (remaining gas: 1039922.065 units remaining) [ "bar" {} { Pair "gaz" "baz" } ] - - location: 88 (remaining gas: 1039922.024 units remaining) + - location: 88 (remaining gas: 1039922.020 units remaining) [ (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039922.024 units remaining) + - location: 86 (remaining gas: 1039922.018 units remaining) [ "foo" (Some "bar") {} { Pair "gaz" "baz" } ] - - location: 89 (remaining gas: 1039911.190 units remaining) + - location: 89 (remaining gas: 1039911.184 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039911.190 units remaining) + - location: 83 (remaining gas: 1039911.183 units remaining) [ { Elt "foo" "bar" } { Pair "gaz" "baz" } ] - - location: 90 (remaining gas: 1039911.150 units remaining) + - location: 90 (remaining gas: 1039911.143 units remaining) [ { Pair "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039911.105 units remaining) + - location: 91 (remaining gas: 1039911.098 units remaining) [ { Elt "foo" "bar" } ] - - location: 93 (remaining gas: 1039910.905 units remaining) + - location: 93 (remaining gas: 1039910.898 units remaining) [ {} { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039910.905 units remaining) + - location: 91 (remaining gas: 1039910.896 units remaining) [ { Pair "gaz" "baz" } {} { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039910.905 units remaining) + - location: 96 (remaining gas: 1039910.896 units remaining) [ (Pair "gaz" "baz") @elt {} { Elt "foo" "bar" } ] - - location: 98 (remaining gas: 1039910.855 units remaining) + - location: 98 (remaining gas: 1039910.846 units remaining) [ "gaz" "baz" {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039910.810 units remaining) + - location: 99 (remaining gas: 1039910.801 units remaining) [ "baz" {} { Elt "foo" "bar" } ] - - location: 101 (remaining gas: 1039910.765 units remaining) + - location: 101 (remaining gas: 1039910.756 units remaining) [ (Some "baz") {} { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039910.765 units remaining) + - location: 99 (remaining gas: 1039910.754 units remaining) [ "gaz" (Some "baz") {} { Elt "foo" "bar" } ] - - location: 102 (remaining gas: 1039899.931 units remaining) + - location: 102 (remaining gas: 1039899.920 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039899.931 units remaining) + - location: 96 (remaining gas: 1039899.919 units remaining) [ { Elt "gaz" "baz" } { Elt "foo" "bar" } ] - - location: 103 (remaining gas: 1039899.891 units remaining) + - location: 103 (remaining gas: 1039899.879 units remaining) [ { Elt "foo" "bar" } { Elt "gaz" "baz" } ] - - location: 104 (remaining gas: 1039899.846 units remaining) + - location: 104 (remaining gas: 1039899.834 units remaining) [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] - - location: 105 (remaining gas: 1039899.801 units remaining) + - location: 105 (remaining gas: 1039899.789 units remaining) [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 151 (remaining gas: 1039899.756 units remaining) + - location: 151 (remaining gas: 1039899.744 units remaining) [ {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 153 (remaining gas: 1039899.711 units remaining) + - location: 153 (remaining gas: 1039899.699 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 d7ccdca4d29b..3bc5e96ca54c 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 @@ -73,13 +73,13 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 16 (remaining gas: 1039931.746 units remaining) + - location: 16 (remaining gas: 1039931.744 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000568656c6c6f @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 11 (remaining gas: 1039931.746 units remaining) + - location: 11 (remaining gas: 1039931.742 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @@ -88,30 +88,30 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 20 (remaining gas: 1039931.696 units remaining) + - location: 20 (remaining gas: 1039931.692 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000568656c6c6f @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 21 (remaining gas: 1039661.683 units remaining) + - location: 21 (remaining gas: 1039661.679 units remaining) [ True (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 22 (remaining gas: 1039661.658 units remaining) + - location: 22 (remaining gas: 1039661.654 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] - - location: 28 (remaining gas: 1039661.608 units remaining) + - location: 28 (remaining gas: 1039661.604 units remaining) [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage ] - - location: 29 (remaining gas: 1039661.563 units remaining) + - location: 29 (remaining gas: 1039661.559 units remaining) [ {} (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") @storage ] - - location: 31 (remaining gas: 1039661.518 units remaining) + - location: 31 (remaining gas: 1039661.514 units remaining) [ (Pair {} "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello") ] @@ -197,13 +197,13 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 16 (remaining gas: 1039931.756 units remaining) + - location: 16 (remaining gas: 1039931.754 units remaining) [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000461626364 @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 11 (remaining gas: 1039931.756 units remaining) + - location: 11 (remaining gas: 1039931.752 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") @@ -212,23 +212,23 @@ trace (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 20 (remaining gas: 1039931.706 units remaining) + - location: 20 (remaining gas: 1039931.702 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 0x05010000000461626364 @packed (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 21 (remaining gas: 1039661.694 units remaining) + - location: 21 (remaining gas: 1039661.690 units remaining) [ False (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 22 (remaining gas: 1039661.669 units remaining) + - location: 22 (remaining gas: 1039661.665 units remaining) [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd") ] - - location: 26 (remaining gas: 1039661.624 units remaining) + - location: 26 (remaining gas: 1039661.620 units remaining) [ Unit (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" 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 8cf0fbf3922c..db532310648e 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" @@ -21,16 +21,16 @@ trace [ (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - location: 15 (remaining gas: 1039988.905 units remaining) [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039988.905 units remaining) + - location: 13 (remaining gas: 1039988.903 units remaining) [ -100 "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039988.825 units remaining) + - location: 16 (remaining gas: 1039988.823 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.780 units remaining) + - location: 17 (remaining gas: 1039988.778 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.735 units remaining) + - location: 18 (remaining gas: 1039988.733 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.690 units remaining) + - location: 20 (remaining gas: 1039988.688 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 79427201c921..00ddc7ce1aa6 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" @@ -21,16 +21,16 @@ trace [ (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - location: 15 (remaining gas: 1039988.775 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039988.775 units remaining) + - location: 13 (remaining gas: 1039988.773 units remaining) [ 0 "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039988.695 units remaining) + - location: 16 (remaining gas: 1039988.693 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.650 units remaining) + - location: 17 (remaining gas: 1039988.648 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.605 units remaining) + - location: 18 (remaining gas: 1039988.603 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.560 units remaining) + - location: 20 (remaining gas: 1039988.558 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 6a8865764006..56b1d57b65e9 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" @@ -21,16 +21,16 @@ trace [ (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - location: 15 (remaining gas: 1039988.905 units remaining) [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039988.905 units remaining) + - location: 13 (remaining gas: 1039988.903 units remaining) [ 100 "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039988.825 units remaining) + - location: 16 (remaining gas: 1039988.823 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039988.780 units remaining) + - location: 17 (remaining gas: 1039988.778 units remaining) [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039988.735 units remaining) + - location: 18 (remaining gas: 1039988.733 units remaining) [ {} (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039988.690 units remaining) + - location: 20 (remaining gas: 1039988.688 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 c0357b54d28d..0bd311b43b2e 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" @@ -21,16 +21,16 @@ trace [ (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - location: 15 (remaining gas: 1039988.775 units remaining) [ 0 ] - - location: 13 (remaining gas: 1039988.775 units remaining) + - location: 13 (remaining gas: 1039988.773 units remaining) [ "1970-01-01T00:00:00Z" 0 ] - - location: 16 (remaining gas: 1039988.695 units remaining) + - location: 16 (remaining gas: 1039988.693 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.650 units remaining) + - location: 17 (remaining gas: 1039988.648 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.605 units remaining) + - location: 18 (remaining gas: 1039988.603 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.560 units remaining) + - location: 20 (remaining gas: 1039988.558 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 c15737662502..687674878b61 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" @@ -21,16 +21,16 @@ trace [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - location: 15 (remaining gas: 1039988.905 units remaining) [ -100 ] - - location: 13 (remaining gas: 1039988.905 units remaining) + - location: 13 (remaining gas: 1039988.903 units remaining) [ "1970-01-01T00:01:40Z" -100 ] - - location: 16 (remaining gas: 1039988.825 units remaining) + - location: 16 (remaining gas: 1039988.823 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.780 units remaining) + - location: 17 (remaining gas: 1039988.778 units remaining) [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039988.735 units remaining) + - location: 18 (remaining gas: 1039988.733 units remaining) [ {} (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039988.690 units remaining) + - location: 20 (remaining gas: 1039988.688 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 59bc72357adf..09d7019c0148 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" @@ -21,16 +21,16 @@ trace [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - location: 15 (remaining gas: 1039988.905 units remaining) [ 100 ] - - location: 13 (remaining gas: 1039988.905 units remaining) + - location: 13 (remaining gas: 1039988.903 units remaining) [ "1970-01-01T00:01:40Z" 100 ] - - location: 16 (remaining gas: 1039988.825 units remaining) + - location: 16 (remaining gas: 1039988.823 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039988.780 units remaining) + - location: 17 (remaining gas: 1039988.778 units remaining) [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039988.735 units remaining) + - location: 18 (remaining gas: 1039988.733 units remaining) [ {} (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039988.690 units remaining) + - location: 20 (remaining gas: 1039988.688 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[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 878b9886a714..f642cfa55c7f 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 @@ -20,24 +20,24 @@ trace - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: 13 (remaining gas: 1039977.229 units remaining) + - location: 13 (remaining gas: 1039977.227 units remaining) [ 1 @parameter { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039968.403 units remaining) + - location: 17 (remaining gas: 1039968.401 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039968.358 units remaining) + - location: 18 (remaining gas: 1039968.356 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039968.318 units remaining) + - location: 19 (remaining gas: 1039968.316 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039968.273 units remaining) + - location: 20 (remaining gas: 1039968.271 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039968.228 units remaining) + - location: 21 (remaining gas: 1039968.226 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039968.183 units remaining) + - location: 23 (remaining gas: 1039968.181 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 a409eba0b455..d9e528ef59c4 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 @@ -20,24 +20,24 @@ trace - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: 13 (remaining gas: 1039977.229 units remaining) + - location: 13 (remaining gas: 1039977.227 units remaining) [ 1 @parameter { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039968.403 units remaining) + - location: 17 (remaining gas: 1039968.401 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039968.358 units remaining) + - location: 18 (remaining gas: 1039968.356 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039968.318 units remaining) + - location: 19 (remaining gas: 1039968.316 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039968.273 units remaining) + - location: 20 (remaining gas: 1039968.271 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039968.228 units remaining) + - location: 21 (remaining gas: 1039968.226 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039968.183 units remaining) + - location: 23 (remaining gas: 1039968.181 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 51db63002211..1e7cae3e09a3 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 @@ -20,24 +20,24 @@ trace - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: 13 (remaining gas: 1039977.229 units remaining) + - location: 13 (remaining gas: 1039977.227 units remaining) [ 1 @parameter { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039968.403 units remaining) + - location: 17 (remaining gas: 1039968.401 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039968.358 units remaining) + - location: 18 (remaining gas: 1039968.356 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039968.318 units remaining) + - location: 19 (remaining gas: 1039968.316 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039968.273 units remaining) + - location: 20 (remaining gas: 1039968.271 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039968.228 units remaining) + - location: 21 (remaining gas: 1039968.226 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039968.183 units remaining) + - location: 23 (remaining gas: 1039968.181 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 7eca18aa811b..c71be556c39b 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 @@ -20,24 +20,24 @@ trace - location: 16 (remaining gas: 1039977.229 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: 13 (remaining gas: 1039977.229 units remaining) + - location: 13 (remaining gas: 1039977.227 units remaining) [ 1 @parameter { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039968.403 units remaining) + - location: 17 (remaining gas: 1039968.401 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039968.358 units remaining) + - location: 18 (remaining gas: 1039968.356 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039968.318 units remaining) + - location: 19 (remaining gas: 1039968.316 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039968.273 units remaining) + - location: 20 (remaining gas: 1039968.271 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039968.228 units remaining) + - location: 21 (remaining gas: 1039968.226 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039968.183 units remaining) + - location: 23 (remaining gas: 1039968.181 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 8b13bf6f08cb..383f47cdfd93 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 @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.769 units remaining) + - location: 13 (remaining gas: 1039967.767 units remaining) [ 1 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.942 units remaining) + - location: 17 (remaining gas: 1039958.940 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.897 units remaining) + - location: 18 (remaining gas: 1039958.895 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.857 units remaining) + - location: 19 (remaining gas: 1039958.855 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.812 units remaining) + - location: 20 (remaining gas: 1039958.810 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.767 units remaining) + - location: 21 (remaining gas: 1039958.765 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.722 units remaining) + - location: 23 (remaining gas: 1039958.720 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 95c20964d94c..0a988eaf664b 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 @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.769 units remaining) + - location: 13 (remaining gas: 1039967.767 units remaining) [ 1 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.942 units remaining) + - location: 17 (remaining gas: 1039958.940 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.897 units remaining) + - location: 18 (remaining gas: 1039958.895 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.857 units remaining) + - location: 19 (remaining gas: 1039958.855 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.812 units remaining) + - location: 20 (remaining gas: 1039958.810 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.767 units remaining) + - location: 21 (remaining gas: 1039958.765 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.722 units remaining) + - location: 23 (remaining gas: 1039958.720 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 92436490b04f..7f941025e029 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 @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.769 units remaining) + - location: 13 (remaining gas: 1039967.767 units remaining) [ 2 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.942 units remaining) + - location: 17 (remaining gas: 1039958.940 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.897 units remaining) + - location: 18 (remaining gas: 1039958.895 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.857 units remaining) + - location: 19 (remaining gas: 1039958.855 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.812 units remaining) + - location: 20 (remaining gas: 1039958.810 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.767 units remaining) + - location: 21 (remaining gas: 1039958.765 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.722 units remaining) + - location: 23 (remaining gas: 1039958.720 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 53fb9a9d3e63..2c36649febdf 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 @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.769 units remaining) + - location: 13 (remaining gas: 1039967.767 units remaining) [ 2 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.942 units remaining) + - location: 17 (remaining gas: 1039958.940 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.897 units remaining) + - location: 18 (remaining gas: 1039958.895 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.857 units remaining) + - location: 19 (remaining gas: 1039958.855 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039958.812 units remaining) + - location: 20 (remaining gas: 1039958.810 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039958.767 units remaining) + - location: 21 (remaining gas: 1039958.765 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039958.722 units remaining) + - location: 23 (remaining gas: 1039958.720 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 3d6383a4848a..ff453624ce26 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 @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.769 units remaining) + - location: 13 (remaining gas: 1039967.767 units remaining) [ 3 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.942 units remaining) + - location: 17 (remaining gas: 1039958.940 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.897 units remaining) + - location: 18 (remaining gas: 1039958.895 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.857 units remaining) + - location: 19 (remaining gas: 1039958.855 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039958.812 units remaining) + - location: 20 (remaining gas: 1039958.810 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039958.767 units remaining) + - location: 21 (remaining gas: 1039958.765 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039958.722 units remaining) + - location: 23 (remaining gas: 1039958.720 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 2521a599eee9..a45ac3741be9 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 @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039967.769 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039967.769 units remaining) + - location: 13 (remaining gas: 1039967.767 units remaining) [ 3 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039958.942 units remaining) + - location: 17 (remaining gas: 1039958.940 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039958.897 units remaining) + - location: 18 (remaining gas: 1039958.895 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039958.857 units remaining) + - location: 19 (remaining gas: 1039958.855 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039958.812 units remaining) + - location: 20 (remaining gas: 1039958.810 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039958.767 units remaining) + - location: 21 (remaining gas: 1039958.765 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039958.722 units remaining) + - location: 23 (remaining gas: 1039958.720 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 aab489b1f6a3..29e48f317833 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.535 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039986.535 units remaining) + - location: 13 (remaining gas: 1039986.533 units remaining) [ 1 @parameter {} {} ] - - location: 17 (remaining gas: 1039977.711 units remaining) + - location: 17 (remaining gas: 1039977.709 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039977.666 units remaining) + - location: 18 (remaining gas: 1039977.664 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039977.626 units remaining) + - location: 19 (remaining gas: 1039977.624 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039977.581 units remaining) + - location: 20 (remaining gas: 1039977.579 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039977.536 units remaining) + - location: 21 (remaining gas: 1039977.534 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039977.491 units remaining) + - location: 23 (remaining gas: 1039977.489 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 09f89d714902..ce277b76df38 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.535 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039986.535 units remaining) + - location: 13 (remaining gas: 1039986.533 units remaining) [ 1 @parameter {} {} ] - - location: 17 (remaining gas: 1039977.711 units remaining) + - location: 17 (remaining gas: 1039977.709 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039977.666 units remaining) + - location: 18 (remaining gas: 1039977.664 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039977.626 units remaining) + - location: 19 (remaining gas: 1039977.624 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039977.581 units remaining) + - location: 20 (remaining gas: 1039977.579 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039977.536 units remaining) + - location: 21 (remaining gas: 1039977.534 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039977.491 units remaining) + - location: 23 (remaining gas: 1039977.489 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 0d5d342c3231..113ca507b962 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" @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039963.651 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039963.651 units remaining) + - location: 13 (remaining gas: 1039963.649 units remaining) [ "baz" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039952.816 units remaining) + - location: 17 (remaining gas: 1039952.814 units remaining) [ False { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039952.771 units remaining) + - location: 18 (remaining gas: 1039952.769 units remaining) [ (Some False) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039952.731 units remaining) + - location: 19 (remaining gas: 1039952.729 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some False) ] - - location: 20 (remaining gas: 1039952.686 units remaining) + - location: 20 (remaining gas: 1039952.684 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039952.641 units remaining) + - location: 21 (remaining gas: 1039952.639 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039952.596 units remaining) + - location: 23 (remaining gas: 1039952.594 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 6fb09cf8c651..c81131817f9a 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" @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039963.651 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039963.651 units remaining) + - location: 13 (remaining gas: 1039963.649 units remaining) [ "foo" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039952.816 units remaining) + - location: 17 (remaining gas: 1039952.814 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039952.771 units remaining) + - location: 18 (remaining gas: 1039952.769 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039952.731 units remaining) + - location: 19 (remaining gas: 1039952.729 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039952.686 units remaining) + - location: 20 (remaining gas: 1039952.684 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039952.641 units remaining) + - location: 21 (remaining gas: 1039952.639 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039952.596 units remaining) + - location: 23 (remaining gas: 1039952.594 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 bc6e5c512733..551d1d2ce4a8 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" @@ -21,24 +21,24 @@ trace - location: 16 (remaining gas: 1039963.651 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039963.651 units remaining) + - location: 13 (remaining gas: 1039963.649 units remaining) [ "bar" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039952.816 units remaining) + - location: 17 (remaining gas: 1039952.814 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039952.771 units remaining) + - location: 18 (remaining gas: 1039952.769 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039952.731 units remaining) + - location: 19 (remaining gas: 1039952.729 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039952.686 units remaining) + - location: 20 (remaining gas: 1039952.684 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039952.641 units remaining) + - location: 21 (remaining gas: 1039952.639 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039952.596 units remaining) + - location: 23 (remaining gas: 1039952.594 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 a3a1c0e2b3fd..e0c788d823df 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" @@ -20,24 +20,24 @@ trace - location: 16 (remaining gas: 1039975.133 units remaining) [ { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039975.133 units remaining) + - location: 13 (remaining gas: 1039975.131 units remaining) [ "foo" @parameter { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039964.299 units remaining) + - location: 17 (remaining gas: 1039964.297 units remaining) [ True { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039964.254 units remaining) + - location: 18 (remaining gas: 1039964.252 units remaining) [ (Some True) { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039964.214 units remaining) + - location: 19 (remaining gas: 1039964.212 units remaining) [ { Elt "foo" 0 } (Some True) ] - - location: 20 (remaining gas: 1039964.169 units remaining) + - location: 20 (remaining gas: 1039964.167 units remaining) [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039964.124 units remaining) + - location: 21 (remaining gas: 1039964.122 units remaining) [ {} (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039964.079 units remaining) + - location: 23 (remaining gas: 1039964.077 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 ed07b14efa3a..2cef31953090 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" @@ -20,24 +20,24 @@ trace - location: 16 (remaining gas: 1039975.133 units remaining) [ { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039975.133 units remaining) + - location: 13 (remaining gas: 1039975.131 units remaining) [ "bar" @parameter { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039964.299 units remaining) + - location: 17 (remaining gas: 1039964.297 units remaining) [ False { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039964.254 units remaining) + - location: 18 (remaining gas: 1039964.252 units remaining) [ (Some False) { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039964.214 units remaining) + - location: 19 (remaining gas: 1039964.212 units remaining) [ { Elt "foo" 1 } (Some False) ] - - location: 20 (remaining gas: 1039964.169 units remaining) + - location: 20 (remaining gas: 1039964.167 units remaining) [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039964.124 units remaining) + - location: 21 (remaining gas: 1039964.122 units remaining) [ {} (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039964.079 units remaining) + - location: 23 (remaining gas: 1039964.077 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 e2e631c14d23..ae5989aeb595 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.491 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039986.491 units remaining) + - location: 13 (remaining gas: 1039986.489 units remaining) [ "bar" @parameter {} {} ] - - location: 17 (remaining gas: 1039975.659 units remaining) + - location: 17 (remaining gas: 1039975.657 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039975.614 units remaining) + - location: 18 (remaining gas: 1039975.612 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039975.574 units remaining) + - location: 19 (remaining gas: 1039975.572 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039975.529 units remaining) + - location: 20 (remaining gas: 1039975.527 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039975.484 units remaining) + - location: 21 (remaining gas: 1039975.482 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039975.439 units remaining) + - location: 23 (remaining gas: 1039975.437 units remaining) [ (Pair {} {} (Some False)) ] 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 1397abd24133..c38a9ad64e0f 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 @@ -30,308 +30,308 @@ trace - location: 19 (remaining gas: 1039960.680 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.680 units remaining) + - location: 17 (remaining gas: 1039960.679 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.630 units remaining) + - location: 19 (remaining gas: 1039960.629 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.630 units remaining) + - location: 17 (remaining gas: 1039960.628 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.580 units remaining) + - location: 19 (remaining gas: 1039960.578 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.580 units remaining) + - location: 17 (remaining gas: 1039960.577 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.530 units remaining) + - location: 19 (remaining gas: 1039960.527 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.530 units remaining) + - location: 17 (remaining gas: 1039960.526 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039960.480 units remaining) + - location: 19 (remaining gas: 1039960.476 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039960.480 units remaining) + - location: 17 (remaining gas: 1039960.475 units remaining) [ { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 14 (remaining gas: 1039960.480 units remaining) + - location: 14 (remaining gas: 1039960.473 units remaining) [ {} { False ; False ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 20 (remaining gas: 1039960.440 units remaining) + - location: 20 (remaining gas: 1039960.433 units remaining) [ { False ; False ; True ; False ; False } {} { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 21 (remaining gas: 1039960.390 units remaining) + - location: 21 (remaining gas: 1039960.383 units remaining) [ { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 22 (remaining gas: 1039960.345 units remaining) + - location: 22 (remaining gas: 1039960.338 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 24 (remaining gas: 1039960.295 units remaining) + - location: 24 (remaining gas: 1039960.288 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039960.295 units remaining) + - location: 25 (remaining gas: 1039960.288 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039960.250 units remaining) + - location: 27 (remaining gas: 1039960.243 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039960.250 units remaining) + - location: 25 (remaining gas: 1039960.242 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039960.205 units remaining) + - location: 27 (remaining gas: 1039960.197 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039960.205 units remaining) + - location: 25 (remaining gas: 1039960.196 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039960.160 units remaining) + - location: 27 (remaining gas: 1039960.151 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039960.160 units remaining) + - location: 25 (remaining gas: 1039960.150 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039960.115 units remaining) + - location: 27 (remaining gas: 1039960.105 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039960.115 units remaining) + - location: 25 (remaining gas: 1039960.104 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039960.070 units remaining) + - location: 27 (remaining gas: 1039960.059 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039960.070 units remaining) + - location: 25 (remaining gas: 1039960.058 units remaining) [ { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 22 (remaining gas: 1039960.070 units remaining) + - location: 22 (remaining gas: 1039960.056 units remaining) [ { { False ; False ; True ; False ; False } } { True ; True ; False ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 28 (remaining gas: 1039960.030 units remaining) + - location: 28 (remaining gas: 1039960.016 units remaining) [ { True ; True ; False ; True ; True } { { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 29 (remaining gas: 1039959.980 units remaining) + - location: 29 (remaining gas: 1039959.966 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 30 (remaining gas: 1039959.935 units remaining) + - location: 30 (remaining gas: 1039959.921 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 32 (remaining gas: 1039959.885 units remaining) + - location: 32 (remaining gas: 1039959.871 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039959.885 units remaining) + - location: 33 (remaining gas: 1039959.871 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039959.840 units remaining) + - location: 35 (remaining gas: 1039959.826 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039959.840 units remaining) + - location: 33 (remaining gas: 1039959.825 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039959.795 units remaining) + - location: 35 (remaining gas: 1039959.780 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039959.795 units remaining) + - location: 33 (remaining gas: 1039959.779 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039959.750 units remaining) + - location: 35 (remaining gas: 1039959.734 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039959.750 units remaining) + - location: 33 (remaining gas: 1039959.733 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039959.705 units remaining) + - location: 35 (remaining gas: 1039959.688 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039959.705 units remaining) + - location: 33 (remaining gas: 1039959.687 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039959.660 units remaining) + - location: 35 (remaining gas: 1039959.642 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039959.660 units remaining) + - location: 33 (remaining gas: 1039959.641 units remaining) [ { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 30 (remaining gas: 1039959.660 units remaining) + - location: 30 (remaining gas: 1039959.639 units remaining) [ { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { True ; True ; True ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 36 (remaining gas: 1039959.620 units remaining) + - location: 36 (remaining gas: 1039959.599 units remaining) [ { True ; True ; True ; False ; False } { { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 37 (remaining gas: 1039959.570 units remaining) + - location: 37 (remaining gas: 1039959.549 units remaining) [ { { True ; True ; True ; False ; False } ; { True ; True ; False ; True ; True } ; { False ; False ; True ; False ; False } } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 38 (remaining gas: 1039959.525 units remaining) + - location: 38 (remaining gas: 1039959.504 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 40 (remaining gas: 1039959.475 units remaining) + - location: 40 (remaining gas: 1039959.454 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039959.475 units remaining) + - location: 41 (remaining gas: 1039959.454 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039959.430 units remaining) + - location: 43 (remaining gas: 1039959.409 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039959.430 units remaining) + - location: 41 (remaining gas: 1039959.408 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039959.385 units remaining) + - location: 43 (remaining gas: 1039959.363 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039959.385 units remaining) + - location: 41 (remaining gas: 1039959.362 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039959.340 units remaining) + - location: 43 (remaining gas: 1039959.317 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039959.340 units remaining) + - location: 41 (remaining gas: 1039959.316 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039959.295 units remaining) + - location: 43 (remaining gas: 1039959.271 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039959.295 units remaining) + - location: 41 (remaining gas: 1039959.270 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039959.250 units remaining) + - location: 43 (remaining gas: 1039959.225 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039959.250 units remaining) + - location: 41 (remaining gas: 1039959.224 units remaining) [ { True ; True ; False ; False ; False } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 38 (remaining gas: 1039959.250 units remaining) + - location: 38 (remaining gas: 1039959.222 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 } @parameter ] - - location: 44 (remaining gas: 1039959.210 units remaining) + - location: 44 (remaining gas: 1039959.182 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 } @parameter ] - - location: 45 (remaining gas: 1039959.160 units remaining) + - location: 45 (remaining gas: 1039959.132 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 } @parameter ] - - location: 46 (remaining gas: 1039959.115 units remaining) + - location: 46 (remaining gas: 1039959.087 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 48 (remaining gas: 1039959.065 units remaining) + - location: 48 (remaining gas: 1039959.037 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039959.065 units remaining) + - location: 49 (remaining gas: 1039959.037 units remaining) [ -9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039959.020 units remaining) + - location: 51 (remaining gas: 1039958.992 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039959.020 units remaining) + - location: 49 (remaining gas: 1039958.991 units remaining) [ -1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039958.975 units remaining) + - location: 51 (remaining gas: 1039958.946 units remaining) [ False { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039958.975 units remaining) + - location: 49 (remaining gas: 1039958.945 units remaining) [ 0 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039958.930 units remaining) + - location: 51 (remaining gas: 1039958.900 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039958.930 units remaining) + - location: 49 (remaining gas: 1039958.899 units remaining) [ 1 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039958.885 units remaining) + - location: 51 (remaining gas: 1039958.854 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039958.885 units remaining) + - location: 49 (remaining gas: 1039958.853 units remaining) [ 9999999 @parameter.elt { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039958.840 units remaining) + - location: 51 (remaining gas: 1039958.808 units remaining) [ True { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039958.840 units remaining) + - location: 49 (remaining gas: 1039958.807 units remaining) [ { False ; False ; True ; True ; True } { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 46 (remaining gas: 1039958.840 units remaining) + - location: 46 (remaining gas: 1039958.805 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 } @parameter ] - - location: 52 (remaining gas: 1039958.800 units remaining) + - location: 52 (remaining gas: 1039958.765 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 } @parameter ] - - location: 53 (remaining gas: 1039958.750 units remaining) + - location: 53 (remaining gas: 1039958.715 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 } @parameter ] - - location: 54 (remaining gas: 1039958.705 units remaining) + - location: 54 (remaining gas: 1039958.670 units remaining) [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 56 (remaining gas: 1039958.705 units remaining) + - location: 56 (remaining gas: 1039958.670 units remaining) [ -9999999 @parameter.elt ] - - location: 58 (remaining gas: 1039958.660 units remaining) + - location: 58 (remaining gas: 1039958.625 units remaining) [ False ] - - location: 56 (remaining gas: 1039958.660 units remaining) + - location: 56 (remaining gas: 1039958.624 units remaining) [ -1 @parameter.elt ] - - location: 58 (remaining gas: 1039958.615 units remaining) + - location: 58 (remaining gas: 1039958.579 units remaining) [ False ] - - location: 56 (remaining gas: 1039958.615 units remaining) + - location: 56 (remaining gas: 1039958.578 units remaining) [ 0 @parameter.elt ] - - location: 58 (remaining gas: 1039958.570 units remaining) + - location: 58 (remaining gas: 1039958.533 units remaining) [ False ] - - location: 56 (remaining gas: 1039958.570 units remaining) + - location: 56 (remaining gas: 1039958.532 units remaining) [ 1 @parameter.elt ] - - location: 58 (remaining gas: 1039958.525 units remaining) + - location: 58 (remaining gas: 1039958.487 units remaining) [ True ] - - location: 56 (remaining gas: 1039958.525 units remaining) + - location: 56 (remaining gas: 1039958.486 units remaining) [ 9999999 @parameter.elt ] - - location: 58 (remaining gas: 1039958.480 units remaining) + - location: 58 (remaining gas: 1039958.441 units remaining) [ True ] - - location: 56 (remaining gas: 1039958.480 units remaining) + - location: 56 (remaining gas: 1039958.440 units remaining) [ { False ; False ; False ; True ; True } ] - - location: 54 (remaining gas: 1039958.480 units remaining) + - location: 54 (remaining gas: 1039958.438 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: 1039958.440 units remaining) + - location: 59 (remaining gas: 1039958.398 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: 1039958.390 units remaining) + - location: 60 (remaining gas: 1039958.348 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: 1039958.345 units remaining) + - location: 61 (remaining gas: 1039958.303 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: 1039958.300 units remaining) + - location: 63 (remaining gas: 1039958.258 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 57a1168420c0..b6acc3a2ef7e 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" @@ -18,11 +18,11 @@ trace "World!" @parameter.elt ] - location: 15 (remaining gas: 1039991.797 units remaining) [ "Hello World!" ] - - location: 10 (remaining gas: 1039991.797 units remaining) + - location: 10 (remaining gas: 1039991.796 units remaining) [ { "Hello World!" } ] - - location: 16 (remaining gas: 1039991.752 units remaining) + - location: 16 (remaining gas: 1039991.751 units remaining) [ {} { "Hello World!" } ] - - location: 18 (remaining gas: 1039991.707 units remaining) + - location: 18 (remaining gas: 1039991.706 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 64fa17b4badc..7c40cdff2c19 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" @@ -18,18 +18,18 @@ trace "test1" @parameter.elt ] - location: 15 (remaining gas: 1039991.503 units remaining) [ "Hello test1" ] - - location: 10 (remaining gas: 1039991.503 units remaining) + - location: 10 (remaining gas: 1039991.502 units remaining) [ "test2" @parameter.elt ] - - location: 12 (remaining gas: 1039991.458 units remaining) + - location: 12 (remaining gas: 1039991.457 units remaining) [ "Hello " @hello "test2" @parameter.elt ] - - location: 15 (remaining gas: 1039991.378 units remaining) + - location: 15 (remaining gas: 1039991.377 units remaining) [ "Hello test2" ] - - location: 10 (remaining gas: 1039991.378 units remaining) + - location: 10 (remaining gas: 1039991.376 units remaining) [ { "Hello test1" ; "Hello test2" } ] - - location: 16 (remaining gas: 1039991.333 units remaining) + - location: 16 (remaining gas: 1039991.331 units remaining) [ {} { "Hello test1" ; "Hello test2" } ] - - location: 18 (remaining gas: 1039991.288 units remaining) + - location: 18 (remaining gas: 1039991.286 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_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 e2f28122084e..b69d9c89ab7e 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 @@ -18,18 +18,18 @@ trace 0xab @parameter.elt ] - location: 15 (remaining gas: 1039991.705 units remaining) [ 0xffab ] - - location: 10 (remaining gas: 1039991.705 units remaining) + - location: 10 (remaining gas: 1039991.704 units remaining) [ 0xcd @parameter.elt ] - - location: 12 (remaining gas: 1039991.660 units remaining) + - location: 12 (remaining gas: 1039991.659 units remaining) [ 0xff 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039991.580 units remaining) + - location: 15 (remaining gas: 1039991.579 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039991.580 units remaining) + - location: 10 (remaining gas: 1039991.578 units remaining) [ { 0xffab ; 0xffcd } ] - - location: 16 (remaining gas: 1039991.535 units remaining) + - location: 16 (remaining gas: 1039991.533 units remaining) [ {} { 0xffab ; 0xffcd } ] - - location: 18 (remaining gas: 1039991.490 units remaining) + - location: 18 (remaining gas: 1039991.488 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 6452684e1ed7..a5412aad6612 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 @@ -18,11 +18,11 @@ trace 0xcd @parameter.elt ] - location: 15 (remaining gas: 1039991.945 units remaining) [ 0xffcd ] - - location: 10 (remaining gas: 1039991.945 units remaining) + - location: 10 (remaining gas: 1039991.944 units remaining) [ { 0xffcd } ] - - location: 16 (remaining gas: 1039991.900 units remaining) + - location: 16 (remaining gas: 1039991.899 units remaining) [ {} { 0xffcd } ] - - location: 18 (remaining gas: 1039991.855 units remaining) + - location: 18 (remaining gas: 1039991.854 units remaining) [ (Pair {} { 0xffcd }) ] 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 18339db7f205..a304605215bd 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" @@ -33,87 +33,87 @@ trace {} ] - location: 21 (remaining gas: 1039985.331 units remaining) [ { "Hello" } ] - - location: 16 (remaining gas: 1039985.331 units remaining) + - location: 16 (remaining gas: 1039985.329 units remaining) [ "" { "Hello" } ] - - location: 22 (remaining gas: 1039985.281 units remaining) + - location: 22 (remaining gas: 1039985.279 units remaining) [ { "" ; "Hello" } ] - - location: 23 (remaining gas: 1039985.161 units remaining) + - location: 23 (remaining gas: 1039985.159 units remaining) [ "Hello" ] - - location: 13 (remaining gas: 1039985.161 units remaining) + - location: 13 (remaining gas: 1039985.158 units remaining) [ " " @parameter.elt "Hello" ] - - location: 15 (remaining gas: 1039985.121 units remaining) + - location: 15 (remaining gas: 1039985.118 units remaining) [ "Hello" " " @parameter.elt ] - - location: 16 (remaining gas: 1039985.076 units remaining) + - location: 16 (remaining gas: 1039985.073 units remaining) [ " " @parameter.elt ] - - location: 18 (remaining gas: 1039985.031 units remaining) + - location: 18 (remaining gas: 1039985.028 units remaining) [ {} " " @parameter.elt ] - - location: 20 (remaining gas: 1039984.991 units remaining) + - location: 20 (remaining gas: 1039984.988 units remaining) [ " " @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.941 units remaining) + - location: 21 (remaining gas: 1039984.938 units remaining) [ { " " } ] - - location: 16 (remaining gas: 1039984.941 units remaining) + - location: 16 (remaining gas: 1039984.936 units remaining) [ "Hello" { " " } ] - - location: 22 (remaining gas: 1039984.891 units remaining) + - location: 22 (remaining gas: 1039984.886 units remaining) [ { "Hello" ; " " } ] - - location: 23 (remaining gas: 1039984.771 units remaining) + - location: 23 (remaining gas: 1039984.766 units remaining) [ "Hello " ] - - location: 13 (remaining gas: 1039984.771 units remaining) + - location: 13 (remaining gas: 1039984.765 units remaining) [ "World" @parameter.elt "Hello " ] - - location: 15 (remaining gas: 1039984.731 units remaining) + - location: 15 (remaining gas: 1039984.725 units remaining) [ "Hello " "World" @parameter.elt ] - - location: 16 (remaining gas: 1039984.686 units remaining) + - location: 16 (remaining gas: 1039984.680 units remaining) [ "World" @parameter.elt ] - - location: 18 (remaining gas: 1039984.641 units remaining) + - location: 18 (remaining gas: 1039984.635 units remaining) [ {} "World" @parameter.elt ] - - location: 20 (remaining gas: 1039984.601 units remaining) + - location: 20 (remaining gas: 1039984.595 units remaining) [ "World" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.551 units remaining) + - location: 21 (remaining gas: 1039984.545 units remaining) [ { "World" } ] - - location: 16 (remaining gas: 1039984.551 units remaining) + - location: 16 (remaining gas: 1039984.543 units remaining) [ "Hello " { "World" } ] - - location: 22 (remaining gas: 1039984.501 units remaining) + - location: 22 (remaining gas: 1039984.493 units remaining) [ { "Hello " ; "World" } ] - - location: 23 (remaining gas: 1039984.380 units remaining) + - location: 23 (remaining gas: 1039984.372 units remaining) [ "Hello World" ] - - location: 13 (remaining gas: 1039984.380 units remaining) + - location: 13 (remaining gas: 1039984.371 units remaining) [ "!" @parameter.elt "Hello World" ] - - location: 15 (remaining gas: 1039984.340 units remaining) + - location: 15 (remaining gas: 1039984.331 units remaining) [ "Hello World" "!" @parameter.elt ] - - location: 16 (remaining gas: 1039984.295 units remaining) + - location: 16 (remaining gas: 1039984.286 units remaining) [ "!" @parameter.elt ] - - location: 18 (remaining gas: 1039984.250 units remaining) + - location: 18 (remaining gas: 1039984.241 units remaining) [ {} "!" @parameter.elt ] - - location: 20 (remaining gas: 1039984.210 units remaining) + - location: 20 (remaining gas: 1039984.201 units remaining) [ "!" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.160 units remaining) + - location: 21 (remaining gas: 1039984.151 units remaining) [ { "!" } ] - - location: 16 (remaining gas: 1039984.160 units remaining) + - location: 16 (remaining gas: 1039984.149 units remaining) [ "Hello World" { "!" } ] - - location: 22 (remaining gas: 1039984.110 units remaining) + - location: 22 (remaining gas: 1039984.099 units remaining) [ { "Hello World" ; "!" } ] - - location: 23 (remaining gas: 1039983.989 units remaining) + - location: 23 (remaining gas: 1039983.978 units remaining) [ "Hello World!" ] - - location: 13 (remaining gas: 1039983.989 units remaining) + - location: 13 (remaining gas: 1039983.977 units remaining) [ "Hello World!" ] - - location: 24 (remaining gas: 1039983.944 units remaining) + - location: 24 (remaining gas: 1039983.932 units remaining) [ {} "Hello World!" ] - - location: 26 (remaining gas: 1039983.899 units remaining) + - location: 26 (remaining gas: 1039983.887 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 0b74792b3e0f..11af02402385 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" @@ -33,64 +33,64 @@ trace {} ] - location: 21 (remaining gas: 1039985.675 units remaining) [ { "a" } ] - - location: 16 (remaining gas: 1039985.675 units remaining) + - location: 16 (remaining gas: 1039985.673 units remaining) [ "" { "a" } ] - - location: 22 (remaining gas: 1039985.625 units remaining) + - location: 22 (remaining gas: 1039985.623 units remaining) [ { "" ; "a" } ] - - location: 23 (remaining gas: 1039985.505 units remaining) + - location: 23 (remaining gas: 1039985.503 units remaining) [ "a" ] - - location: 13 (remaining gas: 1039985.505 units remaining) + - location: 13 (remaining gas: 1039985.502 units remaining) [ "b" @parameter.elt "a" ] - - location: 15 (remaining gas: 1039985.465 units remaining) + - location: 15 (remaining gas: 1039985.462 units remaining) [ "a" "b" @parameter.elt ] - - location: 16 (remaining gas: 1039985.420 units remaining) + - location: 16 (remaining gas: 1039985.417 units remaining) [ "b" @parameter.elt ] - - location: 18 (remaining gas: 1039985.375 units remaining) + - location: 18 (remaining gas: 1039985.372 units remaining) [ {} "b" @parameter.elt ] - - location: 20 (remaining gas: 1039985.335 units remaining) + - location: 20 (remaining gas: 1039985.332 units remaining) [ "b" @parameter.elt {} ] - - location: 21 (remaining gas: 1039985.285 units remaining) + - location: 21 (remaining gas: 1039985.282 units remaining) [ { "b" } ] - - location: 16 (remaining gas: 1039985.285 units remaining) + - location: 16 (remaining gas: 1039985.280 units remaining) [ "a" { "b" } ] - - location: 22 (remaining gas: 1039985.235 units remaining) + - location: 22 (remaining gas: 1039985.230 units remaining) [ { "a" ; "b" } ] - - location: 23 (remaining gas: 1039985.115 units remaining) + - location: 23 (remaining gas: 1039985.110 units remaining) [ "ab" ] - - location: 13 (remaining gas: 1039985.115 units remaining) + - location: 13 (remaining gas: 1039985.109 units remaining) [ "c" @parameter.elt "ab" ] - - location: 15 (remaining gas: 1039985.075 units remaining) + - location: 15 (remaining gas: 1039985.069 units remaining) [ "ab" "c" @parameter.elt ] - - location: 16 (remaining gas: 1039985.030 units remaining) + - location: 16 (remaining gas: 1039985.024 units remaining) [ "c" @parameter.elt ] - - location: 18 (remaining gas: 1039984.985 units remaining) + - location: 18 (remaining gas: 1039984.979 units remaining) [ {} "c" @parameter.elt ] - - location: 20 (remaining gas: 1039984.945 units remaining) + - location: 20 (remaining gas: 1039984.939 units remaining) [ "c" @parameter.elt {} ] - - location: 21 (remaining gas: 1039984.895 units remaining) + - location: 21 (remaining gas: 1039984.889 units remaining) [ { "c" } ] - - location: 16 (remaining gas: 1039984.895 units remaining) + - location: 16 (remaining gas: 1039984.887 units remaining) [ "ab" { "c" } ] - - location: 22 (remaining gas: 1039984.845 units remaining) + - location: 22 (remaining gas: 1039984.837 units remaining) [ { "ab" ; "c" } ] - - location: 23 (remaining gas: 1039984.725 units remaining) + - location: 23 (remaining gas: 1039984.717 units remaining) [ "abc" ] - - location: 13 (remaining gas: 1039984.725 units remaining) + - location: 13 (remaining gas: 1039984.716 units remaining) [ "abc" ] - - location: 24 (remaining gas: 1039984.680 units remaining) + - location: 24 (remaining gas: 1039984.671 units remaining) [ {} "abc" ] - - location: 26 (remaining gas: 1039984.635 units remaining) + - location: 26 (remaining gas: 1039984.626 units remaining) [ (Pair {} "abc") ] 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 b6ca0f745151..3cc8155598c3 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" @@ -21,146 +21,146 @@ trace [ (Pair { "A" } { "B" }) @parameter ] - location: 17 (remaining gas: 1039956.407 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039956.407 units remaining) + - location: 15 (remaining gas: 1039956.405 units remaining) [ { "A" } { "B" } ] - - location: 18 (remaining gas: 1039956.207 units remaining) + - location: 18 (remaining gas: 1039956.205 units remaining) [ {} { "A" } { "B" } ] - - location: 20 (remaining gas: 1039956.167 units remaining) + - location: 20 (remaining gas: 1039956.165 units remaining) [ { "A" } {} { "B" } ] - - location: 21 (remaining gas: 1039956.167 units remaining) + - location: 21 (remaining gas: 1039956.165 units remaining) [ "A" @elt {} { "B" } ] - - location: 23 (remaining gas: 1039956.122 units remaining) + - location: 23 (remaining gas: 1039956.120 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 24 (remaining gas: 1039956.072 units remaining) + - location: 24 (remaining gas: 1039956.070 units remaining) [ (Pair "A" {}) (Pair "A" {}) { "B" } ] - - location: 25 (remaining gas: 1039956.022 units remaining) + - location: 25 (remaining gas: 1039956.020 units remaining) [ "A" @elt (Pair "A" {}) { "B" } ] - - location: 26 (remaining gas: 1039955.977 units remaining) + - location: 26 (remaining gas: 1039955.975 units remaining) [ (Pair "A" {}) { "B" } ] - - location: 28 (remaining gas: 1039955.927 units remaining) + - location: 28 (remaining gas: 1039955.925 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039955.927 units remaining) + - location: 26 (remaining gas: 1039955.923 units remaining) [ "A" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039955.882 units remaining) + - location: 29 (remaining gas: 1039955.878 units remaining) [ True "A" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039955.842 units remaining) + - location: 32 (remaining gas: 1039955.838 units remaining) [ "A" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039955.762 units remaining) + - location: 33 (remaining gas: 1039955.758 units remaining) [ { "A" } { "B" } ] - - location: 21 (remaining gas: 1039955.762 units remaining) + - location: 21 (remaining gas: 1039955.757 units remaining) [ { "A" } { "B" } ] - - location: 34 (remaining gas: 1039955.717 units remaining) + - location: 34 (remaining gas: 1039955.712 units remaining) [ True { "A" } { "B" } ] - - location: 37 (remaining gas: 1039955.677 units remaining) + - location: 37 (remaining gas: 1039955.672 units remaining) [ { "A" } True { "B" } ] - - location: 38 (remaining gas: 1039955.632 units remaining) + - location: 38 (remaining gas: 1039955.627 units remaining) [ (Pair { "A" } True) { "B" } ] - - location: 39 (remaining gas: 1039955.592 units remaining) + - location: 39 (remaining gas: 1039955.587 units remaining) [ { "B" } (Pair { "A" } True) ] - - location: 40 (remaining gas: 1039955.592 units remaining) + - location: 40 (remaining gas: 1039955.587 units remaining) [ "B" @elt (Pair { "A" } True) ] - - location: 42 (remaining gas: 1039955.547 units remaining) + - location: 42 (remaining gas: 1039955.542 units remaining) [ (Pair "B" { "A" } True) ] - - location: 43 (remaining gas: 1039955.497 units remaining) + - location: 43 (remaining gas: 1039955.492 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 44 (remaining gas: 1039955.447 units remaining) + - location: 44 (remaining gas: 1039955.442 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 45 (remaining gas: 1039955.397 units remaining) + - location: 45 (remaining gas: 1039955.392 units remaining) [ "B" @elt (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 46 (remaining gas: 1039955.352 units remaining) + - location: 46 (remaining gas: 1039955.347 units remaining) [ (Pair "B" { "A" } True) (Pair "B" { "A" } True) ] - - location: 49 (remaining gas: 1039955.302 units remaining) + - location: 49 (remaining gas: 1039955.297 units remaining) [ (Pair { "A" } True) (Pair "B" { "A" } True) ] - - location: 50 (remaining gas: 1039955.252 units remaining) + - location: 50 (remaining gas: 1039955.247 units remaining) [ { "A" } (Pair "B" { "A" } True) ] - - location: 51 (remaining gas: 1039955.207 units remaining) + - location: 51 (remaining gas: 1039955.202 units remaining) [ (Pair "B" { "A" } True) ] - - location: 54 (remaining gas: 1039955.157 units remaining) + - location: 54 (remaining gas: 1039955.152 units remaining) [ (Pair { "A" } True) ] - - location: 55 (remaining gas: 1039955.107 units remaining) + - location: 55 (remaining gas: 1039955.102 units remaining) [ True ] - - location: 51 (remaining gas: 1039955.107 units remaining) + - location: 51 (remaining gas: 1039955.100 units remaining) [ { "A" } True ] - - location: 56 (remaining gas: 1039955.057 units remaining) + - location: 56 (remaining gas: 1039955.050 units remaining) [ { "A" } { "A" } True ] - - location: 46 (remaining gas: 1039955.057 units remaining) + - location: 46 (remaining gas: 1039955.048 units remaining) [ "B" @elt { "A" } { "A" } True ] - - location: 57 (remaining gas: 1039954.977 units remaining) + - location: 57 (remaining gas: 1039954.968 units remaining) [ False { "A" } True ] - - location: 58 (remaining gas: 1039954.932 units remaining) + - location: 58 (remaining gas: 1039954.923 units remaining) [ { "A" } True ] - - location: 60 (remaining gas: 1039954.892 units remaining) + - location: 60 (remaining gas: 1039954.883 units remaining) [ True { "A" } ] - - location: 58 (remaining gas: 1039954.892 units remaining) + - location: 58 (remaining gas: 1039954.881 units remaining) [ False True { "A" } ] - - location: 61 (remaining gas: 1039954.842 units remaining) + - location: 61 (remaining gas: 1039954.831 units remaining) [ False { "A" } ] - - location: 62 (remaining gas: 1039954.802 units remaining) + - location: 62 (remaining gas: 1039954.791 units remaining) [ { "A" } False ] - - location: 63 (remaining gas: 1039954.757 units remaining) + - location: 63 (remaining gas: 1039954.746 units remaining) [ (Pair { "A" } False) ] - - location: 40 (remaining gas: 1039954.757 units remaining) + - location: 40 (remaining gas: 1039954.745 units remaining) [ (Pair { "A" } False) ] - - location: 64 (remaining gas: 1039954.707 units remaining) + - location: 64 (remaining gas: 1039954.695 units remaining) [ False ] - - location: 65 (remaining gas: 1039954.662 units remaining) + - location: 65 (remaining gas: 1039954.650 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039954.617 units remaining) + - location: 66 (remaining gas: 1039954.605 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039954.572 units remaining) + - location: 68 (remaining gas: 1039954.560 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 fe694bf9310c..49267a1147fb 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" @@ -21,390 +21,390 @@ trace [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - location: 17 (remaining gas: 1039955.027 units remaining) [ { "B" ; "C" ; "asdf" } ] - - location: 15 (remaining gas: 1039955.027 units remaining) + - location: 15 (remaining gas: 1039955.025 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" } ] - - location: 18 (remaining gas: 1039954.827 units remaining) + - location: 18 (remaining gas: 1039954.825 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" } ] - - location: 20 (remaining gas: 1039954.787 units remaining) + - location: 20 (remaining gas: 1039954.785 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } {} { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039954.787 units remaining) + - location: 21 (remaining gas: 1039954.785 units remaining) [ "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039954.742 units remaining) + - location: 23 (remaining gas: 1039954.740 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039954.692 units remaining) + - location: 24 (remaining gas: 1039954.690 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039954.642 units remaining) + - location: 25 (remaining gas: 1039954.640 units remaining) [ "B" @elt (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039954.597 units remaining) + - location: 26 (remaining gas: 1039954.595 units remaining) [ (Pair "B" {}) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039954.547 units remaining) + - location: 28 (remaining gas: 1039954.545 units remaining) [ {} { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039954.547 units remaining) + - location: 26 (remaining gas: 1039954.543 units remaining) [ "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039954.502 units remaining) + - location: 29 (remaining gas: 1039954.498 units remaining) [ True "B" @elt {} { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039954.462 units remaining) + - location: 32 (remaining gas: 1039954.458 units remaining) [ "B" @elt True {} { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039954.382 units remaining) + - location: 33 (remaining gas: 1039954.378 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039954.382 units remaining) + - location: 21 (remaining gas: 1039954.377 units remaining) [ "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039954.337 units remaining) + - location: 23 (remaining gas: 1039954.332 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039954.287 units remaining) + - location: 24 (remaining gas: 1039954.282 units remaining) [ (Pair "B" { "B" }) (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039954.237 units remaining) + - location: 25 (remaining gas: 1039954.232 units remaining) [ "B" @elt (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039954.192 units remaining) + - location: 26 (remaining gas: 1039954.187 units remaining) [ (Pair "B" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039954.142 units remaining) + - location: 28 (remaining gas: 1039954.137 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039954.142 units remaining) + - location: 26 (remaining gas: 1039954.135 units remaining) [ "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039954.097 units remaining) + - location: 29 (remaining gas: 1039954.090 units remaining) [ True "B" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039954.057 units remaining) + - location: 32 (remaining gas: 1039954.050 units remaining) [ "B" @elt True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.977 units remaining) + - location: 33 (remaining gas: 1039953.970 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039953.977 units remaining) + - location: 21 (remaining gas: 1039953.969 units remaining) [ "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.932 units remaining) + - location: 23 (remaining gas: 1039953.924 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.882 units remaining) + - location: 24 (remaining gas: 1039953.874 units remaining) [ (Pair "asdf" { "B" }) (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.832 units remaining) + - location: 25 (remaining gas: 1039953.824 units remaining) [ "asdf" @elt (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.787 units remaining) + - location: 26 (remaining gas: 1039953.779 units remaining) [ (Pair "asdf" { "B" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039953.737 units remaining) + - location: 28 (remaining gas: 1039953.729 units remaining) [ { "B" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.737 units remaining) + - location: 26 (remaining gas: 1039953.727 units remaining) [ "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039953.692 units remaining) + - location: 29 (remaining gas: 1039953.682 units remaining) [ True "asdf" @elt { "B" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039953.652 units remaining) + - location: 32 (remaining gas: 1039953.642 units remaining) [ "asdf" @elt True { "B" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.571 units remaining) + - location: 33 (remaining gas: 1039953.561 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039953.571 units remaining) + - location: 21 (remaining gas: 1039953.560 units remaining) [ "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.526 units remaining) + - location: 23 (remaining gas: 1039953.515 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.476 units remaining) + - location: 24 (remaining gas: 1039953.465 units remaining) [ (Pair "C" { "B" ; "asdf" }) (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.426 units remaining) + - location: 25 (remaining gas: 1039953.415 units remaining) [ "C" @elt (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.381 units remaining) + - location: 26 (remaining gas: 1039953.370 units remaining) [ (Pair "C" { "B" ; "asdf" }) { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039953.331 units remaining) + - location: 28 (remaining gas: 1039953.320 units remaining) [ { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039953.331 units remaining) + - location: 26 (remaining gas: 1039953.318 units remaining) [ "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039953.286 units remaining) + - location: 29 (remaining gas: 1039953.273 units remaining) [ True "C" @elt { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039953.246 units remaining) + - location: 32 (remaining gas: 1039953.233 units remaining) [ "C" @elt True { "B" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039953.166 units remaining) + - location: 33 (remaining gas: 1039953.153 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039953.166 units remaining) + - location: 21 (remaining gas: 1039953.152 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 34 (remaining gas: 1039953.121 units remaining) + - location: 34 (remaining gas: 1039953.107 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } ] - - location: 37 (remaining gas: 1039953.081 units remaining) + - location: 37 (remaining gas: 1039953.067 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "C" ; "asdf" } ] - - location: 38 (remaining gas: 1039953.036 units remaining) + - location: 38 (remaining gas: 1039953.022 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "C" ; "asdf" } ] - - location: 39 (remaining gas: 1039952.996 units remaining) + - location: 39 (remaining gas: 1039952.982 units remaining) [ { "B" ; "C" ; "asdf" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039952.996 units remaining) + - location: 40 (remaining gas: 1039952.982 units remaining) [ "B" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039952.951 units remaining) + - location: 42 (remaining gas: 1039952.937 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039952.901 units remaining) + - location: 43 (remaining gas: 1039952.887 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039952.851 units remaining) + - location: 44 (remaining gas: 1039952.837 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039952.801 units remaining) + - location: 45 (remaining gas: 1039952.787 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039952.756 units remaining) + - location: 46 (remaining gas: 1039952.742 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039952.706 units remaining) + - location: 49 (remaining gas: 1039952.692 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039952.656 units remaining) + - location: 50 (remaining gas: 1039952.642 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039952.611 units remaining) + - location: 51 (remaining gas: 1039952.597 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039952.561 units remaining) + - location: 54 (remaining gas: 1039952.547 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039952.511 units remaining) + - location: 55 (remaining gas: 1039952.497 units remaining) [ True ] - - location: 51 (remaining gas: 1039952.511 units remaining) + - location: 51 (remaining gas: 1039952.495 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039952.461 units remaining) + - location: 56 (remaining gas: 1039952.445 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039952.461 units remaining) + - location: 46 (remaining gas: 1039952.443 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039952.381 units remaining) + - location: 57 (remaining gas: 1039952.363 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039952.336 units remaining) + - location: 58 (remaining gas: 1039952.318 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039952.296 units remaining) + - location: 60 (remaining gas: 1039952.278 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039952.296 units remaining) + - location: 58 (remaining gas: 1039952.276 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039952.246 units remaining) + - location: 61 (remaining gas: 1039952.226 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039952.206 units remaining) + - location: 62 (remaining gas: 1039952.186 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039952.161 units remaining) + - location: 63 (remaining gas: 1039952.141 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039952.161 units remaining) + - location: 40 (remaining gas: 1039952.140 units remaining) [ "C" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039952.116 units remaining) + - location: 42 (remaining gas: 1039952.095 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039952.066 units remaining) + - location: 43 (remaining gas: 1039952.045 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039952.016 units remaining) + - location: 44 (remaining gas: 1039951.995 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039951.966 units remaining) + - location: 45 (remaining gas: 1039951.945 units remaining) [ "C" @elt (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039951.921 units remaining) + - location: 46 (remaining gas: 1039951.900 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039951.871 units remaining) + - location: 49 (remaining gas: 1039951.850 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039951.821 units remaining) + - location: 50 (remaining gas: 1039951.800 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039951.776 units remaining) + - location: 51 (remaining gas: 1039951.755 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039951.726 units remaining) + - location: 54 (remaining gas: 1039951.705 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039951.676 units remaining) + - location: 55 (remaining gas: 1039951.655 units remaining) [ True ] - - location: 51 (remaining gas: 1039951.676 units remaining) + - location: 51 (remaining gas: 1039951.653 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039951.626 units remaining) + - location: 56 (remaining gas: 1039951.603 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039951.626 units remaining) + - location: 46 (remaining gas: 1039951.601 units remaining) [ "C" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039951.546 units remaining) + - location: 57 (remaining gas: 1039951.521 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039951.501 units remaining) + - location: 58 (remaining gas: 1039951.476 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039951.461 units remaining) + - location: 60 (remaining gas: 1039951.436 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039951.461 units remaining) + - location: 58 (remaining gas: 1039951.434 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039951.411 units remaining) + - location: 61 (remaining gas: 1039951.384 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039951.371 units remaining) + - location: 62 (remaining gas: 1039951.344 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039951.326 units remaining) + - location: 63 (remaining gas: 1039951.299 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039951.326 units remaining) + - location: 40 (remaining gas: 1039951.298 units remaining) [ "asdf" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039951.281 units remaining) + - location: 42 (remaining gas: 1039951.253 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039951.231 units remaining) + - location: 43 (remaining gas: 1039951.203 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039951.181 units remaining) + - location: 44 (remaining gas: 1039951.153 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039951.131 units remaining) + - location: 45 (remaining gas: 1039951.103 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039951.086 units remaining) + - location: 46 (remaining gas: 1039951.058 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039951.036 units remaining) + - location: 49 (remaining gas: 1039951.008 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039950.986 units remaining) + - location: 50 (remaining gas: 1039950.958 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039950.941 units remaining) + - location: 51 (remaining gas: 1039950.913 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039950.891 units remaining) + - location: 54 (remaining gas: 1039950.863 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039950.841 units remaining) + - location: 55 (remaining gas: 1039950.813 units remaining) [ True ] - - location: 51 (remaining gas: 1039950.841 units remaining) + - location: 51 (remaining gas: 1039950.811 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039950.791 units remaining) + - location: 56 (remaining gas: 1039950.761 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039950.791 units remaining) + - location: 46 (remaining gas: 1039950.759 units remaining) [ "asdf" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039950.711 units remaining) + - location: 57 (remaining gas: 1039950.679 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039950.666 units remaining) + - location: 58 (remaining gas: 1039950.634 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039950.626 units remaining) + - location: 60 (remaining gas: 1039950.594 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039950.626 units remaining) + - location: 58 (remaining gas: 1039950.592 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039950.576 units remaining) + - location: 61 (remaining gas: 1039950.542 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039950.536 units remaining) + - location: 62 (remaining gas: 1039950.502 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039950.491 units remaining) + - location: 63 (remaining gas: 1039950.457 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039950.491 units remaining) + - location: 40 (remaining gas: 1039950.456 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039950.441 units remaining) + - location: 64 (remaining gas: 1039950.406 units remaining) [ True ] - - location: 65 (remaining gas: 1039950.396 units remaining) + - location: 65 (remaining gas: 1039950.361 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039950.351 units remaining) + - location: 66 (remaining gas: 1039950.316 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039950.306 units remaining) + - location: 68 (remaining gas: 1039950.271 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 a9277612e510..a16fb5802486 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" @@ -21,417 +21,417 @@ trace [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - location: 17 (remaining gas: 1039955.027 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } ] - - location: 15 (remaining gas: 1039955.027 units remaining) + - location: 15 (remaining gas: 1039955.025 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 18 (remaining gas: 1039954.827 units remaining) + - location: 18 (remaining gas: 1039954.825 units remaining) [ {} { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 20 (remaining gas: 1039954.787 units remaining) + - location: 20 (remaining gas: 1039954.785 units remaining) [ { "B" ; "C" ; "asdf" } {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039954.787 units remaining) + - location: 21 (remaining gas: 1039954.785 units remaining) [ "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039954.742 units remaining) + - location: 23 (remaining gas: 1039954.740 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039954.692 units remaining) + - location: 24 (remaining gas: 1039954.690 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039954.642 units remaining) + - location: 25 (remaining gas: 1039954.640 units remaining) [ "B" @elt (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039954.597 units remaining) + - location: 26 (remaining gas: 1039954.595 units remaining) [ (Pair "B" {}) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039954.547 units remaining) + - location: 28 (remaining gas: 1039954.545 units remaining) [ {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039954.547 units remaining) + - location: 26 (remaining gas: 1039954.543 units remaining) [ "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039954.502 units remaining) + - location: 29 (remaining gas: 1039954.498 units remaining) [ True "B" @elt {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039954.462 units remaining) + - location: 32 (remaining gas: 1039954.458 units remaining) [ "B" @elt True {} { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039954.382 units remaining) + - location: 33 (remaining gas: 1039954.378 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039954.382 units remaining) + - location: 21 (remaining gas: 1039954.377 units remaining) [ "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039954.337 units remaining) + - location: 23 (remaining gas: 1039954.332 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039954.287 units remaining) + - location: 24 (remaining gas: 1039954.282 units remaining) [ (Pair "C" { "B" }) (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039954.237 units remaining) + - location: 25 (remaining gas: 1039954.232 units remaining) [ "C" @elt (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039954.192 units remaining) + - location: 26 (remaining gas: 1039954.187 units remaining) [ (Pair "C" { "B" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039954.142 units remaining) + - location: 28 (remaining gas: 1039954.137 units remaining) [ { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039954.142 units remaining) + - location: 26 (remaining gas: 1039954.135 units remaining) [ "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039954.097 units remaining) + - location: 29 (remaining gas: 1039954.090 units remaining) [ True "C" @elt { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039954.057 units remaining) + - location: 32 (remaining gas: 1039954.050 units remaining) [ "C" @elt True { "B" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039953.977 units remaining) + - location: 33 (remaining gas: 1039953.970 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039953.977 units remaining) + - location: 21 (remaining gas: 1039953.969 units remaining) [ "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039953.932 units remaining) + - location: 23 (remaining gas: 1039953.924 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039953.882 units remaining) + - location: 24 (remaining gas: 1039953.874 units remaining) [ (Pair "asdf" { "B" ; "C" }) (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039953.832 units remaining) + - location: 25 (remaining gas: 1039953.824 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.787 units remaining) + - location: 26 (remaining gas: 1039953.779 units remaining) [ (Pair "asdf" { "B" ; "C" }) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039953.737 units remaining) + - location: 28 (remaining gas: 1039953.729 units remaining) [ { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039953.737 units remaining) + - location: 26 (remaining gas: 1039953.727 units remaining) [ "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039953.692 units remaining) + - location: 29 (remaining gas: 1039953.682 units remaining) [ True "asdf" @elt { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039953.652 units remaining) + - location: 32 (remaining gas: 1039953.642 units remaining) [ "asdf" @elt True { "B" ; "C" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039953.571 units remaining) + - location: 33 (remaining gas: 1039953.561 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039953.571 units remaining) + - location: 21 (remaining gas: 1039953.560 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 34 (remaining gas: 1039953.526 units remaining) + - location: 34 (remaining gas: 1039953.515 units remaining) [ True { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" } ] - - location: 37 (remaining gas: 1039953.486 units remaining) + - location: 37 (remaining gas: 1039953.475 units remaining) [ { "B" ; "C" ; "asdf" } True { "B" ; "B" ; "asdf" ; "C" } ] - - location: 38 (remaining gas: 1039953.441 units remaining) + - location: 38 (remaining gas: 1039953.430 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) { "B" ; "B" ; "asdf" ; "C" } ] - - location: 39 (remaining gas: 1039953.401 units remaining) + - location: 39 (remaining gas: 1039953.390 units remaining) [ { "B" ; "B" ; "asdf" ; "C" } (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039953.401 units remaining) + - location: 40 (remaining gas: 1039953.390 units remaining) [ "B" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039953.356 units remaining) + - location: 42 (remaining gas: 1039953.345 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039953.306 units remaining) + - location: 43 (remaining gas: 1039953.295 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039953.256 units remaining) + - location: 44 (remaining gas: 1039953.245 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039953.206 units remaining) + - location: 45 (remaining gas: 1039953.195 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039953.161 units remaining) + - location: 46 (remaining gas: 1039953.150 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039953.111 units remaining) + - location: 49 (remaining gas: 1039953.100 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039953.061 units remaining) + - location: 50 (remaining gas: 1039953.050 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039953.016 units remaining) + - location: 51 (remaining gas: 1039953.005 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039952.966 units remaining) + - location: 54 (remaining gas: 1039952.955 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039952.916 units remaining) + - location: 55 (remaining gas: 1039952.905 units remaining) [ True ] - - location: 51 (remaining gas: 1039952.916 units remaining) + - location: 51 (remaining gas: 1039952.903 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039952.866 units remaining) + - location: 56 (remaining gas: 1039952.853 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039952.866 units remaining) + - location: 46 (remaining gas: 1039952.851 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039952.786 units remaining) + - location: 57 (remaining gas: 1039952.771 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039952.741 units remaining) + - location: 58 (remaining gas: 1039952.726 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039952.701 units remaining) + - location: 60 (remaining gas: 1039952.686 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039952.701 units remaining) + - location: 58 (remaining gas: 1039952.684 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039952.651 units remaining) + - location: 61 (remaining gas: 1039952.634 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039952.611 units remaining) + - location: 62 (remaining gas: 1039952.594 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039952.566 units remaining) + - location: 63 (remaining gas: 1039952.549 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039952.566 units remaining) + - location: 40 (remaining gas: 1039952.548 units remaining) [ "B" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039952.521 units remaining) + - location: 42 (remaining gas: 1039952.503 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039952.471 units remaining) + - location: 43 (remaining gas: 1039952.453 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039952.421 units remaining) + - location: 44 (remaining gas: 1039952.403 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039952.371 units remaining) + - location: 45 (remaining gas: 1039952.353 units remaining) [ "B" @elt (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039952.326 units remaining) + - location: 46 (remaining gas: 1039952.308 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039952.276 units remaining) + - location: 49 (remaining gas: 1039952.258 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039952.226 units remaining) + - location: 50 (remaining gas: 1039952.208 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039952.181 units remaining) + - location: 51 (remaining gas: 1039952.163 units remaining) [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039952.131 units remaining) + - location: 54 (remaining gas: 1039952.113 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039952.081 units remaining) + - location: 55 (remaining gas: 1039952.063 units remaining) [ True ] - - location: 51 (remaining gas: 1039952.081 units remaining) + - location: 51 (remaining gas: 1039952.061 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039952.031 units remaining) + - location: 56 (remaining gas: 1039952.011 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039952.031 units remaining) + - location: 46 (remaining gas: 1039952.009 units remaining) [ "B" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039951.951 units remaining) + - location: 57 (remaining gas: 1039951.929 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039951.906 units remaining) + - location: 58 (remaining gas: 1039951.884 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039951.866 units remaining) + - location: 60 (remaining gas: 1039951.844 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039951.866 units remaining) + - location: 58 (remaining gas: 1039951.842 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039951.816 units remaining) + - location: 61 (remaining gas: 1039951.792 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039951.776 units remaining) + - location: 62 (remaining gas: 1039951.752 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039951.731 units remaining) + - location: 63 (remaining gas: 1039951.707 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039951.731 units remaining) + - location: 40 (remaining gas: 1039951.706 units remaining) [ "asdf" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039951.686 units remaining) + - location: 42 (remaining gas: 1039951.661 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039951.636 units remaining) + - location: 43 (remaining gas: 1039951.611 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039951.586 units remaining) + - location: 44 (remaining gas: 1039951.561 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039951.536 units remaining) + - location: 45 (remaining gas: 1039951.511 units remaining) [ "asdf" @elt (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039951.491 units remaining) + - location: 46 (remaining gas: 1039951.466 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039951.441 units remaining) + - location: 49 (remaining gas: 1039951.416 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039951.391 units remaining) + - location: 50 (remaining gas: 1039951.366 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039951.346 units remaining) + - location: 51 (remaining gas: 1039951.321 units remaining) [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039951.296 units remaining) + - location: 54 (remaining gas: 1039951.271 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039951.246 units remaining) + - location: 55 (remaining gas: 1039951.221 units remaining) [ True ] - - location: 51 (remaining gas: 1039951.246 units remaining) + - location: 51 (remaining gas: 1039951.219 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039951.196 units remaining) + - location: 56 (remaining gas: 1039951.169 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039951.196 units remaining) + - location: 46 (remaining gas: 1039951.167 units remaining) [ "asdf" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039951.116 units remaining) + - location: 57 (remaining gas: 1039951.087 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039951.071 units remaining) + - location: 58 (remaining gas: 1039951.042 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039951.031 units remaining) + - location: 60 (remaining gas: 1039951.002 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039951.031 units remaining) + - location: 58 (remaining gas: 1039951 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039950.981 units remaining) + - location: 61 (remaining gas: 1039950.950 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039950.941 units remaining) + - location: 62 (remaining gas: 1039950.910 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039950.896 units remaining) + - location: 63 (remaining gas: 1039950.865 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039950.896 units remaining) + - location: 40 (remaining gas: 1039950.864 units remaining) [ "C" @elt (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039950.851 units remaining) + - location: 42 (remaining gas: 1039950.819 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039950.801 units remaining) + - location: 43 (remaining gas: 1039950.769 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039950.751 units remaining) + - location: 44 (remaining gas: 1039950.719 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039950.701 units remaining) + - location: 45 (remaining gas: 1039950.669 units remaining) [ "C" @elt (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 46 (remaining gas: 1039950.656 units remaining) + - location: 46 (remaining gas: 1039950.624 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039950.606 units remaining) + - location: 49 (remaining gas: 1039950.574 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039950.556 units remaining) + - location: 50 (remaining gas: 1039950.524 units remaining) [ { "B" ; "C" ; "asdf" } (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 51 (remaining gas: 1039950.511 units remaining) + - location: 51 (remaining gas: 1039950.479 units remaining) [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039950.461 units remaining) + - location: 54 (remaining gas: 1039950.429 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039950.411 units remaining) + - location: 55 (remaining gas: 1039950.379 units remaining) [ True ] - - location: 51 (remaining gas: 1039950.411 units remaining) + - location: 51 (remaining gas: 1039950.377 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 56 (remaining gas: 1039950.361 units remaining) + - location: 56 (remaining gas: 1039950.327 units remaining) [ { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 46 (remaining gas: 1039950.361 units remaining) + - location: 46 (remaining gas: 1039950.325 units remaining) [ "C" @elt { "B" ; "C" ; "asdf" } { "B" ; "C" ; "asdf" } True ] - - location: 57 (remaining gas: 1039950.281 units remaining) + - location: 57 (remaining gas: 1039950.245 units remaining) [ True { "B" ; "C" ; "asdf" } True ] - - location: 58 (remaining gas: 1039950.236 units remaining) + - location: 58 (remaining gas: 1039950.200 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 60 (remaining gas: 1039950.196 units remaining) + - location: 60 (remaining gas: 1039950.160 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039950.196 units remaining) + - location: 58 (remaining gas: 1039950.158 units remaining) [ True True { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039950.146 units remaining) + - location: 61 (remaining gas: 1039950.108 units remaining) [ True { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039950.106 units remaining) + - location: 62 (remaining gas: 1039950.068 units remaining) [ { "B" ; "C" ; "asdf" } True ] - - location: 63 (remaining gas: 1039950.061 units remaining) + - location: 63 (remaining gas: 1039950.023 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039950.061 units remaining) + - location: 40 (remaining gas: 1039950.022 units remaining) [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039950.011 units remaining) + - location: 64 (remaining gas: 1039949.972 units remaining) [ True ] - - location: 65 (remaining gas: 1039949.966 units remaining) + - location: 65 (remaining gas: 1039949.927 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039949.921 units remaining) + - location: 66 (remaining gas: 1039949.882 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039949.876 units remaining) + - location: 68 (remaining gas: 1039949.837 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 aecb2f4969c3..c8befd54d162 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" @@ -21,146 +21,146 @@ trace [ (Pair { "B" } { "B" }) @parameter ] - location: 17 (remaining gas: 1039956.407 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039956.407 units remaining) + - location: 15 (remaining gas: 1039956.405 units remaining) [ { "B" } { "B" } ] - - location: 18 (remaining gas: 1039956.207 units remaining) + - location: 18 (remaining gas: 1039956.205 units remaining) [ {} { "B" } { "B" } ] - - location: 20 (remaining gas: 1039956.167 units remaining) + - location: 20 (remaining gas: 1039956.165 units remaining) [ { "B" } {} { "B" } ] - - location: 21 (remaining gas: 1039956.167 units remaining) + - location: 21 (remaining gas: 1039956.165 units remaining) [ "B" @elt {} { "B" } ] - - location: 23 (remaining gas: 1039956.122 units remaining) + - location: 23 (remaining gas: 1039956.120 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 24 (remaining gas: 1039956.072 units remaining) + - location: 24 (remaining gas: 1039956.070 units remaining) [ (Pair "B" {}) (Pair "B" {}) { "B" } ] - - location: 25 (remaining gas: 1039956.022 units remaining) + - location: 25 (remaining gas: 1039956.020 units remaining) [ "B" @elt (Pair "B" {}) { "B" } ] - - location: 26 (remaining gas: 1039955.977 units remaining) + - location: 26 (remaining gas: 1039955.975 units remaining) [ (Pair "B" {}) { "B" } ] - - location: 28 (remaining gas: 1039955.927 units remaining) + - location: 28 (remaining gas: 1039955.925 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039955.927 units remaining) + - location: 26 (remaining gas: 1039955.923 units remaining) [ "B" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039955.882 units remaining) + - location: 29 (remaining gas: 1039955.878 units remaining) [ True "B" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039955.842 units remaining) + - location: 32 (remaining gas: 1039955.838 units remaining) [ "B" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039955.762 units remaining) + - location: 33 (remaining gas: 1039955.758 units remaining) [ { "B" } { "B" } ] - - location: 21 (remaining gas: 1039955.762 units remaining) + - location: 21 (remaining gas: 1039955.757 units remaining) [ { "B" } { "B" } ] - - location: 34 (remaining gas: 1039955.717 units remaining) + - location: 34 (remaining gas: 1039955.712 units remaining) [ True { "B" } { "B" } ] - - location: 37 (remaining gas: 1039955.677 units remaining) + - location: 37 (remaining gas: 1039955.672 units remaining) [ { "B" } True { "B" } ] - - location: 38 (remaining gas: 1039955.632 units remaining) + - location: 38 (remaining gas: 1039955.627 units remaining) [ (Pair { "B" } True) { "B" } ] - - location: 39 (remaining gas: 1039955.592 units remaining) + - location: 39 (remaining gas: 1039955.587 units remaining) [ { "B" } (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039955.592 units remaining) + - location: 40 (remaining gas: 1039955.587 units remaining) [ "B" @elt (Pair { "B" } True) ] - - location: 42 (remaining gas: 1039955.547 units remaining) + - location: 42 (remaining gas: 1039955.542 units remaining) [ (Pair "B" { "B" } True) ] - - location: 43 (remaining gas: 1039955.497 units remaining) + - location: 43 (remaining gas: 1039955.492 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 44 (remaining gas: 1039955.447 units remaining) + - location: 44 (remaining gas: 1039955.442 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 45 (remaining gas: 1039955.397 units remaining) + - location: 45 (remaining gas: 1039955.392 units remaining) [ "B" @elt (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 46 (remaining gas: 1039955.352 units remaining) + - location: 46 (remaining gas: 1039955.347 units remaining) [ (Pair "B" { "B" } True) (Pair "B" { "B" } True) ] - - location: 49 (remaining gas: 1039955.302 units remaining) + - location: 49 (remaining gas: 1039955.297 units remaining) [ (Pair { "B" } True) (Pair "B" { "B" } True) ] - - location: 50 (remaining gas: 1039955.252 units remaining) + - location: 50 (remaining gas: 1039955.247 units remaining) [ { "B" } (Pair "B" { "B" } True) ] - - location: 51 (remaining gas: 1039955.207 units remaining) + - location: 51 (remaining gas: 1039955.202 units remaining) [ (Pair "B" { "B" } True) ] - - location: 54 (remaining gas: 1039955.157 units remaining) + - location: 54 (remaining gas: 1039955.152 units remaining) [ (Pair { "B" } True) ] - - location: 55 (remaining gas: 1039955.107 units remaining) + - location: 55 (remaining gas: 1039955.102 units remaining) [ True ] - - location: 51 (remaining gas: 1039955.107 units remaining) + - location: 51 (remaining gas: 1039955.100 units remaining) [ { "B" } True ] - - location: 56 (remaining gas: 1039955.057 units remaining) + - location: 56 (remaining gas: 1039955.050 units remaining) [ { "B" } { "B" } True ] - - location: 46 (remaining gas: 1039955.057 units remaining) + - location: 46 (remaining gas: 1039955.048 units remaining) [ "B" @elt { "B" } { "B" } True ] - - location: 57 (remaining gas: 1039954.977 units remaining) + - location: 57 (remaining gas: 1039954.968 units remaining) [ True { "B" } True ] - - location: 58 (remaining gas: 1039954.932 units remaining) + - location: 58 (remaining gas: 1039954.923 units remaining) [ { "B" } True ] - - location: 60 (remaining gas: 1039954.892 units remaining) + - location: 60 (remaining gas: 1039954.883 units remaining) [ True { "B" } ] - - location: 58 (remaining gas: 1039954.892 units remaining) + - location: 58 (remaining gas: 1039954.881 units remaining) [ True True { "B" } ] - - location: 61 (remaining gas: 1039954.842 units remaining) + - location: 61 (remaining gas: 1039954.831 units remaining) [ True { "B" } ] - - location: 62 (remaining gas: 1039954.802 units remaining) + - location: 62 (remaining gas: 1039954.791 units remaining) [ { "B" } True ] - - location: 63 (remaining gas: 1039954.757 units remaining) + - location: 63 (remaining gas: 1039954.746 units remaining) [ (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039954.757 units remaining) + - location: 40 (remaining gas: 1039954.745 units remaining) [ (Pair { "B" } True) ] - - location: 64 (remaining gas: 1039954.707 units remaining) + - location: 64 (remaining gas: 1039954.695 units remaining) [ True ] - - location: 65 (remaining gas: 1039954.662 units remaining) + - location: 65 (remaining gas: 1039954.650 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039954.617 units remaining) + - location: 66 (remaining gas: 1039954.605 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039954.572 units remaining) + - location: 68 (remaining gas: 1039954.560 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 cf271c85ddca..cdae0897d5c4 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" @@ -21,146 +21,146 @@ trace [ (Pair { "c" } { "B" }) @parameter ] - location: 17 (remaining gas: 1039956.407 units remaining) [ { "B" } ] - - location: 15 (remaining gas: 1039956.407 units remaining) + - location: 15 (remaining gas: 1039956.405 units remaining) [ { "c" } { "B" } ] - - location: 18 (remaining gas: 1039956.207 units remaining) + - location: 18 (remaining gas: 1039956.205 units remaining) [ {} { "c" } { "B" } ] - - location: 20 (remaining gas: 1039956.167 units remaining) + - location: 20 (remaining gas: 1039956.165 units remaining) [ { "c" } {} { "B" } ] - - location: 21 (remaining gas: 1039956.167 units remaining) + - location: 21 (remaining gas: 1039956.165 units remaining) [ "c" @elt {} { "B" } ] - - location: 23 (remaining gas: 1039956.122 units remaining) + - location: 23 (remaining gas: 1039956.120 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 24 (remaining gas: 1039956.072 units remaining) + - location: 24 (remaining gas: 1039956.070 units remaining) [ (Pair "c" {}) (Pair "c" {}) { "B" } ] - - location: 25 (remaining gas: 1039956.022 units remaining) + - location: 25 (remaining gas: 1039956.020 units remaining) [ "c" @elt (Pair "c" {}) { "B" } ] - - location: 26 (remaining gas: 1039955.977 units remaining) + - location: 26 (remaining gas: 1039955.975 units remaining) [ (Pair "c" {}) { "B" } ] - - location: 28 (remaining gas: 1039955.927 units remaining) + - location: 28 (remaining gas: 1039955.925 units remaining) [ {} { "B" } ] - - location: 26 (remaining gas: 1039955.927 units remaining) + - location: 26 (remaining gas: 1039955.923 units remaining) [ "c" @elt {} { "B" } ] - - location: 29 (remaining gas: 1039955.882 units remaining) + - location: 29 (remaining gas: 1039955.878 units remaining) [ True "c" @elt {} { "B" } ] - - location: 32 (remaining gas: 1039955.842 units remaining) + - location: 32 (remaining gas: 1039955.838 units remaining) [ "c" @elt True {} { "B" } ] - - location: 33 (remaining gas: 1039955.762 units remaining) + - location: 33 (remaining gas: 1039955.758 units remaining) [ { "c" } { "B" } ] - - location: 21 (remaining gas: 1039955.762 units remaining) + - location: 21 (remaining gas: 1039955.757 units remaining) [ { "c" } { "B" } ] - - location: 34 (remaining gas: 1039955.717 units remaining) + - location: 34 (remaining gas: 1039955.712 units remaining) [ True { "c" } { "B" } ] - - location: 37 (remaining gas: 1039955.677 units remaining) + - location: 37 (remaining gas: 1039955.672 units remaining) [ { "c" } True { "B" } ] - - location: 38 (remaining gas: 1039955.632 units remaining) + - location: 38 (remaining gas: 1039955.627 units remaining) [ (Pair { "c" } True) { "B" } ] - - location: 39 (remaining gas: 1039955.592 units remaining) + - location: 39 (remaining gas: 1039955.587 units remaining) [ { "B" } (Pair { "c" } True) ] - - location: 40 (remaining gas: 1039955.592 units remaining) + - location: 40 (remaining gas: 1039955.587 units remaining) [ "B" @elt (Pair { "c" } True) ] - - location: 42 (remaining gas: 1039955.547 units remaining) + - location: 42 (remaining gas: 1039955.542 units remaining) [ (Pair "B" { "c" } True) ] - - location: 43 (remaining gas: 1039955.497 units remaining) + - location: 43 (remaining gas: 1039955.492 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 44 (remaining gas: 1039955.447 units remaining) + - location: 44 (remaining gas: 1039955.442 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 45 (remaining gas: 1039955.397 units remaining) + - location: 45 (remaining gas: 1039955.392 units remaining) [ "B" @elt (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 46 (remaining gas: 1039955.352 units remaining) + - location: 46 (remaining gas: 1039955.347 units remaining) [ (Pair "B" { "c" } True) (Pair "B" { "c" } True) ] - - location: 49 (remaining gas: 1039955.302 units remaining) + - location: 49 (remaining gas: 1039955.297 units remaining) [ (Pair { "c" } True) (Pair "B" { "c" } True) ] - - location: 50 (remaining gas: 1039955.252 units remaining) + - location: 50 (remaining gas: 1039955.247 units remaining) [ { "c" } (Pair "B" { "c" } True) ] - - location: 51 (remaining gas: 1039955.207 units remaining) + - location: 51 (remaining gas: 1039955.202 units remaining) [ (Pair "B" { "c" } True) ] - - location: 54 (remaining gas: 1039955.157 units remaining) + - location: 54 (remaining gas: 1039955.152 units remaining) [ (Pair { "c" } True) ] - - location: 55 (remaining gas: 1039955.107 units remaining) + - location: 55 (remaining gas: 1039955.102 units remaining) [ True ] - - location: 51 (remaining gas: 1039955.107 units remaining) + - location: 51 (remaining gas: 1039955.100 units remaining) [ { "c" } True ] - - location: 56 (remaining gas: 1039955.057 units remaining) + - location: 56 (remaining gas: 1039955.050 units remaining) [ { "c" } { "c" } True ] - - location: 46 (remaining gas: 1039955.057 units remaining) + - location: 46 (remaining gas: 1039955.048 units remaining) [ "B" @elt { "c" } { "c" } True ] - - location: 57 (remaining gas: 1039954.977 units remaining) + - location: 57 (remaining gas: 1039954.968 units remaining) [ False { "c" } True ] - - location: 58 (remaining gas: 1039954.932 units remaining) + - location: 58 (remaining gas: 1039954.923 units remaining) [ { "c" } True ] - - location: 60 (remaining gas: 1039954.892 units remaining) + - location: 60 (remaining gas: 1039954.883 units remaining) [ True { "c" } ] - - location: 58 (remaining gas: 1039954.892 units remaining) + - location: 58 (remaining gas: 1039954.881 units remaining) [ False True { "c" } ] - - location: 61 (remaining gas: 1039954.842 units remaining) + - location: 61 (remaining gas: 1039954.831 units remaining) [ False { "c" } ] - - location: 62 (remaining gas: 1039954.802 units remaining) + - location: 62 (remaining gas: 1039954.791 units remaining) [ { "c" } False ] - - location: 63 (remaining gas: 1039954.757 units remaining) + - location: 63 (remaining gas: 1039954.746 units remaining) [ (Pair { "c" } False) ] - - location: 40 (remaining gas: 1039954.757 units remaining) + - location: 40 (remaining gas: 1039954.745 units remaining) [ (Pair { "c" } False) ] - - location: 64 (remaining gas: 1039954.707 units remaining) + - location: 64 (remaining gas: 1039954.695 units remaining) [ False ] - - location: 65 (remaining gas: 1039954.662 units remaining) + - location: 65 (remaining gas: 1039954.650 units remaining) [ (Some False) ] - - location: 66 (remaining gas: 1039954.617 units remaining) + - location: 66 (remaining gas: 1039954.605 units remaining) [ {} (Some False) ] - - location: 68 (remaining gas: 1039954.572 units remaining) + - location: 68 (remaining gas: 1039954.560 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 1d55493fcaba..93e4aef3f5d2 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 @@ -21,43 +21,43 @@ trace [ (Pair {} {}) @parameter ] - location: 17 (remaining gas: 1039956.935 units remaining) [ {} ] - - location: 15 (remaining gas: 1039956.935 units remaining) + - location: 15 (remaining gas: 1039956.933 units remaining) [ {} {} ] - - location: 18 (remaining gas: 1039956.735 units remaining) + - location: 18 (remaining gas: 1039956.733 units remaining) [ {} {} {} ] - - location: 20 (remaining gas: 1039956.695 units remaining) + - location: 20 (remaining gas: 1039956.693 units remaining) [ {} {} {} ] - - location: 21 (remaining gas: 1039956.695 units remaining) + - location: 21 (remaining gas: 1039956.693 units remaining) [ {} {} ] - - location: 34 (remaining gas: 1039956.650 units remaining) + - location: 34 (remaining gas: 1039956.648 units remaining) [ True {} {} ] - - location: 37 (remaining gas: 1039956.610 units remaining) + - location: 37 (remaining gas: 1039956.608 units remaining) [ {} True {} ] - - location: 38 (remaining gas: 1039956.565 units remaining) + - location: 38 (remaining gas: 1039956.563 units remaining) [ (Pair {} True) {} ] - - location: 39 (remaining gas: 1039956.525 units remaining) + - location: 39 (remaining gas: 1039956.523 units remaining) [ {} (Pair {} True) ] - - location: 40 (remaining gas: 1039956.525 units remaining) + - location: 40 (remaining gas: 1039956.523 units remaining) [ (Pair {} True) ] - - location: 64 (remaining gas: 1039956.475 units remaining) + - location: 64 (remaining gas: 1039956.473 units remaining) [ True ] - - location: 65 (remaining gas: 1039956.430 units remaining) + - location: 65 (remaining gas: 1039956.428 units remaining) [ (Some True) ] - - location: 66 (remaining gas: 1039956.385 units remaining) + - location: 66 (remaining gas: 1039956.383 units remaining) [ {} (Some True) ] - - location: 68 (remaining gas: 1039956.340 units remaining) + - location: 68 (remaining gas: 1039956.338 units remaining) [ (Pair {} (Some True)) ] 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 44f55a7783cf..af234ee1a73d 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" @@ -36,14 +36,14 @@ emitted operations - location: 28 (remaining gas: 1039983.555 units remaining) [ {} (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 25 (remaining gas: 1039983.555 units remaining) + - location: 25 (remaining gas: 1039983.553 units remaining) [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b {} (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 30 (remaining gas: 1039983.505 units remaining) + - location: 30 (remaining gas: 1039983.503 units remaining) [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 31 (remaining gas: 1039983.460 units remaining) + - location: 31 (remaining gas: 1039983.458 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 0fcca60e8ff0..33d5e40b5d10 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" @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] - location: 14 (remaining gas: 1039989.695 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.695 units remaining) + - location: 12 (remaining gas: 1039989.693 units remaining) [ "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.615 units remaining) + - location: 15 (remaining gas: 1039989.613 units remaining) [ 200 ] - - location: 16 (remaining gas: 1039989.570 units remaining) + - location: 16 (remaining gas: 1039989.568 units remaining) [ {} 200 ] - - location: 18 (remaining gas: 1039989.525 units remaining) + - location: 18 (remaining gas: 1039989.523 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 df37044d4772..bcc64566fa2a 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 @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] - location: 14 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.955 units remaining) + - location: 12 (remaining gas: 1039989.953 units remaining) [ "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.875 units remaining) + - location: 15 (remaining gas: 1039989.873 units remaining) [ 0 ] - - location: 16 (remaining gas: 1039989.830 units remaining) + - location: 16 (remaining gas: 1039989.828 units remaining) [ {} 0 ] - - location: 18 (remaining gas: 1039989.785 units remaining) + - location: 18 (remaining gas: 1039989.783 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 b83858993a5b..d775242477c5 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 @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] - location: 14 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:01Z" ] - - location: 12 (remaining gas: 1039989.955 units remaining) + - location: 12 (remaining gas: 1039989.953 units remaining) [ "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z" ] - - location: 15 (remaining gas: 1039989.875 units remaining) + - location: 15 (remaining gas: 1039989.873 units remaining) [ -1 ] - - location: 16 (remaining gas: 1039989.830 units remaining) + - location: 16 (remaining gas: 1039989.828 units remaining) [ {} -1 ] - - location: 18 (remaining gas: 1039989.785 units remaining) + - location: 18 (remaining gas: 1039989.783 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 867ffe6940f0..f01ecb52ee0e 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 @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] - location: 14 (remaining gas: 1039989.955 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.955 units remaining) + - location: 12 (remaining gas: 1039989.953 units remaining) [ "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.875 units remaining) + - location: 15 (remaining gas: 1039989.873 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039989.830 units remaining) + - location: 16 (remaining gas: 1039989.828 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039989.785 units remaining) + - location: 18 (remaining gas: 1039989.783 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 5ab387a948fb..8bced60a3619 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 @@ -25,93 +25,93 @@ trace [ 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) @parameter ] - - location: 28 (remaining gas: 1039860.955 units remaining) + - location: 28 (remaining gas: 1039860.953 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) @parameter ] - - location: 31 (remaining gas: 1039860.847 units remaining) + - location: 31 (remaining gas: 1039860.845 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) @parameter ] - - location: 34 (remaining gas: 1039860.797 units remaining) + - location: 34 (remaining gas: 1039860.795 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) @parameter ] - - location: 31 (remaining gas: 1039860.752 units remaining) + - location: 31 (remaining gas: 1039860.749 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) @parameter ] - - location: 31 (remaining gas: 1039860.707 units remaining) + - location: 31 (remaining gas: 1039860.704 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) @parameter ] - - location: 31 (remaining gas: 1039860.707 units remaining) + - location: 31 (remaining gas: 1039860.704 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) @parameter ] - - location: 35 (remaining gas: 1039860.595 units remaining) + - location: 35 (remaining gas: 1039860.592 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) @parameter ] - - location: 38 (remaining gas: 1039860.545 units remaining) + - location: 38 (remaining gas: 1039860.542 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) @parameter ] - - location: 35 (remaining gas: 1039860.500 units remaining) + - location: 35 (remaining gas: 1039860.496 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) @parameter ] - - location: 35 (remaining gas: 1039860.455 units remaining) + - location: 35 (remaining gas: 1039860.451 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) @parameter ] - - location: 35 (remaining gas: 1039860.410 units remaining) + - location: 35 (remaining gas: 1039860.406 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) @parameter ] - - location: 35 (remaining gas: 1039860.410 units remaining) + - location: 35 (remaining gas: 1039860.406 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) @parameter ] - - location: 39 (remaining gas: 1039860.294 units remaining) + - location: 39 (remaining gas: 1039860.290 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) @parameter ] - - location: 42 (remaining gas: 1039860.244 units remaining) + - location: 42 (remaining gas: 1039860.240 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) @parameter ] - - location: 39 (remaining gas: 1039860.199 units remaining) + - location: 39 (remaining gas: 1039860.194 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) @parameter ] - - location: 39 (remaining gas: 1039860.154 units remaining) + - location: 39 (remaining gas: 1039860.149 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) @parameter ] - - location: 39 (remaining gas: 1039860.109 units remaining) + - location: 39 (remaining gas: 1039860.104 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) @parameter ] - - location: 39 (remaining gas: 1039860.064 units remaining) + - location: 39 (remaining gas: 1039860.059 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) @parameter ] - - location: 39 (remaining gas: 1039860.064 units remaining) + - location: 39 (remaining gas: 1039860.059 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) @parameter ] - - location: 43 (remaining gas: 1039859.944 units remaining) + - location: 43 (remaining gas: 1039859.939 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) @parameter ] - - location: 46 (remaining gas: 1039859.894 units remaining) + - location: 46 (remaining gas: 1039859.889 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) @parameter ] - - location: 43 (remaining gas: 1039859.849 units remaining) + - location: 43 (remaining gas: 1039859.843 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) @parameter ] - - location: 43 (remaining gas: 1039859.804 units remaining) + - location: 43 (remaining gas: 1039859.798 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) @parameter ] - - location: 43 (remaining gas: 1039859.759 units remaining) + - location: 43 (remaining gas: 1039859.753 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) @parameter ] - - location: 43 (remaining gas: 1039859.714 units remaining) + - location: 43 (remaining gas: 1039859.708 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) @parameter ] - - location: 43 (remaining gas: 1039859.669 units remaining) + - location: 43 (remaining gas: 1039859.663 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) @parameter ] - - location: 43 (remaining gas: 1039859.669 units remaining) + - location: 43 (remaining gas: 1039859.663 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) @parameter ] - - location: 47 (remaining gas: 1039859.545 units remaining) + - location: 47 (remaining gas: 1039859.539 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) @parameter ] - - location: 50 (remaining gas: 1039859.495 units remaining) + - location: 50 (remaining gas: 1039859.489 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) @parameter ] - - location: 47 (remaining gas: 1039859.450 units remaining) + - location: 47 (remaining gas: 1039859.443 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) @parameter ] - - location: 47 (remaining gas: 1039859.405 units remaining) + - location: 47 (remaining gas: 1039859.398 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) @parameter ] - - location: 47 (remaining gas: 1039859.360 units remaining) + - location: 47 (remaining gas: 1039859.353 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) @parameter ] - - location: 47 (remaining gas: 1039859.315 units remaining) + - location: 47 (remaining gas: 1039859.308 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) @parameter ] - - location: 47 (remaining gas: 1039859.270 units remaining) + - location: 47 (remaining gas: 1039859.263 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) @parameter ] - - location: 47 (remaining gas: 1039859.225 units remaining) + - location: 47 (remaining gas: 1039859.218 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) @parameter ] - - location: 47 (remaining gas: 1039859.225 units remaining) + - location: 47 (remaining gas: 1039859.218 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) @parameter ] - - location: 51 (remaining gas: 1039859.097 units remaining) + - location: 51 (remaining gas: 1039859.090 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) @parameter ] - - location: 54 (remaining gas: 1039859.047 units remaining) + - location: 54 (remaining gas: 1039859.040 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) @parameter ] - - location: 51 (remaining gas: 1039859.002 units remaining) + - location: 51 (remaining gas: 1039858.994 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) @parameter ] - - location: 51 (remaining gas: 1039858.957 units remaining) + - location: 51 (remaining gas: 1039858.949 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) @parameter ] - - location: 51 (remaining gas: 1039858.912 units remaining) + - location: 51 (remaining gas: 1039858.904 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) @parameter ] - - location: 51 (remaining gas: 1039858.867 units remaining) + - location: 51 (remaining gas: 1039858.859 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) @parameter ] - - location: 51 (remaining gas: 1039858.822 units remaining) + - location: 51 (remaining gas: 1039858.814 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) @parameter ] - - location: 51 (remaining gas: 1039858.777 units remaining) + - location: 51 (remaining gas: 1039858.769 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) @parameter ] - - location: 51 (remaining gas: 1039858.732 units remaining) + - location: 51 (remaining gas: 1039858.724 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) @parameter ] - - location: 51 (remaining gas: 1039858.732 units remaining) + - location: 51 (remaining gas: 1039858.724 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) @parameter ] - - location: 55 (remaining gas: 1039858.600 units remaining) + - location: 55 (remaining gas: 1039858.592 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) @parameter ] - - location: 58 (remaining gas: 1039858.550 units remaining) + - location: 58 (remaining gas: 1039858.542 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) @parameter ] - - location: 55 (remaining gas: 1039858.505 units remaining) + - location: 55 (remaining gas: 1039858.496 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) @parameter ] - - location: 55 (remaining gas: 1039858.460 units remaining) + - location: 55 (remaining gas: 1039858.451 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) @parameter ] - - location: 55 (remaining gas: 1039858.415 units remaining) + - location: 55 (remaining gas: 1039858.406 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) @parameter ] - - location: 55 (remaining gas: 1039858.370 units remaining) + - location: 55 (remaining gas: 1039858.361 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) @parameter ] - - location: 55 (remaining gas: 1039858.325 units remaining) + - location: 55 (remaining gas: 1039858.316 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) @parameter ] - - location: 55 (remaining gas: 1039858.280 units remaining) + - location: 55 (remaining gas: 1039858.271 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) @parameter ] - - location: 55 (remaining gas: 1039858.235 units remaining) + - location: 55 (remaining gas: 1039858.226 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) @parameter ] - - location: 55 (remaining gas: 1039858.190 units remaining) + - location: 55 (remaining gas: 1039858.181 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) @parameter ] - - location: 55 (remaining gas: 1039858.190 units remaining) + - location: 55 (remaining gas: 1039858.181 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) @parameter ] - - location: 59 (remaining gas: 1039858.054 units remaining) + - location: 59 (remaining gas: 1039858.045 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) @parameter ] - - location: 62 (remaining gas: 1039858.004 units remaining) + - location: 62 (remaining gas: 1039857.995 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) @parameter ] - - location: 59 (remaining gas: 1039857.959 units remaining) + - location: 59 (remaining gas: 1039857.949 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) @parameter ] - - location: 59 (remaining gas: 1039857.914 units remaining) + - location: 59 (remaining gas: 1039857.904 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) @parameter ] - - location: 59 (remaining gas: 1039857.869 units remaining) + - location: 59 (remaining gas: 1039857.859 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) @parameter ] - - location: 59 (remaining gas: 1039857.824 units remaining) + - location: 59 (remaining gas: 1039857.814 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) @parameter ] - - location: 59 (remaining gas: 1039857.779 units remaining) + - location: 59 (remaining gas: 1039857.769 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) @parameter ] - - location: 59 (remaining gas: 1039857.734 units remaining) + - location: 59 (remaining gas: 1039857.724 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) @parameter ] - - location: 59 (remaining gas: 1039857.689 units remaining) + - location: 59 (remaining gas: 1039857.679 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) @parameter ] - - location: 59 (remaining gas: 1039857.644 units remaining) + - location: 59 (remaining gas: 1039857.634 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) @parameter ] - - location: 59 (remaining gas: 1039857.599 units remaining) + - location: 59 (remaining gas: 1039857.589 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) @parameter ] - - location: 59 (remaining gas: 1039857.599 units remaining) + - location: 59 (remaining gas: 1039857.589 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) @parameter ] - - location: 63 (remaining gas: 1039857.459 units remaining) + - location: 63 (remaining gas: 1039857.449 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) @parameter ] - - location: 66 (remaining gas: 1039857.409 units remaining) + - location: 66 (remaining gas: 1039857.399 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) @parameter ] - - location: 63 (remaining gas: 1039857.364 units remaining) + - location: 63 (remaining gas: 1039857.353 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) @parameter ] - - location: 63 (remaining gas: 1039857.319 units remaining) + - location: 63 (remaining gas: 1039857.308 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) @parameter ] - - location: 63 (remaining gas: 1039857.274 units remaining) + - location: 63 (remaining gas: 1039857.263 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) @parameter ] - - location: 63 (remaining gas: 1039857.229 units remaining) + - location: 63 (remaining gas: 1039857.218 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) @parameter ] - - location: 63 (remaining gas: 1039857.184 units remaining) + - location: 63 (remaining gas: 1039857.173 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) @parameter ] - - location: 63 (remaining gas: 1039857.139 units remaining) + - location: 63 (remaining gas: 1039857.128 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) @parameter ] - - location: 63 (remaining gas: 1039857.094 units remaining) + - location: 63 (remaining gas: 1039857.083 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) @parameter ] - - location: 63 (remaining gas: 1039857.049 units remaining) + - location: 63 (remaining gas: 1039857.038 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) @parameter ] - - location: 63 (remaining gas: 1039857.004 units remaining) + - location: 63 (remaining gas: 1039856.993 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) @parameter ] - - location: 63 (remaining gas: 1039856.959 units remaining) + - location: 63 (remaining gas: 1039856.948 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) @parameter ] - - location: 63 (remaining gas: 1039856.959 units remaining) + - location: 63 (remaining gas: 1039856.948 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) @parameter ] - - location: 67 (remaining gas: 1039856.815 units remaining) + - location: 67 (remaining gas: 1039856.804 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) @parameter ] - - location: 70 (remaining gas: 1039856.765 units remaining) + - location: 70 (remaining gas: 1039856.754 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) @parameter ] - - location: 67 (remaining gas: 1039856.720 units remaining) + - location: 67 (remaining gas: 1039856.708 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) @parameter ] - - location: 67 (remaining gas: 1039856.675 units remaining) + - location: 67 (remaining gas: 1039856.663 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) @parameter ] - - location: 67 (remaining gas: 1039856.630 units remaining) + - location: 67 (remaining gas: 1039856.618 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) @parameter ] - - location: 67 (remaining gas: 1039856.585 units remaining) + - location: 67 (remaining gas: 1039856.573 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) @parameter ] - - location: 67 (remaining gas: 1039856.540 units remaining) + - location: 67 (remaining gas: 1039856.528 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) @parameter ] - - location: 67 (remaining gas: 1039856.495 units remaining) + - location: 67 (remaining gas: 1039856.483 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) @parameter ] - - location: 67 (remaining gas: 1039856.450 units remaining) + - location: 67 (remaining gas: 1039856.438 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) @parameter ] - - location: 67 (remaining gas: 1039856.405 units remaining) + - location: 67 (remaining gas: 1039856.393 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) @parameter ] - - location: 67 (remaining gas: 1039856.360 units remaining) + - location: 67 (remaining gas: 1039856.348 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) @parameter ] - - location: 67 (remaining gas: 1039856.315 units remaining) + - location: 67 (remaining gas: 1039856.303 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) @parameter ] - - location: 67 (remaining gas: 1039856.270 units remaining) + - location: 67 (remaining gas: 1039856.258 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) @parameter ] - - location: 67 (remaining gas: 1039856.270 units remaining) + - location: 67 (remaining gas: 1039856.258 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) @parameter ] - - location: 71 (remaining gas: 1039856.122 units remaining) + - location: 71 (remaining gas: 1039856.110 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) @parameter ] - - location: 74 (remaining gas: 1039856.072 units remaining) + - location: 74 (remaining gas: 1039856.060 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) @parameter ] - - location: 71 (remaining gas: 1039856.027 units remaining) + - location: 71 (remaining gas: 1039856.014 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) @parameter ] - - location: 71 (remaining gas: 1039855.982 units remaining) + - location: 71 (remaining gas: 1039855.969 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) @parameter ] - - location: 71 (remaining gas: 1039855.937 units remaining) + - location: 71 (remaining gas: 1039855.924 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) @parameter ] - - location: 71 (remaining gas: 1039855.892 units remaining) + - location: 71 (remaining gas: 1039855.879 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) @parameter ] - - location: 71 (remaining gas: 1039855.847 units remaining) + - location: 71 (remaining gas: 1039855.834 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) @parameter ] - - location: 71 (remaining gas: 1039855.802 units remaining) + - location: 71 (remaining gas: 1039855.789 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) @parameter ] - - location: 71 (remaining gas: 1039855.757 units remaining) + - location: 71 (remaining gas: 1039855.744 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) @parameter ] - - location: 71 (remaining gas: 1039855.712 units remaining) + - location: 71 (remaining gas: 1039855.699 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) @parameter ] - - location: 71 (remaining gas: 1039855.667 units remaining) + - location: 71 (remaining gas: 1039855.654 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) @parameter ] - - location: 71 (remaining gas: 1039855.622 units remaining) + - location: 71 (remaining gas: 1039855.609 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) @parameter ] - - location: 71 (remaining gas: 1039855.577 units remaining) + - location: 71 (remaining gas: 1039855.564 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) @parameter ] - - location: 71 (remaining gas: 1039855.532 units remaining) + - location: 71 (remaining gas: 1039855.519 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) @parameter ] - - location: 71 (remaining gas: 1039855.532 units remaining) + - location: 71 (remaining gas: 1039855.519 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) @parameter ] - - location: 75 (remaining gas: 1039855.380 units remaining) + - location: 75 (remaining gas: 1039855.367 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) @parameter ] - - location: 78 (remaining gas: 1039855.330 units remaining) + - location: 78 (remaining gas: 1039855.317 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) @parameter ] - - location: 75 (remaining gas: 1039855.285 units remaining) + - location: 75 (remaining gas: 1039855.271 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) @parameter ] - - location: 75 (remaining gas: 1039855.240 units remaining) + - location: 75 (remaining gas: 1039855.226 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) @parameter ] - - location: 75 (remaining gas: 1039855.195 units remaining) + - location: 75 (remaining gas: 1039855.181 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) @parameter ] - - location: 75 (remaining gas: 1039855.150 units remaining) + - location: 75 (remaining gas: 1039855.136 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) @parameter ] - - location: 75 (remaining gas: 1039855.105 units remaining) + - location: 75 (remaining gas: 1039855.091 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) @parameter ] - - location: 75 (remaining gas: 1039855.060 units remaining) + - location: 75 (remaining gas: 1039855.046 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) @parameter ] - - location: 75 (remaining gas: 1039855.015 units remaining) + - location: 75 (remaining gas: 1039855.001 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) @parameter ] - - location: 75 (remaining gas: 1039854.970 units remaining) + - location: 75 (remaining gas: 1039854.956 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) @parameter ] - - location: 75 (remaining gas: 1039854.925 units remaining) + - location: 75 (remaining gas: 1039854.911 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) @parameter ] - - location: 75 (remaining gas: 1039854.880 units remaining) + - location: 75 (remaining gas: 1039854.866 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) @parameter ] - - location: 75 (remaining gas: 1039854.835 units remaining) + - location: 75 (remaining gas: 1039854.821 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) @parameter ] - - location: 75 (remaining gas: 1039854.790 units remaining) + - location: 75 (remaining gas: 1039854.776 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) @parameter ] - - location: 75 (remaining gas: 1039854.745 units remaining) + - location: 75 (remaining gas: 1039854.731 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) @parameter ] - - location: 75 (remaining gas: 1039854.745 units remaining) + - location: 75 (remaining gas: 1039854.731 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) @parameter ] - - location: 79 (remaining gas: 1039854.589 units remaining) + - location: 79 (remaining gas: 1039854.575 units remaining) [ (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 82 (remaining gas: 1039854.539 units remaining) + - location: 82 (remaining gas: 1039854.525 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 79 (remaining gas: 1039854.494 units remaining) + - location: 79 (remaining gas: 1039854.479 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) @parameter ] - - location: 79 (remaining gas: 1039854.449 units remaining) + - location: 79 (remaining gas: 1039854.434 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) @parameter ] - - location: 79 (remaining gas: 1039854.404 units remaining) + - location: 79 (remaining gas: 1039854.389 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) @parameter ] - - location: 79 (remaining gas: 1039854.359 units remaining) + - location: 79 (remaining gas: 1039854.344 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) @parameter ] - - location: 79 (remaining gas: 1039854.314 units remaining) + - location: 79 (remaining gas: 1039854.299 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) @parameter ] - - location: 79 (remaining gas: 1039854.269 units remaining) + - location: 79 (remaining gas: 1039854.254 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) @parameter ] - - location: 79 (remaining gas: 1039854.224 units remaining) + - location: 79 (remaining gas: 1039854.209 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) @parameter ] - - location: 79 (remaining gas: 1039854.179 units remaining) + - location: 79 (remaining gas: 1039854.164 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) @parameter ] - - location: 79 (remaining gas: 1039854.134 units remaining) + - location: 79 (remaining gas: 1039854.119 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) @parameter ] - - location: 79 (remaining gas: 1039854.089 units remaining) + - location: 79 (remaining gas: 1039854.074 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) @parameter ] - - location: 79 (remaining gas: 1039854.044 units remaining) + - location: 79 (remaining gas: 1039854.029 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) @parameter ] - - location: 79 (remaining gas: 1039853.999 units remaining) + - location: 79 (remaining gas: 1039853.984 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) @parameter ] - - location: 79 (remaining gas: 1039853.954 units remaining) + - location: 79 (remaining gas: 1039853.939 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) @parameter ] - - location: 79 (remaining gas: 1039853.909 units remaining) + - location: 79 (remaining gas: 1039853.894 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) @parameter ] - - location: 79 (remaining gas: 1039853.909 units remaining) + - location: 79 (remaining gas: 1039853.894 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) @parameter ] - - location: 83 (remaining gas: 1039853.749 units remaining) + - location: 83 (remaining gas: 1039853.734 units remaining) [ (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 86 (remaining gas: 1039853.699 units remaining) + - location: 86 (remaining gas: 1039853.684 units remaining) [ 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 83 (remaining gas: 1039853.654 units remaining) + - location: 83 (remaining gas: 1039853.638 units remaining) [ 3 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 83 (remaining gas: 1039853.609 units remaining) + - location: 83 (remaining gas: 1039853.593 units remaining) [ 4 3 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 83 (remaining gas: 1039853.564 units remaining) + - location: 83 (remaining gas: 1039853.548 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) @parameter ] - - location: 83 (remaining gas: 1039853.519 units remaining) + - location: 83 (remaining gas: 1039853.503 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) @parameter ] - - location: 83 (remaining gas: 1039853.474 units remaining) + - location: 83 (remaining gas: 1039853.458 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) @parameter ] - - location: 83 (remaining gas: 1039853.429 units remaining) + - location: 83 (remaining gas: 1039853.413 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) @parameter ] - - location: 83 (remaining gas: 1039853.384 units remaining) + - location: 83 (remaining gas: 1039853.368 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) @parameter ] - - location: 83 (remaining gas: 1039853.339 units remaining) + - location: 83 (remaining gas: 1039853.323 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) @parameter ] - - location: 83 (remaining gas: 1039853.294 units remaining) + - location: 83 (remaining gas: 1039853.278 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) @parameter ] - - location: 83 (remaining gas: 1039853.249 units remaining) + - location: 83 (remaining gas: 1039853.233 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) @parameter ] - - location: 83 (remaining gas: 1039853.204 units remaining) + - location: 83 (remaining gas: 1039853.188 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) @parameter ] - - location: 83 (remaining gas: 1039853.159 units remaining) + - location: 83 (remaining gas: 1039853.143 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) @parameter ] - - location: 83 (remaining gas: 1039853.114 units remaining) + - location: 83 (remaining gas: 1039853.098 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) @parameter ] - - location: 83 (remaining gas: 1039853.069 units remaining) + - location: 83 (remaining gas: 1039853.053 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) @parameter ] - - location: 83 (remaining gas: 1039853.024 units remaining) + - location: 83 (remaining gas: 1039853.008 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) @parameter ] - - location: 83 (remaining gas: 1039853.024 units remaining) + - location: 83 (remaining gas: 1039853.008 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) @parameter ] - - location: 87 (remaining gas: 1039852.924 units remaining) + - location: 87 (remaining gas: 1039852.908 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) @parameter ] - - location: 89 (remaining gas: 1039852.820 units remaining) + - location: 89 (remaining gas: 1039852.804 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) @parameter ] - - location: 91 (remaining gas: 1039852.712 units remaining) + - location: 91 (remaining gas: 1039852.696 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) @parameter ] - - location: 93 (remaining gas: 1039852.600 units remaining) + - location: 93 (remaining gas: 1039852.584 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) @parameter ] - - location: 95 (remaining gas: 1039852.484 units remaining) + - location: 95 (remaining gas: 1039852.468 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) @parameter ] - - location: 97 (remaining gas: 1039852.364 units remaining) + - location: 97 (remaining gas: 1039852.348 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) @parameter ] - - location: 99 (remaining gas: 1039852.240 units remaining) + - location: 99 (remaining gas: 1039852.224 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) @parameter ] - - location: 101 (remaining gas: 1039852.112 units remaining) + - location: 101 (remaining gas: 1039852.096 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) @parameter ] - - location: 103 (remaining gas: 1039851.980 units remaining) + - location: 103 (remaining gas: 1039851.964 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) @parameter ] - - location: 105 (remaining gas: 1039851.844 units remaining) + - location: 105 (remaining gas: 1039851.828 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) @parameter ] - - location: 107 (remaining gas: 1039851.704 units remaining) + - location: 107 (remaining gas: 1039851.688 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) @parameter ] - - location: 109 (remaining gas: 1039851.560 units remaining) + - location: 109 (remaining gas: 1039851.544 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) @parameter ] - - location: 111 (remaining gas: 1039851.412 units remaining) + - location: 111 (remaining gas: 1039851.396 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) @parameter ] - - location: 113 (remaining gas: 1039851.260 units remaining) + - location: 113 (remaining gas: 1039851.244 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) @parameter ] - - location: 115 (remaining gas: 1039851.104 units remaining) + - location: 115 (remaining gas: 1039851.088 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) @parameter ] - - location: 117 (remaining gas: 1039850.944 units remaining) + - location: 117 (remaining gas: 1039850.928 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) @parameter ] - - location: 119 (remaining gas: 1039850.780 units remaining) + - location: 119 (remaining gas: 1039850.764 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) @parameter ] - - location: 121 (remaining gas: 1039850.680 units remaining) + - location: 121 (remaining gas: 1039850.664 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) @parameter ] - - location: 123 (remaining gas: 1039850.576 units remaining) + - location: 123 (remaining gas: 1039850.560 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) @parameter ] - - location: 125 (remaining gas: 1039850.468 units remaining) + - location: 125 (remaining gas: 1039850.452 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) @parameter ] - - location: 127 (remaining gas: 1039850.356 units remaining) + - location: 127 (remaining gas: 1039850.340 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) @parameter ] - - location: 129 (remaining gas: 1039850.240 units remaining) + - location: 129 (remaining gas: 1039850.224 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) @parameter ] - - location: 131 (remaining gas: 1039850.120 units remaining) + - location: 131 (remaining gas: 1039850.104 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) @parameter ] - - location: 133 (remaining gas: 1039849.996 units remaining) + - location: 133 (remaining gas: 1039849.980 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) @parameter ] - - location: 135 (remaining gas: 1039849.868 units remaining) + - location: 135 (remaining gas: 1039849.852 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) @parameter ] - - location: 137 (remaining gas: 1039849.736 units remaining) + - location: 137 (remaining gas: 1039849.720 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) @parameter ] - - location: 139 (remaining gas: 1039849.600 units remaining) + - location: 139 (remaining gas: 1039849.584 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) @parameter ] - - location: 141 (remaining gas: 1039849.460 units remaining) + - location: 141 (remaining gas: 1039849.444 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) @parameter ] - - location: 143 (remaining gas: 1039849.316 units remaining) + - location: 143 (remaining gas: 1039849.300 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) @parameter ] - - location: 145 (remaining gas: 1039849.168 units remaining) + - location: 145 (remaining gas: 1039849.152 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) @parameter ] - - location: 147 (remaining gas: 1039849.016 units remaining) + - location: 147 (remaining gas: 1039849 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) @parameter ] - - location: 149 (remaining gas: 1039848.860 units remaining) + - location: 149 (remaining gas: 1039848.844 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) @parameter ] - - location: 151 (remaining gas: 1039848.700 units remaining) + - location: 151 (remaining gas: 1039848.684 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) @parameter ] - - location: 153 (remaining gas: 1039848.536 units remaining) + - location: 153 (remaining gas: 1039848.520 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) @parameter ] - - location: 156 (remaining gas: 1039848.376 units remaining) + - location: 156 (remaining gas: 1039848.360 units remaining) [ 2 1 (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 159 (remaining gas: 1039848.331 units remaining) + - location: 159 (remaining gas: 1039848.315 units remaining) [ (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 156 (remaining gas: 1039848.286 units remaining) + - location: 156 (remaining gas: 1039848.269 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 156 (remaining gas: 1039848.241 units remaining) + - location: 156 (remaining gas: 1039848.224 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) @parameter ] - - location: 156 (remaining gas: 1039848.196 units remaining) + - location: 156 (remaining gas: 1039848.179 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) @parameter ] - - location: 156 (remaining gas: 1039848.151 units remaining) + - location: 156 (remaining gas: 1039848.134 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) @parameter ] - - location: 156 (remaining gas: 1039848.106 units remaining) + - location: 156 (remaining gas: 1039848.089 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) @parameter ] - - location: 156 (remaining gas: 1039848.061 units remaining) + - location: 156 (remaining gas: 1039848.044 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) @parameter ] - - location: 156 (remaining gas: 1039848.016 units remaining) + - location: 156 (remaining gas: 1039847.999 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) @parameter ] - - location: 156 (remaining gas: 1039847.971 units remaining) + - location: 156 (remaining gas: 1039847.954 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) @parameter ] - - location: 156 (remaining gas: 1039847.926 units remaining) + - location: 156 (remaining gas: 1039847.909 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) @parameter ] - - location: 156 (remaining gas: 1039847.881 units remaining) + - location: 156 (remaining gas: 1039847.864 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) @parameter ] - - location: 156 (remaining gas: 1039847.836 units remaining) + - location: 156 (remaining gas: 1039847.819 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) @parameter ] - - location: 156 (remaining gas: 1039847.791 units remaining) + - location: 156 (remaining gas: 1039847.774 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) @parameter ] - - location: 156 (remaining gas: 1039847.746 units remaining) + - location: 156 (remaining gas: 1039847.729 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) @parameter ] - - location: 156 (remaining gas: 1039847.701 units remaining) + - location: 156 (remaining gas: 1039847.684 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) @parameter ] - - location: 156 (remaining gas: 1039847.656 units remaining) + - location: 156 (remaining gas: 1039847.639 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) @parameter ] - - location: 156 (remaining gas: 1039847.656 units remaining) + - location: 156 (remaining gas: 1039847.639 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) @parameter ] - - location: 160 (remaining gas: 1039847.500 units remaining) + - location: 160 (remaining gas: 1039847.483 units remaining) [ 3 (Pair 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 163 (remaining gas: 1039847.455 units remaining) + - location: 163 (remaining gas: 1039847.438 units remaining) [ (Pair 3 2 1) (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 160 (remaining gas: 1039847.410 units remaining) + - location: 160 (remaining gas: 1039847.392 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) @parameter ] - - location: 160 (remaining gas: 1039847.365 units remaining) + - location: 160 (remaining gas: 1039847.347 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) @parameter ] - - location: 160 (remaining gas: 1039847.320 units remaining) + - location: 160 (remaining gas: 1039847.302 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) @parameter ] - - location: 160 (remaining gas: 1039847.275 units remaining) + - location: 160 (remaining gas: 1039847.257 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) @parameter ] - - location: 160 (remaining gas: 1039847.230 units remaining) + - location: 160 (remaining gas: 1039847.212 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) @parameter ] - - location: 160 (remaining gas: 1039847.185 units remaining) + - location: 160 (remaining gas: 1039847.167 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) @parameter ] - - location: 160 (remaining gas: 1039847.140 units remaining) + - location: 160 (remaining gas: 1039847.122 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) @parameter ] - - location: 160 (remaining gas: 1039847.095 units remaining) + - location: 160 (remaining gas: 1039847.077 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) @parameter ] - - location: 160 (remaining gas: 1039847.050 units remaining) + - location: 160 (remaining gas: 1039847.032 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) @parameter ] - - location: 160 (remaining gas: 1039847.005 units remaining) + - location: 160 (remaining gas: 1039846.987 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) @parameter ] - - location: 160 (remaining gas: 1039846.960 units remaining) + - location: 160 (remaining gas: 1039846.942 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) @parameter ] - - location: 160 (remaining gas: 1039846.915 units remaining) + - location: 160 (remaining gas: 1039846.897 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) @parameter ] - - location: 160 (remaining gas: 1039846.870 units remaining) + - location: 160 (remaining gas: 1039846.852 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) @parameter ] - - location: 160 (remaining gas: 1039846.825 units remaining) + - location: 160 (remaining gas: 1039846.807 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) @parameter ] - - location: 160 (remaining gas: 1039846.825 units remaining) + - location: 160 (remaining gas: 1039846.807 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) @parameter ] - - location: 164 (remaining gas: 1039846.673 units remaining) + - location: 164 (remaining gas: 1039846.655 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) @parameter ] - - location: 167 (remaining gas: 1039846.628 units remaining) + - location: 167 (remaining gas: 1039846.610 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) @parameter ] - - location: 164 (remaining gas: 1039846.583 units remaining) + - location: 164 (remaining gas: 1039846.564 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) @parameter ] - - location: 164 (remaining gas: 1039846.538 units remaining) + - location: 164 (remaining gas: 1039846.519 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) @parameter ] - - location: 164 (remaining gas: 1039846.493 units remaining) + - location: 164 (remaining gas: 1039846.474 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) @parameter ] - - location: 164 (remaining gas: 1039846.448 units remaining) + - location: 164 (remaining gas: 1039846.429 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) @parameter ] - - location: 164 (remaining gas: 1039846.403 units remaining) + - location: 164 (remaining gas: 1039846.384 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) @parameter ] - - location: 164 (remaining gas: 1039846.358 units remaining) + - location: 164 (remaining gas: 1039846.339 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) @parameter ] - - location: 164 (remaining gas: 1039846.313 units remaining) + - location: 164 (remaining gas: 1039846.294 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) @parameter ] - - location: 164 (remaining gas: 1039846.268 units remaining) + - location: 164 (remaining gas: 1039846.249 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) @parameter ] - - location: 164 (remaining gas: 1039846.223 units remaining) + - location: 164 (remaining gas: 1039846.204 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) @parameter ] - - location: 164 (remaining gas: 1039846.178 units remaining) + - location: 164 (remaining gas: 1039846.159 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) @parameter ] - - location: 164 (remaining gas: 1039846.133 units remaining) + - location: 164 (remaining gas: 1039846.114 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) @parameter ] - - location: 164 (remaining gas: 1039846.088 units remaining) + - location: 164 (remaining gas: 1039846.069 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) @parameter ] - - location: 164 (remaining gas: 1039846.043 units remaining) + - location: 164 (remaining gas: 1039846.024 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) @parameter ] - - location: 164 (remaining gas: 1039846.043 units remaining) + - location: 164 (remaining gas: 1039846.024 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) @parameter ] - - location: 168 (remaining gas: 1039845.895 units remaining) + - location: 168 (remaining gas: 1039845.876 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) @parameter ] - - location: 171 (remaining gas: 1039845.850 units remaining) + - location: 171 (remaining gas: 1039845.831 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) @parameter ] - - location: 168 (remaining gas: 1039845.805 units remaining) + - location: 168 (remaining gas: 1039845.785 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) @parameter ] - - location: 168 (remaining gas: 1039845.760 units remaining) + - location: 168 (remaining gas: 1039845.740 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) @parameter ] - - location: 168 (remaining gas: 1039845.715 units remaining) + - location: 168 (remaining gas: 1039845.695 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) @parameter ] - - location: 168 (remaining gas: 1039845.670 units remaining) + - location: 168 (remaining gas: 1039845.650 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) @parameter ] - - location: 168 (remaining gas: 1039845.625 units remaining) + - location: 168 (remaining gas: 1039845.605 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) @parameter ] - - location: 168 (remaining gas: 1039845.580 units remaining) + - location: 168 (remaining gas: 1039845.560 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) @parameter ] - - location: 168 (remaining gas: 1039845.535 units remaining) + - location: 168 (remaining gas: 1039845.515 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) @parameter ] - - location: 168 (remaining gas: 1039845.490 units remaining) + - location: 168 (remaining gas: 1039845.470 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) @parameter ] - - location: 168 (remaining gas: 1039845.445 units remaining) + - location: 168 (remaining gas: 1039845.425 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) @parameter ] - - location: 168 (remaining gas: 1039845.400 units remaining) + - location: 168 (remaining gas: 1039845.380 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) @parameter ] - - location: 168 (remaining gas: 1039845.355 units remaining) + - location: 168 (remaining gas: 1039845.335 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) @parameter ] - - location: 168 (remaining gas: 1039845.310 units remaining) + - location: 168 (remaining gas: 1039845.290 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) @parameter ] - - location: 168 (remaining gas: 1039845.310 units remaining) + - location: 168 (remaining gas: 1039845.290 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) @parameter ] - - location: 172 (remaining gas: 1039845.166 units remaining) + - location: 172 (remaining gas: 1039845.146 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) @parameter ] - - location: 175 (remaining gas: 1039845.121 units remaining) + - location: 175 (remaining gas: 1039845.101 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) @parameter ] - - location: 172 (remaining gas: 1039845.076 units remaining) + - location: 172 (remaining gas: 1039845.055 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) @parameter ] - - location: 172 (remaining gas: 1039845.031 units remaining) + - location: 172 (remaining gas: 1039845.010 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) @parameter ] - - location: 172 (remaining gas: 1039844.986 units remaining) + - location: 172 (remaining gas: 1039844.965 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) @parameter ] - - location: 172 (remaining gas: 1039844.941 units remaining) + - location: 172 (remaining gas: 1039844.920 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) @parameter ] - - location: 172 (remaining gas: 1039844.896 units remaining) + - location: 172 (remaining gas: 1039844.875 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) @parameter ] - - location: 172 (remaining gas: 1039844.851 units remaining) + - location: 172 (remaining gas: 1039844.830 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) @parameter ] - - location: 172 (remaining gas: 1039844.806 units remaining) + - location: 172 (remaining gas: 1039844.785 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) @parameter ] - - location: 172 (remaining gas: 1039844.761 units remaining) + - location: 172 (remaining gas: 1039844.740 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) @parameter ] - - location: 172 (remaining gas: 1039844.716 units remaining) + - location: 172 (remaining gas: 1039844.695 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) @parameter ] - - location: 172 (remaining gas: 1039844.671 units remaining) + - location: 172 (remaining gas: 1039844.650 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) @parameter ] - - location: 172 (remaining gas: 1039844.626 units remaining) + - location: 172 (remaining gas: 1039844.605 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) @parameter ] - - location: 172 (remaining gas: 1039844.626 units remaining) + - location: 172 (remaining gas: 1039844.605 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) @parameter ] - - location: 176 (remaining gas: 1039844.486 units remaining) + - location: 176 (remaining gas: 1039844.465 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) @parameter ] - - location: 179 (remaining gas: 1039844.441 units remaining) + - location: 179 (remaining gas: 1039844.420 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) @parameter ] - - location: 176 (remaining gas: 1039844.396 units remaining) + - location: 176 (remaining gas: 1039844.374 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) @parameter ] - - location: 176 (remaining gas: 1039844.351 units remaining) + - location: 176 (remaining gas: 1039844.329 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) @parameter ] - - location: 176 (remaining gas: 1039844.306 units remaining) + - location: 176 (remaining gas: 1039844.284 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) @parameter ] - - location: 176 (remaining gas: 1039844.261 units remaining) + - location: 176 (remaining gas: 1039844.239 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) @parameter ] - - location: 176 (remaining gas: 1039844.216 units remaining) + - location: 176 (remaining gas: 1039844.194 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) @parameter ] - - location: 176 (remaining gas: 1039844.171 units remaining) + - location: 176 (remaining gas: 1039844.149 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) @parameter ] - - location: 176 (remaining gas: 1039844.126 units remaining) + - location: 176 (remaining gas: 1039844.104 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) @parameter ] - - location: 176 (remaining gas: 1039844.081 units remaining) + - location: 176 (remaining gas: 1039844.059 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) @parameter ] - - location: 176 (remaining gas: 1039844.036 units remaining) + - location: 176 (remaining gas: 1039844.014 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) @parameter ] - - location: 176 (remaining gas: 1039843.991 units remaining) + - location: 176 (remaining gas: 1039843.969 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) @parameter ] - - location: 176 (remaining gas: 1039843.991 units remaining) + - location: 176 (remaining gas: 1039843.969 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) @parameter ] - - location: 180 (remaining gas: 1039843.855 units remaining) + - location: 180 (remaining gas: 1039843.833 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) @parameter ] - - location: 183 (remaining gas: 1039843.810 units remaining) + - location: 183 (remaining gas: 1039843.788 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) @parameter ] - - location: 180 (remaining gas: 1039843.765 units remaining) + - location: 180 (remaining gas: 1039843.742 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) @parameter ] - - location: 180 (remaining gas: 1039843.720 units remaining) + - location: 180 (remaining gas: 1039843.697 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) @parameter ] - - location: 180 (remaining gas: 1039843.675 units remaining) + - location: 180 (remaining gas: 1039843.652 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) @parameter ] - - location: 180 (remaining gas: 1039843.630 units remaining) + - location: 180 (remaining gas: 1039843.607 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) @parameter ] - - location: 180 (remaining gas: 1039843.585 units remaining) + - location: 180 (remaining gas: 1039843.562 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) @parameter ] - - location: 180 (remaining gas: 1039843.540 units remaining) + - location: 180 (remaining gas: 1039843.517 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) @parameter ] - - location: 180 (remaining gas: 1039843.495 units remaining) + - location: 180 (remaining gas: 1039843.472 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) @parameter ] - - location: 180 (remaining gas: 1039843.450 units remaining) + - location: 180 (remaining gas: 1039843.427 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) @parameter ] - - location: 180 (remaining gas: 1039843.405 units remaining) + - location: 180 (remaining gas: 1039843.382 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) @parameter ] - - location: 180 (remaining gas: 1039843.405 units remaining) + - location: 180 (remaining gas: 1039843.382 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) @parameter ] - - location: 184 (remaining gas: 1039843.273 units remaining) + - location: 184 (remaining gas: 1039843.250 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) @parameter ] - - location: 187 (remaining gas: 1039843.228 units remaining) + - location: 187 (remaining gas: 1039843.205 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) @parameter ] - - location: 184 (remaining gas: 1039843.183 units remaining) + - location: 184 (remaining gas: 1039843.159 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) @parameter ] - - location: 184 (remaining gas: 1039843.138 units remaining) + - location: 184 (remaining gas: 1039843.114 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) @parameter ] - - location: 184 (remaining gas: 1039843.093 units remaining) + - location: 184 (remaining gas: 1039843.069 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) @parameter ] - - location: 184 (remaining gas: 1039843.048 units remaining) + - location: 184 (remaining gas: 1039843.024 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) @parameter ] - - location: 184 (remaining gas: 1039843.003 units remaining) + - location: 184 (remaining gas: 1039842.979 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) @parameter ] - - location: 184 (remaining gas: 1039842.958 units remaining) + - location: 184 (remaining gas: 1039842.934 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) @parameter ] - - location: 184 (remaining gas: 1039842.913 units remaining) + - location: 184 (remaining gas: 1039842.889 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) @parameter ] - - location: 184 (remaining gas: 1039842.868 units remaining) + - location: 184 (remaining gas: 1039842.844 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) @parameter ] - - location: 184 (remaining gas: 1039842.868 units remaining) + - location: 184 (remaining gas: 1039842.844 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) @parameter ] - - location: 188 (remaining gas: 1039842.740 units remaining) + - location: 188 (remaining gas: 1039842.716 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) @parameter ] - - location: 191 (remaining gas: 1039842.695 units remaining) + - location: 191 (remaining gas: 1039842.671 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) @parameter ] - - location: 188 (remaining gas: 1039842.650 units remaining) + - location: 188 (remaining gas: 1039842.625 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) @parameter ] - - location: 188 (remaining gas: 1039842.605 units remaining) + - location: 188 (remaining gas: 1039842.580 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) @parameter ] - - location: 188 (remaining gas: 1039842.560 units remaining) + - location: 188 (remaining gas: 1039842.535 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) @parameter ] - - location: 188 (remaining gas: 1039842.515 units remaining) + - location: 188 (remaining gas: 1039842.490 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) @parameter ] - - location: 188 (remaining gas: 1039842.470 units remaining) + - location: 188 (remaining gas: 1039842.445 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) @parameter ] - - location: 188 (remaining gas: 1039842.425 units remaining) + - location: 188 (remaining gas: 1039842.400 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) @parameter ] - - location: 188 (remaining gas: 1039842.380 units remaining) + - location: 188 (remaining gas: 1039842.355 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) @parameter ] - - location: 188 (remaining gas: 1039842.380 units remaining) + - location: 188 (remaining gas: 1039842.355 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) @parameter ] - - location: 192 (remaining gas: 1039842.256 units remaining) + - location: 192 (remaining gas: 1039842.231 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) @parameter ] - - location: 195 (remaining gas: 1039842.211 units remaining) + - location: 195 (remaining gas: 1039842.186 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) @parameter ] - - location: 192 (remaining gas: 1039842.166 units remaining) + - location: 192 (remaining gas: 1039842.140 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) @parameter ] - - location: 192 (remaining gas: 1039842.121 units remaining) + - location: 192 (remaining gas: 1039842.095 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) @parameter ] - - location: 192 (remaining gas: 1039842.076 units remaining) + - location: 192 (remaining gas: 1039842.050 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) @parameter ] - - location: 192 (remaining gas: 1039842.031 units remaining) + - location: 192 (remaining gas: 1039842.005 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) @parameter ] - - location: 192 (remaining gas: 1039841.986 units remaining) + - location: 192 (remaining gas: 1039841.960 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) @parameter ] - - location: 192 (remaining gas: 1039841.941 units remaining) + - location: 192 (remaining gas: 1039841.915 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) @parameter ] - - location: 192 (remaining gas: 1039841.941 units remaining) + - location: 192 (remaining gas: 1039841.915 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) @parameter ] - - location: 196 (remaining gas: 1039841.821 units remaining) + - location: 196 (remaining gas: 1039841.795 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) @parameter ] - - location: 199 (remaining gas: 1039841.776 units remaining) + - location: 199 (remaining gas: 1039841.750 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) @parameter ] - - location: 196 (remaining gas: 1039841.731 units remaining) + - location: 196 (remaining gas: 1039841.704 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) @parameter ] - - location: 196 (remaining gas: 1039841.686 units remaining) + - location: 196 (remaining gas: 1039841.659 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) @parameter ] - - location: 196 (remaining gas: 1039841.641 units remaining) + - location: 196 (remaining gas: 1039841.614 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) @parameter ] - - location: 196 (remaining gas: 1039841.596 units remaining) + - location: 196 (remaining gas: 1039841.569 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) @parameter ] - - location: 196 (remaining gas: 1039841.551 units remaining) + - location: 196 (remaining gas: 1039841.524 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) @parameter ] - - location: 196 (remaining gas: 1039841.551 units remaining) + - location: 196 (remaining gas: 1039841.524 units remaining) [ 17 16 15 @@ -3314,116 +3314,116 @@ 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) @parameter ] - - location: 200 (remaining gas: 1039841.435 units remaining) + - location: 200 (remaining gas: 1039841.408 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) @parameter ] - - location: 203 (remaining gas: 1039841.390 units remaining) + - location: 203 (remaining gas: 1039841.363 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) @parameter ] - - location: 200 (remaining gas: 1039841.345 units remaining) + - location: 200 (remaining gas: 1039841.317 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) @parameter ] - - location: 200 (remaining gas: 1039841.300 units remaining) + - location: 200 (remaining gas: 1039841.272 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) @parameter ] - - location: 200 (remaining gas: 1039841.255 units remaining) + - location: 200 (remaining gas: 1039841.227 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) @parameter ] - - location: 200 (remaining gas: 1039841.210 units remaining) + - location: 200 (remaining gas: 1039841.182 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) @parameter ] - - location: 200 (remaining gas: 1039841.210 units remaining) + - location: 200 (remaining gas: 1039841.182 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) @parameter ] - - location: 204 (remaining gas: 1039841.098 units remaining) + - location: 204 (remaining gas: 1039841.070 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) @parameter ] - - location: 207 (remaining gas: 1039841.053 units remaining) + - location: 207 (remaining gas: 1039841.025 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) @parameter ] - - location: 204 (remaining gas: 1039841.008 units remaining) + - location: 204 (remaining gas: 1039840.979 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) @parameter ] - - location: 204 (remaining gas: 1039840.963 units remaining) + - location: 204 (remaining gas: 1039840.934 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) @parameter ] - - location: 204 (remaining gas: 1039840.918 units remaining) + - location: 204 (remaining gas: 1039840.889 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) @parameter ] - - location: 204 (remaining gas: 1039840.918 units remaining) + - location: 204 (remaining gas: 1039840.889 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) @parameter ] - - location: 208 (remaining gas: 1039840.810 units remaining) + - location: 208 (remaining gas: 1039840.781 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) @parameter ] - - location: 211 (remaining gas: 1039840.765 units remaining) + - location: 211 (remaining gas: 1039840.736 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) @parameter ] - - location: 208 (remaining gas: 1039840.720 units remaining) + - location: 208 (remaining gas: 1039840.690 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) @parameter ] - - location: 208 (remaining gas: 1039840.675 units remaining) + - location: 208 (remaining gas: 1039840.645 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) @parameter ] - - location: 208 (remaining gas: 1039840.675 units remaining) + - location: 208 (remaining gas: 1039840.645 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) @parameter ] - - location: 212 (remaining gas: 1039840.630 units remaining) + - location: 212 (remaining gas: 1039840.600 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) @parameter ] - - location: 214 (remaining gas: 1039840.585 units remaining) + - location: 214 (remaining gas: 1039840.555 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) @parameter ] - - location: 212 (remaining gas: 1039840.585 units remaining) + - location: 212 (remaining gas: 1039840.553 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) @parameter ] - - location: 215 (remaining gas: 1039840.540 units remaining) + - location: 215 (remaining gas: 1039840.508 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) @parameter ] - - location: 218 (remaining gas: 1039837.990 units remaining) + - location: 218 (remaining gas: 1039837.958 units remaining) [ 0 ] - - location: 219 (remaining gas: 1039837.940 units remaining) + - location: 219 (remaining gas: 1039837.908 units remaining) [ True ] - - location: 220 (remaining gas: 1039837.915 units remaining) + - location: 220 (remaining gas: 1039837.883 units remaining) [ ] - - location: 226 (remaining gas: 1039837.870 units remaining) + - location: 226 (remaining gas: 1039837.838 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039837.825 units remaining) + - location: 227 (remaining gas: 1039837.793 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039837.780 units remaining) + - location: 229 (remaining gas: 1039837.748 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 8813f40a40f5..75ae775b5594 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 @@ -25,93 +25,93 @@ trace [ 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) @parameter ] - - location: 28 (remaining gas: 1039860.955 units remaining) + - location: 28 (remaining gas: 1039860.953 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) @parameter ] - - location: 31 (remaining gas: 1039860.847 units remaining) + - location: 31 (remaining gas: 1039860.845 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) @parameter ] - - location: 34 (remaining gas: 1039860.797 units remaining) + - location: 34 (remaining gas: 1039860.795 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) @parameter ] - - location: 31 (remaining gas: 1039860.752 units remaining) + - location: 31 (remaining gas: 1039860.749 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) @parameter ] - - location: 31 (remaining gas: 1039860.707 units remaining) + - location: 31 (remaining gas: 1039860.704 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) @parameter ] - - location: 31 (remaining gas: 1039860.707 units remaining) + - location: 31 (remaining gas: 1039860.704 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) @parameter ] - - location: 35 (remaining gas: 1039860.595 units remaining) + - location: 35 (remaining gas: 1039860.592 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) @parameter ] - - location: 38 (remaining gas: 1039860.545 units remaining) + - location: 38 (remaining gas: 1039860.542 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) @parameter ] - - location: 35 (remaining gas: 1039860.500 units remaining) + - location: 35 (remaining gas: 1039860.496 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) @parameter ] - - location: 35 (remaining gas: 1039860.455 units remaining) + - location: 35 (remaining gas: 1039860.451 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) @parameter ] - - location: 35 (remaining gas: 1039860.410 units remaining) + - location: 35 (remaining gas: 1039860.406 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) @parameter ] - - location: 35 (remaining gas: 1039860.410 units remaining) + - location: 35 (remaining gas: 1039860.406 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) @parameter ] - - location: 39 (remaining gas: 1039860.294 units remaining) + - location: 39 (remaining gas: 1039860.290 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) @parameter ] - - location: 42 (remaining gas: 1039860.244 units remaining) + - location: 42 (remaining gas: 1039860.240 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) @parameter ] - - location: 39 (remaining gas: 1039860.199 units remaining) + - location: 39 (remaining gas: 1039860.194 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) @parameter ] - - location: 39 (remaining gas: 1039860.154 units remaining) + - location: 39 (remaining gas: 1039860.149 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) @parameter ] - - location: 39 (remaining gas: 1039860.109 units remaining) + - location: 39 (remaining gas: 1039860.104 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) @parameter ] - - location: 39 (remaining gas: 1039860.064 units remaining) + - location: 39 (remaining gas: 1039860.059 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) @parameter ] - - location: 39 (remaining gas: 1039860.064 units remaining) + - location: 39 (remaining gas: 1039860.059 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) @parameter ] - - location: 43 (remaining gas: 1039859.944 units remaining) + - location: 43 (remaining gas: 1039859.939 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) @parameter ] - - location: 46 (remaining gas: 1039859.894 units remaining) + - location: 46 (remaining gas: 1039859.889 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) @parameter ] - - location: 43 (remaining gas: 1039859.849 units remaining) + - location: 43 (remaining gas: 1039859.843 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) @parameter ] - - location: 43 (remaining gas: 1039859.804 units remaining) + - location: 43 (remaining gas: 1039859.798 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) @parameter ] - - location: 43 (remaining gas: 1039859.759 units remaining) + - location: 43 (remaining gas: 1039859.753 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) @parameter ] - - location: 43 (remaining gas: 1039859.714 units remaining) + - location: 43 (remaining gas: 1039859.708 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) @parameter ] - - location: 43 (remaining gas: 1039859.669 units remaining) + - location: 43 (remaining gas: 1039859.663 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) @parameter ] - - location: 43 (remaining gas: 1039859.669 units remaining) + - location: 43 (remaining gas: 1039859.663 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) @parameter ] - - location: 47 (remaining gas: 1039859.545 units remaining) + - location: 47 (remaining gas: 1039859.539 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) @parameter ] - - location: 50 (remaining gas: 1039859.495 units remaining) + - location: 50 (remaining gas: 1039859.489 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) @parameter ] - - location: 47 (remaining gas: 1039859.450 units remaining) + - location: 47 (remaining gas: 1039859.443 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) @parameter ] - - location: 47 (remaining gas: 1039859.405 units remaining) + - location: 47 (remaining gas: 1039859.398 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) @parameter ] - - location: 47 (remaining gas: 1039859.360 units remaining) + - location: 47 (remaining gas: 1039859.353 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) @parameter ] - - location: 47 (remaining gas: 1039859.315 units remaining) + - location: 47 (remaining gas: 1039859.308 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) @parameter ] - - location: 47 (remaining gas: 1039859.270 units remaining) + - location: 47 (remaining gas: 1039859.263 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) @parameter ] - - location: 47 (remaining gas: 1039859.225 units remaining) + - location: 47 (remaining gas: 1039859.218 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) @parameter ] - - location: 47 (remaining gas: 1039859.225 units remaining) + - location: 47 (remaining gas: 1039859.218 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) @parameter ] - - location: 51 (remaining gas: 1039859.097 units remaining) + - location: 51 (remaining gas: 1039859.090 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) @parameter ] - - location: 54 (remaining gas: 1039859.047 units remaining) + - location: 54 (remaining gas: 1039859.040 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) @parameter ] - - location: 51 (remaining gas: 1039859.002 units remaining) + - location: 51 (remaining gas: 1039858.994 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) @parameter ] - - location: 51 (remaining gas: 1039858.957 units remaining) + - location: 51 (remaining gas: 1039858.949 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) @parameter ] - - location: 51 (remaining gas: 1039858.912 units remaining) + - location: 51 (remaining gas: 1039858.904 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) @parameter ] - - location: 51 (remaining gas: 1039858.867 units remaining) + - location: 51 (remaining gas: 1039858.859 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) @parameter ] - - location: 51 (remaining gas: 1039858.822 units remaining) + - location: 51 (remaining gas: 1039858.814 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) @parameter ] - - location: 51 (remaining gas: 1039858.777 units remaining) + - location: 51 (remaining gas: 1039858.769 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) @parameter ] - - location: 51 (remaining gas: 1039858.732 units remaining) + - location: 51 (remaining gas: 1039858.724 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) @parameter ] - - location: 51 (remaining gas: 1039858.732 units remaining) + - location: 51 (remaining gas: 1039858.724 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) @parameter ] - - location: 55 (remaining gas: 1039858.600 units remaining) + - location: 55 (remaining gas: 1039858.592 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) @parameter ] - - location: 58 (remaining gas: 1039858.550 units remaining) + - location: 58 (remaining gas: 1039858.542 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) @parameter ] - - location: 55 (remaining gas: 1039858.505 units remaining) + - location: 55 (remaining gas: 1039858.496 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) @parameter ] - - location: 55 (remaining gas: 1039858.460 units remaining) + - location: 55 (remaining gas: 1039858.451 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) @parameter ] - - location: 55 (remaining gas: 1039858.415 units remaining) + - location: 55 (remaining gas: 1039858.406 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) @parameter ] - - location: 55 (remaining gas: 1039858.370 units remaining) + - location: 55 (remaining gas: 1039858.361 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) @parameter ] - - location: 55 (remaining gas: 1039858.325 units remaining) + - location: 55 (remaining gas: 1039858.316 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) @parameter ] - - location: 55 (remaining gas: 1039858.280 units remaining) + - location: 55 (remaining gas: 1039858.271 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) @parameter ] - - location: 55 (remaining gas: 1039858.235 units remaining) + - location: 55 (remaining gas: 1039858.226 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) @parameter ] - - location: 55 (remaining gas: 1039858.190 units remaining) + - location: 55 (remaining gas: 1039858.181 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) @parameter ] - - location: 55 (remaining gas: 1039858.190 units remaining) + - location: 55 (remaining gas: 1039858.181 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) @parameter ] - - location: 59 (remaining gas: 1039858.054 units remaining) + - location: 59 (remaining gas: 1039858.045 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) @parameter ] - - location: 62 (remaining gas: 1039858.004 units remaining) + - location: 62 (remaining gas: 1039857.995 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) @parameter ] - - location: 59 (remaining gas: 1039857.959 units remaining) + - location: 59 (remaining gas: 1039857.949 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) @parameter ] - - location: 59 (remaining gas: 1039857.914 units remaining) + - location: 59 (remaining gas: 1039857.904 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) @parameter ] - - location: 59 (remaining gas: 1039857.869 units remaining) + - location: 59 (remaining gas: 1039857.859 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) @parameter ] - - location: 59 (remaining gas: 1039857.824 units remaining) + - location: 59 (remaining gas: 1039857.814 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) @parameter ] - - location: 59 (remaining gas: 1039857.779 units remaining) + - location: 59 (remaining gas: 1039857.769 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) @parameter ] - - location: 59 (remaining gas: 1039857.734 units remaining) + - location: 59 (remaining gas: 1039857.724 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) @parameter ] - - location: 59 (remaining gas: 1039857.689 units remaining) + - location: 59 (remaining gas: 1039857.679 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) @parameter ] - - location: 59 (remaining gas: 1039857.644 units remaining) + - location: 59 (remaining gas: 1039857.634 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) @parameter ] - - location: 59 (remaining gas: 1039857.599 units remaining) + - location: 59 (remaining gas: 1039857.589 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) @parameter ] - - location: 59 (remaining gas: 1039857.599 units remaining) + - location: 59 (remaining gas: 1039857.589 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) @parameter ] - - location: 63 (remaining gas: 1039857.459 units remaining) + - location: 63 (remaining gas: 1039857.449 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) @parameter ] - - location: 66 (remaining gas: 1039857.409 units remaining) + - location: 66 (remaining gas: 1039857.399 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) @parameter ] - - location: 63 (remaining gas: 1039857.364 units remaining) + - location: 63 (remaining gas: 1039857.353 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) @parameter ] - - location: 63 (remaining gas: 1039857.319 units remaining) + - location: 63 (remaining gas: 1039857.308 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) @parameter ] - - location: 63 (remaining gas: 1039857.274 units remaining) + - location: 63 (remaining gas: 1039857.263 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) @parameter ] - - location: 63 (remaining gas: 1039857.229 units remaining) + - location: 63 (remaining gas: 1039857.218 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) @parameter ] - - location: 63 (remaining gas: 1039857.184 units remaining) + - location: 63 (remaining gas: 1039857.173 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) @parameter ] - - location: 63 (remaining gas: 1039857.139 units remaining) + - location: 63 (remaining gas: 1039857.128 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) @parameter ] - - location: 63 (remaining gas: 1039857.094 units remaining) + - location: 63 (remaining gas: 1039857.083 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) @parameter ] - - location: 63 (remaining gas: 1039857.049 units remaining) + - location: 63 (remaining gas: 1039857.038 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) @parameter ] - - location: 63 (remaining gas: 1039857.004 units remaining) + - location: 63 (remaining gas: 1039856.993 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) @parameter ] - - location: 63 (remaining gas: 1039856.959 units remaining) + - location: 63 (remaining gas: 1039856.948 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) @parameter ] - - location: 63 (remaining gas: 1039856.959 units remaining) + - location: 63 (remaining gas: 1039856.948 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) @parameter ] - - location: 67 (remaining gas: 1039856.815 units remaining) + - location: 67 (remaining gas: 1039856.804 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) @parameter ] - - location: 70 (remaining gas: 1039856.765 units remaining) + - location: 70 (remaining gas: 1039856.754 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) @parameter ] - - location: 67 (remaining gas: 1039856.720 units remaining) + - location: 67 (remaining gas: 1039856.708 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) @parameter ] - - location: 67 (remaining gas: 1039856.675 units remaining) + - location: 67 (remaining gas: 1039856.663 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) @parameter ] - - location: 67 (remaining gas: 1039856.630 units remaining) + - location: 67 (remaining gas: 1039856.618 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) @parameter ] - - location: 67 (remaining gas: 1039856.585 units remaining) + - location: 67 (remaining gas: 1039856.573 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) @parameter ] - - location: 67 (remaining gas: 1039856.540 units remaining) + - location: 67 (remaining gas: 1039856.528 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) @parameter ] - - location: 67 (remaining gas: 1039856.495 units remaining) + - location: 67 (remaining gas: 1039856.483 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) @parameter ] - - location: 67 (remaining gas: 1039856.450 units remaining) + - location: 67 (remaining gas: 1039856.438 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) @parameter ] - - location: 67 (remaining gas: 1039856.405 units remaining) + - location: 67 (remaining gas: 1039856.393 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) @parameter ] - - location: 67 (remaining gas: 1039856.360 units remaining) + - location: 67 (remaining gas: 1039856.348 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) @parameter ] - - location: 67 (remaining gas: 1039856.315 units remaining) + - location: 67 (remaining gas: 1039856.303 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) @parameter ] - - location: 67 (remaining gas: 1039856.270 units remaining) + - location: 67 (remaining gas: 1039856.258 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) @parameter ] - - location: 67 (remaining gas: 1039856.270 units remaining) + - location: 67 (remaining gas: 1039856.258 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) @parameter ] - - location: 71 (remaining gas: 1039856.122 units remaining) + - location: 71 (remaining gas: 1039856.110 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) @parameter ] - - location: 74 (remaining gas: 1039856.072 units remaining) + - location: 74 (remaining gas: 1039856.060 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) @parameter ] - - location: 71 (remaining gas: 1039856.027 units remaining) + - location: 71 (remaining gas: 1039856.014 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) @parameter ] - - location: 71 (remaining gas: 1039855.982 units remaining) + - location: 71 (remaining gas: 1039855.969 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) @parameter ] - - location: 71 (remaining gas: 1039855.937 units remaining) + - location: 71 (remaining gas: 1039855.924 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) @parameter ] - - location: 71 (remaining gas: 1039855.892 units remaining) + - location: 71 (remaining gas: 1039855.879 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) @parameter ] - - location: 71 (remaining gas: 1039855.847 units remaining) + - location: 71 (remaining gas: 1039855.834 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) @parameter ] - - location: 71 (remaining gas: 1039855.802 units remaining) + - location: 71 (remaining gas: 1039855.789 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) @parameter ] - - location: 71 (remaining gas: 1039855.757 units remaining) + - location: 71 (remaining gas: 1039855.744 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) @parameter ] - - location: 71 (remaining gas: 1039855.712 units remaining) + - location: 71 (remaining gas: 1039855.699 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) @parameter ] - - location: 71 (remaining gas: 1039855.667 units remaining) + - location: 71 (remaining gas: 1039855.654 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) @parameter ] - - location: 71 (remaining gas: 1039855.622 units remaining) + - location: 71 (remaining gas: 1039855.609 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) @parameter ] - - location: 71 (remaining gas: 1039855.577 units remaining) + - location: 71 (remaining gas: 1039855.564 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) @parameter ] - - location: 71 (remaining gas: 1039855.532 units remaining) + - location: 71 (remaining gas: 1039855.519 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) @parameter ] - - location: 71 (remaining gas: 1039855.532 units remaining) + - location: 71 (remaining gas: 1039855.519 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) @parameter ] - - location: 75 (remaining gas: 1039855.380 units remaining) + - location: 75 (remaining gas: 1039855.367 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) @parameter ] - - location: 78 (remaining gas: 1039855.330 units remaining) + - location: 78 (remaining gas: 1039855.317 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) @parameter ] - - location: 75 (remaining gas: 1039855.285 units remaining) + - location: 75 (remaining gas: 1039855.271 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) @parameter ] - - location: 75 (remaining gas: 1039855.240 units remaining) + - location: 75 (remaining gas: 1039855.226 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) @parameter ] - - location: 75 (remaining gas: 1039855.195 units remaining) + - location: 75 (remaining gas: 1039855.181 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) @parameter ] - - location: 75 (remaining gas: 1039855.150 units remaining) + - location: 75 (remaining gas: 1039855.136 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) @parameter ] - - location: 75 (remaining gas: 1039855.105 units remaining) + - location: 75 (remaining gas: 1039855.091 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) @parameter ] - - location: 75 (remaining gas: 1039855.060 units remaining) + - location: 75 (remaining gas: 1039855.046 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) @parameter ] - - location: 75 (remaining gas: 1039855.015 units remaining) + - location: 75 (remaining gas: 1039855.001 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) @parameter ] - - location: 75 (remaining gas: 1039854.970 units remaining) + - location: 75 (remaining gas: 1039854.956 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) @parameter ] - - location: 75 (remaining gas: 1039854.925 units remaining) + - location: 75 (remaining gas: 1039854.911 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) @parameter ] - - location: 75 (remaining gas: 1039854.880 units remaining) + - location: 75 (remaining gas: 1039854.866 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) @parameter ] - - location: 75 (remaining gas: 1039854.835 units remaining) + - location: 75 (remaining gas: 1039854.821 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) @parameter ] - - location: 75 (remaining gas: 1039854.790 units remaining) + - location: 75 (remaining gas: 1039854.776 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) @parameter ] - - location: 75 (remaining gas: 1039854.745 units remaining) + - location: 75 (remaining gas: 1039854.731 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) @parameter ] - - location: 75 (remaining gas: 1039854.745 units remaining) + - location: 75 (remaining gas: 1039854.731 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) @parameter ] - - location: 79 (remaining gas: 1039854.589 units remaining) + - location: 79 (remaining gas: 1039854.575 units remaining) [ (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 82 (remaining gas: 1039854.539 units remaining) + - location: 82 (remaining gas: 1039854.525 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 79 (remaining gas: 1039854.494 units remaining) + - location: 79 (remaining gas: 1039854.479 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) @parameter ] - - location: 79 (remaining gas: 1039854.449 units remaining) + - location: 79 (remaining gas: 1039854.434 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) @parameter ] - - location: 79 (remaining gas: 1039854.404 units remaining) + - location: 79 (remaining gas: 1039854.389 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) @parameter ] - - location: 79 (remaining gas: 1039854.359 units remaining) + - location: 79 (remaining gas: 1039854.344 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) @parameter ] - - location: 79 (remaining gas: 1039854.314 units remaining) + - location: 79 (remaining gas: 1039854.299 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) @parameter ] - - location: 79 (remaining gas: 1039854.269 units remaining) + - location: 79 (remaining gas: 1039854.254 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) @parameter ] - - location: 79 (remaining gas: 1039854.224 units remaining) + - location: 79 (remaining gas: 1039854.209 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) @parameter ] - - location: 79 (remaining gas: 1039854.179 units remaining) + - location: 79 (remaining gas: 1039854.164 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) @parameter ] - - location: 79 (remaining gas: 1039854.134 units remaining) + - location: 79 (remaining gas: 1039854.119 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) @parameter ] - - location: 79 (remaining gas: 1039854.089 units remaining) + - location: 79 (remaining gas: 1039854.074 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) @parameter ] - - location: 79 (remaining gas: 1039854.044 units remaining) + - location: 79 (remaining gas: 1039854.029 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) @parameter ] - - location: 79 (remaining gas: 1039853.999 units remaining) + - location: 79 (remaining gas: 1039853.984 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) @parameter ] - - location: 79 (remaining gas: 1039853.954 units remaining) + - location: 79 (remaining gas: 1039853.939 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) @parameter ] - - location: 79 (remaining gas: 1039853.909 units remaining) + - location: 79 (remaining gas: 1039853.894 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) @parameter ] - - location: 79 (remaining gas: 1039853.909 units remaining) + - location: 79 (remaining gas: 1039853.894 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) @parameter ] - - location: 83 (remaining gas: 1039853.749 units remaining) + - location: 83 (remaining gas: 1039853.734 units remaining) [ (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 86 (remaining gas: 1039853.699 units remaining) + - location: 86 (remaining gas: 1039853.684 units remaining) [ 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 83 (remaining gas: 1039853.654 units remaining) + - location: 83 (remaining gas: 1039853.638 units remaining) [ 15 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 83 (remaining gas: 1039853.609 units remaining) + - location: 83 (remaining gas: 1039853.593 units remaining) [ 13 15 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 83 (remaining gas: 1039853.564 units remaining) + - location: 83 (remaining gas: 1039853.548 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) @parameter ] - - location: 83 (remaining gas: 1039853.519 units remaining) + - location: 83 (remaining gas: 1039853.503 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) @parameter ] - - location: 83 (remaining gas: 1039853.474 units remaining) + - location: 83 (remaining gas: 1039853.458 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) @parameter ] - - location: 83 (remaining gas: 1039853.429 units remaining) + - location: 83 (remaining gas: 1039853.413 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) @parameter ] - - location: 83 (remaining gas: 1039853.384 units remaining) + - location: 83 (remaining gas: 1039853.368 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) @parameter ] - - location: 83 (remaining gas: 1039853.339 units remaining) + - location: 83 (remaining gas: 1039853.323 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) @parameter ] - - location: 83 (remaining gas: 1039853.294 units remaining) + - location: 83 (remaining gas: 1039853.278 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) @parameter ] - - location: 83 (remaining gas: 1039853.249 units remaining) + - location: 83 (remaining gas: 1039853.233 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) @parameter ] - - location: 83 (remaining gas: 1039853.204 units remaining) + - location: 83 (remaining gas: 1039853.188 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) @parameter ] - - location: 83 (remaining gas: 1039853.159 units remaining) + - location: 83 (remaining gas: 1039853.143 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) @parameter ] - - location: 83 (remaining gas: 1039853.114 units remaining) + - location: 83 (remaining gas: 1039853.098 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) @parameter ] - - location: 83 (remaining gas: 1039853.069 units remaining) + - location: 83 (remaining gas: 1039853.053 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) @parameter ] - - location: 83 (remaining gas: 1039853.024 units remaining) + - location: 83 (remaining gas: 1039853.008 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) @parameter ] - - location: 83 (remaining gas: 1039853.024 units remaining) + - location: 83 (remaining gas: 1039853.008 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) @parameter ] - - location: 87 (remaining gas: 1039852.924 units remaining) + - location: 87 (remaining gas: 1039852.908 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) @parameter ] - - location: 89 (remaining gas: 1039852.820 units remaining) + - location: 89 (remaining gas: 1039852.804 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) @parameter ] - - location: 91 (remaining gas: 1039852.712 units remaining) + - location: 91 (remaining gas: 1039852.696 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) @parameter ] - - location: 93 (remaining gas: 1039852.600 units remaining) + - location: 93 (remaining gas: 1039852.584 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) @parameter ] - - location: 95 (remaining gas: 1039852.484 units remaining) + - location: 95 (remaining gas: 1039852.468 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) @parameter ] - - location: 97 (remaining gas: 1039852.364 units remaining) + - location: 97 (remaining gas: 1039852.348 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) @parameter ] - - location: 99 (remaining gas: 1039852.240 units remaining) + - location: 99 (remaining gas: 1039852.224 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) @parameter ] - - location: 101 (remaining gas: 1039852.112 units remaining) + - location: 101 (remaining gas: 1039852.096 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) @parameter ] - - location: 103 (remaining gas: 1039851.980 units remaining) + - location: 103 (remaining gas: 1039851.964 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) @parameter ] - - location: 105 (remaining gas: 1039851.844 units remaining) + - location: 105 (remaining gas: 1039851.828 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) @parameter ] - - location: 107 (remaining gas: 1039851.704 units remaining) + - location: 107 (remaining gas: 1039851.688 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) @parameter ] - - location: 109 (remaining gas: 1039851.560 units remaining) + - location: 109 (remaining gas: 1039851.544 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) @parameter ] - - location: 111 (remaining gas: 1039851.412 units remaining) + - location: 111 (remaining gas: 1039851.396 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) @parameter ] - - location: 113 (remaining gas: 1039851.260 units remaining) + - location: 113 (remaining gas: 1039851.244 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) @parameter ] - - location: 115 (remaining gas: 1039851.104 units remaining) + - location: 115 (remaining gas: 1039851.088 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) @parameter ] - - location: 117 (remaining gas: 1039850.944 units remaining) + - location: 117 (remaining gas: 1039850.928 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) @parameter ] - - location: 119 (remaining gas: 1039850.780 units remaining) + - location: 119 (remaining gas: 1039850.764 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) @parameter ] - - location: 121 (remaining gas: 1039850.680 units remaining) + - location: 121 (remaining gas: 1039850.664 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) @parameter ] - - location: 123 (remaining gas: 1039850.576 units remaining) + - location: 123 (remaining gas: 1039850.560 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) @parameter ] - - location: 125 (remaining gas: 1039850.468 units remaining) + - location: 125 (remaining gas: 1039850.452 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) @parameter ] - - location: 127 (remaining gas: 1039850.356 units remaining) + - location: 127 (remaining gas: 1039850.340 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) @parameter ] - - location: 129 (remaining gas: 1039850.240 units remaining) + - location: 129 (remaining gas: 1039850.224 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) @parameter ] - - location: 131 (remaining gas: 1039850.120 units remaining) + - location: 131 (remaining gas: 1039850.104 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) @parameter ] - - location: 133 (remaining gas: 1039849.996 units remaining) + - location: 133 (remaining gas: 1039849.980 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) @parameter ] - - location: 135 (remaining gas: 1039849.868 units remaining) + - location: 135 (remaining gas: 1039849.852 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) @parameter ] - - location: 137 (remaining gas: 1039849.736 units remaining) + - location: 137 (remaining gas: 1039849.720 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) @parameter ] - - location: 139 (remaining gas: 1039849.600 units remaining) + - location: 139 (remaining gas: 1039849.584 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) @parameter ] - - location: 141 (remaining gas: 1039849.460 units remaining) + - location: 141 (remaining gas: 1039849.444 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) @parameter ] - - location: 143 (remaining gas: 1039849.316 units remaining) + - location: 143 (remaining gas: 1039849.300 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) @parameter ] - - location: 145 (remaining gas: 1039849.168 units remaining) + - location: 145 (remaining gas: 1039849.152 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) @parameter ] - - location: 147 (remaining gas: 1039849.016 units remaining) + - location: 147 (remaining gas: 1039849 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) @parameter ] - - location: 149 (remaining gas: 1039848.860 units remaining) + - location: 149 (remaining gas: 1039848.844 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) @parameter ] - - location: 151 (remaining gas: 1039848.700 units remaining) + - location: 151 (remaining gas: 1039848.684 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) @parameter ] - - location: 153 (remaining gas: 1039848.536 units remaining) + - location: 153 (remaining gas: 1039848.520 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) @parameter ] - - location: 156 (remaining gas: 1039848.376 units remaining) + - location: 156 (remaining gas: 1039848.360 units remaining) [ 5 1 (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 159 (remaining gas: 1039848.331 units remaining) + - location: 159 (remaining gas: 1039848.315 units remaining) [ (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 156 (remaining gas: 1039848.286 units remaining) + - location: 156 (remaining gas: 1039848.269 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 156 (remaining gas: 1039848.241 units remaining) + - location: 156 (remaining gas: 1039848.224 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) @parameter ] - - location: 156 (remaining gas: 1039848.196 units remaining) + - location: 156 (remaining gas: 1039848.179 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) @parameter ] - - location: 156 (remaining gas: 1039848.151 units remaining) + - location: 156 (remaining gas: 1039848.134 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) @parameter ] - - location: 156 (remaining gas: 1039848.106 units remaining) + - location: 156 (remaining gas: 1039848.089 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) @parameter ] - - location: 156 (remaining gas: 1039848.061 units remaining) + - location: 156 (remaining gas: 1039848.044 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) @parameter ] - - location: 156 (remaining gas: 1039848.016 units remaining) + - location: 156 (remaining gas: 1039847.999 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) @parameter ] - - location: 156 (remaining gas: 1039847.971 units remaining) + - location: 156 (remaining gas: 1039847.954 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) @parameter ] - - location: 156 (remaining gas: 1039847.926 units remaining) + - location: 156 (remaining gas: 1039847.909 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) @parameter ] - - location: 156 (remaining gas: 1039847.881 units remaining) + - location: 156 (remaining gas: 1039847.864 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) @parameter ] - - location: 156 (remaining gas: 1039847.836 units remaining) + - location: 156 (remaining gas: 1039847.819 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) @parameter ] - - location: 156 (remaining gas: 1039847.791 units remaining) + - location: 156 (remaining gas: 1039847.774 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) @parameter ] - - location: 156 (remaining gas: 1039847.746 units remaining) + - location: 156 (remaining gas: 1039847.729 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) @parameter ] - - location: 156 (remaining gas: 1039847.701 units remaining) + - location: 156 (remaining gas: 1039847.684 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) @parameter ] - - location: 156 (remaining gas: 1039847.656 units remaining) + - location: 156 (remaining gas: 1039847.639 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) @parameter ] - - location: 156 (remaining gas: 1039847.656 units remaining) + - location: 156 (remaining gas: 1039847.639 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) @parameter ] - - location: 160 (remaining gas: 1039847.500 units remaining) + - location: 160 (remaining gas: 1039847.483 units remaining) [ 15 (Pair 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 163 (remaining gas: 1039847.455 units remaining) + - location: 163 (remaining gas: 1039847.438 units remaining) [ (Pair 15 5 1) (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 160 (remaining gas: 1039847.410 units remaining) + - location: 160 (remaining gas: 1039847.392 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) @parameter ] - - location: 160 (remaining gas: 1039847.365 units remaining) + - location: 160 (remaining gas: 1039847.347 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) @parameter ] - - location: 160 (remaining gas: 1039847.320 units remaining) + - location: 160 (remaining gas: 1039847.302 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) @parameter ] - - location: 160 (remaining gas: 1039847.275 units remaining) + - location: 160 (remaining gas: 1039847.257 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) @parameter ] - - location: 160 (remaining gas: 1039847.230 units remaining) + - location: 160 (remaining gas: 1039847.212 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) @parameter ] - - location: 160 (remaining gas: 1039847.185 units remaining) + - location: 160 (remaining gas: 1039847.167 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) @parameter ] - - location: 160 (remaining gas: 1039847.140 units remaining) + - location: 160 (remaining gas: 1039847.122 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) @parameter ] - - location: 160 (remaining gas: 1039847.095 units remaining) + - location: 160 (remaining gas: 1039847.077 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) @parameter ] - - location: 160 (remaining gas: 1039847.050 units remaining) + - location: 160 (remaining gas: 1039847.032 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) @parameter ] - - location: 160 (remaining gas: 1039847.005 units remaining) + - location: 160 (remaining gas: 1039846.987 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) @parameter ] - - location: 160 (remaining gas: 1039846.960 units remaining) + - location: 160 (remaining gas: 1039846.942 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) @parameter ] - - location: 160 (remaining gas: 1039846.915 units remaining) + - location: 160 (remaining gas: 1039846.897 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) @parameter ] - - location: 160 (remaining gas: 1039846.870 units remaining) + - location: 160 (remaining gas: 1039846.852 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) @parameter ] - - location: 160 (remaining gas: 1039846.825 units remaining) + - location: 160 (remaining gas: 1039846.807 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) @parameter ] - - location: 160 (remaining gas: 1039846.825 units remaining) + - location: 160 (remaining gas: 1039846.807 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) @parameter ] - - location: 164 (remaining gas: 1039846.673 units remaining) + - location: 164 (remaining gas: 1039846.655 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) @parameter ] - - location: 167 (remaining gas: 1039846.628 units remaining) + - location: 167 (remaining gas: 1039846.610 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) @parameter ] - - location: 164 (remaining gas: 1039846.583 units remaining) + - location: 164 (remaining gas: 1039846.564 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) @parameter ] - - location: 164 (remaining gas: 1039846.538 units remaining) + - location: 164 (remaining gas: 1039846.519 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) @parameter ] - - location: 164 (remaining gas: 1039846.493 units remaining) + - location: 164 (remaining gas: 1039846.474 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) @parameter ] - - location: 164 (remaining gas: 1039846.448 units remaining) + - location: 164 (remaining gas: 1039846.429 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) @parameter ] - - location: 164 (remaining gas: 1039846.403 units remaining) + - location: 164 (remaining gas: 1039846.384 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) @parameter ] - - location: 164 (remaining gas: 1039846.358 units remaining) + - location: 164 (remaining gas: 1039846.339 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) @parameter ] - - location: 164 (remaining gas: 1039846.313 units remaining) + - location: 164 (remaining gas: 1039846.294 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) @parameter ] - - location: 164 (remaining gas: 1039846.268 units remaining) + - location: 164 (remaining gas: 1039846.249 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) @parameter ] - - location: 164 (remaining gas: 1039846.223 units remaining) + - location: 164 (remaining gas: 1039846.204 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) @parameter ] - - location: 164 (remaining gas: 1039846.178 units remaining) + - location: 164 (remaining gas: 1039846.159 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) @parameter ] - - location: 164 (remaining gas: 1039846.133 units remaining) + - location: 164 (remaining gas: 1039846.114 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) @parameter ] - - location: 164 (remaining gas: 1039846.088 units remaining) + - location: 164 (remaining gas: 1039846.069 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) @parameter ] - - location: 164 (remaining gas: 1039846.043 units remaining) + - location: 164 (remaining gas: 1039846.024 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) @parameter ] - - location: 164 (remaining gas: 1039846.043 units remaining) + - location: 164 (remaining gas: 1039846.024 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) @parameter ] - - location: 168 (remaining gas: 1039845.895 units remaining) + - location: 168 (remaining gas: 1039845.876 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) @parameter ] - - location: 171 (remaining gas: 1039845.850 units remaining) + - location: 171 (remaining gas: 1039845.831 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) @parameter ] - - location: 168 (remaining gas: 1039845.805 units remaining) + - location: 168 (remaining gas: 1039845.785 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) @parameter ] - - location: 168 (remaining gas: 1039845.760 units remaining) + - location: 168 (remaining gas: 1039845.740 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) @parameter ] - - location: 168 (remaining gas: 1039845.715 units remaining) + - location: 168 (remaining gas: 1039845.695 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) @parameter ] - - location: 168 (remaining gas: 1039845.670 units remaining) + - location: 168 (remaining gas: 1039845.650 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) @parameter ] - - location: 168 (remaining gas: 1039845.625 units remaining) + - location: 168 (remaining gas: 1039845.605 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) @parameter ] - - location: 168 (remaining gas: 1039845.580 units remaining) + - location: 168 (remaining gas: 1039845.560 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) @parameter ] - - location: 168 (remaining gas: 1039845.535 units remaining) + - location: 168 (remaining gas: 1039845.515 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) @parameter ] - - location: 168 (remaining gas: 1039845.490 units remaining) + - location: 168 (remaining gas: 1039845.470 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) @parameter ] - - location: 168 (remaining gas: 1039845.445 units remaining) + - location: 168 (remaining gas: 1039845.425 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) @parameter ] - - location: 168 (remaining gas: 1039845.400 units remaining) + - location: 168 (remaining gas: 1039845.380 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) @parameter ] - - location: 168 (remaining gas: 1039845.355 units remaining) + - location: 168 (remaining gas: 1039845.335 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) @parameter ] - - location: 168 (remaining gas: 1039845.310 units remaining) + - location: 168 (remaining gas: 1039845.290 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) @parameter ] - - location: 168 (remaining gas: 1039845.310 units remaining) + - location: 168 (remaining gas: 1039845.290 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) @parameter ] - - location: 172 (remaining gas: 1039845.166 units remaining) + - location: 172 (remaining gas: 1039845.146 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) @parameter ] - - location: 175 (remaining gas: 1039845.121 units remaining) + - location: 175 (remaining gas: 1039845.101 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) @parameter ] - - location: 172 (remaining gas: 1039845.076 units remaining) + - location: 172 (remaining gas: 1039845.055 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) @parameter ] - - location: 172 (remaining gas: 1039845.031 units remaining) + - location: 172 (remaining gas: 1039845.010 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) @parameter ] - - location: 172 (remaining gas: 1039844.986 units remaining) + - location: 172 (remaining gas: 1039844.965 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) @parameter ] - - location: 172 (remaining gas: 1039844.941 units remaining) + - location: 172 (remaining gas: 1039844.920 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) @parameter ] - - location: 172 (remaining gas: 1039844.896 units remaining) + - location: 172 (remaining gas: 1039844.875 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) @parameter ] - - location: 172 (remaining gas: 1039844.851 units remaining) + - location: 172 (remaining gas: 1039844.830 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) @parameter ] - - location: 172 (remaining gas: 1039844.806 units remaining) + - location: 172 (remaining gas: 1039844.785 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) @parameter ] - - location: 172 (remaining gas: 1039844.761 units remaining) + - location: 172 (remaining gas: 1039844.740 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) @parameter ] - - location: 172 (remaining gas: 1039844.716 units remaining) + - location: 172 (remaining gas: 1039844.695 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) @parameter ] - - location: 172 (remaining gas: 1039844.671 units remaining) + - location: 172 (remaining gas: 1039844.650 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) @parameter ] - - location: 172 (remaining gas: 1039844.626 units remaining) + - location: 172 (remaining gas: 1039844.605 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) @parameter ] - - location: 172 (remaining gas: 1039844.626 units remaining) + - location: 172 (remaining gas: 1039844.605 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) @parameter ] - - location: 176 (remaining gas: 1039844.486 units remaining) + - location: 176 (remaining gas: 1039844.465 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) @parameter ] - - location: 179 (remaining gas: 1039844.441 units remaining) + - location: 179 (remaining gas: 1039844.420 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) @parameter ] - - location: 176 (remaining gas: 1039844.396 units remaining) + - location: 176 (remaining gas: 1039844.374 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) @parameter ] - - location: 176 (remaining gas: 1039844.351 units remaining) + - location: 176 (remaining gas: 1039844.329 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) @parameter ] - - location: 176 (remaining gas: 1039844.306 units remaining) + - location: 176 (remaining gas: 1039844.284 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) @parameter ] - - location: 176 (remaining gas: 1039844.261 units remaining) + - location: 176 (remaining gas: 1039844.239 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) @parameter ] - - location: 176 (remaining gas: 1039844.216 units remaining) + - location: 176 (remaining gas: 1039844.194 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) @parameter ] - - location: 176 (remaining gas: 1039844.171 units remaining) + - location: 176 (remaining gas: 1039844.149 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) @parameter ] - - location: 176 (remaining gas: 1039844.126 units remaining) + - location: 176 (remaining gas: 1039844.104 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) @parameter ] - - location: 176 (remaining gas: 1039844.081 units remaining) + - location: 176 (remaining gas: 1039844.059 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) @parameter ] - - location: 176 (remaining gas: 1039844.036 units remaining) + - location: 176 (remaining gas: 1039844.014 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) @parameter ] - - location: 176 (remaining gas: 1039843.991 units remaining) + - location: 176 (remaining gas: 1039843.969 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) @parameter ] - - location: 176 (remaining gas: 1039843.991 units remaining) + - location: 176 (remaining gas: 1039843.969 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) @parameter ] - - location: 180 (remaining gas: 1039843.855 units remaining) + - location: 180 (remaining gas: 1039843.833 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) @parameter ] - - location: 183 (remaining gas: 1039843.810 units remaining) + - location: 183 (remaining gas: 1039843.788 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) @parameter ] - - location: 180 (remaining gas: 1039843.765 units remaining) + - location: 180 (remaining gas: 1039843.742 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) @parameter ] - - location: 180 (remaining gas: 1039843.720 units remaining) + - location: 180 (remaining gas: 1039843.697 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) @parameter ] - - location: 180 (remaining gas: 1039843.675 units remaining) + - location: 180 (remaining gas: 1039843.652 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) @parameter ] - - location: 180 (remaining gas: 1039843.630 units remaining) + - location: 180 (remaining gas: 1039843.607 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) @parameter ] - - location: 180 (remaining gas: 1039843.585 units remaining) + - location: 180 (remaining gas: 1039843.562 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) @parameter ] - - location: 180 (remaining gas: 1039843.540 units remaining) + - location: 180 (remaining gas: 1039843.517 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) @parameter ] - - location: 180 (remaining gas: 1039843.495 units remaining) + - location: 180 (remaining gas: 1039843.472 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) @parameter ] - - location: 180 (remaining gas: 1039843.450 units remaining) + - location: 180 (remaining gas: 1039843.427 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) @parameter ] - - location: 180 (remaining gas: 1039843.405 units remaining) + - location: 180 (remaining gas: 1039843.382 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) @parameter ] - - location: 180 (remaining gas: 1039843.405 units remaining) + - location: 180 (remaining gas: 1039843.382 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) @parameter ] - - location: 184 (remaining gas: 1039843.273 units remaining) + - location: 184 (remaining gas: 1039843.250 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) @parameter ] - - location: 187 (remaining gas: 1039843.228 units remaining) + - location: 187 (remaining gas: 1039843.205 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) @parameter ] - - location: 184 (remaining gas: 1039843.183 units remaining) + - location: 184 (remaining gas: 1039843.159 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) @parameter ] - - location: 184 (remaining gas: 1039843.138 units remaining) + - location: 184 (remaining gas: 1039843.114 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) @parameter ] - - location: 184 (remaining gas: 1039843.093 units remaining) + - location: 184 (remaining gas: 1039843.069 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) @parameter ] - - location: 184 (remaining gas: 1039843.048 units remaining) + - location: 184 (remaining gas: 1039843.024 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) @parameter ] - - location: 184 (remaining gas: 1039843.003 units remaining) + - location: 184 (remaining gas: 1039842.979 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) @parameter ] - - location: 184 (remaining gas: 1039842.958 units remaining) + - location: 184 (remaining gas: 1039842.934 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) @parameter ] - - location: 184 (remaining gas: 1039842.913 units remaining) + - location: 184 (remaining gas: 1039842.889 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) @parameter ] - - location: 184 (remaining gas: 1039842.868 units remaining) + - location: 184 (remaining gas: 1039842.844 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) @parameter ] - - location: 184 (remaining gas: 1039842.868 units remaining) + - location: 184 (remaining gas: 1039842.844 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) @parameter ] - - location: 188 (remaining gas: 1039842.740 units remaining) + - location: 188 (remaining gas: 1039842.716 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) @parameter ] - - location: 191 (remaining gas: 1039842.695 units remaining) + - location: 191 (remaining gas: 1039842.671 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) @parameter ] - - location: 188 (remaining gas: 1039842.650 units remaining) + - location: 188 (remaining gas: 1039842.625 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) @parameter ] - - location: 188 (remaining gas: 1039842.605 units remaining) + - location: 188 (remaining gas: 1039842.580 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) @parameter ] - - location: 188 (remaining gas: 1039842.560 units remaining) + - location: 188 (remaining gas: 1039842.535 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) @parameter ] - - location: 188 (remaining gas: 1039842.515 units remaining) + - location: 188 (remaining gas: 1039842.490 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) @parameter ] - - location: 188 (remaining gas: 1039842.470 units remaining) + - location: 188 (remaining gas: 1039842.445 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) @parameter ] - - location: 188 (remaining gas: 1039842.425 units remaining) + - location: 188 (remaining gas: 1039842.400 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) @parameter ] - - location: 188 (remaining gas: 1039842.380 units remaining) + - location: 188 (remaining gas: 1039842.355 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) @parameter ] - - location: 188 (remaining gas: 1039842.380 units remaining) + - location: 188 (remaining gas: 1039842.355 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) @parameter ] - - location: 192 (remaining gas: 1039842.256 units remaining) + - location: 192 (remaining gas: 1039842.231 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) @parameter ] - - location: 195 (remaining gas: 1039842.211 units remaining) + - location: 195 (remaining gas: 1039842.186 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) @parameter ] - - location: 192 (remaining gas: 1039842.166 units remaining) + - location: 192 (remaining gas: 1039842.140 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) @parameter ] - - location: 192 (remaining gas: 1039842.121 units remaining) + - location: 192 (remaining gas: 1039842.095 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) @parameter ] - - location: 192 (remaining gas: 1039842.076 units remaining) + - location: 192 (remaining gas: 1039842.050 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) @parameter ] - - location: 192 (remaining gas: 1039842.031 units remaining) + - location: 192 (remaining gas: 1039842.005 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) @parameter ] - - location: 192 (remaining gas: 1039841.986 units remaining) + - location: 192 (remaining gas: 1039841.960 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) @parameter ] - - location: 192 (remaining gas: 1039841.941 units remaining) + - location: 192 (remaining gas: 1039841.915 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) @parameter ] - - location: 192 (remaining gas: 1039841.941 units remaining) + - location: 192 (remaining gas: 1039841.915 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) @parameter ] - - location: 196 (remaining gas: 1039841.821 units remaining) + - location: 196 (remaining gas: 1039841.795 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) @parameter ] - - location: 199 (remaining gas: 1039841.776 units remaining) + - location: 199 (remaining gas: 1039841.750 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) @parameter ] - - location: 196 (remaining gas: 1039841.731 units remaining) + - location: 196 (remaining gas: 1039841.704 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) @parameter ] - - location: 196 (remaining gas: 1039841.686 units remaining) + - location: 196 (remaining gas: 1039841.659 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) @parameter ] - - location: 196 (remaining gas: 1039841.641 units remaining) + - location: 196 (remaining gas: 1039841.614 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) @parameter ] - - location: 196 (remaining gas: 1039841.596 units remaining) + - location: 196 (remaining gas: 1039841.569 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) @parameter ] - - location: 196 (remaining gas: 1039841.551 units remaining) + - location: 196 (remaining gas: 1039841.524 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) @parameter ] - - location: 196 (remaining gas: 1039841.551 units remaining) + - location: 196 (remaining gas: 1039841.524 units remaining) [ 2 3 12 @@ -3314,116 +3314,116 @@ 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) @parameter ] - - location: 200 (remaining gas: 1039841.435 units remaining) + - location: 200 (remaining gas: 1039841.408 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) @parameter ] - - location: 203 (remaining gas: 1039841.390 units remaining) + - location: 203 (remaining gas: 1039841.363 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) @parameter ] - - location: 200 (remaining gas: 1039841.345 units remaining) + - location: 200 (remaining gas: 1039841.317 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) @parameter ] - - location: 200 (remaining gas: 1039841.300 units remaining) + - location: 200 (remaining gas: 1039841.272 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) @parameter ] - - location: 200 (remaining gas: 1039841.255 units remaining) + - location: 200 (remaining gas: 1039841.227 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) @parameter ] - - location: 200 (remaining gas: 1039841.210 units remaining) + - location: 200 (remaining gas: 1039841.182 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) @parameter ] - - location: 200 (remaining gas: 1039841.210 units remaining) + - location: 200 (remaining gas: 1039841.182 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) @parameter ] - - location: 204 (remaining gas: 1039841.098 units remaining) + - location: 204 (remaining gas: 1039841.070 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) @parameter ] - - location: 207 (remaining gas: 1039841.053 units remaining) + - location: 207 (remaining gas: 1039841.025 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) @parameter ] - - location: 204 (remaining gas: 1039841.008 units remaining) + - location: 204 (remaining gas: 1039840.979 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) @parameter ] - - location: 204 (remaining gas: 1039840.963 units remaining) + - location: 204 (remaining gas: 1039840.934 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) @parameter ] - - location: 204 (remaining gas: 1039840.918 units remaining) + - location: 204 (remaining gas: 1039840.889 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) @parameter ] - - location: 204 (remaining gas: 1039840.918 units remaining) + - location: 204 (remaining gas: 1039840.889 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) @parameter ] - - location: 208 (remaining gas: 1039840.810 units remaining) + - location: 208 (remaining gas: 1039840.781 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) @parameter ] - - location: 211 (remaining gas: 1039840.765 units remaining) + - location: 211 (remaining gas: 1039840.736 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) @parameter ] - - location: 208 (remaining gas: 1039840.720 units remaining) + - location: 208 (remaining gas: 1039840.690 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) @parameter ] - - location: 208 (remaining gas: 1039840.675 units remaining) + - location: 208 (remaining gas: 1039840.645 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) @parameter ] - - location: 208 (remaining gas: 1039840.675 units remaining) + - location: 208 (remaining gas: 1039840.645 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) @parameter ] - - location: 212 (remaining gas: 1039840.630 units remaining) + - location: 212 (remaining gas: 1039840.600 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) @parameter ] - - location: 214 (remaining gas: 1039840.585 units remaining) + - location: 214 (remaining gas: 1039840.555 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) @parameter ] - - location: 212 (remaining gas: 1039840.585 units remaining) + - location: 212 (remaining gas: 1039840.553 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) @parameter ] - - location: 215 (remaining gas: 1039840.540 units remaining) + - location: 215 (remaining gas: 1039840.508 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) @parameter ] - - location: 218 (remaining gas: 1039837.990 units remaining) + - location: 218 (remaining gas: 1039837.958 units remaining) [ 0 ] - - location: 219 (remaining gas: 1039837.940 units remaining) + - location: 219 (remaining gas: 1039837.908 units remaining) [ True ] - - location: 220 (remaining gas: 1039837.915 units remaining) + - location: 220 (remaining gas: 1039837.883 units remaining) [ ] - - location: 226 (remaining gas: 1039837.870 units remaining) + - location: 226 (remaining gas: 1039837.838 units remaining) [ Unit ] - - location: 227 (remaining gas: 1039837.825 units remaining) + - location: 227 (remaining gas: 1039837.793 units remaining) [ {} Unit ] - - location: 229 (remaining gas: 1039837.780 units remaining) + - location: 229 (remaining gas: 1039837.748 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 277252069e7a..4a0dcf5bc3a4 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 @@ -51,11 +51,11 @@ trace [ 4 ] - location: 27 (remaining gas: 1039983.919 units remaining) [ ] - - location: 22 (remaining gas: 1039983.919 units remaining) + - location: 22 (remaining gas: 1039983.917 units remaining) [ 5 ] - - location: 28 (remaining gas: 1039983.874 units remaining) + - location: 28 (remaining gas: 1039983.872 units remaining) [ {} 5 ] - - location: 30 (remaining gas: 1039983.829 units remaining) + - location: 30 (remaining gas: 1039983.827 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 0e774f33e9d4..3913e73aee57 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 @@ -23,14 +23,14 @@ trace 1 ] - location: 16 (remaining gas: 1039989.325 units remaining) [ 2 ] - - location: 14 (remaining gas: 1039989.325 units remaining) + - location: 14 (remaining gas: 1039989.323 units remaining) [ 1 2 ] - - location: 17 (remaining gas: 1039989.280 units remaining) + - location: 17 (remaining gas: 1039989.278 units remaining) [ (Pair 1 2) ] - - location: 18 (remaining gas: 1039989.235 units remaining) + - location: 18 (remaining gas: 1039989.233 units remaining) [ {} (Pair 1 2) ] - - location: 20 (remaining gas: 1039989.190 units remaining) + - location: 20 (remaining gas: 1039989.188 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 3536b62a9eb3..7db10102eafb 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 @@ -23,14 +23,14 @@ trace 9 ] - location: 16 (remaining gas: 1039989.325 units remaining) [ 24 ] - - location: 14 (remaining gas: 1039989.325 units remaining) + - location: 14 (remaining gas: 1039989.323 units remaining) [ 15 24 ] - - location: 17 (remaining gas: 1039989.280 units remaining) + - location: 17 (remaining gas: 1039989.278 units remaining) [ (Pair 15 24) ] - - location: 18 (remaining gas: 1039989.235 units remaining) + - location: 18 (remaining gas: 1039989.233 units remaining) [ {} (Pair 15 24) ] - - location: 20 (remaining gas: 1039989.190 units remaining) + - location: 20 (remaining gas: 1039989.188 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 f4f7c0379a50..1ae7b91fe223 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 @@ -33,61 +33,61 @@ trace [ ] - location: 23 (remaining gas: 1039982.885 units remaining) [ 6 ] - - location: 20 (remaining gas: 1039982.840 units remaining) + - location: 20 (remaining gas: 1039982.839 units remaining) [ 5 6 ] - - location: 20 (remaining gas: 1039982.795 units remaining) + - location: 20 (remaining gas: 1039982.794 units remaining) [ 4 5 6 ] - - location: 20 (remaining gas: 1039982.750 units remaining) + - location: 20 (remaining gas: 1039982.749 units remaining) [ 3 4 5 6 ] - - location: 20 (remaining gas: 1039982.705 units remaining) + - location: 20 (remaining gas: 1039982.704 units remaining) [ 2 3 4 5 6 ] - - location: 20 (remaining gas: 1039982.660 units remaining) + - location: 20 (remaining gas: 1039982.659 units remaining) [ 1 2 3 4 5 6 ] - - location: 20 (remaining gas: 1039982.660 units remaining) + - location: 20 (remaining gas: 1039982.659 units remaining) [ 1 2 3 4 5 6 ] - - location: 26 (remaining gas: 1039982.615 units remaining) + - location: 26 (remaining gas: 1039982.614 units remaining) [ 2 3 4 5 6 ] - - location: 27 (remaining gas: 1039982.570 units remaining) + - location: 27 (remaining gas: 1039982.569 units remaining) [ 3 4 5 6 ] - - location: 28 (remaining gas: 1039982.525 units remaining) + - location: 28 (remaining gas: 1039982.524 units remaining) [ 4 5 6 ] - - location: 29 (remaining gas: 1039982.480 units remaining) + - location: 29 (remaining gas: 1039982.479 units remaining) [ 5 6 ] - - location: 30 (remaining gas: 1039982.435 units remaining) + - location: 30 (remaining gas: 1039982.434 units remaining) [ 6 ] - - location: 31 (remaining gas: 1039982.390 units remaining) + - location: 31 (remaining gas: 1039982.389 units remaining) [ {} 6 ] - - location: 33 (remaining gas: 1039982.345 units remaining) + - location: 33 (remaining gas: 1039982.344 units remaining) [ (Pair {} 6) ] 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 01f3e49b059b..a33295978dab 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 @@ -28,115 +28,115 @@ trace - location: 31 (remaining gas: 1039966.090 units remaining) [ 2 (Pair -8 2) @parameter ] - - location: 29 (remaining gas: 1039966.090 units remaining) + - location: 29 (remaining gas: 1039966.088 units remaining) [ 8 2 (Pair -8 2) @parameter ] - - location: 32 (remaining gas: 1039965.790 units remaining) + - location: 32 (remaining gas: 1039965.788 units remaining) [ (Some (Pair 4 0)) (Pair -8 2) @parameter ] - - location: 33 (remaining gas: 1039965.750 units remaining) + - location: 33 (remaining gas: 1039965.748 units remaining) [ (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 34 (remaining gas: 1039965.700 units remaining) + - location: 34 (remaining gas: 1039965.698 units remaining) [ (Pair -8 2) @parameter (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 35 (remaining gas: 1039965.650 units remaining) + - location: 35 (remaining gas: 1039965.648 units remaining) [ -8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 36 (remaining gas: 1039965.570 units remaining) + - location: 36 (remaining gas: 1039965.568 units remaining) [ 8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 37 (remaining gas: 1039965.270 units remaining) + - location: 37 (remaining gas: 1039965.268 units remaining) [ (Some (Pair 4 0)) (Pair -8 2) @parameter (Some (Pair 4 0)) ] - - location: 38 (remaining gas: 1039965.230 units remaining) + - location: 38 (remaining gas: 1039965.228 units remaining) [ (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 39 (remaining gas: 1039965.180 units remaining) + - location: 39 (remaining gas: 1039965.178 units remaining) [ (Pair -8 2) @parameter (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 40 (remaining gas: 1039965.130 units remaining) + - location: 40 (remaining gas: 1039965.128 units remaining) [ -8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 41 (remaining gas: 1039965.085 units remaining) + - location: 41 (remaining gas: 1039965.083 units remaining) [ 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 43 (remaining gas: 1039965.005 units remaining) + - location: 43 (remaining gas: 1039965.003 units remaining) [ 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 41 (remaining gas: 1039965.005 units remaining) + - location: 41 (remaining gas: 1039965.001 units remaining) [ -8 2 (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 44 (remaining gas: 1039964.705 units remaining) + - location: 44 (remaining gas: 1039964.701 units remaining) [ (Some (Pair -4 0)) (Pair -8 2) @parameter (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 45 (remaining gas: 1039964.665 units remaining) + - location: 45 (remaining gas: 1039964.661 units remaining) [ (Pair -8 2) @parameter (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 46 (remaining gas: 1039964.615 units remaining) + - location: 46 (remaining gas: 1039964.611 units remaining) [ -8 2 (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 47 (remaining gas: 1039964.315 units remaining) + - location: 47 (remaining gas: 1039964.311 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 49 (remaining gas: 1039964.207 units remaining) + - location: 49 (remaining gas: 1039964.203 units remaining) [ (Some (Pair 4 0)) (Some (Pair 4 0)) ] - - location: 52 (remaining gas: 1039964.162 units remaining) + - location: 52 (remaining gas: 1039964.158 units remaining) [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039964.117 units remaining) + - location: 49 (remaining gas: 1039964.112 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039964.072 units remaining) + - location: 49 (remaining gas: 1039964.067 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039964.072 units remaining) + - location: 49 (remaining gas: 1039964.067 units remaining) [ (Some (Pair -4 0)) (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 53 (remaining gas: 1039964.027 units remaining) + - location: 53 (remaining gas: 1039964.022 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 55 (remaining gas: 1039963.982 units remaining) + - location: 55 (remaining gas: 1039963.977 units remaining) [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 53 (remaining gas: 1039963.982 units remaining) + - location: 53 (remaining gas: 1039963.975 units remaining) [ (Some (Pair -4 0)) (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 56 (remaining gas: 1039963.937 units remaining) + - location: 56 (remaining gas: 1039963.930 units remaining) [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 57 (remaining gas: 1039963.892 units remaining) + - location: 57 (remaining gas: 1039963.885 units remaining) [ {} (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 59 (remaining gas: 1039963.847 units remaining) + - location: 59 (remaining gas: 1039963.840 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 7d9e56dac0df..42a5c19225ee 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 @@ -28,115 +28,115 @@ trace - location: 31 (remaining gas: 1039966.090 units remaining) [ 3 (Pair 10 -3) @parameter ] - - location: 29 (remaining gas: 1039966.090 units remaining) + - location: 29 (remaining gas: 1039966.088 units remaining) [ 10 3 (Pair 10 -3) @parameter ] - - location: 32 (remaining gas: 1039965.790 units remaining) + - location: 32 (remaining gas: 1039965.788 units remaining) [ (Some (Pair 3 1)) (Pair 10 -3) @parameter ] - - location: 33 (remaining gas: 1039965.750 units remaining) + - location: 33 (remaining gas: 1039965.748 units remaining) [ (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039965.700 units remaining) + - location: 34 (remaining gas: 1039965.698 units remaining) [ (Pair 10 -3) @parameter (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 35 (remaining gas: 1039965.650 units remaining) + - location: 35 (remaining gas: 1039965.648 units remaining) [ 10 -3 (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 36 (remaining gas: 1039965.570 units remaining) + - location: 36 (remaining gas: 1039965.568 units remaining) [ 10 -3 (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 37 (remaining gas: 1039965.270 units remaining) + - location: 37 (remaining gas: 1039965.268 units remaining) [ (Some (Pair -3 1)) (Pair 10 -3) @parameter (Some (Pair 3 1)) ] - - location: 38 (remaining gas: 1039965.230 units remaining) + - location: 38 (remaining gas: 1039965.228 units remaining) [ (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 39 (remaining gas: 1039965.180 units remaining) + - location: 39 (remaining gas: 1039965.178 units remaining) [ (Pair 10 -3) @parameter (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 40 (remaining gas: 1039965.130 units remaining) + - location: 40 (remaining gas: 1039965.128 units remaining) [ 10 -3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 41 (remaining gas: 1039965.085 units remaining) + - location: 41 (remaining gas: 1039965.083 units remaining) [ -3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 43 (remaining gas: 1039965.005 units remaining) + - location: 43 (remaining gas: 1039965.003 units remaining) [ 3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 41 (remaining gas: 1039965.005 units remaining) + - location: 41 (remaining gas: 1039965.001 units remaining) [ 10 3 (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 44 (remaining gas: 1039964.705 units remaining) + - location: 44 (remaining gas: 1039964.701 units remaining) [ (Some (Pair 3 1)) (Pair 10 -3) @parameter (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 45 (remaining gas: 1039964.665 units remaining) + - location: 45 (remaining gas: 1039964.661 units remaining) [ (Pair 10 -3) @parameter (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 46 (remaining gas: 1039964.615 units remaining) + - location: 46 (remaining gas: 1039964.611 units remaining) [ 10 -3 (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 47 (remaining gas: 1039964.315 units remaining) + - location: 47 (remaining gas: 1039964.311 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 49 (remaining gas: 1039964.207 units remaining) + - location: 49 (remaining gas: 1039964.203 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) ] - - location: 52 (remaining gas: 1039964.162 units remaining) + - location: 52 (remaining gas: 1039964.158 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039964.117 units remaining) + - location: 49 (remaining gas: 1039964.112 units remaining) [ (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039964.072 units remaining) + - location: 49 (remaining gas: 1039964.067 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039964.072 units remaining) + - location: 49 (remaining gas: 1039964.067 units remaining) [ (Some (Pair -3 1)) (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 53 (remaining gas: 1039964.027 units remaining) + - location: 53 (remaining gas: 1039964.022 units remaining) [ (Some (Pair 3 1)) (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 55 (remaining gas: 1039963.982 units remaining) + - location: 55 (remaining gas: 1039963.977 units remaining) [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 53 (remaining gas: 1039963.982 units remaining) + - location: 53 (remaining gas: 1039963.975 units remaining) [ (Some (Pair -3 1)) (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 56 (remaining gas: 1039963.937 units remaining) + - location: 56 (remaining gas: 1039963.930 units remaining) [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 57 (remaining gas: 1039963.892 units remaining) + - location: 57 (remaining gas: 1039963.885 units remaining) [ {} (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 59 (remaining gas: 1039963.847 units remaining) + - location: 59 (remaining gas: 1039963.840 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 23377d4f70bf..ec581d7aa8a3 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 @@ -28,115 +28,115 @@ trace - location: 31 (remaining gas: 1039966.090 units remaining) [ 0 (Pair 10 0) @parameter ] - - location: 29 (remaining gas: 1039966.090 units remaining) + - location: 29 (remaining gas: 1039966.088 units remaining) [ 10 0 (Pair 10 0) @parameter ] - - location: 32 (remaining gas: 1039965.790 units remaining) + - location: 32 (remaining gas: 1039965.788 units remaining) [ None (Pair 10 0) @parameter ] - - location: 33 (remaining gas: 1039965.750 units remaining) + - location: 33 (remaining gas: 1039965.748 units remaining) [ (Pair 10 0) @parameter None ] - - location: 34 (remaining gas: 1039965.700 units remaining) + - location: 34 (remaining gas: 1039965.698 units remaining) [ (Pair 10 0) @parameter (Pair 10 0) @parameter None ] - - location: 35 (remaining gas: 1039965.650 units remaining) + - location: 35 (remaining gas: 1039965.648 units remaining) [ 10 0 (Pair 10 0) @parameter None ] - - location: 36 (remaining gas: 1039965.570 units remaining) + - location: 36 (remaining gas: 1039965.568 units remaining) [ 10 0 (Pair 10 0) @parameter None ] - - location: 37 (remaining gas: 1039965.270 units remaining) + - location: 37 (remaining gas: 1039965.268 units remaining) [ None (Pair 10 0) @parameter None ] - - location: 38 (remaining gas: 1039965.230 units remaining) + - location: 38 (remaining gas: 1039965.228 units remaining) [ (Pair 10 0) @parameter None None ] - - location: 39 (remaining gas: 1039965.180 units remaining) + - location: 39 (remaining gas: 1039965.178 units remaining) [ (Pair 10 0) @parameter (Pair 10 0) @parameter None None ] - - location: 40 (remaining gas: 1039965.130 units remaining) + - location: 40 (remaining gas: 1039965.128 units remaining) [ 10 0 (Pair 10 0) @parameter None None ] - - location: 41 (remaining gas: 1039965.085 units remaining) + - location: 41 (remaining gas: 1039965.083 units remaining) [ 0 (Pair 10 0) @parameter None None ] - - location: 43 (remaining gas: 1039965.005 units remaining) + - location: 43 (remaining gas: 1039965.003 units remaining) [ 0 (Pair 10 0) @parameter None None ] - - location: 41 (remaining gas: 1039965.005 units remaining) + - location: 41 (remaining gas: 1039965.001 units remaining) [ 10 0 (Pair 10 0) @parameter None None ] - - location: 44 (remaining gas: 1039964.705 units remaining) + - location: 44 (remaining gas: 1039964.701 units remaining) [ None (Pair 10 0) @parameter None None ] - - location: 45 (remaining gas: 1039964.665 units remaining) + - location: 45 (remaining gas: 1039964.661 units remaining) [ (Pair 10 0) @parameter None None None ] - - location: 46 (remaining gas: 1039964.615 units remaining) + - location: 46 (remaining gas: 1039964.611 units remaining) [ 10 0 None None None ] - - location: 47 (remaining gas: 1039964.315 units remaining) + - location: 47 (remaining gas: 1039964.311 units remaining) [ None None None None ] - - location: 49 (remaining gas: 1039964.207 units remaining) + - location: 49 (remaining gas: 1039964.203 units remaining) [ None None ] - - location: 52 (remaining gas: 1039964.162 units remaining) + - location: 52 (remaining gas: 1039964.158 units remaining) [ (Pair None None) ] - - location: 49 (remaining gas: 1039964.117 units remaining) + - location: 49 (remaining gas: 1039964.112 units remaining) [ None (Pair None None) ] - - location: 49 (remaining gas: 1039964.072 units remaining) + - location: 49 (remaining gas: 1039964.067 units remaining) [ None None (Pair None None) ] - - location: 49 (remaining gas: 1039964.072 units remaining) + - location: 49 (remaining gas: 1039964.067 units remaining) [ None None (Pair None None) ] - - location: 53 (remaining gas: 1039964.027 units remaining) + - location: 53 (remaining gas: 1039964.022 units remaining) [ None (Pair None None) ] - - location: 55 (remaining gas: 1039963.982 units remaining) + - location: 55 (remaining gas: 1039963.977 units remaining) [ (Pair None None None) ] - - location: 53 (remaining gas: 1039963.982 units remaining) + - location: 53 (remaining gas: 1039963.975 units remaining) [ None (Pair None None None) ] - - location: 56 (remaining gas: 1039963.937 units remaining) + - location: 56 (remaining gas: 1039963.930 units remaining) [ (Pair None None None None) ] - - location: 57 (remaining gas: 1039963.892 units remaining) + - location: 57 (remaining gas: 1039963.885 units remaining) [ {} (Pair None None None None) ] - - location: 59 (remaining gas: 1039963.847 units remaining) + - location: 59 (remaining gas: 1039963.840 units remaining) [ (Pair {} None None None None) ] 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 bbfd9a793243..61bcc134de52 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" @@ -38,11 +38,11 @@ trace [ { "" ; "_abc" } ] - location: 21 (remaining gas: 1039985.933 units remaining) [ "_abc" ] - - location: 23 (remaining gas: 1039985.933 units remaining) + - location: 23 (remaining gas: 1039985.931 units remaining) [ "_abc" ] - - location: 24 (remaining gas: 1039985.888 units remaining) + - location: 24 (remaining gas: 1039985.886 units remaining) [ {} "_abc" ] - - location: 26 (remaining gas: 1039985.843 units remaining) + - location: 26 (remaining gas: 1039985.841 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 919790c6739d..68d322187f3a 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" @@ -38,11 +38,11 @@ trace [ { "test" ; "_abc" } ] - location: 21 (remaining gas: 1039985.893 units remaining) [ "test_abc" ] - - location: 23 (remaining gas: 1039985.893 units remaining) + - location: 23 (remaining gas: 1039985.891 units remaining) [ "test_abc" ] - - location: 24 (remaining gas: 1039985.848 units remaining) + - location: 24 (remaining gas: 1039985.846 units remaining) [ {} "test_abc" ] - - location: 26 (remaining gas: 1039985.803 units remaining) + - location: 26 (remaining gas: 1039985.801 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 16d0e9f4f8a9..c166c0e99e5c 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 @@ -18,11 +18,11 @@ trace [ { 2 ; 3 ; 4 } @parameter.tl ] - location: 13 (remaining gas: 1039990.065 units remaining) [ ] - - location: 11 (remaining gas: 1039990.065 units remaining) + - location: 11 (remaining gas: 1039990.063 units remaining) [ 1 @parameter.hd ] - - location: 18 (remaining gas: 1039990.020 units remaining) + - location: 18 (remaining gas: 1039990.018 units remaining) [ {} 1 @parameter.hd ] - - location: 20 (remaining gas: 1039989.975 units remaining) + - location: 20 (remaining gas: 1039989.973 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 809ddce23493..8eb983799d28 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 @@ -18,11 +18,11 @@ trace [ {} @parameter.tl ] - location: 13 (remaining gas: 1039990.785 units remaining) [ ] - - location: 11 (remaining gas: 1039990.785 units remaining) + - location: 11 (remaining gas: 1039990.783 units remaining) [ 4 @parameter.hd ] - - location: 18 (remaining gas: 1039990.740 units remaining) + - location: 18 (remaining gas: 1039990.738 units remaining) [ {} 4 @parameter.hd ] - - location: 20 (remaining gas: 1039990.695 units remaining) + - location: 20 (remaining gas: 1039990.693 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 2daaaa2b4f56..21732c6ab73d 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039989.426 units remaining) [ (Some 4) {} ] - - location: 14 (remaining gas: 1039989.426 units remaining) + - location: 14 (remaining gas: 1039989.424 units remaining) [ "hello" @parameter (Some 4) {} ] - - location: 17 (remaining gas: 1039989.266 units remaining) + - location: 17 (remaining gas: 1039989.264 units remaining) [ None { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039989.221 units remaining) + - location: 18 (remaining gas: 1039989.219 units remaining) [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039989.176 units remaining) + - location: 19 (remaining gas: 1039989.174 units remaining) [ {} (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039989.131 units remaining) + - location: 21 (remaining gas: 1039989.129 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 b1bdfd284afb..fb5cd17cc6ef 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039988.832 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.832 units remaining) + - location: 14 (remaining gas: 1039988.830 units remaining) [ "hi" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.672 units remaining) + - location: 17 (remaining gas: 1039988.670 units remaining) [ None { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039988.627 units remaining) + - location: 18 (remaining gas: 1039988.625 units remaining) [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039988.582 units remaining) + - location: 19 (remaining gas: 1039988.580 units remaining) [ {} (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039988.537 units remaining) + - location: 21 (remaining gas: 1039988.535 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 0c560e3bda5b..620fce3c0da2 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039988.802 units remaining) [ (Some 5) { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.802 units remaining) + - location: 14 (remaining gas: 1039988.800 units remaining) [ "hello" @parameter (Some 5) { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.642 units remaining) + - location: 17 (remaining gas: 1039988.640 units remaining) [ (Some 4) { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039988.597 units remaining) + - location: 18 (remaining gas: 1039988.595 units remaining) [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039988.552 units remaining) + - location: 19 (remaining gas: 1039988.550 units remaining) [ {} (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039988.507 units remaining) + - location: 21 (remaining gas: 1039988.505 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 01bf7dccd69e..3a908683d14c 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039988.418 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039988.418 units remaining) + - location: 14 (remaining gas: 1039988.416 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039988.258 units remaining) + - location: 17 (remaining gas: 1039988.256 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039988.213 units remaining) + - location: 18 (remaining gas: 1039988.211 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039988.168 units remaining) + - location: 19 (remaining gas: 1039988.166 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039988.123 units remaining) + - location: 21 (remaining gas: 1039988.121 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 8f745e248d3a..69c205b9b084 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039988.418 units remaining) [ None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039988.418 units remaining) + - location: 14 (remaining gas: 1039988.416 units remaining) [ "1" @parameter None { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039988.258 units remaining) + - location: 17 (remaining gas: 1039988.256 units remaining) [ (Some 1) { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039988.213 units remaining) + - location: 18 (remaining gas: 1039988.211 units remaining) [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039988.168 units remaining) + - location: 19 (remaining gas: 1039988.166 units remaining) [ {} (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039988.123 units remaining) + - location: 21 (remaining gas: 1039988.121 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 b92538ca67b5..b5cccb4858e0 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039989.042 units remaining) [ None { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039989.042 units remaining) + - location: 14 (remaining gas: 1039989.040 units remaining) [ "hello" @parameter None { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.882 units remaining) + - location: 17 (remaining gas: 1039988.880 units remaining) [ (Some 4) {} ] - - location: 18 (remaining gas: 1039988.837 units remaining) + - location: 18 (remaining gas: 1039988.835 units remaining) [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039988.792 units remaining) + - location: 19 (remaining gas: 1039988.790 units remaining) [ {} (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039988.747 units remaining) + - location: 21 (remaining gas: 1039988.745 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 088a9f8e53ec..8ad023f2709c 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" @@ -17,18 +17,18 @@ trace - location: 16 (remaining gas: 1039989.666 units remaining) [ None {} ] - - location: 14 (remaining gas: 1039989.666 units remaining) + - location: 14 (remaining gas: 1039989.664 units remaining) [ "hello" @parameter None {} ] - - location: 17 (remaining gas: 1039989.506 units remaining) + - location: 17 (remaining gas: 1039989.504 units remaining) [ None {} ] - - location: 18 (remaining gas: 1039989.461 units remaining) + - location: 18 (remaining gas: 1039989.459 units remaining) [ (Pair None {}) ] - - location: 19 (remaining gas: 1039989.416 units remaining) + - location: 19 (remaining gas: 1039989.414 units remaining) [ {} (Pair None {}) ] - - location: 21 (remaining gas: 1039989.371 units remaining) + - location: 21 (remaining gas: 1039989.369 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 388ccc53e988..c26e91d29c69 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" @@ -24,18 +24,18 @@ trace - location: 19 (remaining gas: 1039983.900 units remaining) [ { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039983.900 units remaining) + - location: 14 (remaining gas: 1039983.898 units remaining) [ "1" @parameter { Elt "1" "one" ; Elt "2" "two" } { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039983.820 units remaining) + - location: 20 (remaining gas: 1039983.818 units remaining) [ (Some "one") { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039983.775 units remaining) + - location: 21 (remaining gas: 1039983.773 units remaining) [ (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 22 (remaining gas: 1039983.730 units remaining) + - location: 22 (remaining gas: 1039983.728 units remaining) [ {} (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 24 (remaining gas: 1039983.685 units remaining) + - location: 24 (remaining gas: 1039983.683 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 fd202ee6b283..5389c4aa5dc3 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" @@ -24,18 +24,18 @@ trace - location: 19 (remaining gas: 1039984.628 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039984.628 units remaining) + - location: 14 (remaining gas: 1039984.626 units remaining) [ "" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039984.548 units remaining) + - location: 20 (remaining gas: 1039984.546 units remaining) [ None { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039984.503 units remaining) + - location: 21 (remaining gas: 1039984.501 units remaining) [ (Pair None { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039984.458 units remaining) + - location: 22 (remaining gas: 1039984.456 units remaining) [ {} (Pair None { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039984.413 units remaining) + - location: 24 (remaining gas: 1039984.411 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 e08fb47d2224..e6834630a27e 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" @@ -24,18 +24,18 @@ trace - location: 19 (remaining gas: 1039984.578 units remaining) [ { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039984.578 units remaining) + - location: 14 (remaining gas: 1039984.576 units remaining) [ "hello" @parameter { Elt "hello" "hi" } { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039984.498 units remaining) + - location: 20 (remaining gas: 1039984.496 units remaining) [ (Some "hi") { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039984.453 units remaining) + - location: 21 (remaining gas: 1039984.451 units remaining) [ (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039984.408 units remaining) + - location: 22 (remaining gas: 1039984.406 units remaining) [ {} (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039984.363 units remaining) + - location: 24 (remaining gas: 1039984.361 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[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 9b1eb8ad191d..a53c745df07c 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" @@ -13,15 +13,15 @@ trace [ { "1" ; "2" ; "3" } @parameter ] - location: 10 (remaining gas: 1039992.799 units remaining) [ "1" ] - - location: 10 (remaining gas: 1039992.799 units remaining) + - location: 10 (remaining gas: 1039992.798 units remaining) [ "2" ] - - location: 10 (remaining gas: 1039992.799 units remaining) + - location: 10 (remaining gas: 1039992.797 units remaining) [ "3" ] - - location: 10 (remaining gas: 1039992.799 units remaining) + - location: 10 (remaining gas: 1039992.796 units remaining) [ { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039992.754 units remaining) + - location: 12 (remaining gas: 1039992.751 units remaining) [ {} { "1" ; "2" ; "3" } ] - - location: 14 (remaining gas: 1039992.709 units remaining) + - location: 14 (remaining gas: 1039992.706 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 8bdf27f01200..2d9d45c2849c 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" @@ -13,15 +13,15 @@ trace [ { "a" ; "b" ; "c" } @parameter ] - location: 10 (remaining gas: 1039992.799 units remaining) [ "a" ] - - location: 10 (remaining gas: 1039992.799 units remaining) + - location: 10 (remaining gas: 1039992.798 units remaining) [ "b" ] - - location: 10 (remaining gas: 1039992.799 units remaining) + - location: 10 (remaining gas: 1039992.797 units remaining) [ "c" ] - - location: 10 (remaining gas: 1039992.799 units remaining) + - location: 10 (remaining gas: 1039992.796 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039992.754 units remaining) + - location: 12 (remaining gas: 1039992.751 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039992.709 units remaining) + - location: 14 (remaining gas: 1039992.706 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] 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 cf9dff97751a..31a867991513 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 @@ -22,21 +22,21 @@ trace 1 ] - location: 15 (remaining gas: 1039990.839 units remaining) [ 10 ] - - location: 13 (remaining gas: 1039990.839 units remaining) + - location: 13 (remaining gas: 1039990.838 units remaining) [ 2 @parameter.elt 10 ] - - location: 15 (remaining gas: 1039990.753 units remaining) + - location: 15 (remaining gas: 1039990.752 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039990.753 units remaining) + - location: 13 (remaining gas: 1039990.751 units remaining) [ 1 @parameter.elt 20 ] - - location: 15 (remaining gas: 1039990.667 units remaining) + - location: 15 (remaining gas: 1039990.665 units remaining) [ 20 ] - - location: 13 (remaining gas: 1039990.667 units remaining) + - location: 13 (remaining gas: 1039990.664 units remaining) [ 20 ] - - location: 16 (remaining gas: 1039990.622 units remaining) + - location: 16 (remaining gas: 1039990.619 units remaining) [ {} 20 ] - - location: 18 (remaining gas: 1039990.577 units remaining) + - location: 18 (remaining gas: 1039990.574 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 853a96464980..7737ffb7054e 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 @@ -22,21 +22,21 @@ trace 1 ] - location: 15 (remaining gas: 1039990.839 units remaining) [ 3 ] - - location: 13 (remaining gas: 1039990.839 units remaining) + - location: 13 (remaining gas: 1039990.838 units remaining) [ 6 @parameter.elt 3 ] - - location: 15 (remaining gas: 1039990.753 units remaining) + - location: 15 (remaining gas: 1039990.752 units remaining) [ 18 ] - - location: 13 (remaining gas: 1039990.753 units remaining) + - location: 13 (remaining gas: 1039990.751 units remaining) [ 9 @parameter.elt 18 ] - - location: 15 (remaining gas: 1039990.667 units remaining) + - location: 15 (remaining gas: 1039990.665 units remaining) [ 162 ] - - location: 13 (remaining gas: 1039990.667 units remaining) + - location: 13 (remaining gas: 1039990.664 units remaining) [ 162 ] - - location: 16 (remaining gas: 1039990.622 units remaining) + - location: 16 (remaining gas: 1039990.619 units remaining) [ {} 162 ] - - location: 18 (remaining gas: 1039990.577 units remaining) + - location: 18 (remaining gas: 1039990.574 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 6c1c92280d18..3a145f1cddf8 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 @@ -25,112 +25,112 @@ trace - location: 18 (remaining gas: 1039984.150 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039984.150 units remaining) + - location: 16 (remaining gas: 1039984.148 units remaining) [ 1 @parameter.elt 0 0 ] - - location: 19 (remaining gas: 1039984.070 units remaining) + - location: 19 (remaining gas: 1039984.068 units remaining) [ 1 0 ] - - location: 20 (remaining gas: 1039984.025 units remaining) + - location: 20 (remaining gas: 1039984.023 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039983.980 units remaining) + - location: 22 (remaining gas: 1039983.978 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039983.900 units remaining) + - location: 25 (remaining gas: 1039983.898 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039983.900 units remaining) + - location: 20 (remaining gas: 1039983.896 units remaining) [ 1 1 ] - - location: 14 (remaining gas: 1039983.900 units remaining) + - location: 14 (remaining gas: 1039983.895 units remaining) [ 1 @parameter.elt 1 ] - - location: 16 (remaining gas: 1039983.855 units remaining) + - location: 16 (remaining gas: 1039983.850 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039983.805 units remaining) + - location: 18 (remaining gas: 1039983.800 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039983.805 units remaining) + - location: 16 (remaining gas: 1039983.798 units remaining) [ 1 @parameter.elt 1 1 ] - - location: 19 (remaining gas: 1039983.725 units remaining) + - location: 19 (remaining gas: 1039983.718 units remaining) [ 2 1 ] - - location: 20 (remaining gas: 1039983.680 units remaining) + - location: 20 (remaining gas: 1039983.673 units remaining) [ 1 ] - - location: 22 (remaining gas: 1039983.635 units remaining) + - location: 22 (remaining gas: 1039983.628 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039983.555 units remaining) + - location: 25 (remaining gas: 1039983.548 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039983.555 units remaining) + - location: 20 (remaining gas: 1039983.546 units remaining) [ 2 2 ] - - location: 14 (remaining gas: 1039983.555 units remaining) + - location: 14 (remaining gas: 1039983.545 units remaining) [ 1 @parameter.elt 2 ] - - location: 16 (remaining gas: 1039983.510 units remaining) + - location: 16 (remaining gas: 1039983.500 units remaining) [ 2 ] - - location: 18 (remaining gas: 1039983.460 units remaining) + - location: 18 (remaining gas: 1039983.450 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039983.460 units remaining) + - location: 16 (remaining gas: 1039983.448 units remaining) [ 1 @parameter.elt 2 2 ] - - location: 19 (remaining gas: 1039983.380 units remaining) + - location: 19 (remaining gas: 1039983.368 units remaining) [ 3 2 ] - - location: 20 (remaining gas: 1039983.335 units remaining) + - location: 20 (remaining gas: 1039983.323 units remaining) [ 2 ] - - location: 22 (remaining gas: 1039983.290 units remaining) + - location: 22 (remaining gas: 1039983.278 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039983.210 units remaining) + - location: 25 (remaining gas: 1039983.198 units remaining) [ 3 ] - - location: 20 (remaining gas: 1039983.210 units remaining) + - location: 20 (remaining gas: 1039983.196 units remaining) [ 3 3 ] - - location: 14 (remaining gas: 1039983.210 units remaining) + - location: 14 (remaining gas: 1039983.195 units remaining) [ 1 @parameter.elt 3 ] - - location: 16 (remaining gas: 1039983.165 units remaining) + - location: 16 (remaining gas: 1039983.150 units remaining) [ 3 ] - - location: 18 (remaining gas: 1039983.115 units remaining) + - location: 18 (remaining gas: 1039983.100 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039983.115 units remaining) + - location: 16 (remaining gas: 1039983.098 units remaining) [ 1 @parameter.elt 3 3 ] - - location: 19 (remaining gas: 1039983.035 units remaining) + - location: 19 (remaining gas: 1039983.018 units remaining) [ 4 3 ] - - location: 20 (remaining gas: 1039982.990 units remaining) + - location: 20 (remaining gas: 1039982.973 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039982.945 units remaining) + - location: 22 (remaining gas: 1039982.928 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039982.865 units remaining) + - location: 25 (remaining gas: 1039982.848 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039982.865 units remaining) + - location: 20 (remaining gas: 1039982.846 units remaining) [ 4 4 ] - - location: 14 (remaining gas: 1039982.865 units remaining) + - location: 14 (remaining gas: 1039982.845 units remaining) [ { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 26 (remaining gas: 1039982.820 units remaining) + - location: 26 (remaining gas: 1039982.800 units remaining) [ {} { 1 ; 2 ; 3 ; 4 } 4 ] - - location: 28 (remaining gas: 1039982.775 units remaining) + - location: 28 (remaining gas: 1039982.755 units remaining) [ (Pair {} { 1 ; 2 ; 3 ; 4 }) 4 ] - - location: 29 (remaining gas: 1039982.730 units remaining) + - location: 29 (remaining gas: 1039982.710 units remaining) [ 4 ] - - location: 31 (remaining gas: 1039982.685 units remaining) + - location: 31 (remaining gas: 1039982.665 units remaining) [ ] - - location: 29 (remaining gas: 1039982.685 units remaining) + - location: 29 (remaining gas: 1039982.663 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 4ed74d6e4b7f..909ae713627d 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 @@ -25,112 +25,112 @@ trace - location: 18 (remaining gas: 1039984.150 units remaining) [ 0 0 ] - - location: 16 (remaining gas: 1039984.150 units remaining) + - location: 16 (remaining gas: 1039984.148 units remaining) [ 1 @parameter.elt 0 0 ] - - location: 19 (remaining gas: 1039984.070 units remaining) + - location: 19 (remaining gas: 1039984.068 units remaining) [ 1 0 ] - - location: 20 (remaining gas: 1039984.025 units remaining) + - location: 20 (remaining gas: 1039984.023 units remaining) [ 0 ] - - location: 22 (remaining gas: 1039983.980 units remaining) + - location: 22 (remaining gas: 1039983.978 units remaining) [ 1 0 ] - - location: 25 (remaining gas: 1039983.900 units remaining) + - location: 25 (remaining gas: 1039983.898 units remaining) [ 1 ] - - location: 20 (remaining gas: 1039983.900 units remaining) + - location: 20 (remaining gas: 1039983.896 units remaining) [ 1 1 ] - - location: 14 (remaining gas: 1039983.900 units remaining) + - location: 14 (remaining gas: 1039983.895 units remaining) [ 2 @parameter.elt 1 ] - - location: 16 (remaining gas: 1039983.855 units remaining) + - location: 16 (remaining gas: 1039983.850 units remaining) [ 1 ] - - location: 18 (remaining gas: 1039983.805 units remaining) + - location: 18 (remaining gas: 1039983.800 units remaining) [ 1 1 ] - - location: 16 (remaining gas: 1039983.805 units remaining) + - location: 16 (remaining gas: 1039983.798 units remaining) [ 2 @parameter.elt 1 1 ] - - location: 19 (remaining gas: 1039983.725 units remaining) + - location: 19 (remaining gas: 1039983.718 units remaining) [ 3 1 ] - - location: 20 (remaining gas: 1039983.680 units remaining) + - location: 20 (remaining gas: 1039983.673 units remaining) [ 1 ] - - location: 22 (remaining gas: 1039983.635 units remaining) + - location: 22 (remaining gas: 1039983.628 units remaining) [ 1 1 ] - - location: 25 (remaining gas: 1039983.555 units remaining) + - location: 25 (remaining gas: 1039983.548 units remaining) [ 2 ] - - location: 20 (remaining gas: 1039983.555 units remaining) + - location: 20 (remaining gas: 1039983.546 units remaining) [ 3 2 ] - - location: 14 (remaining gas: 1039983.555 units remaining) + - location: 14 (remaining gas: 1039983.545 units remaining) [ 3 @parameter.elt 2 ] - - location: 16 (remaining gas: 1039983.510 units remaining) + - location: 16 (remaining gas: 1039983.500 units remaining) [ 2 ] - - location: 18 (remaining gas: 1039983.460 units remaining) + - location: 18 (remaining gas: 1039983.450 units remaining) [ 2 2 ] - - location: 16 (remaining gas: 1039983.460 units remaining) + - location: 16 (remaining gas: 1039983.448 units remaining) [ 3 @parameter.elt 2 2 ] - - location: 19 (remaining gas: 1039983.380 units remaining) + - location: 19 (remaining gas: 1039983.368 units remaining) [ 5 2 ] - - location: 20 (remaining gas: 1039983.335 units remaining) + - location: 20 (remaining gas: 1039983.323 units remaining) [ 2 ] - - location: 22 (remaining gas: 1039983.290 units remaining) + - location: 22 (remaining gas: 1039983.278 units remaining) [ 1 2 ] - - location: 25 (remaining gas: 1039983.210 units remaining) + - location: 25 (remaining gas: 1039983.198 units remaining) [ 3 ] - - location: 20 (remaining gas: 1039983.210 units remaining) + - location: 20 (remaining gas: 1039983.196 units remaining) [ 5 3 ] - - location: 14 (remaining gas: 1039983.210 units remaining) + - location: 14 (remaining gas: 1039983.195 units remaining) [ 0 @parameter.elt 3 ] - - location: 16 (remaining gas: 1039983.165 units remaining) + - location: 16 (remaining gas: 1039983.150 units remaining) [ 3 ] - - location: 18 (remaining gas: 1039983.115 units remaining) + - location: 18 (remaining gas: 1039983.100 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039983.115 units remaining) + - location: 16 (remaining gas: 1039983.098 units remaining) [ 0 @parameter.elt 3 3 ] - - location: 19 (remaining gas: 1039983.035 units remaining) + - location: 19 (remaining gas: 1039983.018 units remaining) [ 3 3 ] - - location: 20 (remaining gas: 1039982.990 units remaining) + - location: 20 (remaining gas: 1039982.973 units remaining) [ 3 ] - - location: 22 (remaining gas: 1039982.945 units remaining) + - location: 22 (remaining gas: 1039982.928 units remaining) [ 1 3 ] - - location: 25 (remaining gas: 1039982.865 units remaining) + - location: 25 (remaining gas: 1039982.848 units remaining) [ 4 ] - - location: 20 (remaining gas: 1039982.865 units remaining) + - location: 20 (remaining gas: 1039982.846 units remaining) [ 3 4 ] - - location: 14 (remaining gas: 1039982.865 units remaining) + - location: 14 (remaining gas: 1039982.845 units remaining) [ { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 26 (remaining gas: 1039982.820 units remaining) + - location: 26 (remaining gas: 1039982.800 units remaining) [ {} { 1 ; 3 ; 5 ; 3 } 4 ] - - location: 28 (remaining gas: 1039982.775 units remaining) + - location: 28 (remaining gas: 1039982.755 units remaining) [ (Pair {} { 1 ; 3 ; 5 ; 3 }) 4 ] - - location: 29 (remaining gas: 1039982.730 units remaining) + - location: 29 (remaining gas: 1039982.710 units remaining) [ 4 ] - - location: 31 (remaining gas: 1039982.685 units remaining) + - location: 31 (remaining gas: 1039982.665 units remaining) [ ] - - location: 29 (remaining gas: 1039982.685 units remaining) + - location: 29 (remaining gas: 1039982.663 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 eb58d951b8e3..4e3ce8c6732e 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 @@ -31,6 +31,6 @@ trace [ 0 ] - location: 31 (remaining gas: 1039985.025 units remaining) [ ] - - location: 29 (remaining gas: 1039985.025 units remaining) + - location: 29 (remaining gas: 1039985.023 units remaining) [ (Pair {} {}) ] 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 6c8144066a45..774540001880 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" @@ -33,123 +33,123 @@ trace [ (Pair { "c" ; "b" ; "a" } {}) ] - location: 23 (remaining gas: 1039976.444 units remaining) [ {} ] - - location: 21 (remaining gas: 1039976.444 units remaining) + - location: 21 (remaining gas: 1039976.442 units remaining) [ { "c" ; "b" ; "a" } @parameter {} ] - - location: 24 (remaining gas: 1039976.414 units remaining) + - location: 24 (remaining gas: 1039976.412 units remaining) [ "c" @parameter.hd { "b" ; "a" } @parameter.tl {} ] - - location: 26 (remaining gas: 1039976.374 units remaining) + - location: 26 (remaining gas: 1039976.372 units remaining) [ { "b" ; "a" } @parameter.tl "c" @parameter.hd {} ] - - location: 27 (remaining gas: 1039976.329 units remaining) + - location: 27 (remaining gas: 1039976.327 units remaining) [ "c" @parameter.hd {} ] - - location: 29 (remaining gas: 1039976.279 units remaining) + - location: 29 (remaining gas: 1039976.277 units remaining) [ { "c" } ] - - location: 27 (remaining gas: 1039976.279 units remaining) + - location: 27 (remaining gas: 1039976.275 units remaining) [ { "b" ; "a" } @parameter.tl { "c" } ] - - location: 30 (remaining gas: 1039976.234 units remaining) + - location: 30 (remaining gas: 1039976.230 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 31 (remaining gas: 1039976.189 units remaining) + - location: 31 (remaining gas: 1039976.185 units remaining) [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: 17 (remaining gas: 1039976.189 units remaining) + - location: 17 (remaining gas: 1039976.184 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 19 (remaining gas: 1039976.139 units remaining) + - location: 19 (remaining gas: 1039976.134 units remaining) [ (Pair { "b" ; "a" } { "c" }) (Pair { "b" ; "a" } { "c" }) ] - - location: 20 (remaining gas: 1039976.089 units remaining) + - location: 20 (remaining gas: 1039976.084 units remaining) [ { "b" ; "a" } @parameter (Pair { "b" ; "a" } { "c" }) ] - - location: 21 (remaining gas: 1039976.044 units remaining) + - location: 21 (remaining gas: 1039976.039 units remaining) [ (Pair { "b" ; "a" } { "c" }) ] - - location: 23 (remaining gas: 1039975.994 units remaining) + - location: 23 (remaining gas: 1039975.989 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039975.994 units remaining) + - location: 21 (remaining gas: 1039975.987 units remaining) [ { "b" ; "a" } @parameter { "c" } ] - - location: 24 (remaining gas: 1039975.964 units remaining) + - location: 24 (remaining gas: 1039975.957 units remaining) [ "b" @parameter.hd { "a" } @parameter.tl { "c" } ] - - location: 26 (remaining gas: 1039975.924 units remaining) + - location: 26 (remaining gas: 1039975.917 units remaining) [ { "a" } @parameter.tl "b" @parameter.hd { "c" } ] - - location: 27 (remaining gas: 1039975.879 units remaining) + - location: 27 (remaining gas: 1039975.872 units remaining) [ "b" @parameter.hd { "c" } ] - - location: 29 (remaining gas: 1039975.829 units remaining) + - location: 29 (remaining gas: 1039975.822 units remaining) [ { "b" ; "c" } ] - - location: 27 (remaining gas: 1039975.829 units remaining) + - location: 27 (remaining gas: 1039975.820 units remaining) [ { "a" } @parameter.tl { "b" ; "c" } ] - - location: 30 (remaining gas: 1039975.784 units remaining) + - location: 30 (remaining gas: 1039975.775 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 31 (remaining gas: 1039975.739 units remaining) + - location: 31 (remaining gas: 1039975.730 units remaining) [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: 17 (remaining gas: 1039975.739 units remaining) + - location: 17 (remaining gas: 1039975.729 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 19 (remaining gas: 1039975.689 units remaining) + - location: 19 (remaining gas: 1039975.679 units remaining) [ (Pair { "a" } { "b" ; "c" }) (Pair { "a" } { "b" ; "c" }) ] - - location: 20 (remaining gas: 1039975.639 units remaining) + - location: 20 (remaining gas: 1039975.629 units remaining) [ { "a" } @parameter (Pair { "a" } { "b" ; "c" }) ] - - location: 21 (remaining gas: 1039975.594 units remaining) + - location: 21 (remaining gas: 1039975.584 units remaining) [ (Pair { "a" } { "b" ; "c" }) ] - - location: 23 (remaining gas: 1039975.544 units remaining) + - location: 23 (remaining gas: 1039975.534 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039975.544 units remaining) + - location: 21 (remaining gas: 1039975.532 units remaining) [ { "a" } @parameter { "b" ; "c" } ] - - location: 24 (remaining gas: 1039975.514 units remaining) + - location: 24 (remaining gas: 1039975.502 units remaining) [ "a" @parameter.hd {} @parameter.tl { "b" ; "c" } ] - - location: 26 (remaining gas: 1039975.474 units remaining) + - location: 26 (remaining gas: 1039975.462 units remaining) [ {} @parameter.tl "a" @parameter.hd { "b" ; "c" } ] - - location: 27 (remaining gas: 1039975.429 units remaining) + - location: 27 (remaining gas: 1039975.417 units remaining) [ "a" @parameter.hd { "b" ; "c" } ] - - location: 29 (remaining gas: 1039975.379 units remaining) + - location: 29 (remaining gas: 1039975.367 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 27 (remaining gas: 1039975.379 units remaining) + - location: 27 (remaining gas: 1039975.365 units remaining) [ {} @parameter.tl { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039975.334 units remaining) + - location: 30 (remaining gas: 1039975.320 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 31 (remaining gas: 1039975.289 units remaining) + - location: 31 (remaining gas: 1039975.275 units remaining) [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: 17 (remaining gas: 1039975.289 units remaining) + - location: 17 (remaining gas: 1039975.274 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 19 (remaining gas: 1039975.239 units remaining) + - location: 19 (remaining gas: 1039975.224 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) (Pair {} { "a" ; "b" ; "c" }) ] - - location: 20 (remaining gas: 1039975.189 units remaining) + - location: 20 (remaining gas: 1039975.174 units remaining) [ {} @parameter (Pair {} { "a" ; "b" ; "c" }) ] - - location: 21 (remaining gas: 1039975.144 units remaining) + - location: 21 (remaining gas: 1039975.129 units remaining) [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 23 (remaining gas: 1039975.094 units remaining) + - location: 23 (remaining gas: 1039975.079 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039975.094 units remaining) + - location: 21 (remaining gas: 1039975.077 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039975.064 units remaining) + - location: 24 (remaining gas: 1039975.047 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 35 (remaining gas: 1039975.019 units remaining) + - location: 35 (remaining gas: 1039975.002 units remaining) [ (Right { "a" ; "b" ; "c" }) ] - - location: 17 (remaining gas: 1039975.019 units remaining) + - location: 17 (remaining gas: 1039975.001 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 41 (remaining gas: 1039974.974 units remaining) + - location: 41 (remaining gas: 1039974.956 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 43 (remaining gas: 1039974.929 units remaining) + - location: 43 (remaining gas: 1039974.911 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 18ab60c1cbb2..b1e8db10dd86 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" @@ -33,18 +33,18 @@ trace [ (Pair {} {}) ] - location: 23 (remaining gas: 1039977.236 units remaining) [ {} ] - - location: 21 (remaining gas: 1039977.236 units remaining) + - location: 21 (remaining gas: 1039977.234 units remaining) [ {} @parameter {} ] - - location: 24 (remaining gas: 1039977.206 units remaining) + - location: 24 (remaining gas: 1039977.204 units remaining) [ {} ] - - location: 35 (remaining gas: 1039977.161 units remaining) + - location: 35 (remaining gas: 1039977.159 units remaining) [ (Right {}) ] - - location: 17 (remaining gas: 1039977.161 units remaining) + - location: 17 (remaining gas: 1039977.158 units remaining) [ {} ] - - location: 41 (remaining gas: 1039977.116 units remaining) + - location: 41 (remaining gas: 1039977.113 units remaining) [ {} {} ] - - location: 43 (remaining gas: 1039977.071 units remaining) + - location: 43 (remaining gas: 1039977.068 units remaining) [ (Pair {} {}) ] 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 e4c956e70998..a3e63d931500 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 @@ -39,114 +39,114 @@ trace [ (Pair 0 0) ] - location: 28 (remaining gas: 1039975.435 units remaining) [ 0 @acc_e ] - - location: 26 (remaining gas: 1039975.435 units remaining) + - location: 26 (remaining gas: 1039975.433 units remaining) [ 0 @acc_k 0 @acc_e ] - - location: 22 (remaining gas: 1039975.435 units remaining) + - location: 22 (remaining gas: 1039975.431 units remaining) [ (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 29 (remaining gas: 1039975.385 units remaining) + - location: 29 (remaining gas: 1039975.381 units remaining) [ (Pair 0 100) (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 30 (remaining gas: 1039975.340 units remaining) + - location: 30 (remaining gas: 1039975.336 units remaining) [ (Pair 0 100) 0 @acc_k 0 @acc_e ] - - location: 32 (remaining gas: 1039975.290 units remaining) + - location: 32 (remaining gas: 1039975.286 units remaining) [ 0 @key 0 @acc_k 0 @acc_e ] - - location: 33 (remaining gas: 1039975.210 units remaining) + - location: 33 (remaining gas: 1039975.206 units remaining) [ 0 0 @acc_e ] - - location: 30 (remaining gas: 1039975.210 units remaining) + - location: 30 (remaining gas: 1039975.204 units remaining) [ (Pair 0 100) 0 0 @acc_e ] - - location: 34 (remaining gas: 1039975.170 units remaining) + - location: 34 (remaining gas: 1039975.164 units remaining) [ 0 (Pair 0 100) 0 @acc_e ] - - location: 35 (remaining gas: 1039975.125 units remaining) + - location: 35 (remaining gas: 1039975.119 units remaining) [ (Pair 0 100) 0 @acc_e ] - - location: 37 (remaining gas: 1039975.075 units remaining) + - location: 37 (remaining gas: 1039975.069 units remaining) [ 100 @elt 0 @acc_e ] - - location: 38 (remaining gas: 1039974.995 units remaining) + - location: 38 (remaining gas: 1039974.989 units remaining) [ 100 ] - - location: 35 (remaining gas: 1039974.995 units remaining) + - location: 35 (remaining gas: 1039974.987 units remaining) [ 0 100 ] - - location: 39 (remaining gas: 1039974.950 units remaining) + - location: 39 (remaining gas: 1039974.942 units remaining) [ (Pair 0 100) ] - - location: 20 (remaining gas: 1039974.950 units remaining) + - location: 20 (remaining gas: 1039974.941 units remaining) [ (Pair 2 100) (Pair 0 100) ] - - location: 22 (remaining gas: 1039974.905 units remaining) + - location: 22 (remaining gas: 1039974.896 units remaining) [ (Pair 0 100) ] - - location: 24 (remaining gas: 1039974.855 units remaining) + - location: 24 (remaining gas: 1039974.846 units remaining) [ (Pair 0 100) (Pair 0 100) ] - - location: 25 (remaining gas: 1039974.805 units remaining) + - location: 25 (remaining gas: 1039974.796 units remaining) [ 0 @acc_k (Pair 0 100) ] - - location: 26 (remaining gas: 1039974.760 units remaining) + - location: 26 (remaining gas: 1039974.751 units remaining) [ (Pair 0 100) ] - - location: 28 (remaining gas: 1039974.710 units remaining) + - location: 28 (remaining gas: 1039974.701 units remaining) [ 100 @acc_e ] - - location: 26 (remaining gas: 1039974.710 units remaining) + - location: 26 (remaining gas: 1039974.699 units remaining) [ 0 @acc_k 100 @acc_e ] - - location: 22 (remaining gas: 1039974.710 units remaining) + - location: 22 (remaining gas: 1039974.697 units remaining) [ (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 29 (remaining gas: 1039974.660 units remaining) + - location: 29 (remaining gas: 1039974.647 units remaining) [ (Pair 2 100) (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 30 (remaining gas: 1039974.615 units remaining) + - location: 30 (remaining gas: 1039974.602 units remaining) [ (Pair 2 100) 0 @acc_k 100 @acc_e ] - - location: 32 (remaining gas: 1039974.565 units remaining) + - location: 32 (remaining gas: 1039974.552 units remaining) [ 2 @key 0 @acc_k 100 @acc_e ] - - location: 33 (remaining gas: 1039974.485 units remaining) + - location: 33 (remaining gas: 1039974.472 units remaining) [ 2 100 @acc_e ] - - location: 30 (remaining gas: 1039974.485 units remaining) + - location: 30 (remaining gas: 1039974.470 units remaining) [ (Pair 2 100) 2 100 @acc_e ] - - location: 34 (remaining gas: 1039974.445 units remaining) + - location: 34 (remaining gas: 1039974.430 units remaining) [ 2 (Pair 2 100) 100 @acc_e ] - - location: 35 (remaining gas: 1039974.400 units remaining) + - location: 35 (remaining gas: 1039974.385 units remaining) [ (Pair 2 100) 100 @acc_e ] - - location: 37 (remaining gas: 1039974.350 units remaining) + - location: 37 (remaining gas: 1039974.335 units remaining) [ 100 @elt 100 @acc_e ] - - location: 38 (remaining gas: 1039974.270 units remaining) + - location: 38 (remaining gas: 1039974.255 units remaining) [ 200 ] - - location: 35 (remaining gas: 1039974.270 units remaining) + - location: 35 (remaining gas: 1039974.253 units remaining) [ 2 200 ] - - location: 39 (remaining gas: 1039974.225 units remaining) + - location: 39 (remaining gas: 1039974.208 units remaining) [ (Pair 2 200) ] - - location: 20 (remaining gas: 1039974.225 units remaining) + - location: 20 (remaining gas: 1039974.207 units remaining) [ (Pair 2 200) ] - - location: 40 (remaining gas: 1039974.180 units remaining) + - location: 40 (remaining gas: 1039974.162 units remaining) [ {} (Pair 2 200) ] - - location: 42 (remaining gas: 1039974.135 units remaining) + - location: 42 (remaining gas: 1039974.117 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 3706af607598..863dcddd9c3b 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 @@ -39,114 +39,114 @@ trace [ (Pair 0 0) ] - location: 28 (remaining gas: 1039975.435 units remaining) [ 0 @acc_e ] - - location: 26 (remaining gas: 1039975.435 units remaining) + - location: 26 (remaining gas: 1039975.433 units remaining) [ 0 @acc_k 0 @acc_e ] - - location: 22 (remaining gas: 1039975.435 units remaining) + - location: 22 (remaining gas: 1039975.431 units remaining) [ (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 29 (remaining gas: 1039975.385 units remaining) + - location: 29 (remaining gas: 1039975.381 units remaining) [ (Pair 1 1) (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 30 (remaining gas: 1039975.340 units remaining) + - location: 30 (remaining gas: 1039975.336 units remaining) [ (Pair 1 1) 0 @acc_k 0 @acc_e ] - - location: 32 (remaining gas: 1039975.290 units remaining) + - location: 32 (remaining gas: 1039975.286 units remaining) [ 1 @key 0 @acc_k 0 @acc_e ] - - location: 33 (remaining gas: 1039975.210 units remaining) + - location: 33 (remaining gas: 1039975.206 units remaining) [ 1 0 @acc_e ] - - location: 30 (remaining gas: 1039975.210 units remaining) + - location: 30 (remaining gas: 1039975.204 units remaining) [ (Pair 1 1) 1 0 @acc_e ] - - location: 34 (remaining gas: 1039975.170 units remaining) + - location: 34 (remaining gas: 1039975.164 units remaining) [ 1 (Pair 1 1) 0 @acc_e ] - - location: 35 (remaining gas: 1039975.125 units remaining) + - location: 35 (remaining gas: 1039975.119 units remaining) [ (Pair 1 1) 0 @acc_e ] - - location: 37 (remaining gas: 1039975.075 units remaining) + - location: 37 (remaining gas: 1039975.069 units remaining) [ 1 @elt 0 @acc_e ] - - location: 38 (remaining gas: 1039974.995 units remaining) + - location: 38 (remaining gas: 1039974.989 units remaining) [ 1 ] - - location: 35 (remaining gas: 1039974.995 units remaining) + - location: 35 (remaining gas: 1039974.987 units remaining) [ 1 1 ] - - location: 39 (remaining gas: 1039974.950 units remaining) + - location: 39 (remaining gas: 1039974.942 units remaining) [ (Pair 1 1) ] - - location: 20 (remaining gas: 1039974.950 units remaining) + - location: 20 (remaining gas: 1039974.941 units remaining) [ (Pair 2 100) (Pair 1 1) ] - - location: 22 (remaining gas: 1039974.905 units remaining) + - location: 22 (remaining gas: 1039974.896 units remaining) [ (Pair 1 1) ] - - location: 24 (remaining gas: 1039974.855 units remaining) + - location: 24 (remaining gas: 1039974.846 units remaining) [ (Pair 1 1) (Pair 1 1) ] - - location: 25 (remaining gas: 1039974.805 units remaining) + - location: 25 (remaining gas: 1039974.796 units remaining) [ 1 @acc_k (Pair 1 1) ] - - location: 26 (remaining gas: 1039974.760 units remaining) + - location: 26 (remaining gas: 1039974.751 units remaining) [ (Pair 1 1) ] - - location: 28 (remaining gas: 1039974.710 units remaining) + - location: 28 (remaining gas: 1039974.701 units remaining) [ 1 @acc_e ] - - location: 26 (remaining gas: 1039974.710 units remaining) + - location: 26 (remaining gas: 1039974.699 units remaining) [ 1 @acc_k 1 @acc_e ] - - location: 22 (remaining gas: 1039974.710 units remaining) + - location: 22 (remaining gas: 1039974.697 units remaining) [ (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 29 (remaining gas: 1039974.660 units remaining) + - location: 29 (remaining gas: 1039974.647 units remaining) [ (Pair 2 100) (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 30 (remaining gas: 1039974.615 units remaining) + - location: 30 (remaining gas: 1039974.602 units remaining) [ (Pair 2 100) 1 @acc_k 1 @acc_e ] - - location: 32 (remaining gas: 1039974.565 units remaining) + - location: 32 (remaining gas: 1039974.552 units remaining) [ 2 @key 1 @acc_k 1 @acc_e ] - - location: 33 (remaining gas: 1039974.485 units remaining) + - location: 33 (remaining gas: 1039974.472 units remaining) [ 3 1 @acc_e ] - - location: 30 (remaining gas: 1039974.485 units remaining) + - location: 30 (remaining gas: 1039974.470 units remaining) [ (Pair 2 100) 3 1 @acc_e ] - - location: 34 (remaining gas: 1039974.445 units remaining) + - location: 34 (remaining gas: 1039974.430 units remaining) [ 3 (Pair 2 100) 1 @acc_e ] - - location: 35 (remaining gas: 1039974.400 units remaining) + - location: 35 (remaining gas: 1039974.385 units remaining) [ (Pair 2 100) 1 @acc_e ] - - location: 37 (remaining gas: 1039974.350 units remaining) + - location: 37 (remaining gas: 1039974.335 units remaining) [ 100 @elt 1 @acc_e ] - - location: 38 (remaining gas: 1039974.270 units remaining) + - location: 38 (remaining gas: 1039974.255 units remaining) [ 101 ] - - location: 35 (remaining gas: 1039974.270 units remaining) + - location: 35 (remaining gas: 1039974.253 units remaining) [ 3 101 ] - - location: 39 (remaining gas: 1039974.225 units remaining) + - location: 39 (remaining gas: 1039974.208 units remaining) [ (Pair 3 101) ] - - location: 20 (remaining gas: 1039974.225 units remaining) + - location: 20 (remaining gas: 1039974.207 units remaining) [ (Pair 3 101) ] - - location: 40 (remaining gas: 1039974.180 units remaining) + - location: 40 (remaining gas: 1039974.162 units remaining) [ {} (Pair 3 101) ] - - location: 42 (remaining gas: 1039974.135 units remaining) + - location: 42 (remaining gas: 1039974.117 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 cbebb51386dd..790f0ac6101f 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" @@ -26,43 +26,43 @@ trace - location: 16 (remaining gas: 1039986.957 units remaining) [ 15 @parameter 15 @parameter ] - - location: 14 (remaining gas: 1039986.957 units remaining) + - location: 14 (remaining gas: 1039986.955 units remaining) [ 5 @elt 15 @parameter 15 @parameter ] - - location: 17 (remaining gas: 1039986.877 units remaining) + - location: 17 (remaining gas: 1039986.875 units remaining) [ 20 15 @parameter ] - - location: 11 (remaining gas: 1039986.877 units remaining) + - location: 11 (remaining gas: 1039986.874 units remaining) [ (Pair "foo" 1) 15 @parameter ] - - location: 13 (remaining gas: 1039986.827 units remaining) + - location: 13 (remaining gas: 1039986.824 units remaining) [ 1 @elt 15 @parameter ] - - location: 14 (remaining gas: 1039986.782 units remaining) + - location: 14 (remaining gas: 1039986.779 units remaining) [ 15 @parameter ] - - location: 16 (remaining gas: 1039986.732 units remaining) + - location: 16 (remaining gas: 1039986.729 units remaining) [ 15 @parameter 15 @parameter ] - - location: 14 (remaining gas: 1039986.732 units remaining) + - location: 14 (remaining gas: 1039986.727 units remaining) [ 1 @elt 15 @parameter 15 @parameter ] - - location: 17 (remaining gas: 1039986.652 units remaining) + - location: 17 (remaining gas: 1039986.647 units remaining) [ 16 15 @parameter ] - - location: 11 (remaining gas: 1039986.652 units remaining) + - location: 11 (remaining gas: 1039986.646 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } 15 @parameter ] - - location: 18 (remaining gas: 1039986.607 units remaining) + - location: 18 (remaining gas: 1039986.601 units remaining) [ 15 @parameter ] - - location: 20 (remaining gas: 1039986.562 units remaining) + - location: 20 (remaining gas: 1039986.556 units remaining) [ ] - - location: 18 (remaining gas: 1039986.562 units remaining) + - location: 18 (remaining gas: 1039986.554 units remaining) [ { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 21 (remaining gas: 1039986.517 units remaining) + - location: 21 (remaining gas: 1039986.509 units remaining) [ {} { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 23 (remaining gas: 1039986.472 units remaining) + - location: 23 (remaining gas: 1039986.464 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 0ea7363002e4..7dbffcfae5e0 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" @@ -26,25 +26,25 @@ trace - location: 16 (remaining gas: 1039987.681 units remaining) [ 10 @parameter 10 @parameter ] - - location: 14 (remaining gas: 1039987.681 units remaining) + - location: 14 (remaining gas: 1039987.679 units remaining) [ 1 @elt 10 @parameter 10 @parameter ] - - location: 17 (remaining gas: 1039987.601 units remaining) + - location: 17 (remaining gas: 1039987.599 units remaining) [ 11 10 @parameter ] - - location: 11 (remaining gas: 1039987.601 units remaining) + - location: 11 (remaining gas: 1039987.598 units remaining) [ { Elt "foo" 11 } 10 @parameter ] - - location: 18 (remaining gas: 1039987.556 units remaining) + - location: 18 (remaining gas: 1039987.553 units remaining) [ 10 @parameter ] - - location: 20 (remaining gas: 1039987.511 units remaining) + - location: 20 (remaining gas: 1039987.508 units remaining) [ ] - - location: 18 (remaining gas: 1039987.511 units remaining) + - location: 18 (remaining gas: 1039987.506 units remaining) [ { Elt "foo" 11 } ] - - location: 21 (remaining gas: 1039987.466 units remaining) + - location: 21 (remaining gas: 1039987.461 units remaining) [ {} { Elt "foo" 11 } ] - - location: 23 (remaining gas: 1039987.421 units remaining) + - location: 23 (remaining gas: 1039987.416 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 7ba2894a9bff..8e78e75bcfde 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 @@ -22,11 +22,11 @@ trace [ 10 @parameter ] - location: 20 (remaining gas: 1039988.340 units remaining) [ ] - - location: 18 (remaining gas: 1039988.340 units remaining) + - location: 18 (remaining gas: 1039988.338 units remaining) [ {} ] - - location: 21 (remaining gas: 1039988.295 units remaining) + - location: 21 (remaining gas: 1039988.293 units remaining) [ {} {} ] - - location: 23 (remaining gas: 1039988.250 units remaining) + - location: 23 (remaining gas: 1039988.248 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 6c9047444c18..3b4167521fd1 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.895 units remaining) [ { Elt 0 1 } { Elt 0 1 } ] - - location: 13 (remaining gas: 1039986.895 units remaining) + - location: 13 (remaining gas: 1039986.893 units remaining) [ 1 @parameter { Elt 0 1 } { Elt 0 1 } ] - - location: 17 (remaining gas: 1039986.815 units remaining) + - location: 17 (remaining gas: 1039986.813 units remaining) [ False { Elt 0 1 } ] - - location: 18 (remaining gas: 1039986.770 units remaining) + - location: 18 (remaining gas: 1039986.768 units remaining) [ (Some False) { Elt 0 1 } ] - - location: 19 (remaining gas: 1039986.730 units remaining) + - location: 19 (remaining gas: 1039986.728 units remaining) [ { Elt 0 1 } (Some False) ] - - location: 20 (remaining gas: 1039986.685 units remaining) + - location: 20 (remaining gas: 1039986.683 units remaining) [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039986.640 units remaining) + - location: 21 (remaining gas: 1039986.638 units remaining) [ {} (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039986.595 units remaining) + - location: 23 (remaining gas: 1039986.593 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 0197dbbc828a..ac0ad8b01773 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.895 units remaining) [ { Elt 1 0 } { Elt 1 0 } ] - - location: 13 (remaining gas: 1039986.895 units remaining) + - location: 13 (remaining gas: 1039986.893 units remaining) [ 1 @parameter { Elt 1 0 } { Elt 1 0 } ] - - location: 17 (remaining gas: 1039986.815 units remaining) + - location: 17 (remaining gas: 1039986.813 units remaining) [ True { Elt 1 0 } ] - - location: 18 (remaining gas: 1039986.770 units remaining) + - location: 18 (remaining gas: 1039986.768 units remaining) [ (Some True) { Elt 1 0 } ] - - location: 19 (remaining gas: 1039986.730 units remaining) + - location: 19 (remaining gas: 1039986.728 units remaining) [ { Elt 1 0 } (Some True) ] - - location: 20 (remaining gas: 1039986.685 units remaining) + - location: 20 (remaining gas: 1039986.683 units remaining) [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039986.640 units remaining) + - location: 21 (remaining gas: 1039986.638 units remaining) [ {} (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039986.595 units remaining) + - location: 23 (remaining gas: 1039986.593 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 b9d3073b971b..bca69ce846f1 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.185 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039986.185 units remaining) + - location: 13 (remaining gas: 1039986.183 units remaining) [ 1 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.105 units remaining) + - location: 17 (remaining gas: 1039986.103 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.060 units remaining) + - location: 18 (remaining gas: 1039986.058 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.020 units remaining) + - location: 19 (remaining gas: 1039986.018 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.975 units remaining) + - location: 20 (remaining gas: 1039985.973 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.930 units remaining) + - location: 21 (remaining gas: 1039985.928 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.885 units remaining) + - location: 23 (remaining gas: 1039985.883 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 d8b17b935a12..9e38bbb4fa26 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.185 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039986.185 units remaining) + - location: 13 (remaining gas: 1039986.183 units remaining) [ 2 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.105 units remaining) + - location: 17 (remaining gas: 1039986.103 units remaining) [ True { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.060 units remaining) + - location: 18 (remaining gas: 1039986.058 units remaining) [ (Some True) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.020 units remaining) + - location: 19 (remaining gas: 1039986.018 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.975 units remaining) + - location: 20 (remaining gas: 1039985.973 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.930 units remaining) + - location: 21 (remaining gas: 1039985.928 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.885 units remaining) + - location: 23 (remaining gas: 1039985.883 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 554850273470..5581d1e88c4a 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.185 units remaining) [ { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039986.185 units remaining) + - location: 13 (remaining gas: 1039986.183 units remaining) [ 3 @parameter { Elt 1 4 ; Elt 2 11 } { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039986.105 units remaining) + - location: 17 (remaining gas: 1039986.103 units remaining) [ False { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039986.060 units remaining) + - location: 18 (remaining gas: 1039986.058 units remaining) [ (Some False) { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039986.020 units remaining) + - location: 19 (remaining gas: 1039986.018 units remaining) [ { Elt 1 4 ; Elt 2 11 } (Some False) ] - - location: 20 (remaining gas: 1039985.975 units remaining) + - location: 20 (remaining gas: 1039985.973 units remaining) [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039985.930 units remaining) + - location: 21 (remaining gas: 1039985.928 units remaining) [ {} (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039985.885 units remaining) + - location: 23 (remaining gas: 1039985.883 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 8e952a65c8c8..67f317fc333b 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 @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039987.455 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039987.455 units remaining) + - location: 13 (remaining gas: 1039987.453 units remaining) [ 1 @parameter {} {} ] - - location: 17 (remaining gas: 1039987.375 units remaining) + - location: 17 (remaining gas: 1039987.373 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039987.330 units remaining) + - location: 18 (remaining gas: 1039987.328 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039987.290 units remaining) + - location: 19 (remaining gas: 1039987.288 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039987.245 units remaining) + - location: 20 (remaining gas: 1039987.243 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039987.200 units remaining) + - location: 21 (remaining gas: 1039987.198 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039987.155 units remaining) + - location: 23 (remaining gas: 1039987.153 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 3fcbfe206224..51870b84dc45 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.083 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039986.083 units remaining) + - location: 13 (remaining gas: 1039986.081 units remaining) [ "bar" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039986.003 units remaining) + - location: 17 (remaining gas: 1039986.001 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.958 units remaining) + - location: 18 (remaining gas: 1039985.956 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.918 units remaining) + - location: 19 (remaining gas: 1039985.916 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.873 units remaining) + - location: 20 (remaining gas: 1039985.871 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.828 units remaining) + - location: 21 (remaining gas: 1039985.826 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.783 units remaining) + - location: 23 (remaining gas: 1039985.781 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 828d9bc711fc..23f899db7db0 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.083 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039986.083 units remaining) + - location: 13 (remaining gas: 1039986.081 units remaining) [ "foo" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039986.003 units remaining) + - location: 17 (remaining gas: 1039986.001 units remaining) [ True { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.958 units remaining) + - location: 18 (remaining gas: 1039985.956 units remaining) [ (Some True) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.918 units remaining) + - location: 19 (remaining gas: 1039985.916 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some True) ] - - location: 20 (remaining gas: 1039985.873 units remaining) + - location: 20 (remaining gas: 1039985.871 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.828 units remaining) + - location: 21 (remaining gas: 1039985.826 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039985.783 units remaining) + - location: 23 (remaining gas: 1039985.781 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 d2254f57d5e5..fa9782deaa99 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.083 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039986.083 units remaining) + - location: 13 (remaining gas: 1039986.081 units remaining) [ "baz" @parameter { Elt "bar" 4 ; Elt "foo" 11 } { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039986.003 units remaining) + - location: 17 (remaining gas: 1039986.001 units remaining) [ False { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.958 units remaining) + - location: 18 (remaining gas: 1039985.956 units remaining) [ (Some False) { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.918 units remaining) + - location: 19 (remaining gas: 1039985.916 units remaining) [ { Elt "bar" 4 ; Elt "foo" 11 } (Some False) ] - - location: 20 (remaining gas: 1039985.873 units remaining) + - location: 20 (remaining gas: 1039985.871 units remaining) [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039985.828 units remaining) + - location: 21 (remaining gas: 1039985.826 units remaining) [ {} (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039985.783 units remaining) + - location: 23 (remaining gas: 1039985.781 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 92be55a92de1..e08238f864a2 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.807 units remaining) [ { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039986.807 units remaining) + - location: 13 (remaining gas: 1039986.805 units remaining) [ "foo" @parameter { Elt "foo" 0 } { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039986.727 units remaining) + - location: 17 (remaining gas: 1039986.725 units remaining) [ True { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039986.682 units remaining) + - location: 18 (remaining gas: 1039986.680 units remaining) [ (Some True) { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039986.642 units remaining) + - location: 19 (remaining gas: 1039986.640 units remaining) [ { Elt "foo" 0 } (Some True) ] - - location: 20 (remaining gas: 1039986.597 units remaining) + - location: 20 (remaining gas: 1039986.595 units remaining) [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039986.552 units remaining) + - location: 21 (remaining gas: 1039986.550 units remaining) [ {} (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039986.507 units remaining) + - location: 23 (remaining gas: 1039986.505 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 d273488b294e..3c8ef6fb3329 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039986.807 units remaining) [ { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039986.807 units remaining) + - location: 13 (remaining gas: 1039986.805 units remaining) [ "bar" @parameter { Elt "foo" 1 } { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039986.727 units remaining) + - location: 17 (remaining gas: 1039986.725 units remaining) [ False { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039986.682 units remaining) + - location: 18 (remaining gas: 1039986.680 units remaining) [ (Some False) { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039986.642 units remaining) + - location: 19 (remaining gas: 1039986.640 units remaining) [ { Elt "foo" 1 } (Some False) ] - - location: 20 (remaining gas: 1039986.597 units remaining) + - location: 20 (remaining gas: 1039986.595 units remaining) [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039986.552 units remaining) + - location: 21 (remaining gas: 1039986.550 units remaining) [ {} (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039986.507 units remaining) + - location: 23 (remaining gas: 1039986.505 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 587d2ff65696..c3d3548f36e3 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" @@ -19,24 +19,24 @@ trace - location: 16 (remaining gas: 1039987.411 units remaining) [ {} {} ] - - location: 13 (remaining gas: 1039987.411 units remaining) + - location: 13 (remaining gas: 1039987.409 units remaining) [ "bar" @parameter {} {} ] - - location: 17 (remaining gas: 1039987.331 units remaining) + - location: 17 (remaining gas: 1039987.329 units remaining) [ False {} ] - - location: 18 (remaining gas: 1039987.286 units remaining) + - location: 18 (remaining gas: 1039987.284 units remaining) [ (Some False) {} ] - - location: 19 (remaining gas: 1039987.246 units remaining) + - location: 19 (remaining gas: 1039987.244 units remaining) [ {} (Some False) ] - - location: 20 (remaining gas: 1039987.201 units remaining) + - location: 20 (remaining gas: 1039987.199 units remaining) [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039987.156 units remaining) + - location: 21 (remaining gas: 1039987.154 units remaining) [ {} (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039987.111 units remaining) + - location: 23 (remaining gas: 1039987.109 units remaining) [ (Pair {} {} (Some False)) ] 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 c707ae51459c..7d192dd8de0a 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" @@ -78,7 +78,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039757.811 units remaining) + - location: 19 (remaining gas: 1039757.809 units remaining) [ -1 -1 (Pair 1 @@ -89,7 +89,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039749.571 units remaining) + - location: 22 (remaining gas: 1039749.569 units remaining) [ 0x050041 @packed -1 (Pair 1 @@ -100,7 +100,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039742.331 units remaining) + - location: 23 (remaining gas: 1039742.329 units remaining) [ (Some -1) @packed.unpacked -1 (Pair 1 @@ -111,7 +111,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 26 (remaining gas: 1039742.301 units remaining) + - location: 26 (remaining gas: 1039742.299 units remaining) [ -1 @packed.unpacked.some -1 (Pair 1 @@ -122,7 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039742.151 units remaining) + - location: 34 (remaining gas: 1039742.149 units remaining) [ 0 (Pair 1 "foobar" @@ -132,7 +132,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039742.101 units remaining) + - location: 35 (remaining gas: 1039742.099 units remaining) [ True (Pair 1 "foobar" @@ -142,7 +142,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039742.076 units remaining) + - location: 36 (remaining gas: 1039742.074 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -151,7 +151,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039742.026 units remaining) + - location: 42 (remaining gas: 1039742.024 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -168,7 +168,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039741.976 units remaining) + - location: 43 (remaining gas: 1039741.974 units remaining) [ 1 (Pair 1 "foobar" @@ -178,7 +178,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.931 units remaining) + - location: 44 (remaining gas: 1039741.929 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -187,7 +187,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039741.881 units remaining) + - location: 46 (remaining gas: 1039741.879 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -196,7 +196,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.881 units remaining) + - location: 44 (remaining gas: 1039741.877 units remaining) [ 1 1 (Pair "foobar" @@ -206,7 +206,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039733.641 units remaining) + - location: 47 (remaining gas: 1039733.637 units remaining) [ 0x050001 @packed 1 (Pair "foobar" @@ -216,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039726.401 units remaining) + - location: 48 (remaining gas: 1039726.397 units remaining) [ (Some 1) @packed.unpacked 1 (Pair "foobar" @@ -226,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039726.371 units remaining) + - location: 51 (remaining gas: 1039726.367 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -236,7 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039726.221 units remaining) + - location: 59 (remaining gas: 1039726.217 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -245,7 +245,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039726.171 units remaining) + - location: 60 (remaining gas: 1039726.167 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -254,7 +254,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039726.146 units remaining) + - location: 61 (remaining gas: 1039726.142 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -262,7 +262,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039726.096 units remaining) + - location: 67 (remaining gas: 1039726.092 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -277,7 +277,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039726.046 units remaining) + - location: 68 (remaining gas: 1039726.042 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -286,7 +286,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039726.001 units remaining) + - location: 69 (remaining gas: 1039725.997 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -294,7 +294,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039725.951 units remaining) + - location: 71 (remaining gas: 1039725.947 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -302,7 +302,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039725.951 units remaining) + - location: 69 (remaining gas: 1039725.945 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -311,7 +311,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039713.711 units remaining) + - location: 72 (remaining gas: 1039713.705 units remaining) [ 0x050100000006666f6f626172 @packed "foobar" (Pair 0x00aabbcc @@ -320,7 +320,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039706.397 units remaining) + - location: 73 (remaining gas: 1039706.391 units remaining) [ (Some "foobar") @packed.unpacked "foobar" (Pair 0x00aabbcc @@ -329,7 +329,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039706.367 units remaining) + - location: 76 (remaining gas: 1039706.361 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -338,7 +338,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039706.247 units remaining) + - location: 84 (remaining gas: 1039706.241 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -346,7 +346,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039706.197 units remaining) + - location: 85 (remaining gas: 1039706.191 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -354,14 +354,14 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039706.172 units remaining) + - location: 86 (remaining gas: 1039706.166 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039706.122 units remaining) + - location: 92 (remaining gas: 1039706.116 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -374,7 +374,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039706.072 units remaining) + - location: 93 (remaining gas: 1039706.066 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -382,21 +382,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039706.027 units remaining) + - location: 94 (remaining gas: 1039706.021 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039705.977 units remaining) + - location: 96 (remaining gas: 1039705.971 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039705.977 units remaining) + - location: 94 (remaining gas: 1039705.969 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -404,7 +404,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039693.737 units remaining) + - location: 97 (remaining gas: 1039693.729 units remaining) [ 0x050a0000000400aabbcc @packed 0x00aabbcc (Pair 1000 @@ -412,7 +412,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039659.497 units remaining) + - location: 98 (remaining gas: 1039659.489 units remaining) [ (Some 0x00aabbcc) @packed.unpacked 0x00aabbcc (Pair 1000 @@ -420,7 +420,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039659.467 units remaining) + - location: 101 (remaining gas: 1039659.459 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -428,27 +428,27 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039659.347 units remaining) + - location: 109 (remaining gas: 1039659.339 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039659.297 units remaining) + - location: 110 (remaining gas: 1039659.289 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039659.272 units remaining) + - location: 111 (remaining gas: 1039659.264 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039659.222 units remaining) + - location: 117 (remaining gas: 1039659.214 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -459,71 +459,71 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039659.172 units remaining) + - location: 118 (remaining gas: 1039659.164 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039659.127 units remaining) + - location: 119 (remaining gas: 1039659.119 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039659.077 units remaining) + - location: 121 (remaining gas: 1039659.069 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039659.077 units remaining) + - location: 119 (remaining gas: 1039659.067 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039650.837 units remaining) + - location: 122 (remaining gas: 1039650.827 units remaining) [ 0x0500a80f @packed 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039643.597 units remaining) + - location: 123 (remaining gas: 1039643.587 units remaining) [ (Some 1000) @packed.unpacked 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039643.567 units remaining) + - location: 126 (remaining gas: 1039643.557 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039643.463 units remaining) + - location: 134 (remaining gas: 1039643.453 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039643.413 units remaining) + - location: 135 (remaining gas: 1039643.403 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039643.388 units remaining) + - location: 136 (remaining gas: 1039643.378 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039643.338 units remaining) + - location: 142 (remaining gas: 1039643.328 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -532,197 +532,197 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039643.288 units remaining) + - location: 143 (remaining gas: 1039643.278 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039643.243 units remaining) + - location: 144 (remaining gas: 1039643.233 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039643.193 units remaining) + - location: 146 (remaining gas: 1039643.183 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039643.193 units remaining) + - location: 144 (remaining gas: 1039643.181 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039634.953 units remaining) + - location: 147 (remaining gas: 1039634.941 units remaining) [ 0x050303 @packed False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039627.713 units remaining) + - location: 148 (remaining gas: 1039627.701 units remaining) [ (Some False) @packed.unpacked False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039627.683 units remaining) + - location: 151 (remaining gas: 1039627.671 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039627.475 units remaining) + - location: 159 (remaining gas: 1039627.463 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039627.425 units remaining) + - location: 160 (remaining gas: 1039627.413 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039627.400 units remaining) + - location: 161 (remaining gas: 1039627.388 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039627.350 units remaining) + - location: 167 (remaining gas: 1039627.338 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039627.300 units remaining) + - location: 168 (remaining gas: 1039627.288 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039627.255 units remaining) + - location: 169 (remaining gas: 1039627.243 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039627.205 units remaining) + - location: 171 (remaining gas: 1039627.193 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039627.205 units remaining) + - location: 169 (remaining gas: 1039627.191 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039606.885 units remaining) + - location: 172 (remaining gas: 1039606.871 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039568.585 units remaining) + - location: 173 (remaining gas: 1039568.571 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039568.555 units remaining) + - location: 176 (remaining gas: 1039568.541 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039568.345 units remaining) + - location: 184 (remaining gas: 1039568.331 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039568.295 units remaining) + - location: 185 (remaining gas: 1039568.281 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039568.270 units remaining) + - location: 186 (remaining gas: 1039568.256 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039568.220 units remaining) + - location: 192 (remaining gas: 1039568.206 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039568.170 units remaining) + - location: 193 (remaining gas: 1039568.156 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 194 (remaining gas: 1039568.125 units remaining) + - location: 194 (remaining gas: 1039568.111 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039568.075 units remaining) + - location: 196 (remaining gas: 1039568.061 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039568.075 units remaining) + - location: 194 (remaining gas: 1039568.059 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039559.835 units remaining) + - location: 197 (remaining gas: 1039559.819 units remaining) [ 0x050095bbb0d70b @packed "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039552.595 units remaining) + - location: 198 (remaining gas: 1039552.579 units remaining) [ (Some "2019-09-09T08:35:33Z") @packed.unpacked "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039552.565 units remaining) + - location: 201 (remaining gas: 1039552.549 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039552.425 units remaining) + - location: 209 (remaining gas: 1039552.409 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039552.375 units remaining) + - location: 210 (remaining gas: 1039552.359 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039552.350 units remaining) + - location: 211 (remaining gas: 1039552.334 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039552.300 units remaining) + - location: 217 (remaining gas: 1039552.284 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039521.460 units remaining) + - location: 218 (remaining gas: 1039521.444 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039425.220 units remaining) + - location: 219 (remaining gas: 1039425.204 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039425.190 units remaining) + - location: 222 (remaining gas: 1039425.174 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039424.972 units remaining) + - location: 230 (remaining gas: 1039424.956 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039424.922 units remaining) + - location: 231 (remaining gas: 1039424.906 units remaining) [ True ] - - location: 232 (remaining gas: 1039424.897 units remaining) + - location: 232 (remaining gas: 1039424.881 units remaining) [ ] - - location: 238 (remaining gas: 1039424.852 units remaining) + - location: 238 (remaining gas: 1039424.836 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039416.612 units remaining) + - location: 241 (remaining gas: 1039416.596 units remaining) [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039411.372 units remaining) + - location: 242 (remaining gas: 1039411.356 units remaining) [ (Some 0) @packed.unpacked ] - - location: 245 (remaining gas: 1039411.342 units remaining) + - location: 245 (remaining gas: 1039411.326 units remaining) [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039411.297 units remaining) + - location: 251 (remaining gas: 1039411.281 units remaining) [ ] - - location: 252 (remaining gas: 1039411.252 units remaining) + - location: 252 (remaining gas: 1039411.236 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039403.012 units remaining) + - location: 255 (remaining gas: 1039402.996 units remaining) [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039300.012 units remaining) + - location: 256 (remaining gas: 1039299.996 units remaining) [ None @packed.unpacked ] - - location: 259 (remaining gas: 1039299.982 units remaining) + - location: 259 (remaining gas: 1039299.966 units remaining) [ ] - - location: 265 (remaining gas: 1039299.937 units remaining) + - location: 265 (remaining gas: 1039299.921 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039299.937 units remaining) + - location: 268 (remaining gas: 1039299.921 units remaining) [ None @unpacked ] - - location: 271 (remaining gas: 1039299.907 units remaining) + - location: 271 (remaining gas: 1039299.891 units remaining) [ ] - - location: 277 (remaining gas: 1039299.862 units remaining) + - location: 277 (remaining gas: 1039299.846 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039299.862 units remaining) + - location: 280 (remaining gas: 1039299.846 units remaining) [ None @unpacked ] - - location: 283 (remaining gas: 1039299.832 units remaining) + - location: 283 (remaining gas: 1039299.816 units remaining) [ ] - - location: 289 (remaining gas: 1039299.787 units remaining) + - location: 289 (remaining gas: 1039299.771 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039299.787 units remaining) + - location: 292 (remaining gas: 1039299.771 units remaining) [ None @unpacked ] - - location: 295 (remaining gas: 1039299.757 units remaining) + - location: 295 (remaining gas: 1039299.741 units remaining) [ ] - - location: 301 (remaining gas: 1039299.712 units remaining) + - location: 301 (remaining gas: 1039299.696 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039299.667 units remaining) + - location: 302 (remaining gas: 1039299.651 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039299.622 units remaining) + - location: 304 (remaining gas: 1039299.606 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 904e13c26968..a69d0bc65e40 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" @@ -78,7 +78,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039757.811 units remaining) + - location: 19 (remaining gas: 1039757.809 units remaining) [ -1 -1 (Pair 1 @@ -89,7 +89,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039749.571 units remaining) + - location: 22 (remaining gas: 1039749.569 units remaining) [ 0x050041 @packed -1 (Pair 1 @@ -100,7 +100,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039742.331 units remaining) + - location: 23 (remaining gas: 1039742.329 units remaining) [ (Some -1) @packed.unpacked -1 (Pair 1 @@ -111,7 +111,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 26 (remaining gas: 1039742.301 units remaining) + - location: 26 (remaining gas: 1039742.299 units remaining) [ -1 @packed.unpacked.some -1 (Pair 1 @@ -122,7 +122,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039742.151 units remaining) + - location: 34 (remaining gas: 1039742.149 units remaining) [ 0 (Pair 1 "foobar" @@ -132,7 +132,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039742.101 units remaining) + - location: 35 (remaining gas: 1039742.099 units remaining) [ True (Pair 1 "foobar" @@ -142,7 +142,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 36 (remaining gas: 1039742.076 units remaining) + - location: 36 (remaining gas: 1039742.074 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -151,7 +151,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039742.026 units remaining) + - location: 42 (remaining gas: 1039742.024 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -168,7 +168,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039741.976 units remaining) + - location: 43 (remaining gas: 1039741.974 units remaining) [ 1 (Pair 1 "foobar" @@ -178,7 +178,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.931 units remaining) + - location: 44 (remaining gas: 1039741.929 units remaining) [ (Pair 1 "foobar" 0x00aabbcc @@ -187,7 +187,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039741.881 units remaining) + - location: 46 (remaining gas: 1039741.879 units remaining) [ 1 (Pair "foobar" 0x00aabbcc @@ -196,7 +196,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039741.881 units remaining) + - location: 44 (remaining gas: 1039741.877 units remaining) [ 1 1 (Pair "foobar" @@ -206,7 +206,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039733.641 units remaining) + - location: 47 (remaining gas: 1039733.637 units remaining) [ 0x050001 @packed 1 (Pair "foobar" @@ -216,7 +216,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039726.401 units remaining) + - location: 48 (remaining gas: 1039726.397 units remaining) [ (Some 1) @packed.unpacked 1 (Pair "foobar" @@ -226,7 +226,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 51 (remaining gas: 1039726.371 units remaining) + - location: 51 (remaining gas: 1039726.367 units remaining) [ 1 @packed.unpacked.some 1 (Pair "foobar" @@ -236,7 +236,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039726.221 units remaining) + - location: 59 (remaining gas: 1039726.217 units remaining) [ 0 (Pair "foobar" 0x00aabbcc @@ -245,7 +245,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039726.171 units remaining) + - location: 60 (remaining gas: 1039726.167 units remaining) [ True (Pair "foobar" 0x00aabbcc @@ -254,7 +254,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 61 (remaining gas: 1039726.146 units remaining) + - location: 61 (remaining gas: 1039726.142 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -262,7 +262,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039726.096 units remaining) + - location: 67 (remaining gas: 1039726.092 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -277,7 +277,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039726.046 units remaining) + - location: 68 (remaining gas: 1039726.042 units remaining) [ "foobar" (Pair "foobar" 0x00aabbcc @@ -286,7 +286,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039726.001 units remaining) + - location: 69 (remaining gas: 1039725.997 units remaining) [ (Pair "foobar" 0x00aabbcc 1000 @@ -294,7 +294,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039725.951 units remaining) + - location: 71 (remaining gas: 1039725.947 units remaining) [ "foobar" (Pair 0x00aabbcc 1000 @@ -302,7 +302,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039725.951 units remaining) + - location: 69 (remaining gas: 1039725.945 units remaining) [ "foobar" "foobar" (Pair 0x00aabbcc @@ -311,7 +311,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039713.711 units remaining) + - location: 72 (remaining gas: 1039713.705 units remaining) [ 0x050100000006666f6f626172 @packed "foobar" (Pair 0x00aabbcc @@ -320,7 +320,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039706.397 units remaining) + - location: 73 (remaining gas: 1039706.391 units remaining) [ (Some "foobar") @packed.unpacked "foobar" (Pair 0x00aabbcc @@ -329,7 +329,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 76 (remaining gas: 1039706.367 units remaining) + - location: 76 (remaining gas: 1039706.361 units remaining) [ "foobar" @packed.unpacked.some "foobar" (Pair 0x00aabbcc @@ -338,7 +338,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039706.247 units remaining) + - location: 84 (remaining gas: 1039706.241 units remaining) [ 0 (Pair 0x00aabbcc 1000 @@ -346,7 +346,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039706.197 units remaining) + - location: 85 (remaining gas: 1039706.191 units remaining) [ True (Pair 0x00aabbcc 1000 @@ -354,14 +354,14 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 86 (remaining gas: 1039706.172 units remaining) + - location: 86 (remaining gas: 1039706.166 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039706.122 units remaining) + - location: 92 (remaining gas: 1039706.116 units remaining) [ (Pair 0x00aabbcc 1000 False @@ -374,7 +374,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039706.072 units remaining) + - location: 93 (remaining gas: 1039706.066 units remaining) [ 0x00aabbcc (Pair 0x00aabbcc 1000 @@ -382,21 +382,21 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039706.027 units remaining) + - location: 94 (remaining gas: 1039706.021 units remaining) [ (Pair 0x00aabbcc 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039705.977 units remaining) + - location: 96 (remaining gas: 1039705.971 units remaining) [ 0x00aabbcc (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039705.977 units remaining) + - location: 94 (remaining gas: 1039705.969 units remaining) [ 0x00aabbcc 0x00aabbcc (Pair 1000 @@ -404,7 +404,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039693.737 units remaining) + - location: 97 (remaining gas: 1039693.729 units remaining) [ 0x050a0000000400aabbcc @packed 0x00aabbcc (Pair 1000 @@ -412,7 +412,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039659.497 units remaining) + - location: 98 (remaining gas: 1039659.489 units remaining) [ (Some 0x00aabbcc) @packed.unpacked 0x00aabbcc (Pair 1000 @@ -420,7 +420,7 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 101 (remaining gas: 1039659.467 units remaining) + - location: 101 (remaining gas: 1039659.459 units remaining) [ 0x00aabbcc @packed.unpacked.some 0x00aabbcc (Pair 1000 @@ -428,27 +428,27 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039659.347 units remaining) + - location: 109 (remaining gas: 1039659.339 units remaining) [ 0 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039659.297 units remaining) + - location: 110 (remaining gas: 1039659.289 units remaining) [ True (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 111 (remaining gas: 1039659.272 units remaining) + - location: 111 (remaining gas: 1039659.264 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039659.222 units remaining) + - location: 117 (remaining gas: 1039659.214 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @@ -459,71 +459,71 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039659.172 units remaining) + - location: 118 (remaining gas: 1039659.164 units remaining) [ 1000 (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039659.127 units remaining) + - location: 119 (remaining gas: 1039659.119 units remaining) [ (Pair 1000 False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039659.077 units remaining) + - location: 121 (remaining gas: 1039659.069 units remaining) [ 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039659.077 units remaining) + - location: 119 (remaining gas: 1039659.067 units remaining) [ 1000 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039650.837 units remaining) + - location: 122 (remaining gas: 1039650.827 units remaining) [ 0x0500a80f @packed 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039643.597 units remaining) + - location: 123 (remaining gas: 1039643.587 units remaining) [ (Some 1000) @packed.unpacked 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 126 (remaining gas: 1039643.567 units remaining) + - location: 126 (remaining gas: 1039643.557 units remaining) [ 1000 @packed.unpacked.some 1000 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039643.463 units remaining) + - location: 134 (remaining gas: 1039643.453 units remaining) [ 0 (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039643.413 units remaining) + - location: 135 (remaining gas: 1039643.403 units remaining) [ True (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 136 (remaining gas: 1039643.388 units remaining) + - location: 136 (remaining gas: 1039643.378 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039643.338 units remaining) + - location: 142 (remaining gas: 1039643.328 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" @@ -532,197 +532,197 @@ trace "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039643.288 units remaining) + - location: 143 (remaining gas: 1039643.278 units remaining) [ False (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039643.243 units remaining) + - location: 144 (remaining gas: 1039643.233 units remaining) [ (Pair False "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039643.193 units remaining) + - location: 146 (remaining gas: 1039643.183 units remaining) [ False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039643.193 units remaining) + - location: 144 (remaining gas: 1039643.181 units remaining) [ False False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039634.953 units remaining) + - location: 147 (remaining gas: 1039634.941 units remaining) [ 0x050303 @packed False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039627.713 units remaining) + - location: 148 (remaining gas: 1039627.701 units remaining) [ (Some False) @packed.unpacked False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 151 (remaining gas: 1039627.683 units remaining) + - location: 151 (remaining gas: 1039627.671 units remaining) [ False @packed.unpacked.some False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039627.475 units remaining) + - location: 159 (remaining gas: 1039627.463 units remaining) [ 0 (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039627.425 units remaining) + - location: 160 (remaining gas: 1039627.413 units remaining) [ True (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 161 (remaining gas: 1039627.400 units remaining) + - location: 161 (remaining gas: 1039627.388 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039627.350 units remaining) + - location: 167 (remaining gas: 1039627.338 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039627.300 units remaining) + - location: 168 (remaining gas: 1039627.288 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039627.255 units remaining) + - location: 169 (remaining gas: 1039627.243 units remaining) [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039627.205 units remaining) + - location: 171 (remaining gas: 1039627.193 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039627.205 units remaining) + - location: 169 (remaining gas: 1039627.191 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039606.885 units remaining) + - location: 172 (remaining gas: 1039606.871 units remaining) [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039568.585 units remaining) + - location: 173 (remaining gas: 1039568.571 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 176 (remaining gas: 1039568.555 units remaining) + - location: 176 (remaining gas: 1039568.541 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039568.345 units remaining) + - location: 184 (remaining gas: 1039568.331 units remaining) [ 0 (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039568.295 units remaining) + - location: 185 (remaining gas: 1039568.281 units remaining) [ True (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 186 (remaining gas: 1039568.270 units remaining) + - location: 186 (remaining gas: 1039568.256 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039568.220 units remaining) + - location: 192 (remaining gas: 1039568.206 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039568.170 units remaining) + - location: 193 (remaining gas: 1039568.156 units remaining) [ "2019-09-09T08:35:33Z" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 194 (remaining gas: 1039568.125 units remaining) + - location: 194 (remaining gas: 1039568.111 units remaining) [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039568.075 units remaining) + - location: 196 (remaining gas: 1039568.061 units remaining) [ "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039568.075 units remaining) + - location: 194 (remaining gas: 1039568.059 units remaining) [ "2019-09-09T08:35:33Z" "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039559.835 units remaining) + - location: 197 (remaining gas: 1039559.819 units remaining) [ 0x050095bbb0d70b @packed "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039552.595 units remaining) + - location: 198 (remaining gas: 1039552.579 units remaining) [ (Some "2019-09-09T08:35:33Z") @packed.unpacked "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 201 (remaining gas: 1039552.565 units remaining) + - location: 201 (remaining gas: 1039552.549 units remaining) [ "2019-09-09T08:35:33Z" @packed.unpacked.some "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039552.425 units remaining) + - location: 209 (remaining gas: 1039552.409 units remaining) [ 0 "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039552.375 units remaining) + - location: 210 (remaining gas: 1039552.359 units remaining) [ True "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 211 (remaining gas: 1039552.350 units remaining) + - location: 211 (remaining gas: 1039552.334 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039552.300 units remaining) + - location: 217 (remaining gas: 1039552.284 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039521.460 units remaining) + - location: 218 (remaining gas: 1039521.444 units remaining) [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039425.220 units remaining) + - location: 219 (remaining gas: 1039425.204 units remaining) [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 222 (remaining gas: 1039425.190 units remaining) + - location: 222 (remaining gas: 1039425.174 units remaining) [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039424.972 units remaining) + - location: 230 (remaining gas: 1039424.956 units remaining) [ 0 ] - - location: 231 (remaining gas: 1039424.922 units remaining) + - location: 231 (remaining gas: 1039424.906 units remaining) [ True ] - - location: 232 (remaining gas: 1039424.897 units remaining) + - location: 232 (remaining gas: 1039424.881 units remaining) [ ] - - location: 238 (remaining gas: 1039424.852 units remaining) + - location: 238 (remaining gas: 1039424.836 units remaining) [ 0 ] - - location: 241 (remaining gas: 1039416.612 units remaining) + - location: 241 (remaining gas: 1039416.596 units remaining) [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039411.372 units remaining) + - location: 242 (remaining gas: 1039411.356 units remaining) [ (Some 0) @packed.unpacked ] - - location: 245 (remaining gas: 1039411.342 units remaining) + - location: 245 (remaining gas: 1039411.326 units remaining) [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039411.297 units remaining) + - location: 251 (remaining gas: 1039411.281 units remaining) [ ] - - location: 252 (remaining gas: 1039411.252 units remaining) + - location: 252 (remaining gas: 1039411.236 units remaining) [ -1 ] - - location: 255 (remaining gas: 1039403.012 units remaining) + - location: 255 (remaining gas: 1039402.996 units remaining) [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039300.012 units remaining) + - location: 256 (remaining gas: 1039299.996 units remaining) [ None @packed.unpacked ] - - location: 259 (remaining gas: 1039299.982 units remaining) + - location: 259 (remaining gas: 1039299.966 units remaining) [ ] - - location: 265 (remaining gas: 1039299.937 units remaining) + - location: 265 (remaining gas: 1039299.921 units remaining) [ 0x ] - - location: 268 (remaining gas: 1039299.937 units remaining) + - location: 268 (remaining gas: 1039299.921 units remaining) [ None @unpacked ] - - location: 271 (remaining gas: 1039299.907 units remaining) + - location: 271 (remaining gas: 1039299.891 units remaining) [ ] - - location: 277 (remaining gas: 1039299.862 units remaining) + - location: 277 (remaining gas: 1039299.846 units remaining) [ 0x04 ] - - location: 280 (remaining gas: 1039299.862 units remaining) + - location: 280 (remaining gas: 1039299.846 units remaining) [ None @unpacked ] - - location: 283 (remaining gas: 1039299.832 units remaining) + - location: 283 (remaining gas: 1039299.816 units remaining) [ ] - - location: 289 (remaining gas: 1039299.787 units remaining) + - location: 289 (remaining gas: 1039299.771 units remaining) [ 0x05 ] - - location: 292 (remaining gas: 1039299.787 units remaining) + - location: 292 (remaining gas: 1039299.771 units remaining) [ None @unpacked ] - - location: 295 (remaining gas: 1039299.757 units remaining) + - location: 295 (remaining gas: 1039299.741 units remaining) [ ] - - location: 301 (remaining gas: 1039299.712 units remaining) + - location: 301 (remaining gas: 1039299.696 units remaining) [ Unit ] - - location: 302 (remaining gas: 1039299.667 units remaining) + - location: 302 (remaining gas: 1039299.651 units remaining) [ {} Unit ] - - location: 304 (remaining gas: 1039299.622 units remaining) + - location: 304 (remaining gas: 1039299.606 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 e2bc1f713598..9368862c5e0a 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" @@ -85,7 +85,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 31 (remaining gas: 1039742.896 units remaining) + - location: 31 (remaining gas: 1039742.894 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -97,7 +97,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 34 (remaining gas: 1039718.166 units remaining) + - location: 34 (remaining gas: 1039718.164 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -109,7 +109,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 35 (remaining gas: 1039718.121 units remaining) + - location: 35 (remaining gas: 1039718.119 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -120,7 +120,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 37 (remaining gas: 1039693.391 units remaining) + - location: 37 (remaining gas: 1039693.389 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -131,7 +131,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 38 (remaining gas: 1039626.151 units remaining) + - location: 38 (remaining gas: 1039626.149 units remaining) [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -142,7 +142,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 41 (remaining gas: 1039626.121 units remaining) + - location: 41 (remaining gas: 1039626.119 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -153,7 +153,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 47 (remaining gas: 1039601.391 units remaining) + - location: 47 (remaining gas: 1039601.389 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -164,7 +164,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 35 (remaining gas: 1039601.391 units remaining) + - location: 35 (remaining gas: 1039601.387 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit @@ -176,7 +176,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 50 (remaining gas: 1039601.270 units remaining) + - location: 50 (remaining gas: 1039601.266 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -187,7 +187,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 51 (remaining gas: 1039601.220 units remaining) + - location: 51 (remaining gas: 1039601.216 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +198,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 52 (remaining gas: 1039601.195 units remaining) + - location: 52 (remaining gas: 1039601.191 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -208,7 +208,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 58 (remaining gas: 1039601.145 units remaining) + - location: 58 (remaining gas: 1039601.141 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -227,7 +227,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 59 (remaining gas: 1039601.095 units remaining) + - location: 59 (remaining gas: 1039601.091 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -238,7 +238,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039601.050 units remaining) + - location: 60 (remaining gas: 1039601.046 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -248,7 +248,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 62 (remaining gas: 1039601 units remaining) + - location: 62 (remaining gas: 1039600.996 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -258,7 +258,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 60 (remaining gas: 1039601 units remaining) + - location: 60 (remaining gas: 1039600.994 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -269,7 +269,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 63 (remaining gas: 1039592.760 units remaining) + - location: 63 (remaining gas: 1039592.754 units remaining) [ 0x05030b @packed Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -280,7 +280,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039592.715 units remaining) + - location: 64 (remaining gas: 1039592.709 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -290,7 +290,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 66 (remaining gas: 1039584.475 units remaining) + - location: 66 (remaining gas: 1039584.469 units remaining) [ 0x05030b @packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -300,7 +300,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 67 (remaining gas: 1039577.235 units remaining) + - location: 67 (remaining gas: 1039577.229 units remaining) [ (Some Unit) @packed.unpacked (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -310,7 +310,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 70 (remaining gas: 1039577.205 units remaining) + - location: 70 (remaining gas: 1039577.199 units remaining) [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -320,7 +320,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 76 (remaining gas: 1039568.965 units remaining) + - location: 76 (remaining gas: 1039568.959 units remaining) [ 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -330,7 +330,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 64 (remaining gas: 1039568.965 units remaining) + - location: 64 (remaining gas: 1039568.957 units remaining) [ 0x05030b @packed 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -341,7 +341,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 79 (remaining gas: 1039568.845 units remaining) + - location: 79 (remaining gas: 1039568.837 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -351,7 +351,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 80 (remaining gas: 1039568.795 units remaining) + - location: 80 (remaining gas: 1039568.787 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -361,7 +361,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 81 (remaining gas: 1039568.770 units remaining) + - location: 81 (remaining gas: 1039568.762 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -370,7 +370,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 87 (remaining gas: 1039568.720 units remaining) + - location: 87 (remaining gas: 1039568.712 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -387,7 +387,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 88 (remaining gas: 1039568.670 units remaining) + - location: 88 (remaining gas: 1039568.662 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -397,7 +397,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039568.625 units remaining) + - location: 89 (remaining gas: 1039568.617 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -406,7 +406,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 91 (remaining gas: 1039568.575 units remaining) + - location: 91 (remaining gas: 1039568.567 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -415,7 +415,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 89 (remaining gas: 1039568.575 units remaining) + - location: 89 (remaining gas: 1039568.565 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -425,7 +425,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 92 (remaining gas: 1039528.295 units remaining) + - location: 92 (remaining gas: 1039528.285 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -435,7 +435,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039528.250 units remaining) + - location: 93 (remaining gas: 1039528.240 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -444,7 +444,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 95 (remaining gas: 1039487.970 units remaining) + - location: 95 (remaining gas: 1039487.960 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -453,7 +453,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 96 (remaining gas: 1039439.700 units remaining) + - location: 96 (remaining gas: 1039439.690 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -462,7 +462,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 99 (remaining gas: 1039439.670 units remaining) + - location: 99 (remaining gas: 1039439.660 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -471,7 +471,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 105 (remaining gas: 1039399.390 units remaining) + - location: 105 (remaining gas: 1039399.380 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -480,7 +480,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 93 (remaining gas: 1039399.390 units remaining) + - location: 93 (remaining gas: 1039399.378 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") @@ -490,7 +490,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 108 (remaining gas: 1039399.268 units remaining) + - location: 108 (remaining gas: 1039399.256 units remaining) [ 0 (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -499,7 +499,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 109 (remaining gas: 1039399.218 units remaining) + - location: 109 (remaining gas: 1039399.206 units remaining) [ True (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -508,7 +508,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 110 (remaining gas: 1039399.193 units remaining) + - location: 110 (remaining gas: 1039399.181 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -516,7 +516,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 116 (remaining gas: 1039399.143 units remaining) + - location: 116 (remaining gas: 1039399.131 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -531,7 +531,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 117 (remaining gas: 1039399.093 units remaining) + - location: 117 (remaining gas: 1039399.081 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } @@ -540,7 +540,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039399.048 units remaining) + - location: 118 (remaining gas: 1039399.036 units remaining) [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") { Unit } { True } @@ -548,7 +548,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 120 (remaining gas: 1039398.998 units remaining) + - location: 120 (remaining gas: 1039398.986 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -556,7 +556,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 118 (remaining gas: 1039398.998 units remaining) + - location: 118 (remaining gas: 1039398.984 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -565,7 +565,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 121 (remaining gas: 1039358.478 units remaining) + - location: 121 (remaining gas: 1039358.464 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } @@ -574,7 +574,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039358.433 units remaining) + - location: 122 (remaining gas: 1039358.419 units remaining) [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } { True } @@ -582,7 +582,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 124 (remaining gas: 1039317.913 units remaining) + - location: 124 (remaining gas: 1039317.899 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair { Unit } { True } @@ -590,7 +590,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 125 (remaining gas: 1039255.403 units remaining) + - location: 125 (remaining gas: 1039255.389 units remaining) [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) @packed.unpacked (Pair { Unit } { True } @@ -598,7 +598,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 129 (remaining gas: 1039255.373 units remaining) + - location: 129 (remaining gas: 1039255.359 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some (Pair { Unit } { True } @@ -606,7 +606,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 135 (remaining gas: 1039214.853 units remaining) + - location: 135 (remaining gas: 1039214.839 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair { Unit } { True } @@ -614,7 +614,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 122 (remaining gas: 1039214.853 units remaining) + - location: 122 (remaining gas: 1039214.837 units remaining) [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair { Unit } @@ -623,7 +623,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 138 (remaining gas: 1039214.731 units remaining) + - location: 138 (remaining gas: 1039214.715 units remaining) [ 0 (Pair { Unit } { True } @@ -631,7 +631,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 139 (remaining gas: 1039214.681 units remaining) + - location: 139 (remaining gas: 1039214.665 units remaining) [ True (Pair { Unit } { True } @@ -639,14 +639,14 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 140 (remaining gas: 1039214.656 units remaining) + - location: 140 (remaining gas: 1039214.640 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 146 (remaining gas: 1039214.606 units remaining) + - location: 146 (remaining gas: 1039214.590 units remaining) [ (Pair { Unit } { True } (Pair 19 10) @@ -659,7 +659,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 147 (remaining gas: 1039214.556 units remaining) + - location: 147 (remaining gas: 1039214.540 units remaining) [ { Unit } (Pair { Unit } { True } @@ -667,21 +667,21 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039214.511 units remaining) + - location: 148 (remaining gas: 1039214.495 units remaining) [ (Pair { Unit } { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 150 (remaining gas: 1039214.461 units remaining) + - location: 150 (remaining gas: 1039214.445 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 148 (remaining gas: 1039214.461 units remaining) + - location: 148 (remaining gas: 1039214.443 units remaining) [ { Unit } { Unit } (Pair { True } @@ -689,7 +689,7 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 151 (remaining gas: 1039205.981 units remaining) + - location: 151 (remaining gas: 1039205.963 units remaining) [ 0x050200000002030b @packed { Unit } (Pair { True } @@ -697,42 +697,42 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039205.936 units remaining) + - location: 152 (remaining gas: 1039205.918 units remaining) [ { Unit } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 154 (remaining gas: 1039197.456 units remaining) + - location: 154 (remaining gas: 1039197.438 units remaining) [ 0x050200000002030b @packed (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 155 (remaining gas: 1039175.976 units remaining) + - location: 155 (remaining gas: 1039175.958 units remaining) [ (Some { Unit }) @packed.unpacked (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 159 (remaining gas: 1039175.946 units remaining) + - location: 159 (remaining gas: 1039175.928 units remaining) [ { Unit } @packed.unpacked.some (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 165 (remaining gas: 1039167.466 units remaining) + - location: 165 (remaining gas: 1039167.448 units remaining) [ 0x050200000002030b @packed.unpacked.some.packed (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 152 (remaining gas: 1039167.466 units remaining) + - location: 152 (remaining gas: 1039167.446 units remaining) [ 0x050200000002030b @packed 0x050200000002030b @packed.unpacked.some.packed (Pair { True } @@ -740,27 +740,27 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 168 (remaining gas: 1039167.346 units remaining) + - location: 168 (remaining gas: 1039167.326 units remaining) [ 0 (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 169 (remaining gas: 1039167.296 units remaining) + - location: 169 (remaining gas: 1039167.276 units remaining) [ True (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 170 (remaining gas: 1039167.271 units remaining) + - location: 170 (remaining gas: 1039167.251 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 176 (remaining gas: 1039167.221 units remaining) + - location: 176 (remaining gas: 1039167.201 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @@ -771,94 +771,94 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 177 (remaining gas: 1039167.171 units remaining) + - location: 177 (remaining gas: 1039167.151 units remaining) [ { True } (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039167.126 units remaining) + - location: 178 (remaining gas: 1039167.106 units remaining) [ (Pair { True } (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 180 (remaining gas: 1039167.076 units remaining) + - location: 180 (remaining gas: 1039167.056 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 178 (remaining gas: 1039167.076 units remaining) + - location: 178 (remaining gas: 1039167.054 units remaining) [ { True } { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 181 (remaining gas: 1039158.596 units remaining) + - location: 181 (remaining gas: 1039158.574 units remaining) [ 0x050200000002030a @packed { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039158.551 units remaining) + - location: 182 (remaining gas: 1039158.529 units remaining) [ { True } (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 184 (remaining gas: 1039150.071 units remaining) + - location: 184 (remaining gas: 1039150.049 units remaining) [ 0x050200000002030a @packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 185 (remaining gas: 1039128.510 units remaining) + - location: 185 (remaining gas: 1039128.488 units remaining) [ (Some { True }) @packed.unpacked (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 189 (remaining gas: 1039128.480 units remaining) + - location: 189 (remaining gas: 1039128.458 units remaining) [ { True } @packed.unpacked.some (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 195 (remaining gas: 1039120 units remaining) + - location: 195 (remaining gas: 1039119.978 units remaining) [ 0x050200000002030a @packed.unpacked.some.packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 182 (remaining gas: 1039120 units remaining) + - location: 182 (remaining gas: 1039119.976 units remaining) [ 0x050200000002030a @packed 0x050200000002030a @packed.unpacked.some.packed (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 198 (remaining gas: 1039119.880 units remaining) + - location: 198 (remaining gas: 1039119.856 units remaining) [ 0 (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 199 (remaining gas: 1039119.830 units remaining) + - location: 199 (remaining gas: 1039119.806 units remaining) [ True (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 200 (remaining gas: 1039119.805 units remaining) + - location: 200 (remaining gas: 1039119.781 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 206 (remaining gas: 1039119.755 units remaining) + - location: 206 (remaining gas: 1039119.731 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } @@ -867,209 +867,209 @@ trace (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 207 (remaining gas: 1039119.705 units remaining) + - location: 207 (remaining gas: 1039119.681 units remaining) [ (Pair 19 10) (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039119.660 units remaining) + - location: 208 (remaining gas: 1039119.636 units remaining) [ (Pair (Pair 19 10) (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 210 (remaining gas: 1039119.610 units remaining) + - location: 210 (remaining gas: 1039119.586 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 208 (remaining gas: 1039119.610 units remaining) + - location: 208 (remaining gas: 1039119.584 units remaining) [ (Pair 19 10) (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 211 (remaining gas: 1039110.890 units remaining) + - location: 211 (remaining gas: 1039110.864 units remaining) [ 0x0507070013000a @packed (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039110.845 units remaining) + - location: 212 (remaining gas: 1039110.819 units remaining) [ (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 214 (remaining gas: 1039102.125 units remaining) + - location: 214 (remaining gas: 1039102.099 units remaining) [ 0x0507070013000a @packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 215 (remaining gas: 1039066.405 units remaining) + - location: 215 (remaining gas: 1039066.379 units remaining) [ (Some (Pair 19 10)) @packed.unpacked (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 220 (remaining gas: 1039066.375 units remaining) + - location: 220 (remaining gas: 1039066.349 units remaining) [ (Pair 19 10) @packed.unpacked.some (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 226 (remaining gas: 1039057.655 units remaining) + - location: 226 (remaining gas: 1039057.629 units remaining) [ 0x0507070013000a @packed.unpacked.some.packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 212 (remaining gas: 1039057.655 units remaining) + - location: 212 (remaining gas: 1039057.627 units remaining) [ 0x0507070013000a @packed 0x0507070013000a @packed.unpacked.some.packed (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 229 (remaining gas: 1039057.535 units remaining) + - location: 229 (remaining gas: 1039057.507 units remaining) [ 0 (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 230 (remaining gas: 1039057.485 units remaining) + - location: 230 (remaining gas: 1039057.457 units remaining) [ True (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 231 (remaining gas: 1039057.460 units remaining) + - location: 231 (remaining gas: 1039057.432 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 237 (remaining gas: 1039057.410 units remaining) + - location: 237 (remaining gas: 1039057.382 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: 1039057.360 units remaining) + - location: 238 (remaining gas: 1039057.332 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039057.315 units remaining) + - location: 239 (remaining gas: 1039057.287 units remaining) [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 241 (remaining gas: 1039057.265 units remaining) + - location: 241 (remaining gas: 1039057.237 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039057.265 units remaining) + - location: 239 (remaining gas: 1039057.235 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 242 (remaining gas: 1039036.705 units remaining) + - location: 242 (remaining gas: 1039036.675 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1039036.660 units remaining) + - location: 243 (remaining gas: 1039036.630 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 245 (remaining gas: 1039016.100 units remaining) + - location: 245 (remaining gas: 1039016.070 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 246 (remaining gas: 1038963.560 units remaining) + - location: 246 (remaining gas: 1038963.530 units remaining) [ (Some (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) @packed.unpacked (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 251 (remaining gas: 1038963.530 units remaining) + - location: 251 (remaining gas: 1038963.500 units remaining) [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 257 (remaining gas: 1038942.970 units remaining) + - location: 257 (remaining gas: 1038942.940 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1038942.970 units remaining) + - location: 243 (remaining gas: 1038942.938 units remaining) [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 260 (remaining gas: 1038942.850 units remaining) + - location: 260 (remaining gas: 1038942.818 units remaining) [ 0 (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 261 (remaining gas: 1038942.800 units remaining) + - location: 261 (remaining gas: 1038942.768 units remaining) [ True (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 262 (remaining gas: 1038942.775 units remaining) + - location: 262 (remaining gas: 1038942.743 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 268 (remaining gas: 1038942.725 units remaining) + - location: 268 (remaining gas: 1038942.693 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 269 (remaining gas: 1038942.675 units remaining) + - location: 269 (remaining gas: 1038942.643 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 270 (remaining gas: 1038942.630 units remaining) + - location: 270 (remaining gas: 1038942.598 units remaining) [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 272 (remaining gas: 1038942.580 units remaining) + - location: 272 (remaining gas: 1038942.548 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 270 (remaining gas: 1038942.580 units remaining) + - location: 270 (remaining gas: 1038942.546 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 273 (remaining gas: 1038921.180 units remaining) + - location: 273 (remaining gas: 1038921.146 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 274 (remaining gas: 1038921.135 units remaining) + - location: 274 (remaining gas: 1038921.101 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } { PACK } ] - - location: 276 (remaining gas: 1038899.735 units remaining) + - location: 276 (remaining gas: 1038899.701 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed { PACK } ] - - location: 277 (remaining gas: 1038809.137 units remaining) + - location: 277 (remaining gas: 1038809.103 units remaining) [ (Some { Elt 0 "foo" ; Elt 1 "bar" }) @packed.unpacked { PACK } ] - - location: 282 (remaining gas: 1038809.107 units remaining) + - location: 282 (remaining gas: 1038809.073 units remaining) [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some { PACK } ] - - location: 288 (remaining gas: 1038787.707 units remaining) + - location: 288 (remaining gas: 1038787.673 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed { PACK } ] - - location: 274 (remaining gas: 1038787.707 units remaining) + - location: 274 (remaining gas: 1038787.671 units remaining) [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed { PACK } ] - - location: 291 (remaining gas: 1038787.587 units remaining) + - location: 291 (remaining gas: 1038787.551 units remaining) [ 0 { PACK } ] - - location: 292 (remaining gas: 1038787.537 units remaining) + - location: 292 (remaining gas: 1038787.501 units remaining) [ True { PACK } ] - - location: 293 (remaining gas: 1038787.512 units remaining) + - location: 293 (remaining gas: 1038787.476 units remaining) [ { PACK } ] - - location: 299 (remaining gas: 1038787.462 units remaining) + - location: 299 (remaining gas: 1038787.426 units remaining) [ { PACK } { PACK } ] - - location: 300 (remaining gas: 1038778.722 units remaining) + - location: 300 (remaining gas: 1038778.686 units remaining) [ 0x050200000002030c @packed { PACK } ] - - location: 301 (remaining gas: 1038778.677 units remaining) + - location: 301 (remaining gas: 1038778.641 units remaining) [ { PACK } ] - - location: 303 (remaining gas: 1038769.937 units remaining) + - location: 303 (remaining gas: 1038769.901 units remaining) [ 0x050200000002030c @packed ] - - location: 304 (remaining gas: 1038747.817 units remaining) + - location: 304 (remaining gas: 1038747.781 units remaining) [ (Some { PACK }) @packed.unpacked ] - - location: 309 (remaining gas: 1038747.787 units remaining) + - location: 309 (remaining gas: 1038747.751 units remaining) [ { PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1038739.047 units remaining) + - location: 315 (remaining gas: 1038739.011 units remaining) [ 0x050200000002030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1038739.047 units remaining) + - location: 301 (remaining gas: 1038739.009 units remaining) [ 0x050200000002030c @packed 0x050200000002030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1038738.927 units remaining) + - location: 318 (remaining gas: 1038738.889 units remaining) [ 0 ] - - location: 319 (remaining gas: 1038738.877 units remaining) + - location: 319 (remaining gas: 1038738.839 units remaining) [ True ] - - location: 320 (remaining gas: 1038738.852 units remaining) + - location: 320 (remaining gas: 1038738.814 units remaining) [ ] - - location: 326 (remaining gas: 1038738.807 units remaining) + - location: 326 (remaining gas: 1038738.769 units remaining) [ Unit ] - - location: 327 (remaining gas: 1038738.762 units remaining) + - location: 327 (remaining gas: 1038738.724 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1038738.717 units remaining) + - location: 329 (remaining gas: 1038738.679 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 bbdf408d4add..dd6950274869 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" @@ -85,7 +85,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 31 (remaining gas: 1039753.085 units remaining) + - location: 31 (remaining gas: 1039753.083 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -97,7 +97,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 34 (remaining gas: 1039728.355 units remaining) + - location: 34 (remaining gas: 1039728.353 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit @@ -109,7 +109,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039728.310 units remaining) + - location: 35 (remaining gas: 1039728.308 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -120,7 +120,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 37 (remaining gas: 1039703.580 units remaining) + - location: 37 (remaining gas: 1039703.578 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -131,7 +131,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 38 (remaining gas: 1039636.340 units remaining) + - location: 38 (remaining gas: 1039636.338 units remaining) [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -142,7 +142,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 41 (remaining gas: 1039636.310 units remaining) + - location: 41 (remaining gas: 1039636.308 units remaining) [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -153,7 +153,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 47 (remaining gas: 1039611.580 units remaining) + - location: 47 (remaining gas: 1039611.578 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -164,7 +164,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039611.580 units remaining) + - location: 35 (remaining gas: 1039611.576 units remaining) [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed (Pair Unit @@ -176,7 +176,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 50 (remaining gas: 1039611.459 units remaining) + - location: 50 (remaining gas: 1039611.455 units remaining) [ 0 (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -187,7 +187,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 51 (remaining gas: 1039611.409 units remaining) + - location: 51 (remaining gas: 1039611.405 units remaining) [ True (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -198,7 +198,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 52 (remaining gas: 1039611.384 units remaining) + - location: 52 (remaining gas: 1039611.380 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -208,7 +208,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 58 (remaining gas: 1039611.334 units remaining) + - location: 58 (remaining gas: 1039611.330 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -227,7 +227,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 59 (remaining gas: 1039611.284 units remaining) + - location: 59 (remaining gas: 1039611.280 units remaining) [ Unit (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -238,7 +238,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039611.239 units remaining) + - location: 60 (remaining gas: 1039611.235 units remaining) [ (Pair Unit "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -248,7 +248,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 62 (remaining gas: 1039611.189 units remaining) + - location: 62 (remaining gas: 1039611.185 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -258,7 +258,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039611.189 units remaining) + - location: 60 (remaining gas: 1039611.183 units remaining) [ Unit Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -269,7 +269,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 63 (remaining gas: 1039602.949 units remaining) + - location: 63 (remaining gas: 1039602.943 units remaining) [ 0x05030b @packed Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -280,7 +280,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039602.904 units remaining) + - location: 64 (remaining gas: 1039602.898 units remaining) [ Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -290,7 +290,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 66 (remaining gas: 1039594.664 units remaining) + - location: 66 (remaining gas: 1039594.658 units remaining) [ 0x05030b @packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -300,7 +300,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 67 (remaining gas: 1039587.424 units remaining) + - location: 67 (remaining gas: 1039587.418 units remaining) [ (Some Unit) @packed.unpacked (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -310,7 +310,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 70 (remaining gas: 1039587.394 units remaining) + - location: 70 (remaining gas: 1039587.388 units remaining) [ Unit @packed.unpacked.some (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -320,7 +320,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 76 (remaining gas: 1039579.154 units remaining) + - location: 76 (remaining gas: 1039579.148 units remaining) [ 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -330,7 +330,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039579.154 units remaining) + - location: 64 (remaining gas: 1039579.146 units remaining) [ 0x05030b @packed 0x05030b @packed.unpacked.some.packed (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" @@ -341,7 +341,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 79 (remaining gas: 1039579.034 units remaining) + - location: 79 (remaining gas: 1039579.026 units remaining) [ 0 (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -351,7 +351,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 80 (remaining gas: 1039578.984 units remaining) + - location: 80 (remaining gas: 1039578.976 units remaining) [ True (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -361,7 +361,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 81 (remaining gas: 1039578.959 units remaining) + - location: 81 (remaining gas: 1039578.951 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -370,7 +370,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 87 (remaining gas: 1039578.909 units remaining) + - location: 87 (remaining gas: 1039578.901 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -387,7 +387,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 88 (remaining gas: 1039578.859 units remaining) + - location: 88 (remaining gas: 1039578.851 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None @@ -397,7 +397,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039578.814 units remaining) + - location: 89 (remaining gas: 1039578.806 units remaining) [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" None {} @@ -406,7 +406,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 91 (remaining gas: 1039578.764 units remaining) + - location: 91 (remaining gas: 1039578.756 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -415,7 +415,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039578.764 units remaining) + - location: 89 (remaining gas: 1039578.754 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -425,7 +425,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 92 (remaining gas: 1039538.484 units remaining) + - location: 92 (remaining gas: 1039538.474 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None @@ -435,7 +435,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039538.439 units remaining) + - location: 93 (remaining gas: 1039538.429 units remaining) [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None {} @@ -444,7 +444,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 95 (remaining gas: 1039498.159 units remaining) + - location: 95 (remaining gas: 1039498.149 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed (Pair None {} @@ -453,7 +453,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 96 (remaining gas: 1039449.889 units remaining) + - location: 96 (remaining gas: 1039449.879 units remaining) [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked (Pair None {} @@ -462,7 +462,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 99 (remaining gas: 1039449.859 units remaining) + - location: 99 (remaining gas: 1039449.849 units remaining) [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some (Pair None {} @@ -471,7 +471,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 105 (remaining gas: 1039409.579 units remaining) + - location: 105 (remaining gas: 1039409.569 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair None {} @@ -480,7 +480,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039409.579 units remaining) + - location: 93 (remaining gas: 1039409.567 units remaining) [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed (Pair None @@ -490,7 +490,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 108 (remaining gas: 1039409.457 units remaining) + - location: 108 (remaining gas: 1039409.445 units remaining) [ 0 (Pair None {} @@ -499,7 +499,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 109 (remaining gas: 1039409.407 units remaining) + - location: 109 (remaining gas: 1039409.395 units remaining) [ True (Pair None {} @@ -508,7 +508,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 110 (remaining gas: 1039409.382 units remaining) + - location: 110 (remaining gas: 1039409.370 units remaining) [ (Pair None {} {} @@ -516,7 +516,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 116 (remaining gas: 1039409.332 units remaining) + - location: 116 (remaining gas: 1039409.320 units remaining) [ (Pair None {} {} @@ -531,7 +531,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 117 (remaining gas: 1039409.282 units remaining) + - location: 117 (remaining gas: 1039409.270 units remaining) [ None (Pair None {} @@ -540,7 +540,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039409.237 units remaining) + - location: 118 (remaining gas: 1039409.225 units remaining) [ (Pair None {} {} @@ -548,7 +548,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 120 (remaining gas: 1039409.187 units remaining) + - location: 120 (remaining gas: 1039409.175 units remaining) [ None (Pair {} {} @@ -556,7 +556,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039409.187 units remaining) + - location: 118 (remaining gas: 1039409.173 units remaining) [ None None (Pair {} @@ -565,7 +565,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 121 (remaining gas: 1039400.947 units remaining) + - location: 121 (remaining gas: 1039400.933 units remaining) [ 0x050306 @packed None (Pair {} @@ -574,7 +574,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039400.902 units remaining) + - location: 122 (remaining gas: 1039400.888 units remaining) [ None (Pair {} {} @@ -582,7 +582,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 124 (remaining gas: 1039392.662 units remaining) + - location: 124 (remaining gas: 1039392.648 units remaining) [ 0x050306 @packed (Pair {} {} @@ -590,7 +590,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 125 (remaining gas: 1039385.422 units remaining) + - location: 125 (remaining gas: 1039385.408 units remaining) [ (Some None) @packed.unpacked (Pair {} {} @@ -598,7 +598,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 129 (remaining gas: 1039385.392 units remaining) + - location: 129 (remaining gas: 1039385.378 units remaining) [ None @packed.unpacked.some (Pair {} {} @@ -606,7 +606,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 135 (remaining gas: 1039377.152 units remaining) + - location: 135 (remaining gas: 1039377.138 units remaining) [ 0x050306 @packed.unpacked.some.packed (Pair {} {} @@ -614,7 +614,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039377.152 units remaining) + - location: 122 (remaining gas: 1039377.136 units remaining) [ 0x050306 @packed 0x050306 @packed.unpacked.some.packed (Pair {} @@ -623,7 +623,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 138 (remaining gas: 1039377.032 units remaining) + - location: 138 (remaining gas: 1039377.016 units remaining) [ 0 (Pair {} {} @@ -631,7 +631,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 139 (remaining gas: 1039376.982 units remaining) + - location: 139 (remaining gas: 1039376.966 units remaining) [ True (Pair {} {} @@ -639,14 +639,14 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 140 (remaining gas: 1039376.957 units remaining) + - location: 140 (remaining gas: 1039376.941 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 146 (remaining gas: 1039376.907 units remaining) + - location: 146 (remaining gas: 1039376.891 units remaining) [ (Pair {} {} (Pair 40 -10) @@ -659,7 +659,7 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 147 (remaining gas: 1039376.857 units remaining) + - location: 147 (remaining gas: 1039376.841 units remaining) [ {} (Pair {} {} @@ -667,265 +667,265 @@ trace (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039376.812 units remaining) + - location: 148 (remaining gas: 1039376.796 units remaining) [ (Pair {} {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 150 (remaining gas: 1039376.762 units remaining) + - location: 150 (remaining gas: 1039376.746 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039376.762 units remaining) + - location: 148 (remaining gas: 1039376.744 units remaining) [ {} {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 151 (remaining gas: 1039368.522 units remaining) + - location: 151 (remaining gas: 1039368.504 units remaining) [ 0x050200000000 @packed {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039368.477 units remaining) + - location: 152 (remaining gas: 1039368.459 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 154 (remaining gas: 1039360.237 units remaining) + - location: 154 (remaining gas: 1039360.219 units remaining) [ 0x050200000000 @packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 155 (remaining gas: 1039352.997 units remaining) + - location: 155 (remaining gas: 1039352.979 units remaining) [ (Some {}) @packed.unpacked (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 159 (remaining gas: 1039352.967 units remaining) + - location: 159 (remaining gas: 1039352.949 units remaining) [ {} @packed.unpacked.some (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 165 (remaining gas: 1039344.727 units remaining) + - location: 165 (remaining gas: 1039344.709 units remaining) [ 0x050200000000 @packed.unpacked.some.packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039344.727 units remaining) + - location: 152 (remaining gas: 1039344.707 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 168 (remaining gas: 1039344.607 units remaining) + - location: 168 (remaining gas: 1039344.587 units remaining) [ 0 (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 169 (remaining gas: 1039344.557 units remaining) + - location: 169 (remaining gas: 1039344.537 units remaining) [ True (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 170 (remaining gas: 1039344.532 units remaining) + - location: 170 (remaining gas: 1039344.512 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 176 (remaining gas: 1039344.482 units remaining) + - location: 176 (remaining gas: 1039344.462 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: 1039344.432 units remaining) + - location: 177 (remaining gas: 1039344.412 units remaining) [ {} (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039344.387 units remaining) + - location: 178 (remaining gas: 1039344.367 units remaining) [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 180 (remaining gas: 1039344.337 units remaining) + - location: 180 (remaining gas: 1039344.317 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039344.337 units remaining) + - location: 178 (remaining gas: 1039344.315 units remaining) [ {} {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 181 (remaining gas: 1039336.097 units remaining) + - location: 181 (remaining gas: 1039336.075 units remaining) [ 0x050200000000 @packed {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039336.052 units remaining) + - location: 182 (remaining gas: 1039336.030 units remaining) [ {} (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 184 (remaining gas: 1039327.812 units remaining) + - location: 184 (remaining gas: 1039327.790 units remaining) [ 0x050200000000 @packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 185 (remaining gas: 1039320.572 units remaining) + - location: 185 (remaining gas: 1039320.550 units remaining) [ (Some {}) @packed.unpacked (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 189 (remaining gas: 1039320.542 units remaining) + - location: 189 (remaining gas: 1039320.520 units remaining) [ {} @packed.unpacked.some (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 195 (remaining gas: 1039312.302 units remaining) + - location: 195 (remaining gas: 1039312.280 units remaining) [ 0x050200000000 @packed.unpacked.some.packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039312.302 units remaining) + - location: 182 (remaining gas: 1039312.278 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 198 (remaining gas: 1039312.182 units remaining) + - location: 198 (remaining gas: 1039312.158 units remaining) [ 0 (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 199 (remaining gas: 1039312.132 units remaining) + - location: 199 (remaining gas: 1039312.108 units remaining) [ True (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 200 (remaining gas: 1039312.107 units remaining) + - location: 200 (remaining gas: 1039312.083 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 206 (remaining gas: 1039312.057 units remaining) + - location: 206 (remaining gas: 1039312.033 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: 1039312.007 units remaining) + - location: 207 (remaining gas: 1039311.983 units remaining) [ (Pair 40 -10) (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039311.962 units remaining) + - location: 208 (remaining gas: 1039311.938 units remaining) [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 210 (remaining gas: 1039311.912 units remaining) + - location: 210 (remaining gas: 1039311.888 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039311.912 units remaining) + - location: 208 (remaining gas: 1039311.886 units remaining) [ (Pair 40 -10) (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 211 (remaining gas: 1039303.192 units remaining) + - location: 211 (remaining gas: 1039303.166 units remaining) [ 0x0507070028004a @packed (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039303.147 units remaining) + - location: 212 (remaining gas: 1039303.121 units remaining) [ (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 214 (remaining gas: 1039294.427 units remaining) + - location: 214 (remaining gas: 1039294.401 units remaining) [ 0x0507070028004a @packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 215 (remaining gas: 1039258.707 units remaining) + - location: 215 (remaining gas: 1039258.681 units remaining) [ (Some (Pair 40 -10)) @packed.unpacked (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 220 (remaining gas: 1039258.677 units remaining) + - location: 220 (remaining gas: 1039258.651 units remaining) [ (Pair 40 -10) @packed.unpacked.some (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 226 (remaining gas: 1039249.957 units remaining) + - location: 226 (remaining gas: 1039249.931 units remaining) [ 0x0507070028004a @packed.unpacked.some.packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039249.957 units remaining) + - location: 212 (remaining gas: 1039249.929 units remaining) [ 0x0507070028004a @packed 0x0507070028004a @packed.unpacked.some.packed (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 229 (remaining gas: 1039249.837 units remaining) + - location: 229 (remaining gas: 1039249.809 units remaining) [ 0 (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 230 (remaining gas: 1039249.787 units remaining) + - location: 230 (remaining gas: 1039249.759 units remaining) [ True (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 231 (remaining gas: 1039249.762 units remaining) + - location: 231 (remaining gas: 1039249.734 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 237 (remaining gas: 1039249.712 units remaining) + - location: 237 (remaining gas: 1039249.684 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: 1039249.662 units remaining) + - location: 238 (remaining gas: 1039249.634 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039249.617 units remaining) + - location: 239 (remaining gas: 1039249.589 units remaining) [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 241 (remaining gas: 1039249.567 units remaining) + - location: 241 (remaining gas: 1039249.539 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039249.567 units remaining) + - location: 239 (remaining gas: 1039249.537 units remaining) [ (Right "2019-09-09T08:35:33Z") (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 242 (remaining gas: 1039239.087 units remaining) + - location: 242 (remaining gas: 1039239.057 units remaining) [ 0x0505080095bbb0d70b @packed (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039239.042 units remaining) + - location: 243 (remaining gas: 1039239.012 units remaining) [ (Right "2019-09-09T08:35:33Z") (Pair {} { DUP ; DROP ; PACK }) ] - - location: 245 (remaining gas: 1039228.562 units remaining) + - location: 245 (remaining gas: 1039228.532 units remaining) [ 0x0505080095bbb0d70b @packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 246 (remaining gas: 1039207.082 units remaining) + - location: 246 (remaining gas: 1039207.052 units remaining) [ (Some (Right "2019-09-09T08:35:33Z")) @packed.unpacked (Pair {} { DUP ; DROP ; PACK }) ] - - location: 251 (remaining gas: 1039207.052 units remaining) + - location: 251 (remaining gas: 1039207.022 units remaining) [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some (Pair {} { DUP ; DROP ; PACK }) ] - - location: 257 (remaining gas: 1039196.572 units remaining) + - location: 257 (remaining gas: 1039196.542 units remaining) [ 0x0505080095bbb0d70b @packed.unpacked.some.packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039196.572 units remaining) + - location: 243 (remaining gas: 1039196.540 units remaining) [ 0x0505080095bbb0d70b @packed 0x0505080095bbb0d70b @packed.unpacked.some.packed (Pair {} { DUP ; DROP ; PACK }) ] - - location: 260 (remaining gas: 1039196.452 units remaining) + - location: 260 (remaining gas: 1039196.420 units remaining) [ 0 (Pair {} { DUP ; DROP ; PACK }) ] - - location: 261 (remaining gas: 1039196.402 units remaining) + - location: 261 (remaining gas: 1039196.370 units remaining) [ True (Pair {} { DUP ; DROP ; PACK }) ] - - location: 262 (remaining gas: 1039196.377 units remaining) + - location: 262 (remaining gas: 1039196.345 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 268 (remaining gas: 1039196.327 units remaining) + - location: 268 (remaining gas: 1039196.295 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) (Pair {} { DUP ; DROP ; PACK }) ] - - location: 269 (remaining gas: 1039196.277 units remaining) + - location: 269 (remaining gas: 1039196.245 units remaining) [ {} (Pair {} { DUP ; DROP ; PACK }) ] - - location: 270 (remaining gas: 1039196.232 units remaining) + - location: 270 (remaining gas: 1039196.200 units remaining) [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 272 (remaining gas: 1039196.182 units remaining) + - location: 272 (remaining gas: 1039196.150 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 270 (remaining gas: 1039196.182 units remaining) + - location: 270 (remaining gas: 1039196.148 units remaining) [ {} {} { DUP ; DROP ; PACK } ] - - location: 273 (remaining gas: 1039187.942 units remaining) + - location: 273 (remaining gas: 1039187.908 units remaining) [ 0x050200000000 @packed {} { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039187.897 units remaining) + - location: 274 (remaining gas: 1039187.863 units remaining) [ {} { DUP ; DROP ; PACK } ] - - location: 276 (remaining gas: 1039179.657 units remaining) + - location: 276 (remaining gas: 1039179.623 units remaining) [ 0x050200000000 @packed { DUP ; DROP ; PACK } ] - - location: 277 (remaining gas: 1039172.417 units remaining) + - location: 277 (remaining gas: 1039172.383 units remaining) [ (Some {}) @packed.unpacked { DUP ; DROP ; PACK } ] - - location: 282 (remaining gas: 1039172.387 units remaining) + - location: 282 (remaining gas: 1039172.353 units remaining) [ {} @packed.unpacked.some { DUP ; DROP ; PACK } ] - - location: 288 (remaining gas: 1039164.147 units remaining) + - location: 288 (remaining gas: 1039164.113 units remaining) [ 0x050200000000 @packed.unpacked.some.packed { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039164.147 units remaining) + - location: 274 (remaining gas: 1039164.111 units remaining) [ 0x050200000000 @packed 0x050200000000 @packed.unpacked.some.packed { DUP ; DROP ; PACK } ] - - location: 291 (remaining gas: 1039164.027 units remaining) + - location: 291 (remaining gas: 1039163.991 units remaining) [ 0 { DUP ; DROP ; PACK } ] - - location: 292 (remaining gas: 1039163.977 units remaining) + - location: 292 (remaining gas: 1039163.941 units remaining) [ True { DUP ; DROP ; PACK } ] - - location: 293 (remaining gas: 1039163.952 units remaining) + - location: 293 (remaining gas: 1039163.916 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 299 (remaining gas: 1039163.902 units remaining) + - location: 299 (remaining gas: 1039163.866 units remaining) [ { DUP ; DROP ; PACK } { DUP ; DROP ; PACK } ] - - location: 300 (remaining gas: 1039150.562 units remaining) + - location: 300 (remaining gas: 1039150.526 units remaining) [ 0x05020000000603210320030c @packed { DUP ; DROP ; PACK } ] - - location: 301 (remaining gas: 1039150.517 units remaining) + - location: 301 (remaining gas: 1039150.481 units remaining) [ { DUP ; DROP ; PACK } ] - - location: 303 (remaining gas: 1039137.177 units remaining) + - location: 303 (remaining gas: 1039137.141 units remaining) [ 0x05020000000603210320030c @packed ] - - location: 304 (remaining gas: 1039085.317 units remaining) + - location: 304 (remaining gas: 1039085.281 units remaining) [ (Some { DUP ; DROP ; PACK }) @packed.unpacked ] - - location: 309 (remaining gas: 1039085.287 units remaining) + - location: 309 (remaining gas: 1039085.251 units remaining) [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1039071.947 units remaining) + - location: 315 (remaining gas: 1039071.911 units remaining) [ 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1039071.947 units remaining) + - location: 301 (remaining gas: 1039071.909 units remaining) [ 0x05020000000603210320030c @packed 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1039071.827 units remaining) + - location: 318 (remaining gas: 1039071.789 units remaining) [ 0 ] - - location: 319 (remaining gas: 1039071.777 units remaining) + - location: 319 (remaining gas: 1039071.739 units remaining) [ True ] - - location: 320 (remaining gas: 1039071.752 units remaining) + - location: 320 (remaining gas: 1039071.714 units remaining) [ ] - - location: 326 (remaining gas: 1039071.707 units remaining) + - location: 326 (remaining gas: 1039071.669 units remaining) [ Unit ] - - location: 327 (remaining gas: 1039071.662 units remaining) + - location: 327 (remaining gas: 1039071.624 units remaining) [ {} Unit ] - - location: 329 (remaining gas: 1039071.617 units remaining) + - location: 329 (remaining gas: 1039071.579 units remaining) [ (Pair {} Unit) ] 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 d8b20c8d335d..f77f99163003 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 @@ -24,24 +24,24 @@ trace { UNPAIR ; ADD } ] - location: 19 (remaining gas: 1039987.665 units remaining) [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 17 (remaining gas: 1039987.665 units remaining) + - location: 17 (remaining gas: 1039987.663 units remaining) [ 38 @parameter { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 12 (remaining gas: 1039987.620 units remaining) + - location: 12 (remaining gas: 1039987.618 units remaining) [ 14 38 ] - - location: 12 (remaining gas: 1039987.575 units remaining) + - location: 12 (remaining gas: 1039987.573 units remaining) [ (Pair 14 38) @arg ] - - location: 13 (remaining gas: 1039987.525 units remaining) + - location: 13 (remaining gas: 1039987.523 units remaining) [ 14 38 ] - - location: 14 (remaining gas: 1039987.445 units remaining) + - location: 14 (remaining gas: 1039987.443 units remaining) [ 52 ] - - location: 20 (remaining gas: 1039987.445 units remaining) + - location: 20 (remaining gas: 1039987.441 units remaining) [ 52 ] - - location: 21 (remaining gas: 1039987.400 units remaining) + - location: 21 (remaining gas: 1039987.396 units remaining) [ {} 52 ] - - location: 23 (remaining gas: 1039987.355 units remaining) + - location: 23 (remaining gas: 1039987.351 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 d878cabb43d2..e31ad2897b13 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 @@ -53,7 +53,7 @@ trace { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039975.935 units remaining) + - location: 32 (remaining gas: 1039975.933 units remaining) [ 0 @s.elt { 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: 1039975.890 units remaining) + - location: 16 (remaining gas: 1039975.888 units remaining) [ 3 0 ] - - location: 16 (remaining gas: 1039975.845 units remaining) + - location: 16 (remaining gas: 1039975.843 units remaining) [ (Pair 3 0) ] - - location: 16 (remaining gas: 1039975.800 units remaining) + - location: 16 (remaining gas: 1039975.798 units remaining) [ 4 (Pair 3 0) ] - - location: 16 (remaining gas: 1039975.755 units remaining) + - location: 16 (remaining gas: 1039975.753 units remaining) [ (Pair 4 3 0) @arg ] - - location: 17 (remaining gas: 1039975.705 units remaining) + - location: 17 (remaining gas: 1039975.703 units remaining) [ 4 (Pair 3 0) ] - - location: 18 (remaining gas: 1039975.660 units remaining) + - location: 18 (remaining gas: 1039975.658 units remaining) [ (Pair 3 0) ] - - location: 20 (remaining gas: 1039975.610 units remaining) + - location: 20 (remaining gas: 1039975.608 units remaining) [ 3 0 ] - - location: 18 (remaining gas: 1039975.610 units remaining) + - location: 18 (remaining gas: 1039975.606 units remaining) [ 4 3 0 ] - - location: 21 (remaining gas: 1039975.530 units remaining) + - location: 21 (remaining gas: 1039975.526 units remaining) [ 7 0 ] - - location: 22 (remaining gas: 1039975.448 units remaining) + - location: 22 (remaining gas: 1039975.444 units remaining) [ 0 ] - - location: 35 (remaining gas: 1039975.448 units remaining) + - location: 35 (remaining gas: 1039975.442 units remaining) [ 0 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039975.448 units remaining) + - location: 30 (remaining gas: 1039975.441 units remaining) [ 1 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039975.403 units remaining) + - location: 32 (remaining gas: 1039975.396 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039975.353 units remaining) + - location: 34 (remaining gas: 1039975.346 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: 1039975.353 units remaining) + - location: 32 (remaining gas: 1039975.344 units remaining) [ 1 @s.elt { 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: 1039975.308 units remaining) + - location: 16 (remaining gas: 1039975.299 units remaining) [ 3 1 ] - - location: 16 (remaining gas: 1039975.263 units remaining) + - location: 16 (remaining gas: 1039975.254 units remaining) [ (Pair 3 1) ] - - location: 16 (remaining gas: 1039975.218 units remaining) + - location: 16 (remaining gas: 1039975.209 units remaining) [ 4 (Pair 3 1) ] - - location: 16 (remaining gas: 1039975.173 units remaining) + - location: 16 (remaining gas: 1039975.164 units remaining) [ (Pair 4 3 1) @arg ] - - location: 17 (remaining gas: 1039975.123 units remaining) + - location: 17 (remaining gas: 1039975.114 units remaining) [ 4 (Pair 3 1) ] - - location: 18 (remaining gas: 1039975.078 units remaining) + - location: 18 (remaining gas: 1039975.069 units remaining) [ (Pair 3 1) ] - - location: 20 (remaining gas: 1039975.028 units remaining) + - location: 20 (remaining gas: 1039975.019 units remaining) [ 3 1 ] - - location: 18 (remaining gas: 1039975.028 units remaining) + - location: 18 (remaining gas: 1039975.017 units remaining) [ 4 3 1 ] - - location: 21 (remaining gas: 1039974.948 units remaining) + - location: 21 (remaining gas: 1039974.937 units remaining) [ 7 1 ] - - location: 22 (remaining gas: 1039974.862 units remaining) + - location: 22 (remaining gas: 1039974.851 units remaining) [ 7 ] - - location: 35 (remaining gas: 1039974.862 units remaining) + - location: 35 (remaining gas: 1039974.849 units remaining) [ 7 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039974.862 units remaining) + - location: 30 (remaining gas: 1039974.848 units remaining) [ 2 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039974.817 units remaining) + - location: 32 (remaining gas: 1039974.803 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039974.767 units remaining) + - location: 34 (remaining gas: 1039974.753 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: 1039974.767 units remaining) + - location: 32 (remaining gas: 1039974.751 units remaining) [ 2 @s.elt { 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: 1039974.722 units remaining) + - location: 16 (remaining gas: 1039974.706 units remaining) [ 3 2 ] - - location: 16 (remaining gas: 1039974.677 units remaining) + - location: 16 (remaining gas: 1039974.661 units remaining) [ (Pair 3 2) ] - - location: 16 (remaining gas: 1039974.632 units remaining) + - location: 16 (remaining gas: 1039974.616 units remaining) [ 4 (Pair 3 2) ] - - location: 16 (remaining gas: 1039974.587 units remaining) + - location: 16 (remaining gas: 1039974.571 units remaining) [ (Pair 4 3 2) @arg ] - - location: 17 (remaining gas: 1039974.537 units remaining) + - location: 17 (remaining gas: 1039974.521 units remaining) [ 4 (Pair 3 2) ] - - location: 18 (remaining gas: 1039974.492 units remaining) + - location: 18 (remaining gas: 1039974.476 units remaining) [ (Pair 3 2) ] - - location: 20 (remaining gas: 1039974.442 units remaining) + - location: 20 (remaining gas: 1039974.426 units remaining) [ 3 2 ] - - location: 18 (remaining gas: 1039974.442 units remaining) + - location: 18 (remaining gas: 1039974.424 units remaining) [ 4 3 2 ] - - location: 21 (remaining gas: 1039974.362 units remaining) + - location: 21 (remaining gas: 1039974.344 units remaining) [ 7 2 ] - - location: 22 (remaining gas: 1039974.276 units remaining) + - location: 22 (remaining gas: 1039974.258 units remaining) [ 14 ] - - location: 35 (remaining gas: 1039974.276 units remaining) + - location: 35 (remaining gas: 1039974.256 units remaining) [ 14 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039974.276 units remaining) + - location: 30 (remaining gas: 1039974.255 units remaining) [ 3 @s.elt { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 32 (remaining gas: 1039974.231 units remaining) + - location: 32 (remaining gas: 1039974.210 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039974.181 units remaining) + - location: 34 (remaining gas: 1039974.160 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: 1039974.181 units remaining) + - location: 32 (remaining gas: 1039974.158 units remaining) [ 3 @s.elt { 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: 1039974.136 units remaining) + - location: 16 (remaining gas: 1039974.113 units remaining) [ 3 3 ] - - location: 16 (remaining gas: 1039974.091 units remaining) + - location: 16 (remaining gas: 1039974.068 units remaining) [ (Pair 3 3) ] - - location: 16 (remaining gas: 1039974.046 units remaining) + - location: 16 (remaining gas: 1039974.023 units remaining) [ 4 (Pair 3 3) ] - - location: 16 (remaining gas: 1039974.001 units remaining) + - location: 16 (remaining gas: 1039973.978 units remaining) [ (Pair 4 3 3) @arg ] - - location: 17 (remaining gas: 1039973.951 units remaining) + - location: 17 (remaining gas: 1039973.928 units remaining) [ 4 (Pair 3 3) ] - - location: 18 (remaining gas: 1039973.906 units remaining) + - location: 18 (remaining gas: 1039973.883 units remaining) [ (Pair 3 3) ] - - location: 20 (remaining gas: 1039973.856 units remaining) + - location: 20 (remaining gas: 1039973.833 units remaining) [ 3 3 ] - - location: 18 (remaining gas: 1039973.856 units remaining) + - location: 18 (remaining gas: 1039973.831 units remaining) [ 4 3 3 ] - - location: 21 (remaining gas: 1039973.776 units remaining) + - location: 21 (remaining gas: 1039973.751 units remaining) [ 7 3 ] - - location: 22 (remaining gas: 1039973.690 units remaining) + - location: 22 (remaining gas: 1039973.665 units remaining) [ 21 ] - - location: 35 (remaining gas: 1039973.690 units remaining) + - location: 35 (remaining gas: 1039973.663 units remaining) [ 21 { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039973.690 units remaining) + - location: 30 (remaining gas: 1039973.662 units remaining) [ { 0 ; 7 ; 14 ; 21 } { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 36 (remaining gas: 1039973.645 units remaining) + - location: 36 (remaining gas: 1039973.617 units remaining) [ { PUSH int 3 ; PAIR ; { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 38 (remaining gas: 1039973.600 units remaining) + - location: 38 (remaining gas: 1039973.572 units remaining) [ ] - - location: 36 (remaining gas: 1039973.600 units remaining) + - location: 36 (remaining gas: 1039973.570 units remaining) [ { 0 ; 7 ; 14 ; 21 } ] - - location: 39 (remaining gas: 1039973.555 units remaining) + - location: 39 (remaining gas: 1039973.525 units remaining) [ {} { 0 ; 7 ; 14 ; 21 } ] - - location: 41 (remaining gas: 1039973.510 units remaining) + - location: 41 (remaining gas: 1039973.480 units remaining) [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] 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 108496c0759e..ec7b843aea34 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" @@ -22,21 +22,21 @@ trace {} ] - location: 15 (remaining gas: 1039990.229 units remaining) [ { "c" } ] - - location: 13 (remaining gas: 1039990.229 units remaining) + - location: 13 (remaining gas: 1039990.228 units remaining) [ "b" @parameter.elt { "c" } ] - - location: 15 (remaining gas: 1039990.179 units remaining) + - location: 15 (remaining gas: 1039990.178 units remaining) [ { "b" ; "c" } ] - - location: 13 (remaining gas: 1039990.179 units remaining) + - location: 13 (remaining gas: 1039990.177 units remaining) [ "a" @parameter.elt { "b" ; "c" } ] - - location: 15 (remaining gas: 1039990.129 units remaining) + - location: 15 (remaining gas: 1039990.127 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 13 (remaining gas: 1039990.129 units remaining) + - location: 13 (remaining gas: 1039990.126 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039990.084 units remaining) + - location: 16 (remaining gas: 1039990.081 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039990.039 units remaining) + - location: 18 (remaining gas: 1039990.036 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-{\"\"}-{ \"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 ec6fcb69f2b9..2f66011c527f 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" @@ -37,79 +37,79 @@ trace {} ] - location: 23 (remaining gas: 1039981.629 units remaining) [ { "c" } ] - - location: 21 (remaining gas: 1039981.629 units remaining) + - location: 21 (remaining gas: 1039981.627 units remaining) [ { "b" ; "a" } @parameter.tl { "c" } ] - - location: 24 (remaining gas: 1039981.584 units remaining) + - location: 24 (remaining gas: 1039981.582 units remaining) [ True { "b" ; "a" } @parameter { "c" } ] - - location: 16 (remaining gas: 1039981.584 units remaining) + - location: 16 (remaining gas: 1039981.581 units remaining) [ { "b" ; "a" } @parameter { "c" } ] - - location: 18 (remaining gas: 1039981.554 units remaining) + - location: 18 (remaining gas: 1039981.551 units remaining) [ "b" @parameter.hd { "a" } @parameter.tl { "c" } ] - - location: 20 (remaining gas: 1039981.514 units remaining) + - location: 20 (remaining gas: 1039981.511 units remaining) [ { "a" } @parameter.tl "b" @parameter.hd { "c" } ] - - location: 21 (remaining gas: 1039981.469 units remaining) + - location: 21 (remaining gas: 1039981.466 units remaining) [ "b" @parameter.hd { "c" } ] - - location: 23 (remaining gas: 1039981.419 units remaining) + - location: 23 (remaining gas: 1039981.416 units remaining) [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.419 units remaining) + - location: 21 (remaining gas: 1039981.414 units remaining) [ { "a" } @parameter.tl { "b" ; "c" } ] - - location: 24 (remaining gas: 1039981.374 units remaining) + - location: 24 (remaining gas: 1039981.369 units remaining) [ True { "a" } @parameter { "b" ; "c" } ] - - location: 16 (remaining gas: 1039981.374 units remaining) + - location: 16 (remaining gas: 1039981.368 units remaining) [ { "a" } @parameter { "b" ; "c" } ] - - location: 18 (remaining gas: 1039981.344 units remaining) + - location: 18 (remaining gas: 1039981.338 units remaining) [ "a" @parameter.hd {} @parameter.tl { "b" ; "c" } ] - - location: 20 (remaining gas: 1039981.304 units remaining) + - location: 20 (remaining gas: 1039981.298 units remaining) [ {} @parameter.tl "a" @parameter.hd { "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.259 units remaining) + - location: 21 (remaining gas: 1039981.253 units remaining) [ "a" @parameter.hd { "b" ; "c" } ] - - location: 23 (remaining gas: 1039981.209 units remaining) + - location: 23 (remaining gas: 1039981.203 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039981.209 units remaining) + - location: 21 (remaining gas: 1039981.201 units remaining) [ {} @parameter.tl { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039981.164 units remaining) + - location: 24 (remaining gas: 1039981.156 units remaining) [ True {} @parameter { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039981.164 units remaining) + - location: 16 (remaining gas: 1039981.155 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039981.134 units remaining) + - location: 18 (remaining gas: 1039981.125 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039981.089 units remaining) + - location: 28 (remaining gas: 1039981.080 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039981.044 units remaining) + - location: 30 (remaining gas: 1039981.035 units remaining) [ False {} @parameter { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039981.044 units remaining) + - location: 16 (remaining gas: 1039981.034 units remaining) [ {} @parameter { "a" ; "b" ; "c" } ] - - location: 33 (remaining gas: 1039980.999 units remaining) + - location: 33 (remaining gas: 1039980.989 units remaining) [ { "a" ; "b" ; "c" } ] - - location: 34 (remaining gas: 1039980.954 units remaining) + - location: 34 (remaining gas: 1039980.944 units remaining) [ {} { "a" ; "b" ; "c" } ] - - location: 36 (remaining gas: 1039980.909 units remaining) + - location: 36 (remaining gas: 1039980.899 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 2f81cccda2fb..76055bd33f2d 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" @@ -33,14 +33,14 @@ trace [ False {} @parameter {} ] - - location: 16 (remaining gas: 1039982.466 units remaining) + - location: 16 (remaining gas: 1039982.465 units remaining) [ {} @parameter {} ] - - location: 33 (remaining gas: 1039982.421 units remaining) + - location: 33 (remaining gas: 1039982.420 units remaining) [ {} ] - - location: 34 (remaining gas: 1039982.376 units remaining) + - location: 34 (remaining gas: 1039982.375 units remaining) [ {} {} ] - - location: 36 (remaining gas: 1039982.331 units remaining) + - location: 36 (remaining gas: 1039982.330 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 38f3a76ccebc..43650a454621 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 @@ -20,25 +20,25 @@ trace [ ] - location: 13 (remaining gas: 1039983.165 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 15 (remaining gas: 1039983.165 units remaining) + - location: 15 (remaining gas: 1039983.163 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 16 (remaining gas: 1039983.120 units remaining) + - location: 16 (remaining gas: 1039983.118 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 17 (remaining gas: 1039983.075 units remaining) + - location: 17 (remaining gas: 1039983.073 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self.address "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 20 (remaining gas: 1039982.857 units remaining) + - location: 20 (remaining gas: 1039982.855 units remaining) [ 0 ] - - location: 21 (remaining gas: 1039982.807 units remaining) + - location: 21 (remaining gas: 1039982.805 units remaining) [ True ] - - location: 22 (remaining gas: 1039982.782 units remaining) + - location: 22 (remaining gas: 1039982.780 units remaining) [ ] - - location: 28 (remaining gas: 1039982.737 units remaining) + - location: 28 (remaining gas: 1039982.735 units remaining) [ Unit ] - - location: 29 (remaining gas: 1039982.692 units remaining) + - location: 29 (remaining gas: 1039982.690 units remaining) [ {} Unit ] - - location: 31 (remaining gas: 1039982.647 units remaining) + - location: 31 (remaining gas: 1039982.645 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 54e04b207b07..ae849e2bcaac 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 @@ -31,59 +31,59 @@ trace - location: 21 (remaining gas: 1039892 units remaining) [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 19 (remaining gas: 1039892 units remaining) + - location: 19 (remaining gas: 1039891.998 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 24 (remaining gas: 1039891.880 units remaining) + - location: 24 (remaining gas: 1039891.878 units remaining) [ -1 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 25 (remaining gas: 1039891.835 units remaining) + - location: 25 (remaining gas: 1039891.833 units remaining) [ True 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 26 (remaining gas: 1039891.810 units remaining) + - location: 26 (remaining gas: 1039891.808 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 32 (remaining gas: 1039891.765 units remaining) + - location: 32 (remaining gas: 1039891.763 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 33 (remaining gas: 1039860.925 units remaining) + - location: 33 (remaining gas: 1039860.923 units remaining) [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @selfpacked 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 36 (remaining gas: 1039860.805 units remaining) + - location: 36 (remaining gas: 1039860.803 units remaining) [ 0 ] - - location: 37 (remaining gas: 1039860.755 units remaining) + - location: 37 (remaining gas: 1039860.753 units remaining) [ True ] - - location: 38 (remaining gas: 1039860.730 units remaining) + - location: 38 (remaining gas: 1039860.728 units remaining) [ ] - - location: 44 (remaining gas: 1039860.685 units remaining) + - location: 44 (remaining gas: 1039860.683 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 48 (remaining gas: 1039860.640 units remaining) + - location: 48 (remaining gas: 1039860.638 units remaining) [ ] - - location: 49 (remaining gas: 1039860.595 units remaining) + - location: 49 (remaining gas: 1039860.593 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 53 (remaining gas: 1039860.550 units remaining) + - location: 53 (remaining gas: 1039860.548 units remaining) [ ] - - location: 54 (remaining gas: 1039860.505 units remaining) + - location: 54 (remaining gas: 1039860.503 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 60 (remaining gas: 1039860.460 units remaining) + - location: 60 (remaining gas: 1039860.458 units remaining) [ ] - - location: 61 (remaining gas: 1039860.415 units remaining) + - location: 61 (remaining gas: 1039860.413 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 65 (remaining gas: 1039860.370 units remaining) + - location: 65 (remaining gas: 1039860.368 units remaining) [ ] - - location: 66 (remaining gas: 1039860.325 units remaining) + - location: 66 (remaining gas: 1039860.323 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 76 (remaining gas: 1039860.280 units remaining) + - location: 76 (remaining gas: 1039860.278 units remaining) [ ] - - location: 77 (remaining gas: 1039860.235 units remaining) + - location: 77 (remaining gas: 1039860.233 units remaining) [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 87 (remaining gas: 1039860.190 units remaining) + - location: 87 (remaining gas: 1039860.188 units remaining) [ ] - - location: 88 (remaining gas: 1039860.145 units remaining) + - location: 88 (remaining gas: 1039860.143 units remaining) [ Unit ] - - location: 89 (remaining gas: 1039860.100 units remaining) + - location: 89 (remaining gas: 1039860.098 units remaining) [ {} Unit ] - - location: 91 (remaining gas: 1039860.055 units remaining) + - location: 91 (remaining gas: 1039860.053 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 683992bfb8b1..7ace160d2994 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" @@ -19,31 +19,31 @@ trace [ (Pair "" "hello" 0) ] - location: 13 (remaining gas: 1039985.092 units remaining) [ "" @parameter ] - - location: 11 (remaining gas: 1039985.092 units remaining) + - location: 11 (remaining gas: 1039985.090 units remaining) [ (Pair "hello" 0) @storage "" @parameter ] - - location: 15 (remaining gas: 1039985.042 units remaining) + - location: 15 (remaining gas: 1039985.040 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage "" @parameter ] - - location: 16 (remaining gas: 1039984.992 units remaining) + - location: 16 (remaining gas: 1039984.990 units remaining) [ "hello" (Pair "hello" 0) @storage "" @parameter ] - - location: 17 (remaining gas: 1039984.947 units remaining) + - location: 17 (remaining gas: 1039984.945 units remaining) [ (Pair "hello" 0) @storage "" @parameter ] - - location: 18 (remaining gas: 1039984.897 units remaining) + - location: 18 (remaining gas: 1039984.895 units remaining) [ 0 @storage.n "" @parameter ] - - location: 19 (remaining gas: 1039984.857 units remaining) + - location: 19 (remaining gas: 1039984.855 units remaining) [ "" @parameter 0 @storage.n ] - - location: 20 (remaining gas: 1039984.812 units remaining) + - location: 20 (remaining gas: 1039984.810 units remaining) [ (Pair "" 0) @storage ] - - location: 21 (remaining gas: 1039984.767 units remaining) + - location: 21 (remaining gas: 1039984.765 units remaining) [ {} (Pair "" 0) @storage ] - - location: 23 (remaining gas: 1039984.722 units remaining) + - location: 23 (remaining gas: 1039984.720 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 74f3ee3c4082..642f7d6fb6c1 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" @@ -19,31 +19,31 @@ trace [ (Pair "abc" "hello" 0) ] - location: 13 (remaining gas: 1039985.062 units remaining) [ "abc" @parameter ] - - location: 11 (remaining gas: 1039985.062 units remaining) + - location: 11 (remaining gas: 1039985.060 units remaining) [ (Pair "hello" 0) @storage "abc" @parameter ] - - location: 15 (remaining gas: 1039985.012 units remaining) + - location: 15 (remaining gas: 1039985.010 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage "abc" @parameter ] - - location: 16 (remaining gas: 1039984.962 units remaining) + - location: 16 (remaining gas: 1039984.960 units remaining) [ "hello" (Pair "hello" 0) @storage "abc" @parameter ] - - location: 17 (remaining gas: 1039984.917 units remaining) + - location: 17 (remaining gas: 1039984.915 units remaining) [ (Pair "hello" 0) @storage "abc" @parameter ] - - location: 18 (remaining gas: 1039984.867 units remaining) + - location: 18 (remaining gas: 1039984.865 units remaining) [ 0 @storage.n "abc" @parameter ] - - location: 19 (remaining gas: 1039984.827 units remaining) + - location: 19 (remaining gas: 1039984.825 units remaining) [ "abc" @parameter 0 @storage.n ] - - location: 20 (remaining gas: 1039984.782 units remaining) + - location: 20 (remaining gas: 1039984.780 units remaining) [ (Pair "abc" 0) @storage ] - - location: 21 (remaining gas: 1039984.737 units remaining) + - location: 21 (remaining gas: 1039984.735 units remaining) [ {} (Pair "abc" 0) @storage ] - - location: 23 (remaining gas: 1039984.692 units remaining) + - location: 23 (remaining gas: 1039984.690 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 c50ded818858..22f7a335a606 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" @@ -19,31 +19,31 @@ trace [ (Pair "world" "hello" 0) ] - location: 13 (remaining gas: 1039985.042 units remaining) [ "world" @parameter ] - - location: 11 (remaining gas: 1039985.042 units remaining) + - location: 11 (remaining gas: 1039985.040 units remaining) [ (Pair "hello" 0) @storage "world" @parameter ] - - location: 15 (remaining gas: 1039984.992 units remaining) + - location: 15 (remaining gas: 1039984.990 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage "world" @parameter ] - - location: 16 (remaining gas: 1039984.942 units remaining) + - location: 16 (remaining gas: 1039984.940 units remaining) [ "hello" (Pair "hello" 0) @storage "world" @parameter ] - - location: 17 (remaining gas: 1039984.897 units remaining) + - location: 17 (remaining gas: 1039984.895 units remaining) [ (Pair "hello" 0) @storage "world" @parameter ] - - location: 18 (remaining gas: 1039984.847 units remaining) + - location: 18 (remaining gas: 1039984.845 units remaining) [ 0 @storage.n "world" @parameter ] - - location: 19 (remaining gas: 1039984.807 units remaining) + - location: 19 (remaining gas: 1039984.805 units remaining) [ "world" @parameter 0 @storage.n ] - - location: 20 (remaining gas: 1039984.762 units remaining) + - location: 20 (remaining gas: 1039984.760 units remaining) [ (Pair "world" 0) @storage ] - - location: 21 (remaining gas: 1039984.717 units remaining) + - location: 21 (remaining gas: 1039984.715 units remaining) [ {} (Pair "world" 0) @storage ] - - location: 23 (remaining gas: 1039984.672 units remaining) + - location: 23 (remaining gas: 1039984.670 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 5e6d463e0b02..0a336f2df733 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" @@ -19,28 +19,28 @@ trace [ (Pair 1 "hello" 0) ] - location: 13 (remaining gas: 1039985.856 units remaining) [ 1 @parameter ] - - location: 11 (remaining gas: 1039985.856 units remaining) + - location: 11 (remaining gas: 1039985.854 units remaining) [ (Pair "hello" 0) @storage 1 @parameter ] - - location: 15 (remaining gas: 1039985.806 units remaining) + - location: 15 (remaining gas: 1039985.804 units remaining) [ (Pair "hello" 0) @storage (Pair "hello" 0) @storage 1 @parameter ] - - location: 16 (remaining gas: 1039985.756 units remaining) + - location: 16 (remaining gas: 1039985.754 units remaining) [ 0 (Pair "hello" 0) @storage 1 @parameter ] - - location: 17 (remaining gas: 1039985.711 units remaining) + - location: 17 (remaining gas: 1039985.709 units remaining) [ (Pair "hello" 0) @storage 1 @parameter ] - - location: 18 (remaining gas: 1039985.661 units remaining) + - location: 18 (remaining gas: 1039985.659 units remaining) [ "hello" @storage.s 1 @parameter ] - - location: 19 (remaining gas: 1039985.616 units remaining) + - location: 19 (remaining gas: 1039985.614 units remaining) [ (Pair "hello" 1) @storage ] - - location: 20 (remaining gas: 1039985.571 units remaining) + - location: 20 (remaining gas: 1039985.569 units remaining) [ {} (Pair "hello" 1) @storage ] - - location: 22 (remaining gas: 1039985.526 units remaining) + - location: 22 (remaining gas: 1039985.524 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 bc9adfa538ca..3577e8b4f3c9 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" @@ -19,28 +19,28 @@ trace [ (Pair 3 "hello" 500) ] - location: 13 (remaining gas: 1039985.856 units remaining) [ 3 @parameter ] - - location: 11 (remaining gas: 1039985.856 units remaining) + - location: 11 (remaining gas: 1039985.854 units remaining) [ (Pair "hello" 500) @storage 3 @parameter ] - - location: 15 (remaining gas: 1039985.806 units remaining) + - location: 15 (remaining gas: 1039985.804 units remaining) [ (Pair "hello" 500) @storage (Pair "hello" 500) @storage 3 @parameter ] - - location: 16 (remaining gas: 1039985.756 units remaining) + - location: 16 (remaining gas: 1039985.754 units remaining) [ 500 (Pair "hello" 500) @storage 3 @parameter ] - - location: 17 (remaining gas: 1039985.711 units remaining) + - location: 17 (remaining gas: 1039985.709 units remaining) [ (Pair "hello" 500) @storage 3 @parameter ] - - location: 18 (remaining gas: 1039985.661 units remaining) + - location: 18 (remaining gas: 1039985.659 units remaining) [ "hello" @storage.s 3 @parameter ] - - location: 19 (remaining gas: 1039985.616 units remaining) + - location: 19 (remaining gas: 1039985.614 units remaining) [ (Pair "hello" 3) @storage ] - - location: 20 (remaining gas: 1039985.571 units remaining) + - location: 20 (remaining gas: 1039985.569 units remaining) [ {} (Pair "hello" 3) @storage ] - - location: 22 (remaining gas: 1039985.526 units remaining) + - location: 22 (remaining gas: 1039985.524 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 d9c0a9eccb58..8eff282cea64 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" @@ -19,28 +19,28 @@ trace [ (Pair 100 "hello" 7) ] - location: 13 (remaining gas: 1039985.856 units remaining) [ 100 @parameter ] - - location: 11 (remaining gas: 1039985.856 units remaining) + - location: 11 (remaining gas: 1039985.854 units remaining) [ (Pair "hello" 7) @storage 100 @parameter ] - - location: 15 (remaining gas: 1039985.806 units remaining) + - location: 15 (remaining gas: 1039985.804 units remaining) [ (Pair "hello" 7) @storage (Pair "hello" 7) @storage 100 @parameter ] - - location: 16 (remaining gas: 1039985.756 units remaining) + - location: 16 (remaining gas: 1039985.754 units remaining) [ 7 (Pair "hello" 7) @storage 100 @parameter ] - - location: 17 (remaining gas: 1039985.711 units remaining) + - location: 17 (remaining gas: 1039985.709 units remaining) [ (Pair "hello" 7) @storage 100 @parameter ] - - location: 18 (remaining gas: 1039985.661 units remaining) + - location: 18 (remaining gas: 1039985.659 units remaining) [ "hello" @storage.s 100 @parameter ] - - location: 19 (remaining gas: 1039985.616 units remaining) + - location: 19 (remaining gas: 1039985.614 units remaining) [ (Pair "hello" 100) @storage ] - - location: 20 (remaining gas: 1039985.571 units remaining) + - location: 20 (remaining gas: 1039985.569 units remaining) [ {} (Pair "hello" 100) @storage ] - - location: 22 (remaining gas: 1039985.526 units remaining) + - location: 22 (remaining gas: 1039985.524 units remaining) [ (Pair {} "hello" 100) ] 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 204f58fd8e67..ee5b2d53f46d 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 @@ -22,26 +22,26 @@ trace 0 ] - location: 15 (remaining gas: 1039989.835 units remaining) [ -100 ] - - location: 13 (remaining gas: 1039989.835 units remaining) + - location: 13 (remaining gas: 1039989.834 units remaining) [ 1 @parameter.elt -100 ] - - location: 15 (remaining gas: 1039989.755 units remaining) + - location: 15 (remaining gas: 1039989.754 units remaining) [ -99 ] - - location: 13 (remaining gas: 1039989.755 units remaining) + - location: 13 (remaining gas: 1039989.753 units remaining) [ 2 @parameter.elt -99 ] - - location: 15 (remaining gas: 1039989.675 units remaining) + - location: 15 (remaining gas: 1039989.673 units remaining) [ -97 ] - - location: 13 (remaining gas: 1039989.675 units remaining) + - location: 13 (remaining gas: 1039989.672 units remaining) [ 3 @parameter.elt -97 ] - - location: 15 (remaining gas: 1039989.595 units remaining) + - location: 15 (remaining gas: 1039989.592 units remaining) [ -94 ] - - location: 13 (remaining gas: 1039989.595 units remaining) + - location: 13 (remaining gas: 1039989.591 units remaining) [ -94 ] - - location: 16 (remaining gas: 1039989.550 units remaining) + - location: 16 (remaining gas: 1039989.546 units remaining) [ {} -94 ] - - location: 18 (remaining gas: 1039989.505 units remaining) + - location: 18 (remaining gas: 1039989.501 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 80b181ddf9be..700140a7d9d7 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 @@ -22,11 +22,11 @@ trace 0 ] - location: 15 (remaining gas: 1039991.245 units remaining) [ 1 ] - - location: 13 (remaining gas: 1039991.245 units remaining) + - location: 13 (remaining gas: 1039991.244 units remaining) [ 1 ] - - location: 16 (remaining gas: 1039991.200 units remaining) + - location: 16 (remaining gas: 1039991.199 units remaining) [ {} 1 ] - - location: 18 (remaining gas: 1039991.155 units remaining) + - location: 18 (remaining gas: 1039991.154 units remaining) [ (Pair {} 1) ] 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 3491f319e40d..4c62e7727906 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" @@ -29,33 +29,33 @@ trace - location: 18 (remaining gas: 1039979.852 units remaining) [ { "Hello" ; "World" } (Pair "" { "Hello" ; "World" } None) ] - - location: 14 (remaining gas: 1039979.852 units remaining) + - location: 14 (remaining gas: 1039979.850 units remaining) [ "" @parameter { "Hello" ; "World" } (Pair "" { "Hello" ; "World" } None) ] - - location: 19 (remaining gas: 1039979.772 units remaining) + - location: 19 (remaining gas: 1039979.770 units remaining) [ False (Pair "" { "Hello" ; "World" } None) ] - - location: 20 (remaining gas: 1039979.727 units remaining) + - location: 20 (remaining gas: 1039979.725 units remaining) [ (Some False) (Pair "" { "Hello" ; "World" } None) ] - - location: 21 (remaining gas: 1039979.682 units remaining) + - location: 21 (remaining gas: 1039979.680 units remaining) [ (Pair "" { "Hello" ; "World" } None) ] - - location: 24 (remaining gas: 1039979.632 units remaining) + - location: 24 (remaining gas: 1039979.630 units remaining) [ (Pair { "Hello" ; "World" } None) @storage ] - - location: 25 (remaining gas: 1039979.582 units remaining) + - location: 25 (remaining gas: 1039979.580 units remaining) [ { "Hello" ; "World" } ] - - location: 21 (remaining gas: 1039979.582 units remaining) + - location: 21 (remaining gas: 1039979.578 units remaining) [ (Some False) { "Hello" ; "World" } ] - - location: 26 (remaining gas: 1039979.542 units remaining) + - location: 26 (remaining gas: 1039979.538 units remaining) [ { "Hello" ; "World" } (Some False) ] - - location: 27 (remaining gas: 1039979.497 units remaining) + - location: 27 (remaining gas: 1039979.493 units remaining) [ (Pair { "Hello" ; "World" } (Some False)) ] - - location: 28 (remaining gas: 1039979.452 units remaining) + - location: 28 (remaining gas: 1039979.448 units remaining) [ {} (Pair { "Hello" ; "World" } (Some False)) ] - - location: 30 (remaining gas: 1039979.407 units remaining) + - location: 30 (remaining gas: 1039979.403 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 077affb28156..fdf491c2be85 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" @@ -29,33 +29,33 @@ trace - location: 18 (remaining gas: 1039980.367 units remaining) [ { "Hi" } (Pair "Hi" { "Hi" } None) ] - - location: 14 (remaining gas: 1039980.367 units remaining) + - location: 14 (remaining gas: 1039980.365 units remaining) [ "Hi" @parameter { "Hi" } (Pair "Hi" { "Hi" } None) ] - - location: 19 (remaining gas: 1039980.287 units remaining) + - location: 19 (remaining gas: 1039980.285 units remaining) [ True (Pair "Hi" { "Hi" } None) ] - - location: 20 (remaining gas: 1039980.242 units remaining) + - location: 20 (remaining gas: 1039980.240 units remaining) [ (Some True) (Pair "Hi" { "Hi" } None) ] - - location: 21 (remaining gas: 1039980.197 units remaining) + - location: 21 (remaining gas: 1039980.195 units remaining) [ (Pair "Hi" { "Hi" } None) ] - - location: 24 (remaining gas: 1039980.147 units remaining) + - location: 24 (remaining gas: 1039980.145 units remaining) [ (Pair { "Hi" } None) @storage ] - - location: 25 (remaining gas: 1039980.097 units remaining) + - location: 25 (remaining gas: 1039980.095 units remaining) [ { "Hi" } ] - - location: 21 (remaining gas: 1039980.097 units remaining) + - location: 21 (remaining gas: 1039980.093 units remaining) [ (Some True) { "Hi" } ] - - location: 26 (remaining gas: 1039980.057 units remaining) + - location: 26 (remaining gas: 1039980.053 units remaining) [ { "Hi" } (Some True) ] - - location: 27 (remaining gas: 1039980.012 units remaining) + - location: 27 (remaining gas: 1039980.008 units remaining) [ (Pair { "Hi" } (Some True)) ] - - location: 28 (remaining gas: 1039979.967 units remaining) + - location: 28 (remaining gas: 1039979.963 units remaining) [ {} (Pair { "Hi" } (Some True)) ] - - location: 30 (remaining gas: 1039979.922 units remaining) + - location: 30 (remaining gas: 1039979.918 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 435e4511d9a5..197b6d743d32 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" @@ -29,33 +29,33 @@ trace - location: 18 (remaining gas: 1039980.721 units remaining) [ {} (Pair "Hi" {} None) ] - - location: 14 (remaining gas: 1039980.721 units remaining) + - location: 14 (remaining gas: 1039980.719 units remaining) [ "Hi" @parameter {} (Pair "Hi" {} None) ] - - location: 19 (remaining gas: 1039980.641 units remaining) + - location: 19 (remaining gas: 1039980.639 units remaining) [ False (Pair "Hi" {} None) ] - - location: 20 (remaining gas: 1039980.596 units remaining) + - location: 20 (remaining gas: 1039980.594 units remaining) [ (Some False) (Pair "Hi" {} None) ] - - location: 21 (remaining gas: 1039980.551 units remaining) + - location: 21 (remaining gas: 1039980.549 units remaining) [ (Pair "Hi" {} None) ] - - location: 24 (remaining gas: 1039980.501 units remaining) + - location: 24 (remaining gas: 1039980.499 units remaining) [ (Pair {} None) @storage ] - - location: 25 (remaining gas: 1039980.451 units remaining) + - location: 25 (remaining gas: 1039980.449 units remaining) [ {} ] - - location: 21 (remaining gas: 1039980.451 units remaining) + - location: 21 (remaining gas: 1039980.447 units remaining) [ (Some False) {} ] - - location: 26 (remaining gas: 1039980.411 units remaining) + - location: 26 (remaining gas: 1039980.407 units remaining) [ {} (Some False) ] - - location: 27 (remaining gas: 1039980.366 units remaining) + - location: 27 (remaining gas: 1039980.362 units remaining) [ (Pair {} (Some False)) ] - - location: 28 (remaining gas: 1039980.321 units remaining) + - location: 28 (remaining gas: 1039980.317 units remaining) [ {} (Pair {} (Some False)) ] - - location: 30 (remaining gas: 1039980.276 units remaining) + - location: 30 (remaining gas: 1039980.272 units remaining) [ (Pair {} {} (Some False)) ] 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 6394f7a0c235..e190e8d48a9e 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" @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - location: 14 (remaining gas: 1039989.955 units remaining) [ -100 ] - - location: 12 (remaining gas: 1039989.955 units remaining) + - location: 12 (remaining gas: 1039989.953 units remaining) [ "1970-01-01T00:01:40Z" -100 ] - - location: 15 (remaining gas: 1039989.875 units remaining) + - location: 15 (remaining gas: 1039989.873 units remaining) [ "1970-01-01T00:03:20Z" ] - - location: 16 (remaining gas: 1039989.830 units remaining) + - location: 16 (remaining gas: 1039989.828 units remaining) [ {} "1970-01-01T00:03:20Z" ] - - location: 18 (remaining gas: 1039989.785 units remaining) + - location: 18 (remaining gas: 1039989.783 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 92ee6f58bb61..30718124897c 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" @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - location: 14 (remaining gas: 1039989.955 units remaining) [ 100 ] - - location: 12 (remaining gas: 1039989.955 units remaining) + - location: 12 (remaining gas: 1039989.953 units remaining) [ "1970-01-01T00:01:40Z" 100 ] - - location: 15 (remaining gas: 1039989.875 units remaining) + - location: 15 (remaining gas: 1039989.873 units remaining) [ "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039989.830 units remaining) + - location: 16 (remaining gas: 1039989.828 units remaining) [ {} "1970-01-01T00:00:00Z" ] - - location: 18 (remaining gas: 1039989.785 units remaining) + - location: 18 (remaining gas: 1039989.783 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 1f4c4cb6554d..4eec2537688b 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 @@ -21,14 +21,14 @@ trace [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - location: 14 (remaining gas: 1039989.955 units remaining) [ 2000000000000000000 ] - - location: 12 (remaining gas: 1039989.955 units remaining) + - location: 12 (remaining gas: 1039989.953 units remaining) [ "1970-01-01T00:01:40Z" 2000000000000000000 ] - - location: 15 (remaining gas: 1039989.875 units remaining) + - location: 15 (remaining gas: 1039989.873 units remaining) [ -1999999999999999900 ] - - location: 16 (remaining gas: 1039989.830 units remaining) + - location: 16 (remaining gas: 1039989.828 units remaining) [ {} -1999999999999999900 ] - - location: 18 (remaining gas: 1039989.785 units remaining) + - location: 18 (remaining gas: 1039989.783 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 5abe83974028..4035d5c4fb18 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 @@ -28,40 +28,40 @@ trace - location: 18 (remaining gas: 1039980.815 units remaining) [ 1000000 (Pair 2000000 1000000) @parameter ] - - location: 16 (remaining gas: 1039980.815 units remaining) + - location: 16 (remaining gas: 1039980.813 units remaining) [ 2000000 1000000 (Pair 2000000 1000000) @parameter ] - - location: 19 (remaining gas: 1039980.760 units remaining) + - location: 19 (remaining gas: 1039980.758 units remaining) [ 3000000 (Pair 2000000 1000000) @parameter ] - - location: 20 (remaining gas: 1039980.715 units remaining) + - location: 20 (remaining gas: 1039980.713 units remaining) [ (Pair 2000000 1000000) @parameter ] - - location: 22 (remaining gas: 1039980.665 units remaining) + - location: 22 (remaining gas: 1039980.663 units remaining) [ (Pair 2000000 1000000) @parameter (Pair 2000000 1000000) @parameter ] - - location: 23 (remaining gas: 1039980.615 units remaining) + - location: 23 (remaining gas: 1039980.613 units remaining) [ 2000000 (Pair 2000000 1000000) @parameter ] - - location: 24 (remaining gas: 1039980.570 units remaining) + - location: 24 (remaining gas: 1039980.568 units remaining) [ (Pair 2000000 1000000) @parameter ] - - location: 26 (remaining gas: 1039980.520 units remaining) + - location: 26 (remaining gas: 1039980.518 units remaining) [ 1000000 ] - - location: 24 (remaining gas: 1039980.520 units remaining) + - location: 24 (remaining gas: 1039980.516 units remaining) [ 2000000 1000000 ] - - location: 27 (remaining gas: 1039980.465 units remaining) + - location: 27 (remaining gas: 1039980.461 units remaining) [ 1000000 ] - - location: 20 (remaining gas: 1039980.465 units remaining) + - location: 20 (remaining gas: 1039980.459 units remaining) [ 3000000 1000000 ] - - location: 28 (remaining gas: 1039980.420 units remaining) + - location: 28 (remaining gas: 1039980.414 units remaining) [ (Pair 3000000 1000000) ] - - location: 29 (remaining gas: 1039980.375 units remaining) + - location: 29 (remaining gas: 1039980.369 units remaining) [ (Some (Pair 3000000 1000000)) ] - - location: 30 (remaining gas: 1039980.330 units remaining) + - location: 30 (remaining gas: 1039980.324 units remaining) [ {} (Some (Pair 3000000 1000000)) ] - - location: 32 (remaining gas: 1039980.285 units remaining) + - location: 32 (remaining gas: 1039980.279 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 d675ac5f0d00..3cadd9852c70 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 @@ -28,40 +28,40 @@ trace - location: 18 (remaining gas: 1039980.815 units remaining) [ 1010000 (Pair 2310000 1010000) @parameter ] - - location: 16 (remaining gas: 1039980.815 units remaining) + - location: 16 (remaining gas: 1039980.813 units remaining) [ 2310000 1010000 (Pair 2310000 1010000) @parameter ] - - location: 19 (remaining gas: 1039980.760 units remaining) + - location: 19 (remaining gas: 1039980.758 units remaining) [ 3320000 (Pair 2310000 1010000) @parameter ] - - location: 20 (remaining gas: 1039980.715 units remaining) + - location: 20 (remaining gas: 1039980.713 units remaining) [ (Pair 2310000 1010000) @parameter ] - - location: 22 (remaining gas: 1039980.665 units remaining) + - location: 22 (remaining gas: 1039980.663 units remaining) [ (Pair 2310000 1010000) @parameter (Pair 2310000 1010000) @parameter ] - - location: 23 (remaining gas: 1039980.615 units remaining) + - location: 23 (remaining gas: 1039980.613 units remaining) [ 2310000 (Pair 2310000 1010000) @parameter ] - - location: 24 (remaining gas: 1039980.570 units remaining) + - location: 24 (remaining gas: 1039980.568 units remaining) [ (Pair 2310000 1010000) @parameter ] - - location: 26 (remaining gas: 1039980.520 units remaining) + - location: 26 (remaining gas: 1039980.518 units remaining) [ 1010000 ] - - location: 24 (remaining gas: 1039980.520 units remaining) + - location: 24 (remaining gas: 1039980.516 units remaining) [ 2310000 1010000 ] - - location: 27 (remaining gas: 1039980.465 units remaining) + - location: 27 (remaining gas: 1039980.461 units remaining) [ 1300000 ] - - location: 20 (remaining gas: 1039980.465 units remaining) + - location: 20 (remaining gas: 1039980.459 units remaining) [ 3320000 1300000 ] - - location: 28 (remaining gas: 1039980.420 units remaining) + - location: 28 (remaining gas: 1039980.414 units remaining) [ (Pair 3320000 1300000) ] - - location: 29 (remaining gas: 1039980.375 units remaining) + - location: 29 (remaining gas: 1039980.369 units remaining) [ (Some (Pair 3320000 1300000)) ] - - location: 30 (remaining gas: 1039980.330 units remaining) + - location: 30 (remaining gas: 1039980.324 units remaining) [ {} (Some (Pair 3320000 1300000)) ] - - location: 32 (remaining gas: 1039980.285 units remaining) + - location: 32 (remaining gas: 1039980.279 units remaining) [ (Pair {} (Some (Pair 3320000 1300000))) ] diff --git "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" index 3caef151ea48..937142142443 100644 --- "a/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" +++ "b/tests_python/tests_alpha/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" @@ -19,14 +19,14 @@ trace [ ] - location: 14 (remaining gas: 1039535.169 units remaining) [ 2500 ] - - location: 12 (remaining gas: 1039535.169 units remaining) + - location: 12 (remaining gas: 1039535.167 units remaining) [ 500 2500 ] - - location: 15 (remaining gas: 1039535.124 units remaining) + - location: 15 (remaining gas: 1039535.122 units remaining) [ (Pair 500 2500) ] - - location: 16 (remaining gas: 1039535.079 units remaining) + - location: 16 (remaining gas: 1039535.077 units remaining) [ {} (Pair 500 2500) ] - - location: 18 (remaining gas: 1039535.034 units remaining) + - location: 18 (remaining gas: 1039535.032 units remaining) [ (Pair {} 500 2500) ] 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 c01187d0a196..416eae03dc65 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 @@ -22,34 +22,34 @@ trace - location: 19 (remaining gas: 1039974.666 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 17 (remaining gas: 1039974.666 units remaining) + - location: 17 (remaining gas: 1039974.664 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 20 (remaining gas: 1039947.786 units remaining) + - location: 20 (remaining gas: 1039947.784 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 @packed 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 23 (remaining gas: 1039947.665 units remaining) + - location: 23 (remaining gas: 1039947.663 units remaining) [ 0 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 24 (remaining gas: 1039947.615 units remaining) + - location: 24 (remaining gas: 1039947.613 units remaining) [ True 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 25 (remaining gas: 1039947.590 units remaining) + - location: 25 (remaining gas: 1039947.588 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 31 (remaining gas: 1039783.116 units remaining) + - location: 31 (remaining gas: 1039783.114 units remaining) [ (Some (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 })) @unpacked ] - - location: 40 (remaining gas: 1039783.086 units remaining) + - location: 40 (remaining gas: 1039783.084 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 46 (remaining gas: 1039783.041 units remaining) + - location: 46 (remaining gas: 1039783.039 units remaining) [ ] - - location: 47 (remaining gas: 1039782.996 units remaining) + - location: 47 (remaining gas: 1039782.994 units remaining) [ Unit ] - - location: 48 (remaining gas: 1039782.951 units remaining) + - location: 48 (remaining gas: 1039782.949 units remaining) [ {} Unit ] - - location: 50 (remaining gas: 1039782.906 units remaining) + - location: 50 (remaining gas: 1039782.904 units remaining) [ (Pair {} Unit) ] Runtime error in contract [CONTRACT_HASH]: @@ -79,23 +79,23 @@ trace - location: 19 (remaining gas: 1039974.666 units remaining) [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 17 (remaining gas: 1039974.666 units remaining) + - location: 17 (remaining gas: 1039974.664 units remaining) [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 20 (remaining gas: 1039947.786 units remaining) + - location: 20 (remaining gas: 1039947.784 units remaining) [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 @packed 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 23 (remaining gas: 1039947.665 units remaining) + - location: 23 (remaining gas: 1039947.663 units remaining) [ -1 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 24 (remaining gas: 1039947.615 units remaining) + - location: 24 (remaining gas: 1039947.613 units remaining) [ False 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 25 (remaining gas: 1039947.590 units remaining) + - location: 25 (remaining gas: 1039947.588 units remaining) [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 29 (remaining gas: 1039947.545 units remaining) + - location: 29 (remaining gas: 1039947.543 units remaining) [ Unit 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] Fatal error: -- GitLab From d06e4ac1589566f22ed8c6612993c33b1914ed65 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 4 May 2021 20:28:48 +0200 Subject: [PATCH 64/69] Proto/Michelson: Cosmetics Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_typed_ir.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_typed_ir.ml b/src/proto_alpha/lib_protocol/script_typed_ir.ml index 793d2a50fe4a..f71dcd6bd325 100644 --- a/src/proto_alpha/lib_protocol/script_typed_ir.ml +++ b/src/proto_alpha/lib_protocol/script_typed_ir.ml @@ -923,7 +923,9 @@ and ('before_top, 'before, 'result_top, 'result) kinstr = * 'a comparable_ty * ('a ticket option, 's, 'r, 'f) kinstr -> ('a ticket * 'a ticket, 's, 'r, 'f) kinstr - (* Internal control instructions + (* + + Internal control instructions ============================= The following instructions are not available in the source language. -- GitLab From f66c45134e97e73d6ba6dd5c7c3450fc2622b082 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 11 May 2021 10:50:47 +0200 Subject: [PATCH 65/69] Proto/Michelson: Fix `run_step` in test interpretation Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/test/test_interpretation.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index bb8e59bdee7c..70a0400ecabc 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -69,7 +69,7 @@ let logger = let run_step ctxt code accu stack = let open Script_interpreter in step None ctxt default_step_constants code accu stack - >>=? fun ((accu, stack, ctxt') as r) -> + >>=? fun ((_, _, ctxt') as r) -> step (Some logger) ctxt default_step_constants code accu stack >>=? fun (_, _, ctxt'') -> if Gas.(gas_counter ctxt' <> gas_counter ctxt'') then -- GitLab From a9222d94ed76340b4c6ed291bb321750c3b784f9 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 11 May 2021 10:54:04 +0200 Subject: [PATCH 66/69] Proto/Michelson: Remove a FIXME Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_protocol/script_interpreter_defs.ml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 61435f1394e7..31b15ff4dbaa 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -447,7 +447,6 @@ let cost_of_control : type a s r f. (a, s, r, f) continuation -> Gas.cost = let a_little = Gas.atomic_step_cost (Saturation_repr.safe_int 1) in match ks with | KLog _ -> - (* FIXME: This will be fixed when the new cost model is defined. *) Gas.free | KNil -> (* FIXME: This will be fixed when the new cost model is defined. *) -- GitLab From b11011140e02a00df12ef942358fe6796cef137e Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Tue, 11 May 2021 19:03:21 +0200 Subject: [PATCH 67/69] Proto/Michelson: Fix compilation error introduced by rebased Signed-off-by: Yann Regis-Gianas --- src/proto_alpha/lib_plugin/plugin.ml | 40 ++++++++++--------- .../lib_protocol/script_interpreter.ml | 4 +- .../lib_protocol/script_interpreter_defs.ml | 6 ++- .../lib_protocol/test/test_interpretation.ml | 2 +- 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/src/proto_alpha/lib_plugin/plugin.ml b/src/proto_alpha/lib_plugin/plugin.ml index b9272c3ecb38..dc72a8b2256a 100644 --- a/src/proto_alpha/lib_plugin/plugin.ml +++ b/src/proto_alpha/lib_plugin/plugin.ml @@ -579,17 +579,20 @@ module RPC = struct module Traced_interpreter (Unparsing_mode : UNPARSING_MODE) = struct type log_element = | Log : - context * Script.location * 'a * 'a Script_typed_ir.stack_ty + context + * Script.location + * ('a * 's) + * ('a, 's) Script_typed_ir.stack_ty -> log_element let unparse_stack ctxt (stack, stack_ty) = (* We drop the gas limit as this function is only used for debugging/errors. *) let ctxt = Gas.set_unlimited ctxt in let rec unparse_stack : - type a. - a Script_typed_ir.stack_ty * a -> + type a s. + (a, s) Script_typed_ir.stack_ty * (a * s) -> (Script.expr * string option) list tzresult Lwt.t = function - | (Empty_t, ()) -> + | (Bot_t, (EmptyCell, EmptyCell)) -> return_nil | (Item_t (ty, rest_ty, annot), (v, rest)) -> Script_ir_translator.unparse_data @@ -614,17 +617,16 @@ module RPC = struct in unparse_stack (stack_ty, stack) - module Trace_logger () : Script_interpreter.STEP_LOGGER = struct - let log : log_element list ref = ref [] - - let log_interp ctxt (descr : (_, _) Script_typed_ir.descr) stack = - log := Log (ctxt, descr.loc, stack, descr.bef) :: !log - - let log_entry _ctxt _descr _stack = () - - let log_exit ctxt (descr : (_, _) Script_typed_ir.descr) stack = - log := Log (ctxt, descr.loc, stack, descr.aft) :: !log - + let trace_logger () : Script_typed_ir.logger = + let log : log_element list ref = ref [] in + let log_interp _ ctxt loc sty stack = + log := Log (ctxt, loc, stack, sty) :: !log + in + let log_entry _ _ctxt _loc _sty _stack = () in + let log_exit _ ctxt loc sty stack = + log := Log (ctxt, loc, stack, sty) :: !log + in + let log_control _ = () in let get_log () = map_s (fun (Log (ctxt, loc, stack, stack_ty)) -> @@ -632,12 +634,12 @@ module RPC = struct >>=? fun stack -> return (loc, Gas.level ctxt, stack)) !log >>=? fun res -> return (Some (List.rev res)) - end + in + {log_exit; log_entry; log_interp; get_log; log_control} let execute ctxt step_constants ~script ~entrypoint ~parameter = - let module Logger = Trace_logger () in let open Script_interpreter in - let logger = (module Logger : STEP_LOGGER) in + let logger = trace_logger () in execute ~logger ctxt @@ -648,7 +650,7 @@ module RPC = struct ~parameter ~internal:true >>=? fun {ctxt; storage; lazy_storage_diff; operations} -> - Logger.get_log () + logger.get_log () >|=? fun trace -> let trace = Option.value ~default:[] trace in ({ctxt; storage; lazy_storage_diff; operations}, trace) diff --git a/src/proto_alpha/lib_protocol/script_interpreter.ml b/src/proto_alpha/lib_protocol/script_interpreter.ml index 570c0062df16..ca9668f154fe 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter.ml @@ -1518,7 +1518,7 @@ and klog : *) let step_descr ~log_now logger (ctxt, sc) descr accu stack = - let gas = (Gas.gas_counter ctxt :> int) in + let gas = (Gas.remaining_operation_gas ctxt :> int) in ( match logger with | None -> step (outdated ctxt, sc) gas descr.kinstr KNil accu stack @@ -1539,7 +1539,7 @@ let interp logger g (Lam (code, _)) arg = >|=? fun (ret, (EmptyCell, EmptyCell), ctxt) -> (ret, ctxt) let kstep logger ctxt step_constants kinstr accu stack = - let gas = (Gas.gas_counter ctxt :> int) in + let gas = (Gas.remaining_operation_gas ctxt :> int) in let kinstr = match logger with | None -> diff --git a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml index 31b15ff4dbaa..505f515abf6c 100644 --- a/src/proto_alpha/lib_protocol/script_interpreter_defs.ml +++ b/src/proto_alpha/lib_protocol/script_interpreter_defs.ml @@ -526,11 +526,13 @@ type outdated_context = OutDatedContext of context [@@unboxed] let update_context local_gas_counter = function | OutDatedContext ctxt -> - Gas.update_gas_counter ctxt (Saturation_repr.safe_int local_gas_counter) + Gas.update_remaining_operation_gas + ctxt + (Saturation_repr.safe_int local_gas_counter) [@@ocaml.inline always] let update_local_gas_counter ctxt = - (Gas.gas_counter ctxt :> int) + (Gas.remaining_operation_gas ctxt :> int) [@@ocaml.inline always] let outdated ctxt = OutDatedContext ctxt [@@ocaml.inline always] diff --git a/src/proto_alpha/lib_protocol/test/test_interpretation.ml b/src/proto_alpha/lib_protocol/test/test_interpretation.ml index 70a0400ecabc..0713ba42bacb 100644 --- a/src/proto_alpha/lib_protocol/test/test_interpretation.ml +++ b/src/proto_alpha/lib_protocol/test/test_interpretation.ml @@ -72,7 +72,7 @@ let run_step ctxt code accu stack = >>=? fun ((_, _, ctxt') as r) -> step (Some logger) ctxt default_step_constants code accu stack >>=? fun (_, _, ctxt'') -> - if Gas.(gas_counter ctxt' <> gas_counter ctxt'') then + if Gas.(remaining_operation_gas ctxt' <> remaining_operation_gas ctxt'') then Alcotest.failf "Logging should not have an impact on gas consumption." ; return r -- GitLab From f87f7173be2a7adaf1c6678c644b8e920dd446ce Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Thu, 6 May 2021 12:15:47 +0200 Subject: [PATCH 68/69] Proto/Michelson: Fix invalid test expectations for ill-typed scripts Signed-off-by: Yann Regis-Gianas --- tests_python/tests_alpha/test_contract.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests_python/tests_alpha/test_contract.py b/tests_python/tests_alpha/test_contract.py index 64f26f19d04d..8f6964f0517b 100644 --- a/tests_python/tests_alpha/test_contract.py +++ b/tests_python/tests_alpha/test_contract.py @@ -523,7 +523,7 @@ class TestContracts: ), ( "stack_bottom_undug2able.tz", - r'wrong stack type for instruction DUG 2', + r'wrong stack type for instruction DUG', ), ( "stack_bottom_undugable.tz", @@ -531,7 +531,7 @@ class TestContracts: ), ( "stack_bottom_undig2able.tz", - r'wrong stack type for instruction DIG 2', + r'wrong stack type for instruction DIG', ), ( "stack_bottom_undigable.tz", @@ -539,15 +539,15 @@ class TestContracts: ), ( "stack_bottom_undip2able.tz", - r'wrong stack type for instruction DIP 2', + r'wrong stack type for instruction DUP', ), ( "stack_bottom_undipable.tz", - r'wrong stack type for instruction DIP', + r'wrong stack type for instruction DUP', ), ( "stack_bottom_undup2able.tz", - r'wrong stack type for instruction DUP 2', + r'wrong stack type for instruction DUP', ), ( "stack_bottom_undropable.tz", -- GitLab From 22a933c6b1822b875659f0ed1fa7dd1cb69267a7 Mon Sep 17 00:00:00 2001 From: Yann Regis-Gianas Date: Wed, 12 May 2021 08:03:16 +0200 Subject: [PATCH 69/69] Proto/Michelson: Update gas in liquidity baking regression tests Signed-off-by: Yann Regis-Gianas --- ...ApproveTransferRemove::test_add_liquidity.out | 16 ++++++++-------- ...stAddApproveTransferRemove::test_approval.out | 6 +++--- ...oveTransferRemove::test_approved_transfer.out | 12 ++++++------ ...ApproveTransferRemove::test_call_approve1.out | 6 +++--- ...ApproveTransferRemove::test_call_approve2.out | 6 +++--- ...ApproveTransferRemove::test_call_approve3.out | 6 +++--- ...oveTransferRemove::test_call_mint_or_burn.out | 6 +++--- ...roveTransferRemove::test_remove_liquidity.out | 16 ++++++++-------- ...ity_baking.TestTrades::test_add_liquidity.out | 16 ++++++++-------- ...liquidity_baking.TestTrades::test_buy_tok.out | 14 +++++++------- ...ity_baking.TestTrades::test_call_approve1.out | 6 +++--- ...ity_baking.TestTrades::test_call_approve2.out | 6 +++--- ...ity_baking.TestTrades::test_call_approve3.out | 6 +++--- ...baking.TestTrades::test_call_mint_or_burn.out | 6 +++--- ...iquidity_baking.TestTrades::test_sell_tok.out | 14 +++++++------- ...iquidity_baking.TestTrades::test_transfer.out | 6 +++--- 16 files changed, 74 insertions(+), 74 deletions(-) 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 f91357094afc..f4f93374dc76 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: 71558.282 units (will add 100 for safety) +Estimated gas: 71543.903 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.007522 + Fee to the baker: ꜩ0.007521 Expected counter: [EXPECTED_COUNTER] - Gas limit: 71659 + Gas limit: 71644 Storage limit: 161 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.007522 - fees(the baker who will include this operation,0) ... +ꜩ0.007522 + [CONTRACT_HASH] ................ -ꜩ0.007521 + fees(the baker who will include this operation,0) ... +ꜩ0.007521 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: 45337.632 + Consumed gas: 45330.889 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00075 [CONTRACT_HASH] ... -ꜩ9001 @@ -57,7 +57,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: 13984.187 + Consumed gas: 13979.454 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 Transaction: @@ -73,7 +73,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: 12236.463 + Consumed gas: 12233.560 Balance updates: [CONTRACT_HASH] ... -ꜩ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 92448b3037da..639a21e922fa 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: 12273.395 units (will add 100 for safety) +Estimated gas: 12271.002 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001545 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 88 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001545 @@ -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: 12273.395 + Consumed gas: 12271.002 Balance updates: [CONTRACT_HASH] ... -ꜩ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 7d20fb51868a..0609d31ede48 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: 13893.980 units (will add 100 for safety) +Estimated gas: 13889.217 units (will add 100 for safety) Estimated storage: no bytes added 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.001757 + Fee to the baker: ꜩ0.001756 Expected counter: [EXPECTED_COUNTER] - Gas limit: 13994 + Gas limit: 13990 Storage limit: 0 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.001757 - fees(the baker who will include this operation,0) ... +ꜩ0.001757 + [CONTRACT_HASH] ................ -ꜩ0.001756 + fees(the baker who will include this operation,0) ... +ꜩ0.001756 Transaction: Amount: ꜩ0 From: [CONTRACT_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: 13893.980 + Consumed gas: 13889.217 Injected block [BLOCK_HASH] 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 da6c8b7dce12..c85bdcb3275c 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: 12273.413 units (will add 100 for safety) +Estimated gas: 12271.020 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001548 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001548 @@ -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: 12273.413 + Consumed gas: 12271.020 Balance updates: [CONTRACT_HASH] ... -ꜩ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 c1686244513e..de5e710a0ecd 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: 12273.413 units (will add 100 for safety) +Estimated gas: 12271.020 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001548 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001548 @@ -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: 12273.413 + Consumed gas: 12271.020 Balance updates: [CONTRACT_HASH] ... -ꜩ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 6b5ab6d18ebf..1d794f5d639e 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: 12273.413 units (will add 100 for safety) +Estimated gas: 12271.020 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001548 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001548 @@ -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: 12273.413 + Consumed gas: 12271.020 Balance updates: [CONTRACT_HASH] ... -ꜩ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 6ffa074ef55f..b5f1cd7f774f 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: 12213.473 units (will add 100 for safety) +Estimated gas: 12210.570 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001544 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12314 + Gas limit: 12311 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001544 @@ -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: 12213.473 + Consumed gas: 12210.570 Balance updates: [CONTRACT_HASH] ... -ꜩ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 7f0175fecbcf..6f8b2d276023 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: 72822.480 units (will add 100 for safety) +Estimated gas: 72808.496 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]' @@ -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.007646 + Fee to the baker: ꜩ0.007644 Expected counter: [EXPECTED_COUNTER] - Gas limit: 72923 + Gas limit: 72909 Storage limit: 87 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.007646 - fees(the baker who will include this operation,1) ... +ꜩ0.007646 + [CONTRACT_HASH] ................ -ꜩ0.007644 + fees(the baker who will include this operation,1) ... +ꜩ0.007644 Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4633 bytes - Consumed gas: 45809.270 + Consumed gas: 45801.802 Internal operations: 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: 12448.455 + Consumed gas: 12445.552 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: 13137.755 + Consumed gas: 13134.142 Balance updates: [CONTRACT_HASH] ... -ꜩ0.01675 Transaction: 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 e888e6a9dfd7..1a18032455da 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: 71558.282 units (will add 100 for safety) +Estimated gas: 71543.903 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.007522 + Fee to the baker: ꜩ0.007521 Expected counter: [EXPECTED_COUNTER] - Gas limit: 71659 + Gas limit: 71644 Storage limit: 161 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.007522 - fees(the baker who will include this operation,0) ... +ꜩ0.007522 + [CONTRACT_HASH] ................ -ꜩ0.007521 + fees(the baker who will include this operation,0) ... +ꜩ0.007521 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: 45337.632 + Consumed gas: 45330.889 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00075 [CONTRACT_HASH] ... -ꜩ9001 @@ -57,7 +57,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: 13984.187 + Consumed gas: 13979.454 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 Transaction: @@ -73,7 +73,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: 12236.463 + Consumed gas: 12233.560 Balance updates: [CONTRACT_HASH] ... -ꜩ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 b7af650ff662..3e2901c2f854 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: 50954.353 units (will add 100 for safety) +Estimated gas: 50945.552 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]' @@ -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.005454 + Fee to the baker: ꜩ0.005453 Expected counter: [EXPECTED_COUNTER] - Gas limit: 51055 + Gas limit: 51046 Storage limit: 346 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.005454 - fees(the baker who will include this operation,0) ... +ꜩ0.005454 + [CONTRACT_HASH] ................ -ꜩ0.005453 + fees(the baker who will include this operation,0) ... +ꜩ0.005453 Transaction: Amount: ꜩ9001 From: [CONTRACT_HASH] @@ -34,7 +34,7 @@ This sequence of operations was run: 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4634 bytes Paid storage size diff: 1 bytes - Consumed gas: 36389.594 + Consumed gas: 36384.406 Balance updates: [CONTRACT_HASH] ... -ꜩ0.00025 [CONTRACT_HASH] ... -ꜩ9001 @@ -55,7 +55,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: 13137.759 + Consumed gas: 13134.146 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 Transaction: 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 2d1d76fe0fea..4341f5e99a6a 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: 12273.413 units (will add 100 for safety) +Estimated gas: 12271.020 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001548 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001548 @@ -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: 12273.413 + Consumed gas: 12271.020 Balance updates: [CONTRACT_HASH] ... -ꜩ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 4b6d92029926..64f47ed93369 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: 12273.413 units (will add 100 for safety) +Estimated gas: 12271.020 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001548 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001548 @@ -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: 12273.413 + Consumed gas: 12271.020 Balance updates: [CONTRACT_HASH] ... -ꜩ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 640dbcf29177..5f76fbf6bf68 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: 12273.413 units (will add 100 for safety) +Estimated gas: 12271.020 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001548 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12374 + Gas limit: 12372 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001548 @@ -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: 12273.413 + Consumed gas: 12271.020 Balance updates: [CONTRACT_HASH] ... -ꜩ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 f2882edb5366..c11159a64d0f 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: 12213.473 units (will add 100 for safety) +Estimated gas: 12210.570 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001544 Expected counter: [EXPECTED_COUNTER] - Gas limit: 12314 + Gas limit: 12311 Storage limit: 91 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001544 @@ -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: 12213.473 + Consumed gas: 12210.570 Balance updates: [CONTRACT_HASH] ... -ꜩ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 0183d89953cc..e6fbdfdc3622 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: 53908.910 units (will add 100 for safety) +Estimated gas: 53898.659 units (will add 100 for safety) Estimated storage: no bytes added 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.005747 + Fee to the baker: ꜩ0.005746 Expected counter: [EXPECTED_COUNTER] - Gas limit: 54009 + Gas limit: 53999 Storage limit: 0 bytes Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.005747 - fees(the baker who will include this operation,1) ... +ꜩ0.005747 + [CONTRACT_HASH] ................ -ꜩ0.005746 + fees(the baker who will include this operation,1) ... +ꜩ0.005746 Transaction: Amount: ꜩ0 From: [CONTRACT_HASH] @@ -33,7 +33,7 @@ This sequence of operations was run: 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } Storage size: 4633 bytes - Consumed gas: 36858.741 + Consumed gas: 36853.223 Internal operations: 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: 14196.169 + Consumed gas: 14191.436 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 a5ef331f412f..83cf53c2114c 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: 13077.759 units (will add 100 for safety) +Estimated gas: 13074.146 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]' @@ -14,7 +14,7 @@ This sequence of operations was run: From: [CONTRACT_HASH] Fee to the baker: ꜩ0.001675 Expected counter: [EXPECTED_COUNTER] - Gas limit: 13178 + Gas limit: 13175 Storage limit: 88 bytes Balance updates: [CONTRACT_HASH] ................ -ꜩ0.001675 @@ -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: 13077.759 + Consumed gas: 13074.146 Balance updates: [CONTRACT_HASH] ... -ꜩ0.017 -- GitLab