diff --git a/CHANGES.rst b/CHANGES.rst index ba8d4606e109dd316555e821a8c2440ea2c9a34e..90047775b6242dd336d6b113758931d2780815b0 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -42,6 +42,9 @@ Client support legacy ``endorsement`` kind instead of ``attestation``. (MR :gl:`!9832`) +- Fixed indentation of the stacks outputted by the ``normalize stack`` + command. (MR :gl:`!9944`) + Baker ----- diff --git a/src/proto_alpha/lib_client/michelson_v1_printer.ml b/src/proto_alpha/lib_client/michelson_v1_printer.ml index 13d16dc254a86a92904131207a47c2ad4f364c0e..c375f30dd393e396073dfd50a445735374d84f9b 100644 --- a/src/proto_alpha/lib_client/michelson_v1_printer.ml +++ b/src/proto_alpha/lib_client/michelson_v1_printer.ml @@ -31,15 +31,21 @@ open Micheline_printer let anon = {comment = None} -let print_expr ppf expr = +let node_of_expr expr = expr |> Michelson_v1_primitives.strings_of_prims |> Micheline.inject_locations (fun _ -> anon) - |> print_expr ppf -let print_expr_unwrapped ppf expr = - expr |> Michelson_v1_primitives.strings_of_prims - |> Micheline.inject_locations (fun _ -> anon) - |> print_expr_unwrapped ppf +let node_of_stack_elt (ty, x) = + let ty = node_of_expr ty in + let x = node_of_expr x in + Micheline.Prim (anon, "Stack_elt", [ty; x], []) + +let print_typed_stack out l = + print_expr out (Micheline.Seq (anon, List.map node_of_stack_elt l)) + +let print_expr ppf expr = print_expr ppf (node_of_expr expr) + +let print_expr_unwrapped ppf expr = print_expr_unwrapped ppf (node_of_expr expr) let print_stack ppf = function | [] -> Format.fprintf ppf "[]" @@ -52,18 +58,6 @@ let print_stack ppf = function print_expr_unwrapped) more -let print_stack_elt out (ty, x) = - Format.fprintf out "Stack_elt %a %a" print_expr ty print_expr x - -let print_typed_stack out l = - Format.fprintf - out - "{%a}" - (Format.pp_print_list - ~pp_sep:(fun out () -> Format.fprintf out "; ") - print_stack_elt) - l - let print_execution_trace ppf (trace : Script_typed_ir.execution_trace) = Format.pp_print_list (fun ppf (loc, gas, stack) -> diff --git a/tezt/tests/expected/normalize.ml/Alpha- Test Michelson stack normalization.out b/tezt/tests/expected/normalize.ml/Alpha- Test Michelson stack normalization.out index f589e253f3f771b23e9697089a56ea4cc2350b9d..73dc5219be36d276d61ad5cf6a5e6adf4534e90e 100644 --- a/tezt/tests/expected/normalize.ml/Alpha- Test Michelson stack normalization.out +++ b/tezt/tests/expected/normalize.ml/Alpha- Test Michelson stack normalization.out @@ -3,49 +3,61 @@ {} ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' -{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)} +{ Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9) } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' -{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10)} +{ Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9) ; + Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10) } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' -{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10); Stack_elt (pair nat nat nat nat) (Pair 2 5 8 11)} +{ Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9) ; + Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10) ; + Stack_elt (pair nat nat nat nat) (Pair 2 5 8 11) } ./octez-client --mode mockup normalize stack '{}' --unparsing-mode Readable {} ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' --unparsing-mode Readable -{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)} +{ Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9) } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' --unparsing-mode Readable -{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10)} +{ Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9) ; + Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10) } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' --unparsing-mode Readable -{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10); Stack_elt (pair nat nat nat nat) (Pair 2 5 8 11)} +{ Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9) ; + Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10) ; + Stack_elt (pair nat nat nat nat) (Pair 2 5 8 11) } ./octez-client --mode mockup normalize stack '{}' --unparsing-mode Optimized {} ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' --unparsing-mode Optimized -{Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 }} +{ Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 } } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' --unparsing-mode Optimized -{Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 }; Stack_elt (pair nat nat nat nat) { 1 ; 4 ; 7 ; 10 }} +{ Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 } ; + Stack_elt (pair nat nat nat nat) { 1 ; 4 ; 7 ; 10 } } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' --unparsing-mode Optimized -{Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 }; Stack_elt (pair nat nat nat nat) { 1 ; 4 ; 7 ; 10 }; Stack_elt (pair nat nat nat nat) { 2 ; 5 ; 8 ; 11 }} +{ Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 } ; + Stack_elt (pair nat nat nat nat) { 1 ; 4 ; 7 ; 10 } ; + Stack_elt (pair nat nat nat nat) { 2 ; 5 ; 8 ; 11 } } ./octez-client --mode mockup normalize stack '{}' --unparsing-mode Optimized_legacy {} ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' --unparsing-mode Optimized_legacy -{Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9)))} +{ Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))) } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' --unparsing-mode Optimized_legacy -{Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))); Stack_elt (pair nat nat nat nat) (Pair 1 (Pair 4 (Pair 7 10)))} +{ Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))) ; + Stack_elt (pair nat nat nat nat) (Pair 1 (Pair 4 (Pair 7 10))) } ./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' --unparsing-mode Optimized_legacy -{Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))); Stack_elt (pair nat nat nat nat) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat nat nat) (Pair 2 (Pair 5 (Pair 8 11)))} +{ Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))) ; + Stack_elt (pair nat nat nat nat) (Pair 1 (Pair 4 (Pair 7 10))) ; + Stack_elt (pair nat nat nat nat) (Pair 2 (Pair 5 (Pair 8 11))) } ./octez-client --mode mockup normalize stack Error: