From 0f59cfa1421195338676d2a1fc14124c0b2910e9 Mon Sep 17 00:00:00 2001 From: Pietro Date: Fri, 2 Jul 2021 09:28:27 +0200 Subject: [PATCH 01/12] tezt: add not about regressions in README --- tezt/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tezt/README.md b/tezt/README.md index d47800f80ffb..2e1d78d6b86c 100644 --- a/tezt/README.md +++ b/tezt/README.md @@ -29,7 +29,9 @@ The Tezt directory contains several directories: RPC or from some OCaml value serialized to JSON. If a file is added into this repository, it should be also added in the regression test which can be either `tests/RPC_test.ml` or - `tests/encoding.ml`. + `tests/encoding.ml`. To update regression test outputs, run + + make && dune exec tezt/tests/main.exe -- --reset-regressions - `test-results.json` is a record of the time taken by tests. It is used by the CI to distribute tests in jobs of roughly equal duration. -- GitLab From 368bdf7e0f2f7f11b437ee5ef1183ce733d90fe1 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 8 Sep 2021 12:58:13 +0200 Subject: [PATCH 02/12] Edo freeze: remove accuser,baker,endorser --- .../bin_accuser/.ocamlformat | 17 ------- src/proto_008_PtEdo2Zk/bin_accuser/dune | 20 -------- .../bin_accuser/dune-project | 3 -- .../bin_accuser/main_accuser_008_PtEdo2Zk.ml | 38 --------------- .../tezos-accuser-008-PtEdo2Zk.opam | 20 -------- src/proto_008_PtEdo2Zk/bin_baker/.ocamlformat | 17 ------- src/proto_008_PtEdo2Zk/bin_baker/dune | 20 -------- src/proto_008_PtEdo2Zk/bin_baker/dune-project | 3 -- .../bin_baker/main_baker_008_PtEdo2Zk.ml | 47 ------------------- .../bin_baker/tezos-baker-008-PtEdo2Zk.opam | 20 -------- .../bin_endorser/.ocamlformat | 17 ------- src/proto_008_PtEdo2Zk/bin_endorser/dune | 20 -------- .../bin_endorser/dune-project | 3 -- .../main_endorser_008_PtEdo2Zk.ml | 38 --------------- .../tezos-endorser-008-PtEdo2Zk.opam | 20 -------- 15 files changed, 303 deletions(-) delete mode 100644 src/proto_008_PtEdo2Zk/bin_accuser/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/bin_accuser/dune delete mode 100644 src/proto_008_PtEdo2Zk/bin_accuser/dune-project delete mode 100644 src/proto_008_PtEdo2Zk/bin_accuser/main_accuser_008_PtEdo2Zk.ml delete mode 100644 src/proto_008_PtEdo2Zk/bin_accuser/tezos-accuser-008-PtEdo2Zk.opam delete mode 100644 src/proto_008_PtEdo2Zk/bin_baker/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/bin_baker/dune delete mode 100644 src/proto_008_PtEdo2Zk/bin_baker/dune-project delete mode 100644 src/proto_008_PtEdo2Zk/bin_baker/main_baker_008_PtEdo2Zk.ml delete mode 100644 src/proto_008_PtEdo2Zk/bin_baker/tezos-baker-008-PtEdo2Zk.opam delete mode 100644 src/proto_008_PtEdo2Zk/bin_endorser/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/bin_endorser/dune delete mode 100644 src/proto_008_PtEdo2Zk/bin_endorser/dune-project delete mode 100644 src/proto_008_PtEdo2Zk/bin_endorser/main_endorser_008_PtEdo2Zk.ml delete mode 100644 src/proto_008_PtEdo2Zk/bin_endorser/tezos-endorser-008-PtEdo2Zk.opam diff --git a/src/proto_008_PtEdo2Zk/bin_accuser/.ocamlformat b/src/proto_008_PtEdo2Zk/bin_accuser/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_accuser/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/bin_accuser/dune b/src/proto_008_PtEdo2Zk/bin_accuser/dune deleted file mode 100644 index 91edc542ef2d..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_accuser/dune +++ /dev/null @@ -1,20 +0,0 @@ -; build static executable with --profile static -(env - (static (flags (:standard - -ccopt -static - -cclib "-lusb-1.0 -lhidapi-libusb -ludev")))) - -(executable - (name main_accuser_008_PtEdo2Zk) - (instrumentation (backend bisect_ppx)) - (public_name tezos-accuser-008-PtEdo2Zk) - (libraries tezos-client-base-unix - tezos-client-commands - tezos-baking-008-PtEdo2Zk-commands) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_client_008_PtEdo2Zk - -open Tezos_client_commands - -open Tezos_baking_008_PtEdo2Zk_commands - -open Tezos_stdlib_unix - -open Tezos_client_base_unix))) diff --git a/src/proto_008_PtEdo2Zk/bin_accuser/dune-project b/src/proto_008_PtEdo2Zk/bin_accuser/dune-project deleted file mode 100644 index 6b744fcbb48b..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_accuser/dune-project +++ /dev/null @@ -1,3 +0,0 @@ -(lang dune 2.7) -(formatting (enabled_for ocaml)) -(name tezos-accuser-alpha) diff --git a/src/proto_008_PtEdo2Zk/bin_accuser/main_accuser_008_PtEdo2Zk.ml b/src/proto_008_PtEdo2Zk/bin_accuser/main_accuser_008_PtEdo2Zk.ml deleted file mode 100644 index 7fb66dc3147f..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_accuser/main_accuser_008_PtEdo2Zk.ml +++ /dev/null @@ -1,38 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* Copyright (c) 2019 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. *) -(* *) -(*****************************************************************************) - -let () = - Client_commands.register Protocol.hash @@ fun _network -> - List.map (Clic.map_command (new Protocol_client_context.wrap_full)) - @@ Delegate_commands.accuser_commands () - -let select_commands _ _ = - return - (List.map - (Clic.map_command (new Protocol_client_context.wrap_full)) - (Delegate_commands.accuser_commands ())) - -let () = Client_main_run.run (module Client_config) ~select_commands diff --git a/src/proto_008_PtEdo2Zk/bin_accuser/tezos-accuser-008-PtEdo2Zk.opam b/src/proto_008_PtEdo2Zk/bin_accuser/tezos-accuser-008-PtEdo2Zk.opam deleted file mode 100644 index f7ceb2c1eb65..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_accuser/tezos-accuser-008-PtEdo2Zk.opam +++ /dev/null @@ -1,20 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-client-008-PtEdo2Zk" - "tezos-client-commands" - "tezos-baking-008-PtEdo2Zk-commands" - "tezos-client-base-unix" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: accuser binary" diff --git a/src/proto_008_PtEdo2Zk/bin_baker/.ocamlformat b/src/proto_008_PtEdo2Zk/bin_baker/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_baker/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/bin_baker/dune b/src/proto_008_PtEdo2Zk/bin_baker/dune deleted file mode 100644 index e2ce37a4acd7..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_baker/dune +++ /dev/null @@ -1,20 +0,0 @@ -; build static executable with --profile static -(env - (static (flags (:standard - -ccopt -static - -cclib "-lusb-1.0 -lhidapi-libusb -ludev")))) - -(executable - (name main_baker_008_PtEdo2Zk) - (instrumentation (backend bisect_ppx)) - (public_name tezos-baker-008-PtEdo2Zk) - (libraries tezos-client-base-unix - tezos-client-commands - tezos-baking-008-PtEdo2Zk-commands) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_client_008_PtEdo2Zk - -open Tezos_client_commands - -open Tezos_baking_008_PtEdo2Zk_commands - -open Tezos_stdlib_unix - -open Tezos_client_base_unix))) diff --git a/src/proto_008_PtEdo2Zk/bin_baker/dune-project b/src/proto_008_PtEdo2Zk/bin_baker/dune-project deleted file mode 100644 index ab21dd8b82f3..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_baker/dune-project +++ /dev/null @@ -1,3 +0,0 @@ -(lang dune 2.7) -(formatting (enabled_for ocaml)) -(name tezos-baker-alpha) diff --git a/src/proto_008_PtEdo2Zk/bin_baker/main_baker_008_PtEdo2Zk.ml b/src/proto_008_PtEdo2Zk/bin_baker/main_baker_008_PtEdo2Zk.ml deleted file mode 100644 index eb9f3ccd55c3..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_baker/main_baker_008_PtEdo2Zk.ml +++ /dev/null @@ -1,47 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* Copyright (c) 2019 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. *) -(* *) -(*****************************************************************************) - -let () = - Client_commands.register Protocol.hash @@ fun _network -> - List.map (Clic.map_command (new Protocol_client_context.wrap_full)) - @@ Delegate_commands.delegate_commands () - -let select_commands _ _ = - return - (List.map - (Clic.map_command (new Protocol_client_context.wrap_full)) - (Delegate_commands.baker_commands ())) - -(* This call is not strictly necessary as the parameters are initialized - lazily the first time a Sapling operation (validation or forging) is - done. This is what the client does. - For a long running binary however it is important to make sure that the - parameters files are there at the start and avoid failing much later while - validating an operation. Plus paying this cost upfront means that the first - validation will not be more expensive. *) -let () = Tezos_sapling.Core.Validator.init_params () - -let () = Client_main_run.run (module Client_config) ~select_commands diff --git a/src/proto_008_PtEdo2Zk/bin_baker/tezos-baker-008-PtEdo2Zk.opam b/src/proto_008_PtEdo2Zk/bin_baker/tezos-baker-008-PtEdo2Zk.opam deleted file mode 100644 index 259227c6e5f4..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_baker/tezos-baker-008-PtEdo2Zk.opam +++ /dev/null @@ -1,20 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-client-008-PtEdo2Zk" - "tezos-client-commands" - "tezos-baking-008-PtEdo2Zk-commands" - "tezos-client-base-unix" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: baker binary" diff --git a/src/proto_008_PtEdo2Zk/bin_endorser/.ocamlformat b/src/proto_008_PtEdo2Zk/bin_endorser/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_endorser/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/bin_endorser/dune b/src/proto_008_PtEdo2Zk/bin_endorser/dune deleted file mode 100644 index 2f6d748849e3..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_endorser/dune +++ /dev/null @@ -1,20 +0,0 @@ -; build static executable with --profile static -(env - (static (flags (:standard - -ccopt -static - -cclib "-lusb-1.0 -lhidapi-libusb -ludev")))) - -(executable - (name main_endorser_008_PtEdo2Zk) - (instrumentation (backend bisect_ppx)) - (public_name tezos-endorser-008-PtEdo2Zk) - (libraries tezos-client-base-unix - tezos-client-commands - tezos-baking-008-PtEdo2Zk-commands) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_client_008_PtEdo2Zk - -open Tezos_client_commands - -open Tezos_baking_008_PtEdo2Zk_commands - -open Tezos_stdlib_unix - -open Tezos_client_base_unix))) diff --git a/src/proto_008_PtEdo2Zk/bin_endorser/dune-project b/src/proto_008_PtEdo2Zk/bin_endorser/dune-project deleted file mode 100644 index 590a29e3f53b..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_endorser/dune-project +++ /dev/null @@ -1,3 +0,0 @@ -(lang dune 2.7) -(formatting (enabled_for ocaml)) -(name tezos-endorser-alpha) diff --git a/src/proto_008_PtEdo2Zk/bin_endorser/main_endorser_008_PtEdo2Zk.ml b/src/proto_008_PtEdo2Zk/bin_endorser/main_endorser_008_PtEdo2Zk.ml deleted file mode 100644 index 627a43b8e4cc..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_endorser/main_endorser_008_PtEdo2Zk.ml +++ /dev/null @@ -1,38 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* Copyright (c) 2019 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. *) -(* *) -(*****************************************************************************) - -let () = - Client_commands.register Protocol.hash @@ fun _network -> - List.map (Clic.map_command (new Protocol_client_context.wrap_full)) - @@ Delegate_commands.delegate_commands () - -let select_commands _ _ = - return - (List.map - (Clic.map_command (new Protocol_client_context.wrap_full)) - (Delegate_commands.endorser_commands ())) - -let () = Client_main_run.run (module Client_config) ~select_commands diff --git a/src/proto_008_PtEdo2Zk/bin_endorser/tezos-endorser-008-PtEdo2Zk.opam b/src/proto_008_PtEdo2Zk/bin_endorser/tezos-endorser-008-PtEdo2Zk.opam deleted file mode 100644 index 3d50107ec5d7..000000000000 --- a/src/proto_008_PtEdo2Zk/bin_endorser/tezos-endorser-008-PtEdo2Zk.opam +++ /dev/null @@ -1,20 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-client-008-PtEdo2Zk" - "tezos-client-commands" - "tezos-baking-008-PtEdo2Zk-commands" - "tezos-client-base-unix" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: endorser binary" -- GitLab From b9a3ddbb47e7f9610a3bde0bb50278f3523e895c Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 8 Sep 2021 16:18:00 +0200 Subject: [PATCH 03/12] Edo freeze: remove tests --- .gitlab/ci/integration.yml | 90 - .gitlab/ci/opam.yml | 45 - .gitlab/ci/unittest.yml | 10 +- Makefile | 11 +- active_protocol_versions | 2 +- .../lib_client/test/.ocamlformat | 17 - .../lib_client/test/assert.ml | 37 - src/proto_008_PtEdo2Zk/lib_client/test/dune | 12 - .../test/test_michelson_v1_macros.ml | 1357 ------------ .../lib_protocol/test/.ocamlformat | 17 - .../lib_protocol/test/activation.ml | 563 ----- .../lib_protocol/test/baking.ml | 266 --- .../lib_protocol/test/combined_operations.ml | 307 --- .../test/contracts/big_interpreter_stack.tz | 5 - .../test/contracts/sapling_contract.tz | 69 - .../test/contracts/sapling_contract_double.tz | 33 - .../test/contracts/sapling_contract_drop.tz | 14 - .../test/contracts/sapling_contract_send.tz | 20 - .../sapling_contract_state_as_arg.tz | 18 - .../contracts/sapling_push_sapling_state.tz | 11 - .../contracts/sapling_use_existing_state.tz | 12 - .../lib_protocol/test/delegation.ml | 1492 ------------- .../lib_protocol/test/double_baking.ml | 205 -- .../lib_protocol/test/double_endorsement.ml | 215 -- src/proto_008_PtEdo2Zk/lib_protocol/test/dune | 43 - .../lib_protocol/test/endorsement.ml | 574 ----- .../lib_protocol/test/fixed_point.ml | 222 -- .../lib_protocol/test/gas_costs.ml | 275 --- .../lib_protocol/test/gas_properties.ml | 135 -- .../lib_protocol/test/helpers/.ocamlformat | 17 - .../lib_protocol/test/helpers/account.ml | 95 - .../lib_protocol/test/helpers/account.mli | 61 - .../lib_protocol/test/helpers/assert.ml | 120 -- .../lib_protocol/test/helpers/block.ml | 425 ---- .../lib_protocol/test/helpers/block.mli | 142 -- .../lib_protocol/test/helpers/context.ml | 308 --- .../lib_protocol/test/helpers/context.mli | 138 -- .../lib_protocol/test/helpers/dune | 19 - .../lib_protocol/test/helpers/dune-project | 3 - .../lib_protocol/test/helpers/expr.ml | 38 - .../lib_protocol/test/helpers/incremental.ml | 197 -- .../lib_protocol/test/helpers/incremental.mli | 62 - .../lib_protocol/test/helpers/nonce.ml | 35 - .../lib_protocol/test/helpers/nonce.mli | 33 - .../lib_protocol/test/helpers/op.ml | 364 ---- .../lib_protocol/test/helpers/op.mli | 127 -- .../lib_protocol/test/helpers/rewards.ml | 297 --- .../test/helpers/sapling_helpers.ml | 429 ---- .../lib_protocol/test/helpers/test_tez.ml | 57 - .../lib_protocol/test/helpers/testable.ml | 38 - .../tezos-008-PtEdo2Zk-test-helpers.opam | 23 - .../lib_protocol/test/interpretation.ml | 160 -- .../lib_protocol/test/lazy_storage_diff.ml | 141 -- .../lib_protocol/test/main.ml | 54 - .../lib_protocol/test/origination.ml | 254 --- .../lib_protocol/test/qty.ml | 156 -- .../lib_protocol/test/reveal.ml | 101 - .../lib_protocol/test/rolls.ml | 277 --- .../lib_protocol/test/script_gas.ml | 131 -- .../lib_protocol/test/seed.ml | 243 --- .../lib_protocol/test/test_helpers_rpcs.ml | 64 - .../lib_protocol/test/test_sapling.ml | 1089 ---------- .../lib_protocol/test/transfer.ml | 679 ------ .../lib_protocol/test/typechecking.ml | 761 ------- .../lib_protocol/test/voting.ml | 1093 ---------- .../tezos-protocol-008-PtEdo2Zk-tests.opam | 32 - tests_python/tests_008/__init__.py | 0 ...contract.TestNormalize::test_normalize.out | 8 - ...tNormalize::test_normalize_legacy_flag.out | 8 - ...Normalize::test_normalize_script[None].out | 10 - ...lize::test_normalize_script[Optimized].out | 10 - ...est_normalize_script[Optimized_legacy].out | 12 - ...alize::test_normalize_script[Readable].out | 10 - ...e_type[list (pair nat int bool bytes)].out | 3 - ...rmalize_type[list (pair nat int bool)].out | 3 - ...st_normalize_type[list (pair nat int)].out | 3 - ...rmalize::test_normalize_type[list nat].out | 3 - ...estNormalize::test_normalize_type[nat].out | 3 - ...ormalize_type[pair nat int bool bytes].out | 3 - ...test_normalize_type[pair nat int bool].out | 3 - ...ize::test_normalize_type[pair nat int].out | 3 - ...e::test_normalize_unparsing_mode[None].out | 3 - ...st_normalize_unparsing_mode[Optimized].out | 3 - ...alize_unparsing_mode[Optimized_legacy].out | 5 - ...est_normalize_unparsing_mode[Readable].out | 3 - ..._hash[client_regtest_custom_scrubber0].out | 263 --- ...::test_self_address_originate_receiver.out | 50 - ...er::test_self_address_originate_sender.out | 50 - ...ddressTransfer::test_send_self_address.out | 42 - ...81.TestBls12_381::test_add_one_one[Fr].out | 9 - ...81.TestBls12_381::test_add_one_one[G1].out | 9 - ...81.TestBls12_381::test_add_one_one[G2].out | 9 - ...TestBls12_381::test_add_one_random[Fr].out | 72 - ...TestBls12_381::test_add_one_random[G1].out | 72 - ...TestBls12_381::test_add_one_random[G2].out | 72 - ...1.TestBls12_381::test_add_one_zero[Fr].out | 9 - ...1.TestBls12_381::test_add_one_zero[G1].out | 9 - ...1.TestBls12_381::test_add_one_zero[G2].out | 9 - ...TestBls12_381::test_add_random_one[Fr].out | 72 - ...TestBls12_381::test_add_random_one[G1].out | 72 - ...TestBls12_381::test_add_random_one[G2].out | 72 - ...tBls12_381::test_add_random_random[Fr].out | 72 - ...tBls12_381::test_add_random_random[G1].out | 72 - ...tBls12_381::test_add_random_random[G2].out | 72 - ...estBls12_381::test_add_random_zero[Fr].out | 72 - ...estBls12_381::test_add_random_zero[G1].out | 72 - ...estBls12_381::test_add_random_zero[G2].out | 72 - ...1.TestBls12_381::test_add_zero_one[Fr].out | 9 - ...1.TestBls12_381::test_add_zero_one[G1].out | 9 - ...1.TestBls12_381::test_add_zero_one[G2].out | 9 - ...estBls12_381::test_add_zero_random[Fr].out | 72 - ...estBls12_381::test_add_zero_random[G1].out | 72 - ...estBls12_381::test_add_zero_random[G2].out | 72 - ....TestBls12_381::test_add_zero_zero[Fr].out | 9 - ....TestBls12_381::test_add_zero_zero[G1].out | 9 - ....TestBls12_381::test_add_zero_zero[G2].out | 9 - ...fr_bytes_parameters_more_than_32_bytes.out | 8 - ..._bls12_381.TestBls12_381::test_groth16.out | 9 - ...81.TestBls12_381::test_mul_one_one[Fr].out | 9 - ...81.TestBls12_381::test_mul_one_one[G1].out | 9 - ...81.TestBls12_381::test_mul_one_one[G2].out | 9 - ...TestBls12_381::test_mul_one_random[Fr].out | 72 - ...TestBls12_381::test_mul_one_random[G1].out | 72 - ...TestBls12_381::test_mul_one_random[G2].out | 72 - ...1.TestBls12_381::test_mul_one_zero[Fr].out | 9 - ...1.TestBls12_381::test_mul_one_zero[G1].out | 9 - ...1.TestBls12_381::test_mul_one_zero[G2].out | 9 - ...TestBls12_381::test_mul_random_one[Fr].out | 72 - ...TestBls12_381::test_mul_random_one[G1].out | 72 - ...TestBls12_381::test_mul_random_one[G2].out | 72 - ...tBls12_381::test_mul_random_random[Fr].out | 72 - ...tBls12_381::test_mul_random_random[G1].out | 72 - ...tBls12_381::test_mul_random_random[G2].out | 72 - ...estBls12_381::test_mul_random_zero[Fr].out | 72 - ...estBls12_381::test_mul_random_zero[G1].out | 72 - ...estBls12_381::test_mul_random_zero[G2].out | 72 - ...1.TestBls12_381::test_mul_zero_one[Fr].out | 9 - ...1.TestBls12_381::test_mul_zero_one[G1].out | 9 - ...1.TestBls12_381::test_mul_zero_one[G2].out | 9 - ...estBls12_381::test_mul_zero_random[Fr].out | 72 - ...estBls12_381::test_mul_zero_random[G1].out | 72 - ...estBls12_381::test_mul_zero_random[G2].out | 72 - ....TestBls12_381::test_mul_zero_zero[Fr].out | 9 - ....TestBls12_381::test_mul_zero_zero[G1].out | 9 - ....TestBls12_381::test_mul_zero_zero[G2].out | 9 - ...12_381.TestBls12_381::test_neg_one[Fr].out | 9 - ...12_381.TestBls12_381::test_neg_one[G1].out | 9 - ...12_381.TestBls12_381::test_neg_one[G2].out | 9 - ...381.TestBls12_381::test_neg_random[Fr].out | 72 - ...381.TestBls12_381::test_neg_random[G1].out | 72 - ...381.TestBls12_381::test_neg_random[G2].out | 72 - ...2_381.TestBls12_381::test_neg_zero[Fr].out | 9 - ...2_381.TestBls12_381::test_neg_zero[G1].out | 9 - ...2_381.TestBls12_381::test_neg_zero[G2].out | 9 - ...381.TestBls12_381::test_pairing_neg_g1.out | 72 - ...381.TestBls12_381::test_pairing_neg_g2.out | 72 - ...12_381.TestBls12_381::test_pairing_nil.out | 9 - ...81.TestBls12_381::test_pairing_one_one.out | 9 - ...TestBls12_381::test_pairing_one_random.out | 72 - ...1.TestBls12_381::test_pairing_one_zero.out | 9 - ...TestBls12_381::test_pairing_random_one.out | 72 - ...tBls12_381::test_pairing_random_random.out | 72 - ...estBls12_381::test_pairing_random_zero.out | 72 - ...1.TestBls12_381::test_pairing_zero_one.out | 9 - ...estBls12_381::test_pairing_zero_random.out | 72 - ....TestBls12_381::test_pairing_zero_zero.out | 9 - ...tBls12_381::test_signature_aggregation.out | 142 -- ..._381.TestBls12_381::test_store_one[Fr].out | 9 - ..._381.TestBls12_381::test_store_one[G1].out | 9 - ..._381.TestBls12_381::test_store_one[G2].out | 9 - ...1.TestBls12_381::test_store_random[Fr].out | 72 - ...1.TestBls12_381::test_store_random[G1].out | 72 - ...1.TestBls12_381::test_store_random[G2].out | 72 - ...381.TestBls12_381::test_store_zero[Fr].out | 9 - ...381.TestBls12_381::test_store_zero[G1].out | 9 - ...381.TestBls12_381::test_store_zero[G2].out | 9 - ...est_macro_expansion[macros--assert.tz].out | 9 - ...cro_expansion[macros--assert_cmpeq.tz].out | 12 - ...cro_expansion[macros--assert_cmpge.tz].out | 12 - ...cro_expansion[macros--assert_cmpgt.tz].out | 12 - ...cro_expansion[macros--assert_cmple.tz].out | 12 - ...cro_expansion[macros--assert_cmplt.tz].out | 12 - ...ro_expansion[macros--assert_cmpneq.tz].out | 12 - ..._macro_expansion[macros--assert_eq.tz].out | 13 - ..._macro_expansion[macros--assert_ge.tz].out | 13 - ..._macro_expansion[macros--assert_gt.tz].out | 13 - ..._macro_expansion[macros--assert_le.tz].out | 13 - ..._macro_expansion[macros--assert_lt.tz].out | 13 - ...macro_expansion[macros--assert_neq.tz].out | 13 - ..._expansion[macros--big_map_get_add.tz].out | 23 - ...acro_expansion[macros--big_map_mem.tz].out | 14 - ...macro_expansion[macros--build_list.tz].out | 24 - ...ro_expansion[macros--carn_and_cdrn.tz].out | 29 - ...st_macro_expansion[macros--compare.tz].out | 22 - ...ro_expansion[macros--compare_bytes.tz].out | 22 - ...:test_macro_expansion[macros--fail.tz].out | 3 - ..._macro_expansion[macros--guestbook.tz].out | 18 - ...xpansion[macros--macro_annotations.tz].out | 13 - ...cro_expansion[macros--map_caddaadr.tz].out | 40 - ...acro_expansion[macros--max_in_list.tz].out | 17 - ...::test_macro_expansion[macros--min.tz].out | 13 - ...macro_expansion[macros--pair_macro.tz].out | 18 - ...cro_expansion[macros--set_caddaadr.tz].out | 33 - ...ro_expansion[macros--take_my_money.tz].out | 14 - ...cro_expansion[macros--unpair_macro.tz].out | 20 - ...ination::test_big_map_origination_diff.out | 29 - ...igination::test_big_map_origination_id.out | 27 - ...tion::test_big_map_origination_literal.out | 48 - ...rigination::test_big_map_transfer_diff.out | 23 - ...pOrigination::test_big_map_transfer_id.out | 22 - ...s.TestContractOnchainLevel::test_level.out | 121 -- ...actOnchainOpcodes::test_contract_fails.out | 2 - ...tContractOnchainOpcodes::test_gen_keys.out | 2 - ...ontractOnchainOpcodes::test_init_proxy.out | 51 - ...s.TestContractOnchainOpcodes::test_now.out | 2 - ....TestContractOnchainOpcodes::test_self.out | 2 - ...estContractOnchainOpcodes::test_sender.out | 2 - ...tractOnchainOpcodes::test_set_delegate.out | 121 -- ...TestContractOnchainOpcodes::test_slice.out | 85 - ...\"spsig1PPUFZucuAQybs5wsqs.818025e860.out" | 66 - ...0e55c43a9a857214d8761e67b75.2d6806d54e.out | 66 - ...0e55c43a9a857214d8761e67b75.378d03ae2d.out | 66 - ...0e55c43a9a857214d8761e67b75.57fdc7ad1c.out | 66 - ...0e55c43a9a857214d8761e67b75.c583c796bf.out | 66 - ...ef0e55c43a9a857214d8761e67b.7da5c9014e.out | 45 - ...estContractOnchainOpcodes::test_source.out | 117 - ...ntractOnchainOpcodes::test_split_bytes.out | 135 -- ...tractOnchainOpcodes::test_split_string.out | 135 -- ...ntractOnchainOpcodes::test_store_input.out | 180 -- ...trace_origination[compare_big_type.tz].out | 91 - ...race_origination[compare_big_type2.tz].out | 95 - ...ctOnchainOpcodes::test_transfer_amount.out | 80 - ...ctOnchainOpcodes::test_transfer_tokens.out | 232 -- ...(Some 4) {})-\"hello\"-(Pa.ed8a8c90dc.out" | 42 - ...(Some 5) { Elt \"hello\" 4.4ba77dda56.out" | 43 - ...(Some 5) { Elt \"hello\" 4.662e6b84f7.out" | 42 - ...None { Elt \"1\" 1 ; .7806be875b.out" | 43 - ...None { Elt \"1\" 1 ; .7beec6cc30.out" | 43 - ...None { Elt \"hello\" 4 })-.2e17580138.out" | 42 - ...None {})-\"hello\"-(Pair N.ae2570aa95.out" | 42 - ..." \"one\" ; Elt \"2\" \"tw.7085ccc339.out" | 51 - ...ello\" \"hi\" } None)-\"\".75aa05c5ef.out" | 50 - ...hello\" \"hi\" } None)-\"h.ce376412b0.out" | 50 - ...one\" ; Elt \"2\" \"two\" .0689a9f5c7.out" | 54 - ...one\" ; Elt \"2\" \"two\" .28027e7c51.out" | 43 - ...one\" ; Elt \"2\" \"two\" .5b9b4f4add.out" | 54 - ...one\" ; Elt \"2\" \"two\" .923a9b1a0c.out" | 54 - ...one\" ; Elt \"2\" \"two\" .e075542e26.out" | 55 - ...one\" ; Elt \"2\" \"two\" .f2ff59db97.out" | 55 - ...erflow[mul_overflow.tz-Unit-Left Unit].out | 26 - ...rflow[mul_overflow.tz-Unit-Right Unit].out | 26 - ...ow[shifts.tz-None-(Left (Pair 1 257))].out | 26 - ...[shifts.tz-None-(Left (Pair 123 257))].out | 26 - ...w[shifts.tz-None-(Right (Pair 1 257))].out | 26 - ...shifts.tz-None-(Right (Pair 123 257))].out | 26 - ...TestContractOpcodes::test_balance[0.5].out | 23 - ...s.TestContractOpcodes::test_balance[0].out | 23 - ...estContractOpcodes::test_balance[1000].out | 23 - ...s.TestContractOpcodes::test_balance[1].out | 23 - ...stContractOpcodes::test_balance[1e-06].out | 23 - ...s.TestContractOpcodes::test_balance[5].out | 23 - ...Opcodes::test_balance[8000000000000.0].out | 23 - ... \"two\" }) )-(Right (Righ.4c10105111.out" | 80 - ... \"two\" }))-(Left Unit)-(.00a32294a4.out" | 43 - ... \"two\" }))-(Right (Left .47f32b8f4c.out" | 35 - ... \"two\" }))-(Right (Left .8a6f480005.out" | 31 - ... \"two\" }))-(Right (Right.db0e6941b3.out" | 74 - ...Pair \"foo\" \"bar\" } { P.79a01c2ffd.out" | 128 -- ...tContractOpcodes::test_check_signature.out | 233 -- ...tract_input_output[abs.tz-Unit-0-Unit].out | 40 - ....tz-Unit-12039123919239192312931-Unit].out | 40 - ...act_input_output[abs.tz-Unit-948-Unit].out | 40 - ...ct_input_output[add.tz-Unit-Unit-Unit].out | 237 -- ...r 0x00 0x00-(Some 0x0000000.3c2de60480.out | 33 - ...r 0x01 0x00-(Some 0x0100000.12b2c1172b.out | 33 - ...r 0x010000 0x00-(Some 0x010.0e44fc6f40.out | 33 - ...r 0x010000 0x010000-(Some 0.7e0ed229a3.out | 33 - ...air -100 100)-(Some \"1970.7c1b1e4e5b.out" | 38 - ...air 0 \"1970-01-01T00:00:0.528ed42c01.out" | 38 - ...air 100 100)-(Some \"1970-.6566111ad2.out" | 38 - ...air \"1970-01-01T00:00:00Z.72c424f3da.out" | 38 - ...air 100 -100)-(Some \"1970.7c4b12e9aa.out" | 38 - ...air 100 100)-(Some \"1970-.af32743640.out" | 38 - ...dhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" | 25 - ...-None-(Pair False False)-(Some False)].out | 33 - ...z-None-(Pair False True)-(Some False)].out | 33 - ...z-None-(Pair True False)-(Some False)].out | 33 - ....tz-None-(Pair True True)-(Some True)].out | 33 - ...t_output[and_binary.tz-Unit-Unit-Unit].out | 103 - ...l_1.tz-False-(Pair False False)-False].out | 26 - ...al_1.tz-False-(Pair False True)-False].out | 26 - ...al_1.tz-False-(Pair True False)-False].out | 26 - ...ical_1.tz-False-(Pair True True)-True].out | 26 - ...put[balance.tz-111-Unit-4000000000000].out | 23 - ...lt 0 1 } None)-1-(Pair 0 (S.4c96f27113.out | 46 - ...lt 0 1 } None)-1-(Pair 0 (S.7a576099dd.out | 46 - ...lt 1 0 } None)-1-(Pair 0 (S.a78f9cbe43.out | 46 - ...lt 1 0 } None)-1-(Pair 0 (S.eb161b3e7b.out | 46 - ...lt 1 4 ; Elt 2 11 } None)-1.09d8aca862.out | 47 - ...lt 1 4 ; Elt 2 11 } None)-1.8c67185afa.out | 47 - ...lt 1 4 ; Elt 2 11 } None)-2.288a17ed5b.out | 47 - ...lt 1 4 ; Elt 2 11 } None)-2.359cf3d084.out | 47 - ...lt 1 4 ; Elt 2 11 } None)-3.1c70ed3ee1.out | 47 - ...lt 1 4 ; Elt 2 11 } None)-3.4df68c50c9.out | 47 - ...air {} None)-1-(Pair 0 (Some False))0].out | 45 - ...air {} None)-1-(Pair 0 (Some False))1].out | 45 - ... \"bar\" 4 ; Elt \"foo\" 1.712049bd7b.out" | 47 - ... \"bar\" 4 ; Elt \"foo\" 1.b18ef3a371.out" | 47 - ... \"bar\" 4 ; Elt \"foo\" 1.d04a6af348.out" | 47 - ... \"foo\" 0 } None)-\"foo\".1ae65b36c3.out" | 46 - ... \"foo\" 1 } None)-\"bar\".59ffcc6af5.out" | 46 - ... None)-\"bar\"-(Pair 0 (Some False))].out" | 45 - ...padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out | 27 - ...e-Unit-(Some 0x100000000000.d1219ca789.out | 27 - ...utput[bls12_381_fr_to_int.tz-0-0x00-0].out | 23 - ...utput[bls12_381_fr_to_int.tz-0-0x01-1].out | 23 - ...8db8e57af88d9576acd181b89f2.7a85c336ff.out | 25 - ...9e8abf8dc324a010007addde986.b821eb26b3.out | 25 - ...ut[bls12_381_fr_to_mutez.tz-0-0x10-16].out | 34 - ...000000000000000000000000000.0accef5bef.out | 24 - ...000000000000000000000000000.0ecc537252.out | 24 - ...000000000000000000000000000.2229b767cd.out | 24 - ...000000000000000000000000000.2ff549b46b.out | 24 - ...000000000000000000000000000.bf8a711be6.out | 25 - ...000000000000000000000000000.d41cbb044b.out | 24 - ...a5ad0a633e4880d2296f08ec5c1.a50412e458.out | 25 - ...cd0fa853810e356f1eb79721e80.f3a349c4a7.out | 25 - ...be1766f92cd82c5e5135c374a03.1b9676e4c2.out | 25 - ...be1766f92cd82c5e5135c374a03.e966dc6de5.out | 25 - ...000000000000000000000000000.964835cc43.out | 24 - ...000000000000000000000000000.b25ea709fb.out | 24 - ...000000000000000000000000000.eae36753ea.out | 25 - ...000000000000000000000000000.ee57dac8f7.out | 24 - ...a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out | 25 - ...cd0fa853810e356f1eb79721e80.bd5800f6b8.out | 25 - ...be1766f92cd82c5e5135c374a03.00e897789a.out | 25 - ...be1766f92cd82c5e5135c374a03.a4697eaa13.out | 25 - ...000000000000000000000000000.0177355bbf.out | 27 - ...000000000000000000000000000.744166c609.out | 27 - ...000000000000000000000000000.9f3c5cdc6a.out | 27 - ...000000000000000000000000000.a54cb341ba.out | 27 - ...000000000000000000000000000.b0dc584c94.out | 27 - ...000000000000000000000000000.bddcad090c.out | 28 - ...a5ad0a633e4880d2296f08ec5c1.92c153eb47.out | 28 - ...cd0fa853810e356f1eb79721e80.290ab49d11.out | 28 - ...be1766f92cd82c5e5135c374a03.69f3589a06.out | 28 - ...be1766f92cd82c5e5135c374a03.fee3c5cf43.out | 28 - ...000000000000000000000000000.1bccc033e8.out | 28 - ...000000000000000000000000000.40958700fe.out | 27 - ...000000000000000000000000000.6c62b03d78.out | 27 - ...000000000000000000000000000.d23f269341.out | 27 - ...a5ad0a633e4880d2296f08ec5c1.927f808504.out | 28 - ...cd0fa853810e356f1eb79721e80.0c114c956a.out | 28 - ...be1766f92cd82c5e5135c374a03.03c4f38e68.out | 28 - ...be1766f92cd82c5e5135c374a03.8ed19cfdd9.out | 28 - ...input_output[car.tz-0-(Pair 34 17)-34].out | 23 - ...input_output[cdr.tz-0-(Pair 34 17)-17].out | 23 - ...prcVkpaWU\")-Unit-(Some \".8420090f97.out" | 25 - ...770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" | 25 - ...None-Unit-(Some \"NetXdQprcVkpaWU\")].out" | 25 - ...mb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out | 140 -- ... Unit)-(Some (Pair 2 4 \"t.886cc365c6.out" | 38 - ...r 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)].out | 41 - ...omb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out | 32 - ...nput_output[compare.tz-Unit-Unit-Unit].out | 400 ---- ...; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out | 363 ---- ...-{ \"World!\" }-{ \"Hello World!\" }].out" | 30 - ..."test2\" }-{ \"Hello test1.c27e8c3ee6.out" | 37 - ...input_output[concat_hello.tz-{}-{}-{}].out | 23 - ...}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out | 37 - ...hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out | 30 - ...output[concat_hello_bytes.tz-{}-{}-{}].out | 23 - ...; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" | 117 - ...\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" | 95 - ...t_output[concat_list.tz-\"\"-{}-\"\"].out" | 29 - ...ns.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out | 24 - ..._output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out | 24 - ...act_input_output[cons.tz-{}-10-{ 10 }].out | 24 - ...ir { \"A\" } { \"B\" })-(Some False)].out" | 172 -- ...\"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" | 423 ---- ...\"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" | 456 ---- ...air { \"B\" } { \"B\" })-(Some True)].out" | 172 -- ...ir { \"c\" } { \"B\" })-(Some False)].out" | 172 -- ..._all.tz-None-(Pair {} {})-(Some True)].out | 65 - ...wnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" | 31 - ...Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" | 53 - ...970-01-01T00:03:20Z\" \"19.90e9215d17.out" | 36 - ...t[diff_timestamps.tz-111-(Pair 0 0)-0].out | 36 - ...[diff_timestamps.tz-111-(Pair 0 1)--1].out | 36 - ...t[diff_timestamps.tz-111-(Pair 1 0)-1].out | 36 - ...r 16 (Pair 15 (Pair 14 (Pai.2794d4782e.out | 1266 ----------- ... 3 (Pair 12 (Pair 16 (Pair .d473151c0f.out | 1266 ----------- ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out | 60 - ...p.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out | 37 - ...z-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out | 37 - ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out | 70 - ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out | 41 - ...air (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out | 59 - ..._input_output[dup-n.tz-Unit-Unit-Unit].out | 285 --- ... None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out | 137 -- ... None)-(Pair 10 -3)-(Pair (.3caea50555.out | 137 -- ... None)-(Pair 10 0)-(Pair No.f9448c04fb.out | 137 -- ... None)-(Pair 10 (Left 0))-(Left None)].out | 36 - ...air 10 (Left 10))-(Left (So.f782cc1dec.out | 36 - ...air 10 (Left 3))-(Left (Som.016b4db96c.out | 36 - ...one)-(Pair 10 (Right 0))-(Right None)].out | 36 - ...air 10 (Right 10))-(Right (.e705a30e07.out | 36 - ...air 10 (Right 3))-(Right (S.44485eda6a.out | 36 - ...air 5 (Right 10))-(Right (S.8ab987af15.out | 36 - ...-{}-Unit-{ Elt \"hello\" \"world\" }].out" | 35 - ...t[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" | 54 - ...oncat.tz-\"?\"-\"test\"-\"test_abc\"].out" | 54 - ...tput[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out | 29 - ...act_input_output[first.tz-111-{ 4 }-4].out | 29 - ...me 4) {})-\"hello\"-(Pair .161d86cef6.out" | 41 - ...me 5) { Elt \"hello\" 4 }).684ab7e326.out" | 41 - ...me 5) { Elt \"hello\" 4 }).d49817fb83.out" | 41 - ...e { Elt \"1\" 1 ; .6900b1da14.out" | 41 - ...e { Elt \"1\" 1 ; .bca0ede8be.out" | 41 - ... { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" | 41 - ...ir None {})-\"hello\"-(Pair None {})].out" | 41 - ... \"1\" \"one\" ; .bc4127094e.out" | 46 - ..."hello\" \"hi\" })-\"\"-(P.0c03056487.out" | 46 - ...\"hello\" \"hi\" })-\"hell.cc45544c66.out" | 46 - ...nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" | 25 - ...2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" | 25 - ...xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" | 25 - ...-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" | 25 - ..._output[if.tz-None-False-(Some False)].out | 27 - ...ut_output[if.tz-None-True-(Some True)].out | 27 - ....tz-\"?\"-(Some \"hello\")-\"hello\"].out" | 25 - ...ut_output[if_some.tz-\"?\"-None-\"\"].out" | 27 - ...t_input_output[int.tz-None-0-(Some 0)].out | 25 - ...t_input_output[int.tz-None-1-(Some 1)].out | 25 - ...t_output[int.tz-None-9999-(Some 9999)].out | 25 - ...c20776f726c6421-(Some 0xb6e.34c02678c9.out | 27 - ...Left \"X\")-(Left True)-(Right True)].out" | 25 - ...ft \"X\")-(Right \"a\")-(Left \"a\")].out" | 25 - ...ract_input_output[level.tz-111-Unit-1].out | 23 - ...{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" | 29 - ...ut[list_concat.tz-\"abc\"-{}-\"abc\"].out" | 29 - ...tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out | 29 - ..._output[list_concat_bytes.tz-0x-{}-0x].out | 29 - ...b-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out | 29 - ...list_concat_bytes.tz-0xabcd-{}-0xabcd].out | 29 - ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 21 - ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 21 - ...input_output[list_id.tz-{\"\"}-{}-{}].out" | 21 - ... ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" | 29 - ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 29 - ...t_output[list_id_map.tz-{\"\"}-{}-{}].out" | 23 - ...tput[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out | 41 - ...tput[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out | 41 - ...}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out | 142 -- ...}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out | 142 -- ...ut_output[list_map_block.tz-{0}-{}-{}].out | 38 - ...ze.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out | 23 - ...tput[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out | 23 - ...input_output[list_size.tz-111-{ 1 }-1].out | 23 - ...ct_input_output[list_size.tz-111-{}-0].out | 23 - ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 148 -- ...put_output[loop_left.tz-{\"\"}-{}-{}].out" | 52 - ...0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }].out | 21 - ...[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out | 21 - ...[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out | 21 - ... Elt 0 100 ; Elt 2 100 }-(Pair 2 200)].out | 150 -- ...-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)].out | 150 -- ...foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" | 72 - ...lt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" | 53 - ...ract_input_output[map_map.tz-{}-10-{}].out | 34 - ... 1 } None)-1-(Pair { Elt 0 .7396e5f090.out | 45 - ... 0 } None)-1-(Pair { Elt 1 .cef8ce601a.out | 45 - ... 4 ; Elt 2 11 } None)-1-(Pa.1a55a5bfa5.out | 45 - ... 4 ; Elt 2 11 } None)-2-(Pa.89cc24d256.out | 45 - ... 4 ; Elt 2 11 } None)-3-(Pa.2fba3165c0.out | 45 - ...air {} None)-1-(Pair {} (Some False))].out | 45 - ...ar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" | 45 - ...ar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" | 45 - ...ar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" | 45 - ...oo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" | 45 - ...oo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" | 45 - ...None)-\"bar\"-(Pair {} (Some False))].out" | 45 - ... \"b\" 2 ; Elt \"c\" 3 ; .1da2c2c3fa.out" | 23 - ...\" 1 ; Elt \"b\" 2 ; Elt \"c\" 3 }-3].out" | 23 - ...ut[map_size.tz-111-{ Elt \"a\" 1 }-1].out" | 23 - ...act_input_output[map_size.tz-111-{}-0].out | 23 - ...ct_input_output[mul.tz-Unit-Unit-Unit].out | 133 -- ...0-257-0x0101000000000000000.be11332c7f.out | 40 - ...2-16-0x10000000000000000000.8230fb4fac.out | 40 - ...act_input_output[neg.tz-0-(Left -2)-2].out | 25 - ...ract_input_output[neg.tz-0-(Left 0)-0].out | 25 - ...act_input_output[neg.tz-0-(Left 2)--2].out | 25 - ...act_input_output[neg.tz-0-(Right 0)-0].out | 25 - ...ct_input_output[neg.tz-0-(Right 2)--2].out | 25 - ...nput_output[none.tz-Some 10-Unit-None].out | 23 - ..._output[not.tz-None-False-(Some True)].out | 25 - ..._output[not.tz-None-True-(Some False)].out | 25 - ...not_binary.tz-None-(Left -8)-(Some 7)].out | 27 - ...not_binary.tz-None-(Left -9)-(Some 8)].out | 27 - ...not_binary.tz-None-(Left 0)-(Some -1)].out | 27 - ...not_binary.tz-None-(Left 7)-(Some -8)].out | 27 - ...not_binary.tz-None-(Left 8)-(Some -9)].out | 27 - ...ot_binary.tz-None-(Right 0)-(Some -1)].out | 27 - ...ot_binary.tz-None-(Right 7)-(Some -8)].out | 27 - ...ot_binary.tz-None-(Right 8)-(Some -9)].out | 27 - ...-None-(Pair False False)-(Some False)].out | 37 - ...tz-None-(Pair False True)-(Some True)].out | 37 - ...tz-None-(Pair True False)-(Some True)].out | 37 - ....tz-None-(Pair True True)-(Some True)].out | 37 - ...or_binary.tz-None-(Pair 0 8)-(Some 8)].out | 28 - ..._binary.tz-None-(Pair 14 1)-(Some 15)].out | 28 - ..._binary.tz-None-(Pair 15 4)-(Some 15)].out | 28 - ...r_binary.tz-None-(Pair 4 8)-(Some 12)].out | 28 - ...or_binary.tz-None-(Pair 7 7)-(Some 7)].out | 28 - ...or_binary.tz-None-(Pair 8 0)-(Some 8)].out | 28 - ... (Pair 1 (Pair \"foobar\".368bdfd73a.out" | 900 -------- ... (Pair 1 (Pair \"foobar\".735d9ae802.out" | 900 -------- ...ir \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" | 1260 ----------- ...ir \"edpkuBknW28nW72KG6RoH.4e20b52378.out" | 1089 ---------- ...alse False)-(Some (Pair False False))].out | 23 - ... False True)-(Some (Pair False True))].out | 23 - ... True False)-(Some (Pair True False))].out | 23 - ...ir True True)-(Some (Pair True True))].out | 23 - ...ntract_input_output[pexec.tz-14-38-52].out | 52 - ... 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out | 314 --- ...utput[ret_int.tz-None-Unit-(Some 300)].out | 25 - ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 41 - ...input_output[reverse.tz-{\"\"}-{}-{}].out" | 29 - ... ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 120 -- ..._output[reverse_loop.tz-{\"\"}-{}-{}].out" | 51 - ...tput[sapling_empty_state.tz-{}-Unit-0].out | 23 - ...output[self_address.tz-Unit-Unit-Unit].out | 54 - ..._default_entrypoint.tz-Unit-Unit-Unit].out | 51 - ...entrypoint.tz-Unit-Left (Left 0)-Unit].out | 112 - ...Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" | 53 - ..."hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" | 53 - ...lo\" 0)-\"world\"-(Pair \"world\" 0)].out" | 53 - ...ir \"hello\" 0)-1-(Pair \"hello\" 1)].out" | 50 - ... \"hello\" 500)-3-(Pair \"hello\" 3)].out" | 50 - ..."hello\" 7)-100-(Pair \"hello\" 100)].out" | 50 - ... ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" | 21 - ...; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" | 21 - ...tract_input_output[set_id.tz-{}-{}-{}].out | 21 - ..._iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out | 45 - ..._input_output[set_iter.tz-111-{ 1 }-1].out | 33 - ...act_input_output[set_iter.tz-111-{}-0].out | 29 - ..."World\" } None)-\"\"-(Pai.3d2044726e.out" | 68 - ...)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" | 68 - ... None)-\"Hi\"-(Pair {} (Some False))].out" | 68 - ...ze.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out | 23 - ...utput[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out | 23 - ..._input_output[set_size.tz-111-{ 1 }-1].out | 23 - ...act_input_output[set_size.tz-111-{}-0].out | 23 - ...0776f726c6421-(Some 0xf345a.a07ae9dddf.out | 27 - ...ts.tz-None-(Left (Pair 0 0))-(Some 0)].out | 30 - ...ts.tz-None-(Left (Pair 0 1))-(Some 0)].out | 30 - ...ts.tz-None-(Left (Pair 1 2))-(Some 4)].out | 30 - ....tz-None-(Left (Pair 15 2))-(Some 60)].out | 30 - ...s.tz-None-(Left (Pair 8 1))-(Some 16)].out | 30 - ...s.tz-None-(Right (Pair 0 0))-(Some 0)].out | 30 - ...s.tz-None-(Right (Pair 0 1))-(Some 0)].out | 30 - ...s.tz-None-(Right (Pair 1 2))-(Some 0)].out | 30 - ....tz-None-(Right (Pair 15 2))-(Some 3)].out | 30 - ...s.tz-None-(Right (Pair 8 1))-(Some 4)].out | 30 - ...ut_output[slice.tz-None-Pair 0 0-None].out | 33 - ...tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" | 38 - ...slice.tz-Some \"Foo\"-Pair 0 10-None].out" | 38 - ...-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" | 38 - ...z-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" | 38 - ...[slice.tz-Some \"Foo\"-Pair 1 3-None].out" | 38 - ...slice.tz-Some \"Foo\"-Pair 10 5-None].out" | 38 - ...FooFooFooFooFooFooFooFooFo.c508d67bb0.out" | 39 - ...put[slice_bytes.tz-None-Pair 0 1-None].out | 33 - ...s.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out | 38 - ...tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out | 38 - ...z-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out | 38 - ...z-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out | 38 - ...-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out | 38 - ..._bytes.tz-Some 0xaabbcc-Pair 1 3-None].out | 38 - ...aabbccaabbccaabbccaabbccaab.df5895de85.out | 39 - ...d.tz-None-\"Hello\"-(Some \"Hello\")].out" | 23 - ..._id.tz-None-\"abcd\"-(Some \"abcd\")].out" | 23 - ...r 100 -100)-\"1970-01-01T00:03:20Z\"].out" | 36 - ...ir 100 100)-\"1970-01-01T00:00:00Z\"].out" | 36 - ...Pair 100 200000000000000000.3db82d2c25.out | 36 - ...00000 1000000)-(Some (Pair .b461aa042b.out | 69 - ...10000 1010000)-(Some (Pair .1e8cf7679c.out | 69 - ...t_output[uncomb.tz-0-(Pair 1 4 2)-142].out | 52 - ...input_output[unpair.tz-Unit-Unit-Unit].out | 464 ---- ...dpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" | 34 - ...Pair False False)-(Some (Left False))].out | 32 - ... (Pair False True)-(Some (Left True))].out | 32 - ... (Pair True False)-(Some (Left True))].out | 32 - ... (Pair True True)-(Some (Left False))].out | 32 - ...one-Right (Pair 0 0)-(Some (Right 0))].out | 32 - ...one-Right (Pair 0 1)-(Some (Right 1))].out | 32 - ...one-Right (Pair 1 0)-(Some (Right 1))].out | 32 - ...one-Right (Pair 1 1)-(Some (Right 0))].out | 32 - ...-Right (Pair 42 21)-(Some (Right 63))].out | 32 - ...-Right (Pair 42 63)-(Some (Right 21))].out | 32 - ...s::test_hash_consistency_michelson_cli.out | 23 - ...bar\" 5 ; Elt \"foo\" 1 } .480b9afc63.out" | 9 - ...\"foo\" 1 } 1)-10-(Pair { .811573b5a7.out" | 9 - ...eeffect.tz-(Pair {} 0)-10-(Pair {} 0)].out | 9 - ...s.TestContractOpcodes::test_packunpack.out | 114 - tests_python/tests_008/conftest.py | 110 - tests_python/tests_008/contract_paths.py | 20 - tests_python/tests_008/protocol.py | 14 - tests_python/tests_008/test_accuser.py | 123 -- tests_python/tests_008/test_baker_endorser.py | 117 - tests_python/tests_008/test_basic.py | 222 -- tests_python/tests_008/test_binaries.py | 48 - tests_python/tests_008/test_bootstrap.py | 209 -- tests_python/tests_008/test_client.py | 35 - .../tests_008/test_client_without_node.py | 450 ---- tests_python/tests_008/test_codec.py | 23 - tests_python/tests_008/test_contract.py | 1540 ------------- .../tests_008/test_contract_annotations.py | 88 - tests_python/tests_008/test_contract_baker.py | 61 - .../tests_008/test_contract_bls12_381.py | 315 --- .../tests_008/test_contract_macros.py | 447 ---- .../test_contract_onchain_opcodes.py | 1309 ----------- .../tests_008/test_contract_opcodes.py | 1905 ----------------- tests_python/tests_008/test_cors.py | 47 - tests_python/tests_008/test_crypto.py | 47 - .../tests_008/test_double_endorsement.py | 120 -- tests_python/tests_008/test_fa12.py | 352 --- tests_python/tests_008/test_forge_block.py | 46 - tests_python/tests_008/test_fork.py | 85 - tests_python/tests_008/test_injection.py | 103 - tests_python/tests_008/test_many_bakers.py | 40 - tests_python/tests_008/test_many_nodes.py | 63 - tests_python/tests_008/test_mempool.py | 66 - tests_python/tests_008/test_mockup.py | 714 ------ tests_python/tests_008/test_multinode.py | 84 - .../tests_008/test_multinode_snapshot.py | 714 ------ .../test_multinode_storage_reconstruction.py | 176 -- .../tests_008/test_multiple_transfers.py | 133 -- tests_python/tests_008/test_multisig.py | 620 ------ tests_python/tests_008/test_openapi.py | 73 - tests_python/tests_008/test_p2p.py | 81 - tests_python/tests_008/test_programs.py | 97 - .../tests_008/test_proto_demo_counter.py | 88 - .../test_proto_demo_noops_manual_bake.py | 97 - tests_python/tests_008/test_rpc.py | 661 ------ tests_python/tests_008/test_sapling.py | 946 -------- .../tests_008/test_slice_fails_params.txt | 5 - .../tests_008/test_slice_success_params.txt | 1 - tests_python/tests_008/test_tls.py | 23 - tests_python/tests_008/test_voting.py | 287 --- 650 files changed, 10 insertions(+), 57842 deletions(-) delete mode 100644 src/proto_008_PtEdo2Zk/lib_client/test/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/lib_client/test/assert.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_client/test/dune delete mode 100644 src/proto_008_PtEdo2Zk/lib_client/test/test_michelson_v1_macros.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/activation.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/baking.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/combined_operations.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/big_interpreter_stack.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_double.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_drop.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_send.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_state_as_arg.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_push_sapling_state.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_use_existing_state.tz delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/delegation.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/double_baking.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/double_endorsement.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/dune delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/endorsement.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/fixed_point.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/gas_costs.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/gas_properties.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/assert.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune-project delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/expr.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/rewards.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/sapling_helpers.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/test_tez.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/testable.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/tezos-008-PtEdo2Zk-test-helpers.opam delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/interpretation.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/lazy_storage_diff.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/main.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/origination.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/qty.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/reveal.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/rolls.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/script_gas.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/seed.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/test_helpers_rpcs.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/test_sapling.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/transfer.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/typechecking.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/test/voting.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_protocol/tezos-protocol-008-PtEdo2Zk-tests.opam delete mode 100644 tests_python/tests_008/__init__.py delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_legacy_flag.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[None].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized_legacy].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Readable].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool bytes)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list nat].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[nat].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool bytes].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[None].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized_legacy].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Readable].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestScriptHashRegression::test_contract_hash[client_regtest_custom_scrubber0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_fr_bytes_parameters_more_than_32_bytes.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_groth16.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g1.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g2.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_nil.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_one.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_random.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_zero.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_one.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_random.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_zero.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_one.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_random.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_zero.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_signature_aggregation.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[Fr].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpeq.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpge.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpgt.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmple.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmplt.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpneq.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_eq.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_ge.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_gt.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_le.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_lt.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_neq.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_get_add.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_mem.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--build_list.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--carn_and_cdrn.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare_bytes.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--fail.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--guestbook.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--macro_annotations.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--map_caddaadr.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--max_in_list.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--min.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--pair_macro.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--set_caddaadr.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--take_my_money.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--unpair_macro.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_diff.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_id.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_diff.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_id.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_contract_fails.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_gen_keys.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_now.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_self.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_sender.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0 \"spsig1PPUFZucuAQybs5wsqs.818025e860.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.2d6806d54e.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.378d03ae2d.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.57fdc7ad1c.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75.c583c796bf.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.ed8a8c90dc.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.4ba77dda56.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.662e6b84f7.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7806be875b.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7beec6cc30.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.2e17580138.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.ae2570aa95.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.7085ccc339.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".75aa05c5ef.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.ce376412b0.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .0689a9f5c7.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .28027e7c51.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .5b9b4f4add.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .923a9b1a0c.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .e075542e26.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .f2ff59db97.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Left Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Right Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 1 257))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 123 257))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 1 257))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 123 257))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.4c10105111.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.00a32294a4.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .47f32b8f4c.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.db0e6941b3.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.79a01c2ffd.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.4c96f27113.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.7a576099dd.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.a78f9cbe43.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.eb161b3e7b.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.09d8aca862.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.8c67185afa.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.288a17ed5b.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.359cf3d084.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.1c70ed3ee1.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.4df68c50c9.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))1].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.712049bd7b.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.b18ef3a371.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.d04a6af348.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".1ae65b36c3.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".59ffcc6af5.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 0 (Some False))].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out delete mode 100644 "tests_python/tests_008/_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" delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dropn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_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 delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_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 delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" delete mode 100644 "tests_python/tests_008/_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" delete mode 100644 "tests_python/tests_008/_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" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_hash_consistency_michelson_cli.out delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"bar\" 5 ; Elt \"foo\" 1 } .480b9afc63.out" delete mode 100644 "tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"foo\" 1 } 1)-10-(Pair { .811573b5a7.out" delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair {} 0)-10-(Pair {} 0)].out delete mode 100644 tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out delete mode 100644 tests_python/tests_008/conftest.py delete mode 100644 tests_python/tests_008/contract_paths.py delete mode 100644 tests_python/tests_008/protocol.py delete mode 100644 tests_python/tests_008/test_accuser.py delete mode 100644 tests_python/tests_008/test_baker_endorser.py delete mode 100644 tests_python/tests_008/test_basic.py delete mode 100644 tests_python/tests_008/test_binaries.py delete mode 100644 tests_python/tests_008/test_bootstrap.py delete mode 100644 tests_python/tests_008/test_client.py delete mode 100644 tests_python/tests_008/test_client_without_node.py delete mode 100644 tests_python/tests_008/test_codec.py delete mode 100644 tests_python/tests_008/test_contract.py delete mode 100644 tests_python/tests_008/test_contract_annotations.py delete mode 100644 tests_python/tests_008/test_contract_baker.py delete mode 100644 tests_python/tests_008/test_contract_bls12_381.py delete mode 100644 tests_python/tests_008/test_contract_macros.py delete mode 100644 tests_python/tests_008/test_contract_onchain_opcodes.py delete mode 100644 tests_python/tests_008/test_contract_opcodes.py delete mode 100644 tests_python/tests_008/test_cors.py delete mode 100644 tests_python/tests_008/test_crypto.py delete mode 100644 tests_python/tests_008/test_double_endorsement.py delete mode 100644 tests_python/tests_008/test_fa12.py delete mode 100755 tests_python/tests_008/test_forge_block.py delete mode 100644 tests_python/tests_008/test_fork.py delete mode 100644 tests_python/tests_008/test_injection.py delete mode 100644 tests_python/tests_008/test_many_bakers.py delete mode 100644 tests_python/tests_008/test_many_nodes.py delete mode 100644 tests_python/tests_008/test_mempool.py delete mode 100644 tests_python/tests_008/test_mockup.py delete mode 100644 tests_python/tests_008/test_multinode.py delete mode 100644 tests_python/tests_008/test_multinode_snapshot.py delete mode 100644 tests_python/tests_008/test_multinode_storage_reconstruction.py delete mode 100644 tests_python/tests_008/test_multiple_transfers.py delete mode 100644 tests_python/tests_008/test_multisig.py delete mode 100644 tests_python/tests_008/test_openapi.py delete mode 100644 tests_python/tests_008/test_p2p.py delete mode 100644 tests_python/tests_008/test_programs.py delete mode 100644 tests_python/tests_008/test_proto_demo_counter.py delete mode 100644 tests_python/tests_008/test_proto_demo_noops_manual_bake.py delete mode 100644 tests_python/tests_008/test_rpc.py delete mode 100644 tests_python/tests_008/test_sapling.py delete mode 100644 tests_python/tests_008/test_slice_fails_params.txt delete mode 100644 tests_python/tests_008/test_slice_success_params.txt delete mode 100755 tests_python/tests_008/test_tls.py delete mode 100644 tests_python/tests_008/test_voting.py diff --git a/.gitlab/ci/integration.yml b/.gitlab/ci/integration.yml index 5a8bd206131c..9603feb8682a 100644 --- a/.gitlab/ci/integration.yml +++ b/.gitlab/ci/integration.yml @@ -134,96 +134,6 @@ integration:sandboxes:daemons-upgrade: # this section is updated using the script scripts/update_integration_test.sh ##BEGIN_INTEGRATION_PYTHON## -integration:008_batch: - extends: .integration_python_template - script: - - poetry run pytest "tests_008" --exitfirst -m "not slow" -s --log-dir=tmp "--junitxml=reports/008_batch.xml" 2>&1 | tee "tmp/008_batch.out" | tail - stage: test - -integration:008_baker_endorser: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_baker_endorser.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_baker_endorser.xml" 2>&1 | tee "tmp/008_baker_endorser.out" | tail - stage: test - -integration:008_bootstrap: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_bootstrap.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_bootstrap.xml" 2>&1 | tee "tmp/008_bootstrap.out" | tail - stage: test - -integration:008_contract: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_contract.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_contract.xml" 2>&1 | tee "tmp/008_contract.out" | tail - stage: test - -integration:008_contract_annotations: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_contract_annotations.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_contract_annotations.xml" 2>&1 | tee "tmp/008_contract_annotations.out" | tail - stage: test - -integration:008_contract_macros: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_contract_macros.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_contract_macros.xml" 2>&1 | tee "tmp/008_contract_macros.out" | tail - stage: test - -integration:008_contract_onchain_opcodes: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_contract_onchain_opcodes.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_contract_onchain_opcodes.xml" 2>&1 | tee "tmp/008_contract_onchain_opcodes.out" | tail - stage: test - -integration:008_contract_opcodes: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_contract_opcodes.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_contract_opcodes.xml" 2>&1 | tee "tmp/008_contract_opcodes.out" | tail - stage: test - -integration:008_forge_block: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_forge_block.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_forge_block.xml" 2>&1 | tee "tmp/008_forge_block.out" | tail - stage: test - -integration:008_many_bakers: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_many_bakers.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_many_bakers.xml" 2>&1 | tee "tmp/008_many_bakers.out" | tail - stage: test - -integration:008_many_nodes: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_many_nodes.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_many_nodes.xml" 2>&1 | tee "tmp/008_many_nodes.out" | tail - stage: test - -integration:008_mempool: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_mempool.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_mempool.xml" 2>&1 | tee "tmp/008_mempool.out" | tail - stage: test - -integration:008_multinode_snapshot: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_multinode_snapshot.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_multinode_snapshot.xml" 2>&1 | tee "tmp/008_multinode_snapshot.out" | tail - stage: test - -integration:008_multinode_storage_reconstruction: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_multinode_storage_reconstruction.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_multinode_storage_reconstruction.xml" 2>&1 | tee "tmp/008_multinode_storage_reconstruction.out" | tail - stage: test - -integration:008_rpc: - extends: .integration_python_template - script: - - poetry run pytest "tests_008/test_rpc.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/008_rpc.xml" 2>&1 | tee "tmp/008_rpc.out" | tail - stage: test - integration:009_batch: extends: .integration_python_template script: diff --git a/.gitlab/ci/opam.yml b/.gitlab/ci/opam.yml index 5a67c595378e..c93563295353 100644 --- a/.gitlab/ci/opam.yml +++ b/.gitlab/ci/opam.yml @@ -31,11 +31,6 @@ ##BEGIN_OPAM_BIN## # this section is updated using the script scripts/update_opam_test.sh -opam-bin:tezos-accuser-008-PtEdo2Zk: - extends: .opam_bin_template - variables: - package: tezos-accuser-008-PtEdo2Zk - opam-bin:tezos-accuser-009-PsFLoren: extends: .opam_bin_template variables: @@ -51,11 +46,6 @@ opam-bin:tezos-accuser-alpha: variables: package: tezos-accuser-alpha -opam-bin:tezos-baker-008-PtEdo2Zk: - extends: .opam_bin_template - variables: - package: tezos-baker-008-PtEdo2Zk - opam-bin:tezos-baker-009-PsFLoren: extends: .opam_bin_template variables: @@ -81,11 +71,6 @@ opam-bin:tezos-codec: variables: package: tezos-codec -opam-bin:tezos-endorser-008-PtEdo2Zk: - extends: .opam_bin_template - variables: - package: tezos-endorser-008-PtEdo2Zk - opam-bin:tezos-endorser-009-PsFLoren: extends: .opam_bin_template variables: @@ -186,11 +171,6 @@ opam:staTz: variables: package: staTz -opam:tezos-008-PtEdo2Zk-test-helpers: - extends: .opam_template - variables: - package: tezos-008-PtEdo2Zk-test-helpers - opam:tezos-009-PsFLoren-test-helpers: extends: .opam_template variables: @@ -201,11 +181,6 @@ opam:tezos-010-PtGRANAD-test-helpers: variables: package: tezos-010-PtGRANAD-test-helpers -opam:tezos-accuser-008-PtEdo2Zk-commands: - extends: .opam_template - variables: - package: tezos-accuser-008-PtEdo2Zk-commands - opam:tezos-accuser-009-PsFLoren-commands: extends: .opam_template variables: @@ -226,16 +201,6 @@ opam:tezos-alpha-test-helpers: variables: package: tezos-alpha-test-helpers -opam:tezos-baking-008-PtEdo2Zk: - extends: .opam_template - variables: - package: tezos-baking-008-PtEdo2Zk - -opam:tezos-baking-008-PtEdo2Zk-commands: - extends: .opam_template - variables: - package: tezos-baking-008-PtEdo2Zk-commands - opam:tezos-baking-009-PsFLoren: extends: .opam_template variables: @@ -616,11 +581,6 @@ opam:tezos-embedded-protocol-genesis-carthagenet: variables: package: tezos-embedded-protocol-genesis-carthagenet -opam:tezos-endorser-008-PtEdo2Zk-commands: - extends: .opam_template - variables: - package: tezos-endorser-008-PtEdo2Zk-commands - opam:tezos-endorser-009-PsFLoren-commands: extends: .opam_template variables: @@ -786,11 +746,6 @@ opam:tezos-protocol-008-PtEdo2Zk-parameters: variables: package: tezos-protocol-008-PtEdo2Zk-parameters -opam:tezos-protocol-008-PtEdo2Zk-tests: - extends: .opam_template - variables: - package: tezos-protocol-008-PtEdo2Zk-tests - opam:tezos-protocol-008-PtEdoTez: extends: .opam_template variables: diff --git a/.gitlab/ci/unittest.yml b/.gitlab/ci/unittest.yml index 3629932ae27b..87b7f48ad7f2 100644 --- a/.gitlab/ci/unittest.yml +++ b/.gitlab/ci/unittest.yml @@ -36,14 +36,8 @@ test-script-gen-genesis: expire_in: 1 day when: always -unit:008_PtEdo2Zk: - extends: .unit_test_template - script: - - > - make - src/proto_008_PtEdo2Zk/lib_client.test_proto - src/proto_008_PtEdo2Zk/lib_protocol.test_proto - +# this section is updated using the script scripts/update_unit_test.sh +##BEGIN_UNITTEST## unit:009_PsFLoren: extends: .unit_test_template script: diff --git a/Makefile b/Makefile index 2c0cb40d792a..84e08021b6fc 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ PACKAGES:=$(patsubst %.opam,%,$(notdir $(shell find src vendors -name \*.opam -print))) active_protocol_versions := $(shell cat active_protocol_versions) -active_protocol_directories := $(shell tr -- - _ < active_protocol_versions) +active_protocol_directories := $(shell grep -v PREV active_protocol_versions | tr -- - _) +active_protocol_directories_all := $(shell cat active_protocol_versions | sed -e "s/^PREV //" |tr -- - _) current_opam_version := $(shell opam --version) include scripts/version.sh @@ -47,9 +48,9 @@ endif $(foreach p, $(active_protocol_directories), src/proto_$(p)/bin_baker/main_baker_$(p).exe) \ $(foreach p, $(active_protocol_directories), src/proto_$(p)/bin_endorser/main_endorser_$(p).exe) \ $(foreach p, $(active_protocol_directories), src/proto_$(p)/bin_accuser/main_accuser_$(p).exe) \ - $(foreach p, $(active_protocol_directories), src/proto_$(p)/lib_parameters/mainnet-parameters.json) \ - $(foreach p, $(active_protocol_directories), src/proto_$(p)/lib_parameters/sandbox-parameters.json) \ - $(foreach p, $(active_protocol_directories), src/proto_$(p)/lib_parameters/test-parameters.json) + $(foreach p, $(active_protocol_directories_all), src/proto_$(p)/lib_parameters/mainnet-parameters.json) \ + $(foreach p, $(active_protocol_directories_all), src/proto_$(p)/lib_parameters/sandbox-parameters.json) \ + $(foreach p, $(active_protocol_directories_all), src/proto_$(p)/lib_parameters/test-parameters.json) @cp -f _build/default/src/bin_node/main.exe tezos-node @cp -f _build/default/src/bin_validation/main_validator.exe tezos-validator @cp -f _build/default/src/bin_client/main_client.exe tezos-client @@ -63,6 +64,8 @@ endif cp -f _build/default/src/proto_$$p/bin_baker/main_baker_$$p.exe tezos-baker-`echo $$p | tr -- _ -` ; \ cp -f _build/default/src/proto_$$p/bin_endorser/main_endorser_$$p.exe tezos-endorser-`echo $$p | tr -- _ -` ; \ cp -f _build/default/src/proto_$$p/bin_accuser/main_accuser_$$p.exe tezos-accuser-`echo $$p | tr -- _ -` ; \ + done + @for p in $(active_protocol_directories_all) ; do \ mkdir -p src/proto_$$p/parameters ; \ cp -f _build/default/src/proto_$$p/lib_parameters/sandbox-parameters.json src/proto_$$p/parameters/sandbox-parameters.json ; \ cp -f _build/default/src/proto_$$p/lib_parameters/test-parameters.json src/proto_$$p/parameters/test-parameters.json ; \ diff --git a/active_protocol_versions b/active_protocol_versions index 7ea3ee3a0a4d..09e3d1401aff 100644 --- a/active_protocol_versions +++ b/active_protocol_versions @@ -1,4 +1,4 @@ -008-PtEdo2Zk +PREV 008-PtEdo2Zk 009-PsFLoren 010-PtGRANAD alpha diff --git a/src/proto_008_PtEdo2Zk/lib_client/test/.ocamlformat b/src/proto_008_PtEdo2Zk/lib_client/test/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_client/test/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/lib_client/test/assert.ml b/src/proto_008_PtEdo2Zk/lib_client/test/assert.ml deleted file mode 100644 index 3d414c2eafa9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_client/test/assert.ml +++ /dev/null @@ -1,37 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -let fail expected given msg = - Format.kasprintf - Stdlib.failwith - "@[%s@ expected: %s@ got: %s@]" - msg - expected - given - -let default_printer _ = "" - -let equal ?(eq = ( = )) ?(print = default_printer) ?(msg = "") x y = - if not (eq x y) then fail (print x) (print y) msg diff --git a/src/proto_008_PtEdo2Zk/lib_client/test/dune b/src/proto_008_PtEdo2Zk/lib_client/test/dune deleted file mode 100644 index 8a8760ed3280..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_client/test/dune +++ /dev/null @@ -1,12 +0,0 @@ -(tests - (names test_michelson_v1_macros) - (libraries tezos-base - tezos-micheline - tezos-protocol-008-PtEdo2Zk - tezos-client-008-PtEdo2Zk - alcotest-lwt) - (package tezos-client-008-PtEdo2Zk) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_micheline - -open Tezos_client_008_PtEdo2Zk - -open Tezos_protocol_008_PtEdo2Zk))) diff --git a/src/proto_008_PtEdo2Zk/lib_client/test/test_michelson_v1_macros.ml b/src/proto_008_PtEdo2Zk/lib_client/test/test_michelson_v1_macros.ml deleted file mode 100644 index 8cf0fe0b955d..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_client/test/test_michelson_v1_macros.ml +++ /dev/null @@ -1,1357 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* Copyright (c) 2019 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. *) -(* *) -(*****************************************************************************) - -(** Testing - ------- - Component: Client - Invocation: dune build @src/proto_alpha/lib_client/runtest - Dependencies: src/proto_alpha/lib_client/test/assert.ml - Subject: Expansion and unexpansion of Micheline terms. -*) - -open Protocol - -let print expr : string = - expr - |> Micheline_printer.printable (fun s -> s) - |> Format.asprintf "%a" Micheline_printer.print_expr - -(* expands : expression with macros fully expanded *) - -let assert_expands - (original : (Micheline_parser.location, string) Micheline.node) - (expanded : (Micheline_parser.location, string) Micheline.node) = - let ({Michelson_v1_parser.expanded = expansion; _}, errors) = - let source = print (Micheline.strip_locations original) in - Michelson_v1_parser.expand_all ~source ~original - in - match errors with - | [] -> - Assert.equal - ~print - (Michelson_v1_primitives.strings_of_prims expansion) - (Micheline.strip_locations expanded) ; - ok () - | errors -> Error errors - -(****************************************************************************) - -open Micheline - -let zero_loc = Micheline_parser.location_zero - -let left_branch = Seq (zero_loc, [Prim (zero_loc, "SWAP", [], [])]) - -let right_branch = Seq (zero_loc, []) - -(***************************************************************************) -(* Test expands *) -(***************************************************************************) - -(** [prim_name] is the syntactic sugar to be expanded, while [compare_name] - is syntactic atom. *) -let assert_compare_macro prim_name compare_name = - assert_expands - (Prim (zero_loc, prim_name, [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "COMPARE", [], []); - Prim (zero_loc, compare_name, [], []); - ] )) - -(** Expand "COMP{EQ|NEQ|LT|GT|LE|GE}" - into "COMPARE ; {EQ|NEQ|LT|GT|LE|GE}". -*) -let test_compare_marco_expansion () = - assert_compare_macro "CMPEQ" "EQ" >>? fun () -> - assert_compare_macro "CMPNEQ" "NEQ" >>? fun () -> - assert_compare_macro "CMPLT" "LT" >>? fun () -> - assert_compare_macro "CMPGT" "GT" >>? fun () -> - assert_compare_macro "CMPLE" "LE" >>? fun () -> - assert_compare_macro "CMPGE" "GE" - -let assert_if_macro prim_name compare_name = - assert_expands - (Prim (zero_loc, prim_name, [left_branch; right_branch], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, compare_name, [], []); - Prim (zero_loc, "IF", [left_branch; right_branch], []); - ] )) - -(** Expand "IF{EQ|NEQ|LT|GT|LE|GE}" - into "{EQ|NEQ|LT|GT|LE|GE} ; IF" -*) -let test_if_compare_macros_expansion () = - assert_if_macro "IFEQ" "EQ" >>? fun () -> - assert_if_macro "IFNEQ" "NEQ" >>? fun () -> - assert_if_macro "IFLT" "LT" >>? fun () -> - assert_if_macro "IFGT" "GT" >>? fun () -> - assert_if_macro "IFLE" "LE" >>? fun () -> assert_if_macro "IFGE" "GE" - -let assert_if_cmp_macros prim_name compare_name = - assert_expands - (Prim (zero_loc, prim_name, [left_branch; right_branch], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "COMPARE", [], []); - Prim (zero_loc, compare_name, [], []); - Prim (zero_loc, "IF", [left_branch; right_branch], []); - ] )) - -(** Expand "IF{EQ|NEQ|LT|GT|LE|GE}" - into "{EQ|NEQ|LT|GT|LE|GE} ; IF" -*) -let test_if_cmp_macros_expansion () = - assert_if_cmp_macros "IFCMPEQ" "EQ" >>? fun () -> - assert_if_cmp_macros "IFCMPNEQ" "NEQ" >>? fun () -> - assert_if_cmp_macros "IFCMPLT" "LT" >>? fun () -> - assert_if_cmp_macros "IFCMPGT" "GT" >>? fun () -> - assert_if_cmp_macros "IFCMPLE" "LE" >>? fun () -> - assert_if_cmp_macros "IFCMPGE" "GE" - -(****************************************************************************) -(* Fail *) - -(** Expand "FAIL" - into "UNIT ; FAILWITH" -*) -let test_fail_expansion () = - assert_expands - (Prim (zero_loc, "FAIL", [], [])) - (Seq - ( zero_loc, - [Prim (zero_loc, "UNIT", [], []); Prim (zero_loc, "FAILWITH", [], [])] - )) - -(**********************************************************************) -(* assertion *) - -let seq_unit_failwith = - Seq - ( zero_loc, - [Prim (zero_loc, "UNIT", [], []); Prim (zero_loc, "FAILWITH", [], [])] ) - -(* {} {FAIL} *) -let fail_false = [Seq (zero_loc, []); Seq (zero_loc, [seq_unit_failwith])] - -(* {FAIL} {} *) -let fail_true = [Seq (zero_loc, [seq_unit_failwith]); Seq (zero_loc, [])] - -(** Expand "ASSERT" - into "IF {} {FAIL}" -*) -let test_assert_expansion () = - assert_expands - (Prim (zero_loc, "ASSERT", [], [])) - (Seq (zero_loc, [Prim (zero_loc, "IF", fail_false, [])])) - -let assert_assert_if_compare prim_name compare_name = - assert_expands - (Prim (zero_loc, prim_name, [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, compare_name, [], []); - Prim (zero_loc, "IF", fail_false, []); - ] )) - -(** Expand "ASSERT_{EQ|NEQ|LT|GT|LE|GE}" - into "{EQ|NEQ|LT|GT|LE|GE} ; IF {} {FAIL}" -*) -let test_assert_if () = - assert_assert_if_compare "ASSERT_EQ" "EQ" >>? fun () -> - assert_assert_if_compare "ASSERT_NEQ" "NEQ" >>? fun () -> - assert_assert_if_compare "ASSERT_LT" "LT" >>? fun () -> - assert_assert_if_compare "ASSERT_LE" "LE" >>? fun () -> - assert_assert_if_compare "ASSERT_GT" "GT" >>? fun () -> - assert_assert_if_compare "ASSERT_GE" "GE" - -let assert_cmp_if prim_name compare_name = - assert_expands - (Prim (zero_loc, prim_name, [], [])) - (Seq - ( zero_loc, - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "COMPARE", [], []); - Prim (zero_loc, compare_name, [], []); - ] ); - Prim (zero_loc, "IF", fail_false, []); - ] )) - -(** Expand "ASSERT_CMP{EQ|NEQ|LT|GT|LE|GE}" - into "COMPARE ; {EQ|NEQ|LT|GT|LE|GE} ; IF {} {FAIL}" -*) -let test_assert_cmp_if () = - assert_cmp_if "ASSERT_CMPEQ" "EQ" >>? fun () -> - assert_cmp_if "ASSERT_CMPNEQ" "NEQ" >>? fun () -> - assert_cmp_if "ASSERT_CMPLT" "LT" >>? fun () -> - assert_cmp_if "ASSERT_CMPLE" "LE" >>? fun () -> - assert_cmp_if "ASSERT_CMPGT" "GT" >>? fun () -> - assert_cmp_if "ASSERT_CMPGE" "GE" - -(* The work of merge request !628 - > ASSERT_LEFT @x => IF_LEFT {RENAME @x} {FAIL} - > ASSERT_RIGHT @x => IF_LEFT {FAIL} {RENAME @x} - > ASSERT_SOME @x => IF_NONE {FAIL} {RENAME @x} -*) - -let may_rename annot = Seq (zero_loc, [Prim (zero_loc, "RENAME", [], annot)]) - -let fail_false_may_rename = - [ - may_rename ["@annot"]; - Seq - ( zero_loc, - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "UNIT", [], []); - Prim (zero_loc, "FAILWITH", [], []); - ] ); - ] ); - ] - -let fail_true_may_rename = - [ - Seq - ( zero_loc, - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "UNIT", [], []); - Prim (zero_loc, "FAILWITH", [], []); - ] ); - ] ); - may_rename ["@annot"]; - ] - -(** Expand "ASSERT_SOME @annot" - into "IF_NONE { } {UNIT;FAILWITH}" - using variable annotation "@annot" -*) -let test_assert_some_annot () = - assert_expands - (Prim (zero_loc, "ASSERT_SOME", [], ["@annot"])) - (Seq (zero_loc, [Prim (zero_loc, "IF_NONE", fail_true_may_rename, [])])) - -(** Expand "ASSERT_SOME" - into "IF_NONE { UNIT;FAILWITH } { }" -*) -let test_assert_some () = - assert_expands - (Prim (zero_loc, "ASSERT_SOME", [], [])) - (Seq (zero_loc, [Prim (zero_loc, "IF_NONE", fail_true, [])])) - -(** Expand "ASSERT_LEFT @annot" - into "IF_LEFT { } {UNIT;FAILWITH}" - using variable annotation "@annot" -*) -let test_assert_left_annot () = - assert_expands - (Prim (zero_loc, "ASSERT_LEFT", [], ["@annot"])) - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_false_may_rename, [])])) - -(** Expand "ASSERT_LEFT" - into "IF_LEFT { } {UNIT;FAILWITH}" -*) -let test_assert_left () = - assert_expands - (Prim (zero_loc, "ASSERT_LEFT", [], [])) - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_false, [])])) - -(** Expand "ASSERT_RIGHT @annot" - into "IF_LEFT {UNIT;FAILWITH} { }" - using variable annotation "@annot" -*) -let test_assert_right_annot () = - assert_expands - (Prim (zero_loc, "ASSERT_RIGHT", [], ["@annot"])) - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_true_may_rename, [])])) - -(** Expand "ASSERT_RIGHT" - into "IF_LEFT {UNIT;FAILWITH} { }" -*) -let test_assert_right () = - assert_expands - (Prim (zero_loc, "ASSERT_RIGHT", [], [])) - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_true, [])])) - -(** Expand "ASSERT_NONE" - into "IF_NONE { } { UNIT;FAILWITH }" -*) -let test_assert_none () = - assert_expands - (Prim (zero_loc, "ASSERT_NONE", [], [])) - (Seq (zero_loc, [Prim (zero_loc, "IF_NONE", fail_false, [])])) - -(***********************************************************************) -(*Syntactic Conveniences*) - -(* diip *) - -(** Expand "DIP" into "DIP". - Expand "DIIIIIIIIP" into "DIP 8". - Expand "DIIP" into "DIP 2". -*) -let test_diip () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - assert_expands - (Prim (zero_loc, "DIP", [code], [])) - (Prim (zero_loc, "DIP", [code], [])) - >>? fun () -> - assert_expands - (Prim (zero_loc, "DIIIIIIIIP", [code], [])) - (Prim (zero_loc, "DIP", [Int (zero_loc, Z.of_int 8); code], [])) - >>? fun () -> - assert_expands - (Prim (zero_loc, "DIIP", [code], [])) - (Prim (zero_loc, "DIP", [Int (zero_loc, Z.of_int 2); code], [])) - -(* pair *) - -(** Expand "PAIR" - into "PAIR" -*) -let test_pair () = - assert_expands - (Prim (zero_loc, "PAIR", [], [])) - (Prim (zero_loc, "PAIR", [], [])) - -(** Expand "PAPPAIIR" - into "DIP {PAIR}; DIP {PAIR}; PAIR" -*) -let test_pappaiir () = - let pair = Prim (zero_loc, "PAIR", [], []) in - assert_expands - (Prim (zero_loc, "PAPPAIIR", [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DIP", [Seq (zero_loc, [pair])], []); - Prim (zero_loc, "DIP", [Seq (zero_loc, [pair])], []); - pair; - ] )) - -(* unpair *) - -(** Expand "UNPAIR" - into "DUP ; CAR ; DIP {CDR}" -*) -let test_unpair () = - assert_expands - (Prim (zero_loc, "UNPAIR", [], [])) - (Prim (zero_loc, "UNPAIR", [], [])) - -(* duup *) - -(** Expand "DUUP" - into "DIP {DUP} ; SWAP" -*) -let test_duup () = - assert_expands - (Prim (zero_loc, "DUUP", [], [])) - (Prim (zero_loc, "DUP", [Int (zero_loc, Z.of_int 2)], [])) - -(* car/cdr *) - -(** Expand "CAR" into "CAR" - Expand "CDR" into "CDR" - Expand "CADR" into "CAR ; CDR" - Expand "CDAR" into "CDR ; CAR" -*) -let test_caddadr_expansion () = - let car = Prim (zero_loc, "CAR", [], []) in - assert_expands (Prim (zero_loc, "CAR", [], [])) car >>? fun () -> - let cdr = Prim (zero_loc, "CDR", [], []) in - assert_expands (Prim (zero_loc, "CDR", [], [])) cdr >>? fun () -> - assert_expands (Prim (zero_loc, "CADR", [], [])) (Seq (zero_loc, [car; cdr])) - >>? fun () -> - assert_expands (Prim (zero_loc, "CDAR", [], [])) (Seq (zero_loc, [cdr; car])) - -let test_carn_cdrn_expansion () = - let car n = Prim (zero_loc, "CAR", [Int (zero_loc, Z.of_int n)], []) in - let cdr n = Prim (zero_loc, "CDR", [Int (zero_loc, Z.of_int n)], []) in - let get n = - Seq (zero_loc, [Prim (zero_loc, "GET", [Int (zero_loc, Z.of_int n)], [])]) - in - assert_expands (cdr 0) (get 0) >>? fun () -> - assert_expands (car 0) (get 1) >>? fun () -> - assert_expands (cdr 1) (get 2) >>? fun () -> - assert_expands (car 1) (get 3) >>? fun () -> assert_expands (cdr 2) (get 4) - -(* if_some *) - -(** Expand "IF_SOME { 1 } { 2 }" - into "IF_NONE { 2 } { 1 }" -*) -let test_if_some () = - assert_expands - (Prim (zero_loc, "IF_SOME", [right_branch; left_branch], [])) - (Seq - (zero_loc, [Prim (zero_loc, "IF_NONE", [left_branch; right_branch], [])])) - -(*set_caddadr*) - -(** Expand "SET_CAR" - into "CDR; SWAP; PAIR" -*) -let test_set_car_expansion () = - assert_expands - (Prim (zero_loc, "SET_CAR", [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%"; "%@"]); - ] )) - -(** Expand "SET_CDR" - into "CAR; PAIR" -*) -let test_set_cdr_expansion () = - assert_expands - (Prim (zero_loc, "SET_CDR", [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] )) - -(** Expand "SET_CADR" - into "DUP; DIP {CAR; { CAR; PAIR }}; CDR; SWAP; PAIR" -*) -let test_set_cadr_expansion () = - let set_car = - Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] ) - in - assert_expands - (Prim (zero_loc, "SET_CADR", [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], ["@%%"]); set_car])], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - -(** Expand "SET_CDAR" - into "DUP; DIP {CDR; { CDR; SWAP; PAIR }}; CAR; PAIR" -*) -let test_set_cdar_expansion () = - let set_cdr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%"; "%@"]); - ] ) - in - assert_expands - (Prim (zero_loc, "SET_CDAR", [], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CDR", [], ["@%%"]); set_cdr])], - [] ); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - -(* TO BE CHANGE IN THE DOCUMENTATION: @MR!791 - FROM: - > MAP_CAR code => DUP ; CDR ; DIP { CAR ; code } ; SWAP ; PAIR - TO: - > MAP_CAR code => DUP ; CDR ; DIP { CAR ; {code} } ; SWAP ; PAIR -*) - -(** Expand "MAP_CAR {CAR}" - into "DUP; CDR; DIP {CAR; CAR}; SWAP; PAIR" -*) -let test_map_car () = - (* code is a sequence *) - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - assert_expands - (Prim (zero_loc, "MAP_CAR", [code], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], []); code])], - [] ); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%"; "%@"]); - ] )) - -(** Expand "MAP_CDR {CAR}" - into "DUP; CDR; CAR; SWAP; CAR; PAIR" -*) -let test_map_cdr () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - assert_expands - (Prim (zero_loc, "MAP_CDR", [code], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], []); - code; - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] )) - -(** Expand "MAP_CAADR {CAR}" - into "DUP; - DIP { CAR; - DUP; - DIP { CAR; - DUP; - CDR; - CAR; - SWAP; - CAR; - PAIR - } - CDR; - SWAP; - PAIR - }; - CDR; - SWAP; - PAIR" -*) -let test_map_caadr () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - let map_cdr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], []); - code; - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] ) - in - let map_cadr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], ["@%%"]); map_cdr])], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] ) - in - assert_expands - (Prim (zero_loc, "MAP_CAADR", [code], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], ["@%%"]); map_cadr])], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - -(** Expand "MAP_CDADR" - into "DUP; - DIP { CDR; - DUP; - DIP { CAR; - DUP; - CDR; - CAR; - SWAP; - CAR; - PAIR - }; - CDR; - CAR; - PAIR - }; - CAR; - PAIR" -*) -let test_map_cdadr () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - let map_cdr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], []); - code; - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] ) - in - let map_cadr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], ["@%%"]); map_cdr])], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] ) - in - assert_expands - (Prim (zero_loc, "MAP_CDADR", [code], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CDR", [], ["@%%"]); map_cadr])], - [] ); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - -(****************************************************************************) -(* Unexpand tests *) -(****************************************************************************) - -(** Asserts that unexpanding the expression [original] conforms with - the canonical form of [ex]. - [unparse.Michelson_v1_parser.unexpanded] contains the original - expression with macros *) -let assert_unexpansion original ex = - let ({Michelson_v1_parser.expanded; _}, errors) = - let source = print (Micheline.strip_locations original) in - Michelson_v1_parser.expand_all ~source ~original - in - let unparse = Michelson_v1_printer.unparse_expression expanded in - match errors with - | [] -> - Assert.equal - ~print - unparse.Michelson_v1_parser.unexpanded - (Micheline.strip_locations ex) ; - ok () - | _ :: _ -> Error errors - -let assert_unexpansion_consistent original = - let ({Michelson_v1_parser.expanded; _}, errors) = - let source = print (Micheline.strip_locations original) in - Michelson_v1_parser.expand_all ~source ~original - in - match errors with - | _ :: _ -> Error errors - | [] -> - let {Michelson_v1_parser.unexpanded; _} = - Michelson_v1_printer.unparse_expression expanded - in - Assert.equal ~print unexpanded (Micheline.strip_locations original) ; - ok () - -(** Unexpanding "UNIT; FAILWITH" - yields "FAIL" -*) -let test_unexpand_fail () = - assert_unexpansion - (Seq - ( zero_loc, - [Prim (zero_loc, "UNIT", [], []); Prim (zero_loc, "FAILWITH", [], [])] - )) - (Prim (zero_loc, "FAIL", [], [])) - -(** Unexpanding "IF_LEFT { 1 } { 2 }" - yields "IF_RIGHT { 2 } { 1 }" -*) -let test_unexpand_if_right () = - assert_unexpansion - (Seq - (zero_loc, [Prim (zero_loc, "IF_LEFT", [left_branch; right_branch], [])])) - (Prim (zero_loc, "IF_RIGHT", [right_branch; left_branch], [])) - -(** IF_NONE - Unexpanding "IF_NONE { 1 } { 2 }" - yields "IF_SOME { 2 } { 1 }" -*) -let test_unexpand_if_some () = - assert_unexpansion - (Seq - (zero_loc, [Prim (zero_loc, "IF_NONE", [left_branch; right_branch], [])])) - (Prim (zero_loc, "IF_SOME", [right_branch; left_branch], [])) - -(** Unexpanding "IF {} { UNIT; FAILWITH }" - yields "ASSERT" -*) -let test_unexpand_assert () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF", fail_false, [])])) - (Prim (zero_loc, "ASSERT", [], [])) - -let assert_unexpansion_assert_if_compare compare_name prim_name = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, compare_name, [], []); - Prim (zero_loc, "IF", fail_false, []); - ] )) - (Prim (zero_loc, prim_name, [], [])) - -(** Unexpanding "{EQ|NEQ|LT|LE|GT|GE} ; IF {} {FAIL}" - yields "ASSERT_{EQ|NEQ|LT|LE|GT|GE}" -*) -let test_unexpand_assert_if () = - assert_unexpansion_assert_if_compare "EQ" "ASSERT_EQ" >>? fun () -> - assert_unexpansion_assert_if_compare "NEQ" "ASSERT_NEQ" >>? fun () -> - assert_unexpansion_assert_if_compare "LT" "ASSERT_LT" >>? fun () -> - assert_unexpansion_assert_if_compare "LE" "ASSERT_LE" >>? fun () -> - assert_unexpansion_assert_if_compare "GT" "ASSERT_GT" >>? fun () -> - assert_unexpansion_assert_if_compare "GE" "ASSERT_GE" - -let assert_unexpansion_assert_cmp_if_compare compare_name prim_name = - assert_unexpansion - (Seq - ( zero_loc, - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "COMPARE", [], []); - Prim (zero_loc, compare_name, [], []); - ] ); - Prim (zero_loc, "IF", fail_false, []); - ] )) - (Prim (zero_loc, prim_name, [], [])) - -(** Unexpanding "COMPARE; {EQ|NEQ|LT|LE|GT|GE}; IF {} {FAIL}" - yields "ASSERT_CMP{EQ|NEQ|LT|LE|GT|GE}" -*) -let test_unexpansion_assert_cmp_if () = - assert_unexpansion_assert_cmp_if_compare "EQ" "ASSERT_CMPEQ" >>? fun () -> - assert_unexpansion_assert_cmp_if_compare "NEQ" "ASSERT_CMPNEQ" >>? fun () -> - assert_unexpansion_assert_cmp_if_compare "LT" "ASSERT_CMPLT" >>? fun () -> - assert_unexpansion_assert_cmp_if_compare "LE" "ASSERT_CMPLE" >>? fun () -> - assert_unexpansion_assert_cmp_if_compare "GT" "ASSERT_CMPGT" >>? fun () -> - assert_unexpansion_assert_cmp_if_compare "GE" "ASSERT_CMPGE" - -(** Unexpanding "IF_NONE { FAIL } { RENAME @annot }" - yields "ASSERT_SOME @annot" -*) -let test_unexpand_assert_some_annot () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_NONE", fail_true_may_rename, [])])) - (Prim (zero_loc, "ASSERT_SOME", [], ["@annot"])) - -(** Unexpanding "IF_LEFT { RENAME @annot } { FAIL }" - yields "ASSERT_LEFT @annot" -*) -let test_unexpand_assert_left_annot () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_false_may_rename, [])])) - (Prim (zero_loc, "ASSERT_LEFT", [], ["@annot"])) - -(** Unexpanding "IF_LEFT { FAIL } { RENAME @annot }" - yields "ASSERT_RIGHT @annot" -*) -let test_unexpand_assert_right_annot () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_true_may_rename, [])])) - (Prim (zero_loc, "ASSERT_RIGHT", [], ["@annot"])) - -(** Unexpanding "IF_NONE {} { FAIL }" - yields "ASSERT_NONE" -*) -let test_unexpand_assert_none () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_NONE", fail_false, [])])) - (Prim (zero_loc, "ASSERT_NONE", [], [])) - -(** Unexpanding "IF_NONE { FAIL } {}" - yields "ASSERT_SOME" -*) -let test_unexpand_assert_some () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_NONE", fail_true, [])])) - (Prim (zero_loc, "ASSERT_SOME", [], [])) - -(** Unexpanding "IF_LEFT {} { FAIL }" - yields "ASSERT_LEFT" -*) -let test_unexpand_assert_left () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_false, [])])) - (Prim (zero_loc, "ASSERT_LEFT", [], [])) - -(** Unexpanding "IF_LEFT { FAIL } {}" - yields "ASSERT_RIGHT" -*) -let test_unexpand_assert_right () = - assert_unexpansion - (Seq (zero_loc, [Prim (zero_loc, "IF_LEFT", fail_true, [])])) - (Prim (zero_loc, "ASSERT_RIGHT", [], [])) - -(** Unexpanding "DUP; CAR; DIP { CDR }" - yields "UNPAIR" -*) -let test_unexpand_unpair () = - assert_unexpansion - (Prim (zero_loc, "UNPAIR", [], [])) - (Prim (zero_loc, "UNPAIR", [], [])) - -(** Unexpanding "PAIR" - yields "PAIR" -*) -let test_unexpand_pair () = - assert_unexpansion - (Prim (zero_loc, "PAIR", [], [])) - (Prim (zero_loc, "PAIR", [], [])) - -(** Unexpanding "DIP { PAIR }; DIP { PAIR }; PAIR" - yields "PAPPAIIR" -*) -let test_unexpand_pappaiir () = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "PAIR", [], [])])], - [] ); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "PAIR", [], [])])], - [] ); - Prim (zero_loc, "PAIR", [], []); - ] )) - (Prim (zero_loc, "PAPPAIIR", [], [])) - -(** Unexpanding "DIP { DUP }; SWAP" - yields "DUP 2" -*) -let test_unexpand_duup () = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "DUP", [], [])])], - [] ); - Prim (zero_loc, "SWAP", [], []); - ] )) - (Prim (zero_loc, "DUP", [Int (zero_loc, Z.of_int 2)], [])) - -(** Unexpanding "CAR" yields "CAR" - Unexpanding "CDR" yields "CDR" - Unexpanding "CAR; CDR" yields "CADR" - Unexpanding "CDR; CAR" yields "CDAR" -*) -let test_unexpand_caddadr () = - let car = Prim (zero_loc, "CAR", [], []) in - let cdr = Prim (zero_loc, "CDR", [], []) in - assert_unexpansion (Seq (zero_loc, [car])) car >>? fun () -> - assert_unexpansion (Seq (zero_loc, [cdr])) cdr >>? fun () -> - assert_unexpansion - (Seq (zero_loc, [car; cdr])) - (Prim (zero_loc, "CADR", [], [])) - >>? fun () -> - assert_unexpansion - (Seq (zero_loc, [cdr; car])) - (Prim (zero_loc, "CDAR", [], [])) - -let test_unexpand_carn_cdrn () = - let car n = Prim (zero_loc, "CAR", [Int (zero_loc, Z.of_int n)], []) in - let cdr n = Prim (zero_loc, "CDR", [Int (zero_loc, Z.of_int n)], []) in - let get n = - Seq (zero_loc, [Prim (zero_loc, "GET", [Int (zero_loc, Z.of_int n)], [])]) - in - assert_unexpansion (get 0) (cdr 0) >>? fun () -> - assert_unexpansion (get 1) (car 0) >>? fun () -> - assert_unexpansion (get 2) (cdr 1) >>? fun () -> - assert_unexpansion (get 3) (car 1) >>? fun () -> - assert_unexpansion (get 4) (cdr 2) - -(** Unexpanding "CDR; SWAP; PAIR" - yields "SET_CAR" -*) -let test_unexpand_set_car () = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%"; "%@"]); - ] )) - (Prim (zero_loc, "SET_CAR", [], [])) - -(** Unexpanding "CAR; PAIR" - yields "SET_CDR" -*) -let test_unexpand_set_cdr () = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] )) - (Prim (zero_loc, "SET_CDR", [], [])) - -(** Unexpanding "DUP; CAR; DROP; CDR; SWAP; PAIR" - yields "SET_CAR" -*) -let test_unexpand_set_car_annot () = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CAR", [], ["%@"]); - Prim (zero_loc, "DROP", [], []); - Prim (zero_loc, "CDR", [], []); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], []); - ] )) - (Prim (zero_loc, "SET_CAR", [], ["%@"])) - -(** Unexpanding "DUP; CDR; DROP; CAR; PAIR" - yields "SET_CDR" -*) -let test_unexpand_set_cdr_annot () = - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], ["%@"]); - Prim (zero_loc, "DROP", [], []); - Prim (zero_loc, "CAR", [], []); - Prim (zero_loc, "PAIR", [], []); - ] )) - (Prim (zero_loc, "SET_CDR", [], ["%@"])) - -(** Unexpanding "DUP; DIP { CAR; CAR; PAIR }; CDR; SWAP; PAIR" - yields "SET_CADR" -*) -let test_unexpand_set_cadr () = - let set_car = - Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] ) - in - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], ["@%%"]); set_car])], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - (Prim (zero_loc, "SET_CADR", [], [])) - -let test_unexpand_set_cdar () = - let set_cdr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%"; "%@"]); - ] ) - in - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CDR", [], ["@%%"]); set_cdr])], - [] ); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - (Prim (zero_loc, "SET_CDAR", [], [])) - -(* FIXME: Seq()(Prim): does not parse, raise an error unparse *) -let test_unexpand_map_car () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - assert_unexpansion - (Prim (zero_loc, "MAP_CAR", [code], [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim - ( zero_loc, - "DIP", - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], []); - Prim (zero_loc, "CAR", [], []); - ] ); - ], - [] ); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%"; "%@"]); - ] )) - -(***********************************************************************) -(*BUG: DIIP and the test with MAP_CDR: or any map with "D" inside fail *) - -let test_unexpand_diip () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - assert_unexpansion - (Prim (zero_loc, "DIIP", [code], [])) - (Prim (zero_loc, "DIP", [Int (zero_loc, Z.of_int 2); code], [])) - -let test_unexpand_map_cdr () = - let code = Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]) in - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], []); - code; - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "CAR", [], []); - Prim (zero_loc, "PAIR", [], []); - ] )) - (Prim (zero_loc, "MAP_CDR", [code], [])) - -let test_unexpand_map_caadr () = - let code = [Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])])] in - let map_cdr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], ["@%%"]); - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], []); - Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] ); - ] ); - ], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] ) - in - assert_unexpansion - (Prim (zero_loc, "MAP_CAAR", code, [])) - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CAR", [], ["@%%"]); map_cdr])], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - -let test_unexpand_map_cdadr () = - let code = [Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])])] in - let map_cdr = - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [ - Seq - ( zero_loc, - [ - Prim (zero_loc, "CAR", [], ["@%%"]); - Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim (zero_loc, "CDR", [], []); - Seq (zero_loc, [Prim (zero_loc, "CAR", [], [])]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%"]); - ] ); - ] ); - ], - [] ); - Prim (zero_loc, "CDR", [], ["@%%"]); - Prim (zero_loc, "SWAP", [], []); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] ) - in - assert_unexpansion - (Seq - ( zero_loc, - [ - Prim (zero_loc, "DUP", [], []); - Prim - ( zero_loc, - "DIP", - [Seq (zero_loc, [Prim (zero_loc, "CDR", [], ["@%%"]); map_cdr])], - [] ); - Prim (zero_loc, "CAR", [], ["@%%"]); - Prim (zero_loc, "PAIR", [], ["%@"; "%@"]); - ] )) - (Prim (zero_loc, "MAP_CDADR", code, [])) - -(** Unexpanding "DIP { DIP { DIP { DUP }; SWAP" - yields "DIIP { DIP { DUP }; SWAP }" -*) -let test_unexpand_diip_duup1 () = - let single code = Seq (zero_loc, [code]) in - let cst str = Prim (zero_loc, str, [], []) in - let app str code = Prim (zero_loc, str, [code], []) in - let dip = app "DIP" in - let diip code = - Prim (zero_loc, "DIP", [Int (zero_loc, Z.of_int 2); code], []) - in - let dup = cst "DUP" in - let swap = cst "SWAP" in - let dip_dup_swap = Seq (zero_loc, [dip (single dup); swap]) in - assert_unexpansion - (* { DIP { DIP { DIP { DUP }; SWAP }}} *) - (single (dip (single (dip dip_dup_swap)))) - (* DIIP { DIP { DUP }; SWAP } *) - (diip dip_dup_swap) - -(** Unexpanding "DIP { DIP {{ DIP { DUP }; SWAP" - yields "DIIP { DUUP }" -*) -let test_unexpand_diip_duup2 () = - let single code = Seq (zero_loc, [code]) in - let cst str = Prim (zero_loc, str, [], []) in - let app str code = Prim (zero_loc, str, [code], []) in - let dip = app "DIP" in - let diip code = - Prim (zero_loc, "DIP", [Int (zero_loc, Z.of_int 2); code], []) - in - let dup = cst "DUP" in - let duup = Prim (zero_loc, "DUP", [Int (zero_loc, Z.of_int 2)], []) in - let swap = cst "SWAP" in - let dip_dup_swap = Seq (zero_loc, [dip (single dup); swap]) in - assert_unexpansion - (* { DIP { DIP {{ DIP { DUP }; SWAP }}}} *) - (single (dip (single (dip (single dip_dup_swap))))) - (* DIIP { DUUP } *) - (diip (single duup)) - -(*****************************************************************************) -(* Test *) -(*****************************************************************************) - -let tests = - [ - (*compare*) - ("compare expansion", fun _ -> Lwt.return (test_compare_marco_expansion ())); - ( "if compare expansion", - fun _ -> Lwt.return (test_if_compare_macros_expansion ()) ); - ( "if compare expansion: IFCMP", - fun _ -> Lwt.return (test_if_cmp_macros_expansion ()) ); - (*fail*) - ("fail expansion", fun _ -> Lwt.return (test_fail_expansion ())); - (*assertion*) - ("assert expansion", fun _ -> Lwt.return (test_assert_expansion ())); - ("assert if expansion", fun _ -> Lwt.return (test_assert_if ())); - ("assert cmpif expansion", fun _ -> Lwt.return (test_assert_cmp_if ())); - ("assert none expansion", fun _ -> Lwt.return (test_assert_none ())); - ("assert some expansion", fun _ -> Lwt.return (test_assert_some ())); - ("assert left expansion", fun _ -> Lwt.return (test_assert_left ())); - ("assert right expansion", fun _ -> Lwt.return (test_assert_right ())); - ( "assert some annot expansion", - fun _ -> Lwt.return (test_assert_some_annot ()) ); - ( "assert left annot expansion", - fun _ -> Lwt.return (test_assert_left_annot ()) ); - ( "assert right annot expansion", - fun _ -> Lwt.return (test_assert_right_annot ()) ); - (*syntactic conveniences*) - ("diip expansion", fun _ -> Lwt.return (test_diip ())); - ("duup expansion", fun _ -> Lwt.return (test_duup ())); - ("pair expansion", fun _ -> Lwt.return (test_pair ())); - ("pappaiir expansion", fun _ -> Lwt.return (test_pappaiir ())); - ("unpair expansion", fun _ -> Lwt.return (test_unpair ())); - ("caddadr expansion", fun _ -> Lwt.return (test_caddadr_expansion ())); - ( "carn and cdrn expansion", - fun _ -> Lwt.return (test_carn_cdrn_expansion ()) ); - ("if_some expansion", fun _ -> Lwt.return (test_if_some ())); - ("set_car expansion", fun _ -> Lwt.return (test_set_car_expansion ())); - ("set_cdr expansion", fun _ -> Lwt.return (test_set_cdr_expansion ())); - ("set_cadr expansion", fun _ -> Lwt.return (test_set_cadr_expansion ())); - ("set_cdar expansion", fun _ -> Lwt.return (test_set_cdar_expansion ())); - ("map_car expansion", fun _ -> Lwt.return (test_map_car ())); - ("map_cdr expansion", fun _ -> Lwt.return (test_map_cdr ())); - ("map_caadr expansion", fun _ -> Lwt.return (test_map_caadr ())); - ("map_cdadr expansion", fun _ -> Lwt.return (test_map_cdadr ())); - (*Unexpand*) - ("fail unexpansion", fun _ -> Lwt.return (test_unexpand_fail ())); - ("if_right unexpansion", fun _ -> Lwt.return (test_unexpand_if_right ())); - ("if_some unexpansion", fun _ -> Lwt.return (test_unexpand_if_some ())); - ("assert unexpansion", fun _ -> Lwt.return (test_unexpand_assert ())); - ("assert_if unexpansion", fun _ -> Lwt.return (test_unexpand_assert_if ())); - ( "assert_cmp_if unexpansion", - fun _ -> Lwt.return (test_unexpansion_assert_cmp_if ()) ); - ( "assert_none unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_none ()) ); - ( "assert_some unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_some ()) ); - ( "assert_left unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_left ()) ); - ( "assert_right unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_right ()) ); - ( "assert_some annot unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_some_annot ()) ); - ( "assert_left annot unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_left_annot ()) ); - ( "assert_right annot unexpansion", - fun _ -> Lwt.return (test_unexpand_assert_right_annot ()) ); - ("unpair unexpansion", fun _ -> Lwt.return (test_unexpand_unpair ())); - ("pair unexpansion", fun _ -> Lwt.return (test_unexpand_pair ())); - ("pappaiir unexpansion", fun _ -> Lwt.return (test_unexpand_pappaiir ())); - ("duup unexpansion", fun _ -> Lwt.return (test_unexpand_duup ())); - ("caddadr unexpansion", fun _ -> Lwt.return (test_unexpand_caddadr ())); - ( "carn and cdrn unexpansion", - fun _ -> Lwt.return (test_unexpand_carn_cdrn ()) ); - ("set_car unexpansion", fun _ -> Lwt.return (test_unexpand_set_car ())); - ("set_cdr unexpansion", fun _ -> Lwt.return (test_unexpand_set_cdr ())); - ("set_cadr unexpansion", fun _ -> Lwt.return (test_unexpand_set_cadr ())); - ( "set_car annot unexpansion", - fun _ -> Lwt.return (test_unexpand_set_car_annot ()) ); - ( "set_cdr annot unexpansion", - fun _ -> Lwt.return (test_unexpand_set_cdr_annot ()) ); - ("map_car unexpansion", fun _ -> Lwt.return (test_unexpand_map_car ())); - ("diip_duup1 unexpansion", fun _ -> Lwt.return (test_unexpand_diip_duup1 ())); - ("diip_duup2 unexpansion", fun _ -> Lwt.return (test_unexpand_diip_duup2 ())); - (***********************************************************************) - (*BUG - the function in Michelson_v1_macros.unexpand_map_caddadr - failed to test the case with the character "D". - It returns an empty {} for the expand *) - (*"diip unexpansion", (fun _ -> Lwt.return (test_unexpand_diip ())) ;*) - (*"map_cdr unexpansion", (fun _ -> Lwt.return (test_unexpand_map_cdr ())) ;*) - (*"map_caadr unexpansion", (fun _ -> Lwt.return (test_unexpand_map_caadr ())) ;*) - (*"map_cdadr unexpansion", (fun _ -> Lwt.return (test_unexpand_map_cdadr ())) ;*) - ] - -let wrap (n, f) = - Alcotest_lwt.test_case n `Quick (fun _ () -> - f () >>= function - | Ok () -> Lwt.return_unit - | Error error -> - Format.kasprintf Stdlib.failwith "%a" pp_print_error error) - -let () = - Alcotest_lwt.run - ~argv:[|""|] - "tezos-lib-client" - [("micheline v1 macros", List.map wrap tests)] - |> Lwt_main.run diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/.ocamlformat b/src/proto_008_PtEdo2Zk/lib_protocol/test/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/activation.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/activation.ml deleted file mode 100644 index 059e2af15fcf..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/activation.ml +++ /dev/null @@ -1,563 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -(** The activation operation creates an implicit contract from a - registered commitment present in the context. It is parametrized by - a public key hash (pkh) and a secret. - - The commitments are composed of : - - a blinded pkh that can be revealed by the secret ; - - an amount. - - The commitments and the secrets are generated from - /scripts/create_genesis/create_genesis.py and should be coherent. -*) - -open Protocol -open Alpha_context -open Test_tez - -(* Generated commitments and secrets *) - -(* Commitments are hard-coded in {Tezos_proto_alpha_parameters.Default_parameters} *) - -(* let commitments = - * List.map (fun (bpkh, a) -> - * Commitment_repr.{ - * blinded_public_key_hash=Blinded_public_key_hash.of_b58check_exn bpkh ; - * amount = Tez_repr.of_mutez_exn (Int64.of_string a)} - * ) - * [ ( "btz1bRL4X5BWo2Fj4EsBdUwexXqgTf75uf1qa", "23932454669343" ) ; - * ( "btz1SxjV1syBgftgKy721czKi3arVkVwYUFSv", "72954577464032" ) ; - * ( "btz1LtoNCjiW23txBTenALaf5H6NKF1L3c1gw", "217487035428349" ) ; - * ( "btz1SUd3mMhEBcWudrn8u361MVAec4WYCcFoy", "4092742372031" ) ; - * ( "btz1MvBXf4orko1tsGmzkjLbpYSgnwUjEe81r", "17590039016550" ) ; - * ( "btz1LoDZ3zsjgG3k3cqTpUMc9bsXbchu9qMXT", "26322312350555" ) ; - * ( "btz1RMfq456hFV5AeDiZcQuZhoMv2dMpb9hpP", "244951387881443" ) ; - * ( "btz1Y9roTh4A7PsMBkp8AgdVFrqUDNaBE59y1", "80065050465525" ) ; - * ( "btz1Q1N2ePwhVw5ED3aaRVek6EBzYs1GDkSVD", "3569618927693" ) ; - * ( "btz1VFFVsVMYHd5WfaDTAt92BeQYGK8Ri4eLy", "9034781424478" ) ; - * ] *) - -type secret_account = { - account : public_key_hash; - activation_code : Blinded_public_key_hash.activation_code; - amount : Tez.t; -} - -let secrets () = - (* Exported from proto_alpha client - TODO : remove when relocated to lib_crypto *) - let read_key mnemonic email password = - match Tezos_client_base.Bip39.of_words mnemonic with - | None -> assert false - | Some t -> - (* TODO: unicode normalization (NFKD)... *) - let passphrase = Bytes.(cat (of_string email) (of_string password)) in - let sk = Tezos_client_base.Bip39.to_seed ~passphrase t in - let sk = Bytes.sub sk 0 32 in - let sk : Signature.Secret_key.t = - Ed25519 - (Data_encoding.Binary.of_bytes_exn Ed25519.Secret_key.encoding sk) - in - let pk = Signature.Secret_key.to_public_key sk in - let pkh = Signature.Public_key.hash pk in - (pkh, pk, sk) - in - List.map - (fun (mnemonic, secret, amount, pkh, password, email) -> - let (pkh', pk, sk) = read_key mnemonic email password in - let pkh = Signature.Public_key_hash.of_b58check_exn pkh in - assert (Signature.Public_key_hash.equal pkh pkh') ; - let account = Account.{pkh; pk; sk} in - Account.add_account account ; - { - account = account.pkh; - activation_code = Blinded_public_key_hash.activation_code_of_hex secret; - amount = - WithExceptions.Option.to_exn - ~none:(Invalid_argument "tez conversion") - (Tez.of_mutez (Int64.of_string amount)); - }) - [ - ( [ - "envelope"; - "hospital"; - "mind"; - "sunset"; - "cancel"; - "muscle"; - "leisure"; - "thumb"; - "wine"; - "market"; - "exit"; - "lucky"; - "style"; - "picnic"; - "success"; - ], - "0f39ed0b656509c2ecec4771712d9cddefe2afac", - "23932454669343", - "tz1MawerETND6bqJqx8GV3YHUrvMBCDasRBF", - "z0eZHQQGKt", - "cjgfoqmk.wpxnvnup@tezos.example.org" ); - ( [ - "flag"; - "quote"; - "will"; - "valley"; - "mouse"; - "chat"; - "hold"; - "prosper"; - "silk"; - "tent"; - "cruel"; - "cause"; - "demise"; - "bottom"; - "practice"; - ], - "41f98b15efc63fa893d61d7d6eee4a2ce9427ac4", - "72954577464032", - "tz1X4maqF9tC1Yn4jULjHRAyzjAtc25Z68TX", - "MHErskWPE6", - "oklmcktr.ztljnpzc@tezos.example.org" ); - ( [ - "library"; - "away"; - "inside"; - "paper"; - "wise"; - "focus"; - "sweet"; - "expose"; - "require"; - "change"; - "stove"; - "planet"; - "zone"; - "reflect"; - "finger"; - ], - "411dfef031eeecc506de71c9df9f8e44297cf5ba", - "217487035428348", - "tz1SWBY7rWMutEuWS54Pt33MkzAS6eWkUuTc", - "0AO6BzQNfN", - "ctgnkvqm.kvtiybky@tezos.example.org" ); - ( [ - "cruel"; - "fluid"; - "damage"; - "demand"; - "mimic"; - "above"; - "village"; - "alpha"; - "vendor"; - "staff"; - "absent"; - "uniform"; - "fire"; - "asthma"; - "milk"; - ], - "08d7d355bc3391d12d140780b39717d9f46fcf87", - "4092742372031", - "tz1amUjiZaevaxQy5wKn4SSRvVoERCip3nZS", - "9kbZ7fR6im", - "bnyxxzqr.tdszcvqb@tezos.example.org" ); - ( [ - "opera"; - "divorce"; - "easy"; - "myself"; - "idea"; - "aim"; - "dash"; - "scout"; - "case"; - "resource"; - "vote"; - "humor"; - "ticket"; - "client"; - "edge"; - ], - "9b7cad042fba557618bdc4b62837c5f125b50e56", - "17590039016550", - "tz1Zaee3QBtD4ErY1SzqUvyYTrENrExu6yQM", - "suxT5H09yY", - "iilkhohu.otnyuvna@tezos.example.org" ); - ( [ - "token"; - "similar"; - "ginger"; - "tongue"; - "gun"; - "sort"; - "piano"; - "month"; - "hotel"; - "vote"; - "undo"; - "success"; - "hobby"; - "shell"; - "cart"; - ], - "124c0ca217f11ffc6c7b76a743d867c8932e5afd", - "26322312350555", - "tz1geDUUhfXK1EMj7VQdRjug1MoFe6gHWnCU", - "4odVdLykaa", - "kwhlglvr.slriitzy@tezos.example.org" ); - ( [ - "shield"; - "warrior"; - "gorilla"; - "birth"; - "steak"; - "neither"; - "feel"; - "only"; - "liberty"; - "float"; - "oven"; - "extend"; - "pulse"; - "suffer"; - "vapor"; - ], - "ac7a2125beea68caf5266a647f24dce9fea018a7", - "244951387881443", - "tz1h3nY7jcZciJgAwRhWcrEwqfVp7VQoffur", - "A6yeMqBFG8", - "lvrmlbyj.yczltcxn@tezos.example.org" ); - ( [ - "waste"; - "open"; - "scan"; - "tip"; - "subway"; - "dance"; - "rent"; - "copper"; - "garlic"; - "laundry"; - "defense"; - "clerk"; - "another"; - "staff"; - "liar"; - ], - "2b3e94be133a960fa0ef87f6c0922c19f9d87ca2", - "80065050465525", - "tz1VzL4Xrb3fL3ckvqCWy6bdGMzU2w9eoRqs", - "oVZqpq60sk", - "rfodmrha.zzdndvyk@tezos.example.org" ); - ( [ - "fiber"; - "next"; - "property"; - "cradle"; - "silk"; - "obey"; - "gossip"; - "push"; - "key"; - "second"; - "across"; - "minimum"; - "nice"; - "boil"; - "age"; - ], - "dac31640199f2babc157aadc0021cd71128ca9ea", - "3569618927693", - "tz1RUHg536oRKhPLFfttcB5gSWAhh4E9TWjX", - "FfytQTTVbu", - "owecikdy.gxnyttya@tezos.example.org" ); - ( [ - "print"; - "labor"; - "budget"; - "speak"; - "poem"; - "diet"; - "chunk"; - "eternal"; - "book"; - "saddle"; - "pioneer"; - "ankle"; - "happy"; - "only"; - "exclude"; - ], - "bb841227f250a066eb8429e56937ad504d7b34dd", - "9034781424478", - "tz1M1LFbgctcPWxstrao9aLr2ECW1fV4pH5u", - "zknAl3lrX2", - "ettilrvh.zsrqrbud@tezos.example.org" ); - ] - -let activation_init () = - Context.init ~with_commitments:true 1 >|=? fun (b, cs) -> - secrets () |> fun ss -> (b, cs, ss) - -let simple_init_with_commitments () = - activation_init () >>=? fun (blk, _contracts, _secrets) -> - Block.bake blk >>=? fun _ -> return_unit - -(** A single activation *) -let single_activation () = - activation_init () >>=? fun (blk, _contracts, secrets) -> - let ({account; activation_code; amount = expected_amount; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - (* Contract does not exist *) - Assert.balance_is - ~loc:__LOC__ - (B blk) - (Contract.implicit_contract account) - Tez.zero - >>=? fun () -> - Op.activation (B blk) account activation_code >>=? fun operation -> - Block.bake ~operation blk >>=? fun blk -> - (* Contract does exist *) - Assert.balance_is - ~loc:__LOC__ - (B blk) - (Contract.implicit_contract account) - expected_amount - -(** 10 activations, one per bake *) -let multi_activation_1 () = - activation_init () >>=? fun (blk, _contracts, secrets) -> - List.fold_left_es - (fun blk {account; activation_code; amount = expected_amount; _} -> - Op.activation (B blk) account activation_code >>=? fun operation -> - Block.bake ~operation blk >>=? fun blk -> - Assert.balance_is - ~loc:__LOC__ - (B blk) - (Contract.implicit_contract account) - expected_amount - >|=? fun () -> blk) - blk - secrets - >>=? fun _ -> return_unit - -(** All in one bake *) -let multi_activation_2 () = - activation_init () >>=? fun (blk, _contracts, secrets) -> - List.fold_left_es - (fun ops {account; activation_code; _} -> - Op.activation (B blk) account activation_code >|=? fun op -> op :: ops) - [] - secrets - >>=? fun ops -> - Block.bake ~operations:ops blk >>=? fun blk -> - List.iter_es - (fun {account; amount = expected_amount; _} -> - (* Contract does exist *) - Assert.balance_is - ~loc:__LOC__ - (B blk) - (Contract.implicit_contract account) - expected_amount) - secrets - -(** Transfer with activated account *) -let activation_and_transfer () = - activation_init () >>=? fun (blk, contracts, secrets) -> - let ({account; activation_code; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - let bootstrap_contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts - in - let first_contract = Contract.implicit_contract account in - Op.activation (B blk) account activation_code >>=? fun operation -> - Block.bake ~operation blk >>=? fun blk -> - Context.Contract.balance (B blk) bootstrap_contract >>=? fun amount -> - Tez.( /? ) amount 2L >>?= fun half_amount -> - Context.Contract.balance (B blk) first_contract - >>=? fun activated_amount_before -> - Op.transaction (B blk) bootstrap_contract first_contract half_amount - >>=? fun operation -> - Block.bake ~operation blk >>=? fun blk -> - Assert.balance_was_credited - ~loc:__LOC__ - (B blk) - (Contract.implicit_contract account) - activated_amount_before - half_amount - -(** Transfer to an unactivated account and then activating it *) -let transfer_to_unactivated_then_activate () = - activation_init () >>=? fun (blk, contracts, secrets) -> - let ({account; activation_code; amount} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - let bootstrap_contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts - in - let unactivated_commitment_contract = Contract.implicit_contract account in - Context.Contract.balance (B blk) bootstrap_contract >>=? fun b_amount -> - Tez.( /? ) b_amount 2L >>?= fun b_half_amount -> - Incremental.begin_construction blk >>=? fun inc -> - Op.transaction - (I inc) - bootstrap_contract - unactivated_commitment_contract - b_half_amount - >>=? fun op -> - Incremental.add_operation inc op >>=? fun inc -> - Op.activation (I inc) account activation_code >>=? fun op' -> - Incremental.add_operation inc op' >>=? fun inc -> - Incremental.finalize_block inc >>=? fun blk2 -> - Assert.balance_was_credited - ~loc:__LOC__ - (B blk2) - (Contract.implicit_contract account) - amount - b_half_amount - -(****************************************************************) -(* The following test scenarios are supposed to raise errors. *) -(****************************************************************) - -(** Invalid pkh activation : expected to fail as the context does not - contain any commitment *) -let invalid_activation_with_no_commitments () = - Context.init 1 >>=? fun (blk, _) -> - let secrets = secrets () in - let ({account; activation_code; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - Op.activation (B blk) account activation_code >>=? fun operation -> - Block.bake ~operation blk >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_activation _ -> true - | _ -> false) - -(** Wrong activation : wrong secret given in the operation *) -let invalid_activation_wrong_secret () = - activation_init () >>=? fun (blk, _, secrets) -> - let ({account; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth secrets 0 - in - let ({activation_code; _} as _second_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth secrets 1 - in - Op.activation (B blk) account activation_code >>=? fun operation -> - Block.bake ~operation blk >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_activation _ -> true - | _ -> false) - -(** Invalid pkh activation : expected to fail as the context does not - contain an associated commitment *) -let invalid_activation_inexistent_pkh () = - activation_init () >>=? fun (blk, _, secrets) -> - let ({activation_code; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - let inexistent_pkh = - Signature.Public_key_hash.of_b58check_exn - "tz1PeQHGKPWSpNoozvxgqLN9TFsj6rDqNV3o" - in - Op.activation (B blk) inexistent_pkh activation_code >>=? fun operation -> - Block.bake ~operation blk >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_activation _ -> true - | _ -> false) - -(** Invalid pkh activation : expected to fail as the commitment has - already been claimed *) -let invalid_double_activation () = - activation_init () >>=? fun (blk, _, secrets) -> - let ({account; activation_code; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - Incremental.begin_construction blk >>=? fun inc -> - Op.activation (I inc) account activation_code >>=? fun op -> - Incremental.add_operation inc op >>=? fun inc -> - Op.activation (I inc) account activation_code >>=? fun op' -> - Incremental.add_operation inc op' >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_activation _ -> true - | _ -> false) - -(** Transfer from an unactivated commitment account *) -let invalid_transfer_from_unactivated_account () = - activation_init () >>=? fun (blk, contracts, secrets) -> - let ({account; _} as _first_one) = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd secrets - in - let bootstrap_contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts - in - let unactivated_commitment_contract = Contract.implicit_contract account in - (* No activation *) - Op.transaction - (B blk) - unactivated_commitment_contract - bootstrap_contract - Tez.one - >>=? fun operation -> - Block.bake ~operation blk >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Contract_storage.Empty_implicit_contract pkh -> - if pkh = account then true else false - | _ -> false) - -let tests = - [ - Tztest.tztest "init with commitments" `Quick simple_init_with_commitments; - Tztest.tztest "single activation" `Quick single_activation; - Tztest.tztest "multi-activation one-by-one" `Quick multi_activation_1; - Tztest.tztest "multi-activation all at a time" `Quick multi_activation_2; - Tztest.tztest "activation and transfer" `Quick activation_and_transfer; - Tztest.tztest - "transfer to unactivated account then activate" - `Quick - transfer_to_unactivated_then_activate; - Tztest.tztest - "invalid activation with no commitments" - `Quick - invalid_activation_with_no_commitments; - Tztest.tztest - "invalid activation with commitments" - `Quick - invalid_activation_inexistent_pkh; - Tztest.tztest "invalid double activation" `Quick invalid_double_activation; - Tztest.tztest "wrong activation code" `Quick invalid_activation_wrong_secret; - Tztest.tztest - "invalid transfer from unactivated account" - `Quick - invalid_transfer_from_unactivated_account; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/baking.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/baking.ml deleted file mode 100644 index 7d29b7be091c..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/baking.ml +++ /dev/null @@ -1,266 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 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 Protocol -open Alpha_context - -(** Tests for [bake_n] and [bake_until_end_cycle]. *) -let test_cycle () = - Context.init 5 >>=? fun (b, _) -> - Context.get_constants (B b) >>=? fun csts -> - let blocks_per_cycle = csts.parametric.blocks_per_cycle in - let pp fmt x = Format.fprintf fmt "%ld" x in - (* Tests that [bake_until_cycle_end] returns a block at - level [blocks_per_cycle]. *) - Block.bake b >>=? fun b -> - Block.bake_until_cycle_end b >>=? fun b -> - Context.get_level (B b) >>?= fun curr_level -> - Assert.equal - ~loc:__LOC__ - Int32.equal - "not the right level" - pp - (Alpha_context.Raw_level.to_int32 curr_level) - blocks_per_cycle - >>=? fun () -> - (* Tests that [bake_n n] bakes [n] blocks. *) - Context.get_level (B b) >>?= fun l -> - Block.bake_n 10 b >>=? fun b -> - Context.get_level (B b) >>?= fun curr_level -> - Assert.equal - ~loc:__LOC__ - Int32.equal - "not the right level" - pp - (Alpha_context.Raw_level.to_int32 curr_level) - (Int32.add (Alpha_context.Raw_level.to_int32 l) 10l) - -(** Check that after baking and/or endorsing a block the baker and the - endorsers get their reward *) -let test_rewards_retrieval () = - Context.init 256 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun Constants. - { - parametric = - { - endorsers_per_block; - block_security_deposit; - endorsement_security_deposit; - _; - }; - _; - } -> - (* find block with 32 different endorsers *) - let open Alpha_services.Delegate.Endorsing_rights in - let rec find_block b = - Context.get_endorsers (B b) >>=? fun endorsers -> - if List.length endorsers = endorsers_per_block then return b - else Block.bake b >>=? fun b -> find_block b - in - let balance_update delegate before after = - Context.Delegate.info (B before) delegate >>=? fun info_before -> - Context.Delegate.info (B after) delegate >>=? fun info_after -> - Lwt.return - Test_tez.Tez.(info_after.frozen_balance -? info_before.frozen_balance) - in - find_block b >>=? fun good_b -> - Context.get_endorsers (B good_b) >>=? fun endorsers -> - (* test 3 different priorities, too long otherwise *) - let block_priorities = 0 -- 10 in - let included_endorsements = 0 -- endorsers_per_block in - let ranges = List.product block_priorities included_endorsements in - List.iter_es - (fun (priority, endorsing_power) -> - (* bake block at given priority and with given endorsing_power *) - let real_endorsers = List.sub endorsers endorsing_power in - List.map_ep - (fun endorser -> - Op.endorsement ~delegate:endorser.delegate (B good_b) () - >|=? fun operation -> Operation.pack operation) - real_endorsers - >>=? fun operations -> - let policy = Block.By_priority priority in - Block.get_next_baker ~policy good_b >>=? fun (baker, _, _) -> - Block.bake ~policy ~operations good_b >>=? fun b -> - Context.get_baking_reward (B b) ~priority ~endorsing_power - >>=? fun baking_reward -> - Test_tez.Tez.(block_security_deposit +? baking_reward) - >>?= fun baking_frozen_balance -> - Context.get_endorsing_reward (B b) ~priority ~endorsing_power:1 - >>=? fun endorsing_reward -> - Test_tez.Tez.(endorsement_security_deposit +? endorsing_reward) - >>?= fun endorsing_frozen_balance -> - let baker_is_not_an_endorser = - List.for_all (fun endorser -> endorser.delegate <> baker) real_endorsers - in - Test_tez.Tez.(baking_frozen_balance +? endorsing_frozen_balance) - >>?= fun accumulated_frozen_balance -> - (* check the baker was rewarded the right amount *) - balance_update baker good_b b >>=? fun baker_frozen_balance -> - (if baker_is_not_an_endorser then - Assert.equal_tez ~loc:__LOC__ baker_frozen_balance baking_frozen_balance - else - Assert.equal_tez - ~loc:__LOC__ - baker_frozen_balance - accumulated_frozen_balance) - >>=? fun () -> - (* check the each endorser was rewarded the right amount *) - List.iter_ep - (fun endorser -> - balance_update endorser.delegate good_b b - >>=? fun endorser_frozen_balance -> - if baker <> endorser.delegate then - Assert.equal_tez - ~loc:__LOC__ - endorser_frozen_balance - endorsing_frozen_balance - else - Assert.equal_tez - ~loc:__LOC__ - endorser_frozen_balance - accumulated_frozen_balance) - real_endorsers) - ranges - -(** Tests the baking and endorsing rewards formulas against a - precomputed table *) -let test_rewards_formulas () = - Context.init 1 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun Constants.{parametric = {endorsers_per_block; _}; _} -> - let block_priorities = 0 -- 2 in - let included_endorsements = 0 -- endorsers_per_block in - let ranges = List.product block_priorities included_endorsements in - List.iter_ep - (fun (priority, endorsing_power) -> - Context.get_baking_reward (B b) ~priority ~endorsing_power - >>=? fun reward -> - let expected_reward = - Test_tez.Tez.of_mutez_exn - (Int64.of_int Rewards.baking_rewards.(priority).(endorsing_power)) - in - Assert.equal_tez ~loc:__LOC__ reward expected_reward >>=? fun () -> - Context.get_endorsing_reward (B b) ~priority ~endorsing_power - >>=? fun reward -> - let expected_reward = - Test_tez.Tez.of_mutez_exn - (Int64.of_int Rewards.endorsing_rewards.(priority).(endorsing_power)) - in - Assert.equal_tez ~loc:__LOC__ reward expected_reward >>=? fun () -> - return_unit) - ranges - -let wrap e = Lwt.return (Environment.wrap_error e) - -(* Check that the rewards formulas from Context are - equivalent with the ones from Baking *) -let test_rewards_formulas_equivalence () = - Context.init 1 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun Constants.{parametric = {endorsers_per_block; _}; _} -> - Alpha_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctxt -> - let block_priorities = 0 -- 64 in - let endorsing_power = 0 -- endorsers_per_block in - let ranges = List.product block_priorities endorsing_power in - List.iter_ep - (fun (block_priority, endorsing_power) -> - Baking.baking_reward - ctxt - ~block_priority - ~included_endorsements:endorsing_power - |> wrap - >>=? fun reward1 -> - Context.get_baking_reward (B b) ~priority:block_priority ~endorsing_power - >>=? fun reward2 -> - Assert.equal_tez ~loc:__LOC__ reward1 reward2 >>=? fun () -> - Baking.endorsing_reward ctxt ~block_priority endorsing_power |> wrap - >>=? fun reward1 -> - Context.get_endorsing_reward - (B b) - ~priority:block_priority - ~endorsing_power - >>=? fun reward2 -> Assert.equal_tez ~loc:__LOC__ reward1 reward2) - ranges - -let test_bake_n_cycles n () = - let open Block in - let policy = By_priority 0 in - Context.init 1 >>=? fun (block, _contracts) -> - Block.bake_until_n_cycle_end ~policy n block >>=? fun _block -> return () - -(* gets the voting power *) -let get_voting_power block pkhash = - let ctxt = Context.B block in - Context.get_voting_power ctxt pkhash - -let test_voting_power_cache () = - let open Block in - let policy = By_priority 0 in - Context.init 1 >>=? fun (block, _contracts) -> - Context.get_bakers (B block) >>=? fun bakers -> - let baker = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bakers in - let assert_voting_power n block = - get_voting_power block baker >>=? fun voting_power -> - Assert.equal_int ~loc:__LOC__ n (Int32.to_int voting_power) - in - assert_voting_power 500 block >>=? fun () -> - Block.bake_until_n_cycle_end ~policy 2 block >>=? fun block -> - assert_voting_power 500 block >>=? fun () -> - Block.bake_until_n_cycle_end ~policy 5 block >>=? fun block -> - assert_voting_power 500 block >>=? fun () -> - Block.bake_until_n_cycle_end ~policy 1 block >>=? fun block -> - assert_voting_power 500 block - -let tests = - [ - Tztest.tztest "cycle" `Quick test_cycle; - Tztest.tztest - "test rewards are correctly accounted for" - `Slow - test_rewards_retrieval; - Tztest.tztest - "test rewards formula for various input values" - `Quick - test_rewards_formulas; - Tztest.tztest - "check equivalence of rewards formulas" - `Quick - test_rewards_formulas_equivalence; - Tztest.tztest - "test_bake_n_cycles for 12 cycles" - `Quick - (test_bake_n_cycles 12); - Tztest.tztest "voting_power" `Quick test_voting_power_cache; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/combined_operations.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/combined_operations.ml deleted file mode 100644 index f8084c0cbcbd..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/combined_operations.ml +++ /dev/null @@ -1,307 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -(** Multiple operations can be grouped in one ensuring their - deterministic application. - - If an invalid operation is present in this group of operation, the - previous applied operations are backtracked leaving the context - unchanged and the following operations are skipped. Fees attributed - to the operations are collected by the baker nonetheless. - - Only manager operations are allowed in multiple transactions. - They must all belong to the same manager as there is only one signature. *) - -open Protocol -open Test_tez - -let ten_tez = Tez.of_int 10 - -(** Groups ten transactions between the same parties. *) -let multiple_transfers () = - Context.init 3 >>=? fun (blk, contracts) -> - let c1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let c2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 in - let c3 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 2 in - List.map_es (fun _ -> Op.transaction (B blk) c1 c2 Tez.one) (1 -- 10) - >>=? fun ops -> - Op.combine_operations ~source:c1 (B blk) ops >>=? fun operation -> - Context.Contract.balance (B blk) c1 >>=? fun c1_old_balance -> - Context.Contract.balance (B blk) c2 >>=? fun c2_old_balance -> - Context.Contract.pkh c3 >>=? fun baker_pkh -> - Block.bake ~policy:(By_account baker_pkh) ~operation blk >>=? fun blk -> - Assert.balance_was_debited - ~loc:__LOC__ - (B blk) - c1 - c1_old_balance - (Tez.of_int 10) - >>=? fun () -> - Assert.balance_was_credited - ~loc:__LOC__ - (B blk) - c2 - c2_old_balance - (Tez.of_int 10) - >>=? fun () -> return_unit - -(** Groups ten delegated originations. *) -let multiple_origination_and_delegation () = - Context.init 2 >>=? fun (blk, contracts) -> - let c1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let c2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 in - let n = 10 in - Context.get_constants (B blk) - >>=? fun {parametric = {origination_size; cost_per_byte; _}; _} -> - Context.Contract.pkh c2 >>=? fun delegate_pkh -> - (* Deploy n smart contracts with dummy scripts from c1 *) - List.map_es - (fun i -> - Op.origination - ~delegate:delegate_pkh - ~counter:(Z.of_int i) - ~fee:Tez.zero - ~script:Op.dummy_script - ~credit:(Tez.of_int 10) - (B blk) - c1) - (1 -- n) - >>=? fun originations -> - (* These computed originated contracts are not the ones really created *) - (* We will extract them from the tickets *) - let (originations_operations, _) = List.split originations in - Op.combine_operations ~source:c1 (B blk) originations_operations - >>=? fun operation -> - Context.Contract.balance (B blk) c1 >>=? fun c1_old_balance -> - Incremental.begin_construction blk >>=? fun inc -> - Incremental.add_operation inc operation >>=? fun inc -> - (* To retrieve the originated contracts, it is easier to extract them - from the tickets. Else, we could (could we ?) hash each combined - operation individually. *) - let tickets = Incremental.rev_tickets inc in - let open Apply_results in - let tickets = - List.fold_left - (fun acc -> function - | No_operation_metadata -> assert false - | Operation_metadata {contents} -> - to_list (Contents_result_list contents) @ acc) - [] - tickets - |> List.rev - in - let new_contracts = - List.map - (function - | Contents_result - (Manager_operation_result - { - operation_result = - Applied (Origination_result {originated_contracts = [h]; _}); - _; - }) -> - h - | _ -> assert false) - tickets - in - (* Previous balance - (Credit (n * 10tz) + Origination cost (n tz)) *) - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - Tez.(origination_burn *? Int64.of_int n) >>?= fun origination_total_cost -> - Tez.( *? ) Op.dummy_script_cost 10L - >>? Tez.( +? ) (Tez.of_int (10 * n)) - >>? Tez.( +? ) origination_total_cost - >>?= fun total_cost -> - Assert.balance_was_debited ~loc:__LOC__ (I inc) c1 c1_old_balance total_cost - >>=? fun () -> - List.iter_es - (fun c -> Assert.balance_is ~loc:__LOC__ (I inc) c (Tez.of_int 10)) - new_contracts - -let expect_balance_too_low = function - | Environment.Ecoproto_error (Contract_storage.Balance_too_low _) :: _ -> - return_unit - | _ -> - failwith - "Contract should not have a sufficient balance : operation expected to \ - fail." - -(** Groups three operations, the middle one failing. - Checks that the receipt is consistent. - Variant without fees. *) -let failing_operation_in_the_middle () = - Context.init 2 >>=? fun (blk, contracts) -> - let c1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let c2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 in - Op.transaction ~fee:Tez.zero (B blk) c1 c2 Tez.one >>=? fun op1 -> - Op.transaction ~fee:Tez.zero (B blk) c1 c2 Tez.max_tez >>=? fun op2 -> - Op.transaction ~fee:Tez.zero (B blk) c1 c2 Tez.one >>=? fun op3 -> - let operations = [op1; op2; op3] in - Op.combine_operations ~source:c1 (B blk) operations >>=? fun operation -> - Context.Contract.balance (B blk) c1 >>=? fun c1_old_balance -> - Context.Contract.balance (B blk) c2 >>=? fun c2_old_balance -> - Incremental.begin_construction blk >>=? fun inc -> - Incremental.add_operation ~expect_failure:expect_balance_too_low inc operation - >>=? fun inc -> - let tickets = Incremental.rev_tickets inc in - let open Apply_results in - let tickets = - List.fold_left - (fun acc -> function - | No_operation_metadata -> assert false - | Operation_metadata {contents} -> - to_list (Contents_result_list contents) @ acc) - [] - tickets - in - (match tickets with - | Contents_result - (Manager_operation_result {operation_result = Backtracked _; _}) - :: Contents_result - (Manager_operation_result - { - operation_result = Failed (_, [Contract_storage.Balance_too_low _]); - _; - }) - :: Contents_result - (Manager_operation_result {operation_result = Skipped _; _}) - :: _ -> - () - | _ -> assert false) ; - Assert.balance_is ~loc:__LOC__ (I inc) c1 c1_old_balance >>=? fun () -> - Assert.balance_is ~loc:__LOC__ (I inc) c2 c2_old_balance >>=? fun () -> - return_unit - -(** Groups three operations, the middle one failing. - Checks that the receipt is consistent. - Variant with fees, that should be spent even in case of failure. *) -let failing_operation_in_the_middle_with_fees () = - Context.init 2 >>=? fun (blk, contracts) -> - let c1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let c2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 in - Op.transaction ~fee:Tez.one (B blk) c1 c2 Tez.one >>=? fun op1 -> - Op.transaction ~fee:Tez.one (B blk) c1 c2 Tez.max_tez >>=? fun op2 -> - Op.transaction ~fee:Tez.one (B blk) c1 c2 Tez.one >>=? fun op3 -> - let operations = [op1; op2; op3] in - Op.combine_operations ~source:c1 (B blk) operations >>=? fun operation -> - Context.Contract.balance (B blk) c1 >>=? fun c1_old_balance -> - Context.Contract.balance (B blk) c2 >>=? fun c2_old_balance -> - Incremental.begin_construction blk >>=? fun inc -> - Incremental.add_operation ~expect_failure:expect_balance_too_low inc operation - >>=? fun inc -> - let tickets = Incremental.rev_tickets inc in - let open Apply_results in - let tickets = - List.fold_left - (fun acc -> function - | No_operation_metadata -> assert false - | Operation_metadata {contents} -> - to_list (Contents_result_list contents) @ acc) - [] - tickets - in - (match tickets with - | Contents_result - (Manager_operation_result {operation_result = Backtracked _; _}) - :: Contents_result - (Manager_operation_result - { - operation_result = Failed (_, [Contract_storage.Balance_too_low _]); - _; - }) - :: Contents_result - (Manager_operation_result {operation_result = Skipped _; _}) - :: _ -> - () - | _ -> assert false) ; - (* In the presence of a failure, all the fees are collected. Even for skipped operations. *) - Assert.balance_was_debited - ~loc:__LOC__ - (I inc) - c1 - c1_old_balance - (Tez.of_int 3) - >>=? fun () -> - Assert.balance_is ~loc:__LOC__ (I inc) c2 c2_old_balance >>=? fun () -> - return_unit - -let expect_wrong_signature list = - if - List.exists - (function - | Environment.Ecoproto_error Apply.Inconsistent_sources -> true - | _ -> false) - list - then return_unit - else - failwith - "Packed operation has invalid source in the middle : operation expected \ - to fail." - -let wrong_signature_in_the_middle () = - Context.init 2 >>=? fun (blk, contracts) -> - let c1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let c2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 in - Op.transaction ~fee:Tez.one (B blk) c1 c2 Tez.one >>=? fun op1 -> - Op.transaction ~fee:Tez.one (B blk) c2 c1 Tez.one >>=? fun op2 -> - Incremental.begin_construction blk >>=? fun inc -> - (* Make legit transfers, performing reveals *) - Incremental.add_operation inc op1 >>=? fun inc -> - Incremental.add_operation inc op2 >>=? fun inc -> - (* Cook transactions for actual test *) - Op.transaction ~fee:Tez.one (I inc) c1 c2 Tez.one >>=? fun op1 -> - Op.transaction ~fee:Tez.one (I inc) c1 c2 Tez.one >>=? fun op2 -> - Op.transaction ~fee:Tez.one (I inc) c1 c2 Tez.one >>=? fun op3 -> - Op.transaction ~fee:Tez.one (I inc) c2 c1 Tez.one - >>=? fun spurious_operation -> - let operations = [op1; op2; op3] in - Op.combine_operations ~spurious_operation ~source:c1 (I inc) operations - >>=? fun operation -> - Incremental.add_operation - ~expect_apply_failure:expect_wrong_signature - inc - operation - >>=? fun _inc -> return_unit - -let tests = - [ - Tztest.tztest "multiple transfers" `Quick multiple_transfers; - Tztest.tztest - "multiple originations and delegations" - `Quick - multiple_origination_and_delegation; - Tztest.tztest - "Failing operation in the middle" - `Quick - failing_operation_in_the_middle; - Tztest.tztest - "Failing operation in the middle (with fees)" - `Quick - failing_operation_in_the_middle_with_fees; - Tztest.tztest - "Failing operation (wrong manager in the middle of a pack)" - `Quick - wrong_signature_in_the_middle; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/big_interpreter_stack.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/big_interpreter_stack.tz deleted file mode 100644 index 24832df0827f..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/big_interpreter_stack.tz +++ /dev/null @@ -1,5 +0,0 @@ -{ parameter unit ; - storage unit ; - code { CAR ; - { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { {} ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; } ; - NIL operation; PAIR } } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract.tz deleted file mode 100644 index 155b71db7bb0..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract.tz +++ /dev/null @@ -1,69 +0,0 @@ -# This contract manages a shielded pool with a 1 to 1 conversion with respect to -# the tez, updated by a sapling transaction. The second parameter is an optional -# implicit account used to claim funds when unshielding. -storage (sapling_state 8); -parameter (list (pair (sapling_transaction 8) (option key_hash) ) ); -code { # Stack manipulation - UNPAIR; - NIL operation; - SWAP; - DIP { SWAP}; - AMOUNT ; - SWAP ; - DIP {SWAP} ; - ITER { UNPAIR; - DIP { SWAP }; - # We verify the transaction and update the storage if the transaction is - # valid. The shielded transactions are handled here. - # The new state is pushed on top of the stack in addition to the balance - # of the transaction. If the rest of the script goes well, this state - # will be the new state of the smart contract. - SAPLING_VERIFY_UPDATE; - # In the case of an invalid transaction, we stop. - ASSERT_SOME; - UNPAIR; - # Convert the balance in mutez, keeping the signed - # balance on top of the stack and the balance in mutez as the second - # element - DUP; - DIP { ABS; # in case of negative balance i.e. shielding - PUSH mutez 1; - MUL; }; - # We have three cases now: unshielding, shielding and transfers. - # If the balance is strictly positive (i.e. unshielding), we send funds - # to the given address. - # If no address is given (see ASSERT_SOME), we stop - IFGT { - DIIP { ASSERT_SOME; - IMPLICIT_ACCOUNT }; - SWAP; - DIP { UNIT; - TRANSFER_TOKENS; - SWAP; - # Stack manipulation to order. The operations will consist of the - # TRANSFER_TOKEN operation. - DIP {CONS} ;}; - } - # If the balance is negative or 0 (i.e. shielding or transfer), - # we verify the amount transferred in the transaction is exactly the - # balance of the verify_update output. It does enforce the conversion - # 1-1 between mutez and shielded token. - # No operation is executed. - { - DIIP {SWAP}; - DIP {SWAP}; - SWAP; - SUB; - # As we transfer or shield token, an implicit account is not - # required. It is a good practice to verify. - # If an implicit account has been given, it might be an invalid - # operation or a call error. - DIIP { ASSERT_NONE;}; - SWAP; - }; - }; - DIP { - PUSH mutez 0; - ASSERT_CMPEQ;}; - SWAP; - PAIR} \ No newline at end of file diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_double.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_double.tz deleted file mode 100644 index 89148c8c355f..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_double.tz +++ /dev/null @@ -1,33 +0,0 @@ -storage (pair (sapling_state :left 8) (sapling_state :right 8) ); -parameter (pair bool (pair (sapling_transaction :left 8) (sapling_transaction :right 8)) ); -code { UNPAIR ; - UNPAIR ; - DIP {UNPAIR} ; - DIIIP {UNPAIR} ; - DIIP {SWAP} ; - IF { SAPLING_VERIFY_UPDATE ; - ASSERT_SOME ; - UNPAIR ; - DROP ; - DIP {DIP {DUP}; - SAPLING_VERIFY_UPDATE; - ASSERT_SOME ; - UNPAIR ; - DROP ; - DROP;}; - } - { DIP { DUP}; - SAPLING_VERIFY_UPDATE; - ASSERT_SOME; - UNPAIR; - DROP; - DROP ; - DIP { SAPLING_VERIFY_UPDATE ; - ASSERT_SOME ; - UNPAIR; - DROP ; - }}; - PAIR; - NIL operation; - PAIR; - } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_drop.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_drop.tz deleted file mode 100644 index b7e1b3912ff9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_drop.tz +++ /dev/null @@ -1,14 +0,0 @@ -storage (unit); -parameter (list (sapling_transaction 8)); -code { UNPAIR ; - SAPLING_EMPTY_STATE 8; - SWAP ; - ITER { SAPLING_VERIFY_UPDATE ; - ASSERT_SOME ; - UNPAIR ; - DROP ; - } ; - DROP ; - NIL operation; - PAIR; - } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_send.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_send.tz deleted file mode 100644 index 6eedc9dbc619..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_send.tz +++ /dev/null @@ -1,20 +0,0 @@ -storage (unit); -parameter (pair (contract (or (sapling_transaction 8) (sapling_state 8))) (sapling_transaction 8)); -code { UNPAIR ; - UNPAIR; - SWAP ; - SAPLING_EMPTY_STATE 8; - SWAP ; - SAPLING_VERIFY_UPDATE ; - ASSERT_SOME ; - UNPAIR ; - DROP ; - PUSH mutez 0; - SWAP ; - RIGHT (sapling_transaction 8); - TRANSFER_TOKENS; - NIL operation; - SWAP; - CONS; - PAIR; - } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_state_as_arg.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_state_as_arg.tz deleted file mode 100644 index e8a96df046ee..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_contract_state_as_arg.tz +++ /dev/null @@ -1,18 +0,0 @@ -storage (option (sapling_transaction 8)); -parameter (or (sapling_transaction 8) (sapling_state 8)); -code { UNPAIR ; - IF_LEFT - { - DIP {DROP;}; - SOME; - } - { DIP {ASSERT_SOME;}; - SWAP ; - SAPLING_VERIFY_UPDATE; - ASSERT_SOME; - DROP ; - NONE (sapling_transaction 8) ; - }; - NIL operation; - PAIR; - } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_push_sapling_state.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_push_sapling_state.tz deleted file mode 100644 index 8d1db432bf2e..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_push_sapling_state.tz +++ /dev/null @@ -1,11 +0,0 @@ -# Attempt to use `PUSH sapling_state 0` where 0 is the ID of a sapling state. -# sapling_state is not allowed in the instruction PUSH. -parameter unit; -storage unit; -code { DROP; - PUSH (sapling_state 8) 0; - DROP; - PUSH unit Unit; - NIL operation; - PAIR; - } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_use_existing_state.tz b/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_use_existing_state.tz deleted file mode 100644 index b637870653f8..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/contracts/sapling_use_existing_state.tz +++ /dev/null @@ -1,12 +0,0 @@ -parameter (pair (sapling_transaction 8) (sapling_state 8)); -storage (sapling_state 8); -code { UNPAIR; - UNPAIR; - DIIP { DROP }; - SAPLING_VERIFY_UPDATE; - ASSERT_SOME; - UNPAIR; - DROP; - NIL operation; - PAIR; - } diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/delegation.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/delegation.ml deleted file mode 100644 index b3526c876394..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/delegation.ml +++ /dev/null @@ -1,1492 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Test_tez - -(**************************************************************************) -(* bootstrap contracts *) -(**************************************************************************) -(* Bootstrap contracts are heavily used in other tests. It is helpful - to test some properties of these contracts, so we can correctly - interpret the other tests that use them. *) - -let expect_error err = function - | err0 :: _ when err = err0 -> return_unit - | _ -> failwith "Unexpected successful result" - -let expect_alpha_error err = expect_error (Environment.Ecoproto_error err) - -let expect_no_change_registered_delegate_pkh pkh = function - | Environment.Ecoproto_error (Delegate_storage.No_deletion pkh0) :: _ - when pkh0 = pkh -> - return_unit - | _ -> failwith "Delegate can not be deleted and operation should fail." - -(** bootstrap contracts delegate to themselves *) -let bootstrap_manager_is_bootstrap_delegate () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - let bootstrap0 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - Context.Contract.delegate (B b) bootstrap0 >>=? fun delegate0 -> - Context.Contract.manager (B b) bootstrap0 >>=? fun manager0 -> - Assert.equal_pkh ~loc:__LOC__ delegate0 manager0.pkh - -(** bootstrap contracts cannot change their delegate *) -let bootstrap_delegate_cannot_change ~fee () = - Context.init 2 >>=? fun (b, bootstrap_contracts) -> - let bootstrap0 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth bootstrap_contracts 0 - in - let bootstrap1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth bootstrap_contracts 1 - in - Context.Contract.pkh bootstrap0 >>=? fun pkh1 -> - Incremental.begin_construction b ~policy:(Block.Excluding [pkh1]) - >>=? fun i -> - Context.Contract.manager (I i) bootstrap1 >>=? fun manager1 -> - Context.Contract.balance (I i) bootstrap0 >>=? fun balance0 -> - Context.Contract.delegate (I i) bootstrap0 >>=? fun delegate0 -> - (* change delegation to bootstrap1 *) - Op.delegation ~fee (I i) bootstrap0 (Some manager1.pkh) - >>=? fun set_delegate -> - if fee > balance0 then - Incremental.add_operation i set_delegate >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - Incremental.add_operation - ~expect_failure:(expect_no_change_registered_delegate_pkh delegate0) - i - set_delegate - >>=? fun i -> - Incremental.finalize_block i >>=? fun b -> - (* bootstrap0 still has same delegate *) - Context.Contract.delegate (B b) bootstrap0 >>=? fun delegate0_after -> - Assert.equal_pkh ~loc:__LOC__ delegate0_after delegate0 >>=? fun () -> - (* fee has been debited *) - Assert.balance_was_debited ~loc:__LOC__ (B b) bootstrap0 balance0 fee - -(** bootstrap contracts cannot delete their delegation *) -let bootstrap_delegate_cannot_be_removed ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - Incremental.begin_construction b >>=? fun i -> - Context.Contract.balance (I i) bootstrap >>=? fun balance -> - Context.Contract.delegate (I i) bootstrap >>=? fun delegate -> - Context.Contract.manager (I i) bootstrap >>=? fun manager -> - (* remove delegation *) - Op.delegation ~fee (I i) bootstrap None >>=? fun set_delegate -> - if fee > balance then - Incremental.add_operation i set_delegate >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - Incremental.add_operation - ~expect_failure:(expect_no_change_registered_delegate_pkh manager.pkh) - i - set_delegate - >>=? fun i -> - (* delegate has not changed *) - Context.Contract.delegate (I i) bootstrap >>=? fun delegate_after -> - Assert.equal_pkh ~loc:__LOC__ delegate delegate_after >>=? fun () -> - (* fee has been debited *) - Assert.balance_was_debited ~loc:__LOC__ (I i) bootstrap balance fee - -(** contracts not registered as delegate can change their delegation *) -let delegate_can_be_changed_from_unregistered_contract ~fee () = - Context.init 2 >>=? fun (b, bootstrap_contracts) -> - let bootstrap0 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let bootstrap1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth bootstrap_contracts 1 - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let unregistered = Contract.implicit_contract unregistered_pkh in - Incremental.begin_construction b >>=? fun i -> - Context.Contract.manager (I i) bootstrap0 >>=? fun manager0 -> - Context.Contract.manager (I i) bootstrap1 >>=? fun manager1 -> - let credit = Tez.of_int 10 in - Op.transaction ~fee:Tez.zero (I i) bootstrap0 unregistered credit - >>=? fun credit_contract -> - Context.Contract.balance (I i) bootstrap0 >>=? fun balance -> - Incremental.add_operation i credit_contract >>=? fun i -> - (* delegate to bootstrap0 *) - Op.delegation ~fee:Tez.zero (I i) unregistered (Some manager0.pkh) - >>=? fun set_delegate -> - Incremental.add_operation i set_delegate >>=? fun i -> - Context.Contract.delegate (I i) unregistered >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate manager0.pkh >>=? fun () -> - (* change delegation to bootstrap1 *) - Op.delegation ~fee (I i) unregistered (Some manager1.pkh) - >>=? fun change_delegate -> - if fee > balance then - Incremental.add_operation i change_delegate >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - Incremental.add_operation i change_delegate >>=? fun i -> - (* delegate has changed *) - Context.Contract.delegate (I i) unregistered >>=? fun delegate_after -> - Assert.equal_pkh ~loc:__LOC__ delegate_after manager1.pkh >>=? fun () -> - (* fee has been debited *) - Assert.balance_was_debited ~loc:__LOC__ (I i) unregistered credit fee - -(** contracts not registered as delegate can delete their delegation *) -let delegate_can_be_removed_from_unregistered_contract ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let unregistered = Contract.implicit_contract unregistered_pkh in - Incremental.begin_construction b >>=? fun i -> - Context.Contract.manager (I i) bootstrap >>=? fun manager -> - let credit = Tez.of_int 10 in - Op.transaction ~fee:Tez.zero (I i) bootstrap unregistered credit - >>=? fun credit_contract -> - Context.Contract.balance (I i) bootstrap >>=? fun balance -> - Incremental.add_operation i credit_contract >>=? fun i -> - (* delegate to bootstrap *) - Op.delegation ~fee:Tez.zero (I i) unregistered (Some manager.pkh) - >>=? fun set_delegate -> - Incremental.add_operation i set_delegate >>=? fun i -> - Context.Contract.delegate (I i) unregistered >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate manager.pkh >>=? fun () -> - (* remove delegation *) - Op.delegation ~fee (I i) unregistered None >>=? fun delete_delegate -> - if fee > balance then - Incremental.add_operation i delete_delegate >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - Incremental.add_operation i delete_delegate >>=? fun i -> - (* the delegate has been removed *) - (Context.Contract.delegate_opt (I i) unregistered >>=? function - | None -> return_unit - | Some _ -> failwith "Expected delegate to be removed") - >>=? fun () -> - (* fee has been debited *) - Assert.balance_was_debited ~loc:__LOC__ (I i) unregistered credit fee - -(** bootstrap keys are already registered as delegate keys *) -let bootstrap_manager_already_registered_delegate ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - Context.Contract.manager (I i) bootstrap >>=? fun manager -> - let pkh = manager.pkh in - let impl_contract = Contract.implicit_contract pkh in - Context.Contract.balance (I i) impl_contract >>=? fun balance -> - Op.delegation ~fee (I i) impl_contract (Some pkh) >>=? fun sec_reg -> - if fee > balance then - Incremental.add_operation i sec_reg >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - Incremental.add_operation - ~expect_failure:(function - | Environment.Ecoproto_error Delegate_storage.Active_delegate :: _ -> - return_unit - | _ -> failwith "Delegate is already active and operation should fail.") - i - sec_reg - >>=? fun i -> - (* fee has been debited *) - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract balance fee - -(** bootstrap manager can be set as delegate of an originated contract - (through origination operation) *) -let delegate_to_bootstrap_by_origination ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - Context.Contract.manager (I i) bootstrap >>=? fun manager -> - Context.Contract.balance (I i) bootstrap >>=? fun balance -> - (* originate a contract with bootstrap's manager as delegate *) - Op.origination - ~fee - ~credit:Tez.zero - ~delegate:manager.pkh - (I i) - bootstrap - ~script:Op.dummy_script - >>=? fun (op, orig_contract) -> - Context.get_constants (I i) - >>=? fun {parametric = {origination_size; cost_per_byte; _}; _} -> - (* 0.257tz *) - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - Tez.( +? ) fee origination_burn >>? Tez.( +? ) Op.dummy_script_cost - >>?= fun total_fee -> - if fee > balance then - Incremental.add_operation i op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else if total_fee > balance && balance >= fee then - (* origination did not proceed; fee has been debited *) - Incremental.add_operation - i - ~expect_failure:(function - | Environment.Ecoproto_error (Contract.Balance_too_low _) :: _ -> - return_unit - | _ -> - failwith - "Not enough balance for origination burn: operation should fail.") - op - >>=? fun i -> - (* fee was taken *) - Assert.balance_was_debited ~loc:__LOC__ (I i) bootstrap balance fee - >>=? fun () -> - (* originated contract has not been created *) - Context.Contract.balance (I i) orig_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - else - (* bootstrap is delegate, fee + origination burn have been debited *) - Incremental.add_operation i op >>=? fun i -> - Context.Contract.delegate (I i) orig_contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate manager.pkh >>=? fun () -> - Assert.balance_was_debited ~loc:__LOC__ (I i) bootstrap balance total_fee - -let tests_bootstrap_contracts = - [ - Tztest.tztest - "bootstrap contracts delegate to themselves" - `Quick - bootstrap_manager_is_bootstrap_delegate; - Tztest.tztest - "bootstrap contracts can change their delegate (small fee)" - `Quick - (bootstrap_delegate_cannot_change ~fee:Tez.one_mutez); - Tztest.tztest - "bootstrap contracts can change their delegate (max fee)" - `Quick - (bootstrap_delegate_cannot_change ~fee:Tez.max_tez); - Tztest.tztest - "bootstrap contracts cannot remove their delegation (small fee)" - `Quick - (bootstrap_delegate_cannot_be_removed ~fee:Tez.one_mutez); - Tztest.tztest - "bootstrap contracts cannot remove their delegation (max fee)" - `Quick - (bootstrap_delegate_cannot_be_removed ~fee:Tez.max_tez); - Tztest.tztest - "contracts not registered as delegate can remove their delegation (small \ - fee)" - `Quick - (delegate_can_be_changed_from_unregistered_contract ~fee:Tez.one_mutez); - Tztest.tztest - "contracts not registered as delegate can remove their delegation (max \ - fee)" - `Quick - (delegate_can_be_changed_from_unregistered_contract ~fee:Tez.max_tez); - Tztest.tztest - "contracts not registered as delegate can remove their delegation (small \ - fee)" - `Quick - (delegate_can_be_removed_from_unregistered_contract ~fee:Tez.one_mutez); - Tztest.tztest - "contracts not registered as delegate can remove their delegation (max \ - fee)" - `Quick - (delegate_can_be_removed_from_unregistered_contract ~fee:Tez.max_tez); - Tztest.tztest - "bootstrap keys are already registered as delegate keys (small fee)" - `Quick - (bootstrap_manager_already_registered_delegate ~fee:Tez.one_mutez); - Tztest.tztest - "bootstrap keys are already registered as delegate keys (max fee)" - `Quick - (bootstrap_manager_already_registered_delegate ~fee:Tez.max_tez); - Tztest.tztest - "bootstrap manager can be delegate (init origination, small fee)" - `Quick - (delegate_to_bootstrap_by_origination ~fee:Tez.one_mutez); - (* balance enough for fee but not for fee + origination burn + dummy script storage cost *) - Tztest.tztest - "bootstrap manager can be delegate (init origination, edge case)" - `Quick - (delegate_to_bootstrap_by_origination - ~fee:(Tez.of_mutez_exn 3_999_999_705_000L)); - (* fee bigger than bootstrap's initial balance*) - Tztest.tztest - "bootstrap manager can be delegate (init origination, large fee)" - `Quick - (delegate_to_bootstrap_by_origination ~fee:(Tez.of_int 10_000_000)); - ] - -(**************************************************************************) -(* delegate registration *) -(**************************************************************************) -(* A delegate is a pkh. Delegates must be registered. Registration is - done via the self-delegation of the implicit contract corresponding - to the pkh. The implicit contract must be credited when the - self-delegation is done. Furthermore, trying to register an already - registered key raises an error. - - In this series of tests, we verify that - 1- unregistered delegate keys cannot be delegated to, - 2- registered keys can be delegated to, - 3- registering an already registered key raises an error. - - - We consider three scenarios for setting a delegate: - - through origination, - - through delegation when the implicit contract has no delegate yet, - - through delegation when the implicit contract already has a delegate. - - We also test that emptying the implicit contract linked to a - registered delegate key does not unregister the delegate key. -*) - -(* - Valid registration - - Unregistered key: - - contract not credited and no self-delegation - - contract credited but no self-delegation - - contract not credited and self-delegation - -Not credited: -- no credit operation -- credit operation of 1μꜩ and then debit operation of 1μꜩ - -*) - -(** A- unregistered delegate keys cannot be used for delegation *) - -(* Two main series of tests: without self-delegation, and with a failed attempt at self-delegation - 1- no self-delegation - a- no credit - - no token transfer - - credit of 1μꜩ and then debit of 1μꜩ - b- with credit of 1μꜩ. - For every scenario, we try three different ways of delegating: - - through origination (init origination) - - through delegation when no delegate was assigned (init delegation) - - through delegation when a delegate was assigned (switch delegation). - - 2- Self-delegation fails if the contract has no credit. We try the - two possibilities of 1a for non-credited contracts. -*) - -let expect_unregistered_key pkh = function - | Environment.Ecoproto_error (Roll_storage.Unregistered_delegate pkh0) :: _ - when pkh = pkh0 -> - return_unit - | _ -> failwith "Delegate key is not registered: operation should fail." - -(* A1: no self-delegation *) -(* no token transfer, no self-delegation *) -let unregistered_delegate_key_init_origination ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - (* origination with delegate argument *) - Op.origination - ~fee - ~delegate:unregistered_pkh - (I i) - bootstrap - ~script:Op.dummy_script - >>=? fun (op, orig_contract) -> - Context.get_constants (I i) - >>=? fun {parametric = {origination_size; cost_per_byte; _}; _} -> - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - Tez.( +? ) fee origination_burn >>?= fun _total_fee -> - (* FIXME unused variable *) - Context.Contract.balance (I i) bootstrap >>=? fun balance -> - if fee > balance then - Incremental.add_operation i op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* origination did not proceed; fee has been debited *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_pkh) - i - op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) bootstrap balance fee - >>=? fun () -> - (* originated contract has not been created *) - Context.Contract.balance (I i) orig_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - -let unregistered_delegate_key_init_delegation ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - let unregistered_delegate_account = Account.new_account () in - let unregistered_delegate_pkh = Account.(unregistered_delegate_account.pkh) in - (* initial credit for the delegated contract *) - let credit = Tez.of_int 10 in - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract credit - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract credit >>=? fun _ -> - (* try to delegate *) - Op.delegation ~fee (I i) impl_contract (Some unregistered_delegate_pkh) - >>=? fun delegate_op -> - if fee > credit then - Incremental.add_operation i delegate_op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee has been debited; no delegate *) - Incremental.add_operation - i - ~expect_failure:(expect_unregistered_key unregistered_delegate_pkh) - delegate_op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract credit fee - >>=? fun () -> - (* implicit contract has no delegate *) - Context.Contract.delegate (I i) impl_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - -let unregistered_delegate_key_switch_delegation ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let bootstrap_pkh = - Contract.is_implicit bootstrap |> WithExceptions.Option.get ~loc:__LOC__ - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - let unregistered_delegate_account = Account.new_account () in - let unregistered_delegate_pkh = Account.(unregistered_delegate_account.pkh) in - (* initial credit for the delegated contract *) - let credit = Tez.of_int 10 in - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract credit - >>=? fun init_credit -> - Incremental.add_operation i init_credit >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract credit >>=? fun _ -> - (* set and check the initial delegate *) - Op.delegation ~fee:Tez.zero (I i) impl_contract (Some bootstrap_pkh) - >>=? fun delegate_op -> - Incremental.add_operation i delegate_op >>=? fun i -> - Context.Contract.delegate (I i) bootstrap >>=? fun delegate_pkh -> - Assert.equal_pkh ~loc:__LOC__ bootstrap_pkh delegate_pkh >>=? fun () -> - (* try to delegate *) - Op.delegation ~fee (I i) impl_contract (Some unregistered_delegate_pkh) - >>=? fun delegate_op -> - if fee > credit then - Incremental.add_operation i delegate_op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee has been debited; no delegate *) - Incremental.add_operation - i - ~expect_failure:(expect_unregistered_key unregistered_delegate_pkh) - delegate_op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract credit fee - >>=? fun () -> - (* implicit contract delegate has not changed *) - Context.Contract.delegate (I i) bootstrap >>=? fun delegate_pkh_after -> - Assert.equal_pkh ~loc:__LOC__ delegate_pkh delegate_pkh_after - -(* credit of some amount, no self-delegation *) -let unregistered_delegate_key_init_origination_credit ~fee ~amount () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - (* credit + check balance *) - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* origination with delegate argument *) - Context.Contract.balance (I i) bootstrap >>=? fun balance -> - Op.origination - ~fee - ~delegate:unregistered_pkh - (I i) - bootstrap - ~script:Op.dummy_script - >>=? fun (op, orig_contract) -> - if fee > balance then - Incremental.add_operation i op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* origination not done, fee taken *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_pkh) - i - op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) bootstrap balance fee - >>=? fun () -> - Context.Contract.balance (I i) orig_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - -let unregistered_delegate_key_init_delegation_credit ~fee ~amount () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - let unregistered_delegate_account = Account.new_account () in - let unregistered_delegate_pkh = Account.(unregistered_delegate_account.pkh) in - (* credit + check balance *) - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* initial credit for the delegated contract *) - let credit = Tez.of_int 10 in - Tez.(credit +? amount) >>?= fun balance -> - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract credit - >>=? fun init_credit -> - Incremental.add_operation i init_credit >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract balance >>=? fun _ -> - (* try to delegate *) - Op.delegation ~fee (I i) impl_contract (Some unregistered_delegate_pkh) - >>=? fun delegate_op -> - if fee > credit then - Incremental.add_operation i delegate_op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee has been taken, no delegate for contract *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_delegate_pkh) - i - delegate_op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract balance fee - >>=? fun () -> - Context.Contract.delegate (I i) impl_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - -let unregistered_delegate_key_switch_delegation_credit ~fee ~amount () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let bootstrap_pkh = - Contract.is_implicit bootstrap |> WithExceptions.Option.get ~loc:__LOC__ - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - let unregistered_delegate_account = Account.new_account () in - let unregistered_delegate_pkh = Account.(unregistered_delegate_account.pkh) in - (* credit + check balance *) - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* initial credit for the delegated contract *) - let credit = Tez.of_int 10 in - Tez.(credit +? amount) >>?= fun balance -> - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract credit - >>=? fun init_credit -> - Incremental.add_operation i init_credit >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract balance >>=? fun _ -> - (* set and check the initial delegate *) - Op.delegation ~fee:Tez.zero (I i) impl_contract (Some bootstrap_pkh) - >>=? fun delegate_op -> - Incremental.add_operation i delegate_op >>=? fun i -> - Context.Contract.delegate (I i) bootstrap >>=? fun delegate_pkh -> - Assert.equal_pkh ~loc:__LOC__ bootstrap_pkh delegate_pkh >>=? fun () -> - (* switch delegate through delegation *) - Op.delegation ~fee (I i) impl_contract (Some unregistered_delegate_pkh) - >>=? fun delegate_op -> - if fee > credit then - Incremental.add_operation i delegate_op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee has been taken, delegate for contract has not changed *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_delegate_pkh) - i - delegate_op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract balance fee - >>=? fun () -> - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.not_equal_pkh ~loc:__LOC__ delegate unregistered_delegate_pkh - >>=? fun () -> Assert.equal_pkh ~loc:__LOC__ delegate bootstrap_pkh - -(* a credit of some amount followed by a debit of the same amount, no self-delegation *) -let unregistered_delegate_key_init_origination_credit_debit ~fee ~amount () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - (* credit + check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* debit + check balance *) - Op.transaction (I i) impl_contract bootstrap amount >>=? fun debit_contract -> - Incremental.add_operation i debit_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* origination with delegate argument *) - Context.Contract.balance (I i) bootstrap >>=? fun balance -> - Op.origination - ~fee - ~delegate:unregistered_pkh - (I i) - bootstrap - ~script:Op.dummy_script - >>=? fun (op, orig_contract) -> - if fee > balance then - Incremental.add_operation i op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee taken, origination not processed *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_pkh) - i - op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) bootstrap balance fee - >>=? fun () -> - Context.Contract.balance (I i) orig_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - -let unregistered_delegate_key_init_delegation_credit_debit ~amount ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - let unregistered_delegate_account = Account.new_account () in - let unregistered_delegate_pkh = Account.(unregistered_delegate_account.pkh) in - (* credit + check balance *) - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* debit + check balance *) - Op.transaction ~fee:Tez.zero (I i) impl_contract bootstrap amount - >>=? fun debit_contract -> - Incremental.add_operation i debit_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* initial credit for the delegated contract *) - let credit = Tez.of_int 10 in - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract credit - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract credit >>=? fun _ -> - (* try to delegate *) - Op.delegation ~fee (I i) impl_contract (Some unregistered_delegate_pkh) - >>=? fun delegate_op -> - if fee > credit then - Incremental.add_operation i delegate_op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee has been taken, no delegate for contract *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_delegate_pkh) - i - delegate_op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract credit fee - >>=? fun () -> - Context.Contract.delegate (I i) impl_contract >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - -let unregistered_delegate_key_switch_delegation_credit_debit ~fee ~amount () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let bootstrap_pkh = - Contract.is_implicit bootstrap |> WithExceptions.Option.get ~loc:__LOC__ - in - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - let unregistered_delegate_account = Account.new_account () in - let unregistered_delegate_pkh = Account.(unregistered_delegate_account.pkh) in - (* credit + check balance *) - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* debit + check balance *) - Op.transaction (I i) impl_contract bootstrap amount >>=? fun debit_contract -> - Incremental.add_operation i debit_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* delegation - initial credit for the delegated contract *) - let credit = Tez.of_int 10 in - Op.transaction ~fee:Tez.zero (I i) bootstrap impl_contract credit - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract credit >>=? fun _ -> - (* set and check the initial delegate *) - Op.delegation ~fee:Tez.zero (I i) impl_contract (Some bootstrap_pkh) - >>=? fun delegate_op -> - Incremental.add_operation i delegate_op >>=? fun i -> - Context.Contract.delegate (I i) bootstrap >>=? fun delegate_pkh -> - Assert.equal_pkh ~loc:__LOC__ bootstrap_pkh delegate_pkh >>=? fun () -> - (* switch delegate through delegation *) - Op.delegation (I i) ~fee impl_contract (Some unregistered_delegate_pkh) - >>=? fun delegate_op -> - if fee > credit then - Incremental.add_operation i delegate_op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* fee has been taken, delegate for contract has not changed *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key unregistered_delegate_pkh) - i - delegate_op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) impl_contract credit fee - >>=? fun () -> - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.not_equal_pkh ~loc:__LOC__ delegate unregistered_delegate_pkh - -(* A2- self-delegation to an empty contract fails *) -let failed_self_delegation_no_transaction () = - Context.init 1 >>=? fun (b, _) -> - Incremental.begin_construction b >>=? fun i -> - let account = Account.new_account () in - let unregistered_pkh = Account.(account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - (* check balance *) - Context.Contract.balance (I i) impl_contract >>=? fun balance -> - Assert.equal_tez ~loc:__LOC__ Tez.zero balance >>=? fun _ -> - (* self delegation fails *) - Op.delegation (I i) impl_contract (Some unregistered_pkh) - >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Empty_implicit_contract pkh -> - if pkh = unregistered_pkh then true else false - | _ -> false) - -let failed_self_delegation_emptied_implicit_contract amount () = - (* create an implicit contract *) - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let account = Account.new_account () in - let unregistered_pkh = Account.(account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - (* credit implicit contract and check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* empty implicit contract and check balance *) - Op.transaction (I i) impl_contract bootstrap amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* self delegation fails *) - Op.delegation (I i) impl_contract (Some unregistered_pkh) - >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Empty_implicit_contract pkh -> - if pkh = unregistered_pkh then true else false - | _ -> false) - -let emptying_delegated_implicit_contract_fails amount () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - Context.Contract.manager (I i) bootstrap >>=? fun bootstrap_manager -> - let account = Account.new_account () in - let unregistered_pkh = Account.(account.pkh) in - let impl_contract = Contract.implicit_contract unregistered_pkh in - (* credit unregistered implicit contract and check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* delegate the contract to the bootstrap *) - Op.delegation (I i) impl_contract (Some bootstrap_manager.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - (* empty implicit contract and expect error since the contract is delegated *) - Op.transaction (I i) impl_contract bootstrap amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Empty_implicit_delegated_contract _ -> true - | _ -> false) - -(** B- valid registration: - - credit implicit contract with some ꜩ + verification of balance - - self delegation + verification - - empty contract + verification of balance + verification of not being erased / self-delegation - - create delegator implicit contract w first implicit contract as delegate + verification of delegation *) -let valid_delegate_registration_init_delegation_credit amount () = - (* create an implicit contract *) - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let delegate_account = Account.new_account () in - let delegate_pkh = Account.(delegate_account.pkh) in - let impl_contract = Contract.implicit_contract delegate_pkh in - (* credit > 0ꜩ + check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* self delegation + verification *) - Op.delegation (I i) impl_contract (Some delegate_pkh) - >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate delegate_pkh >>=? fun _ -> - (* create an implicit contract with no delegate *) - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let delegator = Contract.implicit_contract unregistered_pkh in - Op.transaction ~fee:Tez.zero (I i) bootstrap delegator Tez.one - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - (* check no delegate for delegator contract *) - Context.Contract.delegate (I i) delegator >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - >>=? fun _ -> - (* delegation to the newly registered key *) - Op.delegation (I i) delegator (Some delegate_account.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - (* check delegation *) - Context.Contract.delegate (I i) delegator >>=? fun delegator_delegate -> - Assert.equal_pkh ~loc:__LOC__ delegator_delegate delegate_pkh - -let valid_delegate_registration_switch_delegation_credit amount () = - (* create an implicit contract *) - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let delegate_account = Account.new_account () in - let delegate_pkh = Account.(delegate_account.pkh) in - let impl_contract = Contract.implicit_contract delegate_pkh in - (* credit > 0ꜩ + check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* self delegation + verification *) - Op.delegation (I i) impl_contract (Some delegate_pkh) - >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate delegate_pkh >>=? fun _ -> - (* create an implicit contract with bootstrap's account as delegate *) - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let delegator = Contract.implicit_contract unregistered_pkh in - Op.transaction ~fee:Tez.zero (I i) bootstrap delegator Tez.one - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - Context.Contract.manager (I i) bootstrap >>=? fun bootstrap_manager -> - Op.delegation (I i) delegator (Some bootstrap_manager.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - (* test delegate of new contract is bootstrap *) - Context.Contract.delegate (I i) delegator >>=? fun delegator_delegate -> - Assert.equal_pkh ~loc:__LOC__ delegator_delegate bootstrap_manager.pkh - >>=? fun _ -> - (* delegation with newly registered key *) - Op.delegation (I i) delegator (Some delegate_account.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - Context.Contract.delegate (I i) delegator >>=? fun delegator_delegate -> - Assert.equal_pkh ~loc:__LOC__ delegator_delegate delegate_pkh - -let valid_delegate_registration_init_delegation_credit_debit amount () = - (* create an implicit contract *) - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let delegate_account = Account.new_account () in - let delegate_pkh = Account.(delegate_account.pkh) in - let impl_contract = Contract.implicit_contract delegate_pkh in - (* credit > 0ꜩ+ check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* self delegation + verification *) - Op.delegation (I i) impl_contract (Some delegate_pkh) - >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate_pkh delegate >>=? fun _ -> - (* empty implicit contracts are usually deleted but they are kept if - they were registered as delegates. we empty the contract in - order to verify this. *) - Op.transaction (I i) impl_contract bootstrap amount >>=? fun empty_contract -> - Incremental.add_operation i empty_contract >>=? fun i -> - (* impl_contract is empty *) - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* verify self-delegation after contract is emptied *) - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate_pkh delegate >>=? fun _ -> - (* create an implicit contract with no delegate *) - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let delegator = Contract.implicit_contract unregistered_pkh in - Op.transaction ~fee:Tez.zero (I i) bootstrap delegator Tez.one - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - (* check no delegate for delegator contract *) - Context.Contract.delegate (I i) delegator >>= fun err -> - Assert.error ~loc:__LOC__ err (function - | RPC_context.Not_found _ -> true - | _ -> false) - >>=? fun _ -> - (* delegation to the newly registered key *) - Op.delegation (I i) delegator (Some delegate_account.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - (* check delegation *) - Context.Contract.delegate (I i) delegator >>=? fun delegator_delegate -> - Assert.equal_pkh ~loc:__LOC__ delegator_delegate delegate_pkh - -let valid_delegate_registration_switch_delegation_credit_debit amount () = - (* create an implicit contract *) - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let delegate_account = Account.new_account () in - let delegate_pkh = Account.(delegate_account.pkh) in - let impl_contract = Contract.implicit_contract delegate_pkh in - (* credit > 0ꜩ + check balance *) - Op.transaction (I i) bootstrap impl_contract amount - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract amount >>=? fun _ -> - (* self delegation + verification *) - Op.delegation (I i) impl_contract (Some delegate_pkh) - >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - Context.Contract.delegate (I i) impl_contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate_pkh delegate >>=? fun _ -> - (* empty implicit contracts are usually deleted but they are kept if - they were registered as delegates. we empty the contract in - order to verify this. *) - Op.transaction (I i) impl_contract bootstrap amount >>=? fun empty_contract -> - Incremental.add_operation i empty_contract >>=? fun i -> - (* impl_contract is empty *) - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* create an implicit contract with bootstrap's account as delegate *) - let unregistered_account = Account.new_account () in - let unregistered_pkh = Account.(unregistered_account.pkh) in - let delegator = Contract.implicit_contract unregistered_pkh in - Op.transaction ~fee:Tez.zero (I i) bootstrap delegator Tez.one - >>=? fun credit_contract -> - Incremental.add_operation i credit_contract >>=? fun i -> - Context.Contract.manager (I i) bootstrap >>=? fun bootstrap_manager -> - Op.delegation (I i) delegator (Some bootstrap_manager.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - (* test delegate of new contract is bootstrap *) - Context.Contract.delegate (I i) delegator >>=? fun delegator_delegate -> - Assert.equal_pkh ~loc:__LOC__ delegator_delegate bootstrap_manager.pkh - >>=? fun _ -> - (* delegation with newly registered key *) - Op.delegation (I i) delegator (Some delegate_account.pkh) - >>=? fun delegation -> - Incremental.add_operation i delegation >>=? fun i -> - Context.Contract.delegate (I i) delegator >>=? fun delegator_delegate -> - Assert.equal_pkh ~loc:__LOC__ delegator_delegate delegate_pkh - -(* with implicit contract with some credit *) - -(** C- a second self-delegation should raise an `Active_delegate` error *) -let double_registration () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let account = Account.new_account () in - let pkh = Account.(account.pkh) in - let impl_contract = Contract.implicit_contract pkh in - (* credit 1μꜩ+ check balance *) - Op.transaction (I i) bootstrap impl_contract Tez.one_mutez - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.one_mutez >>=? fun _ -> - (* self-delegation *) - Op.delegation (I i) impl_contract (Some pkh) >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - (* second self-delegation *) - Op.delegation (I i) impl_contract (Some pkh) >>=? fun second_registration -> - Incremental.add_operation i second_registration >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Delegate_storage.Active_delegate -> true - | _ -> false) - -(* with implicit contract emptied after first self-delegation *) -let double_registration_when_empty () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let account = Account.new_account () in - let pkh = Account.(account.pkh) in - let impl_contract = Contract.implicit_contract pkh in - (* credit 1μꜩ+ check balance *) - Op.transaction (I i) bootstrap impl_contract Tez.one_mutez - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.one_mutez >>=? fun _ -> - (* self delegation *) - Op.delegation (I i) impl_contract (Some pkh) >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - (* empty the delegate account *) - Op.transaction (I i) impl_contract bootstrap Tez.one_mutez - >>=? fun empty_contract -> - Incremental.add_operation i empty_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* second self-delegation *) - Op.delegation (I i) impl_contract (Some pkh) >>=? fun second_registration -> - Incremental.add_operation i second_registration >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Delegate_storage.Active_delegate -> true - | _ -> false) - -(* with implicit contract emptied then recredited after first self-delegation *) -let double_registration_when_recredited () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let account = Account.new_account () in - let pkh = Account.(account.pkh) in - let impl_contract = Contract.implicit_contract pkh in - (* credit 1μꜩ+ check balance *) - Op.transaction (I i) bootstrap impl_contract Tez.one_mutez - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.one_mutez >>=? fun _ -> - (* self delegation *) - Op.delegation (I i) impl_contract (Some pkh) >>=? fun self_delegation -> - Incremental.add_operation i self_delegation >>=? fun i -> - (* empty the delegate account *) - Op.transaction (I i) impl_contract bootstrap Tez.one_mutez - >>=? fun empty_contract -> - Incremental.add_operation i empty_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.zero >>=? fun _ -> - (* credit 1μꜩ+ check balance *) - Op.transaction (I i) bootstrap impl_contract Tez.one_mutez - >>=? fun create_contract -> - Incremental.add_operation i create_contract >>=? fun i -> - Assert.balance_is ~loc:__LOC__ (I i) impl_contract Tez.one_mutez >>=? fun _ -> - (* second self-delegation *) - Op.delegation (I i) impl_contract (Some pkh) >>=? fun second_registration -> - Incremental.add_operation i second_registration >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Delegate_storage.Active_delegate -> true - | _ -> false) - -(* self-delegation on unrevealed contract *) -let unregistered_and_unrevealed_self_delegate_key_init_delegation ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let {Account.pkh; _} = Account.new_account () in - let {Account.pkh = delegate_pkh; _} = Account.new_account () in - let contract = Alpha_context.Contract.implicit_contract pkh in - Op.transaction (I i) bootstrap contract (Tez.of_int 10) >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.delegation ~fee (I i) contract (Some delegate_pkh) >>=? fun op -> - Context.Contract.balance (I i) contract >>=? fun balance -> - if fee > balance then - Incremental.add_operation i op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* origination did not proceed; fee has been debited *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key delegate_pkh) - i - op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) contract balance fee - -(* self-delegation on revealed but not registered contract *) -let unregistered_and_revealed_self_delegate_key_init_delegation ~fee () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let {Account.pkh; pk; _} = Account.new_account () in - let {Account.pkh = delegate_pkh; _} = Account.new_account () in - let contract = Alpha_context.Contract.implicit_contract pkh in - Op.transaction (I i) bootstrap contract (Tez.of_int 10) >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.revelation (I i) pk >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.delegation ~fee (I i) contract (Some delegate_pkh) >>=? fun op -> - Context.Contract.balance (I i) contract >>=? fun balance -> - if fee > balance then - Incremental.add_operation i op >>= fun err -> - Assert.proto_error ~loc:__LOC__ err (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - else - (* origination did not proceed; fee has been debited *) - Incremental.add_operation - ~expect_failure:(expect_unregistered_key delegate_pkh) - i - op - >>=? fun i -> - Assert.balance_was_debited ~loc:__LOC__ (I i) contract balance fee - -(* self-delegation on revealed and registered contract *) -let registered_self_delegate_key_init_delegation () = - Context.init 1 >>=? fun (b, bootstrap_contracts) -> - Incremental.begin_construction b >>=? fun i -> - let bootstrap = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bootstrap_contracts - in - let {Account.pkh; _} = Account.new_account () in - let {Account.pkh = delegate_pkh; pk = delegate_pk; _} = - Account.new_account () - in - let contract = Alpha_context.Contract.implicit_contract pkh in - let delegate_contract = - Alpha_context.Contract.implicit_contract delegate_pkh - in - Op.transaction (I i) bootstrap contract (Tez.of_int 10) >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.transaction (I i) bootstrap delegate_contract (Tez.of_int 1) >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.revelation (I i) delegate_pk >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.delegation (I i) delegate_contract (Some delegate_pkh) >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Op.delegation (I i) contract (Some delegate_pkh) >>=? fun op -> - Incremental.add_operation i op >>=? fun i -> - Context.Contract.delegate (I i) contract >>=? fun delegate -> - Assert.equal_pkh ~loc:__LOC__ delegate delegate_pkh >>=? fun () -> return_unit - -let tests_delegate_registration = - [ - (*** unregistered delegate key: no self-delegation ***) - (* no token transfer, no self-delegation *) - Tztest.tztest - "unregistered delegate key (origination, small fee)" - `Quick - (unregistered_delegate_key_init_origination ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key (origination, edge case fee)" - `Quick - (unregistered_delegate_key_init_origination ~fee:(Tez.of_int 3_999_488)); - Tztest.tztest - "unregistered delegate key (origination, large fee)" - `Quick - (unregistered_delegate_key_init_origination ~fee:(Tez.of_int 10_000_000)); - Tztest.tztest - "unregistered delegate key (init with delegation, small fee)" - `Quick - (unregistered_delegate_key_init_delegation ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key (init with delegation, max fee)" - `Quick - (unregistered_delegate_key_init_delegation ~fee:Tez.max_tez); - Tztest.tztest - "unregistered delegate key (switch with delegation, small fee)" - `Quick - (unregistered_delegate_key_switch_delegation ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key (switch with delegation, max fee)" - `Quick - (unregistered_delegate_key_switch_delegation ~fee:Tez.max_tez); - (* credit/debit 1μꜩ, no self-delegation *) - Tztest.tztest - "unregistered delegate key - credit/debit 1μꜩ (origination, small fee)" - `Quick - (unregistered_delegate_key_init_origination_credit_debit - ~fee:Tez.one_mutez - ~amount:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit/debit 1μꜩ (origination, large fee)" - `Quick - (unregistered_delegate_key_init_origination_credit_debit - ~fee:Tez.max_tez - ~amount:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit/debit 1μꜩ (init with delegation, \ - small fee)" - `Quick - (unregistered_delegate_key_init_delegation_credit_debit - ~amount:Tez.one_mutez - ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit/debit 1μꜩ (init with delegation, \ - large fee)" - `Quick - (unregistered_delegate_key_init_delegation_credit_debit - ~amount:Tez.one_mutez - ~fee:Tez.max_tez); - Tztest.tztest - "unregistered delegate key - credit/debit 1μꜩ (switch with \ - delegation, small fee)" - `Quick - (unregistered_delegate_key_switch_delegation_credit_debit - ~amount:Tez.one_mutez - ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit/debit 1μꜩ (switch with \ - delegation, large fee)" - `Quick - (unregistered_delegate_key_switch_delegation_credit_debit - ~amount:Tez.one_mutez - ~fee:Tez.max_tez); - (* credit 1μꜩ, no self-delegation *) - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (origination, small fee)" - `Quick - (unregistered_delegate_key_init_origination_credit - ~fee:Tez.one_mutez - ~amount:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (origination, edge case fee)" - `Quick - (unregistered_delegate_key_init_origination_credit - ~fee:(Tez.of_int 3_999_488) - ~amount:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (origination, large fee)" - `Quick - (unregistered_delegate_key_init_origination_credit - ~fee:(Tez.of_int 10_000_000) - ~amount:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (init with delegation, small \ - fee)" - `Quick - (unregistered_delegate_key_init_delegation_credit - ~amount:Tez.one_mutez - ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (init with delegation, large \ - fee)" - `Quick - (unregistered_delegate_key_init_delegation_credit - ~amount:Tez.one_mutez - ~fee:Tez.max_tez); - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (switch with delegation, \ - small fee)" - `Quick - (unregistered_delegate_key_switch_delegation_credit - ~amount:Tez.one_mutez - ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered delegate key - credit 1μꜩ (switch with delegation, \ - large fee)" - `Quick - (unregistered_delegate_key_switch_delegation_credit - ~amount:Tez.one_mutez - ~fee:Tez.max_tez); - (* self delegation on unrevealed and unregistered contract *) - Tztest.tztest - "unregistered and unrevealed self-delegation (small fee)" - `Quick - (unregistered_and_unrevealed_self_delegate_key_init_delegation - ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered and unrevealed self-delegation (large fee)" - `Quick - (unregistered_and_unrevealed_self_delegate_key_init_delegation - ~fee:Tez.max_tez); - (* self delegation on unregistered contract *) - Tztest.tztest - "unregistered and revealed self-delegation (small fee)" - `Quick - (unregistered_and_revealed_self_delegate_key_init_delegation - ~fee:Tez.one_mutez); - Tztest.tztest - "unregistered and revealed self-delegation large fee)" - `Quick - (unregistered_and_revealed_self_delegate_key_init_delegation - ~fee:Tez.max_tez); - (* self delegation on registered contract *) - Tztest.tztest - "registered and revealed self-delegation" - `Quick - registered_self_delegate_key_init_delegation; - (*** unregistered delegate key: failed self-delegation ***) - (* no token transfer, self-delegation *) - Tztest.tztest - "failed self-delegation: no transaction" - `Quick - failed_self_delegation_no_transaction; - (* credit 1μtz, debit 1μtz, self-delegation *) - Tztest.tztest - "failed self-delegation: credit & debit 1μꜩ" - `Quick - (failed_self_delegation_emptied_implicit_contract Tez.one_mutez); - (* credit 1μtz, delegate, debit 1μtz *) - Tztest.tztest - "empty delegated contract is not deleted: credit 1μꜩ, delegate & \ - debit 1μꜩ" - `Quick - (emptying_delegated_implicit_contract_fails Tez.one_mutez); - (*** valid registration ***) - (* valid registration: credit 1 μꜩ, self delegation *) - Tztest.tztest - "valid delegate registration: credit 1μꜩ, self delegation (init with \ - delegation)" - `Quick - (valid_delegate_registration_init_delegation_credit Tez.one_mutez); - Tztest.tztest - "valid delegate registration: credit 1μꜩ, self delegation (switch \ - with delegation)" - `Quick - (valid_delegate_registration_switch_delegation_credit Tez.one_mutez); - (* valid registration: credit 1 μꜩ, self delegation, debit 1μꜩ *) - Tztest.tztest - "valid delegate registration: credit 1μꜩ, self delegation, debit \ - 1μꜩ (init with delegation)" - `Quick - (valid_delegate_registration_init_delegation_credit_debit Tez.one_mutez); - Tztest.tztest - "valid delegate registration: credit 1μꜩ, self delegation, debit \ - 1μꜩ (switch with delegation)" - `Quick - (valid_delegate_registration_switch_delegation_credit_debit Tez.one_mutez); - (*** double registration ***) - Tztest.tztest "double registration" `Quick double_registration; - Tztest.tztest - "double registration when delegate account is emptied" - `Quick - double_registration_when_empty; - Tztest.tztest - "double registration when delegate account is emptied and then recredited" - `Quick - double_registration_when_recredited; - ] - -(******************************************************************************) -(* Main *) -(******************************************************************************) - -let tests = tests_bootstrap_contracts @ tests_delegate_registration diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/double_baking.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/double_baking.ml deleted file mode 100644 index a246801c57d0..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/double_baking.ml +++ /dev/null @@ -1,205 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -(** Double baking evidence operation may happen when a baker - baked two different blocks on the same level. *) - -open Protocol -open Alpha_context - -(****************************************************************) -(* Utility functions *) -(****************************************************************) - -let get_first_different_baker baker bakers = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.find - (fun baker' -> Signature.Public_key_hash.( <> ) baker baker') - bakers - -let get_first_different_bakers ctxt = - Context.get_bakers ctxt >|=? fun bakers -> - let baker_1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bakers in - get_first_different_baker - baker_1 - (WithExceptions.Option.get ~loc:__LOC__ @@ List.tl bakers) - |> fun baker_2 -> (baker_1, baker_2) - -let get_first_different_endorsers ctxt = - Context.get_endorsers ctxt >|=? fun endorsers -> - let endorser_1 = - (WithExceptions.Option.get ~loc:__LOC__ @@ List.hd endorsers).delegate - in - let endorser_2 = - (WithExceptions.Option.get ~loc:__LOC__ - @@ List.hd (WithExceptions.Option.get ~loc:__LOC__ @@ List.tl endorsers)) - .delegate - in - (endorser_1, endorser_2) - -(** Bake two block at the same level using the same policy (i.e. same - baker) *) -let block_fork ?policy contracts b = - let (contract_a, contract_b) = - ( WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts, - WithExceptions.Option.get ~loc:__LOC__ - @@ List.hd (WithExceptions.Option.get ~loc:__LOC__ @@ List.tl contracts) - ) - in - Op.transaction (B b) contract_a contract_b Alpha_context.Tez.one_cent - >>=? fun operation -> - Block.bake ?policy ~operation b >>=? fun blk_a -> - Block.bake ?policy b >|=? fun blk_b -> (blk_a, blk_b) - -(****************************************************************) -(* Tests *) -(****************************************************************) - -(** Simple scenario where two blocks are baked by a same baker and - exposed by a double baking evidence operation *) -let valid_double_baking_evidence () = - Context.init 2 >>=? fun (b, contracts) -> - Context.get_bakers (B b) >>=? fun bakers -> - let priority_0_baker = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bakers - in - block_fork ~policy:(By_priority 0) contracts b >>=? fun (blk_a, blk_b) -> - Op.double_baking (B blk_a) blk_a.header blk_b.header |> fun operation -> - Block.bake ~policy:(Excluding [priority_0_baker]) ~operation blk_a - >>=? fun blk -> - (* Check that the frozen deposit, the fees and rewards are removed *) - List.iter_es - (fun kind -> - let contract = - Alpha_context.Contract.implicit_contract priority_0_baker - in - Assert.balance_is ~loc:__LOC__ (B blk) contract ~kind Tez.zero) - [Deposit; Fees; Rewards] - -(****************************************************************) -(* The following test scenarios are supposed to raise errors. *) -(****************************************************************) - -(** Check that a double baking operation fails if it exposes the same two blocks *) -let same_blocks () = - Context.init 2 >>=? fun (b, _contracts) -> - Block.bake b >>=? fun ba -> - Op.double_baking (B ba) ba.header ba.header |> fun operation -> - Block.bake ~operation ba >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_double_baking_evidence _ -> true - | _ -> false) - >>=? fun () -> return_unit - -(** Check that a double baking operation exposing two blocks with - different levels fails *) -let different_levels () = - Context.init 2 >>=? fun (b, contracts) -> - block_fork ~policy:(By_priority 0) contracts b >>=? fun (blk_a, blk_b) -> - Block.bake blk_b >>=? fun blk_b_2 -> - Op.double_baking (B blk_a) blk_a.header blk_b_2.header |> fun operation -> - Block.bake ~operation blk_a >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_double_baking_evidence _ -> true - | _ -> false) - -(** Check that a double baking operation exposing two yet to be baked - blocks fails *) -let too_early_double_baking_evidence () = - Context.init 2 >>=? fun (b, contracts) -> - block_fork ~policy:(By_priority 0) contracts b >>=? fun (blk_a, blk_b) -> - Op.double_baking (B b) blk_a.header blk_b.header |> fun operation -> - Block.bake ~operation b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Too_early_double_baking_evidence _ -> true - | _ -> false) - -(** Check that after [preserved_cycles + 1], it is not possible to - create a double baking operation anymore *) -let too_late_double_baking_evidence () = - Context.init 2 >>=? fun (b, contracts) -> - Context.get_constants (B b) - >>=? fun Constants.{parametric = {preserved_cycles; _}; _} -> - block_fork ~policy:(By_priority 0) contracts b >>=? fun (blk_a, blk_b) -> - List.fold_left_es - (fun blk _ -> Block.bake_until_cycle_end blk) - blk_a - (1 -- (preserved_cycles + 1)) - >>=? fun blk -> - Op.double_baking (B blk) blk_a.header blk_b.header |> fun operation -> - Block.bake ~operation blk >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Outdated_double_baking_evidence _ -> true - | _ -> false) - -(** Check that an invalid double baking evidence that exposes two block - baking with same level made by different bakers fails *) -let different_delegates () = - Context.init 2 >>=? fun (b, _) -> - get_first_different_bakers (B b) >>=? fun (baker_1, baker_2) -> - Block.bake ~policy:(By_account baker_1) b >>=? fun blk_a -> - Block.bake ~policy:(By_account baker_2) b >>=? fun blk_b -> - Op.double_baking (B blk_a) blk_a.header blk_b.header |> fun operation -> - Block.bake ~operation blk_a >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Apply.Inconsistent_double_baking_evidence _ -> true - | _ -> false) - -let wrong_signer () = - (* Baker_2 bakes a block but baker signs it. *) - let header_custom_signer baker baker_2 b = - Block.Forge.forge_header ~policy:(By_account baker_2) b >>=? fun header -> - Block.Forge.set_baker baker header |> Block.Forge.sign_header - in - Context.init 2 >>=? fun (b, _) -> - get_first_different_bakers (B b) >>=? fun (baker_1, baker_2) -> - Block.bake ~policy:(By_account baker_1) b >>=? fun blk_a -> - header_custom_signer baker_1 baker_2 b >>=? fun header_b -> - Op.double_baking (B blk_a) blk_a.header header_b |> fun operation -> - Block.bake ~operation blk_a >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Baking.Invalid_block_signature _ -> true - | _ -> false) - -let tests = - [ - Tztest.tztest - "valid double baking evidence" - `Quick - valid_double_baking_evidence; - (* Should fail*) - Tztest.tztest "same blocks" `Quick same_blocks; - Tztest.tztest "different levels" `Quick different_levels; - Tztest.tztest - "too early double baking evidence" - `Quick - too_early_double_baking_evidence; - Tztest.tztest - "too late double baking evidence" - `Quick - too_late_double_baking_evidence; - Tztest.tztest "different delegates" `Quick different_delegates; - Tztest.tztest "wrong delegate" `Quick wrong_signer; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/double_endorsement.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/double_endorsement.ml deleted file mode 100644 index bbb122fcf3de..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/double_endorsement.ml +++ /dev/null @@ -1,215 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -(** Double endorsement evidence operation may happen when an endorser - endorsed two different blocks on the same level. *) - -open Protocol -open Alpha_context - -(****************************************************************) -(* Utility functions *) -(****************************************************************) - -let get_first_different_baker baker bakers = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.find - (fun baker' -> Signature.Public_key_hash.( <> ) baker baker') - bakers - -let get_first_different_bakers ctxt = - Context.get_bakers ctxt >|=? fun bakers -> - let baker_1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bakers in - get_first_different_baker - baker_1 - (WithExceptions.Option.get ~loc:__LOC__ @@ List.tl bakers) - |> fun baker_2 -> (baker_1, baker_2) - -let get_first_different_endorsers ctxt = - Context.get_endorsers ctxt >|=? fun endorsers -> - let endorser_1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd endorsers - in - let endorser_2 = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.hd (WithExceptions.Option.get ~loc:__LOC__ @@ List.tl endorsers) - in - (endorser_1, endorser_2) - -let block_fork b = - get_first_different_bakers (B b) >>=? fun (baker_1, baker_2) -> - Block.bake ~policy:(By_account baker_1) b >>=? fun blk_a -> - Block.bake ~policy:(By_account baker_2) b >|=? fun blk_b -> (blk_a, blk_b) - -(****************************************************************) -(* Tests *) -(****************************************************************) - -(** Simple scenario where two endorsements are made from the same - delegate and exposed by a double_endorsement operation. Also verify - that punishment is operated. *) -let valid_double_endorsement_evidence () = - Context.init 2 >>=? fun (b, _) -> - block_fork b >>=? fun (blk_a, blk_b) -> - Context.get_endorser (B blk_a) >>=? fun (delegate, _slots) -> - Op.endorsement ~delegate (B blk_a) () >>=? fun endorsement_a -> - Op.endorsement ~delegate (B blk_b) () >>=? fun endorsement_b -> - Block.bake ~operations:[Operation.pack endorsement_a] blk_a >>=? fun blk_a -> - (* Block.bake ~operations:[endorsement_b] blk_b >>=? fun _ -> *) - Op.double_endorsement (B blk_a) endorsement_a endorsement_b - |> fun operation -> - (* Bake with someone different than the bad endorser *) - Context.get_bakers (B blk_a) >>=? fun bakers -> - get_first_different_baker delegate bakers |> fun baker -> - Block.bake ~policy:(By_account baker) ~operation blk_a >>=? fun blk -> - (* Check that the frozen deposit, the fees and rewards are removed *) - List.iter_es - (fun kind -> - let contract = Alpha_context.Contract.implicit_contract delegate in - Assert.balance_is ~loc:__LOC__ (B blk) contract ~kind Tez.zero) - [Deposit; Fees; Rewards] - -(****************************************************************) -(* The following test scenarios are supposed to raise errors. *) -(****************************************************************) - -(** Check that an invalid double endorsement operation that exposes a valid - endorsement fails. *) -let invalid_double_endorsement () = - Context.init 10 >>=? fun (b, _) -> - Block.bake b >>=? fun b -> - Op.endorsement (B b) () >>=? fun endorsement -> - Block.bake ~operation:(Operation.pack endorsement) b >>=? fun b -> - Op.double_endorsement (B b) endorsement endorsement |> fun operation -> - Block.bake ~operation b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_double_endorsement_evidence -> true - | _ -> false) - -(** Check that a double endorsement added at the same time as a double - endorsement operation fails. *) -let too_early_double_endorsement_evidence () = - Context.init 2 >>=? fun (b, _) -> - block_fork b >>=? fun (blk_a, blk_b) -> - Context.get_endorser (B blk_a) >>=? fun (delegate, _slots) -> - Op.endorsement ~delegate (B blk_a) () >>=? fun endorsement_a -> - Op.endorsement ~delegate (B blk_b) () >>=? fun endorsement_b -> - Op.double_endorsement (B b) endorsement_a endorsement_b |> fun operation -> - Block.bake ~operation b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Too_early_double_endorsement_evidence _ -> true - | _ -> false) - -(** Check that after [preserved_cycles + 1], it is not possible - to create a double_endorsement anymore. *) -let too_late_double_endorsement_evidence () = - Context.init 2 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun Constants.{parametric = {preserved_cycles; _}; _} -> - block_fork b >>=? fun (blk_a, blk_b) -> - Context.get_endorser (B blk_a) >>=? fun (delegate, _slots) -> - Op.endorsement ~delegate (B blk_a) () >>=? fun endorsement_a -> - Op.endorsement ~delegate (B blk_b) () >>=? fun endorsement_b -> - List.fold_left_es - (fun blk _ -> Block.bake_until_cycle_end blk) - blk_a - (1 -- (preserved_cycles + 1)) - >>=? fun blk -> - Op.double_endorsement (B blk) endorsement_a endorsement_b |> fun operation -> - Block.bake ~operation blk >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Outdated_double_endorsement_evidence _ -> true - | _ -> false) - -(** Check that an invalid double endorsement evidence that expose two - endorsements made by two different endorsers fails. *) -let different_delegates () = - Context.init 2 >>=? fun (b, _) -> - Block.bake b >>=? fun b -> - block_fork b >>=? fun (blk_a, blk_b) -> - Context.get_endorser (B blk_a) >>=? fun (endorser_a, _a_slots) -> - get_first_different_endorsers (B blk_b) - >>=? fun (endorser_b1c, endorser_b2c) -> - let endorser_b = - if Signature.Public_key_hash.( = ) endorser_a endorser_b1c.delegate then - endorser_b2c.delegate - else endorser_b1c.delegate - in - Op.endorsement ~delegate:endorser_a (B blk_a) () >>=? fun e_a -> - Op.endorsement ~delegate:endorser_b (B blk_b) () >>=? fun e_b -> - Block.bake ~operation:(Operation.pack e_b) blk_b >>=? fun _ -> - Op.double_endorsement (B blk_b) e_a e_b |> fun operation -> - Block.bake ~operation blk_b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Inconsistent_double_endorsement_evidence _ -> true - | _ -> false) - -(** Check that a double endorsement evidence that exposes a ill-formed - endorsement fails. *) -let wrong_delegate () = - Context.init ~endorsers_per_block:1 2 >>=? fun (b, contracts) -> - List.map_es (Context.Contract.manager (B b)) contracts >>=? fun accounts -> - let pkh1 = - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth accounts 0).Account.pkh - in - let pkh2 = - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth accounts 1).Account.pkh - in - block_fork b >>=? fun (blk_a, blk_b) -> - Context.get_endorser (B blk_a) >>=? fun (endorser_a, _a_slots) -> - Op.endorsement ~delegate:endorser_a (B blk_a) () >>=? fun endorsement_a -> - Context.get_endorser (B blk_b) >>=? fun (endorser_b, _b_slots) -> - let delegate = - if Signature.Public_key_hash.equal pkh1 endorser_b then pkh2 else pkh1 - in - Op.endorsement ~delegate (B blk_b) () >>=? fun endorsement_b -> - Op.double_endorsement (B blk_b) endorsement_a endorsement_b - |> fun operation -> - Block.bake ~operation blk_b >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Baking.Unexpected_endorsement -> true - | _ -> false) - -let tests = - [ - Tztest.tztest - "valid double endorsement evidence" - `Quick - valid_double_endorsement_evidence; - Tztest.tztest - "invalid double endorsement evidence" - `Quick - invalid_double_endorsement; - Tztest.tztest - "too early double endorsement evidence" - `Quick - too_early_double_endorsement_evidence; - Tztest.tztest - "too late double endorsement evidence" - `Quick - too_late_double_endorsement_evidence; - Tztest.tztest "different delegates" `Quick different_delegates; - Tztest.tztest "wrong delegate" `Quick wrong_delegate; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/dune b/src/proto_008_PtEdo2Zk/lib_protocol/test/dune deleted file mode 100644 index 9932f2605bcb..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/dune +++ /dev/null @@ -1,43 +0,0 @@ -(executable - (name main) - (libraries tezos-base - tezos-micheline - tezos-protocol-environment - alcotest-lwt - tezos-008-PtEdo2Zk-test-helpers - tezos-stdlib-unix - tezos-client-base - tezos-protocol-008-PtEdo2Zk-parameters - tezos-base-test-helpers - tezos-sapling) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_micheline - -open Tezos_client_008_PtEdo2Zk - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_protocol_environment_008_PtEdo2Zk - -open Tezos_008_PtEdo2Zk_test_helpers - -open Tezos_base_test_helpers))) - -(rule - (copy %{lib:tezos-protocol-008-PtEdo2Zk-parameters:test-parameters.json} - protocol_parameters.json)) - -; runs only the `Quick tests -(rule - (alias runtest_proto_008_PtEdo2Zk) - (deps (glob_files contracts/*)) - (package tezos-protocol-008-PtEdo2Zk-tests) - (action (run %{exe:main.exe} -q))) - -; runs both `Quick and `Slow tests -(rule - (alias runtest_slow) - (deps (glob_files contracts/*)) - (package tezos-protocol-008-PtEdo2Zk-tests) - (action (run %{exe:main.exe}))) - -(rule - (alias runtest) - (package tezos-protocol-008-PtEdo2Zk-tests) - (deps (alias runtest_proto_008_PtEdo2Zk)) - (action (progn))) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/endorsement.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/endorsement.ml deleted file mode 100644 index 54cfac7562ff..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/endorsement.ml +++ /dev/null @@ -1,574 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -(** Endorsing a block adds an extra layer of confidence to the Tezos' - PoS algorithm. The block endorsing operation must be included in - the following block. Each endorser possess a number of slots - corresponding to their priority. After [preserved_cycles], a reward - is given to the endorser. This reward depends on the priority of - the block that contains the endorsements. *) - -open Protocol -open Alpha_context -open Test_tez - -(****************************************************************) -(* Utility functions *) -(****************************************************************) - -let get_expected_reward ctxt ~priority ~baker ~endorsing_power = - (if baker then Context.get_baking_reward ctxt ~priority ~endorsing_power - else return (Test_tez.Tez.of_int 0)) - >>=? fun baking_reward -> - Context.get_endorsing_reward ctxt ~priority ~endorsing_power - >>=? fun endorsing_reward -> - Test_tez.Tez.(endorsing_reward +? baking_reward) >>?= fun reward -> - return reward - -let get_expected_deposit ctxt ~baker ~endorsing_power = - Context.get_constants ctxt - >>=? fun Constants. - { - parametric = - {endorsement_security_deposit; block_security_deposit; _}; - _; - } -> - let open Environment in - let open Tez in - let baking_deposit = if baker then block_security_deposit else of_int 0 in - endorsement_security_deposit *? Int64.of_int endorsing_power - >>?= fun endorsement_deposit -> - endorsement_deposit +? baking_deposit >>?= fun deposit -> return deposit - -(* [baker] is true if the [pkh] has also baked the current block, in - which case corresponding deposit and reward should be adjusted *) -let assert_endorser_balance_consistency ~loc ?(priority = 0) ?(baker = false) - ~endorsing_power ctxt pkh initial_balance = - let contract = Contract.implicit_contract pkh in - get_expected_reward ctxt ~priority ~baker ~endorsing_power >>=? fun reward -> - get_expected_deposit ctxt ~baker ~endorsing_power >>=? fun deposit -> - Assert.balance_was_debited ~loc ctxt contract initial_balance deposit - >>=? fun () -> - Context.Contract.balance ~kind:Rewards ctxt contract - >>=? fun reward_balance -> - Assert.equal_tez ~loc reward_balance reward >>=? fun () -> - Context.Contract.balance ~kind:Deposit ctxt contract - >>=? fun deposit_balance -> Assert.equal_tez ~loc deposit_balance deposit - -let delegates_with_slots endorsers = - List.map - (fun (endorser : Delegate_services.Endorsing_rights.t) -> endorser.delegate) - endorsers - -let endorsing_power endorsers = - List.fold_left - (fun sum (endorser : Delegate_services.Endorsing_rights.t) -> - sum + List.length endorser.slots) - 0 - endorsers - -(****************************************************************) -(* Tests *) -(****************************************************************) - -(** Apply a single endorsement from the slot 0 endorser *) -let simple_endorsement () = - Context.init 5 >>=? fun (b, _) -> - Context.get_endorser (B b) >>=? fun (delegate, slots) -> - Op.endorsement ~delegate (B b) () >>=? fun op -> - Context.Contract.balance (B b) (Contract.implicit_contract delegate) - >>=? fun initial_balance -> - let policy = Block.Excluding [delegate] in - Block.get_next_baker ~policy b >>=? fun (_, priority, _) -> - Block.bake ~policy ~operations:[Operation.pack op] b >>=? fun b2 -> - assert_endorser_balance_consistency - ~loc:__LOC__ - (B b2) - ~priority - ~endorsing_power:(List.length slots) - delegate - initial_balance - -(** Apply a maximum number of endorsements. An endorser can be - selected twice. *) -let max_endorsement () = - let endorsers_per_block = 16 in - Context.init ~endorsers_per_block 32 >>=? fun (b, _) -> - Context.get_endorsers (B b) >>=? fun endorsers -> - Assert.equal_int - ~loc:__LOC__ - (List.length - (List.concat - (List.map - (fun {Alpha_services.Delegate.Endorsing_rights.slots; _} -> slots) - endorsers))) - endorsers_per_block - >>=? fun () -> - List.fold_left_es - (fun (delegates, ops, balances) - (endorser : Alpha_services.Delegate.Endorsing_rights.t) -> - let delegate = endorser.delegate in - Context.Contract.balance (B b) (Contract.implicit_contract delegate) - >>=? fun balance -> - Op.endorsement ~delegate (B b) () >|=? fun op -> - ( delegate :: delegates, - Operation.pack op :: ops, - (List.length endorser.slots, balance) :: balances )) - ([], [], []) - endorsers - >>=? fun (delegates, ops, previous_balances) -> - Block.bake ~policy:(Excluding delegates) ~operations:(List.rev ops) b - >>=? fun b -> - (* One account can endorse more than one time per level, we must - check that the bonds are summed up *) - List.iter2_es - ~when_different_lengths: - (TzTrace.make (Exn (Failure "Unequal delegates and balances lengths"))) - (fun endorser_account (endorsing_power, previous_balance) -> - assert_endorser_balance_consistency - ~loc:__LOC__ - (B b) - ~endorsing_power - endorser_account - previous_balance) - delegates - previous_balances - -(** Check every that endorsers' balances are consistent with different priorities *) -let consistent_priorities () = - let priorities = 0 -- 64 in - Context.init 64 >>=? fun (b, _) -> - List.fold_left_es - (fun (b, used_pkhes) priority -> - (* Choose an endorser that has not baked nor endorsed before *) - Context.get_endorsers (B b) >>=? fun endorsers -> - let endorser = - List.find_opt - (fun (e : Delegate_services.Endorsing_rights.t) -> - not (Signature.Public_key_hash.Set.mem e.delegate used_pkhes)) - endorsers - in - match endorser with - | None -> - return (b, used_pkhes) (* not enough fresh endorsers; we "stop" *) - | Some endorser -> - Context.Contract.balance - (B b) - (Contract.implicit_contract endorser.delegate) - >>=? fun balance -> - Op.endorsement ~delegate:endorser.delegate (B b) () - >>=? fun operation -> - let operation = Operation.pack operation in - Block.get_next_baker ~policy:(By_priority priority) b - >>=? fun (baker, _, _) -> - let used_pkhes = Signature.Public_key_hash.Set.add baker used_pkhes in - let used_pkhes = - Signature.Public_key_hash.Set.add endorser.delegate used_pkhes - in - (* Bake with a specific priority *) - Block.bake ~policy:(By_priority priority) ~operation b >>=? fun b -> - let is_baker = - Signature.Public_key_hash.(baker = endorser.delegate) - in - assert_endorser_balance_consistency - ~loc:__LOC__ - ~priority - ~baker:is_baker - (B b) - ~endorsing_power:(List.length endorser.slots) - endorser.delegate - balance - >|=? fun () -> (b, used_pkhes)) - (b, Signature.Public_key_hash.Set.empty) - priorities - >>=? fun _b -> return_unit - -(** Check that after [preserved_cycles] cycles the endorser gets his reward *) -let reward_retrieval () = - Context.init 5 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun Constants.{parametric = {preserved_cycles; _}; _} -> - Context.get_endorser (B b) >>=? fun (endorser, slots) -> - Context.Contract.balance (B b) (Contract.implicit_contract endorser) - >>=? fun balance -> - Op.endorsement ~delegate:endorser (B b) () >>=? fun operation -> - let operation = Operation.pack operation in - let policy = Block.Excluding [endorser] in - Block.get_next_baker ~policy b >>=? fun (_, priority, _) -> - Block.bake ~policy ~operation b >>=? fun b -> - (* Bake (preserved_cycles + 1) cycles *) - List.fold_left_es - (fun b _ -> Block.bake_until_cycle_end ~policy:(Excluding [endorser]) b) - b - (0 -- preserved_cycles) - >>=? fun b -> - get_expected_reward - (B b) - ~priority - ~baker:false - ~endorsing_power:(List.length slots) - >>=? fun reward -> - Assert.balance_was_credited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser) - balance - reward - -(** Check that after [preserved_cycles] cycles endorsers get their - reward. Two endorsers are used and they endorse in different - cycles. *) -let reward_retrieval_two_endorsers () = - Context.init 5 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun Constants. - { - parametric = {preserved_cycles; endorsement_security_deposit; _}; - _; - } -> - Context.get_endorsers (B b) >>=? fun endorsers -> - let endorser1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd endorsers in - let endorser2 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth endorsers 1 - in - Context.Contract.balance (B b) (Contract.implicit_contract endorser1.delegate) - >>=? fun balance1 -> - Context.Contract.balance (B b) (Contract.implicit_contract endorser2.delegate) - >>=? fun balance2 -> - Tez.( - endorsement_security_deposit *? Int64.of_int (List.length endorser1.slots)) - >>?= fun security_deposit1 -> - (* endorser1 endorses the genesis block in cycle 0 *) - Op.endorsement ~delegate:endorser1.delegate (B b) () >>=? fun operation1 -> - let policy = Block.Excluding [endorser1.delegate; endorser2.delegate] in - Block.get_next_baker ~policy b >>=? fun (_, priority, _) -> - Context.get_endorsing_reward - (B b) - ~priority - ~endorsing_power:(List.length endorser1.slots) - >>=? fun reward1 -> - (* bake next block, include endorsement of endorser1 *) - Block.bake ~policy ~operation:(Operation.pack operation1) b >>=? fun b -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser1.delegate) - balance1 - security_deposit1 - >>=? fun () -> - Assert.balance_is - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser2.delegate) - balance2 - >>=? fun () -> - (* complete cycle 0 *) - Block.bake_until_cycle_end ~policy b >>=? fun b -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser1.delegate) - balance1 - security_deposit1 - >>=? fun () -> - Assert.balance_is - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser2.delegate) - balance2 - >>=? fun () -> - (* get the slots of endorser2 for the current block *) - Context.get_endorsers (B b) >>=? fun endorsers -> - let same_endorser2 endorser = - Signature.Public_key_hash.( - endorser.Delegate_services.Endorsing_rights.delegate = endorser2.delegate) - in - let endorser2 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.find same_endorser2 endorsers - in - (* No exception raised: in sandboxed mode endorsers do not change between blocks *) - Tez.( - endorsement_security_deposit *? Int64.of_int (List.length endorser2.slots)) - >>?= fun security_deposit2 -> - (* endorser2 endorses the last block in cycle 0 *) - Op.endorsement ~delegate:endorser2.delegate (B b) () >>=? fun operation2 -> - (* bake first block in cycle 1, include endorsement of endorser2 *) - Block.bake ~policy ~operation:(Operation.pack operation2) b >>=? fun b -> - let priority = b.header.protocol_data.contents.priority in - Context.get_endorsing_reward - (B b) - ~priority - ~endorsing_power:(List.length endorser2.slots) - >>=? fun reward2 -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser1.delegate) - balance1 - security_deposit1 - >>=? fun () -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser2.delegate) - balance2 - security_deposit2 - >>=? fun () -> - (* bake [preserved_cycles] cycles *) - List.fold_left_es - (fun b _ -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser1.delegate) - balance1 - security_deposit1 - >>=? fun () -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser2.delegate) - balance2 - security_deposit2 - >>=? fun () -> Block.bake_until_cycle_end ~policy b) - b - (1 -- preserved_cycles) - >>=? fun b -> - Assert.balance_was_credited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser1.delegate) - balance1 - reward1 - >>=? fun () -> - Assert.balance_was_debited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser2.delegate) - balance2 - security_deposit2 - >>=? fun () -> - (* bake cycle [preserved_cycle + 1] *) - Block.bake_until_cycle_end ~policy b >>=? fun b -> - Assert.balance_was_credited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser1.delegate) - balance1 - reward1 - >>=? fun () -> - Assert.balance_was_credited - ~loc:__LOC__ - (B b) - (Contract.implicit_contract endorser2.delegate) - balance2 - reward2 - -(****************************************************************) -(* The following test scenarios are supposed to raise errors. *) -(****************************************************************) - -(** Wrong endorsement predecessor : apply an endorsement with an - incorrect block predecessor *) -let wrong_endorsement_predecessor () = - Context.init 5 >>=? fun (b, _) -> - Context.get_endorser (B b) >>=? fun (genesis_endorser, _slots) -> - Block.bake b >>=? fun b' -> - Op.endorsement ~delegate:genesis_endorser ~signing_context:(B b) (B b') () - >>=? fun operation -> - let operation = Operation.pack operation in - Block.bake ~operation b' >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Wrong_endorsement_predecessor _ -> true - | _ -> false) - -(** Invalid_endorsement_level : apply an endorsement with an incorrect - level (i.e. the predecessor level) *) -let invalid_endorsement_level () = - Context.init 5 >>=? fun (b, _) -> - Context.get_level (B b) >>?= fun genesis_level -> - Block.bake b >>=? fun b -> - Op.endorsement ~level:genesis_level (B b) () >>=? fun operation -> - let operation = Operation.pack operation in - Block.bake ~operation b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Invalid_endorsement_level -> true - | _ -> false) - -(** Duplicate endorsement : apply an endorsement that has already been done *) -let duplicate_endorsement () = - Context.init 5 >>=? fun (b, _) -> - Incremental.begin_construction b >>=? fun inc -> - Op.endorsement (B b) () >>=? fun operation -> - let operation = Operation.pack operation in - Incremental.add_operation inc operation >>=? fun inc -> - Op.endorsement (B b) () >>=? fun operation -> - let operation = Operation.pack operation in - Incremental.add_operation inc operation >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Apply.Duplicate_endorsement _ -> true - | _ -> false) - -(** Apply a single endorsement from the slot 0 endorser *) -let not_enough_for_deposit () = - Context.init 5 ~endorsers_per_block:1 >>=? fun (b_init, contracts) -> - List.map_es - (fun c -> Context.Contract.manager (B b_init) c >|=? fun m -> (m, c)) - contracts - >>=? fun managers -> - Block.bake b_init >>=? fun b -> - (* retrieve the level 2's endorser *) - Context.get_endorser (B b) >>=? fun (endorser, _slots) -> - let (_, contract_other_than_endorser) = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.find - (fun (c, _) -> - not (Signature.Public_key_hash.equal c.Account.pkh endorser)) - managers - in - let (_, contract_of_endorser) = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.find - (fun (c, _) -> Signature.Public_key_hash.equal c.Account.pkh endorser) - managers - in - Context.Contract.balance (B b) (Contract.implicit_contract endorser) - >>=? fun initial_balance -> - (* Empty the future endorser account *) - Op.transaction - (B b_init) - contract_of_endorser - contract_other_than_endorser - initial_balance - >>=? fun op_trans -> - Block.bake ~operation:op_trans b_init >>=? fun b -> - (* Endorse with a zero balance *) - Op.endorsement ~delegate:endorser (B b) () >>=? fun op_endo -> - Block.bake - ~policy:(Excluding [endorser]) - ~operation:(Operation.pack op_endo) - b - >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Delegate_storage.Balance_too_low_for_deposit _ -> true - | _ -> false) - -(* check that a block with not enough endorsement cannot be baked *) -let endorsement_threshold () = - let initial_endorsers = 28 in - let num_accounts = 100 in - Context.init ~initial_endorsers num_accounts >>=? fun (b, _) -> - Context.get_endorsers (B b) >>=? fun endorsers -> - let num_endorsers = List.length endorsers in - (* we try to bake with more and more endorsers, but at each - iteration with a timestamp smaller than required *) - List.iter_es - (fun i -> - (* the priority is chosen rather arbitrarily *) - let priority = num_endorsers - i in - let crt_endorsers = List.take_n i endorsers in - let endorsing_power = endorsing_power crt_endorsers in - let delegates = delegates_with_slots crt_endorsers in - List.map_es (fun x -> Op.endorsement ~delegate:x (B b) ()) delegates - >>=? fun ops -> - Context.get_minimal_valid_time (B b) ~priority ~endorsing_power - >>=? fun timestamp -> - (* decrease the timestamp by one second *) - let seconds = - Int64.(sub (of_string (Timestamp.to_seconds_string timestamp)) 1L) - in - match Timestamp.of_seconds_string (Int64.to_string seconds) with - | None -> failwith "timestamp to/from string manipulation failed" - | Some timestamp -> - Block.bake - ~timestamp - ~policy:(By_priority priority) - ~operations:(List.map Operation.pack ops) - b - >>= fun b2 -> - Assert.proto_error ~loc:__LOC__ b2 (function - | Baking.Timestamp_too_early _ - | Apply.Not_enough_endorsements_for_priority _ -> - true - | _ -> false)) - (0 -- (num_endorsers - 1)) - >>=? fun () -> - (* we bake with all endorsers endorsing, at the right time *) - let priority = 0 in - let endorsing_power = endorsing_power endorsers in - let delegates = delegates_with_slots endorsers in - List.map_es (fun delegate -> Op.endorsement ~delegate (B b) ()) delegates - >>=? fun ops -> - Context.get_minimal_valid_time (B b) ~priority ~endorsing_power - >>=? fun timestamp -> - Block.bake - ~policy:(By_priority priority) - ~timestamp - ~operations:(List.map Operation.pack ops) - b - >>= fun _ -> return_unit - -let test_fitness_gap () = - let num_accounts = 5 in - Context.init num_accounts >>=? fun (b, _) -> - (match Fitness_repr.to_int64 b.header.shell.fitness with - | Ok fitness -> Int64.to_int fitness - | Error _ -> assert false) - |> fun fitness -> - Context.get_endorser (B b) >>=? fun (delegate, _slots) -> - Op.endorsement ~delegate (B b) () >>=? fun op -> - (* bake at priority 0 succeed thanks to enough endorsements *) - Block.bake ~policy:(By_priority 0) ~operations:[Operation.pack op] b - >>=? fun b -> - (match Fitness_repr.to_int64 b.header.shell.fitness with - | Ok new_fitness -> Int64.to_int new_fitness - fitness - | Error _ -> assert false) - |> fun res -> - (* in Emmy+, the fitness increases by 1, so the difference between - the fitness at level 1 and at level 0 is 1, independently if the - number fo endorsements (here 1) *) - Assert.equal_int ~loc:__LOC__ res 1 >>=? fun () -> return_unit - -let tests = - [ - Tztest.tztest "Simple endorsement" `Quick simple_endorsement; - Tztest.tztest "Maximum endorsement" `Quick max_endorsement; - Tztest.tztest "Consistent priorities" `Quick consistent_priorities; - Tztest.tztest "Reward retrieval" `Quick reward_retrieval; - Tztest.tztest - "Reward retrieval two endorsers" - `Quick - reward_retrieval_two_endorsers; - Tztest.tztest "Endorsement threshold" `Quick endorsement_threshold; - Tztest.tztest "Fitness gap" `Quick test_fitness_gap; - (* Fail scenarios *) - Tztest.tztest - "Wrong endorsement predecessor" - `Quick - wrong_endorsement_predecessor; - Tztest.tztest "Invalid endorsement level" `Quick invalid_endorsement_level; - Tztest.tztest "Duplicate endorsement" `Quick duplicate_endorsement; - Tztest.tztest "Not enough for deposit" `Quick not_enough_for_deposit; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/fixed_point.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/fixed_point.ml deleted file mode 100644 index 47687c3199bb..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/fixed_point.ml +++ /dev/null @@ -1,222 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol - -exception Fixed_point_test_error of string - -let err x = Exn (Fixed_point_test_error x) - -module type Arith = sig - type t - - val zero : t - - val equal : t -> t -> bool - - val random : unit -> t - - val add : t -> t -> t - - val sub : t -> t -> t -end - -let n = Z.of_int 42 - -let n' = Z.of_int 43 - -let nn = Z.neg n - -let basic_arith name (module A : Arith) = - let err msg = err (Format.asprintf "%s test: %s" name msg) in - let x = A.random () in - fail_unless A.(add zero x = x) (err "zero is neutral for +") >>=? fun () -> - let x = A.random () in - let y = A.random () in - fail_unless A.(add x y = add y x) (err "addition is commutative") - >>=? fun () -> - let x = A.random () in - fail_unless - A.(add x (sub zero x) = zero) - (err "addition and subtraction cancel") - >>=? fun () -> - let x = A.random () in - let y = A.random () in - let z = A.random () in - fail_unless - A.(add x (add y z) = add (add x y) z) - (err "addition is associative") - -let arith_from_integral : (module Fixed_point_repr.Full) -> (module Arith) = - fun (module FP) -> - let module Arith = struct - type t = FP.integral - - let zero = FP.zero - - let equal = FP.equal - - let random () = FP.integral_of_int (Random.int 898987) - - let add = FP.add - - let sub = FP.sub - end in - (module Arith) - -let arith_from_fp : (module Fixed_point_repr.Full) -> (module Arith) = - fun (module FP) -> - let module Arith = struct - type t = FP.fp - - let zero = FP.zero - - let equal = FP.equal - - let random () = FP.unsafe_fp (Z.of_int (Random.int 898987)) - - let add = FP.add - - let sub = FP.sub - end in - (module Arith) - -let integral_tests decimals () = - let module FP = Fixed_point_repr.Make (struct - let decimals = decimals - end) in - (* test roundtrips *) - fail_unless (FP.(integral_to_z (integral n)) = n) (err "roundtrip > 0") - >>=? fun () -> - fail_unless - (FP.(integral_to_z (integral Z.zero)) = Z.zero) - (err "roundtrip = 0") - >>=? fun () -> - fail_unless (FP.(integral_to_z (integral nn)) = nn) (err "roundtrip < 0") - >>=? fun () -> - (* test ceil/floor on integral *) - fail_unless - FP.(ceil (fp (integral n)) = integral n) - (err "integral;fp;ceil = integral") - >>=? fun () -> - fail_unless - FP.(floor (fp (integral n)) = integral n) - (err "integral;fp;floor = integral") - >>=? fun () -> - fail_unless - FP.(ceil (fp (integral nn)) = integral nn) - (err "integral;fp;ceil = integral") - >>=? fun () -> - fail_unless - FP.(floor (fp (integral nn)) = integral nn) - (err "integral;fp;floor = integral") - >>=? fun () -> - fail_unless FP.(add (integral n) (integral nn) = zero) (err "x + -x = zero") - >>=? fun () -> - fail_unless - (Format.asprintf "%a" FP.pp FP.(fp (integral n)) - = Format.asprintf "%a" FP.pp_integral (FP.integral n)) - (err "pp_integral(integral) = pp(fp(integral))") - >>=? fun () -> basic_arith "integral arith" (arith_from_integral (module FP)) - -let fp_zero () = - let decimals = 0 in - let module FP = Fixed_point_repr.Make (struct - let decimals = decimals - end) in - let err msg = err (Format.asprintf "(%d decimals) %s" decimals msg) in - fail_unless FP.(ceil (unsafe_fp n) = integral n) (err "ceil = id (> 0)") - >>=? fun () -> - fail_unless FP.(ceil (unsafe_fp nn) = integral nn) (err "ceil = id (< 0)") - >>=? fun () -> - fail_unless - FP.( - ceil (fp (add (integral n) (integral n))) = add (integral n) (integral n)) - (err "ceil (fp (i1 + i2)) = i1 + i2") - >>=? fun () -> - fail_unless - (Format.asprintf "%a" FP.pp FP.(unsafe_fp n) - = Format.asprintf "%a" FP.pp_integral (FP.integral n)) - (err "pp_integral(integral) = pp(fp(integral))") - >>=? fun () -> basic_arith "fp (0 decimals) arith" (arith_from_fp (module FP)) - -let fp_nonzero decimals () = - let module FP = Fixed_point_repr.Make (struct - let decimals = decimals - end) in - let prefix msg = Format.asprintf "(%d decimals) %s" decimals msg in - let err msg = err (prefix msg) in - basic_arith (prefix "integral arith") (arith_from_integral (module FP)) - >>=? fun () -> - basic_arith (prefix "fp arith") (arith_from_fp (module FP)) >>=? fun () -> - let epsilon = FP.unsafe_fp Z.one in - let neg_epsilon = FP.unsafe_fp Z.minus_one in - fail_unless FP.(ceil epsilon = integral Z.one) (err "ceil eps = 1") - >>=? fun () -> - fail_unless FP.(floor epsilon = integral Z.zero) (err "floor eps = 1") - >>=? fun () -> - fail_unless FP.(ceil neg_epsilon = zero) (err "ceil neg_eps = 0") - >>=? fun () -> - fail_unless - FP.(floor neg_epsilon = integral Z.minus_one) - (err "floor neg_eps = -1") - >>=? fun () -> - let x = Z.of_int (Random.int 980812) in - fail_unless - FP.(ceil (add (fp (integral x)) (unsafe_fp Z.one)) = integral (Z.succ x)) - (err "ceil (x + eps) = x + 1") - -let fp_pp () = - let module FP = Fixed_point_repr.Make (struct - let decimals = 3 - end) in - let prefix msg = Format.asprintf "(%d decimals) %s" 3 msg in - let err msg = err (prefix msg) in - let epsilon = FP.unsafe_fp Z.one in - let neg_epsilon = FP.unsafe_fp Z.minus_one in - let ( =:= ) x expected = Format.asprintf "%a" FP.pp x = expected in - fail_unless (epsilon =:= "0.001") (err "eps = 0.001") >>=? fun () -> - fail_unless (neg_epsilon =:= "-0.001") (err "eps = -0.001") >>=? fun () -> - fail_unless (FP.unsafe_fp (Z.of_int 1000) =:= "1") (err "1.000 = 1") - >>=? fun () -> - fail_unless (FP.unsafe_fp (Z.of_int 1001) =:= "1.001") (err "1.001") - >>=? fun () -> - fail_unless (FP.unsafe_fp (Z.of_int 10001) =:= "10.001") (err "10.001") - >>=? fun () -> - fail_unless - (FP.unsafe_fp (Z.neg (Z.of_int 10001)) =:= "-10.001") - (err "-10.001") - >>=? fun () -> fail_unless (FP.zero =:= "0") (err "0") - -let tests = - [ - Tztest.tztest "Integral tests (0 decimals)" `Quick (integral_tests 0); - Tztest.tztest "Integral tests (1 decimals)" `Quick (integral_tests 1); - Tztest.tztest "Integral tests (10 decimals)" `Quick (integral_tests 10); - Tztest.tztest "FP tests (0 decimals)" `Quick fp_zero; - Tztest.tztest "FP tests (1 decimals)" `Quick (fp_nonzero 1); - Tztest.tztest "FP tests (3 decimals)" `Quick (fp_nonzero 3); - Tztest.tztest "FP pp tests (3 decimals)" `Quick fp_pp; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/gas_costs.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/gas_costs.ml deleted file mode 100644 index 359b15e81672..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/gas_costs.ml +++ /dev/null @@ -1,275 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol -open Script_ir_translator - -(* Basic tests related to costs. - Current limitations: for maps, sets & compare, we only test integer - comparable keys. *) - -let dummy_list = list_cons 42 list_empty - -let forty_two = Alpha_context.Script_int.of_int 42 - -let dummy_set = - set_update forty_two true (empty_set Script_typed_ir.(Int_key None)) - -let dummy_map = - map_update - forty_two - (Some forty_two) - (empty_map Script_typed_ir.(Int_key None)) - -let dummy_timestamp = Alpha_context.Script_timestamp.of_zint (Z.of_int 42) - -let dummy_pk = - Signature.Public_key.of_b58check_exn - "edpkuFrRoDSEbJYgxRtLx2ps82UdaYc1WwfS9sE11yhauZt5DgCHbU" - -let dummy_bytes = Bytes.of_string "dummy" - -let free = ["balance"; "bool"; "parsing_unit"; "unparsing_unit"] - -(* /!\ The compiler will only complain if costs are _removed_ /!\*) -let all_interpreter_costs = - let open Michelson_v1_gas.Cost_of.Interpreter in - [ - ("drop", drop); - ("dup", dup); - ("swap", swap); - ("push", push); - ("cons_some", cons_some); - ("cons_none", cons_none); - ("if_none", if_none); - ("cons_pair", cons_pair); - ("car", car); - ("cdr", cdr); - ("cons_left", cons_left); - ("cons_right", cons_right); - ("if_left", if_left); - ("cons_list", cons_list); - ("nil", nil); - ("if_cons", if_cons); - ("list_map", list_map dummy_list); - ("list_size", list_size); - ("list_iter", list_iter dummy_list); - ("empty_set", empty_set); - ("set_iter", set_iter dummy_set); - ("set_mem", set_mem forty_two dummy_set); - ("set_update", set_update forty_two dummy_set); - ("set_size", set_size); - ("empty_map", empty_map); - ("map_map", map_map dummy_map); - ("map_iter", map_iter dummy_map); - ("map_mem", map_mem forty_two dummy_map); - ("map_get", map_get forty_two dummy_map); - ("map_update", map_update forty_two dummy_map); - ("map_size", map_size); - ("add_seconds_timestamp", add_seconds_timestamp forty_two dummy_timestamp); - ("sub_seconds_timestamp", sub_seconds_timestamp forty_two dummy_timestamp); - ("diff_timestamps", diff_timestamps dummy_timestamp dummy_timestamp); - ("concat_string_pair", concat_string_pair "dummy" "dummy"); - ("slice_string", slice_string "dummy"); - ("string_size", string_size); - ("concat_bytes_pair", concat_bytes_pair dummy_bytes dummy_bytes); - ("slice_bytes", slice_bytes dummy_bytes); - ("bytes_size", bytes_size); - ("add_tez", add_tez); - ("sub_tez", sub_tez); - ("mul_teznat", mul_teznat forty_two); - ("bool_or", bool_or); - ("bool_and", bool_and); - ("bool_xor", bool_xor); - ("bool_not", bool_not); - ("is_nat", is_nat); - ("abs_int", abs_int forty_two); - ("int_nat", int_nat); - ("neg_int", neg_int forty_two); - ("neg_nat", neg_nat forty_two); - ("add_bigint", add_bigint forty_two forty_two); - ("sub_bigint", sub_bigint forty_two forty_two); - ("mul_bigint", mul_bigint forty_two forty_two); - ("ediv_teznat", ediv_teznat Alpha_context.Tez.fifty_cents forty_two); - ("ediv_tez", ediv_tez); - ("ediv_bigint", ediv_bigint forty_two (Alpha_context.Script_int.of_int 1)); - ("eq", eq); - ("lsl_nat", lsl_nat forty_two); - ("lsr_nat", lsr_nat forty_two); - ("or_nat", or_nat forty_two forty_two); - ("and_nat", and_nat forty_two forty_two); - ("xor_nat", xor_nat forty_two forty_two); - ("not_int", not_int forty_two); - ("not_nat", not_nat forty_two); - ("seq", seq); - ("if_", if_); - ("loop", loop); - ("loop_left", loop_left); - ("dip", dip); - ("check_signature", check_signature dummy_pk dummy_bytes); - ("blake2b", blake2b dummy_bytes); - ("sha256", sha256 dummy_bytes); - ("sha512", sha512 dummy_bytes); - ("dign", dign 42); - ("dugn", dugn 42); - ("dipn", dipn 42); - ("dropn", dropn 42); - ("neq", neq); - ("nop", nop); - ("compare", compare Script_typed_ir.(Int_key None) forty_two forty_two); - ( "concat_string_precheck", - concat_string_precheck (list_cons "42" list_empty) ); - ("concat_string", concat_string (Z.of_int 42)); - ("concat_bytes", concat_bytes (Z.of_int 42)); - ("exec", exec); - ("apply", apply); - ("lambda", lambda); - ("address", address); - ("contract", contract); - ("transfer_tokens", transfer_tokens); - ("implicit_account", implicit_account); - ("create_contract", create_contract); - ("set_delegate", set_delegate); - (* balance is free *) - ("balance", balance); - ("level", level); - ("now", now); - ("hash_key", hash_key dummy_pk); - ("source", source); - ("sender", sender); - ("self", self); - ("self_address", self_address); - ("amount", amount); - ("chain_id", chain_id); - ("unpack_failed", unpack_failed (Bytes.of_string "dummy")); - ] - -(* /!\ The compiler will only complain if costs are _removed_ /!\*) -let all_parsing_costs = - let open Michelson_v1_gas.Cost_of.Typechecking in - [ - ("public_key_optimized", public_key_optimized); - ("public_key_readable", public_key_readable); - ("key_hash_optimized", key_hash_optimized); - ("key_hash_readable", key_hash_readable); - ("signature_optimized", signature_optimized); - ("signature_readable", signature_readable); - ("chain_id_optimized", chain_id_optimized); - ("chain_id_readable", chain_id_readable); - ("address_optimized", address_optimized); - ("contract_optimized", contract_optimized); - ("contract_readable", contract_readable); - ("check_printable", check_printable "dummy"); - ("merge_cycle", merge_cycle); - ("parse_type_cycle", parse_type_cycle); - ("parse_instr_cycle", parse_instr_cycle); - ("parse_data_cycle", parse_data_cycle); - ("bool", bool); - ("parsing_unit", unit); - ("timestamp_readable", timestamp_readable); - ("contract", contract); - ("contract_exists", contract_exists); - ("proof_argument", proof_argument 42); - ] - -(* /!\ The compiler will only complain if costs are _removed_ /!\*) -let all_unparsing_costs = - let open Michelson_v1_gas.Cost_of.Unparsing in - [ - ("public_key_optimized", public_key_optimized); - ("public_key_readable", public_key_readable); - ("key_hash_optimized", key_hash_optimized); - ("key_hash_readable", key_hash_readable); - ("signature_optimized", signature_optimized); - ("signature_readable", signature_readable); - ("chain_id_optimized", chain_id_optimized); - ("chain_id_readable", chain_id_readable); - ("timestamp_readable", timestamp_readable); - ("address_optimized", address_optimized); - ("contract_optimized", contract_optimized); - ("contract_readable", contract_readable); - ("unparse_type_cycle", unparse_type_cycle); - ("unparse_instr_cycle", unparse_instr_cycle); - ("unparse_data_cycle", unparse_data_cycle); - ("unparsing_unit", unit); - ("contract", contract); - ("operation", operation dummy_bytes); - ] - -(* /!\ The compiler will only complain if costs are _removed_ /!\*) -let all_io_costs = - let open Storage_costs in - [ - ("read_access 0 0", read_access ~path_length:0 ~read_bytes:0); - ("read_access 1 0", read_access ~path_length:1 ~read_bytes:0); - ("read_access 0 1", read_access ~path_length:0 ~read_bytes:1); - ("read_access 1 1", read_access ~path_length:1 ~read_bytes:1); - ("write_access 0", write_access ~written_bytes:0); - ("write_access 1", write_access ~written_bytes:1); - ] - -(* Here we're using knowledge of the internal representation of costs to - cast them to Z ... *) -let cast_cost_to_z (c : Alpha_context.Gas.cost) : Z.t = - Data_encoding.Binary.to_bytes_exn Alpha_context.Gas.cost_encoding c - |> Data_encoding.Binary.of_bytes_exn Data_encoding.z - -let check_cost_reprs_are_all_positive list () = - List.iter_es - (fun (cost_name, cost) -> - if Z.gt cost Z.zero then return_unit - else if Z.equal cost Z.zero && List.mem ~equal:String.equal cost_name free - then return_unit - else - fail - (Exn - (Failure (Format.asprintf "Gas cost test \"%s\" failed" cost_name)))) - list - -let check_costs_are_all_positive list () = - let list = - List.map (fun (cost_name, cost) -> (cost_name, cast_cost_to_z cost)) list - in - check_cost_reprs_are_all_positive list () - -let tests = - [ - Tztest.tztest - "Positivity of interpreter costs" - `Quick - (check_costs_are_all_positive all_interpreter_costs); - Tztest.tztest - "Positivity of typechecking costs" - `Quick - (check_costs_are_all_positive all_parsing_costs); - Tztest.tztest - "Positivity of unparsing costs" - `Quick - (check_costs_are_all_positive all_unparsing_costs); - Tztest.tztest - "Positivity of io costs" - `Quick - (check_cost_reprs_are_all_positive all_io_costs); - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/gas_properties.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/gas_properties.ml deleted file mode 100644 index 72a78e550cb3..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/gas_properties.ml +++ /dev/null @@ -1,135 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol - -type cost_kind = - | Atomic_step - | Step - | Alloc - | Alloc_bytes - | Alloc_mbytes - | Read_bytes - | Write_bytes - -let random_cost_kind () = - let i = Random.int 7 in - match i with - | 0 -> Atomic_step - | 1 -> Step - | 2 -> Alloc - | 3 -> Alloc_bytes - | 4 -> Alloc_mbytes - | 5 -> Read_bytes - | 6 -> Write_bytes - | _ -> assert false - -let random_cost_of_kind (cost_kind : cost_kind) = - let open Alpha_context.Gas in - let rand = Random.int 1000 in - match cost_kind with - | Atomic_step -> atomic_step_cost (Z.of_int rand) - | Step -> step_cost (Z.of_int rand) - | Alloc -> alloc_cost (Z.of_int rand) - | Alloc_bytes -> alloc_bytes_cost rand - | Alloc_mbytes -> alloc_mbytes_cost rand - | Read_bytes -> read_bytes_cost (Z.of_int rand) - | Write_bytes -> write_bytes_cost (Z.of_int rand) - -let random_cost () = random_cost_of_kind (random_cost_kind ()) - -let free_neutral since = - let open Alpha_context in - let open Environment.Error_monad in - let cost = random_cost () in - Gas.consume since cost >>? fun ctxt -> - Gas.consume ctxt Gas.free >>? fun branch1 -> - Gas.consume since cost >>? fun branch2 -> - if - Gas.Arith.( - Gas.consumed ~since:ctxt ~until:branch1 - = Gas.consumed ~since:ctxt ~until:branch2) - then Result.return_none - else Ok (Some (cost, Gas.free)) - -let consume_commutes since = - let open Alpha_context in - let open Environment.Error_monad in - let cost1 = random_cost () in - let cost2 = random_cost () in - Gas.consume since cost1 >>? fun ctxt -> - Gas.consume ctxt cost2 >>? fun branch1 -> - Gas.consume since Gas.(cost1 +@ cost2) >>? fun branch2 -> - if - Gas.Arith.( - Gas.consumed ~since:ctxt ~until:branch1 - = Gas.consumed ~since:ctxt ~until:branch2) - then Result.return_none - else Ok (Some (cost1, cost2)) - -let rec loop_check check n ctxt = - let open Environment.Error_monad in - if n = 0 then Result.return_none - else - check ctxt >>? function - | None -> loop_check check (n - 1) ctxt - | counterexample -> Ok counterexample - -let check_property prop () = - Random.init 89809344 ; - Context.init 1 >>=? fun (b, _contracts) -> - Incremental.begin_construction b >>=? fun inc -> - let state = Incremental.validation_state inc in - let ctxt = - Alpha_context.Gas.set_limit - state.ctxt - Alpha_context.Gas.Arith.(fp (integral_of_int 100_000_000)) - in - let result = prop ctxt in - match result with - | Ok None -> return_unit - | Ok (Some (cost1, cost2)) -> - let msg = - Format.asprintf - "gas consume commutation falsified for %a ; %a" - Alpha_context.Gas.pp_cost - cost1 - Alpha_context.Gas.pp_cost - cost2 - in - failwith "%s" msg - | Error _err -> failwith "gas_consume_commutes: protocol error" - -let tests = - [ - Tztest.tztest - "Gas.free is a neutral element" - `Quick - (check_property (loop_check free_neutral 1000)); - Tztest.tztest - "Gas.consume commutes" - `Quick - (check_property (loop_check consume_commutes 1000)); - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/.ocamlformat b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.ml deleted file mode 100644 index a21ae40c6ed6..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.ml +++ /dev/null @@ -1,95 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -type t = { - pkh : Signature.Public_key_hash.t; - pk : Signature.Public_key.t; - sk : Signature.Secret_key.t; -} - -type account = t - -let known_accounts = Signature.Public_key_hash.Table.create 17 - -let new_account ?seed () = - let (pkh, pk, sk) = Signature.generate_key ?seed () in - let account = {pkh; pk; sk} in - Signature.Public_key_hash.Table.add known_accounts pkh account ; - account - -let add_account ({pkh; _} as account) = - Signature.Public_key_hash.Table.add known_accounts pkh account - -let activator_account = new_account () - -let find pkh = - match Signature.Public_key_hash.Table.find known_accounts pkh with - | Some k -> return k - | None -> failwith "Missing account: %a" Signature.Public_key_hash.pp pkh - -let find_alternate pkh = - let exception Found of t in - try - Signature.Public_key_hash.Table.iter - (fun pkh' account -> - if not (Signature.Public_key_hash.equal pkh pkh') then - raise (Found account)) - known_accounts ; - raise Not_found - with Found account -> account - -let dummy_account = new_account () - -let generate_accounts ?(initial_balances = []) n : (t * Tez_repr.t) list = - Signature.Public_key_hash.Table.clear known_accounts ; - let default_amount = Tez_repr.of_mutez_exn 4_000_000_000_000L in - let amount i = - match List.nth_opt initial_balances i with - | None -> default_amount - | Some a -> Tez_repr.of_mutez_exn a - in - List.map - (fun i -> - let (pkh, pk, sk) = Signature.generate_key () in - let account = {pkh; pk; sk} in - Signature.Public_key_hash.Table.add known_accounts pkh account ; - (account, amount i)) - (0 -- (n - 1)) - -let commitment_secret = - Blinded_public_key_hash.activation_code_of_hex - "aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb" - -let new_commitment ?seed () = - let (pkh, pk, sk) = Signature.generate_key ?seed ~algo:Ed25519 () in - let unactivated_account = {pkh; pk; sk} in - let open Commitment_repr in - let pkh = match pkh with Ed25519 pkh -> pkh | _ -> assert false in - let bpkh = Blinded_public_key_hash.of_ed25519_pkh commitment_secret pkh in - Lwt.return - ( (Environment.wrap_error @@ Tez_repr.(one *? 4_000L)) >|? fun amount -> - (unactivated_account, {blinded_public_key_hash = bpkh; amount}) ) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.mli b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.mli deleted file mode 100644 index 01cd27fae1a4..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/account.mli +++ /dev/null @@ -1,61 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -type t = { - pkh : Signature.Public_key_hash.t; - pk : Signature.Public_key.t; - sk : Signature.Secret_key.t; -} - -type account = t - -val known_accounts : t Signature.Public_key_hash.Table.t - -val activator_account : account - -val dummy_account : account - -val new_account : ?seed:Bytes.t -> unit -> account - -val add_account : t -> unit - -val find : Signature.Public_key_hash.t -> t tzresult Lwt.t - -val find_alternate : Signature.Public_key_hash.t -> t - -(** [generate_accounts ?initial_balances n] : generates [n] random - accounts with the initial balance of the [i]th account given by the - [i]th value in the list [initial_balances] or otherwise - 4.000.000.000 tz (if the list is too short); and add them to the - global account state *) -val generate_accounts : - ?initial_balances:int64 list -> int -> (t * Tez_repr.t) list - -val commitment_secret : Blinded_public_key_hash.activation_code - -val new_commitment : - ?seed:Bytes.t -> unit -> (account * Commitment_repr.t) tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/assert.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/assert.ml deleted file mode 100644 index 767ad5f5360c..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/assert.ml +++ /dev/null @@ -1,120 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -let error ~loc v f = - match v with - | Error err when List.exists f err -> return_unit - | Ok _ -> failwith "Unexpected successful result (%s)" loc - | Error err -> failwith "@[Unexpected error (%s): %a@]" loc pp_print_error err - -let proto_error ~loc v f = - error ~loc v (function Environment.Ecoproto_error err -> f err | _ -> false) - -let equal ~loc (cmp : 'a -> 'a -> bool) msg pp a b = - if not (cmp a b) then - failwith "@[@[[%s]@] - @[%s : %a is not equal to %a@]@]" loc msg pp a pp b - else return_unit - -let not_equal ~loc (cmp : 'a -> 'a -> bool) msg pp a b = - if cmp a b then - failwith "@[@[[%s]@] - @[%s : %a is equal to %a@]@]" loc msg pp a pp b - else return_unit - -(* tez *) -let equal_tez ~loc (a : Alpha_context.Tez.t) (b : Alpha_context.Tez.t) = - let open Alpha_context in - equal ~loc Tez.( = ) "Tez aren't equal" Tez.pp a b - -let not_equal_tez ~loc (a : Alpha_context.Tez.t) (b : Alpha_context.Tez.t) = - let open Alpha_context in - not_equal ~loc Tez.( = ) "Tez are equal" Tez.pp a b - -(* int *) -let equal_int ~loc (a : int) (b : int) = - equal ~loc ( = ) "Integers aren't equal" Format.pp_print_int a b - -let not_equal_int ~loc (a : int) (b : int) = - not_equal ~loc ( = ) "Integers are equal" Format.pp_print_int a b - -(* bool *) -let equal_bool ~loc (a : bool) (b : bool) = - equal ~loc ( = ) "Booleans aren't equal" Format.pp_print_bool a b - -let not_equal_bool ~loc (a : bool) (b : bool) = - not_equal ~loc ( = ) "Booleans are equal" Format.pp_print_bool a b - -(* pkh *) -let equal_pkh ~loc (a : Signature.Public_key_hash.t) - (b : Signature.Public_key_hash.t) = - let module PKH = Signature.Public_key_hash in - equal ~loc PKH.equal "Public key hashes aren't equal" PKH.pp a b - -let not_equal_pkh ~loc (a : Signature.Public_key_hash.t) - (b : Signature.Public_key_hash.t) = - let module PKH = Signature.Public_key_hash in - not_equal ~loc PKH.equal "Public key hashes are equal" PKH.pp a b - -open Context - -(* Some asserts for account operations *) - -(** [balance_is b c amount] checks that the current balance of contract [c] is - [amount]. - Default balance type is [Main], pass [~kind] with [Deposit], [Fees] or - [Rewards] for the others. *) -let balance_is ~loc b contract ?(kind = Contract.Main) expected = - Contract.balance b contract ~kind >>=? fun balance -> - equal_tez ~loc balance expected - -(** [balance_was_operated ~operand b c old_balance amount] checks that the - current balance of contract [c] is [operand old_balance amount] and - returns the current balance. - Default balance type is [Main], pass [~kind] with [Deposit], [Fees] or - [Rewards] for the others. *) -let balance_was_operated ~operand ~loc b contract ?(kind = Contract.Main) - old_balance amount = - operand old_balance amount |> Environment.wrap_error >>?= fun expected -> - balance_is ~loc b contract ~kind expected - -let balance_was_credited = - balance_was_operated ~operand:Alpha_context.Tez.( +? ) - -let balance_was_debited = balance_was_operated ~operand:Alpha_context.Tez.( -? ) - -(* debug *) - -let print_balances ctxt id = - Contract.balance ~kind:Main ctxt id >>=? fun main -> - Contract.balance ~kind:Deposit ctxt id >>=? fun deposit -> - Contract.balance ~kind:Fees ctxt id >>=? fun fees -> - Contract.balance ~kind:Rewards ctxt id >|=? fun rewards -> - Format.printf - "\nMain: %s\nDeposit: %s\nFees: %s\nRewards: %s\n" - (Alpha_context.Tez.to_string main) - (Alpha_context.Tez.to_string deposit) - (Alpha_context.Tez.to_string fees) - (Alpha_context.Tez.to_string rewards) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.ml deleted file mode 100644 index 0aef5d224ab3..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.ml +++ /dev/null @@ -1,425 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 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 Protocol -module Proto_Nonce = Nonce (* Renamed otherwise is masked by Alpha_context *) - -open Alpha_context - -(* This type collects a block and the context that results from its application *) -type t = { - hash : Block_hash.t; - header : Block_header.t; - operations : Operation.packed list; - context : Tezos_protocol_environment.Context.t; -} - -type block = t - -let rpc_context block = - { - Environment.Updater.block_hash = block.hash; - block_header = block.header.shell; - context = block.context; - } - -let rpc_ctxt = - new Environment.proto_rpc_context_of_directory rpc_context rpc_services - -(******** Policies ***********) - -(* Policies are functions that take a block and return a tuple - [(account, level, timestamp)] for the [forge_header] function. *) - -(* This type is used only to provide a simpler interface to the exterior. *) -type baker_policy = - | By_priority of int - | By_account of public_key_hash - | Excluding of public_key_hash list - -let get_next_baker_by_priority priority block = - Alpha_services.Delegate.Baking_rights.get - rpc_ctxt - ~all:true - ~max_priority:(priority + 1) - block - >|=? fun bakers -> - let {Alpha_services.Delegate.Baking_rights.delegate = pkh; timestamp; _} = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.find - (fun {Alpha_services.Delegate.Baking_rights.priority = p; _} -> - p = priority) - bakers - in - (pkh, priority, WithExceptions.Option.to_exn ~none:(Failure "") timestamp) - -let get_next_baker_by_account pkh block = - Alpha_services.Delegate.Baking_rights.get - rpc_ctxt - ~delegates:[pkh] - ~max_priority:256 - block - >|=? fun bakers -> - let { - Alpha_services.Delegate.Baking_rights.delegate = pkh; - timestamp; - priority; - _; - } = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd bakers - in - (pkh, priority, WithExceptions.Option.to_exn ~none:(Failure "") timestamp) - -let get_next_baker_excluding excludes block = - Alpha_services.Delegate.Baking_rights.get rpc_ctxt ~max_priority:256 block - >|=? fun bakers -> - let { - Alpha_services.Delegate.Baking_rights.delegate = pkh; - timestamp; - priority; - _; - } = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.find - (fun {Alpha_services.Delegate.Baking_rights.delegate; _} -> - not - (List.mem ~equal:Signature.Public_key_hash.equal delegate excludes)) - bakers - in - (pkh, priority, WithExceptions.Option.to_exn ~none:(Failure "") timestamp) - -let dispatch_policy = function - | By_priority p -> get_next_baker_by_priority p - | By_account a -> get_next_baker_by_account a - | Excluding al -> get_next_baker_excluding al - -let get_next_baker ?(policy = By_priority 0) = dispatch_policy policy - -let get_endorsing_power b = - List.fold_left_es - (fun acc (op : Operation.packed) -> - let (Operation_data data) = op.protocol_data in - match data.contents with - | Single (Endorsement _) -> - Alpha_services.Delegate.Endorsing_power.get - rpc_ctxt - b - op - Chain_id.zero - >|=? fun endorsement_power -> acc + endorsement_power - | _ -> return acc) - 0 - b.operations - -module Forge = struct - type header = { - baker : public_key_hash; - (* the signer of the block *) - shell : Block_header.shell_header; - contents : Block_header.contents; - } - - let default_proof_of_work_nonce = - Bytes.create Constants.proof_of_work_nonce_size - - let make_contents ?(proof_of_work_nonce = default_proof_of_work_nonce) - ~priority ~seed_nonce_hash () = - Block_header.{priority; proof_of_work_nonce; seed_nonce_hash} - - let make_shell ~level ~predecessor ~timestamp ~fitness ~operations_hash = - Tezos_base.Block_header. - { - level; - predecessor; - timestamp; - fitness; - operations_hash; - (* We don't care of the following values, only the shell validates them. *) - proto_level = 0; - validation_passes = 0; - context = Context_hash.zero; - } - - let set_seed_nonce_hash seed_nonce_hash {baker; shell; contents} = - {baker; shell; contents = {contents with seed_nonce_hash}} - - let set_baker baker header = {header with baker} - - let sign_header {baker; shell; contents} = - Account.find baker >|=? fun delegate -> - let unsigned_bytes = - Data_encoding.Binary.to_bytes_exn - Block_header.unsigned_encoding - (shell, contents) - in - let signature = - Signature.sign - ~watermark:Signature.(Block_header Chain_id.zero) - delegate.sk - unsigned_bytes - in - Block_header.{shell; protocol_data = {contents; signature}} - - let forge_header ?(policy = By_priority 0) ?timestamp ?(operations = []) pred - = - dispatch_policy policy pred >>=? fun (pkh, priority, _timestamp) -> - Alpha_services.Delegate.Minimal_valid_time.get rpc_ctxt pred priority 0 - >>=? fun expected_timestamp -> - let timestamp = Option.value ~default:expected_timestamp timestamp in - let level = Int32.succ pred.header.shell.level in - (match Fitness_repr.to_int64 pred.header.shell.fitness with - | Ok old_fitness -> - Fitness_repr.from_int64 (Int64.add (Int64.of_int 1) old_fitness) - | Error _ -> assert false) - |> fun fitness -> - (Alpha_services.Helpers.current_level ~offset:1l rpc_ctxt pred >|=? function - | {expected_commitment = true; _} -> Some (fst (Proto_Nonce.generate ())) - | {expected_commitment = false; _} -> None) - >|=? fun seed_nonce_hash -> - let hashes = List.map Operation.hash_packed operations in - let operations_hash = - Operation_list_list_hash.compute [Operation_list_hash.compute hashes] - in - let shell = - make_shell - ~level - ~predecessor:pred.hash - ~timestamp - ~fitness - ~operations_hash - in - let contents = make_contents ~priority ~seed_nonce_hash () in - {baker = pkh; shell; contents} - - (* compatibility only, needed by incremental *) - let contents ?(proof_of_work_nonce = default_proof_of_work_nonce) - ?(priority = 0) ?seed_nonce_hash () = - {Block_header.priority; proof_of_work_nonce; seed_nonce_hash} -end - -(********* Genesis creation *************) - -(* Hard-coded context key *) -let protocol_param_key = ["protocol_parameters"] - -let check_constants_consistency constants = - let open Constants_repr in - let {blocks_per_cycle; blocks_per_commitment; blocks_per_roll_snapshot; _} = - constants - in - Error_monad.unless (blocks_per_commitment <= blocks_per_cycle) (fun () -> - failwith - "Inconsistent constants : blocks per commitment must be less than \ - blocks per cycle") - >>=? fun () -> - Error_monad.unless (blocks_per_cycle >= blocks_per_roll_snapshot) (fun () -> - failwith - "Inconsistent constants : blocks per cycle must be superior than \ - blocks per roll snapshot") - -let initial_context ?(with_commitments = false) constants header - initial_accounts = - let open Tezos_protocol_008_PtEdo2Zk_parameters in - let bootstrap_accounts = - List.map - (fun (Account.{pk; pkh; _}, amount) -> - Default_parameters.make_bootstrap_account (pkh, pk, amount)) - initial_accounts - in - let parameters = - Default_parameters.parameters_of_constants - ~bootstrap_accounts - ~with_commitments - constants - in - let json = Default_parameters.json_of_parameters parameters in - let proto_params = - Data_encoding.Binary.to_bytes_exn Data_encoding.json json - in - Tezos_protocol_environment.Context.( - let empty = Memory_context.empty in - add empty ["version"] (Bytes.of_string "genesis") >>= fun ctxt -> - add ctxt protocol_param_key proto_params) - >>= fun ctxt -> - Main.init ctxt header >|= Environment.wrap_error >|=? fun {context; _} -> - context - -let genesis_with_parameters parameters = - let hash = - Block_hash.of_b58check_exn - "BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU" - in - let shell = - Forge.make_shell - ~level:0l - ~predecessor:hash - ~timestamp:Time.Protocol.epoch - ~fitness:(Fitness_repr.from_int64 0L) - ~operations_hash:Operation_list_list_hash.zero - in - let contents = Forge.make_contents ~priority:0 ~seed_nonce_hash:None () in - let open Tezos_protocol_008_PtEdo2Zk_parameters in - let json = Default_parameters.json_of_parameters parameters in - let proto_params = - Data_encoding.Binary.to_bytes_exn Data_encoding.json json - in - Tezos_protocol_environment.Context.( - let empty = Memory_context.empty in - add empty ["version"] (Bytes.of_string "genesis") >>= fun ctxt -> - add ctxt protocol_param_key proto_params) - >>= fun ctxt -> - Main.init ctxt shell >|= Environment.wrap_error >|=? fun {context; _} -> - { - hash; - header = {shell; protocol_data = {contents; signature = Signature.zero}}; - operations = []; - context; - } - -(* if no parameter file is passed we check in the current directory - where the test is run *) -let genesis ?with_commitments ?endorsers_per_block ?initial_endorsers - ?min_proposal_quorum (initial_accounts : (Account.t * Tez_repr.t) list) = - if initial_accounts = [] then - Stdlib.failwith "Must have one account with a roll to bake" ; - let open Tezos_protocol_008_PtEdo2Zk_parameters in - let constants = Default_parameters.constants_test in - let endorsers_per_block = - Option.value ~default:constants.endorsers_per_block endorsers_per_block - in - let initial_endorsers = - Option.value ~default:constants.initial_endorsers initial_endorsers - in - let min_proposal_quorum = - Option.value ~default:constants.min_proposal_quorum min_proposal_quorum - in - let constants = - {constants with endorsers_per_block; initial_endorsers; min_proposal_quorum} - in - (* Check there is at least one roll *) - (let exception Return_unit_now in - Lwt.catch - (fun () -> - List.fold_left_es - (fun acc (_, amount) -> - Environment.wrap_error @@ Tez_repr.( +? ) acc amount >>?= fun acc -> - if acc >= constants.tokens_per_roll then raise Return_unit_now - else return acc) - Tez_repr.zero - initial_accounts - >>=? fun _ -> - failwith "Insufficient tokens in initial accounts to create one roll") - (function Return_unit_now -> return_unit | exc -> raise exc)) - >>=? fun () -> - check_constants_consistency constants >>=? fun () -> - let hash = - Block_hash.of_b58check_exn - "BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU" - in - let shell = - Forge.make_shell - ~level:0l - ~predecessor:hash - ~timestamp:Time.Protocol.epoch - ~fitness:(Fitness_repr.from_int64 0L) - ~operations_hash:Operation_list_list_hash.zero - in - let contents = Forge.make_contents ~priority:0 ~seed_nonce_hash:None () in - initial_context ?with_commitments constants shell initial_accounts - >|=? fun context -> - { - hash; - header = {shell; protocol_data = {contents; signature = Signature.zero}}; - operations = []; - context; - } - -(********* Baking *************) - -let apply header ?(operations = []) pred = - (let open Environment.Error_monad in - Main.begin_application - ~chain_id:Chain_id.zero - ~predecessor_context:pred.context - ~predecessor_fitness:pred.header.shell.fitness - ~predecessor_timestamp:pred.header.shell.timestamp - header - >>=? fun vstate -> - List.fold_left_es - (fun vstate op -> - apply_operation vstate op >|=? fun (state, _result) -> state) - vstate - operations - >>=? fun vstate -> - Main.finalize_block vstate >|=? fun (validation, _result) -> - validation.context) - >|= Environment.wrap_error - >|=? fun context -> - let hash = Block_header.hash header in - {hash; header; operations; context} - -let bake ?policy ?timestamp ?operation ?operations pred = - let operations = - match (operation, operations) with - | (Some op, Some ops) -> Some (op :: ops) - | (Some op, None) -> Some [op] - | (None, Some ops) -> Some ops - | (None, None) -> None - in - Forge.forge_header ?timestamp ?policy ?operations pred >>=? fun header -> - Forge.sign_header header >>=? fun header -> apply header ?operations pred - -(********** Cycles ****************) - -(* This function is duplicated from Context to avoid a cyclic dependency *) -let get_constants b = Alpha_services.Constants.all rpc_ctxt b - -let bake_n ?policy n b = List.fold_left_es (fun b _ -> bake ?policy b) b (1 -- n) - -let bake_until_cycle_end ?policy b = - get_constants b >>=? fun Constants.{parametric = {blocks_per_cycle; _}; _} -> - let current_level = b.header.shell.level in - let current_level = Int32.rem current_level blocks_per_cycle in - let delta = Int32.sub blocks_per_cycle current_level in - bake_n ?policy (Int32.to_int delta) b - -let bake_until_n_cycle_end ?policy n b = - List.fold_left_es (fun b _ -> bake_until_cycle_end ?policy b) b (1 -- n) - -let current_cycle b = - get_constants b >>=? fun Constants.{parametric = {blocks_per_cycle; _}; _} -> - let current_level = b.header.shell.level in - let current_cycle = Int32.div current_level blocks_per_cycle in - let current_cycle = Cycle.add Cycle.root (Int32.to_int current_cycle) in - return current_cycle - -let bake_until_cycle ?policy cycle (b : t) = - let rec loop (b : t) = - current_cycle b >>=? fun current_cycle -> - if Cycle.equal cycle current_cycle then return b - else bake_until_cycle_end ?policy b >>=? fun b -> loop b - in - loop b diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.mli b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.mli deleted file mode 100644 index 059b46762949..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/block.mli +++ /dev/null @@ -1,142 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 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 Protocol -open Alpha_context - -type t = { - hash : Block_hash.t; - header : Block_header.t; - operations : Operation.packed list; - context : Tezos_protocol_environment.Context.t; (** Resulting context *) -} - -type block = t - -val rpc_ctxt : t Environment.RPC_context.simple - -(** Policies to select the next baker: - - [By_priority p] selects the baker at priority [p] - - [By_account pkh] selects the first slot for baker [pkh] - - [Excluding pkhs] selects the first baker that doesn't belong to [pkhs] -*) -type baker_policy = - | By_priority of int - | By_account of public_key_hash - | Excluding of public_key_hash list - -(** Returns (account, priority, timestamp) of the next baker given - a policy, defaults to By_priority 0. *) -val get_next_baker : - ?policy:baker_policy -> - t -> - (public_key_hash * int * Time.Protocol.t) tzresult Lwt.t - -val get_endorsing_power : block -> int tzresult Lwt.t - -module Forge : sig - val contents : - ?proof_of_work_nonce:Bytes.t -> - ?priority:int -> - ?seed_nonce_hash:Nonce_hash.t -> - unit -> - Block_header.contents - - type header - - (** Forges a correct header following the policy. - The header can then be modified and applied with [apply]. *) - val forge_header : - ?policy:baker_policy -> - ?timestamp:Timestamp.time -> - ?operations:Operation.packed list -> - t -> - header tzresult Lwt.t - - (** Sets uniquely seed_nonce_hash of a header *) - val set_seed_nonce_hash : Nonce_hash.t option -> header -> header - - (** Sets the baker that will sign the header to an arbitrary pkh *) - val set_baker : public_key_hash -> header -> header - - (** Signs the header with the key of the baker configured in the header. - The header can no longer be modified, only applied. *) - val sign_header : header -> Block_header.block_header tzresult Lwt.t -end - -(** [genesis accounts] : generates an initial block with the - given constants [] and initializes [accounts] with their - associated amounts. -*) -val genesis : - ?with_commitments:bool -> - ?endorsers_per_block:int -> - ?initial_endorsers:int -> - ?min_proposal_quorum:int32 -> - (Account.t * Tez_repr.tez) list -> - block tzresult Lwt.t - -val genesis_with_parameters : Parameters_repr.t -> block tzresult Lwt.t - -(** Applies a signed header and its operations to a block and - obtains a new block *) -val apply : - Block_header.block_header -> - ?operations:Operation.packed list -> - t -> - t tzresult Lwt.t - -(** - [bake b] returns a block [b'] which has as predecessor block [b]. - Optional parameter [policy] allows to pick the next baker in several ways. - This function bundles together [forge_header], [sign_header] and [apply]. - These functions should be used instead of bake to craft unusual blocks for - testing together with setters for properties of the headers. - For examples see seed.ml or double_baking.ml -*) -val bake : - ?policy:baker_policy -> - ?timestamp:Timestamp.time -> - ?operation:Operation.packed -> - ?operations:Operation.packed list -> - t -> - t tzresult Lwt.t - -(** Bakes [n] blocks. *) -val bake_n : ?policy:baker_policy -> int -> t -> block tzresult Lwt.t - -val current_cycle : t -> Cycle.t tzresult Lwt.t - -(** Given a block [b] at level [l] bakes enough blocks to complete a cycle, - that is [blocks_per_cycle - (l % blocks_per_cycle)]. *) -val bake_until_cycle_end : ?policy:baker_policy -> t -> t tzresult Lwt.t - -(** Bakes enough blocks to end [n] cycles. *) -val bake_until_n_cycle_end : - ?policy:baker_policy -> int -> t -> t tzresult Lwt.t - -(** Bakes enough blocks to reach the cycle. *) -val bake_until_cycle : ?policy:baker_policy -> Cycle.t -> t -> t tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.ml deleted file mode 100644 index 49dccb78b5b9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.ml +++ /dev/null @@ -1,308 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type t = B of Block.t | I of Incremental.t - -let branch = function B b -> b.hash | I i -> (Incremental.predecessor i).hash - -let level = function B b -> b.header.shell.level | I i -> Incremental.level i - -let get_level ctxt = level ctxt |> Raw_level.of_int32 |> Environment.wrap_error - -let rpc_ctxt = - object - method call_proto_service0 - : 'm 'q 'i 'o. - ( ([< RPC_service.meth] as 'm), - Environment.RPC_context.t, - Environment.RPC_context.t, - 'q, - 'i, - 'o ) - RPC_service.t -> - t -> - 'q -> - 'i -> - 'o tzresult Lwt.t = - fun s pr q i -> - match pr with - | B b -> Block.rpc_ctxt#call_proto_service0 s b q i - | I b -> Incremental.rpc_ctxt#call_proto_service0 s b q i - - method call_proto_service1 - : 'm 'a 'q 'i 'o. - ( ([< RPC_service.meth] as 'm), - Environment.RPC_context.t, - Environment.RPC_context.t * 'a, - 'q, - 'i, - 'o ) - RPC_service.t -> - t -> - 'a -> - 'q -> - 'i -> - 'o tzresult Lwt.t = - fun s pr a q i -> - match pr with - | B bl -> Block.rpc_ctxt#call_proto_service1 s bl a q i - | I bl -> Incremental.rpc_ctxt#call_proto_service1 s bl a q i - - method call_proto_service2 - : 'm 'a 'b 'q 'i 'o. - ( ([< RPC_service.meth] as 'm), - Environment.RPC_context.t, - (Environment.RPC_context.t * 'a) * 'b, - 'q, - 'i, - 'o ) - RPC_service.t -> - t -> - 'a -> - 'b -> - 'q -> - 'i -> - 'o tzresult Lwt.t = - fun s pr a b q i -> - match pr with - | B bl -> Block.rpc_ctxt#call_proto_service2 s bl a b q i - | I bl -> Incremental.rpc_ctxt#call_proto_service2 s bl a b q i - - method call_proto_service3 - : 'm 'a 'b 'c 'q 'i 'o. - ( ([< RPC_service.meth] as 'm), - Environment.RPC_context.t, - ((Environment.RPC_context.t * 'a) * 'b) * 'c, - 'q, - 'i, - 'o ) - RPC_service.t -> - t -> - 'a -> - 'b -> - 'c -> - 'q -> - 'i -> - 'o tzresult Lwt.t = - fun s pr a b c q i -> - match pr with - | B bl -> Block.rpc_ctxt#call_proto_service3 s bl a b c q i - | I bl -> Incremental.rpc_ctxt#call_proto_service3 s bl a b c q i - end - -let get_endorsers ctxt = - Alpha_services.Delegate.Endorsing_rights.get rpc_ctxt ctxt - -let get_endorser ctxt = - Alpha_services.Delegate.Endorsing_rights.get rpc_ctxt ctxt - >|=? fun endorsers -> - let endorser = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd endorsers in - (endorser.delegate, endorser.slots) - -let get_voting_power = Alpha_services.Delegate.voting_power rpc_ctxt - -let get_total_voting_power = Alpha_services.Voting.total_voting_power rpc_ctxt - -let get_bakers ctxt = - Alpha_services.Delegate.Baking_rights.get ~max_priority:256 rpc_ctxt ctxt - >|=? fun bakers -> - List.map (fun p -> p.Alpha_services.Delegate.Baking_rights.delegate) bakers - -let get_seed_nonce_hash ctxt = - let header = - match ctxt with B {header; _} -> header | I i -> Incremental.header i - in - match header.protocol_data.contents.seed_nonce_hash with - | None -> failwith "No committed nonce" - | Some hash -> return hash - -let get_seed ctxt = Alpha_services.Seed.get rpc_ctxt ctxt - -let get_constants ctxt = Alpha_services.Constants.all rpc_ctxt ctxt - -let get_minimal_valid_time ctxt ~priority ~endorsing_power = - Alpha_services.Delegate.Minimal_valid_time.get - rpc_ctxt - ctxt - priority - endorsing_power - -let rec reward_for_priority reward_per_prio prio = - match reward_per_prio with - | [] -> - (* Empty reward list in parameters means no rewards *) - Tez.zero - | [last] -> last - | first :: rest -> - if Compare.Int.(prio <= 0) then first - else reward_for_priority rest (pred prio) - -let get_baking_reward ctxt ~priority ~endorsing_power = - get_constants ctxt - >>=? fun {Constants.parametric = {baking_reward_per_endorsement; _}; _} -> - let reward_per_endorsement = - reward_for_priority baking_reward_per_endorsement priority - in - Lwt.return - (Environment.wrap_error - Tez.(reward_per_endorsement *? Int64.of_int endorsing_power)) - -let get_endorsing_reward ctxt ~priority ~endorsing_power = - get_constants ctxt - >>=? fun {Constants.parametric = {endorsement_reward; _}; _} -> - let reward_per_endorsement = - reward_for_priority endorsement_reward priority - in - Lwt.return - (Environment.wrap_error - Tez.(reward_per_endorsement *? Int64.of_int endorsing_power)) - -(* Voting *) - -module Vote = struct - let get_ballots ctxt = Alpha_services.Voting.ballots rpc_ctxt ctxt - - let get_ballot_list ctxt = Alpha_services.Voting.ballot_list rpc_ctxt ctxt - - let get_current_period ctxt = - Alpha_services.Voting.current_period rpc_ctxt ctxt - - let get_current_quorum ctxt = - Alpha_services.Voting.current_quorum rpc_ctxt ctxt - - let get_listings ctxt = Alpha_services.Voting.listings rpc_ctxt ctxt - - let get_proposals ctxt = Alpha_services.Voting.proposals rpc_ctxt ctxt - - let get_current_proposal ctxt = - Alpha_services.Voting.current_proposal rpc_ctxt ctxt - - let get_protocol (b : Block.t) = - Tezos_protocol_environment.Context.get_protocol b.context - - let get_participation_ema (b : Block.t) = - Environment.Context.get b.context ["votes"; "participation_ema"] - >|= function - | None -> assert false - | Some bytes -> ok (TzEndian.get_int32 bytes 0) - - let set_participation_ema (b : Block.t) ema = - let bytes = Bytes.make 4 '\000' in - TzEndian.set_int32 bytes 0 ema ; - Environment.Context.set b.context ["votes"; "participation_ema"] bytes - >|= fun context -> {b with context} -end - -module Contract = struct - let pp = Alpha_context.Contract.pp - - let pkh c = - Alpha_context.Contract.is_implicit c |> function - | Some p -> return p - | None -> failwith "pkh: only for implicit contracts" - - type balance_kind = Main | Deposit | Fees | Rewards - - let balance ?(kind = Main) ctxt contract = - match kind with - | Main -> Alpha_services.Contract.balance rpc_ctxt ctxt contract - | _ -> ( - match Alpha_context.Contract.is_implicit contract with - | None -> - invalid_arg - "get_balance: no frozen accounts for an originated contract." - | Some pkh -> - Alpha_services.Delegate.frozen_balance_by_cycle rpc_ctxt ctxt pkh - >>=? fun map -> - Lwt.return - @@ Cycle.Map.fold - (fun _cycle {Delegate.deposit; fees; rewards} acc -> - acc >>? fun acc -> - match kind with - | Deposit -> Test_tez.Tez.(acc +? deposit) - | Fees -> Test_tez.Tez.(acc +? fees) - | Rewards -> Test_tez.Tez.(acc +? rewards) - | _ -> assert false) - map - (Ok Tez.zero)) - - let counter ctxt contract = - match Contract.is_implicit contract with - | None -> invalid_arg "Helpers.Context.counter" - | Some mgr -> Alpha_services.Contract.counter rpc_ctxt ctxt mgr - - let manager _ contract = - match Contract.is_implicit contract with - | None -> invalid_arg "Helpers.Context.manager" - | Some pkh -> Account.find pkh - - let is_manager_key_revealed ctxt contract = - match Contract.is_implicit contract with - | None -> invalid_arg "Helpers.Context.is_manager_key_revealed" - | Some mgr -> - Alpha_services.Contract.manager_key rpc_ctxt ctxt mgr >|=? fun res -> - res <> None - - let delegate ctxt contract = - Alpha_services.Contract.delegate rpc_ctxt ctxt contract - - let delegate_opt ctxt contract = - Alpha_services.Contract.delegate_opt rpc_ctxt ctxt contract -end - -module Delegate = struct - type info = Delegate_services.info = { - balance : Tez.t; - frozen_balance : Tez.t; - frozen_balance_by_cycle : Delegate.frozen_balance Cycle.Map.t; - staking_balance : Tez.t; - delegated_contracts : Contract_repr.t list; - delegated_balance : Tez.t; - deactivated : bool; - grace_period : Cycle.t; - voting_power : int32; - } - - let info ctxt pkh = Alpha_services.Delegate.info rpc_ctxt ctxt pkh -end - -let init ?endorsers_per_block ?with_commitments ?(initial_balances = []) - ?initial_endorsers ?min_proposal_quorum n = - let accounts = Account.generate_accounts ~initial_balances n in - let contracts = - List.map - (fun (a, _) -> Alpha_context.Contract.implicit_contract Account.(a.pkh)) - accounts - in - Block.genesis - ?endorsers_per_block - ?with_commitments - ?initial_endorsers - ?min_proposal_quorum - accounts - >|=? fun blk -> (blk, contracts) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.mli b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.mli deleted file mode 100644 index 3b6b66f612fd..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/context.mli +++ /dev/null @@ -1,138 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Environment - -type t = B of Block.t | I of Incremental.t - -val branch : t -> Block_hash.t - -val get_level : t -> Raw_level.t tzresult - -val get_endorsers : - t -> Alpha_services.Delegate.Endorsing_rights.t list tzresult Lwt.t - -val get_endorser : t -> (public_key_hash * int list) tzresult Lwt.t - -val get_voting_power : - t -> public_key_hash -> int32 Environment.Error_monad.shell_tzresult Lwt.t - -val get_total_voting_power : - t -> int32 Environment.Error_monad.shell_tzresult Lwt.t - -val get_bakers : t -> public_key_hash list tzresult Lwt.t - -val get_seed_nonce_hash : t -> Nonce_hash.t tzresult Lwt.t - -(** Returns the seed of the cycle to which the block belongs to. *) -val get_seed : t -> Seed.seed tzresult Lwt.t - -(** Returns all the constants of the protocol *) -val get_constants : t -> Constants.t tzresult Lwt.t - -val get_minimal_valid_time : - t -> priority:int -> endorsing_power:int -> Time.t tzresult Lwt.t - -val get_baking_reward : - t -> priority:int -> endorsing_power:int -> Tez.t tzresult Lwt.t - -val get_endorsing_reward : - t -> priority:int -> endorsing_power:int -> Tez.t tzresult Lwt.t - -module Vote : sig - val get_ballots : t -> Vote.ballots tzresult Lwt.t - - val get_ballot_list : - t -> (Signature.Public_key_hash.t * Vote.ballot) list tzresult Lwt.t - - val get_current_period : t -> Voting_period.info tzresult Lwt.t - - val get_current_quorum : t -> int32 tzresult Lwt.t - - val get_participation_ema : Block.t -> int32 tzresult Lwt.t - - val get_listings : - t -> (Signature.Public_key_hash.t * int32) list tzresult Lwt.t - - val get_proposals : t -> int32 Protocol_hash.Map.t tzresult Lwt.t - - val get_current_proposal : t -> Protocol_hash.t option tzresult Lwt.t - - val get_protocol : Block.t -> Protocol_hash.t Lwt.t - - val set_participation_ema : Block.t -> int32 -> Block.t Lwt.t -end - -module Contract : sig - val pp : Format.formatter -> Contract.t -> unit - - val pkh : Contract.t -> public_key_hash tzresult Lwt.t - - type balance_kind = Main | Deposit | Fees | Rewards - - (** Returns the balance of a contract, by default the main balance. - If the contract is implicit the frozen balances are available too: - deposit, fees or rewards. *) - val balance : ?kind:balance_kind -> t -> Contract.t -> Tez.t tzresult Lwt.t - - val counter : t -> Contract.t -> Z.t tzresult Lwt.t - - val manager : t -> Contract.t -> Account.t tzresult Lwt.t - - val is_manager_key_revealed : t -> Contract.t -> bool tzresult Lwt.t - - val delegate : t -> Contract.t -> public_key_hash tzresult Lwt.t - - val delegate_opt : t -> Contract.t -> public_key_hash option tzresult Lwt.t -end - -module Delegate : sig - type info = Delegate_services.info = { - balance : Tez.t; - frozen_balance : Tez.t; - frozen_balance_by_cycle : Delegate.frozen_balance Cycle.Map.t; - staking_balance : Tez.t; - delegated_contracts : Contract_repr.t list; - delegated_balance : Tez.t; - deactivated : bool; - grace_period : Cycle.t; - voting_power : int32; - } - - val info : t -> public_key_hash -> Delegate_services.info tzresult Lwt.t -end - -(** [init n] : returns an initial block with [n] initialized accounts - and the associated implicit contracts *) -val init : - ?endorsers_per_block:int -> - ?with_commitments:bool -> - ?initial_balances:int64 list -> - ?initial_endorsers:int -> - ?min_proposal_quorum:int32 -> - int -> - (Block.t * Alpha_context.Contract.t list) tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune deleted file mode 100644 index 0020b998bd82..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune +++ /dev/null @@ -1,19 +0,0 @@ -(library - (name tezos_008_PtEdo2Zk_test_helpers) - (instrumentation (backend bisect_ppx)) - (public_name tezos-008-PtEdo2Zk-test-helpers) - (libraries alcotest-lwt - tezos-base - tezos-stdlib-unix - tezos-shell-services - tezos-protocol-environment - tezos-protocol-008-PtEdo2Zk - tezos-protocol-008-PtEdo2Zk-parameters - tezos-client-008-PtEdo2Zk) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_micheline - -open Tezos_stdlib_unix - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_client_008_PtEdo2Zk - -open Tezos_protocol_environment_008_PtEdo2Zk - -open Tezos_shell_services))) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune-project b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune-project deleted file mode 100644 index b26f68e03670..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/dune-project +++ /dev/null @@ -1,3 +0,0 @@ -(lang dune 2.7) -(formatting (enabled_for ocaml)) -(name tezos-alpha-test-helpers) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/expr.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/expr.ml deleted file mode 100644 index 27e33b5c9241..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/expr.ml +++ /dev/null @@ -1,38 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol -open Alpha_context - -exception Expression_from_string - -let from_string str : Script.expr = - let (ast, errs) = Michelson_v1_parser.parse_expression ~check:false str in - (match errs with - | [] -> () - | lst -> - Format.printf "expr_from_string: %a\n" Error_monad.pp_print_error lst ; - raise Expression_from_string) ; - ast.expanded diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.ml deleted file mode 100644 index 5fd549bf4591..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.ml +++ /dev/null @@ -1,197 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type t = { - predecessor : Block.t; - state : validation_state; - rev_operations : Operation.packed list; - rev_tickets : operation_receipt list; - header : Block_header.t; - delegate : Account.t; -} - -type incremental = t - -let predecessor {predecessor; _} = predecessor - -let header {header; _} = header - -let rev_tickets {rev_tickets; _} = rev_tickets - -let validation_state {state; _} = state - -let level st = st.header.shell.level - -let rpc_context st = - let result = Alpha_context.finalize st.state.ctxt in - { - Environment.Updater.block_hash = Block_hash.zero; - block_header = {st.header.shell with fitness = result.fitness}; - context = result.context; - } - -let rpc_ctxt = - new Environment.proto_rpc_context_of_directory rpc_context rpc_services - -let alpha_ctxt st = st.state.ctxt - -let begin_construction ?(priority = 0) ?timestamp ?seed_nonce_hash - ?(policy = Block.By_priority priority) (predecessor : Block.t) = - Block.get_next_baker ~policy predecessor - >>=? fun (delegate, priority, _timestamp) -> - Alpha_services.Delegate.Minimal_valid_time.get - Block.rpc_ctxt - predecessor - priority - 0 - >>=? fun real_timestamp -> - Account.find delegate >>=? fun delegate -> - let timestamp = Option.value ~default:real_timestamp timestamp in - let contents = Block.Forge.contents ~priority ?seed_nonce_hash () in - let protocol_data = {Block_header.contents; signature = Signature.zero} in - let header = - { - Block_header.shell = - { - predecessor = predecessor.hash; - proto_level = predecessor.header.shell.proto_level; - validation_passes = predecessor.header.shell.validation_passes; - fitness = predecessor.header.shell.fitness; - timestamp; - level = predecessor.header.shell.level; - context = Context_hash.zero; - operations_hash = Operation_list_list_hash.zero; - }; - protocol_data = {contents; signature = Signature.zero}; - } - in - begin_construction - ~chain_id:Chain_id.zero - ~predecessor_context:predecessor.context - ~predecessor_timestamp:predecessor.header.shell.timestamp - ~predecessor_fitness:predecessor.header.shell.fitness - ~predecessor_level:predecessor.header.shell.level - ~predecessor:predecessor.hash - ~timestamp - ~protocol_data - () - >|= fun state -> - Environment.wrap_error state >|? fun state -> - {predecessor; state; rev_operations = []; rev_tickets = []; header; delegate} - -let detect_script_failure : - type kind. kind Apply_results.operation_metadata -> _ = - let rec detect_script_failure : - type kind. kind Apply_results.contents_result_list -> _ = - let open Apply_results in - let detect_script_failure_single (type kind) - (Manager_operation_result - {operation_result; internal_operation_results; _} : - kind Kind.manager Apply_results.contents_result) = - let detect_script_failure (type kind) - (result : kind manager_operation_result) = - match result with - | Applied _ -> Ok () - | Skipped _ -> assert false - | Backtracked (_, None) -> - (* there must be another error for this to happen *) - Ok () - | Backtracked (_, Some errs) -> Environment.wrap_error (Error errs) - | Failed (_, errs) -> Environment.wrap_error (Error errs) - in - List.fold_left - (fun acc (Internal_operation_result (_, r)) -> - acc >>? fun () -> detect_script_failure r) - (detect_script_failure operation_result) - internal_operation_results - in - function - | Single_result (Manager_operation_result _ as res) -> - detect_script_failure_single res - | Single_result _ -> Ok () - | Cons_result (res, rest) -> - detect_script_failure_single res >>? fun () -> - detect_script_failure rest - in - fun {contents} -> detect_script_failure contents - -let add_operation ?expect_apply_failure ?expect_failure st op = - let open Apply_results in - apply_operation st.state op >|= Environment.wrap_error >>= fun result -> - match (expect_apply_failure, result) with - | (Some _, Ok _) -> failwith "Error expected while adding operation" - | (Some f, Error err) -> f err >|=? fun () -> st - | (None, result) -> ( - result >>?= fun result -> - match result with - | (state, (Operation_metadata result as metadata)) -> - detect_script_failure result |> fun result -> - (match expect_failure with - | None -> Lwt.return result - | Some f -> ( - match result with - | Ok _ -> failwith "Error expected while adding operation" - | Error e -> f e)) - >|=? fun () -> - { - st with - state; - rev_operations = op :: st.rev_operations; - rev_tickets = metadata :: st.rev_tickets; - } - | (state, (No_operation_metadata as metadata)) -> - return - { - st with - state; - rev_operations = op :: st.rev_operations; - rev_tickets = metadata :: st.rev_tickets; - }) - -let finalize_block st = - finalize_block st.state >|= fun x -> - Environment.wrap_error x >|? fun (result, _) -> - let operations = List.rev st.rev_operations in - let operations_hash = - Operation_list_list_hash.compute - [Operation_list_hash.compute (List.map Operation.hash_packed operations)] - in - let header = - { - st.header with - shell = - { - st.header.shell with - level = Int32.succ st.header.shell.level; - operations_hash; - fitness = result.fitness; - }; - } - in - let hash = Block_header.hash header in - {Block.hash; header; operations; context = result.context} diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.mli b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.mli deleted file mode 100644 index 6d32852544ba..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/incremental.mli +++ /dev/null @@ -1,62 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type t - -type incremental = t - -val predecessor : incremental -> Block.t - -val header : incremental -> Block_header.t - -val rev_tickets : incremental -> operation_receipt list - -val validation_state : incremental -> validation_state - -val level : incremental -> int32 - -val begin_construction : - ?priority:int -> - ?timestamp:Time.Protocol.t -> - ?seed_nonce_hash:Nonce_hash.t -> - ?policy:Block.baker_policy -> - Block.t -> - incremental tzresult Lwt.t - -val add_operation : - ?expect_apply_failure:(error list -> unit tzresult Lwt.t) -> - ?expect_failure:(error list -> unit tzresult Lwt.t) -> - incremental -> - Operation.packed -> - incremental tzresult Lwt.t - -val finalize_block : incremental -> Block.t tzresult Lwt.t - -val rpc_ctxt : incremental Environment.RPC_context.simple - -val alpha_ctxt : incremental -> Alpha_context.context diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.ml deleted file mode 100644 index 695cdcdbbec9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.ml +++ /dev/null @@ -1,35 +0,0 @@ -(**************************************************************************) -(* *) -(* Copyright (c) 2014 - 2018. *) -(* Dynamic Ledger Solutions, Inc.< contact@tezos.com > *) -(* *) -(* All rights reserved.No warranty, explicit or implicit, provided. *) -(* *) -(**************************************************************************) - -open Protocol - -module Table = Hashtbl.Make (struct - type t = Nonce_hash.t - - let hash h = Int32.to_int (TzEndian.get_int32 (Nonce_hash.to_bytes h) 0) - - let equal = Nonce_hash.equal -end) - -let known_nonces = Table.create 17 - -let generate () = - match - Alpha_context.Nonce.of_bytes - @@ Rand.generate Alpha_context.Constants.nonce_length - with - | Ok nonce -> - let hash = Alpha_context.Nonce.hash nonce in - Table.add known_nonces hash nonce ; - (hash, nonce) - | Error _ -> assert false - -let forget_all () = Table.clear known_nonces - -let get hash = Table.find known_nonces hash diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.mli b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.mli deleted file mode 100644 index 8a8b258b0658..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/nonce.mli +++ /dev/null @@ -1,33 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -(** Returns a fresh nonce and its corresponding hash (and stores them). *) -val generate : unit -> Nonce_hash.t * Alpha_context.Nonce.t - -val get : Nonce_hash.t -> Alpha_context.Nonce.t option - -val forget_all : unit -> unit diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.ml deleted file mode 100644 index 5c7147a44c8e..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.ml +++ /dev/null @@ -1,364 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -let sign ?(watermark = Signature.Generic_operation) sk ctxt contents = - let branch = Context.branch ctxt in - let unsigned = - Data_encoding.Binary.to_bytes_exn - Operation.unsigned_encoding - ({branch}, Contents_list contents) - in - let signature = Some (Signature.sign ~watermark sk unsigned) in - ({shell = {branch}; protocol_data = {contents; signature}} : _ Operation.t) - -let endorsement ?delegate ?level ctxt ?(signing_context = ctxt) () = - (match delegate with - | None -> Context.get_endorser ctxt >|=? fun (delegate, _slots) -> delegate - | Some delegate -> return delegate) - >>=? fun delegate_pkh -> - Account.find delegate_pkh >>=? fun delegate -> - Lwt.return - ( (match level with - | None -> Context.get_level ctxt - | Some level -> ok level) - >|? fun level -> - let op = Single (Endorsement {level}) in - sign - ~watermark:Signature.(Endorsement Chain_id.zero) - delegate.sk - signing_context - op ) - -let sign ?watermark sk ctxt (Contents_list contents) = - Operation.pack (sign ?watermark sk ctxt contents) - -let combine_operations ?public_key ?counter ?spurious_operation ~source ctxt - (packed_operations : packed_operation list) = - assert (List.length packed_operations > 0) ; - (* Hypothesis : each operation must have the same branch (is this really true?) *) - let {Tezos_base.Operation.branch} = - (WithExceptions.Option.get ~loc:__LOC__ @@ List.hd packed_operations).shell - in - assert ( - List.for_all - (fun {shell = {Tezos_base.Operation.branch = b; _}; _} -> - Block_hash.(branch = b)) - packed_operations) ; - (* TODO? : check signatures consistency *) - let unpacked_operations = - List.map - (function - | {Alpha_context.protocol_data = Operation_data {contents; _}; _} -> ( - match Contents_list contents with - | Contents_list (Single o) -> Contents o - | Contents_list - (Cons (Manager_operation {operation = Reveal _; _}, Single o)) - -> - Contents o - | _ -> (* TODO : decent error *) assert false)) - packed_operations - in - (match counter with - | Some counter -> return counter - | None -> Context.Contract.counter ctxt source) - >>=? fun counter -> - (* We increment the counter *) - let counter = Z.succ counter in - Context.Contract.manager ctxt source >>=? fun account -> - let public_key = Option.value ~default:account.pk public_key in - (Context.Contract.is_manager_key_revealed ctxt source >|=? function - | false -> - let reveal_op = - Manager_operation - { - source = Signature.Public_key.hash public_key; - fee = Tez.zero; - counter; - operation = Reveal public_key; - gas_limit = Gas.Arith.integral_of_int 10_000; - storage_limit = Z.zero; - } - in - (Some (Contents reveal_op), Z.succ counter) - | true -> (None, counter)) - >|=? fun (manager_op, counter) -> - (* Update counters and transform into a contents_list *) - let operations = - List.fold_left - (fun (counter, acc) -> function - | Contents (Manager_operation m) -> - ( Z.succ counter, - Contents (Manager_operation {m with counter}) :: acc ) - | x -> (counter, x :: acc)) - (counter, match manager_op with None -> [] | Some op -> [op]) - unpacked_operations - |> snd |> List.rev - in - (* patch a random operation with a corrupted pkh *) - let operations = - match spurious_operation with - | None -> operations - | Some op -> ( - let op = - match op with - | {protocol_data; shell = _} -> ( - match protocol_data with - | Operation_data {contents; _} -> ( - match contents with - | Cons _ -> assert false - | Single op -> Alpha_context.Contents op)) - in - (* Select where to insert spurious op *) - let legit_ops = List.length operations in - let index = Random.int legit_ops in - match List.split_n index operations with - | (preserved_prefix, preserved_suffix) -> - preserved_prefix @ op :: preserved_suffix) - in - let operations = Operation.of_list operations in - sign account.sk ctxt operations - -let manager_operation ?counter ?(fee = Tez.zero) ?gas_limit ?storage_limit - ?public_key ~source ctxt operation = - (match counter with - | Some counter -> return counter - | None -> Context.Contract.counter ctxt source) - >>=? fun counter -> - Context.get_constants ctxt >>=? fun c -> - let gas_limit = - let default = c.parametric.hard_gas_limit_per_operation in - Option.value ~default gas_limit - in - let storage_limit = - Option.value - ~default:c.parametric.hard_storage_limit_per_operation - storage_limit - in - Context.Contract.manager ctxt source >>=? fun account -> - let public_key = Option.value ~default:account.pk public_key in - let counter = Z.succ counter in - Context.Contract.is_manager_key_revealed ctxt source >|=? function - | true -> - let op = - Manager_operation - { - source = Signature.Public_key.hash public_key; - fee; - counter; - operation; - gas_limit; - storage_limit; - } - in - Contents_list (Single op) - | false -> - let op_reveal = - Manager_operation - { - source = Signature.Public_key.hash public_key; - fee = Tez.zero; - counter; - operation = Reveal public_key; - gas_limit = Gas.Arith.integral_of_int 10000; - storage_limit = Z.zero; - } - in - let op = - Manager_operation - { - source = Signature.Public_key.hash public_key; - fee; - counter = Z.succ counter; - operation; - gas_limit; - storage_limit; - } - in - Contents_list (Cons (op_reveal, Single op)) - -let revelation ?(fee = Tez.zero) ctxt public_key = - let pkh = Signature.Public_key.hash public_key in - let source = Contract.implicit_contract pkh in - Context.Contract.counter ctxt source >>=? fun counter -> - Context.Contract.manager ctxt source >|=? fun account -> - let counter = Z.succ counter in - let sop = - Contents_list - (Single - (Manager_operation - { - source = Signature.Public_key.hash public_key; - fee; - counter; - operation = Reveal public_key; - gas_limit = Gas.Arith.integral_of_int 10000; - storage_limit = Z.zero; - })) - in - sign account.sk ctxt sop - -let originated_contract op = - let nonce = Contract.initial_origination_nonce (Operation.hash_packed op) in - Contract.originated_contract nonce - -exception Impossible - -let origination ?counter ?delegate ~script ?(preorigination = None) ?public_key - ?credit ?fee ?gas_limit ?storage_limit ctxt source = - Context.Contract.manager ctxt source >>=? fun account -> - let default_credit = Tez.of_mutez @@ Int64.of_int 1000001 in - let default_credit = - WithExceptions.Option.to_exn ~none:Impossible default_credit - in - let credit = Option.value ~default:default_credit credit in - let operation = Origination {delegate; script; credit; preorigination} in - manager_operation - ?counter - ?public_key - ?fee - ?gas_limit - ?storage_limit - ~source - ctxt - operation - >|=? fun sop -> - let op = sign account.sk ctxt sop in - (op, originated_contract op) - -let miss_signed_endorsement ?level ctxt = - (match level with None -> Context.get_level ctxt | Some level -> ok level) - >>?= fun level -> - Context.get_endorser ctxt >>=? fun (real_delegate_pkh, _slots) -> - let delegate = Account.find_alternate real_delegate_pkh in - endorsement ~delegate:delegate.pkh ~level ctxt () - -let transaction ?counter ?fee ?gas_limit ?storage_limit - ?(parameters = Script.unit_parameter) ?(entrypoint = "default") ctxt - (src : Contract.t) (dst : Contract.t) (amount : Tez.t) = - let top = Transaction {amount; parameters; destination = dst; entrypoint} in - manager_operation ?counter ?fee ?gas_limit ?storage_limit ~source:src ctxt top - >>=? fun sop -> - Context.Contract.manager ctxt src >|=? fun account -> sign account.sk ctxt sop - -let delegation ?fee ctxt source dst = - let top = Delegation dst in - manager_operation ?fee ~source ctxt top >>=? fun sop -> - Context.Contract.manager ctxt source >|=? fun account -> - sign account.sk ctxt sop - -let activation ctxt (pkh : Signature.Public_key_hash.t) activation_code = - (match pkh with - | Ed25519 edpkh -> return edpkh - | _ -> - failwith - "Wrong public key hash : %a - Commitments must be activated with an \ - Ed25519 encrypted public key hash" - Signature.Public_key_hash.pp - pkh) - >|=? fun id -> - let contents = Single (Activate_account {id; activation_code}) in - let branch = Context.branch ctxt in - { - shell = {branch}; - protocol_data = Operation_data {contents; signature = None}; - } - -let double_endorsement ctxt op1 op2 = - let contents = Single (Double_endorsement_evidence {op1; op2}) in - let branch = Context.branch ctxt in - { - shell = {branch}; - protocol_data = Operation_data {contents; signature = None}; - } - -let double_baking ctxt bh1 bh2 = - let contents = Single (Double_baking_evidence {bh1; bh2}) in - let branch = Context.branch ctxt in - { - shell = {branch}; - protocol_data = Operation_data {contents; signature = None}; - } - -let seed_nonce_revelation ctxt level nonce = - { - shell = {branch = Context.branch ctxt}; - protocol_data = - Operation_data - { - contents = Single (Seed_nonce_revelation {level; nonce}); - signature = None; - }; - } - -let proposals ctxt (pkh : Contract.t) proposals = - Context.Contract.pkh pkh >>=? fun source -> - Context.Vote.get_current_period ctxt - >>=? fun {voting_period = {index; _}; _} -> - let op = Proposals {source; period = index; proposals} in - Account.find source >|=? fun account -> - sign account.sk ctxt (Contents_list (Single op)) - -let ballot ctxt (pkh : Contract.t) proposal ballot = - Context.Contract.pkh pkh >>=? fun source -> - Context.Vote.get_current_period ctxt - >>=? fun {voting_period = {index; _}; _} -> - let op = Ballot {source; period = index; proposal; ballot} in - Account.find source >|=? fun account -> - sign account.sk ctxt (Contents_list (Single op)) - -let dummy_script = - let open Micheline in - Script. - { - code = - lazy_expr - (strip_locations - (Seq - ( 0, - [ - Prim (0, K_parameter, [Prim (0, T_unit, [], [])], []); - Prim (0, K_storage, [Prim (0, T_unit, [], [])], []); - Prim - ( 0, - K_code, - [ - Seq - ( 0, - [ - Prim (0, I_CDR, [], []); - Prim - (0, I_NIL, [Prim (0, T_operation, [], [])], []); - Prim (0, I_PAIR, [], []); - ] ); - ], - [] ); - ] ))); - storage = lazy_expr (strip_locations (Prim (0, D_Unit, [], []))); - } - -let dummy_script_cost = Test_tez.Tez.of_mutez_exn 9_500L diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.mli b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.mli deleted file mode 100644 index 3a4bcba95143..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/op.mli +++ /dev/null @@ -1,127 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -val endorsement : - ?delegate:public_key_hash -> - ?level:Raw_level.t -> - Context.t -> - ?signing_context:Context.t -> - unit -> - Kind.endorsement Operation.t tzresult Lwt.t - -val miss_signed_endorsement : - ?level:Raw_level.t -> Context.t -> Kind.endorsement Operation.t tzresult Lwt.t - -val transaction : - ?counter:Z.t -> - ?fee:Tez.tez -> - ?gas_limit:Gas.Arith.integral -> - ?storage_limit:Z.t -> - ?parameters:Script.lazy_expr -> - ?entrypoint:string -> - Context.t -> - Contract.t -> - Contract.t -> - Tez.t -> - Operation.packed tzresult Lwt.t - -val delegation : - ?fee:Tez.tez -> - Context.t -> - Contract.t -> - public_key_hash option -> - Operation.packed tzresult Lwt.t - -val revelation : - ?fee:Tez.tez -> Context.t -> public_key -> Operation.packed tzresult Lwt.t - -val origination : - ?counter:Z.t -> - ?delegate:public_key_hash -> - script:Script.t -> - ?preorigination:Contract.contract option -> - ?public_key:public_key -> - ?credit:Tez.tez -> - ?fee:Tez.tez -> - ?gas_limit:Gas.Arith.integral -> - ?storage_limit:Z.t -> - Context.t -> - Contract.contract -> - (Operation.packed * Contract.contract) tzresult Lwt.t - -val originated_contract : Operation.packed -> Contract.contract - -val double_endorsement : - Context.t -> - Kind.endorsement Operation.t -> - Kind.endorsement Operation.t -> - Operation.packed - -val double_baking : - Context.t -> - Block_header.block_header -> - Block_header.block_header -> - Operation.packed - -val activation : - Context.t -> - Signature.Public_key_hash.t -> - Blinded_public_key_hash.activation_code -> - Operation.packed tzresult Lwt.t - -val combine_operations : - ?public_key:public_key -> - ?counter:counter -> - ?spurious_operation:packed_operation -> - source:Contract.t -> - Context.t -> - packed_operation list -> - packed_operation tzresult Lwt.t - -(** Reveals a seed_nonce that was previously committed at a certain level *) -val seed_nonce_revelation : - Context.t -> Raw_level.t -> Nonce.t -> Operation.packed - -(** Propose a list of protocol hashes during the approval voting *) -val proposals : - Context.t -> - Contract.t -> - Protocol_hash.t list -> - Operation.packed tzresult Lwt.t - -(** Cast a vote yay, nay or pass *) -val ballot : - Context.t -> - Contract.t -> - Protocol_hash.t -> - Vote.ballot -> - Operation.packed tzresult Lwt.t - -val dummy_script : Script.t - -val dummy_script_cost : Test_tez.Tez.t diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/rewards.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/rewards.ml deleted file mode 100644 index e3ed91c5d2a8..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/rewards.ml +++ /dev/null @@ -1,297 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2019 Nomadic Labs, *) -(* Copyright (c) 2019 Cryptium 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. *) -(* *) -(*****************************************************************************) - -(** The tables are precomputed using this the following formulas: - -let max_endos = 32 -let max_reward = 80 - -let r = 0.5 -let a = 6. -let b = 1.5 - -let ( -- ) i j = List.init (j - i + 1) (fun x -> x + i) - -let baking_rewards = - let reward p e = - let r_aux = - if p = 0 then - r *. (float_of_int max_reward) - else - a - in - let r = r_aux *. (float_of_int e) /. (float_of_int max_endos) in - let r = 1_000_000. *. r in - Float.to_int (floor r) in - - let ps = 0 -- 2 in - let es = 0 -- 32 in - - List.map (fun p -> - List.map (fun e -> - reward p e - ) es |> Array.of_list - ) ps |> Array.of_list - - -let endorsing_rewards = - let reward p e = - let r_aux = - (1. -. r) *. - (float_of_int max_reward) /. - (float_of_int max_endos) in - let r = if p = 0 then r_aux else r_aux /. b in - let r = 1_000_000. *. r in - Float.to_int ((float_of_int e) *. (floor r)) in - - let ps = 0 -- 2 in - let es = 0 -- 32 in - - List.map (fun p -> - List.map (fun e -> - reward p e - ) es |> Array.of_list - ) ps |> Array.of_list - - *) - -let baking_rewards : int array array = - [| - [| - 0; - 1250000; - 2500000; - 3750000; - 5000000; - 6250000; - 7500000; - 8750000; - 10000000; - 11250000; - 12500000; - 13750000; - 15000000; - 16250000; - 17500000; - 18750000; - 20000000; - 21250000; - 22500000; - 23750000; - 25000000; - 26250000; - 27500000; - 28750000; - 30000000; - 31250000; - 32500000; - 33750000; - 35000000; - 36250000; - 37500000; - 38750000; - 40000000; - |]; - [| - 0; - 187500; - 375000; - 562500; - 750000; - 937500; - 1125000; - 1312500; - 1500000; - 1687500; - 1875000; - 2062500; - 2250000; - 2437500; - 2625000; - 2812500; - 3000000; - 3187500; - 3375000; - 3562500; - 3750000; - 3937500; - 4125000; - 4312500; - 4500000; - 4687500; - 4875000; - 5062500; - 5250000; - 5437500; - 5625000; - 5812500; - 6000000; - |]; - [| - 0; - 187500; - 375000; - 562500; - 750000; - 937500; - 1125000; - 1312500; - 1500000; - 1687500; - 1875000; - 2062500; - 2250000; - 2437500; - 2625000; - 2812500; - 3000000; - 3187500; - 3375000; - 3562500; - 3750000; - 3937500; - 4125000; - 4312500; - 4500000; - 4687500; - 4875000; - 5062500; - 5250000; - 5437500; - 5625000; - 5812500; - 6000000; - |]; - |] - -let endorsing_rewards : int array array = - [| - [| - 0; - 1250000; - 2500000; - 3750000; - 5000000; - 6250000; - 7500000; - 8750000; - 10000000; - 11250000; - 12500000; - 13750000; - 15000000; - 16250000; - 17500000; - 18750000; - 20000000; - 21250000; - 22500000; - 23750000; - 25000000; - 26250000; - 27500000; - 28750000; - 30000000; - 31250000; - 32500000; - 33750000; - 35000000; - 36250000; - 37500000; - 38750000; - 40000000; - |]; - [| - 0; - 833333; - 1666666; - 2499999; - 3333332; - 4166665; - 4999998; - 5833331; - 6666664; - 7499997; - 8333330; - 9166663; - 9999996; - 10833329; - 11666662; - 12499995; - 13333328; - 14166661; - 14999994; - 15833327; - 16666660; - 17499993; - 18333326; - 19166659; - 19999992; - 20833325; - 21666658; - 22499991; - 23333324; - 24166657; - 24999990; - 25833323; - 26666656; - |]; - [| - 0; - 833333; - 1666666; - 2499999; - 3333332; - 4166665; - 4999998; - 5833331; - 6666664; - 7499997; - 8333330; - 9166663; - 9999996; - 10833329; - 11666662; - 12499995; - 13333328; - 14166661; - 14999994; - 15833327; - 16666660; - 17499993; - 18333326; - 19166659; - 19999992; - 20833325; - 21666658; - 22499991; - 23333324; - 24166657; - 24999990; - 25833323; - 26666656; - |]; - |] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/sapling_helpers.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/sapling_helpers.ml deleted file mode 100644 index 7a14b838dc0d..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/sapling_helpers.ml +++ /dev/null @@ -1,429 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol - -module Common = struct - let memo_size_of_int i = - match Alpha_context.Sapling.Memo_size.parse_z @@ Z.of_int i with - | Ok memo_size -> memo_size - | Error _ -> assert false - - let int_of_memo_size ms = - Alpha_context.Sapling.Memo_size.unparse_to_z ms |> Z.to_int - - let wrap e = Lwt.return (Environment.wrap_error e) - - let assert_true res = res >|=? fun res -> assert res - - let assert_false res = res >|=? fun res -> assert (not res) - - let assert_some res = res >|=? function Some s -> s | None -> assert false - - let assert_none res = - res >>=? function Some _ -> assert false | None -> return_unit - - let assert_error res = - res >>= function Ok _ -> assert false | Error _ -> return_unit - - let print ?(prefix = "") e v = - Printf.printf - "%s: %s\n" - prefix - Data_encoding.(Json.to_string (Json.construct e v)) - - let to_hex x encoding = - Hex.show (Hex.of_bytes Data_encoding.Binary.(to_bytes_exn encoding x)) - - let randomized_byte ?pos v encoding = - let bytes = Data_encoding.Binary.(to_bytes_exn encoding v) in - let rec aux () = - let random_char = Random.int 256 |> char_of_int in - let pos = Option.value ~default:(Random.int (Bytes.length bytes)) pos in - if random_char = Bytes.get bytes pos then aux () - else Bytes.set bytes pos random_char - in - aux () ; - Data_encoding.Binary.(of_bytes_exn encoding bytes) - - type wallet = { - sk : Tezos_sapling.Core.Wallet.Spending_key.t; - vk : Tezos_sapling.Core.Wallet.Viewing_key.t; - } - - let wallet_gen () = - let sk = - Tezos_sapling.Core.Wallet.Spending_key.of_seed - (Tezos_crypto.Hacl.Rand.gen 32) - in - let vk = Tezos_sapling.Core.Wallet.Viewing_key.of_sk sk in - {sk; vk} - - let gen_addr n vk = - let rec aux n index res = - if Compare.Int.( <= ) n 0 then res - else - let (new_index, new_addr) = - Tezos_sapling.Core.Client.Viewing_key.new_address vk index - in - aux (n - 1) new_index (new_addr :: res) - in - aux n Tezos_sapling.Core.Client.Viewing_key.default_index [] - - let gen_nf () = - let {vk; _} = wallet_gen () in - let addr = - snd - @@ Tezos_sapling.Core.Wallet.Viewing_key.(new_address vk default_index) - in - let amount = 10L in - let rcm = Tezos_sapling.Core.Client.Rcm.random () in - let position = 10L in - Tezos_sapling.Core.Client.Nullifier.compute addr vk ~amount rcm ~position - - let gen_cm_cipher ~memo_size () = - let open Tezos_sapling.Core.Client in - let {vk; _} = wallet_gen () in - let addr = - snd - @@ Tezos_sapling.Core.Wallet.Viewing_key.(new_address vk default_index) - in - let amount = 10L in - let rcm = Tezos_sapling.Core.Client.Rcm.random () in - let cm = Commitment.compute addr ~amount rcm in - let cipher = - let payload_enc = - Data_encoding.Binary.to_bytes_exn - Data_encoding.bytes - (Hacl.Rand.gen (memo_size + 4 + 16 + 11 + 32 + 8)) - in - Data_encoding.Binary.of_bytes_exn - Ciphertext.encoding - (Bytes.concat - Bytes.empty - [ - Bytes.create (32 + 32); - payload_enc; - Bytes.create (24 + 64 + 16 + 24); - ]) - in - (cm, cipher) - - (* rebuilds from empty at each call *) - let client_state_of_diff ~memo_size (root, diff) = - let open Alpha_context.Sapling in - let cs = - Tezos_sapling.Storage.add - (Tezos_sapling.Storage.empty ~memo_size) - diff.commitments_and_ciphertexts - in - assert (Tezos_sapling.Storage.get_root cs = root) ; - List.fold_left - (fun s nf -> Tezos_sapling.Storage.add_nullifier s nf) - cs - diff.nullifiers -end - -module Alpha_context_helpers = struct - include Common - - let init () = - Context.init 1 >>=? fun (b, _) -> - Alpha_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - - (* takes a state obtained from Sapling.empty_state or Sapling.state_from_id and - passed through Sapling.verify_update *) - let finalize ctx = - let open Alpha_context in - let open Sapling in - function - | {id = None; diff; memo_size} -> - Sapling.fresh ~temporary:false ctx >>= wrap >>=? fun (ctx, id) -> - let init = Lazy_storage.Alloc {memo_size} in - let lazy_storage_diff = Lazy_storage.Update {init; updates = diff} in - let diffs = [Lazy_storage.make Sapling_state id lazy_storage_diff] in - Lazy_storage.apply ctx diffs >>= wrap >|=? fun (ctx, _added_size) -> - (ctx, id) - | {id = Some id; diff; _} -> - let init = Lazy_storage.Existing in - let lazy_storage_diff = Lazy_storage.Update {init; updates = diff} in - let diffs = [Lazy_storage.make Sapling_state id lazy_storage_diff] in - Lazy_storage.apply ctx diffs >>= wrap >|=? fun (ctx, _added_size) -> - (ctx, id) - - (* disk only version *) - let verify_update ctx ?memo_size ?id vt = - let anti_replay = "anti-replay" in - (match id with - | None -> - (match memo_size with - | None -> ( - match vt.Environment.Sapling.UTXO.outputs with - | [] -> failwith "Can't infer memo_size from empty outputs" - | output :: _ -> - return - @@ Environment.Sapling.Ciphertext.get_memo_size - output.ciphertext) - | Some memo_size -> return memo_size) - >>=? fun memo_size -> - let memo_size = memo_size_of_int memo_size in - let vs = Alpha_context.Sapling.empty_state ~memo_size () in - return (vs, ctx) - | Some id -> - (* Storage.Sapling.Roots.get (Obj.magic ctx, id) 0l *) - (* >>= wrap *) - (* >>=? fun (_, root) -> *) - (* print ~prefix:"verify: " Environment.Sapling.Hash.encoding root ; *) - Alpha_context.Sapling.state_from_id ctx id >>= wrap) - >>=? fun (vs, ctx) -> - Alpha_context.Sapling.verify_update ctx vs vt anti_replay >>= wrap - >>=? fun (ctx, res) -> - match res with - | None -> return_none - | Some (_balance, vs) -> - finalize ctx vs >>=? fun (ctx, id) -> - let ectx = (Alpha_context.finalize ctx).context in - (* bump the level *) - Alpha_context.prepare - ectx - ~level: - Alpha_context.( - Raw_level.to_int32 Level.((succ ctx (current ctx)).level)) - ~predecessor_timestamp:(Time.Protocol.of_seconds Int64.zero) - ~timestamp:(Time.Protocol.of_seconds Int64.zero) - ~fitness:(Fitness_repr.from_int64 Int64.zero) - >>= wrap - >|=? fun ctx -> Some (ctx, id) - - let transfer_inputs_outputs w cs is = - (* Tezos_sapling.Storage.size cs *) - (* |> fun (a, b) -> *) - (* Printf.printf "%Ld %Ld" a b ; *) - let inputs = - List.map - (fun i -> - Tezos_sapling.Forge.Input.get cs (Int64.of_int i) w.vk - |> WithExceptions.Option.get ~loc:__LOC__ - |> snd) - is - in - let addr = - snd - @@ Tezos_sapling.Core.Wallet.Viewing_key.(new_address w.vk default_index) - in - let memo_size = Tezos_sapling.Storage.get_memo_size cs in - let o = - Tezos_sapling.Forge.make_output addr 1000000L (Bytes.create memo_size) - in - (inputs, [o]) - - let transfer w cs is = - let anti_replay = "anti-replay" in - let (ins, outs) = transfer_inputs_outputs w cs is in - (* change the wallet of this last line *) - Tezos_sapling.Forge.forge_transaction ins outs w.sk anti_replay cs - - let client_state_alpha ctx id = - Alpha_context.Sapling.get_diff ctx id () >>= wrap >>=? fun diff -> - Alpha_context.Sapling.state_from_id ctx id >>= wrap - >|=? fun ({memo_size; _}, _ctx) -> - let memo_size = int_of_memo_size memo_size in - client_state_of_diff ~memo_size diff -end - -(* - Interpreter level -*) - -module Interpreter_helpers = struct - include Common - - (* Initialize 2 addresses to do only operations plus one that will be - used to bake. *) - let init () = - Context.init 3 >|=? fun (b, contracts) -> - let (src0, src1, src2) = - match contracts with - | src0 :: src1 :: src2 :: _ -> (src0, src1, src2) - | _ -> assert false - in - let baker = - match Alpha_context.Contract.is_implicit src0 with - | Some v -> v - | None -> assert false - in - (b, baker, src1, src2) - - (* Parse a Michelson contract from string. *) - let toplevel_from_string str = - let (ast, errs) = Michelson_v1_parser.parse_toplevel ~check:true str in - match errs with [] -> ast.expanded | _ -> Stdlib.failwith "parse toplevel" - - (* Parse a Michelson expression from string, useful for call parameters. *) - let expression_from_string str = - let (ast, errs) = Michelson_v1_parser.parse_expression ~check:true str in - match errs with - | [] -> ast.expanded - | _ -> Stdlib.failwith "parse expression" - - (* returns a block in which the contract is originated. - Also returns the associtaed anti-replay string and KT1 address. *) - let originate_contract file storage src b baker = - let load_file f = - let ic = open_in f in - let res = really_input_string ic (in_channel_length ic) in - close_in ic ; - res - in - let contract_string = load_file file in - let code = toplevel_from_string contract_string in - let storage = expression_from_string storage in - let script = - Alpha_context.Script.{code = lazy_expr code; storage = lazy_expr storage} - in - Op.origination (B b) src ~fee:(Test_tez.Tez.of_int 10) ~script - >>=? fun (operation, dst) -> - Incremental.begin_construction ~policy:Block.(By_account baker) b - >>=? fun incr -> - Incremental.add_operation incr operation >>=? fun incr -> - Incremental.finalize_block incr >|=? fun b -> - let anti_replay = - Format.asprintf - "%a%a" - Alpha_context.Contract.pp - dst - Chain_id.pp - Chain_id.zero - in - (dst, b, anti_replay) - - let hex_shield ~memo_size wallet anti_replay = - let ps = Tezos_sapling.Storage.empty ~memo_size in - let addr = - snd - @@ Tezos_sapling.Core.Wallet.Viewing_key.( - new_address wallet.vk default_index) - in - let output = - Tezos_sapling.Forge.make_output addr 15L (Bytes.create memo_size) - in - let pt = - Tezos_sapling.Forge.forge_transaction [] [output] wallet.sk anti_replay ps - in - let hex_string = - "0x" - ^ Hex.show - (Hex.of_bytes - Data_encoding.Binary.( - to_bytes_exn - Tezos_sapling.Core.Client.UTXO.transaction_encoding - pt)) - in - hex_string - - (* Make a transaction and sync a local client state. [to_exclude] is the list - of addresses that cannot bake the block*) - let transac_and_sync ~memo_size block parameters amount src dst baker = - Test_tez.Tez.(one_mutez *? Int64.of_int amount) >>?= fun amount_tez -> - let fee = Test_tez.Tez.of_int 10 in - Op.transaction ~fee (B block) src dst amount_tez ~parameters - >>=? fun operation -> - Incremental.begin_construction ~policy:Block.(By_account baker) block - >>=? fun incr -> - Incremental.add_operation incr operation >>=? fun incr -> - Incremental.finalize_block incr >>=? fun block -> - Alpha_services.Contract.single_sapling_get_diff - Block.rpc_ctxt - block - dst - ~offset_commitment:0L - ~offset_nullifier:0L - () - >>=? fun diff -> - let state = client_state_of_diff ~memo_size diff in - Incremental.begin_construction ~policy:Block.(By_account baker) block - >|=? fun incr -> - let ctx = Incremental.alpha_ctxt incr in - (block, ctx, state) - - (* Returns a list of printed shield transactions and their total amount. *) - let shield ~memo_size sk number_transac vk printer anti_replay = - let state = Tezos_sapling.Storage.empty ~memo_size in - let rec aux number_transac number_outputs index amount_output total res = - if Compare.Int.(number_transac <= 0) then (res, total) - else - let (new_index, new_addr) = - Tezos_sapling.Core.Wallet.Viewing_key.(new_address vk index) - in - let outputs = - List.init ~when_negative_length:() number_outputs (fun _ -> - Tezos_sapling.Forge.make_output - new_addr - amount_output - (Bytes.create memo_size)) - |> function - | Error () -> assert false (* starts at 2 and increases *) - | Ok outputs -> outputs - in - let tr_hex = - to_hex - (Tezos_sapling.Forge.forge_transaction - ~number_dummy_inputs:0 - ~number_dummy_outputs:0 - [] - outputs - sk - anti_replay - state) - Tezos_sapling.Core.Client.UTXO.transaction_encoding - in - aux - (number_transac - 1) - (number_outputs + 1) - new_index - (Int64.add 20L amount_output) - (total + (number_outputs * Int64.to_int amount_output)) - (printer tr_hex :: res) - in - aux - number_transac - 2 - Tezos_sapling.Core.Wallet.Viewing_key.default_index - 20L - 0 - [] - - (* This fails if the operation is not correct wrt the block *) - let next_block block operation = - Incremental.begin_construction block >>=? fun incr -> - Incremental.add_operation incr operation >>=? fun incr -> - Incremental.finalize_block incr -end diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/test_tez.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/test_tez.ml deleted file mode 100644 index e6a785a3b5fb..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/test_tez.ml +++ /dev/null @@ -1,57 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Environment - -(* This module is mostly to wrap the errors from the protocol *) -module Tez = struct - include Tez - - let ( +? ) t1 t2 = t1 +? t2 |> wrap_error - - let ( -? ) t1 t2 = t1 -? t2 |> wrap_error - - let ( *? ) t1 t2 = t1 *? t2 |> wrap_error - - let ( /? ) t1 t2 = t1 /? t2 |> wrap_error - - let ( + ) t1 t2 = - match t1 +? t2 with - | Ok r -> r - | Error _ -> Pervasives.failwith "adding tez" - - let of_int x = - match Tez.of_mutez (Int64.mul (Int64.of_int x) 1_000_000L) with - | None -> invalid_arg "tez_of_int" - | Some x -> x - - let of_mutez_exn x = - match Tez.of_mutez x with None -> invalid_arg "tez_of_mutez" | Some x -> x - - let max_tez = - match Tez.of_mutez Int64.max_int with None -> assert false | Some p -> p -end diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/testable.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/testable.ml deleted file mode 100644 index 79cc1d89ff8a..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/testable.ml +++ /dev/null @@ -1,38 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 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. *) -(* *) -(*****************************************************************************) - -let contract : Protocol.Alpha_context.Contract.t Alcotest.testable = - let open Protocol in - let open Alpha_context in - Alcotest.testable Contract.pp Contract.( = ) - -let script_expr : Protocol.Alpha_context.Script.expr Alcotest.testable = - Alcotest.testable Michelson_v1_printer.print_expr ( = ) - -let trace : tztrace Alcotest.testable = Alcotest.testable pp_print_error ( = ) - -let protocol_error : Environment.Error_monad.error Alcotest.testable = - let open Environment.Error_monad in - Alcotest.testable pp ( = ) diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/tezos-008-PtEdo2Zk-test-helpers.opam b/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/tezos-008-PtEdo2Zk-test-helpers.opam deleted file mode 100644 index a1b02251fb42..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/helpers/tezos-008-PtEdo2Zk-test-helpers.opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-stdlib-unix" - "tezos-shell-services" - "tezos-protocol-environment" - "tezos-protocol-008-PtEdo2Zk" - "tezos-protocol-008-PtEdo2Zk-parameters" - "tezos-client-008-PtEdo2Zk" - "alcotest-lwt" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: protocol testing framework" diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/interpretation.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/interpretation.ml deleted file mode 100644 index 6a914e670402..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/interpretation.ml +++ /dev/null @@ -1,160 +0,0 @@ -open Protocol -open Alpha_context -open Script_interpreter - -let ( >>=?? ) x y = - x >>= function - | Ok s -> y s - | Error errs -> - Lwt.return - @@ Error (List.map (fun x -> Environment.Ecoproto_error x) errs) - -let test_context () = - Context.init 3 >>=? fun (b, _cs) -> - Incremental.begin_construction b >>=? fun v -> - return (Incremental.alpha_ctxt v) - -let default_source = Contract.implicit_contract Signature.Public_key_hash.zero - -let default_step_constants = - { - source = default_source; - payer = default_source; - self = default_source; - amount = Tez.zero; - chain_id = Chain_id.zero; - } - -(** Helper function that parses and types a script, its initial storage and - parameters from strings. It then executes the typed script with the storage - and parameter and returns the result. *) -let run_script ctx ?(step_constants = default_step_constants) contract - ?(entrypoint = "default") ~storage ~parameter () = - let contract_expr = Expr.from_string contract in - let storage_expr = Expr.from_string storage in - let parameter_expr = Expr.from_string parameter in - let script = - Script.{code = lazy_expr contract_expr; storage = lazy_expr storage_expr} - in - Script_interpreter.execute - ctx - Readable - step_constants - ~script - ~entrypoint - ~parameter:parameter_expr - ~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 - -(** Runs a script with an ill-typed parameter and verifies that a - Bad_contract_parameter error is returned *) -let test_bad_contract_parameter () = - test_context () >>=? fun ctx -> - (* Run script with a parameter of wrong type *) - run_script - ctx - "{parameter unit; storage unit; code { CAR; NIL operation; PAIR }}" - ~storage:"Unit" - ~parameter:"0" - () - >>= function - | Ok _ -> Alcotest.fail "expected an error" - | Error (Environment.Ecoproto_error (Bad_contract_parameter source') :: _) -> - Alcotest.(check Testable.contract) - "incorrect field in Bad_contract_parameter" - default_source - source' ; - return_unit - | Error errs -> - Alcotest.failf "Unexpected error: %a" Error_monad.pp_print_error errs - -let read_file filename = - let ch = open_in filename in - 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 *) -let test_stack_overflow () = - test_context () >>=? fun ctxt -> - let descr instr = - Script_typed_ir.{loc = 0; bef = Empty_t; aft = Empty_t; instr} - 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))) - in - aux n (descr Nop) - in - run_step ctxt (enorme_et_seq 10_001) () >>= function - | Ok _ -> Alcotest.fail "expected an error" - | Error lst - when List.mem - ~equal:( = ) - Script_interpreter.Michelson_too_many_recursive_calls - lst -> - return () - | Error _ -> Alcotest.failf "Unexpected error (%s)" __LOC__ - -(** Test the encoding/decoding of script_interpreter.ml specific errors *) - -let test_json_roundtrip name testable enc v = - let v' = - Data_encoding.Json.destruct enc (Data_encoding.Json.construct enc v) - in - Alcotest.check - testable - (Format.asprintf "round trip should not change value of %s" name) - v - v' ; - return_unit - -let test_json_roundtrip_err name e () = - test_json_roundtrip - name - Testable.protocol_error - Environment.Error_monad.error_encoding - e - -let error_encoding_tests = - let contract_zero = - Contract.implicit_contract Signature.Public_key_hash.zero - in - let script_expr_int = Micheline.strip_locations (Micheline.Int (0, Z.zero)) in - List.map - (fun (name, e) -> - Tztest.tztest - (Format.asprintf "test error encoding: %s" name) - `Quick - (test_json_roundtrip_err name e)) - [ - ("Reject", Reject (0, script_expr_int, None)); - ("Overflow", Overflow (0, None)); - ( "Runtime_contract_error", - Runtime_contract_error (contract_zero, script_expr_int) ); - ("Bad_contract_parameter", Bad_contract_parameter contract_zero); - ( "Cannot_serialize_log", - Helpers_services.Scripts.Traced_interpreter.Cannot_serialize_log ); - ("Cannot_serialize_failure", Cannot_serialize_failure); - ("Cannot_serialize_storage", Cannot_serialize_storage); - ] - -let tests = - [ - Tztest.tztest "test bad contract error" `Quick test_bad_contract_parameter; - Tztest.tztest "test stack overflow error" `Slow test_stack_overflow; - ] - @ error_encoding_tests diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/lazy_storage_diff.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/lazy_storage_diff.ml deleted file mode 100644 index cd55c3228f92..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/lazy_storage_diff.ml +++ /dev/null @@ -1,141 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol - -(** Generation of input data *) - -let ids = - [|1; 42; 1337; 1984|] |> Array.map Z.of_int - |> Array.map Lazy_storage_kind.Big_map.Id.parse_z - -let strs = [|"0"; "True"; "nat"; "bool"|] - -let exprs = strs |> Array.map Expr.from_string - -let hashes = - strs |> Array.map (fun x -> [x]) |> Array.map Script_expr_hash.hash_string - -let updates_len_existing = [1; 2; 3] - -let updates_len_other = 0 :: updates_len_existing - -let gen_inits idx : - (( Lazy_storage_kind.Big_map.Id.t, - Lazy_storage_kind.Big_map.alloc ) - Lazy_storage_diff.init - * int list) - list = - [ - (Existing, updates_len_existing); - (Copy {src = ids.(idx - 1)}, updates_len_other); - ( Alloc {key_type = exprs.(idx); value_type = exprs.(idx - 1)}, - updates_len_other ); - ] - -let gen_update_list idx : Lazy_storage_kind.Big_map.update list = - [None; Some exprs.(idx)] - |> List.map (fun value -> - Lazy_storage_kind.Big_map. - {key = exprs.(idx); key_hash = hashes.(idx); value}) - -let rec gen_updates updates_len : Lazy_storage_kind.Big_map.updates list = - if updates_len = 0 then [] - else - gen_updates (updates_len - 1) - |> List.map (fun suffix -> - gen_update_list updates_len - |> List.map (fun prefix -> prefix :: suffix)) - |> List.flatten - -let gen_updates_list updates_lens : Lazy_storage_kind.Big_map.updates list = - updates_lens |> List.map gen_updates |> List.flatten - -let gen_diffs idx : - ( Lazy_storage_kind.Big_map.Id.t, - Lazy_storage_kind.Big_map.alloc, - Lazy_storage_kind.Big_map.updates ) - Lazy_storage_diff.diff - list = - let open Lazy_storage_diff in - Remove - :: - (gen_inits idx - |> List.map (fun (init, updates_lens) -> - gen_updates_list updates_lens - |> List.map (fun updates -> Update {init; updates})) - |> List.flatten) - -let gen_diffs_items idx : Lazy_storage_diff.diffs_item list = - let id = ids.(idx) in - gen_diffs idx |> List.map (fun diff -> Lazy_storage_diff.make Big_map id diff) - -let rec gen_diffs_list len : Lazy_storage_diff.diffs list = - if len = 0 then [] - else - gen_diffs_list (len - 1) - |> List.map (fun suffix -> - gen_diffs_items len |> List.map (fun prefix -> prefix :: suffix)) - |> List.flatten - -let diffs_list_lens = [0; 1; 2; 3] - -let diffs_list : Lazy_storage_diff.diffs list = - diffs_list_lens |> List.map gen_diffs_list |> List.flatten - -(** Properties to check *) - -let conversion_roundtrip lazy_storage_diff = - let legacy_big_map_diff = - Contract_storage.Legacy_big_map_diff.of_lazy_storage_diff lazy_storage_diff - in - let reconverted = - Contract_storage.Legacy_big_map_diff.to_lazy_storage_diff - legacy_big_map_diff - in - assert (Stdlib.( = ) reconverted lazy_storage_diff) - -let encoding_roundtrip lazy_storage_diff = - let encoded = - Data_encoding.Binary.to_bytes_exn - Lazy_storage_diff.encoding - lazy_storage_diff - in - match Data_encoding.Binary.of_bytes Lazy_storage_diff.encoding encoded with - | Ok decoded -> assert (Stdlib.( = ) decoded lazy_storage_diff) - | Error _ -> Stdlib.failwith "Decoding failed" - -(** Iterator and test definitions *) - -let on_diffs f () = - List.iter f diffs_list ; - return_unit - -(* Marked Slow because they take 5 to 10 seconds and are unlikely to change *) -let tests = - [ - Tztest.tztest "conversion roundtrip" `Slow (on_diffs conversion_roundtrip); - Tztest.tztest "encoding roundtrip" `Slow (on_diffs encoding_roundtrip); - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/main.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/main.ml deleted file mode 100644 index 3aa0a2c095e5..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/main.ml +++ /dev/null @@ -1,54 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -let () = - Alcotest_lwt.run - "protocol_008_PtEdo2Zk" - [ - ("transfer", Transfer.tests); - ("origination", Origination.tests); - ("activation", Activation.tests); - ("revelation", Reveal.tests); - ("endorsement", Endorsement.tests); - ("double endorsement", Double_endorsement.tests); - ("double baking", Double_baking.tests); - ("seed", Seed.tests); - ("baking", Baking.tests); - ("delegation", Delegation.tests); - ("rolls", Rolls.tests); - ("combined", Combined_operations.tests); - ("qty", Qty.tests); - ("voting", Voting.tests); - ("interpretation", Interpretation.tests); - ("typechecking", Typechecking.tests); - ("gas properties", Gas_properties.tests); - ("fixed point computation", Fixed_point.tests); - ("gas cost functions", Gas_costs.tests); - ("lazy storage diff", Lazy_storage_diff.tests); - ("sapling", Test_sapling.tests); - ("helpers rpcs", Test_helpers_rpcs.tests); - ("script deserialize gas", Script_gas.tests); - ] - |> Lwt_main.run diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/origination.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/origination.ml deleted file mode 100644 index 612cfd8816d6..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/origination.ml +++ /dev/null @@ -1,254 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Test_tez - -let ten_tez = Tez.of_int 10 - -(** [register_origination fee credit spendable delegatable] takes four - optional parameter: fee for the fee need to be paid if set to - create an originated contract; credit is the amount of tez that - send to this originated contract; spendable default is set to true - meaning that this contract is spendable; delegatable default is - set to true meaning that this contract is able to delegate. *) -let register_origination ?(fee = Tez.zero) ?(credit = Tez.zero) () = - Context.init 1 >>=? fun (b, contracts) -> - let source = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts in - Context.Contract.balance (B b) source >>=? fun source_balance -> - Op.origination (B b) source ~fee ~credit ~script:Op.dummy_script - >>=? fun (operation, originated) -> - Block.bake ~operation b >>=? fun b -> - (* fee + credit + block security deposit were debited from source *) - Context.get_constants (B b) - >>=? fun { - parametric = - {origination_size; cost_per_byte; block_security_deposit; _}; - _; - } -> - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - Tez.( +? ) credit block_security_deposit - >>? Tez.( +? ) fee - >>? Tez.( +? ) origination_burn - >>? Tez.( +? ) Op.dummy_script_cost - >>?= fun total_fee -> - Assert.balance_was_debited ~loc:__LOC__ (B b) source source_balance total_fee - >>=? fun () -> - (* originated contract has been credited *) - Assert.balance_was_credited ~loc:__LOC__ (B b) originated Tez.zero credit - >|=? fun () -> - (* TODO spendable or not and delegatable or not if relevant for some - test. Not the case at the moment, cf. uses of - register_origination *) - (b, source, originated) - -(* [test_origination_balances fee credit spendable delegatable] - takes four optional parameter: fee is the fee that pay if require to create - an originated contract; credit is the amount of tez that will send to this - contract; delegatable default is set to true meaning that this contract is - able to delegate. - This function will create a contract, get the balance of this contract, call - the origination operation to create a new originated contract from this - contract with all the possible fees; and check the balance before/after - originated operation valid. - - the source contract has payed all the fees - - the originated has been credited correctly *) -let test_origination_balances ~loc:_ ?(fee = Tez.zero) ?(credit = Tez.zero) () = - Context.init 1 >>=? fun (b, contracts) -> - let contract = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts in - Context.Contract.balance (B b) contract >>=? fun balance -> - Op.origination (B b) contract ~fee ~credit ~script:Op.dummy_script - >>=? fun (operation, new_contract) -> - (* The possible fees are: a given credit, an origination burn fee - (constants_repr.default.origination_burn = 257 mtez), - a fee that is paid when creating an originate contract. - - We also take into account a block security deposit. Note that it - is not related to origination but to the baking done in the - tests.*) - Context.get_constants (B b) - >>=? fun { - parametric = - {origination_size; cost_per_byte; block_security_deposit; _}; - _; - } -> - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - Tez.( +? ) credit block_security_deposit - >>? Tez.( +? ) fee - >>? Tez.( +? ) origination_burn - >>? Tez.( +? ) Op.dummy_script_cost - >>?= fun total_fee -> - Block.bake ~operation b >>=? fun b -> - (* check that after the block has been baked the source contract - was debited all the fees *) - Assert.balance_was_debited ~loc:__LOC__ (B b) contract balance total_fee - >>=? fun _ -> - (* check the balance of the originate contract is equal to credit *) - Assert.balance_is ~loc:__LOC__ (B b) new_contract credit - -(******************************************************) -(** Tests *) - -(******************************************************) - -(** compute half of the balance and divided it by nth times *) - -let two_nth_of_balance incr contract nth = - Context.Contract.balance (I incr) contract >>=? fun balance -> - Lwt.return (Tez.( /? ) balance nth >>? fun res -> Tez.( *? ) res 2L) - -(*******************) -(** Basic test *) - -(*******************) - -let balances_simple () = test_origination_balances ~loc:__LOC__ () - -let balances_credit () = - test_origination_balances ~loc:__LOC__ ~credit:ten_tez () - -let balances_credit_fee () = - test_origination_balances ~loc:__LOC__ ~credit:(Tez.of_int 2) ~fee:ten_tez () - -let balances_undelegatable () = test_origination_balances ~loc:__LOC__ () - -(*******************) -(** ask source contract to pay a fee when originating a contract *) - -(*******************) - -let pay_fee () = - register_origination ~credit:(Tez.of_int 2) ~fee:ten_tez () - >>=? fun (_b, _contract, _new_contract) -> return_unit - -(******************************************************) -(** Errors *) - -(******************************************************) - -(*******************) -(** create an originate contract where the contract - does not have enough tez to pay for the fee *) - -(*******************) - -let not_tez_in_contract_to_pay_fee () = - Context.init 2 >>=? fun (b, contracts) -> - let contract_1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - let contract_2 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 - in - Incremental.begin_construction b >>=? fun inc -> - (* transfer everything but one tez from 1 to 2 and check balance of 1 *) - Context.Contract.balance (I inc) contract_1 >>=? fun balance -> - Tez.( -? ) balance Tez.one >>?= fun amount -> - Op.transaction (I inc) contract_1 contract_2 amount >>=? fun operation -> - Incremental.add_operation inc operation >>=? fun inc -> - Assert.balance_was_debited ~loc:__LOC__ (I inc) contract_1 balance amount - >>=? fun _ -> - (* use this source contract to create an originate contract where it requires - to pay a fee and add an amount of credit into this new contract *) - Op.origination - (I inc) - ~fee:ten_tez - ~credit:Tez.one - contract_1 - ~script:Op.dummy_script - >>=? fun (op, _) -> - Incremental.add_operation inc op >>= fun inc -> - Assert.proto_error ~loc:__LOC__ inc (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - -(***************************************************) -(* set the endorser of the block as manager/delegate of the originated - account *) -(***************************************************) - -let register_contract_get_endorser () = - Context.init 1 >>=? fun (b, contracts) -> - let contract = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts in - Incremental.begin_construction b >>=? fun inc -> - Context.get_endorser (I inc) >|=? fun (account_endorser, _slots) -> - (inc, contract, account_endorser) - -(*******************) -(** create multiple originated contracts and - ask contract to pay the fee *) - -(*******************) - -let n_originations n ?credit ?fee () = - List.fold_left_es - (fun new_contracts _ -> - register_origination ?fee ?credit () - >|=? fun (_b, _source, new_contract) -> new_contract :: new_contracts) - [] - (1 -- n) - -let multiple_originations () = - n_originations 100 ~credit:(Tez.of_int 2) ~fee:ten_tez () - >>=? fun contracts -> - Assert.equal_int ~loc:__LOC__ (List.length contracts) 100 - -(*******************) -(** cannot originate two contracts with the same context's counter *) - -(*******************) - -let counter () = - Context.init 1 >>=? fun (b, contracts) -> - let contract = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts in - Incremental.begin_construction b >>=? fun inc -> - Op.origination (I inc) ~credit:Tez.one contract ~script:Op.dummy_script - >>=? fun (op1, _) -> - Op.origination (I inc) ~credit:Tez.one contract ~script:Op.dummy_script - >>=? fun (op2, _) -> - Incremental.add_operation inc op1 >>=? fun inc -> - Incremental.add_operation inc op2 >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Contract_storage.Counter_in_the_past _ -> true - | _ -> false) - -(******************************************************) - -let tests = - [ - Tztest.tztest "balances_simple" `Quick balances_simple; - Tztest.tztest "balances_credit" `Quick balances_credit; - Tztest.tztest "balances_credit_fee" `Quick balances_credit_fee; - Tztest.tztest "balances_undelegatable" `Quick balances_undelegatable; - Tztest.tztest "pay_fee" `Quick pay_fee; - Tztest.tztest - "not enough tez in contract to pay fee" - `Quick - not_tez_in_contract_to_pay_fee; - Tztest.tztest "multiple originations" `Quick multiple_originations; - Tztest.tztest "counter" `Quick counter; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/qty.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/qty.ml deleted file mode 100644 index e71b3a38de0e..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/qty.ml +++ /dev/null @@ -1,156 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -let known_ok_tez_literals = - [ - (0L, "0"); - (10L, "0.00001"); - (100L, "0.0001"); - (1_000L, "0.001"); - (10_000L, "0.01"); - (100_000L, "0.1"); - (1_000_000L, "1"); - (10_000_000L, "10"); - (100_000_000L, "100"); - (1_000_000_000L, "1000"); - (10_000_000_000L, "10000"); - (100_000_000_000L, "100000"); - (1_000_000_000_000L, "1000000"); - (1_000_000_000_001L, "1000000.000001"); - (1_000_000_000_010L, "1000000.00001"); - (1_000_000_000_100L, "1000000.0001"); - (1_000_000_001_000L, "1000000.001"); - (1_000_000_010_000L, "1000000.01"); - (1_000_000_100_000L, "1000000.1"); - (123_123_123_123_123_123L, "123123123123.123123"); - (999_999_999_999_999_999L, "999999999999.999999"); - ] - -let known_bad_tez_literals = - [ - "10000."; - "100,."; - "100,"; - "1,0000"; - "0.0000,1"; - "0.00,1"; - "0,1"; - "HAHA"; - "0.000,000,1"; - "0.0000000"; - "9,999,999,999,999.999,999"; - ] - -let fail expected given msg = - Format.kasprintf - Stdlib.failwith - "@[%s@ expected: %s@ got: %s@]" - msg - expected - given - -let fail_msg fmt = Format.kasprintf (fail "" "") fmt - -let default_printer _ = "" - -let equal ?(eq = ( = )) ?(prn = default_printer) ?(msg = "") x y = - if not (eq x y) then fail (prn x) (prn y) msg - -let is_none ?(msg = "") x = if x <> None then fail "None" "Some _" msg - -let is_some ?(msg = "") x = if x = None then fail "Some _" "None" msg - -let test_known_tez_literals () = - List.iter - (fun (v, s) -> - let vv = Tez_repr.of_mutez v in - let vs = Tez_repr.of_string s in - let vs' = - Tez_repr.of_string (String.concat "" (String.split_on_char ',' s)) - in - let vv = - match vv with None -> fail_msg "could not unopt %Ld" v | Some vv -> vv - in - let vs = - match vs with None -> fail_msg "could not unopt %s" s | Some vs -> vs - in - let vs' = - match vs' with - | None -> fail_msg "could not unopt %s" s - | Some vs' -> vs' - in - equal ~prn:Tez_repr.to_string vv vs ; - equal ~prn:Tez_repr.to_string vv vs' ; - equal ~prn:(fun s -> s) (Tez_repr.to_string vv) s) - known_ok_tez_literals ; - List.iter - (fun s -> - let vs = Tez_repr.of_string s in - is_none ~msg:("Unexpected successful parsing of " ^ s) vs) - known_bad_tez_literals ; - return_unit - -let test_random_tez_literals () = - for _ = 0 to 100_000 do - let v = Random.int64 12L in - let vv = Tez_repr.of_mutez v in - let vv = - match vv with None -> fail_msg "could not unopt %Ld" v | Some vv -> vv - in - let s = Tez_repr.to_string vv in - let vs = Tez_repr.of_string s in - let s' = String.concat "" (String.split_on_char ',' s) in - let vs' = Tez_repr.of_string s' in - is_some ~msg:("Could not parse " ^ s ^ " back") vs ; - is_some ~msg:("Could not parse " ^ s ^ " back") vs' ; - (match vs with - | None -> assert false - | Some vs -> - let rev = Tez_repr.to_int64 vs in - equal ~prn:Int64.to_string ~msg:(Tez_repr.to_string vv) v rev) ; - match vs' with - | None -> assert false - | Some vs' -> - let rev = Tez_repr.to_int64 vs' in - equal ~prn:Int64.to_string ~msg:(Tez_repr.to_string vv) v rev - done ; - return_unit - -let tests = - [ - ("tez-literals", fun _ -> test_known_tez_literals ()); - ("rnd-tez-literals", fun _ -> test_random_tez_literals ()); - ] - -let wrap (n, f) = - Alcotest_lwt.test_case n `Quick (fun _ () -> - f () >|= function - | Ok () -> () - | Error error -> - Format.kasprintf Stdlib.failwith "%a" pp_print_error error) - -let tests = List.map wrap tests diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/reveal.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/reveal.ml deleted file mode 100644 index d22166770071..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/reveal.ml +++ /dev/null @@ -1,101 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 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. *) -(* *) -(*****************************************************************************) - -(** Test for the [Reveal] operation. *) - -open Protocol -open Test_tez - -let ten_tez = Tez.of_int 10 - -let simple_reveal () = - Context.init 1 >>=? fun (blk, contracts) -> - let c = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let new_c = Account.new_account () in - let new_contract = Alpha_context.Contract.implicit_contract new_c.pkh in - (* Create the contract *) - Op.transaction (B blk) c new_contract Tez.one >>=? fun operation -> - Block.bake blk ~operation >>=? fun blk -> - (Context.Contract.is_manager_key_revealed (B blk) new_contract >|=? function - | true -> Stdlib.failwith "Unexpected revelation" - | false -> ()) - >>=? fun () -> - (* Reveal the contract *) - Op.revelation (B blk) new_c.pk >>=? fun operation -> - Block.bake blk ~operation >>=? fun blk -> - Context.Contract.is_manager_key_revealed (B blk) new_contract >|=? function - | true -> () - | false -> Stdlib.failwith "New contract revelation failed." - -let empty_account_on_reveal () = - Context.init 1 >>=? fun (blk, contracts) -> - let c = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let new_c = Account.new_account () in - let new_contract = Alpha_context.Contract.implicit_contract new_c.pkh in - let amount = Tez.one_mutez in - (* Create the contract *) - Op.transaction (B blk) c new_contract amount >>=? fun operation -> - Block.bake blk ~operation >>=? fun blk -> - (Context.Contract.is_manager_key_revealed (B blk) new_contract >|=? function - | true -> Stdlib.failwith "Unexpected revelation" - | false -> ()) - >>=? fun () -> - (* Reveal the contract *) - Op.revelation ~fee:amount (B blk) new_c.pk >>=? fun operation -> - Incremental.begin_construction blk >>=? fun inc -> - Incremental.add_operation inc operation >>=? fun _ -> - Block.bake blk ~operation >>=? fun blk -> - Context.Contract.is_manager_key_revealed (B blk) new_contract >|=? function - | false -> () - | true -> Stdlib.failwith "Empty account still exists and is revealed." - -let not_enough_found_for_reveal () = - Context.init 1 >>=? fun (blk, contracts) -> - let c = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let new_c = Account.new_account () in - let new_contract = Alpha_context.Contract.implicit_contract new_c.pkh in - (* Create the contract *) - Op.transaction (B blk) c new_contract Tez.one_mutez >>=? fun operation -> - Block.bake blk ~operation >>=? fun blk -> - (Context.Contract.is_manager_key_revealed (B blk) new_contract >|=? function - | true -> Stdlib.failwith "Unexpected revelation" - | false -> ()) - >>=? fun () -> - (* Reveal the contract *) - Op.revelation ~fee:Tez.fifty_cents (B blk) new_c.pk >>=? fun operation -> - Block.bake blk ~operation >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Contract_storage.Balance_too_low _ -> true - | _ -> false) - -let tests = - [ - Tztest.tztest "simple reveal" `Quick simple_reveal; - Tztest.tztest "empty account on reveal" `Quick empty_account_on_reveal; - Tztest.tztest - "not enough found for reveal" - `Quick - not_enough_found_for_reveal; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/rolls.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/rolls.ml deleted file mode 100644 index fc7d94998594..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/rolls.ml +++ /dev/null @@ -1,277 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Test_tez - -let account_pair = function [a1; a2] -> (a1, a2) | _ -> assert false - -let wrap e = Lwt.return (Environment.wrap_error e) - -let traverse_rolls ctxt head = - let rec loop acc roll = - Storage.Roll.Successor.get_option ctxt roll >>= wrap >>=? function - | None -> return (List.rev acc) - | Some next -> loop (next :: acc) next - in - loop [head] head - -let get_rolls ctxt delegate = - Storage.Roll.Delegate_roll_list.get_option ctxt delegate >>= wrap - >>=? function - | None -> return_nil - | Some head_roll -> traverse_rolls ctxt head_roll - -let check_rolls b (account : Account.t) = - Context.get_constants (B b) >>=? fun constants -> - Context.Delegate.info (B b) account.pkh >>=? fun {staking_balance; _} -> - let token_per_roll = constants.parametric.tokens_per_roll in - let expected_rolls = - Int64.div (Tez.to_mutez staking_balance) (Tez.to_mutez token_per_roll) - in - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctxt -> - get_rolls ctxt account.pkh >>=? fun rolls -> - Assert.equal_int - ~loc:__LOC__ - (List.length rolls) - (Int64.to_int expected_rolls) - -let check_no_rolls (b : Block.t) (account : Account.t) = - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctxt -> - get_rolls ctxt account.pkh >>=? fun rolls -> - Assert.equal_int ~loc:__LOC__ (List.length rolls) 0 - -let simple_staking_rights () = - Context.init 2 >>=? fun (b, accounts) -> - let (a1, _a2) = account_pair accounts in - Context.Contract.balance (B b) a1 >>=? fun balance -> - Context.Contract.manager (B b) a1 >>=? fun m1 -> - Context.Delegate.info (B b) m1.pkh >>=? fun info -> - Assert.equal_tez ~loc:__LOC__ balance info.staking_balance >>=? fun () -> - check_rolls b m1 - -let simple_staking_rights_after_baking () = - Context.init 2 >>=? fun (b, accounts) -> - let (a1, a2) = account_pair accounts in - Context.Contract.balance (B b) a1 >>=? fun balance -> - Context.Contract.manager (B b) a1 >>=? fun m1 -> - Context.Contract.manager (B b) a2 >>=? fun m2 -> - Block.bake_n ~policy:(By_account m2.pkh) 5 b >>=? fun b -> - Context.Delegate.info (B b) m1.pkh >>=? fun info -> - Assert.equal_tez ~loc:__LOC__ balance info.staking_balance >>=? fun () -> - check_rolls b m1 >>=? fun () -> check_rolls b m2 - -let frozen_deposit (info : Context.Delegate.info) = - Cycle.Map.fold - (fun _ {Delegate.deposit; _} acc -> Test_tez.Tez.(deposit + acc)) - info.frozen_balance_by_cycle - Tez.zero - -let check_activate_staking_balance ~loc ~deactivated b (a, (m : Account.t)) = - Context.Delegate.info (B b) m.pkh >>=? fun info -> - Assert.equal_bool ~loc info.deactivated deactivated >>=? fun () -> - Context.Contract.balance (B b) a >>=? fun balance -> - let deposit = frozen_deposit info in - Assert.equal_tez ~loc Test_tez.Tez.(balance + deposit) info.staking_balance - -let run_until_deactivation () = - Context.init 2 >>=? fun (b, accounts) -> - let (a1, a2) = account_pair accounts in - Context.Contract.balance (B b) a1 >>=? fun balance_start -> - Context.Contract.manager (B b) a1 >>=? fun m1 -> - Context.Contract.manager (B b) a2 >>=? fun m2 -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b (a1, m1) - >>=? fun () -> - Context.Delegate.info (B b) m1.pkh >>=? fun info -> - Block.bake_until_cycle ~policy:(By_account m2.pkh) info.grace_period b - >>=? fun b -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b (a1, m1) - >>=? fun () -> - Block.bake_until_cycle_end ~policy:(By_account m2.pkh) b >>=? fun b -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:true b (a1, m1) - >|=? fun () -> (b, ((a1, m1), balance_start), (a2, m2)) - -let deactivation_then_bake () = - run_until_deactivation () - >>=? fun ( b, - ( ((_deactivated_contract, deactivated_account) as deactivated), - _start_balance ), - (_a2, _m2) ) -> - Block.bake ~policy:(By_account deactivated_account.pkh) b >>=? fun b -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b deactivated - >>=? fun () -> check_rolls b deactivated_account - -let deactivation_then_self_delegation () = - run_until_deactivation () - >>=? fun ( b, - ( ((deactivated_contract, deactivated_account) as deactivated), - start_balance ), - (_a2, m2) ) -> - Op.delegation (B b) deactivated_contract (Some deactivated_account.pkh) - >>=? fun self_delegation -> - Block.bake ~policy:(By_account m2.pkh) b ~operation:self_delegation - >>=? fun b -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b deactivated - >>=? fun () -> - Context.Contract.balance (B b) deactivated_contract >>=? fun balance -> - Assert.equal_tez ~loc:__LOC__ start_balance balance >>=? fun () -> - check_rolls b deactivated_account - -let deactivation_then_empty_then_self_delegation () = - run_until_deactivation () - >>=? fun ( b, - ( ((deactivated_contract, deactivated_account) as deactivated), - _start_balance ), - (_a2, m2) ) -> - (* empty the contract *) - Context.Contract.balance (B b) deactivated_contract >>=? fun balance -> - let sink_account = Account.new_account () in - let sink_contract = Contract.implicit_contract sink_account.pkh in - Context.get_constants (B b) - >>=? fun {parametric = {origination_size; cost_per_byte; _}; _} -> - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - let amount = - match Tez.(balance -? origination_burn) with - | Ok r -> r - | Error _ -> assert false - in - Op.transaction (B b) deactivated_contract sink_contract amount - >>=? fun empty_contract -> - Block.bake ~policy:(By_account m2.pkh) ~operation:empty_contract b - >>=? fun b -> - (* self delegation *) - Op.delegation (B b) deactivated_contract (Some deactivated_account.pkh) - >>=? fun self_delegation -> - Block.bake ~policy:(By_account m2.pkh) ~operation:self_delegation b - >>=? fun b -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b deactivated - >>=? fun () -> - Context.Contract.balance (B b) deactivated_contract >>=? fun balance -> - Assert.equal_tez ~loc:__LOC__ Tez.zero balance >>=? fun () -> - check_rolls b deactivated_account - -let deactivation_then_empty_then_self_delegation_then_recredit () = - run_until_deactivation () - >>=? fun ( b, - ( ((deactivated_contract, deactivated_account) as deactivated), - balance ), - (_a2, m2) ) -> - (* empty the contract *) - let sink_account = Account.new_account () in - let sink_contract = Contract.implicit_contract sink_account.pkh in - Context.get_constants (B b) - >>=? fun {parametric = {origination_size; cost_per_byte; _}; _} -> - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - let amount = - match Tez.(balance -? origination_burn) with - | Ok r -> r - | Error _ -> assert false - in - Op.transaction (B b) deactivated_contract sink_contract amount - >>=? fun empty_contract -> - Block.bake ~policy:(By_account m2.pkh) ~operation:empty_contract b - >>=? fun b -> - (* self delegation *) - Op.delegation (B b) deactivated_contract (Some deactivated_account.pkh) - >>=? fun self_delegation -> - Block.bake ~policy:(By_account m2.pkh) ~operation:self_delegation b - >>=? fun b -> - (* recredit *) - Op.transaction (B b) sink_contract deactivated_contract amount - >>=? fun recredit_contract -> - Block.bake ~policy:(By_account m2.pkh) ~operation:recredit_contract b - >>=? fun b -> - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b deactivated - >>=? fun () -> - Context.Contract.balance (B b) deactivated_contract >>=? fun balance -> - Assert.equal_tez ~loc:__LOC__ amount balance >>=? fun () -> - check_rolls b deactivated_account - -let delegation () = - Context.init 2 >>=? fun (b, accounts) -> - let (a1, a2) = account_pair accounts in - let m3 = Account.new_account () in - Account.add_account m3 ; - Context.Contract.manager (B b) a1 >>=? fun m1 -> - Context.Contract.manager (B b) a2 >>=? fun m2 -> - let a3 = Contract.implicit_contract m3.pkh in - Context.Contract.delegate_opt (B b) a1 >>=? fun delegate -> - (match delegate with - | None -> assert false - | Some pkh -> assert (Signature.Public_key_hash.equal pkh m1.pkh)) ; - Op.transaction (B b) a1 a3 Tez.fifty_cents >>=? fun transact -> - Block.bake ~policy:(By_account m2.pkh) b ~operation:transact >>=? fun b -> - Context.Contract.delegate_opt (B b) a3 >>=? fun delegate -> - (match delegate with None -> () | Some _ -> assert false) ; - check_no_rolls b m3 >>=? fun () -> - Op.delegation (B b) a3 (Some m3.pkh) >>=? fun delegation -> - Block.bake ~policy:(By_account m2.pkh) b ~operation:delegation >>=? fun b -> - Context.Contract.delegate_opt (B b) a3 >>=? fun delegate -> - (match delegate with - | None -> assert false - | Some pkh -> assert (Signature.Public_key_hash.equal pkh m3.pkh)) ; - check_activate_staking_balance ~loc:__LOC__ ~deactivated:false b (a3, m3) - >>=? fun () -> - check_rolls b m3 >>=? fun () -> check_rolls b m1 - -let tests = - [ - Tztest.tztest "simple staking rights" `Quick simple_staking_rights; - Tztest.tztest - "simple staking rights after baking" - `Quick - simple_staking_rights_after_baking; - Tztest.tztest "deactivation then bake" `Quick deactivation_then_bake; - Tztest.tztest - "deactivation then self delegation" - `Quick - deactivation_then_self_delegation; - Tztest.tztest - "deactivation then empty then self delegation" - `Quick - deactivation_then_empty_then_self_delegation; - Tztest.tztest - "deactivation then empty then self delegation then recredit" - `Quick - deactivation_then_empty_then_self_delegation_then_recredit; - Tztest.tztest "delegation" `Quick delegation; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/script_gas.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/script_gas.ml deleted file mode 100644 index 19dc398cf6b4..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/script_gas.ml +++ /dev/null @@ -1,131 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol - -(* This file contains unit tests pertaining to the computation of - serialization and deserialization gas of Michelson terms. *) - -module Tested_terms () = struct - open Micheline - - let string = String (0, "this is a test string") - - let int = Int (0, Z.of_string "133713371337133713371337") - - let bytes = Bytes (0, Bytes.of_string "this is a value of type Bytes.t") - - (* We're not going to typecheck; the chosen primitive does not matter. *) - let some_prim = Michelson_v1_primitives.D_Unit - - (* replace this by a proper prng if you feel like it *) - let next_seed seed = seed + 1 - - let rec dummy_but_large_term depth seed k = - if depth = 0 then - let kind = seed mod 3 in - if kind = 0 then k string else if kind = 1 then k int else k bytes - else - let seed1 = next_seed seed in - let seed2 = next_seed seed1 in - dummy_but_large_term (depth - 1) seed1 (fun term1 -> - dummy_but_large_term (depth - 1) seed2 (fun term2 -> - let kind = seed mod 2 in - if kind = 0 then k (Prim (0, some_prim, [term1; term2], [])) - else k (Seq (0, [term1; term2])))) - - let dummy_but_large_term ~depth ~seed = - dummy_but_large_term depth seed (fun x -> x) - - let ( % ) g f x = g (f x) - - let terms : Script_repr.lazy_expr list = - List.map (Script_repr.lazy_expr % Micheline.strip_locations) - @@ [ - string; - int; - bytes; - dummy_but_large_term ~depth:1 ~seed:1; - dummy_but_large_term ~depth:5 ~seed:1; - dummy_but_large_term ~depth:10 ~seed:1; - dummy_but_large_term ~depth:15 ~seed:1; - ] - - let bytes = - List.map - (Data_encoding.Binary.to_bytes_exn Script_repr.lazy_expr_encoding) - terms - - let lazy_terms : Script_repr.lazy_expr list = - try - List.map - (Data_encoding.Binary.of_bytes_exn Script_repr.lazy_expr_encoding) - bytes - with Data_encoding.Binary.Read_error err -> - Format.eprintf "%a@." Data_encoding.Binary.pp_read_error err ; - assert false - - let minimal_costs = List.map Script_repr.minimal_deserialize_cost lazy_terms - - let full_costs = - List.map - (fun lazy_term -> - match Script_repr.force_decode lazy_term with - | Error _ -> assert false - | Ok (_term, cost) -> cost) - lazy_terms - - let check_correctness () = - List.iter2_e - ~when_different_lengths: - (TzTrace.make - (Exn (Failure "min costs and full costs have different lengths"))) - (fun min full -> - if Z.leq min full then Result.return_unit - else - generic_error - "Script_repr: inconsistent costs %a vs %a@." - Z.pp_print - min - Z.pp_print - full) - minimal_costs - full_costs - - let check_correctness () = Lwt.return @@ check_correctness () -end - -let check_property () = - let module T = Tested_terms () in - T.check_correctness () - -let tests = - [ - Tztest.tztest - "Script_repr.minimal_deserialize_cost is a lower bound for full \ - deserialization cost" - `Quick - check_property; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/seed.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/seed.ml deleted file mode 100644 index 17e8f6ee477d..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/seed.ml +++ /dev/null @@ -1,243 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -(** Tests about - - seed_nonce_hash included in some blocks - - revelation operation of seed_nonce that should correspond to each - seed_nonce_hash -*) - -open Protocol -open Test_tez - -(** Tests that baking [blocks_per_commitment] blocks without a - [seed_nonce_hash] commitment fails with [Invalid_commitment] *) -let no_commitment () = - Context.init 5 >>=? fun (b, _) -> - Context.get_constants (B b) - >>=? fun {parametric = {blocks_per_commitment; _}; _} -> - let blocks_per_commitment = Int32.to_int blocks_per_commitment in - (* Bake normally until before the commitment *) - Block.bake_n (blocks_per_commitment - 2) b >>=? fun b -> - (* Forge a block with empty commitment and apply it *) - Block.Forge.forge_header b >>=? fun header -> - Block.Forge.set_seed_nonce_hash None header |> Block.Forge.sign_header - >>=? fun header -> - Block.apply header b >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Apply.Invalid_commitment _ -> true - | _ -> false) - -let baking_reward ctxt (b : Block.t) = - let priority = b.header.protocol_data.contents.priority in - Block.get_endorsing_power b >>=? fun endorsing_power -> - Context.get_baking_reward ctxt ~priority ~endorsing_power - -(** Choose a baker, denote it by id. In the first cycle, make id bake only once. - Test that: - - after id bakes with a commitment the bond is frozen and the reward allocated - - when id reveals the nonce too early, there's an error - - when id reveals at the right time but the wrong value, there's an error - - when another baker reveals correctly, it receives the tip - - revealing twice produces an error - - after [preserved cycles] a committer that correctly revealed - receives back the bond and the reward -*) -let revelation_early_wrong_right_twice () = - let open Assert in - Context.init 5 >>=? fun (b, _) -> - Context.get_constants (B b) >>=? fun csts -> - let bond = csts.parametric.block_security_deposit in - let tip = csts.parametric.seed_nonce_revelation_tip in - let blocks_per_commitment = - Int32.to_int csts.parametric.blocks_per_commitment - in - let preserved_cycles = csts.parametric.preserved_cycles in - (* get the pkh of a baker *) - Block.get_next_baker b >>=? fun (pkh, _, _) -> - let id = Alpha_context.Contract.implicit_contract pkh in - let policy = Block.Excluding [pkh] in - (* bake until commitment, excluding id *) - Block.bake_n ~policy (blocks_per_commitment - 2) b >>=? fun b -> - Context.Contract.balance ~kind:Main (B b) id >>=? fun bal_main -> - Context.Contract.balance ~kind:Deposit (B b) id >>=? fun bal_deposit -> - Context.Contract.balance ~kind:Rewards (B b) id >>=? fun bal_rewards -> - (* the baker [id] will include a seed_nonce commitment *) - Block.bake ~policy:(Block.By_account pkh) b >>=? fun b -> - Context.get_level (B b) >>?= fun level_commitment -> - Context.get_seed_nonce_hash (B b) >>=? fun committed_hash -> - baking_reward (B b) b >>=? fun reward -> - (* test that the bond was frozen and the reward allocated *) - balance_was_debited ~loc:__LOC__ (B b) id bal_main bond >>=? fun () -> - balance_was_credited ~loc:__LOC__ (B b) id ~kind:Deposit bal_deposit bond - >>=? fun () -> - balance_was_credited ~loc:__LOC__ (B b) id ~kind:Rewards bal_rewards reward - >>=? fun () -> - (* test that revealing too early produces an error *) - Op.seed_nonce_revelation - (B b) - level_commitment - (WithExceptions.Option.to_exn ~none:Not_found @@ Nonce.get committed_hash) - |> fun operation -> - Block.bake ~policy ~operation b >>= fun e -> - let expected = function - | Nonce_storage.Too_early_revelation -> true - | _ -> false - in - Assert.proto_error ~loc:__LOC__ e expected >>=? fun () -> - (* finish the cycle excluding the committing baker, id *) - Block.bake_until_cycle_end ~policy b >>=? fun b -> - (* test that revealing at the right time but the wrong value produces an error *) - let (wrong_hash, _) = Nonce.generate () in - Op.seed_nonce_revelation - (B b) - level_commitment - (WithExceptions.Option.to_exn ~none:Not_found @@ Nonce.get wrong_hash) - |> fun operation -> - Block.bake ~operation b >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Nonce_storage.Unexpected_nonce -> true - | _ -> false) - >>=? fun () -> - (* reveals correctly *) - Op.seed_nonce_revelation - (B b) - level_commitment - (WithExceptions.Option.to_exn ~none:Not_found @@ Nonce.get committed_hash) - |> fun operation -> - Block.get_next_baker ~policy b >>=? fun (baker_pkh, _, _) -> - let baker = Alpha_context.Contract.implicit_contract baker_pkh in - Context.Contract.balance ~kind:Main (B b) baker >>=? fun baker_bal_main -> - Context.Contract.balance ~kind:Deposit (B b) baker - >>=? fun baker_bal_deposit -> - Context.Contract.balance ~kind:Rewards (B b) baker - >>=? fun baker_bal_rewards -> - (* bake the operation in a block *) - Block.bake ~policy ~operation b >>=? fun b -> - baking_reward (B b) b >>=? fun baker_reward -> - (* test that the baker gets the tip reward *) - balance_was_debited ~loc:__LOC__ (B b) baker ~kind:Main baker_bal_main bond - >>=? fun () -> - balance_was_credited - ~loc:__LOC__ - (B b) - baker - ~kind:Deposit - baker_bal_deposit - bond - >>=? fun () -> - Tez.( +? ) baker_reward tip >>?= fun expected_rewards -> - balance_was_credited - ~loc:__LOC__ - (B b) - baker - ~kind:Rewards - baker_bal_rewards - expected_rewards - >>=? fun () -> - (* test that revealing twice produces an error *) - Op.seed_nonce_revelation - (B b) - level_commitment - (WithExceptions.Option.to_exn ~none:Not_found @@ Nonce.get wrong_hash) - |> fun operation -> - Block.bake ~operation ~policy b >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Nonce_storage.Previously_revealed_nonce -> true - | _ -> false) - >>=? fun () -> - (* bake [preserved_cycles] cycles excluding [id] *) - List.fold_left_es - (fun b _ -> Block.bake_until_cycle_end ~policy b) - b - (1 -- preserved_cycles) - >>=? fun b -> - (* test that [id] receives back the bond and the reward *) - (* note that in order to have that new_bal = bal_main + reward, - id can only bake once; this is why we exclude id from all other bake ops. *) - balance_was_credited ~loc:__LOC__ (B b) id ~kind:Main bal_main reward - >>=? fun () -> - balance_is ~loc:__LOC__ (B b) id ~kind:Deposit Tez.zero >>=? fun () -> - balance_is ~loc:__LOC__ (B b) id ~kind:Rewards Tez.zero - -(** Tests that: - - a committer at cycle 0, which doesn't reveal at cycle 1, - at the end of the cycle 1 looses the bond and the reward - - revealing too late produces an error -*) -let revelation_missing_and_late () = - let open Context in - let open Assert in - Context.init 5 >>=? fun (b, _) -> - get_constants (B b) >>=? fun csts -> - baking_reward (B b) b >>=? fun reward -> - let blocks_per_commitment = - Int32.to_int csts.parametric.blocks_per_commitment - in - (* bake until commitment *) - Block.bake_n (blocks_per_commitment - 2) b >>=? fun b -> - (* the next baker [id] will include a seed_nonce commitment *) - Block.get_next_baker b >>=? fun (pkh, _, _) -> - let id = Alpha_context.Contract.implicit_contract pkh in - Block.bake b >>=? fun b -> - Context.get_level (B b) >>?= fun level_commitment -> - Context.get_seed_nonce_hash (B b) >>=? fun committed_hash -> - Context.Contract.balance ~kind:Main (B b) id >>=? fun bal_main -> - Context.Contract.balance ~kind:Deposit (B b) id >>=? fun bal_deposit -> - Context.Contract.balance ~kind:Rewards (B b) id >>=? fun bal_rewards -> - (* finish cycle 0 excluding the committing baker [id] *) - let policy = Block.Excluding [pkh] in - Block.bake_until_cycle_end ~policy b >>=? fun b -> - (* finish cycle 1 excluding the committing baker [id] *) - Block.bake_until_cycle_end ~policy b >>=? fun b -> - (* test that baker [id], which didn't reveal at cycle 1 like it was supposed to, - at the end of the cycle 1 looses the reward but not the bond *) - balance_is ~loc:__LOC__ (B b) id ~kind:Main bal_main >>=? fun () -> - balance_is ~loc:__LOC__ (B b) id ~kind:Deposit bal_deposit >>=? fun () -> - balance_was_debited ~loc:__LOC__ (B b) id ~kind:Rewards bal_rewards reward - >>=? fun () -> - (* test that revealing too late (after cycle 1) produces an error *) - Op.seed_nonce_revelation - (B b) - level_commitment - (WithExceptions.Option.to_exn ~none:Not_found @@ Nonce.get committed_hash) - |> fun operation -> - Block.bake ~operation b >>= fun e -> - Assert.proto_error ~loc:__LOC__ e (function - | Nonce_storage.Too_late_revelation -> true - | _ -> false) - -let tests = - [ - Tztest.tztest "no commitment" `Quick no_commitment; - Tztest.tztest - "revelation_early_wrong_right_twice" - `Quick - revelation_early_wrong_right_twice; - Tztest.tztest - "revelation_missing_and_late" - `Quick - revelation_missing_and_late; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/test_helpers_rpcs.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/test_helpers_rpcs.ml deleted file mode 100644 index d2138dd04665..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/test_helpers_rpcs.ml +++ /dev/null @@ -1,64 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol -open Alpha_context - -(* Test the baking_rights RPC. - Future levels or cycles are not tested because it's hard in this framework, - using only RPCs, to fabricate them. *) -let test_baking_rights () = - Context.init 2 >>=? fun (b, contracts) -> - let open Alpha_services.Delegate.Baking_rights in - (* default max_priority returns 65 results *) - get Block.rpc_ctxt b ~all:true >>=? fun rights -> - assert (List.length rights = 65) ; - (* arbitrary max_priority *) - let max_priority = 15 in - get Block.rpc_ctxt b ~all:true ~max_priority >>=? fun rights -> - assert (List.length rights = max_priority + 1) ; - (* filtering by delegate *) - let d = - Contract.is_implicit - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0) - |> WithExceptions.Option.get ~loc:__LOC__ - in - get Block.rpc_ctxt b ~all:true ~delegates:[d] >>=? fun rights -> - assert (List.for_all (fun {delegate; _} -> delegate = d) rights) ; - (* filtering by cycle *) - Alpha_services.Helpers.current_level Block.rpc_ctxt b >>=? fun {cycle; _} -> - get Block.rpc_ctxt b ~all:true ~cycles:[cycle] >>=? fun rights -> - Alpha_services.Helpers.levels_in_current_cycle Block.rpc_ctxt b - >>=? fun (first, last) -> - assert ( - List.for_all (fun {level; _} -> level >= first && level <= last) rights) ; - (* filtering by level *) - Alpha_services.Helpers.current_level Block.rpc_ctxt b >>=? fun {level; _} -> - get Block.rpc_ctxt b ~all:true ~levels:[level] >>=? fun rights -> - let espected_level = level in - assert (List.for_all (fun {level; _} -> level = espected_level) rights) ; - return_unit - -let tests = [Tztest.tztest "baking_rights" `Quick test_baking_rights] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/test_sapling.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/test_sapling.ml deleted file mode 100644 index 719092386338..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/test_sapling.ml +++ /dev/null @@ -1,1089 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2020 Nomadic Labs *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol - -let list_init n f = - List.init ~when_negative_length:() n f |> function - | Error () -> assert false - | Ok r -> r - -module Raw_context_tests = struct - open Sapling_helpers.Common - - (* This test adds to the first 100 positions in the commitments tree the - constant value `uncommitted` for which we know the corresponding root and - tests that the returned root is as expected. *) - let commitments_add_uncommitted () = - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - let module H = Tezos_sapling.Core.Client.Hash in - let cm = H.uncommitted ~height:0 in - let expected_root = H.uncommitted ~height:32 in - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id) -> - Sapling_storage.init ctx id ~memo_size:0 >>= wrap >>=? fun ctx -> - List.fold_left_es - (fun ctx pos -> - Sapling_storage.Commitments.get_root ctx id >>= wrap - >>=? fun (ctx, root) -> - assert (root = expected_root) ; - Sapling_storage.Commitments.add - ctx - id - [H.to_commitment cm] - (Int64.of_int pos) - >>= wrap - >>=? fun (ctx, _size) -> - Sapling_storage.Commitments.get_root ctx id >>= wrap - >|=? fun (ctx, root) -> - assert (root = expected_root) ; - ctx) - ctx - (0 -- 99) - >>=? fun _ctx -> return_unit - - (* Nullifiers don't check for duplicates are it's done by verify_update, - however committing to disk twice the same nf causes a storage error by - trying to initialize the same key twice. *) - let nullifier_double () = - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id) -> - Sapling_storage.init ctx id ~memo_size:0 >>= wrap >>=? fun ctx -> - let nf = gen_nf () in - let open Sapling_storage in - let state = - {id = Some id; diff = Sapling_storage.empty_diff; memo_size = 0} - in - let state = nullifiers_add state nf in - let state = nullifiers_add state nf in - assert (List.length state.diff.nullifiers = 2) ; - Sapling_storage.Nullifiers.size ctx id >>= wrap >>=? fun disk_size -> - assert (disk_size = 0L) ; - Sapling_storage.apply_diff ctx id state.diff |> assert_error - - (* In this test we add two lists of nullifiers to the state, one is applied to - the context (committed to disk) and one is kept in kept in a diff (only in - memory). We then check that nullifier_mem answers true for those two lists - and false for a third one. *) - let nullifier_test () = - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id) -> - Sapling_storage.init ctx id ~memo_size:0 >>= wrap >>=? fun ctx -> - let nf_list_ctx = list_init 10 (fun _ -> gen_nf ()) in - let state = - List.fold_left - (fun state nf -> Sapling_storage.nullifiers_add state nf) - {id = Some id; diff = Sapling_storage.empty_diff; memo_size = 0} - nf_list_ctx - in - Sapling_storage.apply_diff ctx id state.diff >>= wrap >>=? fun (ctx, _) -> - let nf_list_diff = list_init 10 (fun _ -> gen_nf ()) in - let state = - List.fold_left - (fun state nf -> Sapling_storage.nullifiers_add state nf) - state - nf_list_diff - in - List.iter_ep - (fun nf -> - Sapling_storage.nullifiers_mem ctx state nf >>= wrap - >>=? fun (_, bool) -> - assert bool ; - return_unit) - (nf_list_ctx @ nf_list_diff) - >>=? fun () -> - let nf_list_absent = list_init 10 (fun _ -> gen_nf ()) in - List.iter_ep - (fun nf -> - Sapling_storage.nullifiers_mem ctx state nf >>= wrap - >>=? fun (_, bool) -> - assert (not bool) ; - return_unit) - nf_list_absent - - (* This test applies a diff with tuples of ciphertext, commitment. Then it - checks the result of get_from with different indexes. *) - let cm_cipher_test () = - Random.self_init () ; - let memo_size = Random.int 200 in - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id) -> - Sapling_storage.init ctx id ~memo_size >>= wrap >>=? fun ctx -> - Sapling_storage.state_from_id ctx id >>= wrap >>=? fun (diff, ctx) -> - let list_added = list_init 10 (fun _ -> gen_cm_cipher ~memo_size ()) in - let state = Sapling_storage.add diff list_added in - Sapling_storage.apply_diff ctx id state.diff >>= wrap >>=? fun (ctx, _) -> - let rec test_from from until expected = - if from > until then return_unit - else - Sapling_storage.Ciphertexts.get_from ctx id from >>= wrap - >>=? fun (ctx, result) -> - let expected_cipher = List.map snd expected in - assert (result = expected_cipher) ; - Sapling_storage.Commitments.get_from ctx id from >>= wrap - >>=? fun result -> - let expected_cm = List.map fst expected in - assert (result = expected_cm) ; - test_from - (Int64.succ from) - until - (WithExceptions.Option.get ~loc:__LOC__ @@ List.tl expected) - in - test_from 0L 9L list_added - - (* This test tests the insertion of a list vs inserting one by one. - It does so by checking the equality of the roots. *) - let list_insertion_test () = - Random.self_init () ; - let memo_size = Random.int 200 in - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id_one_by_one) -> - Sapling_storage.init ctx id_one_by_one ~memo_size >>= wrap >>=? fun ctx -> - let list_to_add = - fst @@ List.split @@ list_init 33 (fun _ -> gen_cm_cipher ~memo_size ()) - in - let rec test counter ctx = - if counter >= 32 then return_unit - else - (* add a single cm to the existing tree *) - Sapling_storage.Commitments.add - ctx - id_one_by_one - [ - WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth list_to_add counter; - ] - (Int64.of_int counter) - >>= wrap - (* create a new tree and add a list of cms *) - >>=? fun (ctx, _size) -> - Lazy_storage_diff.fresh - Lazy_storage_kind.Sapling_state - ~temporary:false - ctx - >>= wrap - >>=? fun (ctx, id_all_at_once) -> - Sapling_storage.init ctx id_all_at_once ~memo_size >>= wrap - >>=? fun ctx -> - Sapling_storage.Commitments.add - ctx - id_all_at_once - (list_init (counter + 1) (fun i -> - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth list_to_add i)) - 0L - >>= wrap - >>=? fun (ctx, _size) -> - Sapling_storage.Commitments.get_root ctx id_one_by_one >>= wrap - >>=? fun (ctx, root_one_by_one) -> - Sapling_storage.Commitments.get_root ctx id_all_at_once >>= wrap - >>=? fun (ctx, root_all_at_once) -> - assert (root_all_at_once = root_one_by_one) ; - test (counter + 1) ctx - in - test 0 ctx - - (* This test adds 10 more roots the maximum capacity, all at different - levels, and checks that all but the first 10 are stored. - Then it adds one in the diff and checks it is stored. - Then it adds 10 at the same level and check that only the last one is - stored. *) - let root_test () = - let open Tezos_sapling.Core in - let gen_root () = - Data_encoding.Binary.of_bytes_exn - Validator.Hash.encoding - (Hacl.Rand.gen 32) - in - let roots_ctx = - list_init - (Int32.to_int Sapling_storage.Roots.size + 10) - (fun _ -> gen_root ()) - in - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id) -> - Sapling_storage.init ctx id ~memo_size:0 >>= wrap >>=? fun ctx -> - (* Add one root per level to the context *) - List.fold_left_es - (fun (ctx, cnt) root -> - Sapling_storage.Roots.add ctx id root >>= wrap >>=? fun ctx -> - (* Very low level way to "bake" a block. It would be better to use the - helpers functions but they complicate the access to the raw_context. *) - Raw_context.prepare - ~level:(Int32.add b.header.shell.level cnt) - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - (Raw_context.recover ctx) - >>= wrap - >|=? fun ctx -> (ctx, Int32.succ cnt)) - (ctx, 0l) - roots_ctx - >>=? fun (ctx, _) -> - (* Check mem on all the roots in the context. *) - let state = - Sapling_storage. - {id = Some id; diff = Sapling_storage.empty_diff; memo_size = 0} - in - List.fold_left_es - (fun i root -> - Sapling_storage.root_mem ctx state root >>= wrap >|=? fun bool -> - assert (if i < 10 then not bool else bool) ; - i + 1) - 0 - roots_ctx - >>=? fun _ -> - (* Add roots w/o increasing the level *) - let roots_same_level = list_init 10 (fun _ -> gen_root ()) in - List.fold_left_es - (fun ctx root -> Sapling_storage.Roots.add ctx id root >>= wrap) - ctx - roots_same_level - >>=? fun ctx -> - List.fold_left_es - (fun (i, ctx) root -> - Sapling_storage.root_mem ctx state root >>= wrap >|=? fun bool -> - assert (if i < 9 then not bool else bool) ; - (i + 1, ctx)) - (0, ctx) - roots_same_level - >>=? fun _ -> return_unit - - let test_get_memo_size () = - Context.init 1 >>=? fun (b, _) -> - Raw_context.prepare - b.context - ~level:b.header.shell.level - ~predecessor_timestamp:b.header.shell.timestamp - ~timestamp:b.header.shell.timestamp - ~fitness:b.header.shell.fitness - >>= wrap - >>=? fun ctx -> - Lazy_storage_diff.fresh Lazy_storage_kind.Sapling_state ~temporary:false ctx - >>= wrap - >>=? fun (ctx, id) -> - Sapling_storage.init ctx id ~memo_size:0 >>= wrap >>=? fun ctx -> - Sapling_storage.get_memo_size ctx id >>= wrap >|=? fun memo_size -> - assert (memo_size = 0) -end - -module Alpha_context_tests = struct - open Sapling_helpers.Alpha_context_helpers - - (* Create a transaction with memo_size 1, test that is validates with a newly - created empty_state with memo_size 1 and does not with memo_size 0. *) - let test_verify_memo () = - init () >>=? fun ctx -> - let sk = - Tezos_sapling.Core.Wallet.Spending_key.of_seed - (Tezos_crypto.Hacl.Rand.gen 32) - in - let vt = - let ps = Tezos_sapling.Storage.empty ~memo_size:0 in - (* the dummy output will have memo_size 0 *) - Tezos_sapling.Forge.forge_transaction - ~number_dummy_outputs:1 - [] - [] - sk - "anti-replay" - ps - in - verify_update ctx vt ~memo_size:0 |> assert_some >>=? fun _ -> - verify_update ctx vt ~memo_size:1 |> assert_none - - (* Bench the proving and validation time of shielding and transferring several - tokens. *) - let test_bench_phases () = - init () >>=? fun ctx -> - let rounds = 5 in - Printf.printf "\nrounds: %d\n" rounds ; - let w = wallet_gen () in - let cs = Tezos_sapling.Storage.empty ~memo_size:8 in - (* one verify_update to get the id *) - let vt = transfer w cs [] in - verify_update ctx vt |> assert_some >>=? fun (ctx, id) -> - client_state_alpha ctx id >>=? fun cs -> - let start = Unix.gettimeofday () in - let vts = List.map (fun _ -> transfer w cs []) (1 -- rounds) in - let ctime_shields = Unix.gettimeofday () -. start in - Printf.printf "client_shields %f\n" ctime_shields ; - let start = Unix.gettimeofday () in - List.fold_left_es - (fun ctx vt -> - verify_update ctx ~id vt |> assert_some >|=? fun (ctx, _id) -> ctx) - ctx - vts - >>=? fun ctx -> - let vtime_shields = Unix.gettimeofday () -. start in - Printf.printf "valdtr_shields %f\n" vtime_shields ; - client_state_alpha ctx id >>=? fun cs -> - let start = Unix.gettimeofday () in - let vts = List.map (fun i -> transfer w cs [i]) (1 -- rounds) in - let ctime_transfers = Unix.gettimeofday () -. start in - Printf.printf "client_txs %f\n" ctime_transfers ; - let start = Unix.gettimeofday () in - List.fold_left_es - (fun ctx vt -> - verify_update ctx ~id vt |> assert_some >|=? fun (ctx, _id) -> ctx) - ctx - vts - >|=? fun _ctx -> - let vtime_transfers = Unix.gettimeofday () -. start in - Printf.printf "valdtr_txs %f\n" vtime_transfers - - (* Transfer several times the same token. *) - let test_bench_fold_over_same_token () = - init () >>=? fun ctx -> - let rounds = 5 in - let w = wallet_gen () in - let cs = Tezos_sapling.Storage.empty ~memo_size:8 in - (* one verify_update to get the id *) - let vt = transfer w cs [] in - verify_update ctx vt |> assert_some >>=? fun (ctx, id) -> - let rec loop cnt ctx = - if cnt >= rounds then return_unit - else - (* inefficient: re-synch from scratch at each round *) - client_state_alpha ctx id >>=? fun cs -> - let vt = transfer w cs [cnt] in - verify_update ctx ~id vt |> assert_some >>=? fun (ctx, _id) -> - loop (cnt + 1) ctx - in - loop 0 ctx - - (* - The following tests trigger all the branches of - Sapling_validator.verify_update. - The function performs several checks and returns None in case of failure. - During development the function was modified to throw a different exception - for each of its checks so to be sure that they were reached. - *) - - (* Test that double spending the same input fails the nf check. *) - let test_double_spend_same_input () = - init () >>=? fun ctx -> - let w = wallet_gen () in - let cs = Tezos_sapling.Storage.empty ~memo_size:8 in - (* one verify_update to get the id *) - let vt = transfer w cs [] in - verify_update ctx vt |> assert_some >>=? fun (ctx, id) -> - client_state_alpha ctx id >>=? fun cs -> - let vt = transfer w cs [0] in - verify_update ctx ~id vt |> assert_some >>=? fun (_ctx, id) -> - let vt = transfer w cs [0; 0] in - verify_update ctx ~id vt |> assert_none - - let test_verifyupdate_one_transaction () = - init () >>=? fun ctx -> - let w = wallet_gen () in - let cs = Tezos_sapling.Storage.empty ~memo_size:8 in - let vt = transfer w cs [] in - verify_update ctx vt |> assert_some >>=? fun (ctx, id) -> - client_state_alpha ctx id >>=? fun cs -> - let vt = transfer w cs [0] in - (* fails sig check because of wrong balance *) - let vt_broken = - Tezos_sapling.Core.Validator.UTXO. - {vt with balance = Int64.(succ vt.balance)} - in - verify_update ctx ~id vt_broken |> assert_none >>=? fun () -> - (* randomize one output to fail check outputs *) - (* don't randomize the ciphertext as it is not part of the proof *) - let open Tezos_sapling.Core.Client.UTXO in - let o = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd vt.outputs in - let o_wrong_cm = - { - o with - cm = randomized_byte o.cm Tezos_sapling.Core.Client.Commitment.encoding; - } - in - let vt_broken = - Tezos_sapling.Core.Validator.UTXO.{vt with outputs = [o_wrong_cm]} - in - verify_update ctx ~id vt_broken |> assert_none >>=? fun () -> - (* position inside the cv *) - let pos = Random.int 32 in - let o_wrong_cv = - { - o with - ciphertext = - randomized_byte - ~pos - o.ciphertext - Tezos_sapling.Core.Client.Ciphertext.encoding; - } - in - let vt_broken = - Tezos_sapling.Core.Validator.UTXO.{vt with outputs = [o_wrong_cv]} - in - verify_update ctx ~id vt_broken |> assert_none - - let test_verifyupdate_two_transactions () = - init () >>=? fun ctx -> - let w = wallet_gen () in - let cs = Tezos_sapling.Storage.empty ~memo_size:8 in - (* generate the first storage *) - let vt = transfer w cs [] in - verify_update ctx vt |> assert_some >>=? fun (ctx, id1) -> - client_state_alpha ctx id1 >>=? fun cs1 -> - let vt1 = transfer w cs1 [0] in - (* generate the second storage *) - let vt = transfer w cs [] in - verify_update ctx vt |> assert_some >>=? fun (ctx, id2) -> - client_state_alpha ctx id2 >>=? fun cs2 -> - let vt2 = transfer w cs2 [0] in - (* fail root check *) - verify_update ctx ~id:id1 vt2 |> assert_none >>=? fun () -> - (* Swap the root so that it passes the root_mem check but fails - the input check *) - let vt1_broken = - Tezos_sapling.Core.Validator.UTXO.{vt2 with root = vt1.root} - in - verify_update ctx ~id:id1 vt1_broken |> assert_none >>=? fun () -> - (* fail the sig check *) - let vt1_broken = - Tezos_sapling.Core.Validator.UTXO.{vt1 with outputs = vt2.outputs} - in - verify_update ctx ~id:id1 vt1_broken |> assert_none -end - -module Interpreter_tests = struct - open Sapling_helpers.Interpreter_helpers - - let parameters_of_list transactions = - let string = "{ " ^ String.concat " ; " transactions ^ " }" in - Alpha_context.Script.(lazy_expr (expression_from_string string)) - - (* In this test we use a contract which takes a list of transactions, applies - all of them, and assert all of them are correct. It also enforces a 1-to-1 - conversion with mutez by asking an amount to shield and asking for a pkh to - unshield. - We create 2 keys a and b. We originate the contract, then do two lists of - shield for a, then transfers several outputs to b while unshielding, then - transfer all of b inputs to a while adding dummy inputs and outputs. - At last we fail we make a failing transaction. *) - let test_shielded_tez () = - init () >>=? fun (b, baker, src0, src1) -> - let memo_size = 8 in - originate_contract "contracts/sapling_contract.tz" "{ }" src0 b baker - >>=? fun (dst, b, anti_replay) -> - let wa = wallet_gen () in - let (list_transac, total) = - shield - ~memo_size - wa.sk - 4 - wa.vk - (Format.sprintf "Pair 0x%s None") - anti_replay - in - let parameters = parameters_of_list list_transac in - (* a does a list of shield transaction *) - transac_and_sync ~memo_size b parameters total src0 dst baker - >>=? fun (b, _ctx, _state) -> - (* we shield again on another block, forging with the empty state *) - let (list_transac, total) = - shield - ~memo_size - wa.sk - 4 - wa.vk - (Format.sprintf "Pair 0x%s None") - anti_replay - in - let parameters = parameters_of_list list_transac in - (* a does a list of shield transaction *) - transac_and_sync ~memo_size b parameters total src0 dst baker - >>=? fun (b, ctx, state) -> - (* address that will receive an unshield *) - Alpha_context.Contract.get_balance ctx src1 >>= wrap - >>=? fun balance_before_shield -> - let wb = wallet_gen () in - let list_addr = gen_addr 15 wb.vk in - let list_forge_input = - list_init 14 (fun pos_int -> - let pos = Int64.of_int pos_int in - let forge_input = - snd - (Tezos_sapling.Forge.Input.get state pos wa.vk - |> WithExceptions.Option.get ~loc:__LOC__) - in - forge_input) - in - let list_forge_output = - List.map - (fun addr -> Tezos_sapling.Forge.make_output addr 1L (Bytes.create 8)) - list_addr - in - let hex_transac = - to_hex - (Tezos_sapling.Forge.forge_transaction - ~number_dummy_inputs:0 - ~number_dummy_outputs:0 - list_forge_input - list_forge_output - wa.sk - anti_replay - state) - Tezos_sapling.Core.Client.UTXO.transaction_encoding - in - let hex_pkh = - to_hex - (Alpha_context.Contract.is_implicit src1 - |> WithExceptions.Option.get ~loc:__LOC__) - Signature.Public_key_hash.encoding - in - let string = - Format.sprintf "{Pair 0x%s (Some 0x%s) }" hex_transac hex_pkh - in - let parameters = - Alpha_context.Script.(lazy_expr (expression_from_string string)) - in - (* a transfers to b and unshield some money to src_2 (the pkh) *) - transac_and_sync ~memo_size b parameters 0 src0 dst baker - >>=? fun (b, ctx, state) -> - Alpha_context.Contract.get_balance ctx src1 >>= wrap - >>=? fun balance_after_shield -> - let diff = - Int64.sub - (Test_tez.Tez.to_mutez balance_after_shield) - (Test_tez.Tez.to_mutez balance_before_shield) - in - (* The inputs total [total] mutez and 15 of those are transfered in shielded tez *) - assert (Int64.equal diff (Int64.of_int (total - 15))) ; - let list_forge_input = - list_init 15 (fun i -> - let pos = Int64.of_int (i + 14 + 14) in - let forge_input = - snd - (Tezos_sapling.Forge.Input.get state pos wb.vk - |> WithExceptions.Option.get ~loc:__LOC__) - in - forge_input) - in - let addr_a = - snd - @@ Tezos_sapling.Core.Client.Viewing_key.new_address - wa.vk - Tezos_sapling.Core.Client.Viewing_key.default_index - in - let output = Tezos_sapling.Forge.make_output addr_a 15L (Bytes.create 8) in - let hex_transac = - to_hex - (Tezos_sapling.Forge.forge_transaction - ~number_dummy_inputs:2 - ~number_dummy_outputs:2 - list_forge_input - [output] - wb.sk - anti_replay - state) - Tezos_sapling.Core.Client.UTXO.transaction_encoding - in - let string = Format.sprintf "{Pair 0x%s None }" hex_transac in - let parameters = - Alpha_context.Script.(lazy_expr (expression_from_string string)) - in - (* b transfers to a with dummy inputs and outputs *) - transac_and_sync ~memo_size b parameters 0 src0 dst baker - >>=? fun (b, _ctx, _state) -> - (* Here we fail by doing the same transaction again*) - Incremental.begin_construction b >>=? fun incr -> - let fee = Test_tez.Tez.of_int 10 in - Op.transaction ~fee (B b) src0 dst Test_tez.Tez.zero ~parameters - >>=? fun operation -> - Incremental.add_operation (* TODO make more precise *) - ~expect_failure:(fun _ -> return_unit) - incr - operation - >>=? fun _incr -> return_unit - - let test_push_sapling_state_should_be_forbidden () = - init () - (* Originating a contract to get a sapling_state with ID 0, used in the next contract *) - >>=? - fun (block, baker, src, _) -> - originate_contract "contracts/sapling_contract.tz" "{ }" src block baker - >>=? fun _ -> - (* Originating the next contract should fail *) - originate_contract - "contracts/sapling_push_sapling_state.tz" - "{ }" - src - block - baker - >>= function - | Error - [ - Environment.Ecoproto_error (Script_tc_errors.Ill_typed_contract _); - Environment.Ecoproto_error - (Script_tc_errors.Unexpected_lazy_storage _); - ] -> - return_unit - | _ -> assert false - - let test_use_state_from_other_contract_and_transact () = - (* - Attempt to use a sapling state of a contract A in a contract B - *) - init () (* Originating the contracts *) >>=? fun (block, baker, src, _) -> - let memo_size = 8 in - (* originate_contract "contracts/sapling_contract.tz" "{ }" src block baker - >>=? fun (_shielded_pool_contract_address, block, _anti_replay_shielded_pool) - -> *) - originate_contract - "contracts/sapling_use_existing_state.tz" - "{ }" - src - block - baker - >>=? fun (existing_state_contract_address, block, anti_replay_2) -> - (* we create one shielding transaction and transform it in Micheline to use - it as a parameter - *) - let wa = wallet_gen () in - let (transactions, _total) = - shield - ~memo_size - wa.sk - 1 - wa.vk - (Format.sprintf "(Pair 0x%s 0)") - anti_replay_2 - in - let transaction = - WithExceptions.Option.get ~loc:__LOC__ @@ List.hd transactions - in - let parameters = - Alpha_context.Script.(lazy_expr (expression_from_string transaction)) - in - transac_and_sync - ~memo_size - block - parameters - 0 - src - existing_state_contract_address - baker - >|= function - | Ok _ -> Alcotest.failf "Unexpected operations success" - | Error errs -> - assert ( - List.exists - (function - | Environment.Ecoproto_error - (Tezos_raw_protocol_008_PtEdo2Zk.Script_tc_errors - .Unexpected_forged_value _) -> - true - | _ -> false) - errs) ; - Result.return_unit - - (* In this test we do two transactions in one block and same two in two block. - We check that the sate is the same expect for roots. - The second transaction is possible only if the first one is done. *) - let test_transac_and_block () = - init () >>=? fun (b, baker, src, _) -> - let memo_size = 8 in - originate_contract "contracts/sapling_contract.tz" "{ }" src b baker - >>=? fun (dst, block_start, anti_replay) -> - let {sk; vk} = wallet_gen () in - let hex_transac_1 = hex_shield ~memo_size {sk; vk} anti_replay in - let string_1 = Format.sprintf "{Pair %s None }" hex_transac_1 in - let parameters_1 = - Alpha_context.Script.(lazy_expr (expression_from_string string_1)) - in - transac_and_sync ~memo_size block_start parameters_1 15 src dst baker - >>=? fun (block_1, _ctx, state) -> - let intermediary_root = Tezos_sapling.Storage.get_root state in - let addr = - snd - @@ Tezos_sapling.Core.Wallet.Viewing_key.(new_address vk default_index) - in - let output = Tezos_sapling.Forge.make_output addr 15L (Bytes.create 8) in - let hex_transac_2 = - "0x" - ^ to_hex - (Tezos_sapling.Forge.forge_transaction - [ - snd - (Tezos_sapling.Forge.Input.get state 0L vk - |> WithExceptions.Option.get ~loc:__LOC__); - ] - [output] - sk - anti_replay - state) - Tezos_sapling.Core.Client.UTXO.transaction_encoding - in - let string_2 = Format.sprintf "{Pair %s None }" hex_transac_2 in - let parameters_2 = - Alpha_context.Script.(lazy_expr (expression_from_string string_2)) - in - transac_and_sync ~memo_size block_1 parameters_2 0 src dst baker - >>=? fun (block_1, _ctx, state_1) -> - let final_root = Tezos_sapling.Storage.get_root state_1 in - Alpha_services.Contract.single_sapling_get_diff - Block.rpc_ctxt - block_1 - dst - ~offset_commitment:0L - ~offset_nullifier:0L - () - >>=? fun (_root, diff_1) -> - let fee = Test_tez.Tez.of_int 10 in - Test_tez.Tez.(one_mutez *? Int64.of_int 15) >>?= fun amount_tez -> - Op.transaction - ~fee - (B block_start) - src - dst - amount_tez - ~parameters:parameters_1 - >>=? fun operation -> - Incremental.begin_construction block_start >>=? fun incr -> - Incremental.add_operation incr operation >>=? fun incr -> - (* We need to manually get the counter here *) - let ctx = Incremental.alpha_ctxt incr in - let pkh = - Alpha_context.Contract.is_implicit src - |> WithExceptions.Option.get ~loc:__LOC__ - in - Alpha_context.Contract.get_counter ctx pkh >>= wrap >>=? fun counter -> - Op.transaction - ~counter - ~fee - (B block_start) - src - dst - Test_tez.Tez.zero - ~parameters:parameters_2 - >>=? fun operation -> - Incremental.add_operation incr operation >>=? fun incr -> - Incremental.finalize_block incr >>=? fun block_2 -> - Alpha_services.Contract.single_sapling_get_diff - Block.rpc_ctxt - block_2 - dst - ~offset_commitment:0L - ~offset_nullifier:0L - () - >>=? fun (_root, diff_2) -> - (* We check that the same transactions have passed *) - assert (diff_1 = diff_2) ; - let is_root_in block dst root = - Incremental.begin_construction block >>=? fun incr -> - let ctx_2 = Incremental.alpha_ctxt incr in - Alpha_services.Contract.script Block.rpc_ctxt block dst >>=? fun script -> - let ctx_without_gas_2 = Alpha_context.Gas.set_unlimited ctx_2 in - Script_ir_translator.parse_script - ctx_without_gas_2 - ~legacy:true - ~allow_forged_in_storage:true - script - >>= wrap - >>=? fun (Ex_script script, ctxt) -> - Script_ir_translator.get_single_sapling_state - ctxt - script.storage_type - script.storage - |> wrap - >>=? fun (id, _ctx_2) -> - let id = - Lazy_storage_kind.Sapling_state.Id.parse_z - @@ Alpha_context.Sapling.Id.unparse_to_z id - in - Raw_context.prepare - block.context - ~level:block.header.shell.level - ~predecessor_timestamp:block.header.shell.timestamp - ~timestamp:block.header.shell.timestamp - ~fitness:block.header.shell.fitness - >>= wrap - >>=? fun raw_ctx -> Sapling_storage.Roots.mem raw_ctx id root >>= wrap - in - (* We check that the second state did not store the root in between - transactions. *) - is_root_in block_2 dst intermediary_root |> assert_false >>=? fun () -> - (* We check that the second state did store the final root. *) - is_root_in block_2 dst final_root |> assert_true >>=? fun () -> - (* We check that the first state did store the final root. *) - is_root_in block_1 dst final_root |> assert_true >>=? fun () -> - (* We check that the first state did store the root in between transactions. *) - is_root_in block_1 dst intermediary_root |> assert_true - - (* In this test we try a contract which creates an empty sapling state on the - fly. It then applies a list of transactions, checks they are correct and - drops the result. We make several shields in the same list (since the state - is drop). *) - let test_drop () = - init () >>=? fun (b, baker, src, _) -> - originate_contract "contracts/sapling_contract_drop.tz" "Unit" src b baker - >>=? fun (dst, b, anti_replay) -> - let {sk; vk} = wallet_gen () in - let (list_transac, _total) = - shield ~memo_size:8 sk 4 vk (Format.sprintf "0x%s") anti_replay - in - let parameters = parameters_of_list list_transac in - Op.transaction - ~fee:(Test_tez.Tez.of_int 10) - (B b) - src - dst - Test_tez.Tez.zero - ~parameters - >>=? fun operation -> - next_block b operation >>=? fun _b -> return_unit - - (* We use a contrac with two states. Its parameter is two transactions and a - bool. The two transactions are tested valid against the two states, but - only one state according to the bool is updated. - We do two transactions shielding to different keys in the two states. - At each transactions both are applied but only state is updated. - We then check that the first state is updated in the correct way. *) - let test_double () = - init () >>=? fun (b, baker, src, _) -> - let memo_size = 8 in - originate_contract - "contracts/sapling_contract_double.tz" - "(Pair { } { })" - src - b - baker - >>=? fun (dst, b, anti_replay) -> - let wa = wallet_gen () in - let hex_transac_1 = hex_shield ~memo_size wa anti_replay in - let wb = wallet_gen () in - let hex_transac_2 = hex_shield ~memo_size wb anti_replay in - let str_1 = - "(Pair True (Pair " ^ hex_transac_1 ^ " " ^ hex_transac_2 ^ "))" - in - let str_2 = - "(Pair False (Pair " ^ hex_transac_2 ^ " " ^ hex_transac_1 ^ "))" - in - (* transac 1 is applied to state_1*) - let parameters_1 = - Alpha_context.Script.(lazy_expr (expression_from_string str_1)) - in - (* tranasc_2 is applied to state_2*) - let parameters_2 = - Alpha_context.Script.(lazy_expr (expression_from_string str_2)) - in - let fee = Test_tez.Tez.of_int 10 in - Op.transaction ~fee (B b) src dst Test_tez.Tez.zero ~parameters:parameters_1 - >>=? fun operation -> - next_block b operation >>=? fun b -> - Op.transaction ~fee (B b) src dst Test_tez.Tez.zero ~parameters:parameters_2 - >>=? fun operation -> - next_block b operation >>=? fun b -> - Incremental.begin_construction b >>=? fun incr -> - let ctx = Incremental.alpha_ctxt incr in - let ctx_without_gas = Alpha_context.Gas.set_unlimited ctx in - Alpha_services.Contract.storage Block.rpc_ctxt b dst >>=? fun storage -> - let storage_lazy_expr = Alpha_context.Script.lazy_expr storage in - let tytype = - let memo_size = memo_size_of_int memo_size in - let open Script_typed_ir in - let state_ty = Sapling_state_t (memo_size, None) in - Pair_t ((state_ty, None, None), (state_ty, None, None), None) - in - Script_ir_translator.parse_storage - ctx_without_gas - ~legacy:true - ~allow_forged:true - tytype - ~storage:storage_lazy_expr - >>= wrap - >>=? fun ((state_1, state_2), _ctx) -> - (*Only works when diff is empty*) - let local_state_from_disk disk_state ctx = - let id = - Alpha_context.Sapling.(disk_state.id) - |> WithExceptions.Option.get ~loc:__LOC__ - in - Alpha_context.Sapling.get_diff - ctx - id - ~offset_commitment:0L - ~offset_nullifier:0L - () - >>= wrap - >|=? fun diff -> client_state_of_diff ~memo_size diff - in - local_state_from_disk state_1 ctx >>=? fun state_1 -> - local_state_from_disk state_2 ctx >|=? fun state_2 -> - (* we check that first state contains 15 to addr_1 but not 15 to addr_2*) - assert (Option.is_some @@ Tezos_sapling.Forge.Input.get state_1 0L wa.vk) ; - assert (Option.is_some @@ Tezos_sapling.Forge.Input.get state_2 0L wa.vk) ; - assert (Option.is_none @@ Tezos_sapling.Forge.Input.get state_1 0L wb.vk) ; - assert (Option.is_none @@ Tezos_sapling.Forge.Input.get state_2 0L wb.vk) - - let test_state_as_arg () = - init () >>=? fun (b, baker, src, _) -> - originate_contract - "contracts/sapling_contract_state_as_arg.tz" - "None" - src - b - baker - >>=? fun (dst, b, anti_replay) -> - originate_contract "contracts/sapling_contract_send.tz" "Unit" src b baker - >>=? fun (dst_2, b, anti_replay_2) -> - let w = wallet_gen () in - let hex_transac_1 = hex_shield ~memo_size:8 w anti_replay in - let string = "Left " ^ hex_transac_1 in - let parameters = - Alpha_context.Script.(lazy_expr (expression_from_string string)) - in - let fee = Test_tez.Tez.of_int 10 in - Op.transaction ~fee (B b) src dst Test_tez.Tez.zero ~parameters - >>=? fun operation -> - next_block b operation >>=? fun b -> - let contract = "0x" ^ to_hex dst Alpha_context.Contract.encoding in - let hex_transac_2 = hex_shield ~memo_size:8 w anti_replay_2 in - let string = "(Pair " ^ contract ^ " " ^ hex_transac_2 ^ ")" in - let parameters = - Alpha_context.Script.(lazy_expr (expression_from_string string)) - in - Op.transaction ~fee (B b) src dst_2 Test_tez.Tez.zero ~parameters - >>=? fun operation -> - next_block b operation >>=? fun _b -> return_unit -end - -let tests = - [ - Tztest.tztest - "commitments_add_uncommitted" - `Quick - Raw_context_tests.commitments_add_uncommitted; - Tztest.tztest "nullifier_double" `Quick Raw_context_tests.nullifier_double; - Tztest.tztest "nullifier_test" `Quick Raw_context_tests.nullifier_test; - Tztest.tztest "cm_cipher_test" `Quick Raw_context_tests.cm_cipher_test; - Tztest.tztest - "list_insertion_test" - `Quick - Raw_context_tests.list_insertion_test; - Tztest.tztest "root" `Quick Raw_context_tests.root_test; - Tztest.tztest - "test_get_memo_size" - `Quick - Raw_context_tests.test_get_memo_size; - Tztest.tztest "test_verify_memo" `Quick Alpha_context_tests.test_verify_memo; - Tztest.tztest - "test_bench_phases" - `Slow - Alpha_context_tests.test_bench_phases; - Tztest.tztest - "test_bench_fold_over_same_token" - `Slow - Alpha_context_tests.test_bench_fold_over_same_token; - Tztest.tztest - "test_double_spend_same_input" - `Quick - Alpha_context_tests.test_double_spend_same_input; - Tztest.tztest - "test_verifyupdate_one_transaction" - `Quick - Alpha_context_tests.test_verifyupdate_one_transaction; - Tztest.tztest - "test_verifyupdate_two_transactions" - `Quick - Alpha_context_tests.test_verifyupdate_two_transactions; - Tztest.tztest "test_shielded_tez" `Quick Interpreter_tests.test_shielded_tez; - Tztest.tztest - "test use state from other contract and transact" - `Quick - Interpreter_tests.test_use_state_from_other_contract_and_transact; - Tztest.tztest - "Instruction PUSH sapling_state 0 should be forbidden" - `Quick - Interpreter_tests.test_push_sapling_state_should_be_forbidden; - Tztest.tztest - "test_transac_and_block" - `Quick - Interpreter_tests.test_transac_and_block; - Tztest.tztest "test_drop" `Quick Interpreter_tests.test_drop; - Tztest.tztest "test_double" `Quick Interpreter_tests.test_double; - Tztest.tztest "test_state_as_arg" `Quick Interpreter_tests.test_state_as_arg; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/transfer.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/transfer.ml deleted file mode 100644 index d57569361c57..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/transfer.ml +++ /dev/null @@ -1,679 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Test_tez - -(*********************************************************************) -(* Utility functions *) -(*********************************************************************) - -(** - [transfer_and_check_balances b fee src dst amount] - this function takes a block, an optional parameter fee if fee does not - given it will be set to zero tez, a source contract, a destination contract - and the amount that one wants to transfer. - - 1- Transfer the amount of tez (w/wo fee) from a source contract to a - destination contract. - - 2- Check the equivalent of the balance of the source/destination - contract before and after transfer is validated. - - This function returns a pair: - - A block that added a valid operation - - a valid operation -*) -let transfer_and_check_balances ?(with_burn = false) ~loc b ?(fee = Tez.zero) - ?expect_failure src dst amount = - Tez.( +? ) fee amount >>?= fun amount_fee -> - Context.Contract.balance (I b) src >>=? fun bal_src -> - Context.Contract.balance (I b) dst >>=? fun bal_dst -> - Op.transaction (I b) ~fee src dst amount >>=? fun op -> - Incremental.add_operation ?expect_failure b op >>=? fun b -> - Context.get_constants (I b) - >>=? fun {parametric = {origination_size; cost_per_byte; _}; _} -> - Tez.(cost_per_byte *? Int64.of_int origination_size) - >>?= fun origination_burn -> - let amount_fee_maybe_burn = - if with_burn then - match Tez.(amount_fee +? origination_burn) with - | Ok r -> r - | Error _ -> assert false - else amount_fee - in - Assert.balance_was_debited ~loc (I b) src bal_src amount_fee_maybe_burn - >>=? fun () -> - Assert.balance_was_credited ~loc (I b) dst bal_dst amount >|=? fun () -> - (b, op) - -(** - [transfer_to_itself_and_check_balances b fee contract amount] - this function takes a block, an optional parameter fee, - a contract that is a source and a destination contract, - and an amount of tez that one wants to transfer. - - 1- Transfer the amount of tez (w/wo transfer fee) from/to a contract itself. - - 2- Check the equivalent of the balance of the contract before - and after transfer. - - This function returns a pair: - - a block that added the valid transaction - - an valid transaction -*) -let transfer_to_itself_and_check_balances ~loc b ?(fee = Tez.zero) contract - amount = - Context.Contract.balance (I b) contract >>=? fun bal -> - Op.transaction (I b) ~fee contract contract amount >>=? fun op -> - Incremental.add_operation b op >>=? fun b -> - Assert.balance_was_debited ~loc (I b) contract bal fee >|=? fun () -> (b, op) - -(** - [n_transactions n b fee source dest amount] - this function takes a number of "n" that one wish to transfer, - a block, an optional parameter fee, a source contract, - a destination contract and an amount one wants to transfer. - - This function will do a transaction from a source contract to - a destination contract with the amount "n" times. -*) -let n_transactions n b ?fee source dest amount = - List.fold_left_es - (fun b _ -> - transfer_and_check_balances ~loc:__LOC__ b ?fee source dest amount - >|=? fun (b, _) -> b) - b - (1 -- n) - -let ten_tez = Tez.of_int 10 - -(*********************************************************************) -(* Tests *) -(*********************************************************************) - -let register_two_contracts () = - Context.init 2 >|=? fun (b, contracts) -> - let contract_1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - let contract_2 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 - in - (b, contract_1, contract_2) - -(** compute half of the balance and divided by nth - times *) - -let two_nth_of_balance incr contract nth = - Context.Contract.balance (I incr) contract >>=? fun balance -> - Lwt.return (Tez.( /? ) balance nth >>? fun res -> Tez.( *? ) res 2L) - -(********************) -(** Single transfer *) - -(********************) - -let single_transfer ?fee ?expect_failure amount = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Incremental.begin_construction b >>=? fun b -> - transfer_and_check_balances - ~loc:__LOC__ - ?fee - ?expect_failure - b - contract_1 - contract_2 - amount - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(** single transfer without fee *) -let block_with_a_single_transfer () = single_transfer Tez.one - -(** single transfer with fee *) -let block_with_a_single_transfer_with_fee () = - single_transfer ~fee:Tez.one Tez.one - -(** single transfer without fee *) - -let transfer_zero_tez () = - single_transfer - ~expect_failure:(function - | Environment.Ecoproto_error (Contract_storage.Empty_transaction _) :: _ - -> - return_unit - | _ -> failwith "Empty transaction should fail") - Tez.zero - -(********************) -(** Transfer zero tez from an implicit contract *) - -(********************) - -let transfer_zero_implicit () = - Context.init 1 >>=? fun (b, contracts) -> - let dest = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let account = Account.new_account () in - Incremental.begin_construction b >>=? fun i -> - let src = Contract.implicit_contract account.Account.pkh in - Op.transaction (I i) src dest Tez.zero >>=? fun op -> - Incremental.add_operation i op >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Contract_storage.Empty_implicit_contract _ -> true - | _ -> false) - -(********************) -(** Transfer to originated contract *) - -(********************) - -let transfer_to_originate_with_fee () = - Context.init 1 >>=? fun (b, contracts) -> - let contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - Incremental.begin_construction b >>=? fun b -> - two_nth_of_balance b contract 10L >>=? fun fee -> - (* originated contract, paying a fee to originated this contract *) - Op.origination (I b) ~fee:ten_tez contract ~script:Op.dummy_script - >>=? fun (operation, new_contract) -> - Incremental.add_operation b operation >>=? fun b -> - two_nth_of_balance b contract 3L >>=? fun amount -> - transfer_and_check_balances ~loc:__LOC__ b ~fee contract new_contract amount - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(********************) -(** Transfer from balance *) - -(********************) - -let transfer_amount_of_contract_balance () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Context.Contract.pkh contract_1 >>=? fun pkh1 -> - (* given that contract_1 no longer has a sufficient balance to bake, - make sure it cannot be chosen as baker *) - Incremental.begin_construction b ~policy:(Block.Excluding [pkh1]) - >>=? fun b -> - (* get the balance of the source contract *) - Context.Contract.balance (I b) contract_1 >>=? fun balance -> - (* transfer all the tez inside contract 1 *) - transfer_and_check_balances ~loc:__LOC__ b contract_1 contract_2 balance - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(********************) -(** Transfer to itself *) - -(********************) - -let transfers_to_self () = - Context.init 1 >>=? fun (b, contracts) -> - let contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - Incremental.begin_construction b >>=? fun b -> - two_nth_of_balance b contract 3L >>=? fun amount -> - transfer_to_itself_and_check_balances ~loc:__LOC__ b contract amount - >>=? fun (b, _) -> - two_nth_of_balance b contract 5L >>=? fun fee -> - transfer_to_itself_and_check_balances ~loc:__LOC__ b ~fee contract ten_tez - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(********************) -(** Forgot to add the valid transaction into the block *) - -(********************) - -let missing_transaction () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - (* given that contract_1 no longer has a sufficient balance to bake, - make sure it cannot be chosen as baker *) - Context.Contract.pkh contract_1 >>=? fun pkh1 -> - Incremental.begin_construction b ~policy:(Block.Excluding [pkh1]) - >>=? fun b -> - two_nth_of_balance b contract_1 6L >>=? fun amount -> - (* do the transfer 3 times from source contract to destination contract *) - n_transactions 3 b contract_1 contract_2 amount >>=? fun b -> - (* do the fourth transfer from source contract to destination contract *) - Op.transaction (I b) contract_1 contract_2 amount >>=? fun _ -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(********************) -(** These following tests are for different kind of contracts: - - implicit to implicit - - implicit to originated - - originated to implicit - - originated to originated *) - -(********************) - -(** Implicit to Implicit *) - -let transfer_from_implicit_to_implicit_contract () = - Context.init 1 >>=? fun (b, contracts) -> - let bootstrap_contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - let account_a = Account.new_account () in - let account_b = Account.new_account () in - Incremental.begin_construction b >>=? fun b -> - let src = Contract.implicit_contract account_a.Account.pkh in - two_nth_of_balance b bootstrap_contract 3L >>=? fun amount1 -> - two_nth_of_balance b bootstrap_contract 10L >>=? fun fee1 -> - transfer_and_check_balances - ~with_burn:true - ~loc:__LOC__ - ~fee:fee1 - b - bootstrap_contract - src - amount1 - >>=? fun (b, _) -> - (* create an implicit contract as a destination contract *) - let dest = Contract.implicit_contract account_b.pkh in - two_nth_of_balance b bootstrap_contract 4L >>=? fun amount2 -> - two_nth_of_balance b bootstrap_contract 10L >>=? fun fee2 -> - (* transfer from implicit contract to another implicit contract *) - transfer_and_check_balances - ~with_burn:true - ~loc:__LOC__ - ~fee:fee2 - b - src - dest - amount2 - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(** Implicit to originated *) - -let transfer_from_implicit_to_originated_contract () = - Context.init 1 >>=? fun (b, contracts) -> - let bootstrap_contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - let contract = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - let account = Account.new_account () in - let src = Contract.implicit_contract account.Account.pkh in - Incremental.begin_construction b >>=? fun b -> - two_nth_of_balance b bootstrap_contract 3L >>=? fun amount1 -> - (* transfer the money to implicit contract *) - transfer_and_check_balances - ~with_burn:true - ~loc:__LOC__ - b - bootstrap_contract - src - amount1 - >>=? fun (b, _) -> - (* originated contract *) - Op.origination (I b) contract ~script:Op.dummy_script - >>=? fun (operation, new_contract) -> - Incremental.add_operation b operation >>=? fun b -> - two_nth_of_balance b bootstrap_contract 4L >>=? fun amount2 -> - (* transfer from implicit contract to originated contract *) - transfer_and_check_balances ~loc:__LOC__ b src new_contract amount2 - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(********************) -(** Slow tests case *) - -(********************) - -let multiple_transfer n ?fee amount = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Incremental.begin_construction b >>=? fun b -> - n_transactions n b ?fee contract_1 contract_2 amount >>=? fun b -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(** 1- Create a block with two contracts; - 2- Apply 100 transfers. *) -let block_with_multiple_transfers () = multiple_transfer 99 (Tez.of_int 1000) - -(** 1- Create a block with two contracts; - 2- Apply 100 transfers with 10tz fee. *) -let block_with_multiple_transfers_pay_fee () = - multiple_transfer 10 ~fee:ten_tez (Tez.of_int 1000) - -(* TODO : increase the number of operations and add a `Slow tag to it in `tests` *) - -(** 1- Create a block with 8 contracts; - 2- Apply multiple transfers without fees; - 3- Apply multiple transfers with fees. *) -let block_with_multiple_transfers_with_without_fee () = - Context.init 8 >>=? fun (b, contracts) -> - let contracts = Array.of_list contracts in - Incremental.begin_construction b >>=? fun b -> - let hundred = Tez.of_int 100 in - let ten = Tez.of_int 10 in - let twenty = Tez.of_int 20 in - n_transactions 10 b contracts.(0) contracts.(1) Tez.one >>=? fun b -> - n_transactions 30 b contracts.(1) contracts.(2) hundred >>=? fun b -> - n_transactions 30 b contracts.(1) contracts.(3) hundred >>=? fun b -> - n_transactions 30 b contracts.(4) contracts.(3) hundred >>=? fun b -> - n_transactions 20 b contracts.(0) contracts.(1) hundred >>=? fun b -> - n_transactions 10 b contracts.(1) contracts.(3) hundred >>=? fun b -> - n_transactions 10 b contracts.(1) contracts.(3) hundred >>=? fun b -> - n_transactions 20 ~fee:ten b contracts.(3) contracts.(4) ten >>=? fun b -> - n_transactions 10 ~fee:twenty b contracts.(4) contracts.(5) ten >>=? fun b -> - n_transactions 70 ~fee:twenty b contracts.(6) contracts.(0) twenty - >>=? fun b -> - n_transactions 550 ~fee:twenty b contracts.(6) contracts.(4) twenty - >>=? fun b -> - n_transactions 50 ~fee:ten b contracts.(7) contracts.(5) twenty >>=? fun b -> - n_transactions 30 ~fee:ten b contracts.(0) contracts.(7) hundred >>=? fun b -> - n_transactions 20 ~fee:ten b contracts.(1) contracts.(0) twenty >>=? fun b -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(********************) -(** Build a chain that has 10 blocks. *) - -(********************) - -let build_a_chain () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - let ten = Tez.of_int 10 in - List.fold_left_es - (fun b _ -> - Incremental.begin_construction b >>=? fun b -> - transfer_and_check_balances ~loc:__LOC__ b contract_1 contract_2 ten - >>=? fun (b, _) -> Incremental.finalize_block b) - b - (1 -- 10) - >>=? fun _ -> return_unit - -(*********************************************************************) -(* Expected error test cases *) -(*********************************************************************) - -(********************) -(** transfer zero tez is forbidden in implicit contract *) - -(********************) - -let empty_implicit () = - Context.init 1 >>=? fun (b, contracts) -> - let dest = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let account = Account.new_account () in - Incremental.begin_construction b >>=? fun incr -> - let src = Contract.implicit_contract account.Account.pkh in - two_nth_of_balance incr dest 3L >>=? fun amount -> - (* transfer zero tez from an implicit contract *) - Op.transaction (I incr) src dest amount >>=? fun op -> - Incremental.add_operation incr op >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Contract_storage.Empty_implicit_contract _ -> true - | _ -> false) - -(********************) -(** Balance is too low to transfer *) - -(********************) - -let balance_too_low fee () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Incremental.begin_construction b >>=? fun i -> - Context.Contract.balance (I i) contract_1 >>=? fun balance1 -> - Context.Contract.balance (I i) contract_2 >>=? fun balance2 -> - (* transfer the amount of tez that is bigger than the balance in the source contract *) - Op.transaction ~fee (I i) contract_1 contract_2 Tez.max_tez >>=? fun op -> - let expect_failure = function - | Environment.Ecoproto_error (Contract_storage.Balance_too_low _) :: _ -> - return_unit - | _ -> failwith "balance too low should fail" - in - (* the fee is higher than the balance then raise an error "Balance_too_low" *) - if fee > balance1 then - Incremental.add_operation ~expect_failure i op >>= fun _res -> return_unit - (* the fee is smaller than the balance, then the transfer is accepted - but it is not processed, and fees are taken *) - else - Incremental.add_operation ~expect_failure i op >>=? fun i -> - (* contract_1 loses the fees *) - Assert.balance_was_debited ~loc:__LOC__ (I i) contract_1 balance1 fee - >>=? fun () -> - (* contract_2 is not credited *) - Assert.balance_was_credited ~loc:__LOC__ (I i) contract_2 balance2 Tez.zero - -(** 1- Create a block, and three contracts; - 2- Add a transfer that at the end the balance of a contract is - zero into this block; - 3- Add another transfer that send tez from a zero balance contract; - 4- Catch the expected error: Balance_too_low. *) -let balance_too_low_two_transfers fee () = - Context.init 3 >>=? fun (b, contracts) -> - let contract_1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 - in - let contract_2 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 - in - let contract_3 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 2 - in - Incremental.begin_construction b >>=? fun i -> - Context.Contract.balance (I i) contract_1 >>=? fun balance -> - Tez.( /? ) balance 3L >>?= fun res -> - Tez.( *? ) res 2L >>?= fun two_third_of_balance -> - transfer_and_check_balances - ~loc:__LOC__ - i - contract_1 - contract_2 - two_third_of_balance - >>=? fun (i, _) -> - Context.Contract.balance (I i) contract_1 >>=? fun balance1 -> - Context.Contract.balance (I i) contract_3 >>=? fun balance3 -> - Op.transaction ~fee (I i) contract_1 contract_3 two_third_of_balance - >>=? fun operation -> - let expect_failure = function - | Environment.Ecoproto_error (Contract_storage.Balance_too_low _) :: _ -> - return_unit - | _ -> failwith "balance too low should fail" - in - Incremental.add_operation ~expect_failure i operation >>=? fun i -> - (* contract_1 loses the fees *) - Assert.balance_was_debited ~loc:__LOC__ (I i) contract_1 balance1 fee - >>=? fun () -> - (* contract_3 is not credited *) - Assert.balance_was_credited ~loc:__LOC__ (I i) contract_3 balance3 Tez.zero - -(********************) -(** The counter is already used for the previous operation *) - -(********************) - -let invalid_counter () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Incremental.begin_construction b >>=? fun b -> - Op.transaction (I b) contract_1 contract_2 Tez.one >>=? fun op1 -> - Op.transaction (I b) contract_1 contract_2 Tez.one >>=? fun op2 -> - Incremental.add_operation b op1 >>=? fun b -> - Incremental.add_operation b op2 >>= fun b -> - Assert.proto_error ~loc:__LOC__ b (function - | Contract_storage.Counter_in_the_past _ -> true - | _ -> false) - -(* same as before but different way to perform this error *) - -let add_the_same_operation_twice () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Incremental.begin_construction b >>=? fun b -> - transfer_and_check_balances ~loc:__LOC__ b contract_1 contract_2 ten_tez - >>=? fun (b, op_transfer) -> - Op.transaction (I b) contract_1 contract_2 ten_tez >>=? fun _ -> - Incremental.add_operation b op_transfer >>= fun b -> - Assert.proto_error ~loc:__LOC__ b (function - | Contract_storage.Counter_in_the_past _ -> true - | _ -> false) - -(********************) -(** check ownership *) - -(********************) - -let ownership_sender () = - register_two_contracts () >>=? fun (b, contract_1, contract_2) -> - Incremental.begin_construction b >>=? fun b -> - (* get the manager of the contract_1 as a sender *) - Context.Contract.manager (I b) contract_1 >>=? fun manager -> - (* create an implicit_contract *) - let imcontract_1 = Alpha_context.Contract.implicit_contract manager.pkh in - transfer_and_check_balances ~loc:__LOC__ b imcontract_1 contract_2 Tez.one - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(*********************************************************************) -(** Random transfer *) - -(** Return a pair of minimum and maximum random number *) -let random_range (min, max) = - let interv = max - min + 1 in - let init = - Random.self_init () ; - Random.int interv + min - in - init - -(** Return a random contract *) -let random_contract contract_array = - let i = Random.int (Array.length contract_array) in - contract_array.(i) - -(** Transfer by randomly choose amount 10 contracts, and randomly - choose the amount in the source contract *) -let random_transfer () = - Context.init 10 >>=? fun (b, contracts) -> - let contracts = Array.of_list contracts in - let source = random_contract contracts in - let dest = random_contract contracts in - Context.Contract.pkh source >>=? fun source_pkh -> - (* given that source may not have a sufficient balance for the transfer + to bake, - make sure it cannot be chosen as baker *) - Incremental.begin_construction b ~policy:(Block.Excluding [source_pkh]) - >>=? fun b -> - Context.Contract.balance (I b) source >>=? fun amount -> - (if source = dest then - transfer_to_itself_and_check_balances ~loc:__LOC__ b source amount - else transfer_and_check_balances ~loc:__LOC__ b source dest amount) - >>=? fun (b, _) -> - Incremental.finalize_block b >>=? fun _ -> return_unit - -(** Transfer random transactions *) -let random_multi_transactions () = - let n = random_range (1, 100) in - multiple_transfer n (Tez.of_int 100) - -(*********************************************************************) - -let tests = - [ - (* single transfer *) - Tztest.tztest "single transfer" `Quick block_with_a_single_transfer; - Tztest.tztest - "single transfer with fee" - `Quick - block_with_a_single_transfer_with_fee; - (* transfer zero tez *) - Tztest.tztest "single transfer zero tez" `Quick transfer_zero_tez; - Tztest.tztest - "transfer zero tez from implicit contract" - `Quick - transfer_zero_implicit; - (* transfer to originated contract *) - Tztest.tztest - "transfer to originated contract paying transaction fee" - `Quick - transfer_to_originate_with_fee; - (* transfer by the balance of contract *) - Tztest.tztest - "transfer the amount from source contract balance" - `Quick - transfer_amount_of_contract_balance; - (* transfer to itself *) - Tztest.tztest "transfers to itself" `Quick transfers_to_self; - (* missing operation *) - Tztest.tztest "missing transaction" `Quick missing_transaction; - (* transfer from/to implicit/originated contracts*) - Tztest.tztest - "transfer from an implicit to implicit contract " - `Quick - transfer_from_implicit_to_implicit_contract; - Tztest.tztest - "transfer from an implicit to an originated contract" - `Quick - transfer_from_implicit_to_originated_contract; - (* Slow tests *) - Tztest.tztest - "block with multiple transfers" - `Slow - block_with_multiple_transfers; - (* TODO increase the number of transaction times *) - Tztest.tztest - "block with multiple transfer paying fee" - `Slow - block_with_multiple_transfers_pay_fee; - Tztest.tztest - "block with multiple transfer without paying fee" - `Slow - block_with_multiple_transfers_with_without_fee; - (* build the chain *) - Tztest.tztest "build a chain" `Quick build_a_chain; - (* Erroneous *) - Tztest.tztest "empty implicit" `Quick empty_implicit; - Tztest.tztest - "balance too low - transfer zero" - `Quick - (balance_too_low Tez.zero); - Tztest.tztest "balance too low" `Quick (balance_too_low Tez.one); - Tztest.tztest - "balance too low (max fee)" - `Quick - (balance_too_low Tez.max_tez); - Tztest.tztest - "balance too low with two transfers - transfer zero" - `Quick - (balance_too_low_two_transfers Tez.zero); - Tztest.tztest - "balance too low with two transfers" - `Quick - (balance_too_low_two_transfers Tez.one); - Tztest.tztest "invalid_counter" `Quick invalid_counter; - Tztest.tztest - "add the same operation twice" - `Quick - add_the_same_operation_twice; - Tztest.tztest "ownership sender" `Quick ownership_sender; - (* Random tests *) - Tztest.tztest "random transfer" `Quick random_transfer; - Tztest.tztest "random multi transfer" `Quick random_multi_transactions; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/typechecking.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/typechecking.ml deleted file mode 100644 index 2f5c4bb46e84..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/typechecking.ml +++ /dev/null @@ -1,761 +0,0 @@ -open Protocol -open Alpha_context -open Script_interpreter -open Micheline - -exception Expression_from_string - -let expression_from_string str : Script.expr tzresult Lwt.t = - let (ast, errs) = Michelson_v1_parser.parse_expression ~check:false str in - (match errs with - | [] -> () - | lst -> - Format.printf "expr_from_string: %a\n" Error_monad.pp_print_error lst ; - raise Expression_from_string) ; - return ast.expanded - -let ( >>=?? ) x y = - x >>= function - | Ok s -> y s - | Error errs -> - Lwt.return - @@ Error (List.map (fun x -> Environment.Ecoproto_error x) errs) - -let wrap_error_lwt x = x >>= fun x -> Lwt.return @@ Environment.wrap_error x - -let test_context () = - Context.init 3 >>=? fun (b, _cs) -> - Incremental.begin_construction b >>=? fun v -> - return (Incremental.alpha_ctxt v) - -let test_context_with_nat_nat_big_map () = - Context.init 3 >>=? fun (b, contracts) -> - let source = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd contracts in - Op.origination (B b) source ~script:Op.dummy_script - >>=? fun (operation, originated) -> - Block.bake ~operation b >>=? fun b -> - Incremental.begin_construction b >>=? fun v -> - let ctxt = Incremental.alpha_ctxt v in - wrap_error_lwt @@ Big_map.fresh ~temporary:false ctxt >>=? fun (ctxt, id) -> - let nat_ty = Script_typed_ir.Nat_t None in - wrap_error_lwt @@ Lwt.return @@ Script_ir_translator.unparse_ty ctxt nat_ty - >>=? fun (nat_ty_node, ctxt) -> - let nat_ty_expr = Micheline.strip_locations nat_ty_node in - let alloc = Big_map.{key_type = nat_ty_expr; value_type = nat_ty_expr} in - let init = Lazy_storage.Alloc alloc in - let diffs = - [ - Lazy_storage.make - Lazy_storage.Kind.Big_map - id - (Update {init; updates = []}); - ] - in - wrap_error_lwt - @@ Contract.update_script_storage ctxt originated nat_ty_expr (Some diffs) - >>=? fun ctxt -> return (ctxt, id) - -let default_source = Contract.implicit_contract Signature.Public_key_hash.zero - -let default_step_constants = - { - source = default_source; - payer = default_source; - self = default_source; - amount = Tez.zero; - chain_id = Chain_id.zero; - } - -(** Helper function that parses and types a script, its initial storage and - parameters from strings. It then executes the typed script with the storage - and parameter and returns the result. *) -let run_script ctx ?(step_constants = default_step_constants) contract - ?(entrypoint = "default") ~storage ~parameter () = - expression_from_string contract >>=? fun contract_expr -> - expression_from_string storage >>=? fun storage_expr -> - expression_from_string parameter >>=? fun parameter_expr -> - let script = - Script.{code = lazy_expr contract_expr; storage = lazy_expr storage_expr} - in - Script_interpreter.execute - ctx - Readable - step_constants - ~script - ~entrypoint - ~parameter:parameter_expr - ~internal:false - >>=?? fun res -> return res - -let read_file filename = - let ch = open_in filename in - let s = really_input_string ch (in_channel_length ch) in - close_in ch ; - s - -(* Check that the custom stack overflow exception is triggered when it should be *) -let test_typecheck_stack_overflow () = - test_context () >>=? fun ctxt -> - let storage = "Unit" in - let parameter = "Unit" in - let script = read_file "./contracts/big_interpreter_stack.tz" in - run_script ctxt script ~storage ~parameter () >>= function - | Ok _ -> Alcotest.fail "expected an error" - | Error lst - when List.mem - ~equal:( = ) - (Environment.Ecoproto_error - Script_tc_errors.Typechecking_too_many_recursive_calls) - lst -> - return () - | Error errs -> - Alcotest.failf "Unexpected error: %a" Error_monad.pp_print_error errs - -let test_unparse_stack_overflow () = - test_context () >>=? fun ctxt -> - (* Meme *) - let enorme_et_seq n = - let rec aux n acc = aux (n - 1) @@ Micheline.Seq (0, [acc]) in - aux n (Micheline.Int (0, Z.zero)) - in - Script_ir_translator.(unparse_code ctxt Readable (enorme_et_seq 10_001)) - >>= function - | Ok _ -> Alcotest.fail "expected an error" - | Error lst - when List.mem - ~equal:( = ) - Script_tc_errors.Unparsing_too_many_recursive_calls - lst -> - return () - | Error _ -> Alcotest.failf "Unexpected error: %s" __LOC__ - -let location = function - | Prim (loc, _, _, _) - | Int (loc, _) - | String (loc, _) - | Bytes (loc, _) - | Seq (loc, _) -> - loc - -let test_parse_ty ctxt node expected = - let legacy = false in - let allow_lazy_storage = true in - let allow_operation = true in - let allow_contract = true in - let allow_ticket = true in - Environment.wrap_error - ( Script_ir_translator.parse_ty - ctxt - ~legacy - ~allow_lazy_storage - ~allow_operation - ~allow_contract - ~allow_ticket - node - >>? fun (Script_ir_translator.Ex_ty actual, ctxt) -> - Script_ir_translator.ty_eq ctxt (location node) actual expected - >|? fun (_, ctxt) -> ctxt ) - -let test_parse_comb_type () = - let open Script in - let open Script_typed_ir in - let nat_prim = Prim (-1, T_nat, [], []) in - let nat_prim_a = Prim (-1, T_nat, [], ["%a"]) in - let nat_prim_b = Prim (-1, T_nat, [], ["%b"]) in - let nat_prim_c = Prim (-1, T_nat, [], ["%c"]) in - let nat_ty = Nat_t None in - let pair_prim l = Prim (-1, T_pair, l, []) in - let pair_ty ty1 ty2 = Pair_t ((ty1, None, None), (ty2, None, None), None) in - let pair_prim2 a b = pair_prim [a; b] in - let pair_nat_nat_prim = pair_prim2 nat_prim nat_prim in - let pair_nat_nat_ty = pair_ty nat_ty nat_ty in - test_context () >>=? fun ctxt -> - (* pair nat nat *) - test_parse_ty ctxt pair_nat_nat_prim pair_nat_nat_ty >>?= fun ctxt -> - (* pair (pair nat nat) nat *) - test_parse_ty - ctxt - (pair_prim2 pair_nat_nat_prim nat_prim) - (pair_ty pair_nat_nat_ty nat_ty) - >>?= fun ctxt -> - (* pair nat (pair nat nat) *) - test_parse_ty - ctxt - (pair_prim2 nat_prim pair_nat_nat_prim) - (pair_ty nat_ty pair_nat_nat_ty) - >>?= fun ctxt -> - (* pair nat nat nat *) - test_parse_ty - ctxt - (pair_prim [nat_prim; nat_prim; nat_prim]) - (pair_ty nat_ty pair_nat_nat_ty) - >>?= fun ctxt -> - (* pair (nat %a) nat *) - test_parse_ty - ctxt - (pair_prim2 nat_prim_a nat_prim) - (Pair_t ((nat_ty, Some (Field_annot "a"), None), (nat_ty, None, None), None)) - >>?= fun ctxt -> - (* pair nat (nat %b) *) - test_parse_ty - ctxt - (pair_prim2 nat_prim nat_prim_b) - (Pair_t ((nat_ty, None, None), (nat_ty, Some (Field_annot "b"), None), None)) - >>?= fun ctxt -> - (* pair (nat %a) (nat %b) *) - test_parse_ty - ctxt - (pair_prim2 nat_prim_a nat_prim_b) - (Pair_t - ( (nat_ty, Some (Field_annot "a"), None), - (nat_ty, Some (Field_annot "b"), None), - None )) - >>?= fun ctxt -> - (* pair (nat %a) (nat %b) (nat %c) *) - test_parse_ty - ctxt - (pair_prim [nat_prim_a; nat_prim_b; nat_prim_c]) - (Pair_t - ( (nat_ty, Some (Field_annot "a"), None), - ( Pair_t - ( (nat_ty, Some (Field_annot "b"), None), - (nat_ty, Some (Field_annot "c"), None), - None ), - None, - None ), - None )) - >>?= fun ctxt -> - (* pair (nat %a) (pair %b nat nat) *) - test_parse_ty - ctxt - (pair_prim2 nat_prim_a (Prim (-1, T_pair, [nat_prim; nat_prim], ["%b"]))) - (Pair_t - ( (nat_ty, Some (Field_annot "a"), None), - ( Pair_t ((nat_ty, None, None), (nat_ty, None, None), None), - Some (Field_annot "b"), - None ), - None )) - >>?= fun _ -> return_unit - -let test_unparse_ty loc ctxt expected ty = - Environment.wrap_error - ( Script_ir_translator.unparse_ty ctxt ty >>? fun (actual, ctxt) -> - if actual = expected then ok ctxt - else Alcotest.failf "Unexpected error: %s" loc ) - -let test_unparse_comb_type () = - let open Script in - let open Script_typed_ir in - let nat_prim = Prim (-1, T_nat, [], []) in - let nat_prim_a = Prim (-1, T_nat, [], ["%a"]) in - let nat_prim_b = Prim (-1, T_nat, [], ["%b"]) in - let nat_prim_c = Prim (-1, T_nat, [], ["%c"]) in - let nat_ty = Nat_t None in - let pair_prim l = Prim (-1, T_pair, l, []) in - let pair_ty ty1 ty2 = Pair_t ((ty1, None, None), (ty2, None, None), None) in - let pair_prim2 a b = pair_prim [a; b] in - let pair_nat_nat_prim = pair_prim2 nat_prim nat_prim in - let pair_nat_nat_ty = pair_ty nat_ty nat_ty in - test_context () >>=? fun ctxt -> - (* pair nat nat *) - test_unparse_ty __LOC__ ctxt pair_nat_nat_prim pair_nat_nat_ty - >>?= fun ctxt -> - (* pair (pair nat nat) nat *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 pair_nat_nat_prim nat_prim) - (pair_ty pair_nat_nat_ty nat_ty) - >>?= fun ctxt -> - (* pair nat nat nat *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim [nat_prim; nat_prim; nat_prim]) - (pair_ty nat_ty pair_nat_nat_ty) - >>?= fun ctxt -> - (* pair (nat %a) nat *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 nat_prim_a nat_prim) - (Pair_t ((nat_ty, Some (Field_annot "a"), None), (nat_ty, None, None), None)) - >>?= fun ctxt -> - (* pair nat (nat %b) *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 nat_prim nat_prim_b) - (Pair_t ((nat_ty, None, None), (nat_ty, Some (Field_annot "b"), None), None)) - >>?= fun ctxt -> - (* pair (nat %a) (nat %b) *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 nat_prim_a nat_prim_b) - (Pair_t - ( (nat_ty, Some (Field_annot "a"), None), - (nat_ty, Some (Field_annot "b"), None), - None )) - >>?= fun ctxt -> - (* pair (nat %a) (nat %b) (nat %c) *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim [nat_prim_a; nat_prim_b; nat_prim_c]) - (Pair_t - ( (nat_ty, Some (Field_annot "a"), None), - ( Pair_t - ( (nat_ty, Some (Field_annot "b"), None), - (nat_ty, Some (Field_annot "c"), None), - None ), - None, - None ), - None )) - >>?= fun ctxt -> - (* pair (nat %a) (pair %b nat nat) *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 nat_prim_a (Prim (-1, T_pair, [nat_prim; nat_prim], ["%b"]))) - (Pair_t - ( (nat_ty, Some (Field_annot "a"), None), - ( Pair_t ((nat_ty, None, None), (nat_ty, None, None), None), - Some (Field_annot "b"), - None ), - None )) - >>?= fun ctxt -> - (* pair nat (pair @b nat nat) *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 nat_prim (Prim (-1, T_pair, [nat_prim; nat_prim], ["@b"]))) - (Pair_t - ( (nat_ty, None, None), - ( Pair_t ((nat_ty, None, None), (nat_ty, None, None), None), - None, - Some (Var_annot "b") ), - None )) - >>?= fun ctxt -> - (* pair nat (pair :b nat nat) *) - test_unparse_ty - __LOC__ - ctxt - (pair_prim2 nat_prim (Prim (-1, T_pair, [nat_prim; nat_prim], [":b"]))) - (Pair_t - ( (nat_ty, None, None), - ( Pair_t - ((nat_ty, None, None), (nat_ty, None, None), Some (Type_annot "b")), - None, - None ), - None )) - >>?= fun _ -> return_unit - -let test_unparse_comparable_ty loc ctxt expected ty = - (* unparse_comparable_ty is not exported, the simplest way to call it is to - call parse_ty on a set type *) - Environment.wrap_error - ( Script_ir_translator.unparse_ty ctxt (Set_t (ty, None)) - >>? fun (actual, ctxt) -> - if actual = Prim (-1, T_set, [expected], []) then ok ctxt - else Alcotest.failf "Unexpected error: %s" loc ) - -let test_unparse_comb_comparable_type () = - let open Script in - let open Script_typed_ir in - let nat_prim = Prim (-1, T_nat, [], []) in - let nat_prim_a = Prim (-1, T_nat, [], ["%a"]) in - let nat_prim_b = Prim (-1, T_nat, [], ["%b"]) in - let nat_prim_c = Prim (-1, T_nat, [], ["%c"]) in - let nat_ty = Nat_key None in - let pair_prim l = Prim (-1, T_pair, l, []) in - let pair_ty ty1 ty2 = Pair_key ((ty1, None), (ty2, None), None) in - let pair_prim2 a b = pair_prim [a; b] in - let pair_nat_nat_prim = pair_prim2 nat_prim nat_prim in - let pair_nat_nat_ty = pair_ty nat_ty nat_ty in - test_context () >>=? fun ctxt -> - (* pair nat nat *) - test_unparse_comparable_ty __LOC__ ctxt pair_nat_nat_prim pair_nat_nat_ty - >>?= fun ctxt -> - (* pair (pair nat nat) nat *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim2 pair_nat_nat_prim nat_prim) - (pair_ty pair_nat_nat_ty nat_ty) - >>?= fun ctxt -> - (* pair nat nat nat *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim [nat_prim; nat_prim; nat_prim]) - (pair_ty nat_ty pair_nat_nat_ty) - >>?= fun ctxt -> - (* pair (nat %a) nat *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim2 nat_prim_a nat_prim) - (Pair_key ((nat_ty, Some (Field_annot "a")), (nat_ty, None), None)) - >>?= fun ctxt -> - (* pair nat (nat %b) *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim2 nat_prim nat_prim_b) - (Pair_key ((nat_ty, None), (nat_ty, Some (Field_annot "b")), None)) - >>?= fun ctxt -> - (* pair (nat %a) (nat %b) *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim2 nat_prim_a nat_prim_b) - (Pair_key - ((nat_ty, Some (Field_annot "a")), (nat_ty, Some (Field_annot "b")), None)) - >>?= fun ctxt -> - (* pair (nat %a) (nat %b) (nat %c) *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim [nat_prim_a; nat_prim_b; nat_prim_c]) - (Pair_key - ( (nat_ty, Some (Field_annot "a")), - ( Pair_key - ( (nat_ty, Some (Field_annot "b")), - (nat_ty, Some (Field_annot "c")), - None ), - None ), - None )) - >>?= fun ctxt -> - (* pair (nat %a) (pair %b nat nat) *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim2 nat_prim_a (Prim (-1, T_pair, [nat_prim; nat_prim], ["%b"]))) - (Pair_key - ( (nat_ty, Some (Field_annot "a")), - ( Pair_key ((nat_ty, None), (nat_ty, None), None), - Some (Field_annot "b") ), - None )) - >>?= fun ctxt -> - (* pair nat (pair :b nat nat) *) - test_unparse_comparable_ty - __LOC__ - ctxt - (pair_prim2 nat_prim (Prim (-1, T_pair, [nat_prim; nat_prim], [":b"]))) - (Pair_key - ( (nat_ty, None), - (Pair_key ((nat_ty, None), (nat_ty, None), Some (Type_annot "b")), None), - None )) - >>?= fun _ -> return_unit - -let test_parse_data ?(equal = Stdlib.( = )) loc ctxt ty node expected = - let legacy = false in - let allow_forged = true in - wrap_error_lwt - ( Script_ir_translator.parse_data ctxt ~legacy ~allow_forged ty node - >>=? fun (actual, ctxt) -> - if equal actual expected then return ctxt - else Alcotest.failf "Unexpected error: %s" loc ) - -let test_parse_data_fails loc ctxt ty node = - let legacy = false in - let allow_forged = false in - wrap_error_lwt - (Script_ir_translator.parse_data ctxt ~legacy ~allow_forged ty node - >>= function - | Ok _ -> Alcotest.failf "Unexpected typechecking success: %s" loc - | Error - (Tezos_raw_protocol_008_PtEdo2Zk.Script_tc_errors.Invalid_constant _ - :: _) -> - return_unit - | Error _ as res -> Lwt.return res) - -let test_parse_comb_data () = - let open Script in - let open Script_typed_ir in - let z = Script_int.zero_n in - let z_prim = Micheline.Int (-1, Z.zero) in - let nat_ty = Nat_t None in - let pair_prim l = Prim (-1, D_Pair, l, []) in - let pair_ty ty1 ty2 = Pair_t ((ty1, None, None), (ty2, None, None), None) in - let pair_nat_nat_ty = pair_ty nat_ty nat_ty in - let pair_prim2 a b = pair_prim [a; b] in - let pair_z_z_prim = pair_prim2 z_prim z_prim in - let list_nat_ty = List_t (nat_ty, None) in - let big_map_nat_nat_ty = Big_map_t (Nat_key None, nat_ty, None) in - test_context_with_nat_nat_big_map () >>=? fun (ctxt, big_map_id) -> - (* Pair 0 0 *) - test_parse_data __LOC__ ctxt (pair_ty nat_ty nat_ty) pair_z_z_prim (z, z) - >>=? fun ctxt -> - (* {0; 0} *) - test_parse_data - __LOC__ - ctxt - (pair_ty nat_ty nat_ty) - (Micheline.Seq (-1, [z_prim; z_prim])) - (z, z) - >>=? fun ctxt -> - (* Pair (Pair 0 0) 0 *) - test_parse_data - __LOC__ - ctxt - (pair_ty pair_nat_nat_ty nat_ty) - (pair_prim2 pair_z_z_prim z_prim) - ((z, z), z) - >>=? fun ctxt -> - (* Pair 0 (Pair 0 0) *) - test_parse_data - __LOC__ - ctxt - (pair_ty nat_ty pair_nat_nat_ty) - (pair_prim2 z_prim pair_z_z_prim) - (z, (z, z)) - >>=? fun ctxt -> - (* Pair 0 0 0 *) - test_parse_data - __LOC__ - ctxt - (pair_ty nat_ty pair_nat_nat_ty) - (pair_prim [z_prim; z_prim; z_prim]) - (z, (z, z)) - >>=? fun ctxt -> - (* {0; 0; 0} *) - test_parse_data - __LOC__ - ctxt - (pair_ty nat_ty pair_nat_nat_ty) - (Micheline.Seq (-1, [z_prim; z_prim; z_prim])) - (z, (z, z)) - >>=? fun ctxt -> - (* Should fail: {0} against pair nat (list nat) *) - test_parse_data_fails - __LOC__ - ctxt - (pair_ty nat_ty list_nat_ty) - (Micheline.Seq (-1, [z_prim])) - >>=? fun () -> - (* Should fail: {0; 0; 0} against pair nat (list nat) *) - test_parse_data_fails - __LOC__ - ctxt - (pair_ty nat_ty list_nat_ty) - (Micheline.Seq (-1, [z_prim; z_prim; z_prim])) - >>=? fun () -> - (* check Pair 0 (Pair 0 {}) against pair nat (big_map nat nat) - so that the following test fails for the good reason and not because - the big map doesn't exist - *) - let id_z = Big_map.Id.unparse_to_z big_map_id in - let id_prim = Int (-1, id_z) in - let module M = struct - open Script_int - - type key = n num - - type value = n num option - - let key_ty = Nat_key None - - module OPS = Environment.Map.Make (struct - type t = key - - let compare = compare - end) - - let boxed = (OPS.empty, 0) - - module type S = - Boxed_map with type key = n num and type value = n num option - end in - let expected_big_map = - let open Script_typed_ir in - let diff = (module M : M.S) in - let nat_key_ty = Nat_key None in - {id = Some big_map_id; diff; key_type = nat_key_ty; value_type = nat_ty} - in - let equal (nat1, big_map1) (nat2, big_map2) = - (* Custom equal needed because big maps contain boxed maps containing functional values *) - nat1 = nat2 && big_map1.id = big_map2.id - && big_map1.key_type = big_map2.key_type - && big_map1.value_type = big_map2.value_type - && - let module Diff1 = (val big_map1.diff : M.S) in - let module Diff2 = (val big_map2.diff : M.S) in - snd Diff1.boxed = snd Diff2.boxed - && Diff1.OPS.bindings (fst Diff1.boxed) - = Diff2.OPS.bindings (fst Diff2.boxed) - in - test_parse_data - ~equal - __LOC__ - ctxt - (pair_ty nat_ty big_map_nat_nat_ty) - (pair_prim2 z_prim (pair_prim2 id_prim (Seq (-1, [])))) - (Script_int.zero_n, expected_big_map) - >>=? fun ctxt -> - (* Should fail: Pair 0 0 {} against pair nat (big_map nat nat) *) - test_parse_data_fails - __LOC__ - ctxt - (pair_ty nat_ty big_map_nat_nat_ty) - (pair_prim [z_prim; id_prim; Seq (-1, [])]) - -let test_unparse_data loc ctxt ty x ~expected_readable ~expected_optimized = - wrap_error_lwt - ( Script_ir_translator.unparse_data ctxt Script_ir_translator.Readable ty x - >>=? fun (actual_readable, ctxt) -> - (if actual_readable = expected_readable then return ctxt - else Alcotest.failf "Error in readable unparsing: %s" loc) - >>=? fun ctxt -> - Script_ir_translator.unparse_data ctxt Script_ir_translator.Optimized ty x - >>=? fun (actual_optimized, ctxt) -> - if actual_optimized = expected_optimized then return ctxt - else Alcotest.failf "Error in optimized unparsing: %s" loc ) - -let test_unparse_comb_data () = - let open Script in - let open Script_typed_ir in - let z = Script_int.zero_n in - let z_prim = Micheline.Int (-1, Z.zero) in - let nat_ty = Nat_t None in - let pair_prim l = Prim (-1, D_Pair, l, []) in - let pair_ty ty1 ty2 = Pair_t ((ty1, None, None), (ty2, None, None), None) in - let pair_nat_nat_ty = pair_ty nat_ty nat_ty in - let pair_prim2 a b = pair_prim [a; b] in - let pair_z_z_prim = pair_prim2 z_prim z_prim in - test_context () >>=? fun ctxt -> - (* Pair 0 0 *) - test_unparse_data - __LOC__ - ctxt - (pair_ty nat_ty nat_ty) - (z, z) - ~expected_readable:pair_z_z_prim - ~expected_optimized:pair_z_z_prim - >>=? fun ctxt -> - (* Pair (Pair 0 0) 0 *) - test_unparse_data - __LOC__ - ctxt - (pair_ty pair_nat_nat_ty nat_ty) - ((z, z), z) - ~expected_readable:(pair_prim2 pair_z_z_prim z_prim) - ~expected_optimized:(pair_prim2 pair_z_z_prim z_prim) - >>=? fun ctxt -> - (* Readable: Pair 0 0 0; Optimized: Pair 0 (Pair 0 0) *) - test_unparse_data - __LOC__ - ctxt - (pair_ty nat_ty pair_nat_nat_ty) - (z, (z, z)) - ~expected_readable:(pair_prim [z_prim; z_prim; z_prim]) - ~expected_optimized:(pair_prim2 z_prim pair_z_z_prim) - >>=? fun ctxt -> - (* Readable: Pair 0 0 0 0; Optimized: {0; 0; 0; 0} *) - test_unparse_data - __LOC__ - ctxt - (pair_ty nat_ty (pair_ty nat_ty pair_nat_nat_ty)) - (z, (z, (z, z))) - ~expected_readable:(pair_prim [z_prim; z_prim; z_prim; z_prim]) - ~expected_optimized:(Micheline.Seq (-1, [z_prim; z_prim; z_prim; z_prim])) - >>=? fun _ -> return_unit - -(* Generate all the possible syntaxes for pairs *) -let gen_pairs left right = - [Prim (-1, Script.D_Pair, [left; right], []); Seq (-1, [left; right])] - -(* Generate all the possible syntaxes for combs *) -let rec gen_combs leaf arity = - assert (arity >= 2) ; - if arity = 2 then gen_pairs leaf leaf - else - gen_combs leaf (arity - 1) - |> List.map (fun smaller -> - (match smaller with - | Prim (loc, Script.D_Pair, vs, []) -> - Prim (loc, Script.D_Pair, leaf :: vs, []) - | Seq (loc, vs) -> Seq (loc, leaf :: vs) - | _ -> assert false) - :: gen_pairs leaf smaller) - |> List.flatten - -(* Checks the optimality of the Optimized Micheline representation for combs *) -let test_optimal_comb () = - let open Script_typed_ir in - let leaf_ty = Nat_t None in - let leaf_mich = Int (-1, Z.zero) in - let leaf_v = Script_int.zero_n in - let size_of_micheline mich = - let canonical = Micheline.strip_locations mich in - ( canonical, - Bytes.length - @@ Data_encoding.Binary.to_bytes_exn Script.expr_encoding canonical ) - in - let check_optimal_comb loc ctxt ty v arity = - wrap_error_lwt - ( Script_ir_translator.unparse_data - ctxt - Script_ir_translator.Optimized - ty - v - >>=? fun (unparsed, ctxt) -> - let (unparsed_canonical, unparsed_size) = size_of_micheline unparsed in - List.iter_es (fun other_repr -> - let (other_repr_canonical, other_repr_size) = - size_of_micheline other_repr - in - if other_repr_size < unparsed_size then - Alcotest.failf - "At %s, for comb of arity %d, representation %a (size %d \ - bytes) is shorter than representation %a (size %d bytes) \ - returned by unparse_data in Optimized mode" - loc - arity - Michelson_v1_printer.print_expr - other_repr_canonical - other_repr_size - Michelson_v1_printer.print_expr - unparsed_canonical - unparsed_size - else return_unit) - @@ gen_combs leaf_mich arity - >>=? fun () -> return ctxt ) - in - let pair_ty ty1 ty2 = Pair_t ((ty1, None, None), (ty2, None, None), None) in - test_context () >>=? fun ctxt -> - let comb2_ty = pair_ty leaf_ty leaf_ty in - let comb2_v = (leaf_v, leaf_v) in - check_optimal_comb __LOC__ ctxt comb2_ty comb2_v 2 >>=? fun ctxt -> - let comb3_ty = pair_ty leaf_ty comb2_ty in - let comb3_v = (leaf_v, comb2_v) in - check_optimal_comb __LOC__ ctxt comb3_ty comb3_v 3 >>=? fun ctxt -> - let comb4_ty = pair_ty leaf_ty comb3_ty in - let comb4_v = (leaf_v, comb3_v) in - check_optimal_comb __LOC__ ctxt comb4_ty comb4_v 4 >>=? fun ctxt -> - let comb5_ty = pair_ty leaf_ty comb4_ty in - let comb5_v = (leaf_v, comb4_v) in - check_optimal_comb __LOC__ ctxt comb5_ty comb5_v 5 >>=? fun _ctxt -> - return_unit - -let tests = - [ - Tztest.tztest - "test typecheck stack overflow error" - `Quick - test_typecheck_stack_overflow; - Tztest.tztest - "test unparsing stack overflow error" - `Quick - test_typecheck_stack_overflow; - Tztest.tztest "test comb type parsing" `Quick test_parse_comb_type; - Tztest.tztest "test comb type unparsing" `Quick test_unparse_comb_type; - Tztest.tztest - "test comb comparable type unparsing" - `Quick - test_unparse_comb_comparable_type; - Tztest.tztest "test comb data parsing" `Quick test_parse_comb_data; - Tztest.tztest "test comb data unparsing" `Quick test_unparse_comb_data; - Tztest.tztest "test optimal comb data unparsing" `Quick test_optimal_comb; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/test/voting.ml b/src/proto_008_PtEdo2Zk/lib_protocol/test/voting.ml deleted file mode 100644 index 51ac0c834175..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/test/voting.ml +++ /dev/null @@ -1,1093 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -(* missing stuff in Alpha_context.Vote *) -let ballots_zero = Alpha_context.Vote.{yay = 0l; nay = 0l; pass = 0l} - -let ballots_equal b1 b2 = - Alpha_context.Vote.(b1.yay = b2.yay && b1.nay = b2.nay && b1.pass = b2.pass) - -let ballots_pp ppf v = - Alpha_context.Vote.( - Format.fprintf ppf "{ yay = %ld ; nay = %ld ; pass = %ld" v.yay v.nay v.pass) - -(* constants and ratios used in voting: - percent_mul denotes the percent multiplier - initial_participation is 7000 that is, 7/10 * percent_mul - the participation EMA ratio pr_ema_weight / den = 7 / 10 - the participation ratio pr_num / den = 2 / 10 - note: we use the same denominator for both participation EMA and participation rate. - supermajority rate is s_num / s_den = 8 / 10 *) -let percent_mul = 100_00 - -let den = 10 - -let initial_participation_num = 7 - -let initial_participation = initial_participation_num * percent_mul / den - -let pr_ema_weight = 8 - -let pr_num = den - pr_ema_weight - -let s_num = 8 - -let s_den = 10 - -let qr_min_num = 2 - -let qr_max_num = 7 - -let expected_qr_num participation_ema = - let participation_ema = Int32.to_int participation_ema in - let participation_ema = participation_ema * den / percent_mul in - Float.( - of_int qr_min_num - +. of_int participation_ema - *. (of_int qr_max_num -. of_int qr_min_num) - /. of_int den) - -(* Protocol_hash.zero is "PrihK96nBAFSxVL1GLJTVhu9YnzkMFiBeuJRPA8NwuZVZCE1L6i" *) -let protos = - Array.map - (fun s -> Protocol_hash.of_b58check_exn s) - [| - "ProtoALphaALphaALphaALphaALphaALphaALpha61322gcLUGH"; - "ProtoALphaALphaALphaALphaALphaALphaALphabc2a7ebx6WB"; - "ProtoALphaALphaALphaALphaALphaALphaALpha84efbeiF6cm"; - "ProtoALphaALphaALphaALphaALphaALphaALpha91249Z65tWS"; - "ProtoALphaALphaALphaALphaALphaALphaALpha537f5h25LnN"; - "ProtoALphaALphaALphaALphaALphaALphaALpha5c8fefgDYkr"; - "ProtoALphaALphaALphaALphaALphaALphaALpha3f31feSSarC"; - "ProtoALphaALphaALphaALphaALphaALphaALphabe31ahnkxSC"; - "ProtoALphaALphaALphaALphaALphaALphaALphabab3bgRb7zQ"; - "ProtoALphaALphaALphaALphaALphaALphaALphaf8d39cctbpk"; - "ProtoALphaALphaALphaALphaALphaALphaALpha3b981byuYxD"; - "ProtoALphaALphaALphaALphaALphaALphaALphaa116bccYowi"; - "ProtoALphaALphaALphaALphaALphaALphaALphacce68eHqboj"; - "ProtoALphaALphaALphaALphaALphaALphaALpha225c7YrWwR7"; - "ProtoALphaALphaALphaALphaALphaALphaALpha58743cJL6FG"; - "ProtoALphaALphaALphaALphaALphaALphaALphac91bcdvmJFR"; - "ProtoALphaALphaALphaALphaALphaALphaALpha1faaadhV7oW"; - "ProtoALphaALphaALphaALphaALphaALphaALpha98232gD94QJ"; - "ProtoALphaALphaALphaALphaALphaALphaALpha9d1d8cijvAh"; - "ProtoALphaALphaALphaALphaALphaALphaALphaeec52dKF6Gx"; - "ProtoALphaALphaALphaALphaALphaALphaALpha841f2cQqajX"; - |] - -(** helper functions *) - -let assert_period_kind expected_kind kind loc = - if Stdlib.(expected_kind = kind) then return_unit - else - Alcotest.failf - "%s - Unexpected voting period kind - expected %a, got %a" - loc - Alpha_context.Voting_period.pp_kind - expected_kind - Alpha_context.Voting_period.pp_kind - kind - -let assert_period_index expected_index index loc = - if expected_index = index then return_unit - else - Alcotest.failf - "%s - Unexpected voting period index - expected %ld, got %ld" - loc - expected_index - index - -let assert_period_position expected_position position loc = - if position = expected_position then return_unit - else - Alcotest.failf - "%s - Unexpected voting period position blocks - expected %ld, got %ld" - loc - expected_position - position - -let assert_period_remaining expected_remaining remaining loc = - if remaining = expected_remaining then return_unit - else - Alcotest.failf - "%s - Unexpected voting period remaining blocks - expected %ld, got %ld" - loc - expected_remaining - remaining - -let assert_period ?expected_kind ?expected_index ?expected_position - ?expected_remaining b loc = - Context.Vote.get_current_period (B b) - >>=? fun {voting_period; position; remaining} -> - (if Option.is_some expected_kind then - assert_period_kind - (WithExceptions.Option.get ~loc:__LOC__ expected_kind) - voting_period.kind - loc - else return_unit) - >>=? fun () -> - (if Option.is_some expected_index then - assert_period_index - (WithExceptions.Option.get ~loc:__LOC__ expected_index) - voting_period.index - loc - else return_unit) - >>=? fun () -> - (if Option.is_some expected_position then - assert_period_position - (WithExceptions.Option.get ~loc:__LOC__ expected_position) - position - loc - else return_unit) - >>=? fun () -> - if Option.is_some expected_remaining then - assert_period_remaining - (WithExceptions.Option.get ~loc:__LOC__ expected_remaining) - remaining - loc - else return_unit - -let mk_contracts_from_pkh pkh_list = - List.map Alpha_context.Contract.implicit_contract pkh_list - -(* get the list of delegates and the list of their rolls from listings *) -let get_delegates_and_rolls_from_listings b = - Context.Vote.get_listings (B b) >|=? fun l -> - (mk_contracts_from_pkh (List.map fst l), List.map snd l) - -(* compute the rolls of each delegate *) -let get_rolls b delegates loc = - Context.Vote.get_listings (B b) >>=? fun l -> - List.map_es - (fun delegate -> - Context.Contract.pkh delegate >>=? fun pkh -> - match List.find_opt (fun (del, _) -> del = pkh) l with - | None -> failwith "%s - Missing delegate" loc - | Some (_, rolls) -> return rolls) - delegates - -(* Checks that the listings are populated *) -let assert_listings_not_empty b ~loc = - Context.Vote.get_listings (B b) >>=? function - | [] -> failwith "Unexpected empty listings (%s)" loc - | _ -> return_unit - -let bake_until_first_block_of_next_period b = - Context.Vote.get_current_period (B b) >>=? fun {remaining; _} -> - Block.bake_n Int32.(add remaining one |> to_int) b - -let test_successful_vote num_delegates () = - let open Alpha_context in - let min_proposal_quorum = Int32.(of_int @@ (100_00 / num_delegates)) in - Context.init ~min_proposal_quorum num_delegates >>=? fun (b, _) -> - (* no ballots in proposal period *) - Context.Vote.get_ballots (B b) >>=? fun v -> - Assert.equal - ~loc:__LOC__ - ballots_equal - "Unexpected ballots" - ballots_pp - v - ballots_zero - >>=? fun () -> - (* no ballots in proposal period *) - (Context.Vote.get_ballot_list (B b) >>=? function - | [] -> return_unit - | _ -> failwith "%s - Unexpected ballot list" __LOC__) - >>=? fun () -> - (* Last baked block is first block of period Proposal *) - assert_period - ~expected_kind:Proposal - ~expected_index:0l - ~expected_position:0l - b - __LOC__ - >>=? fun () -> - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* participation EMA starts at initial_participation *) - Context.Vote.get_participation_ema b >>=? fun v -> - Assert.equal_int ~loc:__LOC__ initial_participation (Int32.to_int v) - >>=? fun () -> - (* listings must be populated in proposal period *) - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* beginning of proposal, denoted by _p1; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p1, rolls_p1) -> - (* no proposals at the beginning of proposal period *) - Context.Vote.get_proposals (B b) >>=? fun ps -> - (if Environment.Protocol_hash.Map.is_empty ps then return_unit - else failwith "%s - Unexpected proposals" __LOC__) - >>=? fun () -> - (* no current proposal during proposal period *) - (Context.Vote.get_current_proposal (B b) >>=? function - | None -> return_unit - | Some _ -> failwith "%s - Unexpected proposal" __LOC__) - >>=? fun () -> - let del1 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates_p1 0 - in - let del2 = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates_p1 1 - in - let props = - List.map (fun i -> protos.(i)) (2 -- Constants.max_proposals_per_delegate) - in - Op.proposals (B b) del1 (Protocol_hash.zero :: props) >>=? fun ops1 -> - Op.proposals (B b) del2 [Protocol_hash.zero] >>=? fun ops2 -> - Block.bake ~operations:[ops1; ops2] b >>=? fun b -> - (* proposals are now populated *) - Context.Vote.get_proposals (B b) >>=? fun ps -> - (* correctly count the double proposal for zero *) - (let weight = - Int32.add - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth rolls_p1 0) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth rolls_p1 1) - in - match Environment.Protocol_hash.(Map.find_opt zero ps) with - | Some v -> - if v = weight then return_unit - else failwith "%s - Wrong count %ld is not %ld" __LOC__ v weight - | None -> failwith "%s - Missing proposal" __LOC__) - >>=? fun () -> - (* proposing more than maximum_proposals fails *) - Op.proposals (B b) del1 (Protocol_hash.zero :: props) >>=? fun ops -> - Block.bake ~operations:[ops] b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Amendment.Too_many_proposals -> true - | _ -> false) - >>=? fun () -> - (* proposing less than one proposal fails *) - Op.proposals (B b) del1 [] >>=? fun ops -> - Block.bake ~operations:[ops] b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Amendment.Empty_proposal -> true - | _ -> false) - >>=? fun () -> - (* first block of testing_vote period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* next block is first block of Testing_vote *) - assert_period ~expected_kind:Testing_vote ~expected_index:1l b __LOC__ - >>=? fun () -> - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* listings must be populated in proposal period before moving to testing_vote period *) - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* beginning of testing_vote period, denoted by _p2; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p2, rolls_p2) -> - (* no proposals during testing_vote period *) - Context.Vote.get_proposals (B b) >>=? fun ps -> - (if Environment.Protocol_hash.Map.is_empty ps then return_unit - else failwith "%s - Unexpected proposals" __LOC__) - >>=? fun () -> - (* current proposal must be set during testing_vote period *) - (Context.Vote.get_current_proposal (B b) >>=? function - | Some v -> - if Protocol_hash.(equal zero v) then return_unit - else failwith "%s - Wrong proposal" __LOC__ - | None -> failwith "%s - Missing proposal" __LOC__) - >>=? fun () -> - (* unanimous vote: all delegates --active when p2 started-- vote *) - List.map_es - (fun del -> Op.ballot (B b) del Protocol_hash.zero Vote.Yay) - delegates_p2 - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - Op.ballot (B b) del1 Protocol_hash.zero Vote.Nay >>=? fun op -> - Block.bake ~operations:[op] b >>= fun res -> - Assert.proto_error ~loc:__LOC__ res (function - | Amendment.Unauthorized_ballot -> true - | _ -> false) - >>=? fun () -> - (* Allocate votes from weight (rolls) of active delegates *) - List.fold_left (fun acc v -> Int32.(add v acc)) 0l rolls_p2 - |> fun rolls_sum -> - (* # of Yay rolls in ballots matches votes of the delegates *) - Context.Vote.get_ballots (B b) >>=? fun v -> - Assert.equal - ~loc:__LOC__ - ballots_equal - "Unexpected ballots" - ballots_pp - v - Vote.{yay = rolls_sum; nay = 0l; pass = 0l} - >>=? fun () -> - (* One Yay ballot per delegate *) - (Context.Vote.get_ballot_list (B b) >>=? function - | [] -> failwith "%s - Unexpected empty ballot list" __LOC__ - | l -> - List.iter_es - (fun delegate -> - Context.Contract.pkh delegate >>=? fun pkh -> - match List.find_opt (fun (del, _) -> del = pkh) l with - | None -> failwith "%s - Missing delegate" __LOC__ - | Some (_, Vote.Yay) -> return_unit - | Some _ -> failwith "%s - Wrong ballot" __LOC__) - delegates_p2) - >>=? fun () -> - (* skip to testing period *) - bake_until_first_block_of_next_period b >>=? fun b -> - assert_period ~expected_index:2l ~expected_kind:Testing b __LOC__ - >>=? fun () -> - (* no ballots in testing period *) - Context.Vote.get_ballots (B b) >>=? fun v -> - Assert.equal - ~loc:__LOC__ - ballots_equal - "Unexpected ballots" - ballots_pp - v - ballots_zero - >>=? fun () -> - (* listings must be populated in testing period before moving to promotion_vote period *) - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* skip to promotion_vote period *) - bake_until_first_block_of_next_period b >>=? fun b -> - assert_period ~expected_kind:Promotion_vote ~expected_index:3l b __LOC__ - >>=? fun () -> - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* period 3 *) - (* listings must be populated in promotion_vote period *) - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* beginning of promotion_vote period, denoted by _p4; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p4, rolls_p4) -> - (* no proposals during promotion_vote period *) - Context.Vote.get_proposals (B b) >>=? fun ps -> - (if Environment.Protocol_hash.Map.is_empty ps then return_unit - else failwith "%s - Unexpected proposals" __LOC__) - >>=? fun () -> - (* current proposal must be set during promotion_vote period *) - (Context.Vote.get_current_proposal (B b) >>=? function - | Some v -> - if Protocol_hash.(equal zero v) then return_unit - else failwith "%s - Wrong proposal" __LOC__ - | None -> failwith "%s - Missing proposal" __LOC__) - >>=? fun () -> - (* unanimous vote: all delegates --active when p4 started-- vote *) - List.map_es - (fun del -> Op.ballot (B b) del Protocol_hash.zero Vote.Yay) - delegates_p4 - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - List.fold_left (fun acc v -> Int32.(add v acc)) 0l rolls_p4 - |> fun rolls_sum -> - (* # of Yays in ballots matches rolls of the delegate *) - Context.Vote.get_ballots (B b) >>=? fun v -> - Assert.equal - ~loc:__LOC__ - ballots_equal - "Unexpected ballots" - ballots_pp - v - Vote.{yay = rolls_sum; nay = 0l; pass = 0l} - >>=? fun () -> - (* One Yay ballot per delegate *) - (Context.Vote.get_ballot_list (B b) >>=? function - | [] -> failwith "%s - Unexpected empty ballot list" __LOC__ - | l -> - List.iter_es - (fun delegate -> - Context.Contract.pkh delegate >>=? fun pkh -> - match List.find_opt (fun (del, _) -> del = pkh) l with - | None -> failwith "%s - Missing delegate" __LOC__ - | Some (_, Vote.Yay) -> return_unit - | Some _ -> failwith "%s - Wrong ballot" __LOC__) - delegates_p4) - >>=? fun () -> - (* skip to end of promotion_vote period and activation*) - bake_until_first_block_of_next_period b >>=? fun b -> - assert_period ~expected_kind:Adoption ~expected_index:4l b __LOC__ - >>=? fun () -> - (* skip to end of Adoption period and bake 1 more to activate *) - bake_until_first_block_of_next_period b >>=? fun b -> - assert_period ~expected_kind:Proposal ~expected_index:5l b __LOC__ - >>=? fun () -> - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> - (* zero is the new protocol (before the vote this value is unset) *) - Context.Vote.get_protocol b >>= fun p -> - Assert.equal - ~loc:__LOC__ - Protocol_hash.equal - "Unexpected proposal" - Protocol_hash.pp - p - Protocol_hash.zero - >>=? fun () -> return_unit - -(* given a list of active delegates, - return the first k active delegates with which one can have quorum, that is: - their roll sum divided by the total roll sum is bigger than pr_ema_weight/den *) -let get_smallest_prefix_voters_for_quorum active_delegates active_rolls - participation_ema = - let expected_quorum = expected_qr_num participation_ema in - List.fold_left (fun acc v -> Int32.(add v acc)) 0l active_rolls - |> fun active_rolls_sum -> - let rec loop delegates rolls sum selected = - match (delegates, rolls) with - | ([], []) -> selected - | (del :: delegates, del_rolls :: rolls) -> - if - den * sum - < Float.to_int (expected_quorum *. Int32.to_float active_rolls_sum) - then - loop delegates rolls (sum + Int32.to_int del_rolls) (del :: selected) - else selected - | (_, _) -> [] - in - loop active_delegates active_rolls 0 [] - -let get_expected_participation_ema rolls voter_rolls old_participation_ema = - (* formula to compute the updated participation_ema *) - let get_updated_participation_ema old_participation_ema participation = - ((pr_ema_weight * Int32.to_int old_participation_ema) - + (pr_num * participation)) - / den - in - List.fold_left (fun acc v -> Int32.(add v acc)) 0l rolls |> fun rolls_sum -> - List.fold_left (fun acc v -> Int32.(add v acc)) 0l voter_rolls - |> fun voter_rolls_sum -> - let participation = - Int32.to_int voter_rolls_sum * percent_mul / Int32.to_int rolls_sum - in - get_updated_participation_ema old_participation_ema participation - -(* if not enough quorum -- get_updated_participation_ema < pr_ema_weight/den -- in testing vote, - go back to proposal period *) -let test_not_enough_quorum_in_testing_vote num_delegates () = - let min_proposal_quorum = Int32.(of_int @@ (100_00 / num_delegates)) in - Context.init ~min_proposal_quorum num_delegates >>=? fun (b, delegates) -> - (* proposal period *) - let open Alpha_context in - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - let proposer = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 - in - Op.proposals (B b) proposer [Protocol_hash.zero] >>=? fun ops -> - Block.bake ~operations:[ops] b >>=? fun b -> - (* skip to vote_testing period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we moved to a testing_vote period with one proposal *) - assert_period ~expected_kind:Testing_vote b __LOC__ >>=? fun () -> - Context.Vote.get_participation_ema b >>=? fun initial_participation_ema -> - (* beginning of testing_vote period, denoted by _p2; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p2, rolls_p2) -> - Context.Vote.get_participation_ema b >>=? fun participation_ema -> - get_smallest_prefix_voters_for_quorum delegates_p2 rolls_p2 participation_ema - |> fun voters -> - (* take the first two voters out so there cannot be quorum *) - let voters_without_quorum = - WithExceptions.Option.get ~loc:__LOC__ @@ List.tl voters - in - get_rolls b voters_without_quorum __LOC__ - >>=? fun voters_rolls_in_testing_vote -> - (* all voters_without_quorum vote, for yays; - no nays, so supermajority is satisfied *) - List.map_es - (fun del -> Op.ballot (B b) del Protocol_hash.zero Vote.Yay) - voters_without_quorum - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - (* bake to next period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we move back to the proposal period because not enough quorum *) - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - (* check participation_ema update *) - get_expected_participation_ema - rolls_p2 - voters_rolls_in_testing_vote - initial_participation_ema - |> fun expected_participation_ema -> - Context.Vote.get_participation_ema b >>=? fun new_participation_ema -> - (* assert the formula to calculate participation_ema is correct *) - Assert.equal_int - ~loc:__LOC__ - expected_participation_ema - (Int32.to_int new_participation_ema) - >>=? fun () -> return_unit - -(* if not enough quorum -- get_updated_participation_ema < pr_ema_weight/den -- in promotion vote, - go back to proposal period *) -let test_not_enough_quorum_in_promotion_vote num_delegates () = - let min_proposal_quorum = Int32.(of_int @@ (100_00 / num_delegates)) in - Context.init ~min_proposal_quorum num_delegates >>=? fun (b, delegates) -> - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - let proposer = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 - in - Op.proposals (B b) proposer [Protocol_hash.zero] >>=? fun ops -> - Block.bake ~operations:[ops] b >>=? fun b -> - (* skip to vote_testing period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we moved to a testing_vote period with one proposal *) - assert_period ~expected_kind:Testing_vote b __LOC__ >>=? fun () -> - (* beginning of testing_vote period, denoted by _p2; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p2, rolls_p2) -> - Context.Vote.get_participation_ema b >>=? fun participation_ema -> - get_smallest_prefix_voters_for_quorum delegates_p2 rolls_p2 participation_ema - |> fun voters -> - let open Alpha_context in - (* all voters vote, for yays; - no nays, so supermajority is satisfied *) - List.map_es - (fun del -> Op.ballot (B b) del Protocol_hash.zero Vote.Yay) - voters - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - (* skip to first block testing period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we move to testing because we have supermajority and enough quorum *) - assert_period ~expected_kind:Testing b __LOC__ >>=? fun () -> - (* skip to first block of promotion_vote period *) - bake_until_first_block_of_next_period b >>=? fun b -> - assert_period ~expected_kind:Promotion_vote b __LOC__ - (* bake_until_first_block_of_next_period ~offset:1l b - * >>=? fun b -> - * assert_period ~expected_kind:Promotion_vote b __LOC__ *) - >>=? - fun () -> - Context.Vote.get_participation_ema b >>=? fun initial_participation_ema -> - (* beginning of promotion period, denoted by _p4; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p4, rolls_p4) -> - Context.Vote.get_participation_ema b >>=? fun participation_ema -> - get_smallest_prefix_voters_for_quorum delegates_p4 rolls_p4 participation_ema - |> fun voters -> - (* take the first voter out so there cannot be quorum *) - let voters_without_quorum = - WithExceptions.Option.get ~loc:__LOC__ @@ List.tl voters - in - get_rolls b voters_without_quorum __LOC__ >>=? fun voter_rolls -> - (* all voters_without_quorum vote, for yays; - no nays, so supermajority is satisfied *) - List.map_es - (fun del -> Op.ballot (B b) del Protocol_hash.zero Vote.Yay) - voters_without_quorum - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - (* skip to end of promotion_vote period *) - bake_until_first_block_of_next_period b >>=? fun b -> - get_expected_participation_ema rolls_p4 voter_rolls initial_participation_ema - |> fun expected_participation_ema -> - Context.Vote.get_participation_ema b >>=? fun new_participation_ema -> - (* assert the formula to calculate participation_ema is correct *) - Assert.equal_int - ~loc:__LOC__ - expected_participation_ema - (Int32.to_int new_participation_ema) - >>=? fun () -> - (* we move back to the proposal period because not enough quorum *) - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - assert_listings_not_empty b ~loc:__LOC__ >>=? fun () -> return_unit - -let test_multiple_identical_proposals_count_as_one () = - Context.init 1 >>=? fun (b, delegates) -> - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - let proposer = WithExceptions.Option.get ~loc:__LOC__ @@ List.hd delegates in - Op.proposals (B b) proposer [Protocol_hash.zero; Protocol_hash.zero] - >>=? fun ops -> - Block.bake ~operations:[ops] b >>=? fun b -> - (* compute the weight of proposals *) - Context.Vote.get_proposals (B b) >>=? fun ps -> - (* compute the rolls of proposer *) - Context.Contract.pkh proposer >>=? fun pkh -> - Context.Vote.get_listings (B b) >>=? fun l -> - (match List.find_opt (fun (del, _) -> del = pkh) l with - | None -> failwith "%s - Missing delegate" __LOC__ - | Some (_, proposer_rolls) -> return proposer_rolls) - >>=? fun proposer_rolls -> - (* correctly count the double proposal for zero as one proposal *) - let expected_weight_proposer = proposer_rolls in - match Environment.Protocol_hash.(Map.find_opt zero ps) with - | Some v -> - if v = expected_weight_proposer then return_unit - else - failwith - "%s - Wrong count %ld is not %ld; identical proposals count as one" - __LOC__ - v - expected_weight_proposer - | None -> failwith "%s - Missing proposal" __LOC__ - -(* assumes the initial balance of allocated by Context.init is at - least 4 time the value of the tokens_per_roll constant *) -let test_supermajority_in_proposal there_is_a_winner () = - let min_proposal_quorum = 0l in - Context.init ~min_proposal_quorum ~initial_balances:[1L; 1L; 1L] 10 - >>=? fun (b, delegates) -> - Context.get_constants (B b) - >>=? fun { - parametric = - {blocks_per_cycle; tokens_per_roll; blocks_per_voting_period; _}; - _; - } -> - let del1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 in - let del2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 1 in - let del3 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 2 in - List.map_es (fun del -> Context.Contract.pkh del) [del1; del2; del3] - >>=? fun pkhs -> - let policy = Block.Excluding pkhs in - Op.transaction - (B b) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 3) - del1 - tokens_per_roll - >>=? fun op1 -> - Op.transaction - (B b) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 4) - del2 - tokens_per_roll - >>=? fun op2 -> - (if there_is_a_winner then Test_tez.Tez.( *? ) tokens_per_roll 3L - else Test_tez.Tez.( *? ) tokens_per_roll 2L) - >>?= fun bal3 -> - Op.transaction - (B b) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 5) - del3 - bal3 - >>=? fun op3 -> - Block.bake ~policy ~operations:[op1; op2; op3] b >>=? fun b -> - (* we let one voting period pass; we make sure that: - - the three selected delegates remain active by re-registering as delegates - - their number of rolls do not change *) - List.fold_left_es - (fun b _ -> - List.map_es - (fun del -> - Context.Contract.pkh del >>=? fun pkh -> - Op.delegation (B b) del (Some pkh)) - delegates - >>=? fun ops -> - Block.bake ~policy ~operations:ops b >>=? fun b -> - Block.bake_until_cycle_end ~policy b) - b - (1 -- Int32.to_int (Int32.div blocks_per_voting_period blocks_per_cycle)) - >>=? fun b -> - (* make the proposals *) - Op.proposals (B b) del1 [protos.(0)] >>=? fun ops1 -> - Op.proposals (B b) del2 [protos.(0)] >>=? fun ops2 -> - Op.proposals (B b) del3 [protos.(1)] >>=? fun ops3 -> - Block.bake ~policy ~operations:[ops1; ops2; ops3] b >>=? fun b -> - bake_until_first_block_of_next_period b >>=? fun b -> - (* we remain in the proposal period when there is no winner, - otherwise we move to the testing vote period *) - (if there_is_a_winner then assert_period ~expected_kind:Testing_vote b __LOC__ - else assert_period ~expected_kind:Proposal b __LOC__) - >>=? fun () -> return_unit - -let test_quorum_in_proposal has_quorum () = - let total_tokens = 32_000_000_000_000L in - let half_tokens = Int64.div total_tokens 2L in - Context.init ~initial_balances:[1L; half_tokens; half_tokens] 3 - >>=? fun (b, delegates) -> - Context.get_constants (B b) - >>=? fun { - parametric = - { - blocks_per_cycle; - min_proposal_quorum; - blocks_per_voting_period; - _; - }; - _; - } -> - let del1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 in - let del2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 1 in - List.map_es (fun del -> Context.Contract.pkh del) [del1; del2] - >>=? fun pkhs -> - let policy = Block.Excluding pkhs in - let quorum = - if has_quorum then Int64.of_int32 min_proposal_quorum - else Int64.(sub (of_int32 min_proposal_quorum) 10L) - in - let bal = - Int64.(div (mul total_tokens quorum) 100_00L) |> Test_tez.Tez.of_mutez_exn - in - Op.transaction (B b) del2 del1 bal >>=? fun op2 -> - Block.bake ~policy ~operations:[op2] b >>=? fun b -> - (* we let one voting period pass; we make sure that: - - the two selected delegates remain active by re-registering as delegates - - their number of rolls do not change *) - List.fold_left_es - (fun b _ -> - List.map_es - (fun del -> - Context.Contract.pkh del >>=? fun pkh -> - Op.delegation (B b) del (Some pkh)) - [del1; del2] - >>=? fun ops -> - Block.bake ~policy ~operations:ops b >>=? fun b -> - Block.bake_until_cycle_end ~policy b) - b - (1 -- Int32.to_int (Int32.div blocks_per_voting_period blocks_per_cycle)) - >>=? fun b -> - (* make the proposal *) - Op.proposals (B b) del1 [protos.(0)] >>=? fun ops -> - Block.bake ~policy ~operations:[ops] b >>=? fun b -> - bake_until_first_block_of_next_period b >>=? fun b -> - (* we remain in the proposal period when there is no quorum, - otherwise we move to the testing vote period *) - (if has_quorum then assert_period ~expected_kind:Testing_vote b __LOC__ - else assert_period ~expected_kind:Proposal b __LOC__) - >>=? fun () -> return_unit - -let test_supermajority_in_testing_vote supermajority () = - let min_proposal_quorum = Int32.(of_int @@ (100_00 / 100)) in - Context.init ~min_proposal_quorum 100 >>=? fun (b, delegates) -> - let del1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 in - let proposal = protos.(0) in - Op.proposals (B b) del1 [proposal] >>=? fun ops1 -> - Block.bake ~operations:[ops1] b >>=? fun b -> - bake_until_first_block_of_next_period b >>=? fun b -> - (* move to testing_vote *) - assert_period ~expected_kind:Testing_vote b __LOC__ >>=? fun () -> - (* assert our proposal won *) - (Context.Vote.get_current_proposal (B b) >>=? function - | Some v -> - if Protocol_hash.(equal proposal v) then return_unit - else failwith "%s - Wrong proposal" __LOC__ - | None -> failwith "%s - Missing proposal" __LOC__) - >>=? fun () -> - (* beginning of testing_vote period, denoted by _p2; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p2, _rolls_p2) -> - (* supermajority means [num_yays / (num_yays + num_nays) >= s_num / s_den], - which is equivalent with [num_yays >= num_nays * s_num / (s_den - s_num)] *) - let num_delegates = List.length delegates_p2 in - let num_nays = num_delegates / 5 in - (* any smaller number will do as well *) - let num_yays = num_nays * s_num / (s_den - s_num) in - (* majority/minority vote depending on the [supermajority] parameter *) - let num_yays = if supermajority then num_yays else num_yays - 1 in - let open Alpha_context in - let (nays_delegates, rest) = List.split_n num_nays delegates_p2 in - let (yays_delegates, _) = List.split_n num_yays rest in - List.map_es (fun del -> Op.ballot (B b) del proposal Vote.Yay) yays_delegates - >>=? fun operations_yays -> - List.map_es (fun del -> Op.ballot (B b) del proposal Vote.Nay) nays_delegates - >>=? fun operations_nays -> - let operations = operations_yays @ operations_nays in - Block.bake ~operations b >>=? fun b -> - bake_until_first_block_of_next_period b >>=? fun b -> - (if supermajority then assert_period ~expected_kind:Testing b __LOC__ - else assert_period ~expected_kind:Proposal b __LOC__) - >>=? fun () -> return_unit - -(* test also how the selection scales: all delegates propose max proposals *) -let test_no_winning_proposal num_delegates () = - let min_proposal_quorum = Int32.(of_int @@ (100_00 / num_delegates)) in - Context.init ~min_proposal_quorum num_delegates >>=? fun (b, _) -> - (* beginning of proposal, denoted by _p1; - take a snapshot of the active delegates and their rolls from listings *) - get_delegates_and_rolls_from_listings b >>=? fun (delegates_p1, _rolls_p1) -> - let open Alpha_context in - let props = - List.map (fun i -> protos.(i)) (1 -- Constants.max_proposals_per_delegate) - in - (* all delegates active in p1 propose the same proposals *) - List.map_es (fun del -> Op.proposals (B b) del props) delegates_p1 - >>=? fun ops_list -> - Block.bake ~operations:ops_list b >>=? fun b -> - (* skip to testing_vote period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we stay in the same proposal period because no winning proposal *) - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> return_unit - -(** Test that for the vote to pass with maximum possible participation_ema - (100%), it is sufficient for the vote quorum to be equal or greater than - the maximum quorum cap. *) -let test_quorum_capped_maximum num_delegates () = - let min_proposal_quorum = Int32.(of_int @@ (100_00 / num_delegates)) in - Context.init ~min_proposal_quorum num_delegates >>=? fun (b, delegates) -> - (* set the participation EMA to 100% *) - Context.Vote.set_participation_ema b 100_00l >>= fun b -> - Context.get_constants (B b) >>=? fun {parametric = {quorum_max; _}; _} -> - (* proposal period *) - let open Alpha_context in - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - (* propose a new protocol *) - let protocol = Protocol_hash.zero in - let proposer = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 - in - Op.proposals (B b) proposer [protocol] >>=? fun ops -> - Block.bake ~operations:[ops] b >>=? fun b -> - (* skip to vote_testing period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we moved to a testing_vote period with one proposal *) - assert_period ~expected_kind:Testing_vote b __LOC__ >>=? fun () -> - (* take percentage of the delegates equal or greater than quorum_max *) - let minimum_to_pass = - Float.of_int (List.length delegates) - *. Int32.(to_float quorum_max) - /. 100_00. - |> Float.ceil |> Float.to_int - in - let voters = List.take_n minimum_to_pass delegates in - (* all voters vote for yays; no nays, so supermajority is satisfied *) - List.map_es (fun del -> Op.ballot (B b) del protocol Vote.Yay) voters - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - (* skip to next period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* expect to move to testing because we have supermajority and enough quorum *) - assert_period ~expected_kind:Testing b __LOC__ - -(** Test that for the vote to pass with minimum possible participation_ema - (0%), it is sufficient for the vote quorum to be equal or greater than - the minimum quorum cap. *) -let test_quorum_capped_minimum num_delegates () = - let min_proposal_quorum = Int32.(of_int @@ (100_00 / num_delegates)) in - Context.init ~min_proposal_quorum num_delegates >>=? fun (b, delegates) -> - (* set the participation EMA to 0% *) - Context.Vote.set_participation_ema b 0l >>= fun b -> - Context.get_constants (B b) >>=? fun {parametric = {quorum_min; _}; _} -> - (* proposal period *) - let open Alpha_context in - assert_period ~expected_kind:Proposal b __LOC__ >>=? fun () -> - (* propose a new protocol *) - let protocol = Protocol_hash.zero in - let proposer = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth delegates 0 - in - Op.proposals (B b) proposer [protocol] >>=? fun ops -> - Block.bake ~operations:[ops] b >>=? fun b -> - (* skip to vote_testing period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* we moved to a testing_vote period with one proposal *) - assert_period ~expected_kind:Testing_vote b __LOC__ >>=? fun () -> - (* take percentage of the delegates equal or greater than quorum_min *) - let minimum_to_pass = - Float.of_int (List.length delegates) - *. Int32.(to_float quorum_min) - /. 100_00. - |> Float.ceil |> Float.to_int - in - let voters = List.take_n minimum_to_pass delegates in - (* all voters vote for yays; no nays, so supermajority is satisfied *) - List.map_es (fun del -> Op.ballot (B b) del protocol Vote.Yay) voters - >>=? fun operations -> - Block.bake ~operations b >>=? fun b -> - (* skip to next period *) - bake_until_first_block_of_next_period b >>=? fun b -> - (* expect to move to testing because we have supermajority and enough quorum *) - assert_period ~expected_kind:Testing b __LOC__ - -(* gets the voting power *) -let get_voting_power block pkhash = - let ctxt = Context.B block in - Context.get_voting_power ctxt pkhash - -(** Test that the voting power changes if the balance between bakers changes - and the blockchain moves to the next voting period. It also checks that - the total voting power coincides with the addition of the voting powers - of bakers *) -let test_voting_power_updated_each_voting_period () = - let open Test_tez.Tez in - (* Create three accounts with different amounts *) - Context.init - ~initial_balances:[80_000_000_000L; 48_000_000_000L; 4_000_000_000_000L] - 3 - >>=? fun (block, contracts) -> - let con1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 0 in - let con2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 1 in - let con3 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth contracts 2 in - (* Retrieve balance of con1 *) - Context.Contract.balance (B block) con1 >>=? fun balance1 -> - Assert.equal_tez ~loc:__LOC__ balance1 (of_mutez_exn 80_000_000_000L) - >>=? fun _ -> - (* Retrieve balance of con2 *) - Context.Contract.balance (B block) con2 >>=? fun balance2 -> - Assert.equal_tez ~loc:__LOC__ balance2 (of_mutez_exn 48_000_000_000L) - >>=? fun _ -> - (* Retrieve balance of con3 *) - Context.Contract.balance (B block) con3 >>=? fun balance3 -> - (* Retrieve constants blocks_per_voting_period and tokens_per_roll *) - Context.get_constants (B block) - >>=? fun {parametric = {tokens_per_roll; _}; _} -> - (* Get the key hashes of the bakers *) - Context.get_bakers (B block) >>=? fun bakers -> - (* [Context.init] and [Context.get_bakers] store the accounts in reversed orders *) - let baker1 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth bakers 2 in - let baker2 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth bakers 1 in - let baker3 = WithExceptions.Option.get ~loc:__LOC__ @@ List.nth bakers 0 in - (* Auxiliary assert_voting_power *) - let assert_voting_power ~loc n block baker = - get_voting_power block baker >>=? fun voting_power -> - Assert.equal_int ~loc n (Int32.to_int voting_power) - in - (* Auxiliary assert_total_voting_power *) - let assert_total_voting_power ~loc n block = - Context.get_total_voting_power (B block) >>=? fun total_voting_power -> - Assert.equal_int ~loc n (Int32.to_int total_voting_power) - in - (* Assert voting power is equal to the balance divided by tokens_per_roll *) - let expected_power_of_baker_1 = - Int64.(to_int (div (to_mutez balance1) (to_mutez tokens_per_roll))) - in - assert_voting_power ~loc:__LOC__ expected_power_of_baker_1 block baker1 - >>=? fun _ -> - (* Assert voting power is equal to the balance divided by tokens_per_roll *) - let expected_power_of_baker_2 = - Int64.(to_int (div (to_mutez balance2) (to_mutez tokens_per_roll))) - in - assert_voting_power ~loc:__LOC__ expected_power_of_baker_2 block baker2 - >>=? fun _ -> - (* Assert total voting power *) - let expected_power_of_baker_3 = - Int64.(to_int (div (to_mutez balance3) (to_mutez tokens_per_roll))) - in - assert_total_voting_power - ~loc:__LOC__ - Int.( - add - (add expected_power_of_baker_1 expected_power_of_baker_2) - expected_power_of_baker_3) - block - >>=? fun _ -> - (* Create policy that excludes baker1 and baker2 from baking *) - let policy = Block.Excluding [baker1; baker2] in - (* Transfer tokens_per_roll * num_rolls from baker1 to baker2 *) - let num_rolls = 5L in - tokens_per_roll *? num_rolls >>?= fun amount -> - Op.transaction (B block) con1 con2 amount >>=? fun op -> - (* Bake the block containing the transaction *) - Block.bake ~policy ~operations:[op] block >>=? fun block -> - (* Retrieve balance of con1 *) - Context.Contract.balance (B block) con1 >>=? fun balance1 -> - (* Assert balance has changed by tokens_per_roll * num_rolls *) - tokens_per_roll *? num_rolls >>?= fun rolls -> - of_mutez_exn 80_000_000_000L -? rolls - >>?= Assert.equal_tez ~loc:__LOC__ balance1 - >>=? fun _ -> - (* Retrieve balance of con2 *) - Context.Contract.balance (B block) con2 >>=? fun balance2 -> - (* Assert balance has changed by tokens_per_roll * num_rolls *) - tokens_per_roll *? num_rolls >>?= fun rolls -> - of_mutez_exn 48_000_000_000L +? rolls - >>?= Assert.equal_tez ~loc:__LOC__ balance2 - >>=? fun () -> - Block.bake block >>=? fun block -> - (* Assert voting power (and total) remains the same before next voting period *) - assert_voting_power ~loc:__LOC__ expected_power_of_baker_1 block baker1 - >>=? fun () -> - assert_voting_power ~loc:__LOC__ expected_power_of_baker_2 block baker2 - >>=? fun () -> - assert_voting_power ~loc:__LOC__ expected_power_of_baker_3 block baker3 - >>=? fun () -> - assert_total_voting_power - ~loc:__LOC__ - Int.( - add - (add expected_power_of_baker_1 expected_power_of_baker_2) - expected_power_of_baker_3) - block - >>=? fun _ -> - bake_until_first_block_of_next_period block >>=? fun block -> - (* Assert voting power of baker1 has decreased by num_rolls *) - let expected_power_of_baker_1 = - Int.sub expected_power_of_baker_1 (Int64.to_int num_rolls) - in - assert_voting_power ~loc:__LOC__ expected_power_of_baker_1 block baker1 - >>=? fun _ -> - (* Assert voting power of baker2 has increased by num_rolls *) - let expected_power_of_baker_2 = - Int.add expected_power_of_baker_2 (Int64.to_int num_rolls) - in - assert_voting_power ~loc:__LOC__ expected_power_of_baker_2 block baker2 - >>=? fun _ -> - (* Retrieve voting power of baker3 *) - get_voting_power block baker3 >>=? fun power -> - let power_of_baker_3 = Int32.to_int power in - (* Assert total voting power *) - assert_total_voting_power - ~loc:__LOC__ - Int.( - add - (add expected_power_of_baker_1 expected_power_of_baker_2) - power_of_baker_3) - block - -let tests = - [ - Tztest.tztest "voting successful_vote" `Quick (test_successful_vote 137); - Tztest.tztest - "voting testing vote, not enough quorum" - `Quick - (test_not_enough_quorum_in_testing_vote 245); - Tztest.tztest - "voting promotion vote, not enough quorum" - `Quick - (test_not_enough_quorum_in_promotion_vote 432); - Tztest.tztest - "voting counting double proposal" - `Quick - test_multiple_identical_proposals_count_as_one; - Tztest.tztest - "voting proposal, with supermajority" - `Quick - (test_supermajority_in_proposal true); - Tztest.tztest - "voting proposal, without supermajority" - `Quick - (test_supermajority_in_proposal false); - Tztest.tztest - "voting proposal, with quorum" - `Quick - (test_quorum_in_proposal true); - Tztest.tztest - "voting proposal, without quorum" - `Quick - (test_quorum_in_proposal false); - Tztest.tztest - "voting testing vote, with supermajority" - `Quick - (test_supermajority_in_testing_vote true); - Tztest.tztest - "voting testing vote, without supermajority" - `Quick - (test_supermajority_in_testing_vote false); - Tztest.tztest - "voting proposal, no winning proposal" - `Quick - (test_no_winning_proposal 400); - Tztest.tztest - "voting quorum, quorum capped maximum" - `Quick - (test_quorum_capped_maximum 400); - Tztest.tztest - "voting quorum, quorum capped minimum" - `Quick - (test_quorum_capped_minimum 401); - Tztest.tztest - "voting power updated in each voting period" - `Quick - test_voting_power_updated_each_voting_period; - ] diff --git a/src/proto_008_PtEdo2Zk/lib_protocol/tezos-protocol-008-PtEdo2Zk-tests.opam b/src/proto_008_PtEdo2Zk/lib_protocol/tezos-protocol-008-PtEdo2Zk-tests.opam deleted file mode 100644 index 1b727f594809..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_protocol/tezos-protocol-008-PtEdo2Zk-tests.opam +++ /dev/null @@ -1,32 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-protocol-compiler" - "alcotest-lwt" { with-test & >= "1.1.0" } - "tezos-008-PtEdo2Zk-test-helpers" { with-test } - "tezos-stdlib-unix" { with-test } - "tezos-protocol-environment" { with-test } - "tezos-client-base" { with-test } - "tezos-protocol-008-PtEdo2Zk-parameters" { with-test } - "tezos-shell-services" { with-test } - "tezos-base-test-helpers" { with-test } -] -build: [ - [ - "%{tezos-protocol-compiler:lib}%/replace" - "%{tezos-protocol-compiler:lib}%/dune_protocol.template.v0" - "dune" - "%{tezos-protocol-compiler:lib}%/final_protocol_versions" - "008_PtEdo2Zk" - ] - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: tests for economic-protocol definition" diff --git a/tests_python/tests_008/__init__.py b/tests_python/tests_008/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize.out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize.out deleted file mode 100644 index 683e787aa50a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize.out +++ /dev/null @@ -1,8 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize - -{ Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } -{ Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } -{ { 0 ; 3 ; 6 ; 9 } ; { 1 ; 4 ; 7 ; 10 } ; { 2 ; 5 ; 8 ; 11 } } -{ Pair 0 (Pair 3 (Pair 6 9)) ; - Pair 1 (Pair 4 (Pair 7 10)) ; - Pair 2 (Pair 5 (Pair 8 11)) } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_legacy_flag.out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_legacy_flag.out deleted file mode 100644 index 373b0a8162bc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_legacy_flag.out +++ /dev/null @@ -1,8 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_legacy_flag - -{ Elt 0 1 } -At (unshown) location 0, value { Elt %a 0 1 } -is invalid for type map nat nat. -At (unshown) location 1, unexpected annotation. -Fatal error: - ill-typed data expression diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[None].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[None].out deleted file mode 100644 index d34d52b39f34..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[None].out +++ /dev/null @@ -1,10 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_script[None] - -{ parameter unit ; - storage unit ; - code { PUSH (list (pair nat nat nat nat)) - { Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } ; - DROP 2 ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized].out deleted file mode 100644 index f6fe61afbb0a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized].out +++ /dev/null @@ -1,10 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_script[Optimized] - -{ parameter unit ; - storage unit ; - code { PUSH (list (pair nat nat nat nat)) - { { 0 ; 3 ; 6 ; 9 } ; { 1 ; 4 ; 7 ; 10 } ; { 2 ; 5 ; 8 ; 11 } } ; - DROP 2 ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized_legacy].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized_legacy].out deleted file mode 100644 index e34e2eff70a6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Optimized_legacy].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_script[Optimized_legacy] - -{ parameter unit ; - storage unit ; - code { PUSH (list (pair nat nat nat nat)) - { Pair 0 (Pair 3 (Pair 6 9)) ; - Pair 1 (Pair 4 (Pair 7 10)) ; - Pair 2 (Pair 5 (Pair 8 11)) } ; - DROP 2 ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Readable].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Readable].out deleted file mode 100644 index 789d63e489d5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_script[Readable].out +++ /dev/null @@ -1,10 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_script[Readable] - -{ parameter unit ; - storage unit ; - code { PUSH (list (pair nat nat nat nat)) - { Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } ; - DROP 2 ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool bytes)].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool bytes)].out deleted file mode 100644 index a687903e793d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool bytes)].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[list (pair nat int bool bytes)] - -list (pair nat (pair int (pair bool bytes))) diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool)].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool)].out deleted file mode 100644 index bb7e2a1f8578..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int bool)].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[list (pair nat int bool)] - -list (pair nat (pair int bool)) diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int)].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int)].out deleted file mode 100644 index 26e0d2ffb4df..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list (pair nat int)].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[list (pair nat int)] - -list (pair nat int) diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list nat].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list nat].out deleted file mode 100644 index 599b8dd78792..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[list nat].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[list nat] - -list nat diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[nat].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[nat].out deleted file mode 100644 index b710b86bd471..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[nat].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[nat] - -nat diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool bytes].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool bytes].out deleted file mode 100644 index 2f336250c824..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool bytes].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[pair nat int bool bytes] - -pair nat (pair int (pair bool bytes)) diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool].out deleted file mode 100644 index da31f9378b6c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int bool].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[pair nat int bool] - -pair nat (pair int bool) diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int].out deleted file mode 100644 index 60aba5c30620..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_type[pair nat int].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_type[pair nat int] - -pair nat int diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[None].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[None].out deleted file mode 100644 index bb24ec8bcd56..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[None].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_unparsing_mode[None] - -{ Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized].out deleted file mode 100644 index 235df0ff48f6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_unparsing_mode[Optimized] - -{ { 0 ; 3 ; 6 ; 9 } ; { 1 ; 4 ; 7 ; 10 } ; { 2 ; 5 ; 8 ; 11 } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized_legacy].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized_legacy].out deleted file mode 100644 index 139b2da2b9aa..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Optimized_legacy].out +++ /dev/null @@ -1,5 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_unparsing_mode[Optimized_legacy] - -{ Pair 0 (Pair 3 (Pair 6 9)) ; - Pair 1 (Pair 4 (Pair 7 10)) ; - Pair 2 (Pair 5 (Pair 8 11)) } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Readable].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Readable].out deleted file mode 100644 index d14f967a1e34..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestNormalize::test_normalize_unparsing_mode[Readable].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract.py::TestNormalize::test_normalize_unparsing_mode[Readable] - -{ Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestScriptHashRegression::test_contract_hash[client_regtest_custom_scrubber0].out b/tests_python/tests_008/_regtest_outputs/test_contract.TestScriptHashRegression::test_contract_hash[client_regtest_custom_scrubber0].out deleted file mode 100644 index 2d6393a635c8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestScriptHashRegression::test_contract_hash[client_regtest_custom_scrubber0].out +++ /dev/null @@ -1,263 +0,0 @@ -tests_008/test_contract.py::TestScriptHashRegression::test_contract_hash[client_regtest_custom_scrubber0] - -exprvMpUfcC7hMdJYPY7D7a1R835h9LxR1JDXAYMa1DiHURr2PoMcs [CONTRACT_PATH]/attic/accounts.tz -expruucsMyaSmmP5gmkFWjJfv4a52FQV5EGaf3XpHoeXHQgyJgMJfF [CONTRACT_PATH]/attic/add1.tz -exprvEM4Lvihz6jFYszxazuQQPsHjxA4J54tfLeowwDkY1jjTi8Qft [CONTRACT_PATH]/attic/add1_list.tz -exprta1x6QtexpFktejHoB1KwuMQRXePhgre9rDiJ3GDSZCqb3vtqL [CONTRACT_PATH]/attic/after_strategy.tz -expruEosJCXYteRXxfbAVJ5XythgpVQPMdiu3kbbZj3VAVSVjk8ud7 [CONTRACT_PATH]/attic/always.tz -exprvR9m6PaVeLfPHZjA3A929bbfjonzMJs1Kzcmj8baoEvLct9Ry9 [CONTRACT_PATH]/attic/append.tz -exprvQh7vw7vYfp2qdiyYPCFgd6jVkxqYZimmqoYCGZbqaoMgfLifS [CONTRACT_PATH]/attic/at_least.tz -exprtyZC9vL831BnATCkdrP585F4cEzQQQp1ZqnZSqvCDLqp7S33V1 [CONTRACT_PATH]/attic/auction.tz -expruZ4wjBCm3DQNhEf69L27tqaqAJa1TF34728yyPJ9BUg3sEwcxB [CONTRACT_PATH]/attic/bad_lockup.tz -expruazd13u4uPHS7oFWFeZ5nodWR5QC6nQwgy5LGoUTAR3KXsYPXg [CONTRACT_PATH]/attic/big_map_union.tz -exprv7aEg823PTvrEG5bXr4QGk3XCsEkodhUxWCaMBBSq44ZuAxnNf [CONTRACT_PATH]/attic/cadr_annotation.tz -expruwmej4r1RSMDEmmU4SjWUbrzpURnAwybrSwBaMkHpxVobLkWAe [CONTRACT_PATH]/attic/concat.tz -exprte328K2NmgWrmHLbFrGVjvoZKZNFB7577Vt7cWQa8KdvWbfxYk [CONTRACT_PATH]/attic/conditionals.tz -exprvRVXhJFcFjGMkatDwgaLRcJq4TctY979bjniTqwACgXtC3mWko [CONTRACT_PATH]/attic/cons_twice.tz -exprtcnAL38pt7fyZdCiqd97qcYeESWQStPR6sbN2SxMCfbPJhVjau [CONTRACT_PATH]/attic/cps_fact.tz -exprv9BquR6NXVwKMwD4MS5vdWqqvMzjvWumrBf6NsGQXSfgm2Rtqk [CONTRACT_PATH]/attic/create_add1_lists.tz -exprv4cq5g9hsxWU65zCp8dfUi3RtBzu9rGXZ7otetL23tj1zSkNQ2 [CONTRACT_PATH]/attic/data_publisher.tz -expruavAC89RfrZxSrYwdoA6Wr5ghwdUSns8SNaHcng1JRcqR1dwpR [CONTRACT_PATH]/attic/dispatch.tz -expruat2BS4KCwn9kbopeX1ZwxtrtJbyFhpnpnG6A5KdCBCwHNsdod [CONTRACT_PATH]/attic/empty.tz -exprubD7VQHa8qeqRsFByes3ANZ24mvUnqW3qKAsKVUCncjxYEXtGp [CONTRACT_PATH]/attic/fail_amount.tz -expruYCfXuFoyakdWc3C6Np5ojQrGLDMMN6btVbVEAc97MJzpQYVrm [CONTRACT_PATH]/attic/faucet.tz -exprtrmofsqXxiLHqJi9gcXNsywWoYHtp8WAGsqzHbWo3MjkZnfmc3 [CONTRACT_PATH]/attic/forward.tz -exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL [CONTRACT_PATH]/attic/id.tz -exprujqMuqia1zKuReMgjumpsn8XAJ5N6RWaoz3kZpLNRUyyQXwrtY [CONTRACT_PATH]/attic/infinite_loop.tz -exprtoE9fvqNeHngkFPopZv412GoqoZ57HgaCi2XFR7YxkwPpvHXBZ [CONTRACT_PATH]/attic/insertion_sort.tz -exprux8tMeArJNXUekbuHqLb6epu2eWXJy85f8Yts5oHASHyWp6bva [CONTRACT_PATH]/attic/int_publisher.tz -expruosSkGQbRDc3NUt5oEqSkt3dqxymQDKDeNxcjRgFNLxARG414v [CONTRACT_PATH]/attic/king_of_tez.tz -exprtZcF9NutGBwyuXTqEi4SyL3bZdAWqzkDc782wxNhYT7LtdY4Lb [CONTRACT_PATH]/attic/list_of_transactions.tz -expruDiMLqyYi67RbkDfNyEjBDgJqQLiCGVx2xLUiWujSkwr7rVyRD [CONTRACT_PATH]/attic/queue.tz -exprtZYeWyxANtdrSANECgXdeakcP9fJm7ecJhpeuGR55a8gDTSXWe [CONTRACT_PATH]/attic/reduce_map.tz -exprvMneQMtBQzcPKboFsEV7R4BAuoF8QLUDMWB62iYLmKz9tztNdJ [CONTRACT_PATH]/attic/reentrancy.tz -exprueaa65wkL9ennP6vZoUP6yCkzz6Wc4cF3w11q8bGXguokXAEvK [CONTRACT_PATH]/attic/reservoir.tz -exprtwrNpVRUJaVTBs5vXFLbt4v6Fb8LRySwc1Ap8ZWZh4JbLfgJ6P [CONTRACT_PATH]/attic/scrutable_reservoir.tz -expruwtkYFMkNLVjKD8hypuDc53SHLQQ65g6VPGiHFXbY5hHwmb552 [CONTRACT_PATH]/attic/spawn_identities.tz -expruiDvGyQG5GzKzcBP7d5Z5doUcdxTmUcM6vL1jCTyTmxLrekmP7 [CONTRACT_PATH]/macros/assert.tz -expruMKaaLoPjYfDaKymizi9fnFY7hSDyPj2NfJFxSuAoEVknDxSM6 [CONTRACT_PATH]/macros/assert_cmpeq.tz -exprtqiRJEnWeqF5KKBRPjamJGoi2oQvekfnRwsdZNRy8w8wkbroKJ [CONTRACT_PATH]/macros/assert_cmpge.tz -exprtZWviL38eegiNAN55KfEtAHhAqUWoadkbxyFCGs3vDnDRzueft [CONTRACT_PATH]/macros/assert_cmpgt.tz -exprvBWTmSLBAGgcuBFSToCQPqH5J1F5R2vf8iJMiPVdZjG3B7hWq7 [CONTRACT_PATH]/macros/assert_cmple.tz -expruuDzygKxAaQ348e6BcRSk8A2Chq4WinaTUCTvg5YEVnGpptBg3 [CONTRACT_PATH]/macros/assert_cmplt.tz -expruxeuWRoEFHhzv7tG1rwderXePZzxtpL9BRQ9N7ZhoFXS6RPy9a [CONTRACT_PATH]/macros/assert_cmpneq.tz -expruaqEBPqAjaUawnFTSbGZXXr1HemnecV8GuLGD15nQvtxaXiH3z [CONTRACT_PATH]/macros/assert_eq.tz -expru9etUCKvNXZyDCx1x55QfZzyGxmgsteFNBoWAZeh6F5FHEHy3m [CONTRACT_PATH]/macros/assert_ge.tz -exprvP9aPgepXY1C4hVPWPMoDGhvSjNvH5sJvB25qcMMPFHurVyH9c [CONTRACT_PATH]/macros/assert_gt.tz -exprtbLVpjXVnhdMUyDM53MXHH2HBNSMxdnXsVTNtFFMHHVn18yUuZ [CONTRACT_PATH]/macros/assert_le.tz -exprtx7nibNobG8Y7asBYktu2NdPv3k3No29rM4nP1WSbricymunvc [CONTRACT_PATH]/macros/assert_lt.tz -exprvQM6Ukz3TKVSo4dqNDYmMvNG5rs3U7WGXpvjSVsM2oQj6SbdLM [CONTRACT_PATH]/macros/assert_neq.tz -exprueGaPWpG6szfmTAccNH5MaoqxovN7JCbx4CDsmpvnhBAUrAizc [CONTRACT_PATH]/macros/big_map_get_add.tz -exprvFc9HFkvwNGZVrJkU2KpXuXieVKCJ9VXbTo51LRWBMAB6oEbWq [CONTRACT_PATH]/macros/big_map_mem.tz -exprv7Gwz5KP32zP9FYPSng9mPqLYbxwttDZin5QPnqzsUM3MZBvLK [CONTRACT_PATH]/macros/build_list.tz -exprvNqdnnqWgrrZYgnkuFeXrboqQYnYiRLSb7wV4E27bdZcbrU5GK [CONTRACT_PATH]/macros/carn_and_cdrn.tz -exprtknptGzyx8quFM8gHyGcpyX5xYeUxUpoVPhZeBkRqz5hUHfuq7 [CONTRACT_PATH]/macros/compare.tz -exprussGZ9wiqKqGkCsFJrfvr5DXxqZiLuHATJuvr3D8ar3KCeNaCz [CONTRACT_PATH]/macros/compare_bytes.tz -expru4Mmhu46yLQj4Q767jgVgvbaNe7B6EwvYvWA9KCrfzCxwBnzCQ [CONTRACT_PATH]/macros/fail.tz -exprtyJ1YYdejX7jRUh8FDjbbwrbAFwZYKPjdEZMNUUWdncqEwvuyr [CONTRACT_PATH]/macros/guestbook.tz -exprvMCL9Ti9C12EZUiFR1YtSp7nYjPN4DoyJPQiyVDYCZsSsheTeV [CONTRACT_PATH]/macros/macro_annotations.tz -expruq2AH96hXvqFqphuMKhJUY8mGMmdHuiHWHjkZqooZoEusTNNRf [CONTRACT_PATH]/macros/map_caddaadr.tz -exprueEkWTdWS8F25vnUP8gWd75MCfxk3vMhETn5dUYtrifV6FU8x5 [CONTRACT_PATH]/macros/max_in_list.tz -expruGfNErSHzpWnoNpgvZ3MRc52jiCHu8YTDUvh2T643QABr7NDZN [CONTRACT_PATH]/macros/min.tz -exprtw4kigYCiREgky6KBKryS7JkaGih6ju8jkjaXtpdcWYrYukRKX [CONTRACT_PATH]/macros/pair_macro.tz -exprtxutG1Nu8d198ebiCraNuQ8a6iYYqJYfGXq19aykNPB1uECc8w [CONTRACT_PATH]/macros/set_caddaadr.tz -exprvCE6JDXrzEfZuxTQzSgxWXtxX5GoNxvidL84CN2TAm6Hk3kuK6 [CONTRACT_PATH]/macros/take_my_money.tz -exprunGqZLZZwm9mY31NFGbBemCgXGevYqLRKdeRKQArPf824Npnni [CONTRACT_PATH]/macros/unpair_macro.tz -exprufRUAYF6r5QHQvK8CzWkKQcdvYkPx5fjEYzWPXc35Dry77KDT1 [CONTRACT_PATH]/mini_scenarios/authentication.tz -exprtjdvZr5J7WfN4SyNgKueLnxX4fALUYJ4cmi675EHJdUu5yyg2n [CONTRACT_PATH]/mini_scenarios/big_map_entrypoints.tz -exprtfWRfK4RoY8CF9VXvcHeBxizfjMMPAkLojfUTuoZkMSyiPKoyK [CONTRACT_PATH]/mini_scenarios/big_map_magic.tz -expruRE8G1Qc1dU8ZeQCTA48D69uPv8hpZYtDiKKHbfiy1mQLno8nx [CONTRACT_PATH]/mini_scenarios/big_map_read.tz -exprtotUpA2o34SHPX7ZQHD69WvJyEykTvPJ8T3RFErKAq4TQHFAgP [CONTRACT_PATH]/mini_scenarios/big_map_store.tz -exprtbeKR4fc2tqCWahuCeXAb42Hpye5dwmq8sj2guSztorTFJnh1J [CONTRACT_PATH]/mini_scenarios/big_map_write.tz -exprvTRcwMZnUPdSeRG8DdiC2xH3DrfMbp8qCwg76Av4pqbX5k4tHw [CONTRACT_PATH]/mini_scenarios/create_contract.tz -exprubRYeqf14u8CU4cEri2RWBrx26gkxyGe5wGeVAf4PDjKdsNhLK [CONTRACT_PATH]/mini_scenarios/create_contract_simple.tz -exprvLDpqaNLp1Cb8hbCqRU6tyU53n9PQkixgcBwFdSLJWsUdwhCQU [CONTRACT_PATH]/mini_scenarios/default_account.tz -expruhMQvp6kKepaVGL8EEMPPk6zY1uyyW22Ugrr4ty21dtjDcVdbq [CONTRACT_PATH]/mini_scenarios/fa12_reference.tz -exprub9UzpxmhedNQnsv1J1DazWGJnj1dLhtG1fxkUoWSdFLBGLqJ4 [CONTRACT_PATH]/mini_scenarios/generic_multisig.tz -exprvTVuhJ2wNH8LHYEUiNC6ugx264rdfka1HkGfdVxV5632GjqgNv [CONTRACT_PATH]/mini_scenarios/groth16.tz -expru1u3Ta2uCGgcz6Z86K2mA5ierGB9RMaSwSppzVFxeuiXpBFZrf [CONTRACT_PATH]/mini_scenarios/hardlimit.tz -exprutz4BVGJ3Qms6qjmqvUF8sEk27H1cfqhRT17qpTdhEs5hEjbWm [CONTRACT_PATH]/mini_scenarios/legacy_multisig.tz -exprvRy1WUs7SQaNJm478UQHzz8uJAQoWT3bR5TXSnmbxWAcpZdGKu [CONTRACT_PATH]/mini_scenarios/lockup.tz -exprufAK15C2FCbxGLCEVXFe26p3eQdYuwZRk1morJUwy9NBUmEZVB [CONTRACT_PATH]/mini_scenarios/lqt_fa12.mligo.tz -expruBi6wgss7SRmpBCseBzcu3L283Jfx2CpUjgfuT2MgsozUsvBwt [CONTRACT_PATH]/mini_scenarios/multiple_en2.tz -exprtgxcdQP1EVvEYN2BHjbqTvwzywuYAdCmnfVgeP9zcgkxUrmScN [CONTRACT_PATH]/mini_scenarios/multiple_entrypoints_counter.tz -exprucgYdABPRbbq2yy2rpyt4Z8fv7PN4yhkch3QYZ5QQ5ehbtNA4K [CONTRACT_PATH]/mini_scenarios/parameterized_multisig.tz -exprvB5BX8a15jvLH6T4P6ps3KkJ2WidR5dPmkvxBRTsTfyoqzrV53 [CONTRACT_PATH]/mini_scenarios/replay.tz -exprtuiYUMjM6d8XxPda1yfKeN61ko6riom35PzybC31NKXkVhgBQy [CONTRACT_PATH]/mini_scenarios/reveal_signed_preimage.tz -expruB4maBvk1y4JaeSLpDXWC3zKiXK5QFYv4B3R5KfdGEt4B5VvTT [CONTRACT_PATH]/mini_scenarios/self_address_receiver.tz -exprvTG7hjtWXeogStj3pzM1MCVcNg1q6KnivqNVzQjviUrJvsjfQn [CONTRACT_PATH]/mini_scenarios/self_address_sender.tz -expru9ASRmfbXX8Ajf5uDeiZDbNwonrCiS1e6UaDXUstKU3yuwQwdZ [CONTRACT_PATH]/mini_scenarios/ticket_builder_fungible.tz -exprtXrMgaXhLsw6ioNNPThqPF1yDyLjqGdJeB6yMRKLUQZfkTD6jy [CONTRACT_PATH]/mini_scenarios/ticket_builder_non_fungible.tz -expruryVEK55xjeHpeGgHjuLr9jtRS2D1gzAgYXpzGfripoX8qFhNK [CONTRACT_PATH]/mini_scenarios/ticket_wallet_fungible.tz -expruoGtEJH3sXXm2ruNG6DGTFE3GM6fjAS6fzDZKtdaMnRzHvi3Xd [CONTRACT_PATH]/mini_scenarios/ticket_wallet_non_fungible.tz -exprtnBz8poqNTrK4rzTXZFKQx7HWpx4WidHB5wxcM2oTS8NcrkAUt [CONTRACT_PATH]/mini_scenarios/tzip4_view.tz -exprugya6ngixBfjyxV28ffnC8jmJPi4vbJdqD1aVUx82YLhzbH8Tn [CONTRACT_PATH]/mini_scenarios/vote_for_delegate.tz -expruaKedvXmhg6wbV361DHykomz5dPqLi473KxBwJwyicEnKMhpb9 [CONTRACT_PATH]/mini_scenarios/weather_insurance.tz -exprv9PvyjnsPjPCg5f13WtBiuD3o6idDAVWU6QfPtdWMjCLGRpwTh [CONTRACT_PATH]/mini_scenarios/xcat.tz -exprvKm5t6a6LL2d3HjvRiJumGrGei24aRXscJk3zB1hs516Ju4oMZ [CONTRACT_PATH]/mini_scenarios/xcat_dapp.tz -exprucvy7NUDPu2yTWEA6WVsusEZgGRmU1WpVzrFnNZV7m2H8BVysF [CONTRACT_PATH]/non_regression/bug_262.tz -exprujPzkrPVucSvhHc1d9xm6kcs7oggkQyJXN8L2Rj3fteEABAkTe [CONTRACT_PATH]/opcodes/abs.tz -expruNtqq51Lm75X61pxUx7P2FyR2uyUKLsZNHMXWx6X5rsyJ5M6WX [CONTRACT_PATH]/opcodes/add.tz -exprupWD554EpqFBjo4KUpTqrfQcJAHqr3ijKmv5cmLRJ93Q1SgwGX [CONTRACT_PATH]/opcodes/add_bls12_381_fr.tz -exprugu3H5MPrpWJRZMPMGDM3Dbvykaa1fHejEvYr7ePKaLtahjQV5 [CONTRACT_PATH]/opcodes/add_bls12_381_g1.tz -expru41eYPF7gPvBRAtantBxbFU75RqBEwHPZ7UeX2EgHmExRoA4dh [CONTRACT_PATH]/opcodes/add_bls12_381_g2.tz -exprtcPYR7TZHxzcpmZWjjLgMWp6CeRWAxQ5Bt2bgpUK5uKjmNAdzL [CONTRACT_PATH]/opcodes/add_delta_timestamp.tz -expruLFQ1mcR5sg9sqyFHThknANoBeL4C5HFGgH55MqwPBEb1TUxLt [CONTRACT_PATH]/opcodes/add_timestamp_delta.tz -exprtz1uUW5sVUVaKNLhPaKGjA7jK9JmzWBCQu5Xn1MC3aS1FjTUmK [CONTRACT_PATH]/opcodes/address.tz -exprvJ4NRS33cboLuTx58f3sbYpXf1m7Cq2ou9gpCh1k8foaCZAoas [CONTRACT_PATH]/opcodes/and.tz -expru5BXwmdpWQ3WDKA24g6gYGwLxPc868wKkdeAaGh899nD77Uxwn [CONTRACT_PATH]/opcodes/and_binary.tz -expruL6aKRTXN2hWb9EXLuJASu7nuBGJxL7VyT1oEjX9b2s3u6Y5Ff [CONTRACT_PATH]/opcodes/and_logical_1.tz -exprtpYYuLewZWKCK1aPb9gfYSiPWSaeXRM4P2e4rpa6UktVueB1uf [CONTRACT_PATH]/opcodes/balance.tz -exprtZRAy4QHqpF8c3CusD6e1kxWA3KAUrmgeXndfQYSEGArDmkWUm [CONTRACT_PATH]/opcodes/big_map_mem_nat.tz -exprugsT35M51mCw6Fim3ysNKpCh8JyW9m7CYW65QQ7XUEDmspqz2i [CONTRACT_PATH]/opcodes/big_map_mem_string.tz -exprvN3tk4o5YPYJB6aYAxEx8KU93yNSaw4K6mbEZZh9RQayua6odv [CONTRACT_PATH]/opcodes/big_map_to_self.tz -exprv712JoEC7RRhoP7gbTUiVgLbtAgHmenwa5TqhVykDZ3e538MGU [CONTRACT_PATH]/opcodes/bls12_381_fr_push_bytes_not_padded.tz -exprufF1yaR5QHdy8iECBLjhBtDZVLiEjZRuJntSkXjsrJRYozXLmW [CONTRACT_PATH]/opcodes/bls12_381_fr_push_nat.tz -expruSVRATSSsbfHowLHGs5XHms95RuqBWSdDJoUKdns3fWbwasU1p [CONTRACT_PATH]/opcodes/bls12_381_fr_to_int.tz -exprvTBYxSJ7d1z1aZvvAgPrdZUXHzoFxkwBC7McES5BS56xvqkGXg [CONTRACT_PATH]/opcodes/bls12_381_fr_to_mutez.tz -expruTppbXBm1YHSCB4uYv9MQs6zxqRWqbkwGWoiKfF5Sjj5n2TpJx [CONTRACT_PATH]/opcodes/bls12_381_fr_z_int.tz -exprv5Si29PfXErNuJdEvJWQhWRJ3qPETygaWzRE3ctmCU4s6y2V9v [CONTRACT_PATH]/opcodes/bls12_381_fr_z_nat.tz -expruRsYz6JopAFGU95WfFU61SE3RbMGn3XPR9PFiTfLbgQr2kzu7u [CONTRACT_PATH]/opcodes/bls12_381_z_fr_int.tz -expruyE3E3o8EAptRBZtQAB5Kv3sxUZGv7DK6CpJ2YdotQj9gqW5wN [CONTRACT_PATH]/opcodes/bls12_381_z_fr_nat.tz -exprtvRRYmpToi9y67ZzNmgjtdrgNkwVduSnBi7GZVrsmgDna8TSjB [CONTRACT_PATH]/opcodes/car.tz -expru5dDnxp1rhgXGmKigbLJ9ASaVHbkpkL6gLggtk9krgYC3jusc8 [CONTRACT_PATH]/opcodes/cdr.tz -expruxH6gEuBmNzg5nWEM4tv3jMBbknbEtTHKTPMeC4EBdFdujbRph [CONTRACT_PATH]/opcodes/chain_id.tz -expruGhHABGLz2wxAyyx3RpfyKHa8HE9voC19vLiAKYWYMMsUUTFdd [CONTRACT_PATH]/opcodes/chain_id_store.tz -exprtjDuLEzh8dcjpCcJiiuKXDdG3XusjuuURVCh3JWKBgjJGsVsMs [CONTRACT_PATH]/opcodes/check_signature.tz -expruHKTiWeY6mty7RokwdyZdwdzHQbu7udbbZbpu3C8h9n6jXnp4v [CONTRACT_PATH]/opcodes/comb-get.tz -exprtsyJo5ceZQM76zpAUeTren1YnBxw2MNDKmx8k11Ejai8T296Sg [CONTRACT_PATH]/opcodes/comb-literals.tz -exprv733yfMh1C9uyuAJJP66WPQDXAjjfcTcSfHhbboJnz6DUCEh41 [CONTRACT_PATH]/opcodes/comb-set-2.tz -exprvHamsTHMJKF6ohaSAwdgp2Sv33LGgYnjase3LUcwXKnJfh53wn [CONTRACT_PATH]/opcodes/comb-set.tz -expruufsxtik2vxyQfL3QKNWWH9TnJZgGx1ELi3AR5L3LM71uqxiP4 [CONTRACT_PATH]/opcodes/comb.tz -expruKknV6VYzPHkSxc3EFb488JPBfUX1UHsJUzceaGFafdnbgsKw2 [CONTRACT_PATH]/opcodes/compare.tz -exprvGXTYwatNh32w78r83SuLAW1YQefufYN1Bcu9AZ1BLDUU77dKR [CONTRACT_PATH]/opcodes/compare_big_type.tz -expruR3ZCLJTuojpTuS2sR3SGxqait52kXQNKfy8bipv69b2XJZG8A [CONTRACT_PATH]/opcodes/compare_big_type2.tz -expruUDL3EP43hFhcdCZD7K1xvfPtiNWfkU2Nyq8jmr9XgZuXqWXc5 [CONTRACT_PATH]/opcodes/comparisons.tz -exprtjqEmEBnmG7yiDXn224ER9bt4qh18LF4LzFSfoeuo1cbJpNBPy [CONTRACT_PATH]/opcodes/concat_hello.tz -exprtqd5qPLeh5Fi52YdkgWuvRXctgUoxU1Q4JDB2VseRk6DAEpMvd [CONTRACT_PATH]/opcodes/concat_hello_bytes.tz -expruv8MHvRmp3ipXYRyyP4aEE4iFHWsNZjNQSaCWUt7fwbgLeFBXY [CONTRACT_PATH]/opcodes/concat_list.tz -expruYk7GXYQ7bKbUcqcHDKs97USVBrxAkzSo2Bkj5AXVjSawDkNAS [CONTRACT_PATH]/opcodes/cons.tz -expruMW9W9kkb2JaQWzKVThky4ULQ6ckgLzE2xD49XUp5E1iwWfUbe [CONTRACT_PATH]/opcodes/contains_all.tz -exprvDvotLP1G2qjPJiqz2RvVUm8wJ2cEuFvKtm7YUNW3w6krDponF [CONTRACT_PATH]/opcodes/contract.tz -exprvNrgGoLvfEaXw6QmjQrkXESpWo72JHR4G4mhTJy7Y266YXa3fe [CONTRACT_PATH]/opcodes/create_contract.tz -exprv8no3WSXCsf89WYazUNurLm8hwZRwTWYBQrzihscQcR6M1uKEu [CONTRACT_PATH]/opcodes/create_contract_rootname.tz -exprttdxhC3YwJ9SGJNTDMQRpyWX1KwqAUuPbkQHX3uMPHNt3GKkZK [CONTRACT_PATH]/opcodes/create_contract_rootname_alt.tz -exprteqmco8PDGH1PnTGgF5jPjBPCYyZfyvER2ULtv2y3MRgGdcP8T [CONTRACT_PATH]/opcodes/diff_timestamps.tz -exprtt6joHWnYr4AAW3uem8nzbxYgLcSpEJtaUT66qWchoKPS8sFXx [CONTRACT_PATH]/opcodes/dig_eq.tz -exprvKBfwAg4hVHrTtq3UV8AunaqUKxAkvx35TScbZDARNSgH737Ck [CONTRACT_PATH]/opcodes/dign.tz -exprv8t3ZfoBs6B7LMeFNN6U4PRpE1M6MhdtKPT5keNZT4je3RBadj [CONTRACT_PATH]/opcodes/dip.tz -expruncwh1qqNqSwq6kHYXfwhQyjpuJjbernTsyHAMnaLjU5h3qjxr [CONTRACT_PATH]/opcodes/dipn.tz -exprv62zo2ACMdseAu1HKzDDLSjBrYr2nZzi36PCTVJqcBwSdvt4yU [CONTRACT_PATH]/opcodes/dropn.tz -exprujbvaRkoroj5eVgboUyeP3578oJgScTQ78eBYMgfdLVaGWPPTW [CONTRACT_PATH]/opcodes/dugn.tz -exprur99uFkrwM63FXSTqSTypHcfEmzb5KQ9EypTRqZWDY5NP6tCHL [CONTRACT_PATH]/opcodes/dup-n.tz -exprtarW6tiguR7YAo6SxhCUDs1pLDhx9xJEG78h6GnXLAWpt3H1pT [CONTRACT_PATH]/opcodes/ediv.tz -exprvQhRaLYxiWN3QsJgT6VKf6DmGVuXR8DxeU63P9A8iNWA4TVQfs [CONTRACT_PATH]/opcodes/ediv_mutez.tz -exprv8Sy3DsiKMm3ZQPmi46kZGn9ctTigpLB2t6xYFdYkkeVHMXy6z [CONTRACT_PATH]/opcodes/empty_map.tz -exprufqf2G8PoZN768K2YGex6M7zmz7bYHE5LF5QHJBVvFtAFLi6qr [CONTRACT_PATH]/opcodes/exec_concat.tz -exprut53jocMPdPP8FXrKRDYSoRaxk1FXqCt7o46ak2wQaocjsSwwx [CONTRACT_PATH]/opcodes/first.tz -expru5fjTGWP1BXZz3BbbEFyDFkyZGJKHcZ2Y6jDT3CdHHp81n6G1r [CONTRACT_PATH]/opcodes/get_and_update_big_map.tz -exprua5oh3PDJEPQbEsnbHYCz6L7bY6kNvpyhEt7Cg9sPsrx82UmHQ [CONTRACT_PATH]/opcodes/get_and_update_map.tz -exprtgnkjSH6Tdw5C1BMKr8kCJjEnxCfMiaAxHTVLnEcyCQ6WmJ1jr [CONTRACT_PATH]/opcodes/get_big_map_value.tz -expruv8JdHeURNpuLHao37SGJauDPwB9yxFXUaL6hNCdXGzbHSqCZN [CONTRACT_PATH]/opcodes/get_map_value.tz -exprvHC1MDkeqCNL8yrN74nmqk5qrZCvR42qoVUxYCB4ALpgDfmhbL [CONTRACT_PATH]/opcodes/hash_consistency_checker.tz -expruzeve85eDLTpQ1EbgrQQcEUft7AGauZBwtK1ibuvJpwmZt9AE8 [CONTRACT_PATH]/opcodes/hash_key.tz -expruycqvZn4ufKjVQmYXcCfAfm7C81zN3BAqxuYVVfnpFibSKsahG [CONTRACT_PATH]/opcodes/hash_string.tz -expru34ooMhYSarFg7vZCe1Y23jwfxfHiDqwaE1wGXC48yjB21PLi1 [CONTRACT_PATH]/opcodes/if.tz -exprtmbKAmbV2XioTbmpJQpg9QDAxXkTBXmKRWdC8zbk8CWAtVXwAc [CONTRACT_PATH]/opcodes/if_some.tz -expruTGRZeiojz3Rrr45KUcwtpJuJYu6U8pxi4DBZpL2kGavVxxM4H [CONTRACT_PATH]/opcodes/int.tz -exprudLYgw6yWSrTHpXYsg9NcZxGGpCxdNFbNv7ksr6Ss8rNmh2fgT [CONTRACT_PATH]/opcodes/keccak.tz -exprusrBf5Sakr6dRngzuPmwsP28X6W56nVqCXqG1Jcfrd1SYwPRuU [CONTRACT_PATH]/opcodes/left_right.tz -exprvHZpmtBKjjsUZmchx2RTLmFAZnYKCnHSKXaKUdP5EUpiPYwsp2 [CONTRACT_PATH]/opcodes/level.tz -exprtkasRZbYRQg7WKnoXwJnRwXkvmjZEY4yPYXKGAQQFUupt5VAmt [CONTRACT_PATH]/opcodes/list_concat.tz -expru32VE4LnqAqhbpUFCdgEdRSHjLQipkXTjn624fL41yk3a4H5Q3 [CONTRACT_PATH]/opcodes/list_concat_bytes.tz -exprvCkexzSQFgEWkFvrkrQ8wATasfkbKCyeXYSM4qZft3g3UuoTBi [CONTRACT_PATH]/opcodes/list_id.tz -exprtbHaLLF4cUTh4VCjtnH32EAA2AFwvPBsCzUTgrrdofbotKMyr7 [CONTRACT_PATH]/opcodes/list_id_map.tz -expruAxpePKSFaGkjukWx4HEZAvXaWvyfyGyxCfhvK9tZjkPNSpZ1m [CONTRACT_PATH]/opcodes/list_iter.tz -exprvSCwmQGBkxgu2Tg5rYUXbyv33SpUskCJS7sPF4LN7e5pQ1fn7z [CONTRACT_PATH]/opcodes/list_map_block.tz -expruu6vcnLhDhSkSo8NNNJWQL99VCFr6iArtKrmavJWSNkQwDJsKC [CONTRACT_PATH]/opcodes/list_size.tz -exprv15pFChKhH3QKoJn5BCT1bP4R7DjnXWtTDsSfwf2eVonZNxzZs [CONTRACT_PATH]/opcodes/loop_left.tz -exprubosuA8peKBt4EEo1RsYjxSxK7HXytSkBFAjns5Zg7ncicPWrC [CONTRACT_PATH]/opcodes/map_car.tz -expruqCpEBS2R8FqpBfDNUNrPhXZr39CBL6zKpyMogJR94sve62iv9 [CONTRACT_PATH]/opcodes/map_id.tz -exprtb1QBmNfCYjce9FnvKdikbtgqcN5o2VdVwZZP2Fmy8C3TJjA7q [CONTRACT_PATH]/opcodes/map_iter.tz -exprtuspLRSrYnp2FyqNcLfsBrBBFD8nnFog2Em3p7tfG4DcGujS3f [CONTRACT_PATH]/opcodes/map_map.tz -exprtipeMFcMFwYRAmzZBMoUjrtPYDk5ZyhMSyuhSgfiJV5UNAcLGp [CONTRACT_PATH]/opcodes/map_map_sideeffect.tz -exprtc9HPyzpfc71TE4a8UbRPxfdm4WGRPNQhfB5fHiWwkh1aA8uzm [CONTRACT_PATH]/opcodes/map_mem_nat.tz -exprtrkfCSUckShrEP5TmC5Y4CdeU35FFL7R8kyJHQUFZ4DNdJZasD [CONTRACT_PATH]/opcodes/map_mem_string.tz -expruqncptpX6oXeX88mAkVHh9DnzWb6vPwT6LvuND9yobgcH5Gd2x [CONTRACT_PATH]/opcodes/map_size.tz -expruZ7Tb7uhcAu3MhiDJFWrJiYseWyagZYEnzjEdpjSei8i73hsfG [CONTRACT_PATH]/opcodes/merge_comparable_pairs.tz -exprvNxEfUTwaryUzets4qyTbHAfNPb5ARQsMsxbm8CnGNHDedqxgy [CONTRACT_PATH]/opcodes/mul.tz -exprtYi1xHmB1AY6j4e3XTPvXpmuWnM4b4o78yVihYt1i2yNjrQqhY [CONTRACT_PATH]/opcodes/mul_bls12_381_fr.tz -expruFTKqYqMmWSakzE1gjs2p8kWtcRWTaddkYL5p2Z8wpcCfe5ei1 [CONTRACT_PATH]/opcodes/mul_bls12_381_g1.tz -exprvBDM3kep2f7bRkhRa2XWt9sdPGJ79sq6TdWNNnM4yydTQ88TaH [CONTRACT_PATH]/opcodes/mul_bls12_381_g2.tz -exprujbPsZAUa1tzgWNgeHEQ22JXDfNhkgx6sCCxbWjYoNWPbTvwhy [CONTRACT_PATH]/opcodes/mul_overflow.tz -expruP5gECQdRLkmuYg8xqvEAdE4oRGFjDVG3ZkWxtCyxve1jviw6k [CONTRACT_PATH]/opcodes/mutez_to_bls12_381_fr.tz -exprtw9PgkJCxyqdLjuA4dEdRjQXY7Ge4a7jjd2UoU6Q6KrvhFgciM [CONTRACT_PATH]/opcodes/neg.tz -expru5fYi1tAG8a9j2dYT561dXaox8wYjsZDZP18xPa5JN3bUNfHWS [CONTRACT_PATH]/opcodes/neg_bls12_381_fr.tz -expruY94PxNhmT8BeyGrFurRF6gC7XfgsBY9Vjh6hJyiDPaR8nFmri [CONTRACT_PATH]/opcodes/neg_bls12_381_g1.tz -exprv9bM4xnqjA33RkvUzz8ZppJXT32KdNXoYqY2NSh7whBcFPn2QS [CONTRACT_PATH]/opcodes/neg_bls12_381_g2.tz -expruZzA96Rh5o6HBboygY3iD97dgQcepXd45WBBD4DYZ2qcn8cxyY [CONTRACT_PATH]/opcodes/none.tz -expruat2BS4KCwn9kbopeX1ZwxtrtJbyFhpnpnG6A5KdCBCwHNsdod [CONTRACT_PATH]/opcodes/noop.tz -expruMUpBKBPGde4GfNLM8NgMq9nL6KsQXGA3LPt4C6wtMTxcUnE9A [CONTRACT_PATH]/opcodes/not.tz -exprtnpHGyp2TurQb2YzbXBKTipXnrUQ4RrZwPxWfa1yMXS7oi49jV [CONTRACT_PATH]/opcodes/not_binary.tz -exprusKUuYeoKXUAYtUhtknryT9MpbPZVZtbfUNCdRpXUbdzEzbwmN [CONTRACT_PATH]/opcodes/or.tz -exprvG84juZWwLHTrhtvWFWBs8D2wZw6rfpoAbXp2pkekuCMAaPbAn [CONTRACT_PATH]/opcodes/or_binary.tz -exprv39cZxxm6fTcFSbLcwpBbAPW56FPqjdf6aGm21KqGA6DQtwn6u [CONTRACT_PATH]/opcodes/originate_big_map.tz -exprunveMvzjDskHYCvYJzDfRR9aGwwvXkVUMqTwSxJJbEjeq63c2D [CONTRACT_PATH]/opcodes/packunpack.tz -expruKkmmajE1UFXRHXtntLZU8VvnLfFKwYPd4azsAdcrDMaq5zu9H [CONTRACT_PATH]/opcodes/packunpack_rev.tz -exprtk9p4ur3KZK2w8ziFoZVHPABxQWZXeSNowcJuTauL3zTxr1zcH [CONTRACT_PATH]/opcodes/packunpack_rev_cty.tz -expruSamDrL2Dh4zp92cVgfV7ETT7VcnqACDVcvnafi3qgBZq9v3PL [CONTRACT_PATH]/opcodes/pair_id.tz -expru3WFEX5bVjBUkZzuWspLG18hy5jTzbr2WtKEYpfPHGpDFvcqhd [CONTRACT_PATH]/opcodes/pairing_check.tz -expru2U5Bi7ehgkQvP7Qmij4c8gkSFUBNtiCyXMX3WwGjEdRRZc5x1 [CONTRACT_PATH]/opcodes/pexec.tz -expruPr8QtATywJFqPjDhF7gyqdF15L6J7pxgpypzorEvtubdJN8U2 [CONTRACT_PATH]/opcodes/pexec_2.tz -exprvBUenyTMJKwERZ1ULzMVrJ1owqymBF32f627arqtFUzMpaMvbC [CONTRACT_PATH]/opcodes/proxy.tz -exprvPaPcYHvKmnyBMaYXtp6ZuaSEHWr5y92bcroKKppAZvF4RvcWE [CONTRACT_PATH]/opcodes/ret_int.tz -expru8MKLXqiNRYnPccUN4if3VnWfthDy24K4zuJrFh2JaMmmh6Rii [CONTRACT_PATH]/opcodes/reverse.tz -expruta4Bjo3FggDcvZDzEVwzeTcdZptzkJZyFEkdB8suFGbMVtT2Z [CONTRACT_PATH]/opcodes/reverse_loop.tz -exprueR2MPCHUFtPjMZXE57X3EsysuWJXGRz8ZgcPJj21UySLqULV1 [CONTRACT_PATH]/opcodes/sapling_empty_state.tz -exprvSNMswzVUk47vqs4wTGipDb3qDKVUwNBDwXtGzjCprEYx4nWPo [CONTRACT_PATH]/opcodes/self.tz -exprtzokY2FHvPvB9YHSi8MM5YUbPdUPLi7tEKkp8BKongPb2zrZch [CONTRACT_PATH]/opcodes/self_address.tz -exprvDVUQXNsfs9FiHkMSofonWCWcBfYbfxeQy9DRaa5Tnbw1XM18Y [CONTRACT_PATH]/opcodes/self_with_default_entrypoint.tz -expruXGf2YpXKkr74mcv83fQ6bztVD1RBoFXaEnAd9bidnRXcfD3Nj [CONTRACT_PATH]/opcodes/self_with_entrypoint.tz -exprudmJ37Q8ZASPbZSSBfy5UezxLhniszTVkLAB8QKvxkav4gVVYr [CONTRACT_PATH]/opcodes/sender.tz -exprurSxmHBRCHUxtXcqNkPA8UE6gaFeJa19bBhq1CarZ3CZuAzShs [CONTRACT_PATH]/opcodes/set_car.tz -expruogQk6tG5W7CtZrcMzsRtJ1f9moG9y5Qg5j29NATiaSywvQCcS [CONTRACT_PATH]/opcodes/set_cdr.tz -exprvCt5LtbC3mLLWHdvyxGcX3ND21Ym5GayCvePEHHGXAtgWu32sJ [CONTRACT_PATH]/opcodes/set_delegate.tz -expru133Wm63xA1qs5ymovjbP3N3iwPoTMcdUsbUqqbTf896jU78WR [CONTRACT_PATH]/opcodes/set_id.tz -expru151wgMY5reA7WVbnvkHrh9MVnfYFbCDaiE2aTGmkKACu2ZbJA [CONTRACT_PATH]/opcodes/set_iter.tz -expru13v2dm35MgMgTbwDJ4nEwNjRTau8mqztAyxGxXVbHNmskAA2q [CONTRACT_PATH]/opcodes/set_member.tz -expruE8c9EzG6kYQdp5RQXrAt2CekSFXVtKUzNDUnpVTDygEBP7VvF [CONTRACT_PATH]/opcodes/set_size.tz -exprteVcB53uqnwQsZMTsBojwez6tkgRqj1qWCQTLgaQWxQGiNWXEE [CONTRACT_PATH]/opcodes/sha3.tz -exprvPbB5NtiV87RARduqoXtMoRjjy6jX8WYrfiu3RDjQrTKxPQnoe [CONTRACT_PATH]/opcodes/shifts.tz -exprtnS2EjwJ3MdSWS7R6UbZMqFoUHj1JpUhhtJacXdfmmzRNHL33W [CONTRACT_PATH]/opcodes/slice.tz -exprugZMQtZN7safMU7hV5QpM7nh7Vi5ur9sGjeWsmGRkW1ETox8uR [CONTRACT_PATH]/opcodes/slice_bytes.tz -exprvCqvDAp66YnPaZDdaAkCNafoGtw1fEuWaLxMFeMnX6oqrb93nP [CONTRACT_PATH]/opcodes/slices.tz -exprtzW4jh4MgY6iXgiCXft5q3Mig5XXANHn9CmcL8ApTrdnQgWzAm [CONTRACT_PATH]/opcodes/source.tz -exprvD9HJMfLEUdamfH9U8ozBaxA7hYVRMbK7At6sUqFMmhZ6UorWv [CONTRACT_PATH]/opcodes/split_bytes.tz -exprvJcmHwozD2DTtagjJJfyPgoCvBx5bMzXAkrsteYVvxeMr9SWm3 [CONTRACT_PATH]/opcodes/split_string.tz -expruDY992zB37mWpZwFQCrfDbkwmrCmjSHD4fzQcW1z1AeWeW8M3r [CONTRACT_PATH]/opcodes/store_bls12_381_fr.tz -expruZAkBxtwSXuMp6ZDNp41mJ6uZ4bw7RF9HNzJS9EnzTLxVhQ4SB [CONTRACT_PATH]/opcodes/store_bls12_381_g1.tz -expruZfFC7WkBQhK4Ksg5k5WxBamF4PvH2NGCxcd4DHUkKfeqQEBUe [CONTRACT_PATH]/opcodes/store_bls12_381_g2.tz -exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL [CONTRACT_PATH]/opcodes/store_input.tz -exprvStWRo24QuETruMmMqkmLme6UAMHuTRNNq9Lq65oFgUvQmJGPV [CONTRACT_PATH]/opcodes/store_now.tz -exprtZPsTsBtNf9hjv7Yfda2EV4Sz3iaHpk4NkYHcKteXbsyQ9d6pH [CONTRACT_PATH]/opcodes/str_id.tz -exprv4UZUuBDCZZjtW5kaezZjaKqpi1GN6vxHsvQNNkFktnaEbDb1M [CONTRACT_PATH]/opcodes/sub_timestamp_delta.tz -expruVuXhQmoBMzZjPeY7VQSuJxefBBTuPyNR7PGnYhwouo9zKg3T1 [CONTRACT_PATH]/opcodes/subset.tz -exprtkETLPUQ2EqTdgteuJN7XC25xCTSuEhQjz1NJiXWwAPJvDL9pG [CONTRACT_PATH]/opcodes/tez_add_sub.tz -exprugbVFDGWcSSozyN3EK3AcdwtPeES3ao45HNogWc5V8fsJ8NsSP [CONTRACT_PATH]/opcodes/ticket_bad.tz -exprtvedUmBuu66gdQXWpEJNQBU96bnUVQmrWWLAbcdsCLV4Rwa34K [CONTRACT_PATH]/opcodes/ticket_big_store.tz -expruqx789AMcKUYwDeeeRvSnwdCw8gMVvWA6vuzPzBQwBM2qcDXJB [CONTRACT_PATH]/opcodes/ticket_join.tz -exprvMp1LX8aeyEq9NiMXGyD34J4offZDANGRwFTxoEWXumEsDdAP8 [CONTRACT_PATH]/opcodes/ticket_read.tz -exprtvtEFi6v3awAwbHivJkjki6mDNivewiCBeJDJT78PqWtq7VyUD [CONTRACT_PATH]/opcodes/ticket_split.tz -exprtifPFaLqHvR9uGWbeLj5r3YVBnKaawt12q3BMhM9wsUdM9dFNy [CONTRACT_PATH]/opcodes/ticket_store-2.tz -exprvJGjz1EDdnAPWZQ7ZngDNDDDXnxA2VY6SHdHKu8LxqcVHd3E6z [CONTRACT_PATH]/opcodes/ticket_store.tz -expruhNaUWmTNpmFWSXUgf1ZjgcUXmjtXGaMumzteyFYzT9CMmU4wc [CONTRACT_PATH]/opcodes/ticketer-2.tz -exprvPfYzs3x1V67saypcaPGwj5rnuKsb3tFi2VtqX7gtP4W3sjfye [CONTRACT_PATH]/opcodes/ticketer.tz -expruhV9RSEPAtKAUhBbdTw5gPFdjcKk8zr7cVLSsGtmJuH3o7VXXo [CONTRACT_PATH]/opcodes/transfer_amount.tz -expru3MSjYZRmQi3yiN6gYa4X6rs88XLWH4H8ivzrCvxs8z8cJfu4Z [CONTRACT_PATH]/opcodes/transfer_tokens.tz -exprtbACDcFtDfEwsBA5LAG13uMRAjnQsFjzNELMS7jQ87bcqgdE6r [CONTRACT_PATH]/opcodes/uncomb.tz -exprufJpS3BWpgv4QBaBEMucbn1jsVpdqEGLLMfXjDuKGPRGCpZUkj [CONTRACT_PATH]/opcodes/unpair.tz -exprv4ACaZe4aECCfG93NGVVHbQBNQ5Atxtju5vWASZSEp5sLECcjg [CONTRACT_PATH]/opcodes/update_big_map.tz -expruWzM36ATA3fAee4WHDS4vvMeewkwhya1fZaa6HFPbjwt9vvGpg [CONTRACT_PATH]/opcodes/utxo_read.tz -expru3YgRPQBAnTWgKytSMs3tRj7dMgtWUxo75b1pUFrTLscKy2byF [CONTRACT_PATH]/opcodes/utxor.tz -expruF13NKWWyF51seiYv4tsb55dZHYViNWDKTmhLq9b1LXXenwaB2 [CONTRACT_PATH]/opcodes/voting_power.tz -exprvSZMaiMSbKgRYm1W4rcoBGN21bPu8NMQuYBH9ujhXGeHhdtVGk [CONTRACT_PATH]/opcodes/xor.tz diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out b/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out deleted file mode 100644 index 7b5fbede16ff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_receiver.out +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract.py::TestSelfAddressTransfer::test_self_address_originate_receiver - -Node is bootstrapped. -Estimated gas: 1781.962 units (will add 100 for safety) -Estimated storage: 340 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000499 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1882 - Storage limit: 360 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000499 - fees(the baker who will include this operation,0) ... +ꜩ0.000499 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ0 - Script: - { parameter (lambda unit address) ; - storage unit ; - code { UNPAIR ; - UNIT ; - EXEC ; - SELF_ADDRESS ; - ASSERT_CMPEQ ; - NIL operation ; - PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 83 bytes - Paid storage size diff: 83 bytes - Consumed gas: 1781.962 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.02075 - [CONTRACT_HASH] ... -ꜩ0.06425 - -New contract [CONTRACT_HASH] originated. -Contract memorized as self_address_receiver. -Injected block [BLOCK_HASH] -[ [], [], [], [ "[BLOCK_HASH]" ] ] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out b/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out deleted file mode 100644 index 333ff974dfe7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_self_address_originate_sender.out +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract.py::TestSelfAddressTransfer::test_self_address_originate_sender - -Node is bootstrapped. -Estimated gas: 1781.238 units (will add 100 for safety) -Estimated storage: 339 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000498 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1882 - Storage limit: 359 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000498 - fees(the baker who will include this operation,0) ... +ꜩ0.000498 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ0 - Script: - { parameter (contract (lambda unit address)) ; - storage unit ; - code { CAR ; - BALANCE ; - LAMBDA unit address { DROP ; SELF_ADDRESS } ; - TRANSFER_TOKENS ; - DIP { UNIT ; NIL operation } ; - CONS ; - PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 82 bytes - Paid storage size diff: 82 bytes - Consumed gas: 1781.238 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0205 - [CONTRACT_HASH] ... -ꜩ0.06425 - -New contract [CONTRACT_HASH] originated. -Contract memorized as self_address_sender. -Injected block [BLOCK_HASH] -[ [], [], [], [ "[BLOCK_HASH]" ] ] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out b/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out deleted file mode 100644 index 1f578dcee3fb..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract.TestSelfAddressTransfer::test_send_self_address.out +++ /dev/null @@ -1,42 +0,0 @@ -tests_008/test_contract.py::TestSelfAddressTransfer::test_send_self_address - -Node is bootstrapped. -Estimated gas: 6617.422 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000966 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 6718 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000966 - fees(the baker who will include this operation,0) ... +ꜩ0.000966 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "[CONTRACT_HASH]" - This transaction was successfully applied - Updated storage: Unit - Storage size: 82 bytes - Consumed gas: 3946.109 - Internal operations: - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: { DROP ; SELF_ADDRESS } - This transaction was successfully applied - Updated storage: Unit - Storage size: 83 bytes - Consumed gas: 2671.313 - -Injected block [BLOCK_HASH] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[Fr].out deleted file mode 100644 index 8bc35101275d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_one[Fr] - -storage - (Some 0x0200000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G1].out deleted file mode 100644 index 083843a9d9dd..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_one[G1] - -storage - (Some 0x0572cbea904d67468808c8eb50a9450c9721db309128012543902d0ac358a62ae28f75bb8f1c7c42c39a8c5529bf0f4e166a9d8cabc673a322fda673779d8e3822ba3ecb8670e461f73bb9021d5fd76a4c56d9d4cd16bd1bba86881979749d28) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G2].out deleted file mode 100644 index 6e422ce24eb7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_one[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_one[G2] - -storage - (Some 0x0a4edef9c1ed7f729f520e47730a124fd70662a904ba1074728114d1031e1572c6c886f6b57ec72a6178288c47c335771638533957d540a9d2370f17cc7ed5863bc0b995b8825e0ee1ea1e1e4d00dbae81f14b0bf3611b78c952aacab827a0530f6d4552fa65dd2638b361543f887136a43253d9c66c411697003f7a13c308f5422e1aa0a59c8967acdefd8b6e36ccf30468fb440d82b0630aeb8dca2b5256789a66da69bf91009cbfe6bd221e47aa8ae88dece9764bf3bd999d95d71e4c9899) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[Fr].out deleted file mode 100644 index a63259962b59..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_random[Fr] - -storage - (Some 0x660dec4a316a24f34cad26e886cb480da89c55113f5c1a2b6bfdaab82d737708) -emitted operations - -big_map diff - - -storage - (Some 0xa711c66e47a4f376a769f9accfd675dcc6a2b9ce09c0482923c19f8218f16849) -emitted operations - -big_map diff - - -storage - (Some 0x111a13c7d5feb5e8fe5b2c5550d3335c04737fcbeece373eabf07b1b1604bb3b) -emitted operations - -big_map diff - - -storage - (Some 0x366bf41ff7bd7828a3d206500267d5c888aa120292be0cd6399fe4b9db75625b) -emitted operations - -big_map diff - - -storage - (Some 0x86b8dc4aa73cccb08dd143980ec0a4f73c2067807b3b4f2ff96368cb5efd8d4e) -emitted operations - -big_map diff - - -storage - (Some 0x7b83a6a4c37d5536bebe96766b25195e32b69257f3dc2d1e6fcdd7144db0f80c) -emitted operations - -big_map diff - - -storage - (Some 0xac54d72aff4eb7b9acce60a61f8f2ca1a1a387557cd6df2e9fe690ce209eca63) -emitted operations - -big_map diff - - -storage - (Some 0x183b7f72e291320045c63ad9453dacada669ef605e72c708a8735ae2fa7f795d) -emitted operations - -big_map diff - - -storage - (Some 0xb82eba460eb5d8e64d597cca0278098e87f2e1bba06d0fe19f6da2075084c66f) -emitted operations - -big_map diff - - -storage - (Some 0xb87216f6813286cfabec830fa176f2aa127cc1b99b824d312bd8d239c2555d6e) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G1].out deleted file mode 100644 index ae065776e2ea..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_random[G1] - -storage - (Some 0x058026aa05e53a8be99d756ad00d2f3577786eeb07abe3d0bb51a9c6c4786fa31579791ecca13a22e423a3ca2e1d8ae6049f0d41d63294fa63d9679c2dfda2ccc5263bdff7d8f404fb566e3a420fdf9bcc003cd33b7d4a46f1d9a1dd059c879f) -emitted operations - -big_map diff - - -storage - (Some 0x11613e266146d8bf256974bfd8bc7bcfc1aa33d1abb8407d5199c18c1d71bdc27c37bcc64a30f3e39ef8f04e521a099a029636513b15f1e71a7aa6042fff9d1d552c542caa5f302071504d524d511173027aa21ad9d1928dba8a201c9f24d9a3) -emitted operations - -big_map diff - - -storage - (Some 0x026fcea34d1a4c5125142dfa3b616086309cab49e60e548d95de658af4d9329c269dc132bd5d884617e8767600daeee90c6f5d25f3d63540f3b799d291e5df4a90244346ed780d5c9d3afa8f3c9a196e089fa4edc4a9806592e8561d626579e3) -emitted operations - -big_map diff - - -storage - (Some 0x0f048c8e56ad4ddbb3fe800e2667ecaa5683d33a2828c7f9341ed2708f83e1cc58484085399822f6af8f05e9761cb49f0ee1db03e81501d8982d1362518386e77fbcf240d9d4768187ab4727c6b4ede0057dbe0358f37dac17eb2eb395088a44) -emitted operations - -big_map diff - - -storage - (Some 0x114c27c6a72b3eb7bb0176261d670ce20a9cf90a52da5b68faf2013bac314f7987e735ac04ebb1c164a48f60c16ec4be0c1eb74c865b1df94202b4eceb42e22d86099ad360339303463d68c0d931774304fa4c780208abcf1c79640b0c4190ce) -emitted operations - -big_map diff - - -storage - (Some 0x054b5561e8d9de0052a167f4886efd49890dfda073843dee3077c37ccb3d7ad2326970eb9615f318a0851b30aaa7f1150b4a687ddf9672bdbcf159358ea75025adc8584532a046b48d30868ee38dba0ca8a209af29cd791594cfb7e9ae991119) -emitted operations - -big_map diff - - -storage - (Some 0x174e2a1898303aba4520148510fbdc740d8154886d04d1ef7f65c904cbd2171af98345f2463bf26c35576da1be372d680bd755d4c860640a9991cfe703590382c2c20ab7121bc94926dac025e25526ffbb234785bfb6eb5ebd9b8be521e5cda3) -emitted operations - -big_map diff - - -storage - (Some 0x04cf46cee905ad068310d3e0764cba786372efd7eea4a8a2354da24eea26af1578320cc25a5c0dd9fa016c16ef956b071529c2fe97c6c69690675a5484220900d6c48d03976289801f818899416e014e9d50ca19c165b9c43e4de8ee0b16a792) -emitted operations - -big_map diff - - -storage - (Some 0x0ec968f32f75a84a3bac57f2025ebcef650a8ccf5da9b27ca53331eda42ca2848948e8e9cc7588acdc9430ba4051a0c70ada591853bf90ebcd4df22ce469c453ce5d4bfb7d968ba8b85ec48188f7912a549dc7a81f246264da9b355aeb1b0178) -emitted operations - -big_map diff - - -storage - (Some 0x018637aff527610ee1a083eca3f3ad2a989dbcce2a393e24703e52e418b8d373433155bda3bb4664aef12d8cb058932d14d26d519045ce36b21cb50c77373077cced9fc000b8696cc5e035ad7d2dbdf41971c8403bee31ae0a6a36263066b847) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G2].out deleted file mode 100644 index ac1692d1917e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_random[G2] - -storage - (Some 0x139bd98ba7fa37cb7e1ba9177ca818063bd14a8aba77a7f4dbff7a6c848683ac17415104d5c63e46df848499f209dfbc105f18d1e114210fbce28d22f30818e75bc412526a55f7937ac290bf37adadeee6f40b9614b74b1962376d5c3078085a02a53c9021eba8b107a43bdebaef9fddc6a8c8d8c19138d06a332f986f256c32b8f19d5e39f203eba23ea36b4bcff9300dad02b62de4defe358fe6b835b3d93571ef66989530e61090c3db145c389f66ab2ee01e4f05a9ca18fb1ecf48faed94) -emitted operations - -big_map diff - - -storage - (Some 0x192438792f58ae648d5cc73d07d263f0866430fa798d61cddcf35ac48533cd60ceb7e1adaf2ac7475b0819d583b5fe210454a94b83d8a110f699db4c1963dd9bbc1f5b8d1de6ae59f0c5c1d0c0fccdc04d5cfaf901b9c1b713b48938589bd53419a11025e8f61abf088d72b3fe3e3f8d6682e235804855d5a02897ad8ce252fb2584670c27dd81e48ba14d01b09add9e0857cd0cfd23bce8702ad2cf73709debce427df15ba1bd920c941eabc712fa2652e906a1f49d604222410929de6498a1) -emitted operations - -big_map diff - - -storage - (Some 0x14e9b22683a66543ec447b7aa76e4404424709728507581d0b3f60a8062c3f7c7d3365197c59f7c961fa9731084f5be60d0a936e93d556bdef2032cdcae2fa9902dcbe105e01d7ab7126d83486d882c4efd2fc1ac55044157333be19acf0cb7a10bc41c8081c9babd8d5b41b645badd4a679b3d4e1b3ea2c0e1f53b39c00b3889a40306c9b9ee2da5831e90148334d91016474d07e0f4e36d2d51b5ca11b633b9a940b9c126aebf4a2537c18fdc6967fb677824bfa902157e53cb499a021e57b) -emitted operations - -big_map diff - - -storage - (Some 0x139bf65acd684812defe34a647e77d562d16ec07aadc8df7460835bb42e52783265fc7062d24399533488aa26f177f300a05c44ba3deb272a9334bfbd15e3df49169622e8cc739c8d8ad1658769e94f28c36b3ddc608a71ea590f5d956820116019860de9ec8f5257791279a546c6d7efc62ce91114bcb11053f999f5adf35c0f0da321602ce11347567aefe05c58bfc17693d82a530ed5c07e7e1d87d3ac3c639005480f5fc9b9fb378aa693781d0ba8ee097bff01964faa41c9361ae9da3ed) -emitted operations - -big_map diff - - -storage - (Some 0x17df1d683296888e1ef6becb004061a658609faa7aecfc56e09be2cb07f621e6bf383f3ed9eaa5ad6eb4c5ff3e4ac51615cf8e6d23843b1665d6efefdc8024b15651ee05b939f1fc529a5d4233d58ee83cd4fcd07508eb0fa1229bf649db9fb407167c5d410f1f4c403bd4cc234e3f757d74587ead39d549b88e6d6e0e187498386152a981e26a0ecfbc89349db5e5f502e61c367aea8d829cbc8d2441362f075c9245a82c8daf849dde2316fb06127db9eeb2d99a5bfee90e39ac18ac062db2) -emitted operations - -big_map diff - - -storage - (Some 0x072666f55bcd0330329524efb1a8bf981fcb0ee73c739be4b83339fa2953888bf058a115c834ed7460f6ef6e7aa36d0d1002adc9e373cfcfc62f47a6a6670700c749e6df92e360fa0a379c5621b39f35b02c578aea5e79d54f692d2fab9ad7c01527640d6462324d6a137bf7c36abd863f3efe2953d3b1729e8d3f07321af14f38893ca2e61eba4c987a5f7988569c4f0626e86728ce9292df1bd38c5e21b32d329b86f8f41eaa11eac36cc0ddf0b3fba543d94f4d3a4b992eb7e60fe9680072) -emitted operations - -big_map diff - - -storage - (Some 0x152f2b940efd3d2c53640e2ccf881935f114404ac116a54c859c59511058db4d7e2f4369e3e846ccdda94e72e22e06ce0fb52ada3931bb686d52e45ef020b58b9da28f370cd27a595b07eae78ec26e044f58c15cd256fb426e0b862a37bb751212256f5e61ef53dcf799657d5071e6dfa1040b2ac0ec31e18069d2e6e7e6424d09ece1b68a8be6d56dca3de4d467e8a80c395cd9ebe4645d3e465f0263bc100bb9d49dbaadf0572836c8bf03d8c2155068a1f56017864a51e8f4915d24885afa) -emitted operations - -big_map diff - - -storage - (Some 0x0c5ae8a5d7042b893b4600512b81b205b0f3aec3b00d0b2ece549e31c0466f49cd8900270ac48f253e66dc8a05a83e3c0ed8790344651fb0d17ef0c0f86340687e890424c06b5426e6732c3ff837ad4c76a2dfb9f5d80e80eadd024cc4c386f10bc203d5bba633fa3f50fb84140e9ef8c0f7c83ad41b2d1230b8af982e541c07f137b59b71142a4e2be49d9a0fd1212f11fe2ebabe025ab38dfc64f38e724edea44610b88239679e60d9ee151174a3bd1425eb865b8533c0b833577e430ae37a) -emitted operations - -big_map diff - - -storage - (Some 0x127093c56626b5e31114ddc6565ac257c3f5642d4eeabb469c2e6cfa23c713bd87fbccc738eae6c6356eb1bc3e62babc1985437cd7bcf96041d3547efa5c1c5ab0dc66aecae18f5a70055a4f4c518b6f7f31f18709d0a7f37f5eb3cd413557f7164ead5569fd618dee7145ce3b5786a4d5551c63b6936e682e618f9db2aa1c97117369cde387255d063890b4a7c788b80ebabf2427faab4c8cc0a71d467ca7c78cc625fd9dbb48fd485124cdf1c5748f6488a06f1e71b429fc904f249fd5885f) -emitted operations - -big_map diff - - -storage - (Some 0x0e18a45de8e16ce54070d9df1ee055e933e7c65e2d33bbfd9eba62dbcd84c00eca86bffec4f0e02ea6172242243ca205067af2bd83fee2481e6ed3fee5b327e9d7aa95513d1fa3b60093b86b29ae14df53b03ac63f5b0c2ea3df9575fddd2bc7045df4179eb4de582fd6c3955d1947036131eea418e57fa977181e9b7c6af89686f47593bc3e1d9ea0be7c46004f23ce0d3abe0bd9fbae591d5b3fba5ed26ee6756ab595e79f27825afe20fa68d7d6b954356b589c80dc909d5d91c6afed0440) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[Fr].out deleted file mode 100644 index 541058822aa8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_zero[Fr] - -storage - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G1].out deleted file mode 100644 index 86171d904cb5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_zero[G1] - -storage - (Some 0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G2].out deleted file mode 100644 index 4eb3cf08e85a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_one_zero[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_one_zero[G2] - -storage - (Some 0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[Fr].out deleted file mode 100644 index b79e5d1da964..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_one[Fr] - -storage - (Some 0xf09d35856fcfe3dd435bed02f67e1a34b246f9eb48f9034e3bce2a83ba806c23) -emitted operations - -big_map diff - - -storage - (Some 0x2a5cababf8f15f832f44e2a935f029722c2e4c87fdcd3ad1bf4ec872042d9f11) -emitted operations - -big_map diff - - -storage - (Some 0x90bdbed3c04f5a16f7dd885aa2bf82e0688da08f687d29a38c6ebf46631d7a38) -emitted operations - -big_map diff - - -storage - (Some 0xb0df3414f8f1b9b0265f7d243790b57dbf3f028bd0e99707a4ec7c6753ff9c5a) -emitted operations - -big_map diff - - -storage - (Some 0xd908b12f4af05efc5a4fc60806a64be2cc267846d93f2d6e857334c2aa66dd62) -emitted operations - -big_map diff - - -storage - (Some 0xb2a92200b1c95da0fbc293e7fb078961820240c26c87ff727a63fbcd3bf7591a) -emitted operations - -big_map diff - - -storage - (Some 0xa4fcd4658ae7312cd766f6d32afb2a57acbc386000d7a817fb45b4ddb7064c5f) -emitted operations - -big_map diff - - -storage - (Some 0x93e781ac13e039a74b9329fe4c62581e78cbe5f98c3a40ef4aef0afffb52e915) -emitted operations - -big_map diff - - -storage - (Some 0x4c7dc9dffae7cafafb2d713f334576a96a530ed57c5fe4c083130f67cce8c33b) -emitted operations - -big_map diff - - -storage - (Some 0x2a72fa0e849cecab222419ae6b7ef22b21221f06f7755caab4aa0c035d10d90e) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G1].out deleted file mode 100644 index c9f34a120389..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_one[G1] - -storage - (Some 0x03511648ff12b05121af6aee879ec39ded8e895f3bf83c64425c374ed1f1eb022d69b23657d36c7caf3a4680c0ac4617193583c1f57a61b18d61b2584a9b373bb45564b67ebdb884f7fc771ee639d596d343b302872a39a649b25eb4420963af) -emitted operations - -big_map diff - - -storage - (Some 0x01382fcd60894365df78f25e41a72e66a8b82633a94c8aad9a782bf880951b2e77794775bc0f2beb2200896c3042f24219fbc49d8c9f4a446ef1e5d3c8bf0d5da5e5c7480389030f971eef2fe382ecf7017351d7a838456e9f32fc7c32400277) -emitted operations - -big_map diff - - -storage - (Some 0x046dfb65aeebf558d612af9e6efe5aca9332026c0bf584afe7f11166a511a209cb750b2a037f28c476d49c0f8d5b42401479f06b06eddadef2139b142d1f44d4d63ec870a12fd574a89fefb05000a48a0c1d4cad1ec1fb53ffecbb05d2fd1a26) -emitted operations - -big_map diff - - -storage - (Some 0x12f06982de9983d040b51bf0cbbca5c8eebd6636f81c49a4b56d06ef8092126c50a0451931917a5ae0a551b16d0e3fa60bab06dbd78fc6a64f6c9647ae4ea534baf2fa5f08d438399937e4458563f47c1e8c4f0495d5c0f6609492d548310cb5) -emitted operations - -big_map diff - - -storage - (Some 0x0d8b71b72b170030fcb76bc7324fa823f8b59f2cb6b014687620a3d01c8cae25a41c423ff9258524571ab273fdd1783704b9fd0d5a4e1801cfb819aff9297579012d3cf77291ad1a2748fb1727c46fe3d0f9d2feadcc57c2cd495b6cb9314a5a) -emitted operations - -big_map diff - - -storage - (Some 0x016a3c5fff7923ad1c3566886a6dd256e32e69d992fd92a34496ae3667b33df6b699b7805fe732c68c98703e93a2ab9716dcf3d2a244889d3ff2804b9aa2043e7b07398789e39b8ac022606a90f303f176dca030856cc0777c2df1f7fe1a58f3) -emitted operations - -big_map diff - - -storage - (Some 0x11851bdd68f0062a6f4729647cc25af2431689ef7bddd79f82a4682d6d1292fcd7922a697a4fb8982d26680ad4af336004af74b34bdb318d0fdae9d0413065d47a5202903a59cb033460b3d88b942e5f611d542fd2e8b9c9d300b3b153f43efb) -emitted operations - -big_map diff - - -storage - (Some 0x07809251bc1b99439e63008e8d783acbe2fde93625f4175c33db220d96c310931753794535e47d84317de54b035582e9060a1f49de845f3f870a46e7e8939bf2d387f2e6d87f2244cb26b9e153723629d92adaa94f46e1be7458fc45c556fb0c) -emitted operations - -big_map diff - - -storage - (Some 0x0ce4e3355f0a5df9eab02eecb2510de9a9837611481d4fe8e5f803e7c60db5da63a1afb13a019a0f1f199d0ffe87297c01d5cbae9a4df48cef28ab34c8e2a684b1601fe30729e2512e937eea6e4071fb715926508fe1efaa9edf0633a1057718) -emitted operations - -big_map diff - - -storage - (Some 0x1358174de7b56cf42eb7d6ffe1ed41fefed8bacb3b18c88925e69ec8c51992ff84942d2d468d49e256d77c5d38d9d71b016480cb05ae9ed0c549b8446e9366493ceffc9471c206a359d8c9f58351ee2f6292208442baa3cfd09813af73d0b7c7) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G2].out deleted file mode 100644 index d85c23c8554c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_one[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_one[G2] - -storage - (Some 0x08fefb71e4511ed0d6a3bd0409725b908a0c192d13307a72b1c83e586f534897e3d2a7276eddf2c0027b44058e5da8e11911a8bae300eba2295ae0121dd9f78d2dbb3fa6f38f397b8b67dfb43d1c7303e699925597f04c463c55e625b66d0c02107220b0a6af8b1c2f445c396e3920a573e573b90d51d0d7e3baeb7921f35a261a1324fa74cb05cfc5dc3b09c14ea2fb14e0c74a54dd945b8256a69e2f72c084e54e29ba8b0dcaae61f8dded3054c47d0e96eee36c0bb002d2803f7b51cfb96f) -emitted operations - -big_map diff - - -storage - (Some 0x0508c45054a19a896a24fc4cd6f35ff97a3db9375bcd489f2737f4182c6f7dfbbb7412497f3609d417e44934c4ac10b717c67161445629d6d7532e40929c795b8b3d672a053cb59408352c24d5148e97e807dfbca83a3fa49a629b4a00a5a79c0f2f871ff459bfe82b647c864560019a5894f7b0725917bded14f81631f4df52cb88e0d72fb0503d90a562f7b28f49cb00ecf93cf750fb701e2e3fb50a7f1ddb205562a0c84097c241a0491785a8080fcb0340842eb81908a282343ca94c6d38) -emitted operations - -big_map diff - - -storage - (Some 0x128b9b6b5677981632671b3a4200b33265fe75ac2569fd7613357b59dd740e2abb342cd40c3f7021972c2b85a4cc9f680f7e28d1c48fe5bd039569424c63eb9606e7199bcbaf81d3b45ecaee9f469a2278ce9b933961384a21cc547facaa61cc03b6424ecc1f5d20cbec956c93024ed9153c2c3862fdcbcaac5cd2e13806f6ae2ca4d3253b7f712b54c879e26dbf3e5807f58735263798c2c6bc07be9012e4eb586d64021ce5a0ad7ec6dac72224f7a121f2630f07a49e4ad438e359b72c16c8) -emitted operations - -big_map diff - - -storage - (Some 0x040323c862873989f4eb7aedcd6cf03d9c4e6d89fe86ab05767f3b10b988fd452383160f11559ec04b6ad10fab6765fa07416b61c915c55945811dec59808a3640b58243bcdf79cc7d8c5c7b4769118e86fbb5cd9296b6ea8b1009b309f33f6619c20ac87938bd643e0d8fe7f41a2f7fb89987340cc557beb9c499b7ae0beb651d13a16b55fed41e98e8118495d570e3165305df86cd00ab6b884471b0c89c2099731f613bdf07fa5b453fe47edf688b7e340f24aadef705903b4c0abe322a90) -emitted operations - -big_map diff - - -storage - (Some 0x05c66c2a9cd7bff629a8be6b6915f8cbd5b9b50430ad9f1f95ef83df93a289b14b0c069a45e9a3083c8091222e3f44e30b3ed9b7fbec7939db06aad0d5140c7c4933840deb9a514e568e2efa86a4ba835752a6ca91359f8dc20ac43f3fb30a3c04f8c1d1e302d37a0ddf2f4cbef9cc2b317ff16dd818725cb0d0195974992b14ee683afa06101db2acc697ac3f4202ef126995a62e8ae1dff6298dc9f768ab5a183d3a00cc56c81bcf3ab05c17087e66e743d559a4707b23c4b33f484aed3848) -emitted operations - -big_map diff - - -storage - (Some 0x03c9200acd88aa776039333734833f04c3673ef47f8e39ef44a98489a3683f6eb75032a6a5e134adab3b0c06931f444c10c4302c59f70893d23492c5ab767a6f60bc5521aa4ae879706b992726ce64cda1187e26ae2fd0cb3d05fcfa3e8f379902765404f27b2d4b0e22b20cc86a9ab7f0cd3f3f13fb6863ff9d4f26860c3905341d1a267a738e4385270f746afc93260fb6b00fe51f9a34c77e18e99d2c6e21c653eb82450e5bfb2d0d9a40d5e45696a1e1b4e32ea747f1e87500177b67e37c) -emitted operations - -big_map diff - - -storage - (Some 0x0cf8aec4898b6cf6698e74551deb9aac87a11dab50c7a3cbc69b2c4b4b230e9cab2290f2135fc365a6ed4dfaae5504821866a9bc35f182f2bc41a5bc2e4b998385e157bb9b7aab5b3722aa145b45681c85318f45a754c6c324b8ed3be1519ac013f476059991edef5732f11ccef162d314a7eae6aa22d8ab1d63a9d7207bbf3eb73021dc2f3562a7c69326de49e44470106e5429bda1ad096008838511176e879d4902b41cad20ac87bbc36c0d79d424e2a396893566cedfff341354fe901619) -emitted operations - -big_map diff - - -storage - (Some 0x0b9da9500e096383beb19b243b5d02ce37649b33f4e1671d649d8804552882fc1eee23f9fd522b022cabb4c962f73f0208e73a90df86cfcada188576f7f9d0a68b274aa0686402cd6b9af6fa0077d090c7d876faa1ff8222d00a8cd137ba02d31751a64a107ff326767085a8e486c60b604fa734c79935604869499ca2c5a79a8d37fc453c48cd18406e1486b7169445020494338e65c0db9bc80313cd0c4f8bb0c3d797e2a043652d5ee3a13e9ec97b6caa76b139d9e0ca05dcce3318a0ac4f) -emitted operations - -big_map diff - - -storage - (Some 0x091a244f18b87030e2b863c4229cb5e1afe53134e8a49ef8381da6f9a6816bd811cc485d0d9f4af8e702d2473367facc10c88b308cd546cb4f17a41ecf063b1326771b8b06099c402d787fde9f0cc13e837ca584134f725fc4d257ae04aa791d1100b618548b45488a0a0c52831f0f6252d805cc24118a8077d3985011d9afd8524d0dc630fd9c9279187251aa699bb308c895051974015232739452ad614031630ec533cae1f874210d39fda10a3cc34816075703b6e1c7f2902c6afad0518e) -emitted operations - -big_map diff - - -storage - (Some 0x1401fb979d3d7ba9f9b7464c12cc4b299242008ae161e00bccc6d791f8c6c69475eced6fd21f854e1f10e479af46730d08f0ce149b481d41e0862e195794d641337be00ad3ddc17eed2a107d6b20c8abfd109e0f75416f8d03059aa54e1b5c31170a0511c66e5557226619e6d0ddeb786b77fbc2a0e4125d37ed956db6f8eff7238e326d4dfe859f452b9082c21be1c60aec585dc2296b6ba5c10d91ab8235cfa1aa64f11bd5bab8bd9d929e6d0d86e8ce126617376551bc613366fd6e4ded1a) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[Fr].out deleted file mode 100644 index 1774a0d29433..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_random[Fr] - -storage - (Some 0x32c59df1aa60931c6fa6ff2b2d3358ebb570cc673b3519afec797a9a4dfd7427) -emitted operations - -big_map diff - - -storage - (Some 0xf2bff685b56f9e6f601d6a12abdf82db11d0ddf088620f605f873edacd48213f) -emitted operations - -big_map diff - - -storage - (Some 0x49c26f616a9483bbcfa389d8cf7fbe992621180d464407e757114a0804103f1b) -emitted operations - -big_map diff - - -storage - (Some 0x522f644c7566b3ad9445a0ac25b904b76c72434093ac409435d135f6e88e1431) -emitted operations - -big_map diff - - -storage - (Some 0x9efb69b24f277cbd42e5631c2e0ca566bfdaa9d27aa9608741b691fa01ce913e) -emitted operations - -big_map diff - - -storage - (Some 0xf0a71c2682cf211a1c325c530d0505eadc8a18974dffa4619e9b191050540c68) -emitted operations - -big_map diff - - -storage - (Some 0x4b18e93c841b6e6145923e527fd4fc35d6dbd6efba45745dd040a212a93d2d6f) -emitted operations - -big_map diff - - -storage - (Some 0x0918faba389d8ffb1b18345d62186f0980efd1724b792a9fa84e037513b4b165) -emitted operations - -big_map diff - - -storage - (Some 0x9806b79c2d171acc44814af407331430dc012ee27c5e52ae4660e8a3ea967242) -emitted operations - -big_map diff - - -storage - (Some 0xbeb8fa12abe52ffa9fa48d73d3c176a0bc3f8be04586f86dd456e3049dee0428) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G1].out deleted file mode 100644 index eae690f07b7f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_random[G1] - -storage - (Some 0x0572db5547103186bdf2f89953627c1c6ee79da42909470ccdb2b3a63d1a56872fa3f3998a53af08e34f6cbbb5d2ae31134939f276ca6eed853a730194aec002dcda3bb02231e12852a23d52665bbb4fd4c9ca2060976768f294e3a651bdfa24) -emitted operations - -big_map diff - - -storage - (Some 0x19bf076ad1697fb06e3006ba85b7299a58da677178781306ed64bfec71f97195e0fe8e5bbf9bf9f130c27fac85cf0ae102f80edcfe8374130006f99a0415e7debe4e2452084af7a92ec6b32a3c23acb1e936098bde4e99ae33d5bd4f098189a5) -emitted operations - -big_map diff - - -storage - (Some 0x0f8a8b4f0e2bf9e5612e906f9dee13de3a4a86a78779579ae0931938c9e33fabc200051dca4c290d3cda64c46c22d65102bbde334d33cc4d9b77b220848ca969b86a4d3fc828ebff8c154f8606a99fdb6c12f8e3a936b7f717307ac66617c155) -emitted operations - -big_map diff - - -storage - (Some 0x168ff86947fb37c511c29b34cd5683045eae063d394d4ca6fb478be51fd0d51f02362afa2e5b829e161744b0cb44537009da2ef5522ecaca11925bbca35be447402f2385fdb000647b0f97fd957706ad54a89dccc9d91a967fd7d3245699ce9a) -emitted operations - -big_map diff - - -storage - (Some 0x132714e690347a4818aa28078c04a9fa00af5a874f6e384b3c10385edff00b078fdd9b2d24756216cd221fcea02836061565f5e4903c19654928de543888be273f11954cfa069ee8b7b28f1501d723b5cd53a070c99976789683a9ba84ec3f88) -emitted operations - -big_map diff - - -storage - (Some 0x1160d2c1a9468460987e83389d2b14e83da2203bccda6af5698088fba85a70b0f81338e7266f1d2aa35c0c9fd90849cb19271f959b22d25e9d39be01e81ca28cbfd941681141e8494cc53eebf0fed66cf1d9c25cff0acb79a9c8de89978d665c) -emitted operations - -big_map diff - - -storage - (Some 0x19e4f619ba2bed08319d9c6d8233ac67992f979a09c1c2b578f6db33160da265453b6534404273f58b62b465081f177a04b2b5742855d0273a9a4b285040d806ac3c9b4222967dda1ca5b15b701e1cd8ea6d903ba3de1d4b772edd312f5f0e4e) -emitted operations - -big_map diff - - -storage - (Some 0x11cdd047200409941c0c76b6d3bcbd8e213190b4a0129a7bca64383d7574b41465771ecf903dec7f572dd4363595be400ca671f579f590ce3014426b45cf4ad91eaab36cc69b4d594dd60c3521ef037eeb4ecacc4449aa71f26f434e35a87746) -emitted operations - -big_map diff - - -storage - (Some 0x00b2274f474533ac0db515a0e9dfaa821f5da4d22602adc3b63757e0258b237710273f0385067c920250f3ac93e58c5106501678f78b7248129687c46e47737e9737cb4b57bd37495b2966b61239e5fe91946d65c19f948d89a2905f23ba4b33) -emitted operations - -big_map diff - - -storage - (Some 0x02469c3272ed5ff2685c19feeb227f6ac7fd45eef79266e78dc17bc53930ba5b754f94ee6f07c28a0be5f7cd63ba616c0cde39bbdb8e3add322a8d0ced1627e2601442dad06a7b1c0fd9ba9e08bca8866913f0336de0075564dad5ecc63c6cc7) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G2].out deleted file mode 100644 index e391e58c28e7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_random[G2] - -storage - (Some 0x14e6a70d1e489c9feeefc7314994b0207da500737728cc2cd17919ed6d5eae570622815ee576563c25075fad12129e900b9764ef6332c435e56a57c1a46b1c427889456fbc01b6e571ea995e925337e6cdff2d062520c61c52d2377e773ba34e08bc7961bb8618eb9951954ca98d01eb69e56e04d16b7a2c21d8cb74ed0bcef735fdc43e6939c4d4194958ac1d5f70d41407d01b8bf34478d970a86af954f0ec67bad1a95c43ea118b8ae2e9ad7053cfd92b0058755e4dc1128e4e17476a8653) -emitted operations - -big_map diff - - -storage - (Some 0x071616c0847497f2acd699cdfa848cd50527971ba6d99ab2debfaad23f658f233c262e78e4f841e4e24b16a981b46f5b13b2de1c75de619374ce4715cda6598b7603c474f4bfae3201e26ec1a0ea4dcac5bb859067aa907fd113cbb8e12eaba0099bc61dfcb137a7978464d2c4c2db5eea9dc673857ad8dbacaf8a30156c2495bb0f09dc5e6b66c9b9a5245a5dd99afe0e9f735ed6682f0d92af05b3f965697c1e8f4ee5aea15caaa6e6905db608aa78c788554f1d63bf1781322ca089a73226) -emitted operations - -big_map diff - - -storage - (Some 0x0bcb3473d903308ecbf86e3d7339f636944b30ae69b693ee870ce4313dc5c678a8e3efc782df3c143200fc9f9c74da9805e4d15ec9fd45471f05f6a89c234b4bb353f5f0b59ff1c32aa0a53e3cb5d00d2f1a4bbeb26df8feafc8c6eadd4271ee0a479169a73291553225df03876a1cf264fe9fec6c1d7abb9498b6e9fe6f68373dfb11c897c8f4587bb68a73348624dc114b4430ca48f9e93c2ffdba64d0200b6213aa1c30dc5b8ee1ada58f7d8f17209c80a0638dac2d84706bb964d5adc810) -emitted operations - -big_map diff - - -storage - (Some 0x02bfcc6cedc5432b3094b3c3a07f4f5605e396779c996fc4451a148626994422aaa2813f25e971377cf4a79199e6b64c08dfd812339542c370ab0968994699fe11be923f5ffdfafc489e92f00aa3e7b346c15a216f4756318f2e275c1add44b1184926b94b03ff641a4dd7c48a62a8bc95db0e10051542e64838e919936b1dedb53eff5aff762504b52e7d7f29038b9807052c826bb33a2a63a23d97f1ae4631b78597169d5a8c5c7b44e76a9612b4caf931cb991bc50c400ca2dae41fd284bb) -emitted operations - -big_map diff - - -storage - (Some 0x199dae008159f71a8766dc2dd36b38eea3cc4570f53c5a75e1c634104c2de1fae8d08d82d746a32620f9fe735e1167c20dc0f1f29d8cb8c7003a0134003fd6bedbf06e3ca40163ade57d7c58134ccd178132839a421a0c54e4e3d7f1f7f6f3c302b2e86c3571aa93f060ac296490439624e0a65c3793ca193d12a87dd59d9db0ded93cb48dd1bdf2c253d512fa8740d40c60c89c6f6f3d0a1e031e9cb792c42988c5fd2df05221d44f0b98db56fcd3fce8dc52f7aac73e65da92a97edd38b871) -emitted operations - -big_map diff - - -storage - (Some 0x057b2871d7a164fd1ff36b65aa26203e9ead4073db80fd3e65cb11f526c3a36d04fd5d42d77f2eaf8ecbd87d31860ac60702affc28f09199509f4bcafcafc555e2924dc7023af9663d5e2add1febb92f274f7712bd50773cb3c21e058e06842911a67737914abdeb318d01a4dce9de50cff14a385c919d69f2b6dc9a4fbab82e4bc73ff153379aa09f44c9237c28a97b194536cf4ef1d033722ee02f2da4fdd2c22c6aa5876eb5e4632f57b86c9a5b1a750a6ce6eb38a21c9ebbad3477cc5081) -emitted operations - -big_map diff - - -storage - (Some 0x0f560f66aa318954f1a715277e07586e66ad90e4cae0e3cdd99a927c59cf9dd4fba60a1ab352ce417440e078116f8d4e06102984b8bcad27f90712873b678249ee83a01a30b0a8feacfa2bb4b068fa0f0342ad55bd269bdbebe7c5cfd5769098084ea794e5252f7cf5b0fd10db3a17f5fef9c3df9418109b9a269790dc35ab83821d39cd373dd26a60fcac49f57f1372111b5f5e8bfc1c2c921545561a541a1fd6f3e7b5dab870c16ffa8c41a8d1cc91d148f99700e3968e0cbff2f74b4613e9) -emitted operations - -big_map diff - - -storage - (Some 0x12d73c3ffbbb0e5135c89aed8a0bb246ac94ba2ffb79fdf103a7c9e71bf09b67fc928fef16c4013b45b963bad15e0e020c0635fb75638ffe385e578e06098e1ea4e5697a3850fc31f888c7ffc8544c4322ab5fda30c34b6959636ce6db02998b03c35b506840723cc3bc4788c47e64ad00ccf727581c76898bf1b331860ead87f9984965c6ec515f0b2ea1bc1a1aad1a0e9c8bc1799a1777a8acda5dc68ae83f7200ad998be79c35f252aa1e427c0b51c9fb463665acb7e7678797a0e0677659) -emitted operations - -big_map diff - - -storage - (Some 0x12f203deaa2a60bb330227161f38c0104c92c1598751bae6af52102dbbd6c9c4d2ec72155b9b4363d90ec83dc7f9a23a0fca208610b342d53abf1d5729ae6e39806844a6eef99c0df4bfe6eaa8b1216c0dc9e4d9f6c4d1f7f8a323459aabcc78184bf83ce121264be8e3931e50275dccfeb4318b1d6a834fd3e5df9b0f33748ce3e88da3bee4f3111f3c0787ac93891c073e576342224498c6c3fd5055bb3c33a8165c56dc6829261511b573401e707e055f9e43b1f29307ffb9959fb114162d) -emitted operations - -big_map diff - - -storage - (Some 0x1636bb0aa543964f7b8b5eb9c79a168f4840befc80a40b98716f5be1c85587c87d541df53c5344fc43fd59e7bef0192e149733e479d7e718938a4da503972a834f9e2b725430a3349f1d8359add70c286d912d26afdf0bf9ef72290cce771c9e11bd93d75a681fac52f10efe82c86b2a6e08a154ccdf56ab2af2c199dc9519ed94bc7aea2b2afec5cba663652bc8906c02c0a16e0c8d7ccc739dd4e0939dd5438ee244b52cc7cc22b3711c5738ee6a110442a7a75e8c5324b2e0a2c9ec61c475) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[Fr].out deleted file mode 100644 index 1eb6c94e2dc1..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_zero[Fr] - -storage - (Some 0xa739fa15d114468388738a042a2d5c1697ae01687088c0f12b1a9aa08e8d333b) -emitted operations - -big_map diff - - -storage - (Some 0x90d72fcd8feff9474e2e54b4b9dd25693f4165bbd63e9fb1df790005841cd138) -emitted operations - -big_map diff - - -storage - (Some 0x1d88e731f9ace2515da1c8a180a91edc5a582ed1c55d4cfd32eec3124afe754c) -emitted operations - -big_map diff - - -storage - (Some 0x239754a5133c74f2cd2e055471a52aad9bf61d0cb8d87c1a145e52fa4b623471) -emitted operations - -big_map diff - - -storage - (Some 0xd96f5c434bc636ac77a076276cf41025130b480175d4ac3b89b492fe8ce02a59) -emitted operations - -big_map diff - - -storage - (Some 0x55da36ff0ab31698692128f58826a17fe737a5de292b3833f84f6b2dc088be48) -emitted operations - -big_map diff - - -storage - (Some 0x8aaac27a92aca48439a67deb4f7d04a291eaf8df409a966a5cc5938a433c8e46) -emitted operations - -big_map diff - - -storage - (Some 0x75c6cc6c226ce12140160f0740499913a5c2c4788868273b15dca2bd7a6b6837) -emitted operations - -big_map diff - - -storage - (Some 0x800a55193f60eb4de95f6c29ab095ac4f3f1d21a1e90096eba89c4c00f2d8a31) -emitted operations - -big_map diff - - -storage - (Some 0x995fdb626195b85107a30d8d6106e7d8c46af3c8f3f6be0bebe198652d2e6c00) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G1].out deleted file mode 100644 index 5cd37ed9d768..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_zero[G1] - -storage - (Some 0x0e134832be250ddb5839670997abb5d7a89811c1335e7db37a321efe001c35422abe6a14ac850eea1acee01cad17c0330c5437362450b8d760a2d1f0e07fb3dc465a4ef1ceb1b026e6314e5a53a7aa4e7c8e5fc77472c691498680d465c593c9) -emitted operations - -big_map diff - - -storage - (Some 0x05ee99471b023ea35057440bf490170def6356133c85549b45895c0a14f45e450fe1fb44305d57a417461cef5a7132ea137b46dde47bee6177d3300341999d6d3dc996d19767d8c30b8b8425b34230813eda03d6db53f8f2b5e2ac99d0d9aa4a) -emitted operations - -big_map diff - - -storage - (Some 0x0e8cc3b0289c1ec90eb49b97da831d4d9bddf1d3ed02e26ca7328ad618945ca288e736aa7c7c06e59ddd34522765eb5f02ca674a5dffe0aab83d25086876d5a87ebcf4d5903125a8f5c637f9ae0618a1f682d5d18c0bfaeeec866c2dbabbe41b) -emitted operations - -big_map diff - - -storage - (Some 0x16fddca3f0f59d49ba43f6861d71d8f4353f6d43899b14311f4914987ad0fb359cd4048b9dc8db6378e302107296037311ec2289dac6db85e45d3dc93673eb3104711664872dc931d4cfe6fcc6a4afded609a738759078d371b5538436180f24) -emitted operations - -big_map diff - - -storage - (Some 0x114f5bff07e03161a9c9fdd20fbb672a71a9aebe2c187e821d4005129278d5d5c195926c7718afda76194b35943339a00efc8c4c040e9b1dbad9ed20768c9c62e4dcdb680bc0add60b218bb42328a116d3e43d579024dfdb4df0f1f0c016d8ec) -emitted operations - -big_map diff - - -storage - (Some 0x0cdd83bdfa776066c37697324ce0a444d064ebb079d99fdb2c03e63563030f824fa95bc7e1c10ad14cd6362857e9a0010073d89e5fae09c29ee2d1a6e8770f7c5a19be2e2e465a50539833b1a463e24d3ea02c606c5990cb8c892200b6e3ec55) -emitted operations - -big_map diff - - -storage - (Some 0x05a3fc74d5c1f3a883631ef0fb7bc08705e85b62786f2d61560ca231e6f7178d10d6c9a97ff5ef4218046e66f9142d1314d8e28bbba2db0f505669a31b4ccb4cb08aab73e175871139b2fff8cf687a0affe2463f0cdcc88f51a4123434533e79) -emitted operations - -big_map diff - - -storage - (Some 0x039b2ab4cabbf7bc5d0851aa4034d4e478e6350a6508d54fe37232e92e5b673ba1bc14db53ebdb317493c9fb3089a25f0ffb75f9a4da47eb6e54be326a07dd56cf8b57a52d49892669f79922569eebedd0848b172deb497b959855b85d66a8c6) -emitted operations - -big_map diff - - -storage - (Some 0x08fe5a710347c0b1a5f1f61c9268778af2611a42f883479e289f1ae28ae1c15408aef3943b951c8377b6a79faefbfbf2150c7fa5f938156c3d8f27b7f5e5143220f5e0752d762ab54a53d9178f4112eddebd4daca6a585cc469be1ab4f5d5ca2) -emitted operations - -big_map diff - - -storage - (Some 0x00d471074aee131574be07c9b749d7bbd09234578fb2acb4a248e6583564b341cb55f2a2b61a227a093a0dbd4bdea67f190a01cd3614435914153e782cf7332911ad79c48a1dbcb8072063f834347441530091809be2c15692b8c0b98ae646bb) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G2].out deleted file mode 100644 index 5f94819788d5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_random_zero[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_random_zero[G2] - -storage - (Some 0x131c7f76cfde58ed74ce8c26a4e9c6a6e135fcee1a61a41e5c0f2f33a718d6bfcfb7de2f43d98608b68dcca040c217a6007c5a33c5bb8d523634469302348d23df90d150b28e4f41f1539afa50adf951126233146e4dc98d21a0de35312571b310696279b7105aa5830ef3cfa6df1ff1379f17b24ab561c899e3fc830942e23a4b73019b1ef5110baa4068ba2e8b4c2c09e3b16b0894333f41eccf24b96be85a0d17ef071657b1abfd6fd0e7878aa55d3a5446a9c0ee5b5c293ff8d3cb4722f0) -emitted operations - -big_map diff - - -storage - (Some 0x09de05cde8a5a7a1328aac8335bce420aa41f1077e3be4aa51f93b3a8e822423ef67d263d8042a65bcd89e0091a6b3dc03727a50fd6fc80ed0b1078e81560e759b8013d48261a2cd0e65bc83b9a37cd8e952bcb6a63e5c9ac016d7d588915e0d0fa9247132b7488528ee8f136bc9026f8531c5baacd1647a768bc801e726200b34fcdea976e82d1633e1da82a36cec580f8f3e197860bb36ff010e747a361c54f11003d33b6d3c8c29eaa13be92034b2d9e04a1b6e81fea1911fa8c8b1010b8e) -emitted operations - -big_map diff - - -storage - (Some 0x11d76ee03154c0ee80237e9d757e5fc6fb6f0dff68032489db4edfa4a79d4a2ad8af5854d1b80e5eab6046d236bbc97b16a1dbe3dfeac51233c05fb1ce011cffa48dd38b052ff81783cca048ce5d7c44743a57feceee2512aeeb75344fc0123a18459f774f0e6474bf80a154a754e3abfd281dad0a967cdbfe25e98e8d0a22a41c41f0822fffcd3d92a519b40d48f9b109f79370c21568150d9dfbbdbb3187605e4e675280fdc6de9689de0c82083da87a4a776efad2beeb2b2a8e238faf0543) -emitted operations - -big_map diff - - -storage - (Some 0x056ddeca0596e44d080a38cb233517d706f5529482d8e7cf5618e2c1b17222bb3cf9627173a05ed34c19e925244c775d0bae3e10aead5ef97474d420845b1752c054222387e5767797f2ecbebee3f002e930c7ecc666719760a2a7625590d2261360cf5c50023104c36e79765707275f0517283f1834b3b378946f48675459342b701b5d421af115764b639736ec666712e9e21a5028fa9958afb36e610e74bbfe0db03a3147409e11b2d12e45513f0ed91cae918ab723773aa1d16956754b7a) -emitted operations - -big_map diff - - -storage - (Some 0x016319cfc0cc2f9682f2171aee2448828d2dae206cd4eee18485d4d528dbe42d91331c54b99071c54f60852279bee33408843ad79e654427d875c5ac932a82596e88bfd0ed1e7bedeac67cd6d260730a1bfdeb7ee072c10bac1536b77b89ecb614f3b216d3ef4cbf7d12fb26d61e5e3b50ef7fde0ec13311606c55ec631935f5abe99ffced1ff1879df289694091866f088752642b4791b742acef63b6c7068f2789c7a5c37c5b923c9f855deeb15af919537ebc700f0754a5b3cf76a4aeb585) -emitted operations - -big_map diff - - -storage - (Some 0x0487d5eefd82485134b6dc3eb070ad29f24b283e66b21b7ab89dc9837833d577282d6886900daca411e1251851c6898a14540427013fd1777ff4bc6caa17c499b45714fd944c23123c21996f08ddf9c841be93bbc3b427f3e97bcc96f0d2dc80076e1cf2b08d1e061e5dc05d04a9700f0f498c55740cdb07513113481cb2be4ec8b2445c06207bd49199f8784321e3e6188f33ed153ccd194cce9574678af873a515e2fc683d1e949131ec946e212e80c4b48876ac5b4329ebd66e30c3e64716) -emitted operations - -big_map diff - - -storage - (Some 0x1825a997ebad0d60dff12bad0b182818c5939c85bb90df49815f161f160c34b007b765d5f45bf8be5714f5687e8ed52d0067d80904c49cf9f9d7a6f6b6748ef1722a4fe7e5c3ad6e4535188dab7b4fd756e024bff36798349a6b3796d4e0eba00e4a44260a6527af74bc062df2fd3d922b04052e654483234d944edfa3e81b9432d16b804deca1690a2a6ffd276fda7e0f427e3315cf2555c0d3d146715393a24939b0bf36d6284c672a212f7e7902ee2e873281d396290bf26af6b3a330f058) -emitted operations - -big_map diff - - -storage - (Some 0x14fd9f5cb51b90075b3250c91c45be2eeabc425584b7b451539f238c191ad58c6c364020ec6a8ae1810fcd6a894999da065bb45ad11327c28d9bcb1fe85d45b10a2e42fbb1f3eef622a8c261e52ae5207840c8805fd2b8448c7f97aaff8bcb710cba0f99825e190b5de72f359c21058d3a17a30799f1d1552dd1128aeed5ef96ba586e62fd71a004cda332362df3d70b15816951c6070599f40ac6a1bff7d8c21744f00da365ac6c2b81e7abc752a01736e089226911da70e7b908a130af37b3) -emitted operations - -big_map diff - - -storage - (Some 0x07c239bc8ae325e0ea294eb2d7a8134c9986099cdae78224b2326f9d419769b065570154776fa16b98c1b5bf2f69eef41403ed7557754558c686ad6c00cc61b386f3a2a8185d1738e9c6ff6cdf9353ae1a30265ed02828a2979de0e8f10b15d3087901b1d719a2fdf367564719fb05a9196c282f244ef434090e39ff091feb12c45c117c2d68e36e8bf37aa7b7847213110f3424cea97cca09e3939d418883ef7f394715e5448f833fa0ff61ebc8c9d9fc5ecbe8d2480f4955cda3097cd72289) -emitted operations - -big_map diff - - -storage - (Some 0x070a718668a1f4e692191f9a7653827f6051848cfa72df0c3e99fcffcdd9e09267f8e6711948b43565699d4bf02feb0f0faacfa8e44cb5c50d2d07a54c811a0fb86a1e0f565efe32ec11bc147ec6f8073067c6330afe0c5be6ec5962921f58bf0b97bb667d15b6b0596cfe29f41fd994c1ff7332dea6699dd72f828593485a97d72f8322ba503653a6a82a42dfe68eb9166bfb6fe8478bea584d01d252c7e256bbae17b371a8bb87916ddfdbcb28ebb7f4670ce1dd3be5067e38b0e9c9f17140) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[Fr].out deleted file mode 100644 index 780ac5c52e9b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_one[Fr] - -storage - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G1].out deleted file mode 100644 index 9cd17da92a7f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_one[G1] - -storage - (Some 0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G2].out deleted file mode 100644 index fbdfb35b7519..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_one[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_one[G2] - -storage - (Some 0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[Fr].out deleted file mode 100644 index 8b45ca6c71b7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_random[Fr] - -storage - (Some 0x6b1f61b3ffa8e49f9a840c0f4114fbc6061bf98a51e51fe4a396f041c50f5e02) -emitted operations - -big_map diff - - -storage - (Some 0x0e4c13a518d43c1a04ca2b7b16ca21d8f2443a861e7b6184a85cee5892916903) -emitted operations - -big_map diff - - -storage - (Some 0xa18e92f24830c77e59167062c6e8b22c08b86800c498b932bffaccb68fa1b934) -emitted operations - -big_map diff - - -storage - (Some 0xa91c486e8bdcba53453336ed752ef9b214926a2b3ab452552a31eda0ef3cfd3b) -emitted operations - -big_map diff - - -storage - (Some 0x0b9fb344957ac93904848f30fb9c068ca7c9cbdd6006445489226be02676026c) -emitted operations - -big_map diff - - -storage - (Some 0xdad4e76170b71edf3c7ae65a00659f332dfa08e9d2cec5a632f8100cf938ac62) -emitted operations - -big_map diff - - -storage - (Some 0xdcb9d72844fc8c9d4e25acafc2c1945f1f8b0556817c333f0e6c0e5c932f4c5f) -emitted operations - -big_map diff - - -storage - (Some 0x53745aa1b2b2734a0b038307fec0d0f20e6ce9d512a4ccca1ce49dc8b294b93e) -emitted operations - -big_map diff - - -storage - (Some 0xb1cc9dcc3ba2a71687b388d23758da47c067e1fa6f0b185fd5d39b9050416a12) -emitted operations - -big_map diff - - -storage - (Some 0xdad6443c3e503dc862ecd96031f0f5c40fc4560b73313dc153bac7118338aa14) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G1].out deleted file mode 100644 index e80706b33e83..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_random[G1] - -storage - (Some 0x043d39d06dae5a1faa8e462a13a7254b8ca438e47c7846fbeeef71e44379e7df2e29613e18d658ab0da4547b4f3852590831612b23e928a01f20857216d823ca7c5e07fbda46923ea626380c4c95cc2046b9b228ffc599eee8ae2788484a1e4c) -emitted operations - -big_map diff - - -storage - (Some 0x05b38be001d64a2d9e17a27d90e29b9f8f8bb28c7c8720371e7f72612f0306a97162cad563ee5af54df372c89035a2830404865f74dde79ccf6640806f47cfa66373656335a4ad64cb383ee44f339707678730d141cefb643ae5a7ca36fd2b0f) -emitted operations - -big_map diff - - -storage - (Some 0x0f644fff548f117895a24c9e4345c4dfb995caaeb5a01c1bd8092677f0dda287a03d7c86b0cb50a61739e21a5950de540abf3818624bd6f162d808aa8ff6b9993ce584fecf10d3aad86ef521545f2b5dc76839620e52d27f42fbc7d9e548b250) -emitted operations - -big_map diff - - -storage - (Some 0x0dd72a72f8dc7d26d4f54ce50d6bac81bad784cf2b886d5d2ff66a06f5358e945c5c70b81693ace7d21e6fdf8db436820d5f1d73d015e5799f7fe9a1e4068fee0e6874f3e8c56f85f673e0b1cba80511b1f4bbc02d8461b2919bf8cdbdf9a051) -emitted operations - -big_map diff - - -storage - (Some 0x0da1488962b00f17e629884dee4f153e0a717af426bde7c75da0f5067ea5e63297ba068bc230e5179081af8a23c5d5b618f5b3bdae5915cd2724687e228a4c1843578a0c2aa2297031745fc1f3b77024851cad2bdb815197fbc1d76e7dc17e7d) -emitted operations - -big_map diff - - -storage - (Some 0x153d1e9eaba3bb00055584ad97fe9b49fa83bad011d1b97598bfac9db9c54a8ee0152887ddb42d1d46ac4d4ff97da3210e5d38c8b1f74d70b56e94f953a289ca8604fe6731498987c3bd186fb24f569a0c403c0173dfa6765f1cbcc75248547b) -emitted operations - -big_map diff - - -storage - (Some 0x0165ba92201bc7848e74e23c842141407b407f09ae7922e01a290c4268579c84f2a3bdc20a8a1005e9669064ad2e634405e460b2eb3026d92cd2833ae7d1f5a009756ac91c58f2ca88a358c9312de31f9caec97acad38cdbf9f1f8c844ec23ee) -emitted operations - -big_map diff - - -storage - (Some 0x02bbf3966383231f6c0b5a0fd62240867a8944331afa0c6d06b5f1bf83d3c2eb5a37edde3f51860afe887526e343fafe007cd4b0abe3d4868391ccc730e997525108e17740b0edbed0d1cc15bbe411f33e35232ae16e79c77b6acf22ae67210e) -emitted operations - -big_map diff - - -storage - (Some 0x0ec1ff5c67f23f47f82e834bce1d48e56e76b78f42d7ee530e660718c3cac29f207d58aa4c231376f8a8ea4951f37d680991eb20bfd4c9033acda6621b2861bcd983a1066f6add9510215cfe0e66485e6433331232d37d944d1cb56230727b1b) -emitted operations - -big_map diff - - -storage - (Some 0x0b020051cc583ef24590ef0626e7bb42d30556013f5b490c78bd1c689c759e04e3865f04b6807f9b7a52e4f4fd23a4a70684f9d93f58388210075b8de217efbcdbaa41c4c7126dc925c1263d36953db065b15d7fbdd248857651db0f6229ee89) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G2].out deleted file mode 100644 index 97eb020d65b6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_random[G2] - -storage - (Some 0x0a8801dd5d45269185fef3af4c71e27aa302f843c4f75ce58267d5cba2588d63e240629f85cb551fca316f32709a3c6e02487c3309ffda4098b64d73d16074121a6a8bd6ffe89151c45ddd7381e05b7243db96e4f6edfa06c57d0bb0265b20bf03d1c067162e0dda121fa11b9c7dfbd14a027f8b5af1630ab703a146b9a5ec97e820133a732fdf0f438814a693e77a820edf72b5820459bcb682af727b7590463ff39b863dffd2a9839fca3f6530b13942c53a5ba928be5b039b125b88716729) -emitted operations - -big_map diff - - -storage - (Some 0x0afc630b73b1d1b407c89c797f07acf80710dfa9ce57b46722e7dcb8a43a847341372d2eedfd6c2a3c42305306ed468512fd95cfceec1194d749b13948f699beea5b33aeacb902d2e12a2b65e9589c57d26251b350edd142cec634b23a7318bf1553647560e99b285b82153ba4f70fb7c3f494fe5cb65c0b7f1446adedc646d14628f45b4b8d7a22510b8551490b04cf0a0103d13a5deb5d68d32a85189cccf1134dd908da9ea8ee034d067f729d892bad11a45113f0e5f5ab25c021759417f2) -emitted operations - -big_map diff - - -storage - (Some 0x0b8026c50e2cf76e4fc00cf25ada386641261fbe457250746098edbe44d28eb0961b4f4aa7d3d3f65e0f3d0d92a131ef17cf0aa479c55d0c529b2ca05b8488adf9dd829d91f0bec387c5e91ff7082678c6e76a74649279bb327f3a4f3cc73d80104e0f1880c6647428a0b7a5883214cb46255a49c13cf4d8106818b782078ef1007f7e34790535e97ebf8b1cbf3b723317b7223c824964da23c4b6bd421a76603c0dfc8f2779acdea5cdb721f71dd9fd44f9488ad519057def31360c1673e5e3) -emitted operations - -big_map diff - - -storage - (Some 0x0fd3a77a6a919626d31505fbf7ea71d3f60b78dffb1b7232c1b3569dbb67381aa9df4ab99aa25934912112b2b9f1612004b3c9f71504341d8abb591f6d7ba5b9309217467d332b6ae66d634937a112cba73009befc554a2f9c6701d65a29e8cb1525e405ef803bf935000e2b0ed5b7ba1106dce0369069391fda557b7282e7ca77513fea88f364dbfb17ca9b9c308a860760a41f8268069fe3f9f84002add2e2e14b6a4497b3ef826fc885a633050c1d9852e942006aeb234d2944e17a5afc58) -emitted operations - -big_map diff - - -storage - (Some 0x00ea54ce4ab2f8cea7e6f172c249638844225c5e72980030f45e5645680d9f2860ff22d0310d7e2a39b70b2fd2e91fbb099428b8e20bc8895f9e9308b66c8afaaa06f1bea33ff8dd55524d1206e22278e1e4b23aa1eda324bd1446467a995f400fc4d7ab9df219f5af91a3bab904077f36e25450bbbe708f5f4d5a1f0fc3383af24a86ccd3f424bb1acaa65015c0fd9e0e5020e8ac03981166b9ced9b74e0712424e60950c9a774daa4d2677290794c5a34dad95b9e6123d83adb9dfb84acd22) -emitted operations - -big_map diff - - -storage - (Some 0x1667ce729e66b328dfddd67b3308183f2adba83792b637a9d6a54ee5c520f4a84b6d4446e906650ef19be90956246a12109589b3b1c2694b39d3d5ab8a3d2570e70b15a3ce81fdf28b488f90fe54809069b3143faeadf4392fa41b0178382e8e05579ff476cc9290b1847ed3895beebdc1c2fa106cc097ad369d2652b57feffee233a9f8e879164a649e59b7cb22fbef1252d6ab8cf8376f56df57627a064a206843d58ea6fefb53a07088c93786d13f47a91a07839b58d0d230598709bf12eb) -emitted operations - -big_map diff - - -storage - (Some 0x042c1082a0a914a892b975934ca4b161aa2b2c3d45600fc565d71047c95b1e6f0348534309ca6f506f74f1089187507f099ce83b41b120cd8b8d7a6bfec0cfbbeb90a5936ca9dd386e2335eb8c12f9a84ad4ad2a1ecf69bf05427bbe96482384112b2326686e63c03d9f3ded29536fe476366b1ec177c016370ad1b21c93970dfe04779be2dbdcbd1a306f5c6ca9f5bb0629414f83ae3549ab79ee283fb0be885a9706355efc1aa0d0ae6243118e7ac6cc8303e68d0afeaaf6add5d41caa7b57) -emitted operations - -big_map diff - - -storage - (Some 0x191f9cec71fc06393c562a77e79041f3851837dc39efa4b458bb55b6f89e15c8fef9dbadb3f75b4b9873c094503742210deb4371bb8293c102c122bef0c8972b6dcb4f9add18109234c3b94400e3e5ceb52f59beb33ca036c89bb60ad7b629e80ffff89bfcbc65f23e1ce932cf2992530fcb0056901ea31cc425585fcd63b444e2ee671eb7109b0978d23a19ab468387087dda6c1354fc4b645d3f0a6975eef41ba75a14b4450db71f4d899e71d4fa7a52b275b06e1ffdf36f539244c69654de) -emitted operations - -big_map diff - - -storage - (Some 0x091703cb9cd4ba012c631f8be02f949e9c488987c6144dd8a1660a4eb65a41474cac5edeb65824214875ee21298fee01083224b8cb2bcb353c47a796567b823aa8075d28e9e8ed55895dbdbfa8efe589c8c58218308bdf4d7737b27b0c6daeae17b36d402a7f7ea148c3fba6ec80633d64cfce6b31d055bff659b875ce0b513f4bbfd5e79580f1a5d896e551f082ef3912efabf6b0dadbc53fa3e03aab4817ad547fc2877f4850ed5861e37ccc29115c203f6c92154a84f898ac1fce677f702d) -emitted operations - -big_map diff - - -storage - (Some 0x0ed6b993962b955b8fbd1b7e7207ee2faad1460282274305837f89ed9081a405ad1a088f9d46487015b082db7ce3c80f09408e6d2f2e02868d1be1dcf067c8143a887921dc7098ef4c116800562a2786611a65b437ade3db1629d5eaf3b8eb56199fd734d8017287f5b24d4b4f0afae0cc86db7e751d2e1cb25d06f6bb3c7ba69c3b5d94a6913e9e1c8d870fb1a4470a1864d95b7519f8d7230465df4fc23e7f08fb912a467496a58b024b0e82ea5b8cac35aeceb1509db29b2f5bcde0c2d5b8) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[Fr].out deleted file mode 100644 index 440c9f6add01..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_zero[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G1].out deleted file mode 100644 index c66a2c8896d3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_zero[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G2].out deleted file mode 100644 index 4bfeec1eff0d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_add_zero_zero[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_add_zero_zero[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_fr_bytes_parameters_more_than_32_bytes.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_fr_bytes_parameters_more_than_32_bytes.out deleted file mode 100644 index cbb912c6a73e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_fr_bytes_parameters_more_than_32_bytes.out +++ /dev/null @@ -1,8 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_fr_bytes_parameters_more_than_32_bytes - -Invalid argument passed to contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi. -At (unshown) location 0, value - 0xf7ef66f95c90b2f953eb0555af65f22095d4f54b40ea8c6dcc2014740e8662c16bb8786723 -is invalid for type bls12_381_fr. -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_groth16.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_groth16.out deleted file mode 100644 index 122f9726a8b8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_groth16.out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_groth16 - -storage - Unit -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[Fr].out deleted file mode 100644 index 19ae1b5edb97..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_one[Fr] - -storage - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G1].out deleted file mode 100644 index eacd3c57a139..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_one[G1] - -storage - (Some 0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G2].out deleted file mode 100644 index f66ad7c287cc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_one[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_one[G2] - -storage - (Some 0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[Fr].out deleted file mode 100644 index 1e61d1006249..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_random[Fr] - -storage - (Some 0x3a14168aa51fae4ac33e62e94267e61ced8f00785e295c9c7125b881afbe111a) -emitted operations - -big_map diff - - -storage - (Some 0xe842c1ffe3c767806c91f42120e27cda0e3578a1c52c53e1b33a65cff1e22b1b) -emitted operations - -big_map diff - - -storage - (Some 0xeafb8e3cf1e223497893cdc3130c6c13aa7d3d3e6a3502034d19d3ef4a39ee18) -emitted operations - -big_map diff - - -storage - (Some 0x614e3f935e4b1511d8b63143d2a7e3bb2235c5f1b1a8597f44347c4ff1e7764d) -emitted operations - -big_map diff - - -storage - (Some 0xb34999b9256eb7205c0303553559e8b14668241277fc207b21ec9aadc4451a1d) -emitted operations - -big_map diff - - -storage - (Some 0x307b86cff0794406b7e07ff937fa843c09a4e0dade758b297e39569dd41c5b04) -emitted operations - -big_map diff - - -storage - (Some 0x6322ae545e19b2b35e4649e021b2025caa9df47de27b69e023c71e349fb8643c) -emitted operations - -big_map diff - - -storage - (Some 0x36d7ee80fb7f1e6bc31f1384ed67d8c5b195f4daf6ca413e64703cbc4e9d0d53) -emitted operations - -big_map diff - - -storage - (Some 0xfc6cd59996ca5aa047bd59b6001a43e3777d9b19ae65de6ce8c2ef7f52cf1c4a) -emitted operations - -big_map diff - - -storage - (Some 0x6e9f624533c9bed9c971db028e9bd5ad034d25d38f1387b090a2cea2685fcf16) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G1].out deleted file mode 100644 index 709d183c92a3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_random[G1] - -storage - (Some 0x0e3c67b12372907bb20da67474058dd766c165200d525b1e0ccb5ff5e3f2c8ab66ce557601ee6f39a81d7f89715e350303ca13302a0866206377c197d62d8e5149dfe3b944179af3646b886a0bb16b89e9864a7bbf89f18d1177c1c010213e4b) -emitted operations - -big_map diff - - -storage - (Some 0x1627a49ada91f905e37da3cb998e77177177866dfa21b714e8e60a969d993dea22dfea1468ec27bb502abffecd297af208a8954ec9b70cce4b5f045e9ad030e1e3a9e822ba31fc9ecda63f7483ed87dd251c117657f331ed316161c22ebd9a8b) -emitted operations - -big_map diff - - -storage - (Some 0x0044c4f40be86203e6d9879fe49fb510b1e40b1a58e26db3265f5c62b49ee1311f12f1e8fd034be3f4027c1a5dcdf0610a721358155dde11af7e315a1246f483973321095593a72d236149904a4761ec3134b482ef46851052e78e24fad5fa2d) -emitted operations - -big_map diff - - -storage - (Some 0x140bc58ab952ed42a4fd28fef1f76f5207f8202f15bb12375d8a4102a6c9323cdf80dca17ee79d1a80cb438b56f75a901822447a54c0b4858e2dbede0ed4634ee0d0f190c2b0f347247da09edc81cbbfcf2f5be25b842cf1777e151582ab797b) -emitted operations - -big_map diff - - -storage - (Some 0x0413f511b1c65f6a27766c69d4518eff63f9bb913feede2c82b7943f620feb27772f48b1a8b0196b88935a8b67eef112038f995b978f71a5d2d0470d026ae5c786be0ebe748045399a688f550e4950f2b5e0bea6131466d72a8eb4c6fbf2f750) -emitted operations - -big_map diff - - -storage - (Some 0x00e088d901aec4f3701eba2206c722276395202270c2a66471a5442861ef6ba997f2b12686e7b5413b24db4aec0babb207e5f81cccca63d939853e1b389695d58e907550fe6e4b347d870ab526b2b7667b888b92182366b5300314dc2fe305d0) -emitted operations - -big_map diff - - -storage - (Some 0x11641aa9417f8eb1659c74cd4a8f180242283634c5b059c497fedd502fad9c6fa00ecc991e978260a7452e79735d5e101559382cd1f3f92d964dc8a3f54b8d7dc37855650bbe11fa9b5e90881002b290951781aee93495d0e5703b35db31bf38) -emitted operations - -big_map diff - - -storage - (Some 0x0804d36e490be2f867fcc99338af37df61df443c73e47bd18f4f6eb8748a31ce403bb3a8aba27f281898a5f8e72f6c4f1321db8c96fffa9893be378e259ea6534fa1aa8be504b3f896e2af2a4cc53c6d017dcb587700689d81382f1cb1013f55) -emitted operations - -big_map diff - - -storage - (Some 0x1843835c32147cd7191e2f2aeecfef744f96757e1e5d2427c7cbe351d2142bb5723dc61b6211adfd79d335d632d72cb10d2e0686443369c8f26dd290b98af5e8d892a4085cfd7eac21742b783c57fbc5ee5a5a89a5b2a03ed732a0271bd2b548) -emitted operations - -big_map diff - - -storage - (Some 0x0d8dc00f3ecfb62c9e9e4af0dc3392fc24f2861de4e609b77d8866f561d90904e9e5531b5203cf646d5a22c4a26885520de353e43fb6cf32bbe12b2f243c858ecf9c388cb02be5b935ff8411f76991c00411a40a990d63af69902d0f3dbb18ee) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G2].out deleted file mode 100644 index 636547d045e0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_random[G2] - -storage - (Some 0x0d95415b2c0375d132c0700938c4590a75498165c923d00317fc3baf5048081b92995c9f651438490ea51f47ae1f871d06450ed22ec65658e7583c95236d3224479355196db6f0e0f8edc6c26c6d1e7c6edd8fc0217d86942a0078705c2188d90b4ccbc374d0076cbd6d0f9f01f4992fc87e8b2b4e17d3d4c91c14e3a0eb33000b34a923350c7a7c6f72f04d64db00320cd31bba7dea1243ddfca66e8e14fbd2b233c2201b43bd099e0f68cb9ce347cabe68ab4f42e972bbcb834d9d73da0eec) -emitted operations - -big_map diff - - -storage - (Some 0x1953081fd90afdd618ed308d2e556cc466cd7c0bdc79bcfcf25b96ece923fe8517e72c98034097d9eee722f737e39a41113223084fa6fd9daab9efb9e0481087c30f3cfef3e046fc2f1bab2a8b142a94335ac957f8521646fe4925cd443430f00c90e874ef50eca42050742f7f605d0f8cfe00c5571a2a99240b88541e3a7c08c91af2bc89ad29b4d397d10d42c93e9b0ac8dff1d86ad777e8b5c6f8880411a139155e8ffa1708e085972bbe6d4d5c4f39415e5ee902c3427d54ea84334b7ff3) -emitted operations - -big_map diff - - -storage - (Some 0x06a72dbd7d92de83d95290f1d7e8923e0d8e29eb84024b18fcea2097225481c29fbbbe7d030ff1b4018f12418b9c28a60728f0e17309868072e1dc188bc9548e4f3a0d4fc35ea2203f42539b462b7070feea8293fe47818fe89809ad977179620d727fc335198a6ddbb9e4ba25def0445c22c227bbd811cb005828b2d42024d1ccba6c20d5987bfe9ce114ca112c04b50d142f815aa648bdfb092e5509b72013b6417e6f5b5ada3cc590a6d4ba0ba908afc6ab5dc5a34ae976afc74d8e75da1d) -emitted operations - -big_map diff - - -storage - (Some 0x13ff1086d5713b7931883f01c36424ef26d28dd314473c073ca3ade1da5e8fcd7e22a86f0514beeb5b16f53176bb8ac70d8fe482a5ff16db0f19ac5738b52efc3f9228a997da35fa8e3a2cc9aea049fb23fbf5926f199ed7f29c73022610e4e70ca6547613b84940c90bfe7438339770ee180237cf717b67d2eac23fee8c42c17e0a5a903e0eeaf854856a241781298e0b13af3d210efad5757c6112565bffdcdbf649ba5b645d6d1a46fdea5014d2f3edf257af5ec593fbf69f14f0d8e3ef24) -emitted operations - -big_map diff - - -storage - (Some 0x0f3012df11a5a21ea69e484e3b1aae6426f47131b6c8de2d2ddcf5f08b7e2264beab80d08bdc3464e5ba93ae5c70dfa81792d5af6898237318173dee0241ad29f3a243837764dc8a5f66deb5868fd69ab434912233d3ccdedde5b8ee484a4b6f07ce143b9d525568a35c28ce4ad2ab57463cdc2fd6cd967864e130645e0f2807bf13228b000a2dc124dd4fa45bcee53202b486642d735da0ad84458ff8989cdfe9ff1478b2d80b4e45dad71d7098bffc890d65b720372793fc0ce9c6fc169b0c) -emitted operations - -big_map diff - - -storage - (Some 0x1429e92a93f2ba48ebe5d66ecfaa3b148e8414beae4aa83b5c054caf6937f30821e23621e278e197966ab69806010819156379b3a6f4674207d680dbd0e45a1399efe202631f30507fa96d88c4363bbe852e95edabd9902bc72485e6dce044a0072da73fb04a55e27613ddadd5915d0637f5756e4a489eb29347e76fb329c0e289a156f8e758ccbec03376ccd67a528a0abaa11be4c810443b52082cb54174e2019ea8d9d7373c99e103908da27c1aab943e745d5026304527528def70f391ad) -emitted operations - -big_map diff - - -storage - (Some 0x07d9eda0c029333aa344535a1520d5e1ff32767edc4a9d2f963fae4bf7a76762a1402a70fe2497059912016e20a082a20faff41e659f197f5c99532070782107a586dbd7e6609b31b89b4e91d5eb85ea01aac0e19aaeba32f86090c9f489b1ab0f8c51be59ebfd70a90246e364f817054a149dbc7fb6ad6e5ed3991c3e55f6dd08bcffc0f9e1e7d1c4fef6ed7141aced0da4ff47847aa5f5d7347bdf698525b75c840569e1dc731c1971eafebb305e77d44b2b06737a9f60d3b0cefe5a3412eb) -emitted operations - -big_map diff - - -storage - (Some 0x1047eb6211bae046da85a8085a23c5df6f73ed25abb394b16fa673842d19107b2e40ab9289b36f2699dfe34f5fecd2ad0596e9d73d3b697bb342d5b4a74922fac2c0ba20ed89db874e23dc07ef1c02df48ed3b5f2b9e63e1749b65d64ff3572c1034d01a148145d63b85d0f01b7c84c47ead9963b84233ce9f5cc48b1cee86b094087fba5d718ab4aa8a09153b078aa6036351a3042bfeff633a6e023945a0b6d88bd82cebf4c4b9010d16f98a30299ba276f8451ce728c26010a05bd09ba365) -emitted operations - -big_map diff - - -storage - (Some 0x0acd7057df12eccc09376a20c70c6c054bdd064503446d525413fc494251c0f19181eeb1280c83b6d34916a3904900bf177981828b72d00113c22542eda6e9130fe13f4b9d2f3dc2a78962fac295596cfa28f95bff49e35358f8a85cc764f2030dbadceba39d7e87f274f1b22e0d1f92e79a4452c6a97efad1aa6a71ba2987d6506341c1b8f9352548cdd40f445e545b051e6665e110109b6e80894d973b10ab4469a21d5d167563c2ac7645523fae0a2ae2745318b660f2cd19d725c3a17fda) -emitted operations - -big_map diff - - -storage - (Some 0x04f081fba03150088bdfae16217e3785de649dd8866c728a2ce05abb271cdb664a45d8c539f1a6c7b42335e5beb4a97e07c41c2e946a74f95d390b574fde8df58bda9d43fa695b02ea8cd290949097ba7cec710d802cfbce1a804c74e8b6826a017b201bf0b344cf7d469ebb203b4eb2b7ca41b6f7cd3797423276d55742542d9435b6261956076718a1eaf5fcdf0f1a127b43756c11c7baf603bfb4f929933ad5c263c9774bd6eee6131705416739a15d49c87bbe0a182ab62f70f55db77144) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[Fr].out deleted file mode 100644 index bdc338c1788f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_zero[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G1].out deleted file mode 100644 index 97e278143465..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_zero[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G2].out deleted file mode 100644 index 293dc34f8b26..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_one_zero[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_one_zero[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[Fr].out deleted file mode 100644 index ced091fcd905..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_one[Fr] - -storage - (Some 0x286f0ec6252484c8bb981a3b8382b975c4ea92e11d1889a4bac541d0657db547) -emitted operations - -big_map diff - - -storage - (Some 0xd3b3ab5cfdfbd937887b10406248e8afef754b2692568adeca80be1c7abe3057) -emitted operations - -big_map diff - - -storage - (Some 0x469fba7341e28e67f35affe2fe4b97662a8b6481cf297346ee94e3d7d932c92d) -emitted operations - -big_map diff - - -storage - (Some 0x8a7177b61d33e4cb78eead124de5a06175df7e3b59f3bc4dca273de59b8a4151) -emitted operations - -big_map diff - - -storage - (Some 0x252050ca68bc0bc7940a33b68e12982233df654e652e96f2d28ab32be9ba046c) -emitted operations - -big_map diff - - -storage - (Some 0xae809d9a60de4be2126f115a819b9399358c9063790951f0373420a664335748) -emitted operations - -big_map diff - - -storage - (Some 0x128327880e041a2d6890d969f494c5581025dc3cdc3e3b6ce2d790f8ee68821e) -emitted operations - -big_map diff - - -storage - (Some 0x709b3e567cd3889a553a34818720157dd38724cf85ff458cfa91cb624db84b72) -emitted operations - -big_map diff - - -storage - (Some 0x932b426e549c4acc360611dfca579d436d7ce59111cb3f2bce5e9fa1562d4c1c) -emitted operations - -big_map diff - - -storage - (Some 0xef9144b2686c7a1de7488aeb9669bc3dafce03e580b27796d5489bbc2d5cef30) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G1].out deleted file mode 100644 index 96589dc1e53d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_one[G1] - -storage - (Some 0x121ad63b7b9c90355f2862d56fe793c29fd884e311a65917f860071464068682612e78f29d936ceea7056ccd2506f12d03ffb304ff19fd039c7404c0af9119775534e2d93c5f9fe172893767c1dc12a25edfff52434bd309aed1d54bd0a89fc4) -emitted operations - -big_map diff - - -storage - (Some 0x0538edb42138a4fec97b74645550b722d7e87ccdea13249fe9fbad25e314d8587287821622e9c7cbd8b5ffc5b244a5c70600605fd5a514fbf6d13764bdb35639fc7edb3b95006fad00083bdb65420ac4a2b7a5a67100ec7b0fed8cc3f5bcf251) -emitted operations - -big_map diff - - -storage - (Some 0x0e4b6dbffad2f4b3ff5be58477f3dca892a060954b35a0ba682a9e388071023d32e4d4f241d6b926348d1b76b78369af05485f02b87fe3666c70f04ed7439d175fcd2d76fb9790cd4fea48c38f2fa1194799208195286274a0c94aa4e7225c1b) -emitted operations - -big_map diff - - -storage - (Some 0x0ef689c3ad66bbc9bdb16bae245346c3e1d314091c15b37622720ef5e70defd6c59d2f4e4335c791644c28f967aa5a510607bc31d79aa0a40fe637c47fd825bc06c7ae7839eaeca4a0e4dd8f1589ca8db8b4fee09b91f5a43e04f17ef9ba3c04) -emitted operations - -big_map diff - - -storage - (Some 0x143c03201ff3222e412deca15c6345f6f3a82ea30a8d0b289952dfd4e6edca156617cffdfac43466e7745e5ad5222c7f09b8ed107474064dc0c94140949264aa6b3aec28772a8b1b3dd0571ecf433ccc9a7e51d2ac119b7bbeadec90d1f3c837) -emitted operations - -big_map diff - - -storage - (Some 0x122c5f9870721941131cbed468f1c754dc52f494fcd486dc761b4281e17eb41d29a40a983de68cec836a36f6d3c396e1054b6904fd965d74805b1c088ac71e7b5eeb41a1611b399c63777170365859ce68ed99bfde5158a207ade9807f5cc458) -emitted operations - -big_map diff - - -storage - (Some 0x0fbe56abacb7f089a1e46ca6d2837b8f98e51dd1054445c2dc599deec36800688b6add762d6eaea36823fe5e867955730f1c175b454fb0bae81377a0b30a0017d2c11b4a768b78679e8634e8d2567874ef10b5f523f2e7bf8e4698311de58051) -emitted operations - -big_map diff - - -storage - (Some 0x05014fcf35b18ed937a24b4ec2f635e371e331766f6971204a6d458c6876381476ed691a0d020a6b487b14cf4512fcc20678c937e35d63f63e52af3fd081162d4c34a1333ebcc40841a7bccec941e8596956cb56bae1d2768ce7dcebb31ed170) -emitted operations - -big_map diff - - -storage - (Some 0x016f4c61393eacd1b8365656d475d00271c146649018368fe2b0acb056daa92e133a45acc5ebc121d100673f49a55b1f0a91f97170f0ac67e8f8fa516a173fae35645c26748696f5d6b2094d0a4e5a8402f59cde699ff5627d3f16034d745174) -emitted operations - -big_map diff - - -storage - (Some 0x0a8fdae48244aa6f45cb349ccf56b7dce450c08036f96ca38a13ac8ba3c136bd9bd83a91559c7f5269f4e7f34f001e6d0152b902148420a763d285716810dd24cc17b9b486e8578ad7dbedeee3a4eab0d1ad73cbd3a1ea783b875b171d897030) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G2].out deleted file mode 100644 index 4b24e21986b9..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_one[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_one[G2] - -storage - (Some 0x09437976147a4d0d174d809df2b91247f2e2a482fa928fed9817b1740ddd941be108809ec427bba3abebab29e0fc91360dd9f11f94ec1c4cc3da10c13df7fe0a3e089b48c7f129c02c3fc47211f895c2243242f1a238cfca841e8d9d1e7927e400b626a5e4a4bf8f147aa6cd82073d5ec66504722a4ac8cf5939d5676a8b2b37731c94dce4e64ba9862eb657d17d789c19b1fb83a099335db3c569279fad3516257eef911af59c39e72a10da16e2c87394bee5a58b107c55ae00470377dea973) -emitted operations - -big_map diff - - -storage - (Some 0x05ef75bfe22c1366532a0be4e76af4f44c83653e53e7441e31eafd50d23f406093a42d56830ea0b2d6bd72c946c82bd6020366ebc02291ce6864c9923414fa0db8065979cd8031a84ab0bfe58ffa7d97c4f5829fc22126f8818d2b30cec132250207685a42ebd4b3566d3ae6437b12d1397ff6101d5cafb3283c0a26113b39436141bf2a09ec817d49145171a7cb0b4005483eff64cc380f7fab70479ff783e05b0c6a15245c93b732d9483adc38a3beb0179f766e685fae2ac8b91b888a4f3f) -emitted operations - -big_map diff - - -storage - (Some 0x16f479fc7f990fe798762da4e839ae6ab1c3ea82caa08d6d5892f28585b14ae178dcec9cbfe6f1a8128dcd46b87df07609798415e658f9387aa6138fbe3c335fb2327ffd2504c3f5aebd3285a2d08fc9966e8dd12f1c70dfdb369cc98f67b712179379ea1fd9bf46362cd7878a3667aa89f8c08627ad8d60868f219d49ed36336e393e0b7ebccd9027edbe634ab2d44507d065115a3ab3f4bd2ec1bb6361f580aa0040ccb0501426bd186e1e1971f7575e1e12ce77c8c2d8269799dd380de810) -emitted operations - -big_map diff - - -storage - (Some 0x04ff37dc37877f596cf0fee3190b74567c6925c5822c8776a1fdb926d250ecbd59c16109b3e18bf6389fd29a51f9815904b4d3277553a1afed4dc7c441cd16078016edf441df1bd21bf3590b701727a7a4ee5cfb77b4af06f154fcfe47cb44f91400cebb1f66c59f2ef796b5d8309c6d20a948156624e4d46ac09bc6b2566c115d2bc989e53137ee0bfa6e2e17d7b6fd10448f47c61b0fead5e32eb9f24f1f7635730a822166aa400d5537614fbf808d6e40f92746d6932993e74c3b57ef1520) -emitted operations - -big_map diff - - -storage - (Some 0x0b7028a94c140119e30ec04b76f245e78dc6d9828bcb5f503f44f2048faa675fac874f88b058c9b6e9ea2fb878a931fe0606479ff1fbaa8f8a1caa797ee960de8ee345eaef846578e7c6eef78aaa1a16c9cb9985821639cea2ec5866219d77de1593c6981c3da9e8c0a64bd8aa12a12d83e03494bf94ce9b098feb97a8921fc3a4a2656ba5a5eb130210b66766a0dc8512eb97e67cd5fe60859f1810ec7a1237fd80d4cb73e8641e1990a0e9e5c61f738ad8125b9108d78f96d704f3d43c71cd) -emitted operations - -big_map diff - - -storage - (Some 0x0f3e9c3968ce220c8d22fa306fd12e8afd05be41538ce630650650c8461563267ee4eb22e87818cd9e9022a1c23641d50b904a7acea602f907c97fb8701fe29fd6b2a276052b1d5cc152510016c466fe3ffb38ebdc0036058383c7643efaf10f07e7a1e694e4618c2057f4070912400e0c1457b32223be85ceb98afc5a9891ef467bbd4f96aeaf59dd92f39fd7698d4a1464d7b940f605a0afb023c06b2316ae5ce3e522e10e9e67ec2bc5dfef45e85e1272e5d4c26a7eb6b5255eea7117bea5) -emitted operations - -big_map diff - - -storage - (Some 0x17b906ef7baf4816f9ff3930b61253bbee2dc0cb2580449c234979733739d60b1e4c250cf38460240ddd8de171da0e790404c64d73d02d42540bb35b99bb9ef2d51af633c8546ed8eefd7a47cca204d3e6a2a82a6a661940e40995de3068033e12ad259c9a05af8b88196215be9a4310fa41e88454d8037572147571482cb0ffd39d50d1b09c2a68ae8a5694842bc8f9104104b65969eee42a43680a763fb577b0811d4b03d04c5060521b569d253014832d66cbb2163b1a15d5dc395969d47a) -emitted operations - -big_map diff - - -storage - (Some 0x0192202a64ffc9df0023d8b9b7125fb5b889386ea4e421bd8a113b1ebe45f491ecf552369e0e9e297d75264e73f5ac29119347d4871f1452d0375b4a19eaec758c58f6066bdc7c804ac9bab38b61f475913d0b1e80d8eb00790a11cd5ba3b81001069862fe6de4183f916099da7b8cfffdea73965df644dbb21fe2c9036296b01506fbd8299a8dce20c185f12a864e6c0f3c2e18a2e79a922a5f8bc59f48a4cd8ef322c678f080a10c4585c27af5c3bcb38a19f10c83ac484d81b55eb1393dd7) -emitted operations - -big_map diff - - -storage - (Some 0x1251e8448175157c4d2856be19064bf584481dfda30cae0d0b6f1e33b2a335be1a02dba175aec178718db6dc67409e8d09ae2872ec0d74b84c4a6eba82024630c290c6da27f387b39abe0f4fef1e1879bd17d32b1712cd9c2fa59c42796a6beb0f820092b9a5722b03aaf53470ead23b1d1c0a2263f2f010a5872d0251a81e21c21f4900aad8cad4f5615a9f9966e1090b13b49d84b63a6480c608dde86c383c6c943ca211d57b11aa4d518ef81121fa2604c2e650998138942d892fd49c258b) -emitted operations - -big_map diff - - -storage - (Some 0x05d336c2765803c6cb4b385ab9d4f4fa1ce2da0e5efd59a1fff5367678e6620664406da388d05b3b448be22281b2b3460f0c2b3b46ef2845bb1bf11ca2909f321cc35a295c656d7f0a432c31d6ff82b62cebfe000324d5bd35dfcff4016e526d0c424b33f830246ebca7fc52d1843d93275265da2bb6edb6edf6b9a0ff928cbb621aaa0c274614b185e39f3b8a91e50a13c54002d7842ba912b15f0671bc8e10bee8c8cd6f219f7115d9ed6d259cd029e75fc00ddb4cb508841b3c4ffe383d31) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[Fr].out deleted file mode 100644 index 20fcfc3cb28b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_random[Fr] - -storage - (Some 0xb33a7eba53cdefc6ad9cb5c1328402d360c44984ea5dc51c2f542faadc6be816) -emitted operations - -big_map diff - - -storage - (Some 0xd3c6ed5a38abf39effe32bb89f2750a7792d10533191c9e7c24c4a110e918462) -emitted operations - -big_map diff - - -storage - (Some 0x712b1fcd10c384804b22abbcd62dbf10434baf60e33078f349b47a245a99394f) -emitted operations - -big_map diff - - -storage - (Some 0xc2a04fd112a74a4c60193a518a7a2dd968e63c4f122c5ccda2842e30040a1d0a) -emitted operations - -big_map diff - - -storage - (Some 0x145e33354dccac366850661cd8dc6b08f69edcd424055700833440bd798c1f1e) -emitted operations - -big_map diff - - -storage - (Some 0x9add5ab74ffe4b42e3618c846e60ea2b8a785d5b9392762ede89f50c85ff7803) -emitted operations - -big_map diff - - -storage - (Some 0x90827b0e55cd078db382a78e437a2320adeaf00847ad95a6c920ef2a13954727) -emitted operations - -big_map diff - - -storage - (Some 0x5bb1c6b970d42235a163ce608b783311e47114fd2d755624d9ec2c416d09250a) -emitted operations - -big_map diff - - -storage - (Some 0x3c32dff99dd4798310d347d73dcd51055acb344aca9135fd75a5b5be45ac8221) -emitted operations - -big_map diff - - -storage - (Some 0x8951db6a4a847740ee7a89d7e4057e2ba8e0fa5fbd8a6989c99f204492765e3b) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G1].out deleted file mode 100644 index eebf31c64835..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_random[G1] - -storage - (Some 0x04e31b8535d081c6216917afc0b998284a19efb004598e40af32cf07a7c01baacb96621f42800d560e7bbc1cd76ef211046404a2303e2df0f827efee06a0146a3cf18a213b890080e33478eb652c142191363cec93bfe88f0f29ee65cd8a45a3) -emitted operations - -big_map diff - - -storage - (Some 0x158932735210b3c07f9c15eedec8acccefe84d080d3d5e06795e6ea3383e34a57c8ed1c091b6990d636dc3dc6e2b0a03077fb11f6c64d76840c168238b5838d2f06a27d48b1bd95cfd43b68f0a5871d22df1117b398118e71379602ee7a98e08) -emitted operations - -big_map diff - - -storage - (Some 0x0a32114ba43665abeb4ddb111a262bcd7ef8aab2f628627a4e237dea512835b4c8f7d3ed3bb2c4f8c99d68cff26b138519da6ab3ef7d260c2dbf7e84cb65890d65df014911b2d3f6d6e4248a23f36add20fc3c27c93560959c366a408ea38847) -emitted operations - -big_map diff - - -storage - (Some 0x14512db2530c824ca00345cc815036ad2a6e9d048c7571c74aff33f9f6b3a54239a893ac73142f3e0c74a5d179c0c5b2010a163762468c6feb4d27f1abccc4cf3fca36ce15868737320bff7aa4294bde62d103155e63b74de46d06d6b06ee1fd) -emitted operations - -big_map diff - - -storage - (Some 0x0e4459b6675e6b703556b06bc3db6adf195e4a0e3262bb12fa82fdbbb41d6aa0620743ed337ee87654fa8a22d907847b0d0c3e578ef5c00e360dba8567b12e4f3ecad77a2bdb303888af1c2fd730f5bdcbccfb4ad50e8571a0da0db8d7f63227) -emitted operations - -big_map diff - - -storage - (Some 0x0f32aa210d52283f4495ca85ce595df832cfa90d212922afe466a3d58203d419fa6cac2bc33fe2ef42c684c97ea061f90f49309180a9238b366642cc78ff5bd4ee8ee82aee112368248ec1a13d36210649b5696528e64a16e04f7c52ee14fd8c) -emitted operations - -big_map diff - - -storage - (Some 0x1658a9b3195f1103234c8115a54afd9455751a59223922cfb3b2c680be32511087f3ae762616d843fbfa19096fd58d990d6b9ddff4af5bcdfd44e7f49ed23393bf466a82b3e8e2281d883c6ccf8708755add7581a6a90f19be9263d8d624266b) -emitted operations - -big_map diff - - -storage - (Some 0x0182e82dbcb3151a65e424f9d5962e652eecf163a5a06ef5dcf1835009cd2cc0106b125bc6187a3eabaa25a8c4ef5c5b1009427ce8cf6efc38cdbd6efeb6c5463cd5d508fcf28bd7bd2c7eaf90b29bdc49cdde479a6c64bfb086d023972bb0f5) -emitted operations - -big_map diff - - -storage - (Some 0x130144b4bf38c092a5239371271624d48cbe36a0461feece232015f64917f2bec1bcba8e57597932d2a2776e2288b0e3068a74d96f52781b2b11a40ae730c56d909b6aa82afe81f291ba17667f8def0c8c62cf75b800d42460e5f1956eee18e9) -emitted operations - -big_map diff - - -storage - (Some 0x00f309e7224d4e6d1c59e27e2f651300d9bbb17f58ccf23943d88c7a4ada9902779c3d92a701e419cbf2e719927d94ac106420f6c2c79cc43631033d59ea62663c1c4eb127c43806a2b9d0e34bebca1ade68fefc795913823724a74a15df6a76) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G2].out deleted file mode 100644 index 85692dfb290e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_random[G2] - -storage - (Some 0x0b2d5f882010f2406dd4fdda47ed2dce0a7419de3ce13360c709d420955d8fd254c0369250de38a69484f3d42266e56a0df6a9f48674db24a8adc43947f4d4155059769fda12b7de6de9c7d70166c3aa3b5780b3ef4e6285860935c5025a48a70ddb77c5df41cc6653f5ef1edf35776fd7f926e303115c1eca0465ab524626e16095d2d1bd516bf2bfc2ab4bb39c968c03bbda48f947a526fe887442e9cfd9dba4ac84be8f8d03308b9f32d566289a6cbfe19a87b13f87c3220bde5223f13568) -emitted operations - -big_map diff - - -storage - (Some 0x1170918e77a35dfc20db737834c50807efd778b7f0371e0a5cc5621df21f45311fc7d2cf36fa244a15605ac94f9bb12d0002517d54651966d9159aebc372ff2a7deec9a0d7dc80bce22025ace6cc1a32b8165e89790a8d6205121eb00238782709157dd20f2755c12822abc330be0b4a72df19d04d71f8cbd0357de1af8336987fd5db4f91f8813e66ded7570255c2fb11a13ba75e65187d7f342d7b4ef3ab41778bbd01f42680c86488bd7864cb78d9326e2e69f7195fd2fd09e06cffcce84d) -emitted operations - -big_map diff - - -storage - (Some 0x13d581984d95ad0ccedc521ee63077dfbfd3570ddf8dc0372f7411b903ce87caf5fc8a1cb1f66762e267a48f46a488ff1610ef168e28b79c9ab047ac9707de363b1ef06fb5ad86d919acadb9a6bca419d05dd129bc7436d4a8f024d4bdf7af8c0b1342fe8a6e949a51bb0901116d89437e7e18b8a40fb4be11f447879fb2651f7d449d70f84a1f959cc42869a85fe608062802296c3fe013f46b28c458ba28651c70fb61056b9a6af6b947e80becb252040dc8fc2fa9c79478973118d0984fda) -emitted operations - -big_map diff - - -storage - (Some 0x065e2a7e8b6ce16f9d46bfefa994cd13fa6813f6bad47e1d792dfd2e9bb4c3449cd7ebb05a8fb6b82b49116ca0dfb8a4041d960f46a4b0ac4bfe755470dff54f7b4d5bcb4f4d52ccf520b3f7e5defd6e6eac7b09f09f0e429c27477d5ec3a12706ad589e303bbed584d1ce39479c7a709bd73d4cc204ba78b7f4d70927a17d61dcd8e10e3359f396f98509f3b63cb16a06b68abc4b9597262f73f181bf042ef5c79b97c40304c259034534b3716d8168bf975565beea7f1ea21bfee63140d7db) -emitted operations - -big_map diff - - -storage - (Some 0x0c886b3d45067177888373985b7ad9e01f50fa934a67021f917ffe8a4f5730885c490f312bcb74590609a0550b26985711c932d4b30f82101a6b058f27b41edc2374273063470c3015840a9074c433cff7008f7c237bca62eac80cf82408ac85147a01f835601cb405e7a5daafb481462de4f5e765821c5e9c24d79945ffeb9926bcb5c516b1be62474f152fdcd79a7318f5733f19908cb27a4339c7cec46d2e904026ec421f41935ac05ee52dcd32ddf957d36da0478a231483cee910e158e9) -emitted operations - -big_map diff - - -storage - (Some 0x016720c0b2c7541ade5089d83b25c42eb26f76120904edf5d48c12a654df5bc690f3b8274f9a13b471e9d3397b253d5b0070d7e75316b1fe6581e120becefae1963f2c02e3dbe78fccaa0e82f3dc6b26b0f8fc878ccee3aca8681570864732791521735b6585f5543059a43e88d2293b372e76838962fcef28d9063259fcd7dc6216c833ad99fa0cd83c7aba57176da20a8a10c28d40cb495a3b4a7bfdddaa5b721a85b9dcb606bda5763eab6faea0ebceb638af2b2d8c61fa35c7e22d0393f3) -emitted operations - -big_map diff - - -storage - (Some 0x00971061214085d6e490b4e543696d4e2a5da1d7e3593bbb04444ffbc824a8f9bd9273b0a75f9672e5ef75407dc4daa503ebd0198f1af03f5d49688de7c9864836a521b93804a442d582b103d2ce3acf805ab611ed00d94eafe205fee48b1cc808c738a923f793e75b4a3070be1cc70d25eea3939703cddd1490f0f518d0cdcdcd7942b294020cd26338a25d3d8a2ddd02988eec1b3a4bbe0e13b6508b5a3bf790ff8ae7c78fc5ecd3760c7be57e94decf97f0271e7ef0c7396133b2b8927441) -emitted operations - -big_map diff - - -storage - (Some 0x17a0f51a199054d24bf00e707680a5318740b1e0f60935ae262a04a2e6a965d78ca4b066c8810c1c4ece3ba054b4f706132145795844cc04aba7fe5b92af3010c7d2ea264d82257de9caa012d267d5d2f040204d3a9b162ff35d58a94171a1dd0a6bf8ecae4b6109dca88a2bb07a4f2aff9148cb1d5af227278cafdc4a482070df87bd7cb968efafc621bd9fc0019e1114dd78975957c315f8f0988093457cbd710ba31b0f9eeda8b8d78e9d5833037ccb4a729726c3bb14941344aac882b9f1) -emitted operations - -big_map diff - - -storage - (Some 0x19d4f927fb96db848401d650a01ad72d05be245d7d75dc7e670e054e450e59b4c57119c8ba3df43e36ed405553a3439e13d903d0d8644031b13e46030ca2cd9f1450ac1428b54b399db96ed24f3d017a97bf5509470689b7585fdd848c587bc30f2c4d9df0e3b88e7d70a1288dddbc86e9c1f17cc110ea1a84f6900287a6a6ee016f59e02129792808721cee006337cb16657108891cb67ffdb6a5fd6fe4b5160cac312ca16aafd01ad9352a69b9e5ed2fdcbd58624fa800dcf0af4f6afc6cac) -emitted operations - -big_map diff - - -storage - (Some 0x0d4c4a2a8095869ea61b83d864cf7ad2611aeae6d8f2c980e8646e3cf101ebcc53ec086effeff6e79b97c09cd9e49b5719b698cb3540859837103da3bba5f89814a66a4bde5b6b8e12a585cefef8a2b884bb38e4dba52c3dccbe775291f971d41177f7ed1a9360fbc3ab6227d0f71a11dfd2a44f8e7d6fc4e8f42ad1e10bb1bdb3868595beddefd15f75c45fa857bbdb05955023d97e7360438d8588415ee12a626d8c0e147e9de1ccf2ded3e2826e5ebd9f48ca19fdd8b12c98dc6c8da4c951) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[Fr].out deleted file mode 100644 index 60333fa15509..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_zero[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G1].out deleted file mode 100644 index 9c1943ca7d3c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_zero[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G2].out deleted file mode 100644 index d20b126be0db..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_random_zero[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_random_zero[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[Fr].out deleted file mode 100644 index d08f79030ee5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_one[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G1].out deleted file mode 100644 index 32d5776c51fc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_one[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G2].out deleted file mode 100644 index bde5c3da1a27..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_one[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_one[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[Fr].out deleted file mode 100644 index 25c87ab0b87d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_random[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G1].out deleted file mode 100644 index ac786d039281..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_random[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G2].out deleted file mode 100644 index 49c40467a597..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_random[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[Fr].out deleted file mode 100644 index 3a49d099db58..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_zero[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G1].out deleted file mode 100644 index 13d0e7ef12a5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_zero[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G2].out deleted file mode 100644 index 442e2ff6213d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_mul_zero_zero[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_mul_zero_zero[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[Fr].out deleted file mode 100644 index fb973453ccb4..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_one[Fr] - -storage - (Some 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G1].out deleted file mode 100644 index 3fba98e6e2f3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_one[G1] - -storage - (Some 0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb114d1d6855d545a8aa7d76c8cf2e21f267816aef1db507c96655b9d5caac42364e6f38ba0ecb751bad54dcd6b939c2ca) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G2].out deleted file mode 100644 index 2576892d5ac8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_one[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_one[G2] - -storage - (Some 0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb813fa4d4a0ad8b1ce186ed5061789213d993923066dddaf1040bc3ff59f825c78df74f2d75467e25e0f55f8a00fa030ed0d1b3cc2c7027888be51d9ef691d77bcb679afda66c73f17f9ee3837a55024f78c71363275a75d75d86bab79f74782aa) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[Fr].out deleted file mode 100644 index 2891f02446e2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_random[Fr] - -storage - (Some 0x9ac69bc1db5f20d9044178b065f5a09c8442bae11c45371f325e816bf721d739) -emitted operations - -big_map diff - - -storage - (Some 0x24a3fec4e7f8ad2ed4b6b0284e5d03ad143f3ac4d0ef3aed1f302c3459823c59) -emitted operations - -big_map diff - - -storage - (Some 0x0dd533bc546e5dcc64ac9d74ef41109f23d374ad2885194873e582d7700d0d16) -emitted operations - -big_map diff - - -storage - (Some 0xc0f43e2aff39fa4bcf5319a48396587b076d0193d9a1c31b676614d9b6a2dc0d) -emitted operations - -big_map diff - - -storage - (Some 0xbf12217bfe47d2f1d96db15e3f4a8eb9ba1229c610e2c0ca85205e217fe44422) -emitted operations - -big_map diff - - -storage - (Some 0x5b33082c052de9699109edb03ca4961ccdce7dc0b21f35ffa208f0c380d47353) -emitted operations - -big_map diff - - -storage - (Some 0x56bd703658653401c10d85274f305dec559e9630f202e307dfa3bb3980829360) -emitted operations - -big_map diff - - -storage - (Some 0x8b7fa597cd2d60533467ba57c1a15029a40239dd4cbf50341e7eb8aaa53abf4f) -emitted operations - -big_map diff - - -storage - (Some 0xcf62b00037ebd1ad24ffc51831e12878fdd817915f3bfc1f23150099fb2fb81e) -emitted operations - -big_map diff - - -storage - (Some 0x41df1100e72effd309b1f30f51729681df099140be3fbeeebf55468b9cb35d22) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G1].out deleted file mode 100644 index 051473fa7ef6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_random[G1] - -storage - (Some 0x197eab592fb38019ed2b362a048af848d1cc13b4a6c1d035f0dec4f5c461df58ddc92c9b6cab42fe3683000d91ceafe418d5a984c5833a305e02b18372d56e0b3943e34fc5aa2e79dcc359d8a299928b43bec4667443ab008dc91432a9e81ae1) -emitted operations - -big_map diff - - -storage - (Some 0x15d02840b69f06135d0fb3b82ae94649b2a10da9f7b4a5df7365c95b9d04c755a863ff2010332a8cf2609e08578ff02a05d1699ce8d778f3d2d7aa3841ec11e23682ab0e7933b43d8bd7e8e2c3b0dc5bb3878d7c0f01fcdc2b4e97f84c46472c) -emitted operations - -big_map diff - - -storage - (Some 0x14f7f5b6207b770382e65ebe91981942bc7c88908d1b2e73c6ee1322300f703877064d65d16493a3a9c3e6c45b049dfc0166df18d9caa4a3ba208d1ec549ea8cd27dccb7e22497594b4981ad758393a96de9be4247b185d8117774616032a403) -emitted operations - -big_map diff - - -storage - (Some 0x19b7acfd822ce85763c2d9e81425e571397c506ee31a5ae31c44fad5288bf3ca43c1abf6e78d380f0f75dcb83e1ec9cd17edeaaadb33ca8c4640da22fbb6733c5c11cd77bffc1a8e900399f6ea807bdda382b5173ee95ccb8807f52923a4297f) -emitted operations - -big_map diff - - -storage - (Some 0x16a404c56efceca50db3014d9c764842f6cd2221ff6b89605bc617b48a12e791e01c089489a5cfcf8f02956dcf8d2d8b015b9061f8f854b00f95fd177a0e9d8254b9dcb23e486a2ed13a79cf4f2fb430cf3d1c1eb727909712cc71e780226728) -emitted operations - -big_map diff - - -storage - (Some 0x03fd56e83ffaec3a3441bdcd46ad961f62819e72e9aeadb78b830a271c4d480014215b337fc7fcca3a7a6c9e57b62ed909c0dc635400cf2268eb1b1c841ca68e5cdb7edbba2a388714319740348180b33795377af9228b13035cdb4bbfa5bb60) -emitted operations - -big_map diff - - -storage - (Some 0x0a31c603358cc5f0536c3b4cc7bb8ed1a6e0da1113eb42a13a07201f071f69f84fdab55bfcf3791495317a9826e0a9ca07ea3e8155f0c3a0df59c86120a0decf70bfd0886be8433932dfb62e7eaabb68da56859be8c78fe0efe6d774fbf2ca1b) -emitted operations - -big_map diff - - -storage - (Some 0x0b2b25da57dfdbcd47c80f821d732052e890661fec1b1a89e2bf83b1bfcc0f0c59fa59be2eea602692472819aa581cc319742355a5c737fb173d6fd2b53772de1fb90859d39fc6d9d64528be91b41230dccef41eb8af2e228d73bf80ce152dea) -emitted operations - -big_map diff - - -storage - (Some 0x072cfea08d58f5fc8db45c45c7ac6fcc01a0279b33652a685e1e961c2385b307ef336ff7a7529008158388ec3342a3980b0ffd641f1319835631e7e4c72450900c2d4cfc9ca2a9427189047b4d84ce7cb21148b414f1a160efa4b069c0a884ca) -emitted operations - -big_map diff - - -storage - (Some 0x12d6f85f33ad5cf0c0fc2c77c79bb7ac152b065cbdafbb7ae9b190ef16f3f3ba07a1a7be5af71e80038b843fc6d9772612da90cb178d7a6b48bc95b33cc431168d84bb441364c1df012faa8b53fa7b602d2a961fb65a8e13d37cc4e1d417b8d8) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G2].out deleted file mode 100644 index 0c60a53e2af3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_random[G2] - -storage - (Some 0x04c4113c5de4461ee1effcfc208bb5a9804748c180af325b70966de7c379381de993a4659457b37367c9284ebf914033072014d5e51b7a11f6ceecdf68e310399700d00cd49696797fd39a95e701043291aa570cc853a3fc98389428112e62e90827091bae55288eddb843baa59bbbae59aeefc2e92d212a062dca9e1e96d621c4fae7cd94b1abab9b6efcbc720723b60ddfba8ba68bc874a1aab91b5fa6c6cb36a5cec01fb27b513a87c84ee21f18badc394467093a111040da3175c968157c) -emitted operations - -big_map diff - - -storage - (Some 0x19bf6c44cbd63175794a5730a440de20c66d93c2955412f40501117770de06ca62ac213b332dabafc32fb535c27c734d11d897534063baba835363bc6c8bb52d436d0cd6d3b7d80aae8f412960c6e31938b4c8b361ed3452dcf3fcc5021475dd02b7a90965f4ff09880874e59b382e0c1b37619a6f1320a124cf55b36b3aa716e42a588ae6f01af4364d08e3c0d814ef0d02bbeb23ef4c23f4b145aef8a73bb1ffc4895bafccfc86e621c05afbd218cdd3c2fc69268dc8a16129194a72c606c7) -emitted operations - -big_map diff - - -storage - (Some 0x11f4ea2b3cd84230f43e085ae38a0c60d712486564ce5eabf2de3df5f0da8d891657ce1f0c9fcf016b9aff1f48bc583d12ced40a391db04687b45de84f4a59eeef3c3db75ad8862c4241d03dd0bf36ff855156a58f185234bef6ec7301826f8c00b0f31e6a7c2c87eb9866c0259cf5b30997a7ea4513a70edc430c2e201822a3cea3bf3e0d2ad17680036d3423f2db7f132866d134609c331dc4aa1caf0caef348c51633e789f152b6cc255a8fc426c27331b519eb0cefd05b08bd23c2db1aba) -emitted operations - -big_map diff - - -storage - (Some 0x08968210984e1431183676214a406cb925239d7eb1334a07bae001019419d0f41ade7163bcf5578b7b7cea9c9efa12ca0dced010adea7a72bce2be7f2dee13be641ee209b87fb4ae77b00b43f30f770f6c745e9d4617d22020d5686ae40a495219db215c85c3166e233a2027314f1c3807aca9e90315a9dd0da624a87c61c709e2fad9b800290ebddbb413f5655ebb6b01008c500234652c966f668524577ddd3268ba1934d0eb44171fb2d2c8f24c21ff1edc3a68473604e2660646de8fe01a) -emitted operations - -big_map diff - - -storage - (Some 0x04d151207587d306af535541cd193cfc0f0039e84155c78bf9b0e5ef4b61f6cc49f39f9e84ed48c7c9b04c6e78dfc4b317fadc38e9900aefc0ff618ff983eb713861d8ff8cd0af5a9445f0cad43bef39ed4e0855072b8dae4ccec6f6ae7e1a62134d156f2cd1587df87ae54cbb3a6de862dbda2c898cc94e93833a573380d3af53d17061668c6693264cb124c87ab2050c9ecf6526f6401055724eb2fcb5173453c77870eedb8f774a711b8b75d0e7308c8e1aa3acda6466c48f148dbe04d1ad) -emitted operations - -big_map diff - - -storage - (Some 0x0c430e8fe9556cc97d2b00a6d84ae91f4eabd287e8a9ab9fb158b80eae7b000109f5ef7dd5d1efc9b7de64077041337110cdaa2bb05c7dbd6751bcdb6ade70100794d1a0ef3d462ae7e6a969a83e9f81245d389810da2e3ba8993ef7daff017005b222f1c29db487aac92aab1068afda51cd1e5489fc8931d2d9bdc142db5cccc17c65f729a57cf0ef7e4af9449f77000f39713ef371664621e2ad89f7c0261f4415dee34a6fe7c8dd041257bd2b793745d70103be171d0326cdc0321487d37d) -emitted operations - -big_map diff - - -storage - (Some 0x093485ee7701aefb89433f119a5b8d5a4230dabdafe8e55f26b23190b8550a1c51aa83ea1939d33de5477a4599f5101d0b36aa79caab813b87e102a83105b6bdb892e2381578aad742e53293c9bd24463156ca976342cbd03059b174e811884207b155b1dfc641bb0180493fcf47ed39010fd2d8420098b6ce5c1378cd402f725e7a91ee74cf068e4111a76ebdd2e6030b0220df748b9882f8f17cfbd1e624341262073563e037281c86eb70212e399c5efe102e9b0ba01f0b89ef266cb37cf9) -emitted operations - -big_map diff - - -storage - (Some 0x19428930e5a0f05f3319c7f034baf62b00cabd1568cff58065f30046b90021873cf56360730fefba5f2930d9d661dcb5034274f468bd901fed787268a0abaf18641ff90df4651d82e5c6d8c76af87032a8ff6e6e8b1a7bf2965e6f23cf0da586112cd75db7d04b7ed070d16a4372f0520b1c06a995af83d4389b418b8c026f2f3ddbe2ff6d0d8430a61b9b7cce9ff9d7196e415e4390bab69c57f39392dc448df55ea15f576492d15d046904d49e634a03809ccb1873ec89f23e95753c335495) -emitted operations - -big_map diff - - -storage - (Some 0x17692241047f40181fc0ea3d78c9c576477c5c2bef94dc7e795a1f06a32278f59ee4a862338c8d91093336652ea979e20595946083e9500ad695371dd38a84d3782f9bd1362c22210abff64e461b6f0dd6480f5af62ad72f6501a3b1cd5cd36215eec26a3f41f51d8066b88cf6882651b9a90fab9858e91e8cbb4231cc523aa5d031ba95123bc6a5f8e4b2f52fff5b650a81e87155d9e039f6aa9807a4ff68e91c61fc0b80d10e28ffda4e1f088079926575b35ef7f776cb0f36648066765c01) -emitted operations - -big_map diff - - -storage - (Some 0x1541b770bc7b492490eba70ec85bdc68ca78eb22e4f67bfabdf84ee7769e615efde8e6bd754d03ec62c41583b0bef01d06ff063375db383cf814f3807a5127afd82f55bf157bba04e36399cbaf189f63da12d29b0c584833d55b6e788e27d4a5176635964576c34bc77e17c29ffd8cad66a2b14880bfb03f5fbef5a66152617a093935ceca865ff6115b04a3720316db0b0b49aecb7883f2700551b8b1f632d7d6dbb1b2a4777c8745300a152eb4b46c742d08df7e8f99715df3a561c233ef00) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[Fr].out deleted file mode 100644 index e21a4e6e9d5c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_zero[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G1].out deleted file mode 100644 index 9802f77eafd1..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_zero[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G2].out deleted file mode 100644 index 39e4c38a98fe..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_neg_zero[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_neg_zero[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g1.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g1.out deleted file mode 100644 index 085a29d57654..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g1.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_neg_g1 - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g2.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g2.out deleted file mode 100644 index 61777ab40588..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_neg_g2.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_neg_g2 - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_nil.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_nil.out deleted file mode 100644 index 85ecec163800..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_nil.out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_nil - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_one.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_one.out deleted file mode 100644 index 9aa929e960b1..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_one.out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_one_one - -storage - (Some False) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_random.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_random.out deleted file mode 100644 index 398a6988e8dd..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_random.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_one_random - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_zero.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_zero.out deleted file mode 100644 index 167cc4436441..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_one_zero.out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_one_zero - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_one.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_one.out deleted file mode 100644 index 482394640712..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_one.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_random_one - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_random.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_random.out deleted file mode 100644 index d134fd6df4d0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_random.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_random_random - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - -storage - (Some False) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_zero.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_zero.out deleted file mode 100644 index 10f7cf4946e0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_random_zero.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_random_zero - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_one.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_one.out deleted file mode 100644 index 08fac9b13194..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_one.out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_zero_one - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_random.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_random.out deleted file mode 100644 index c93d4ac2b3b5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_random.out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_zero_random - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_zero.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_zero.out deleted file mode 100644 index b229c36a7dfe..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_pairing_zero_zero.out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_pairing_zero_zero - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_signature_aggregation.out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_signature_aggregation.out deleted file mode 100644 index 5c32ae6b979b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_signature_aggregation.out +++ /dev/null @@ -1,142 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_signature_aggregation - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - -storage - (Some True) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[Fr].out deleted file mode 100644 index 3675be291eb6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_one[Fr] - -storage - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G1].out deleted file mode 100644 index 072da6d9b94d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_one[G1] - -storage - (Some 0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G2].out deleted file mode 100644 index 99c8ed7c99e8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_one[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_one[G2] - -storage - (Some 0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[Fr].out deleted file mode 100644 index 3848b1c886c3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[Fr].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_random[Fr] - -storage - (Some 0x4fa3eebe8eb999919b25e9496a740ba7e3db1e6af6d7dfc4226af5b7ff1bb31a) -emitted operations - -big_map diff - - -storage - (Some 0xeb3b4692c6d5d3be4529f58dc95561395d4fb06a4b56d5ecee427cb769df650c) -emitted operations - -big_map diff - - -storage - (Some 0x0fd278b6ab93ce8d6b66643b0173fd4e80d0d1776d0de34b13b6ff24227bae29) -emitted operations - -big_map diff - - -storage - (Some 0x9a6bc10fb59d3d43dd642524ddeb3f901c185488da989078efbd0166b878a66b) -emitted operations - -big_map diff - - -storage - (Some 0xd2e244946f6aa1a9f2e36a9f83faf915dd94d7fb31b1a4642eb7bb73861d0a58) -emitted operations - -big_map diff - - -storage - (Some 0xce66a6b5c6d97c52c44f3430271d6c466b1c9f656d43a3f6db6fb76a77b56d02) -emitted operations - -big_map diff - - -storage - (Some 0xfb437df580e072dbc887e9e0546c0843ccdc7b31264730e8e2f3c341a2d13908) -emitted operations - -big_map diff - - -storage - (Some 0xa1d61bc7847d649c7ed6bfdb0511393e83e6a8fe6a8999748ea767f44e2bca11) -emitted operations - -big_map diff - - -storage - (Some 0x5839a13cbc9d2ab02bba8d95197a7145d30d49b05c809ecf226e3e10a5181e02) -emitted operations - -big_map diff - - -storage - (Some 0x90348d02274bba201f5cb5a914c73410d7b34f5bbe090b3cfbe92ae307709055) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G1].out deleted file mode 100644 index 83f4e0bd8f59..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G1].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_random[G1] - -storage - (Some 0x18782e3fbbe1f7abb5e2021b79bce810b5e8ae950c1e60d41731f0ae2ee4ebacbe59a9837bc34d5c61896561b04002be1760374bfa91e105077c507da80c080fe3a6c0ed820ce2515535f339b3f1510016ad6da0ff1a277065798e11aec2f74d) -emitted operations - -big_map diff - - -storage - (Some 0x1054b960d67ee71da9b596e7c543faf72544ba1ea2bc24d635f3da62feeeab2d0b00a8fed7ecf450767e1fdf1f2a913c127c6632387c6b5364a82dd2ff346b93cd29555913377b887c32e5a58fa37a7e69d1d82065e8b84865fee75aca361e6a) -emitted operations - -big_map diff - - -storage - (Some 0x0dbd1f474d065640ee4bde569142e26f7101a5c339c2f6630db6201c47483ed1303637aacb90002e1d7e7a84804b126205a8189fa87963e0fc81ea9c63e0a288768689f0ebe0868d98e9bb7e975026876f1df8502c6340adb3fde872f308704c) -emitted operations - -big_map diff - - -storage - (Some 0x141bebcd3a9c4145dcf836d368618d106cb3ab96669cce51cda04944eb3e0f07f0151a6fb4ba31d395692d4a305d623818a95f330d82b398d85782eb3a2793e098078058a289d5c5903cb78541807339db47e47d7dbbf2b5b4f0b6f9af323626) -emitted operations - -big_map diff - - -storage - (Some 0x088dcd93944d3cd43068b322488e178dd56f0ac3572d535d2c2d1da410e27572e425a4fcbbb8e10836f88d4010dba4a105a5ba71e19fc20bc6054df060a52887551b7b81196d63a3572c080705e9598e20cf3319343940de851d3d7ead06e8e9) -emitted operations - -big_map diff - - -storage - (Some 0x14c66800599dae815074aecfc36e2d43e2cdcf0c6663d9a0ab082488230ed0f6af46976598062df148d8b96144f55c5210e252370e812f951b90cc9765edbd2db2ba8157590338b3f5717a1bed450453f2674e3502bc95b2a8808e6d7442eada) -emitted operations - -big_map diff - - -storage - (Some 0x172318134285db82ebf7eab40d471dd4f733c0a624b360d8df00305ed381f3d59c7a54ce3996be88a63ce593a01c66e813ddee3711dca2ff243ea1e7141de5aec0a7611e67fa1f9c0e89ce7145ce58d0eef987d8949ad02d671166597d3a03ed) -emitted operations - -big_map diff - - -storage - (Some 0x0eb24546ddd153b1f2511c6155417c1d3fcc9750cb6b3af4367d01d485c2b6dba27cb1a7f19286e646e2f7a7aaf0363415735526cbb0f20f3d4141e6776f3c8b3255ee11ef05418ebfa62cf7e03220a5013a27e020544752260e295156f49c0a) -emitted operations - -big_map diff - - -storage - (Some 0x0e76d4b163d641ed1edbfdebdfa71c9fb6ad2e556e56ea0dadc3ea6bfc59b77e1e070063d9eb428b7730f35362310ac917e2386fd701b9389afb48d090552b8cb7a808aaec6669a06db758a7b30cf50933a275bac9a6e56ee4011fce86c496dd) -emitted operations - -big_map diff - - -storage - (Some 0x0a58dd111159092a784e404e0fbe2b03681a0c60ce1ebe52fea33f9780ac82118b6b8583b68fed0907adffdeef055d74120b04a2ebfd3a2a60a638cc4cd997090bb9b04d19cddcd61f9078903bd9f3e65fcdf9e5aec6de5a574ff7daef7cb079) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G2].out deleted file mode 100644 index 2f2b25163cb4..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_random[G2].out +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_random[G2] - -storage - (Some 0x0fdb404adcca2b3e91f5b6824e6f3c88d0086605135f34e733a47749f72e941ea0a546307b76881a2735b6aa24d630a20b9c453f8be68c3a875c4623df2156e61419a83dec2945fab6a50256f03cc9beabfb209d91858be53ead266aff598280191da483f4545715b6bfed1f3bc1aed02f97ed2e92f5bd9818432d1a17c6cef0b738beacef691b40c48b310a3befb95c10e67239e6fdf04c5c6720107466f19bb4d21b06ec221b72cf1a0b6ec4c1657872af587ffdda647cb36f9d73089b83d5) -emitted operations - -big_map diff - - -storage - (Some 0x00ec703f53406268b162add4b534cafad633e6d9453d289aad5f00a7ac68e2a9b1d97e9fb3b622bd95597b62b1fa0e7211fc2a54d8fded35cd021de7396db9dc1bdadce1d940da9c0dfbc6883c1212c639f2982b0f8943fe08ec1a12f1ea03081326c959ac2d47e6f75eacdf604efaa784796cafa511ad560c73552b9db0f8c9e0b1c281163f05b5d86b6b939c8fa5f512f6352c990f48e11a057e748a9695ae1d277918be1aa8fab5c96df723c47825136ef09c36d562214c25a087a5667b39) -emitted operations - -big_map diff - - -storage - (Some 0x17100f69943b685b53113c589254c0b26b23808b376a6addffa896ef873147871a0194d077acce64254e667890048f18056a3208afc3295e0829902800cfa9fcf50edc78841749d02198a3946010e6d800bd36171d41dfb6d79988f61524136003db45da43b3825c6dcf8b9ef46c8a40c842fcc3fee4ccf6d119b7b643ead789612ba75fca0d0a16dd31be31658c7b1d122b6a32d75113bb900ccf4a4da9cefc69b23814c486c9ade79d82eaa0593167b14a06ea2158f9d7710318d82553f1c5) -emitted operations - -big_map diff - - -storage - (Some 0x039c8fa2998d6fd874ea7b5cdfa5089bbe4cddd9958b445b6f33f65c27fd47b56a911e8134fe620275e7feece2ba1f560f731c917b8f756ec340c9d213a14c0f04bc79488ad38ca088d96c9a1c899aabc6cbf5070abf3231394b917c428fb0c5148e4d6c75c3b64e614582fefd2ccc979767d4b4da262d9c95ab27cf2fdf500268f0de8ecce5dad0f8ff5a06ef0e270f0dafac5b9ee6c9ff6665954a58e7dc792a257c1d80f27c1f91f9dedf4efc8da6e1d69d445364c7b7c076aef189f594e7) -emitted operations - -big_map diff - - -storage - (Some 0x118f6abab59d71635a4206e8fd16212e6d2f5f7c756e4308505f9e6473002a198292be2c834ca70cb40a1abeb3989c820a94d180da0025992a5c5ce516a2fa84c2e66d772acaf71c990aecefe420f885823f55bfdfa13db98035ae41c06ee6dc1305555d6da8ba4a92fd9eda92934ac5aed6db9fcc925fa51193a0ddf04594f2707d680d710171f041222e14644debfd14f43b880a07bdca546ffd02d792ed38be37171971ff662b094d54a37816aff6efbb2e57875dd9af97dee97e8c5f6109) -emitted operations - -big_map diff - - -storage - (Some 0x11308b1d8c4cb3cb1a57c98f1163ea78c44c1035cbc741988dc56a3c10c3d3b94b29445eae3199073857dbe6b146d6aa087a91a83306c1cbbc1f2eef3d058639ceda4e98ab1124dbaccc52dd25d7116675de0ba740fe95f2700ec1504461365a08ff04b06bba77a77b5b7ffa45a3ec56c8626fb7219f0d2d891251c1b4881f141bbbaf09217044e9bb69c8c1652476500153567f2ca8dd517cbd1c3467c10771d02fbf45fdad811118b325ce97e43ef72beff8857f44b0968de7b01a770fddd0) -emitted operations - -big_map diff - - -storage - (Some 0x0172fab176d798aed92f6ac9abeb28c510d77fd42601522db72c8fd7abe52fa0ce5adfb2ef67739bc4fb64fbbe3cd52b12a54aa1af0a44cdcc5c9110c13eac553ff037f1a8f304d052a0fc96ea40c946d5d31a8427feb1249fec862c28356afc0794bfcdc71fb3dfcf664e9a8db201c5b774ec45c2f0028531ff6abd2292dc1856fa9420fc8f5b632e84a592d73b25ba0fbb3e8cc6371e5f0d6c04b356f0e9d786545619a397f1dc1041854b5bde626b1b1d01258d6b16a80588453996a6eb00) -emitted operations - -big_map diff - - -storage - (Some 0x0156d0250e60af2f0678224eed0afee0594bb6f85293f7c4ab93b17ea0231bc1590d28250968931b8ee23a6f0f364d8c029e81178b6e60e9de5f858d44b102b823a028c4b8c230cf78e5f8a77964fda2bc4cb1a8cafd08641dcb20689b0903c104e58754b4c52b2b225473b407544d32823b8a7b47b2b919b96da883e20bd8a526ffe21928186d36d8355c16aa56523004f6dc232f441b80a9efaedec4dfd3abafffa97af0623f434e324120ecf61516affd143cc275ebda8c7552c89c718764) -emitted operations - -big_map diff - - -storage - (Some 0x058b2dbf9ed4d328d9afa79262a86ef47a044bba9226441df410d255040ae88931ca92ad6f127656c2309a3f9724af830cdb406c0cf88f930976f2b162d300d58930a9ef86869073be0043e9383e5875d9f5ce8a2cfee895f2591b6a265811ca13baaa13b0d54995b9ac5c2bd893730b07abf2f8b4c99b121870227c594365dac3e330dbeff1c2fb93f8b1dc6ec4d8311525ee7f96ac8b71f94b149bde3749c2d03fb8494592daafb6963c6a9427b887d67b0ad72c29804aff97897e6272379b) -emitted operations - -big_map diff - - -storage - (Some 0x0cfe1a34585ccf7095a05262a23fa1acde77911d1b9d0f894d63457ae6da644c417569c14a4e39b0ee2e51926a1ce7f108d6d899a1e78d27e6586f31d50fdf882d001bdb7fe934061214b756c5a9e64b66b5b13cd4c44ba1dd97101e394f82ec0661b38d968d819b85eab59f321c42b2d05e8037f4d1ba00bcaa80f2fe8f4130c4e292c073a856e095cc823965ffe97918ef4fa0f24b9bfa56b0ce783b3a6362de2781080d6ff52651e6ff71176b873318138cade3d284921c3eacf1734f5854) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[Fr].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[Fr].out deleted file mode 100644 index bea720520d2b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[Fr].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_zero[Fr] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G1].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G1].out deleted file mode 100644 index 8a3d892037ce..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G1].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_zero[G1] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G2].out b/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G2].out deleted file mode 100644 index 753c6e8e50ca..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_bls12_381.TestBls12_381::test_store_zero[G2].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_bls12_381.py::TestBls12_381::test_store_zero[G2] - -storage - (Some 0x400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert.tz].out deleted file mode 100644 index ecb6ed5236c4..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert.tz].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert.tz] - -{ parameter bool ; - storage unit ; - code { CAR ; - { IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpeq.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpeq.tz].out deleted file mode 100644 index e8e8a3deb30d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpeq.tz].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_cmpeq.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpge.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpge.tz].out deleted file mode 100644 index 373d111f8085..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpge.tz].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_cmpge.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - { { COMPARE ; GE } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpgt.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpgt.tz].out deleted file mode 100644 index 5bd545449eca..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpgt.tz].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_cmpgt.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - { { COMPARE ; GT } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmple.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmple.tz].out deleted file mode 100644 index f3d4d37147ff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmple.tz].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_cmple.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - { { COMPARE ; LE } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmplt.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmplt.tz].out deleted file mode 100644 index b8f74d280b69..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmplt.tz].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_cmplt.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - { { COMPARE ; LT } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpneq.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpneq.tz].out deleted file mode 100644 index 796fa762d19b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_cmpneq.tz].out +++ /dev/null @@ -1,12 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_cmpneq.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - { { COMPARE ; NEQ } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_eq.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_eq.tz].out deleted file mode 100644 index eef7f6e62e0f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_eq.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_eq.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - { EQ ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_ge.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_ge.tz].out deleted file mode 100644 index 0f06e3218404..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_ge.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_ge.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - { GE ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_gt.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_gt.tz].out deleted file mode 100644 index a8d7b7258234..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_gt.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_gt.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - { GT ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_le.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_le.tz].out deleted file mode 100644 index 143b8189edda..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_le.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_le.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - { LE ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_lt.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_lt.tz].out deleted file mode 100644 index 41eeb504eedc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_lt.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_lt.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - { LT ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_neq.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_neq.tz].out deleted file mode 100644 index a4396bd63365..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--assert_neq.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/assert_neq.tz] - -{ parameter (pair int int) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - { NEQ ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_get_add.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_get_add.tz].out deleted file mode 100644 index f2d2e74bb144..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_get_add.tz].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/big_map_get_add.tz] - -{ parameter (pair (pair %set_pair int (option int)) (pair %check_pair int (option int))) ; - storage (pair (big_map int int) unit) ; - code { DUP ; - DIP { { CDR ; CAR } } ; - DUP ; - DIP { { CAR ; CDR } ; DUP ; CAR ; DIP { CDR } ; UPDATE ; DUP } ; - { CAR ; CDR } ; - DUP ; - CDR ; - DIP { CAR ; GET } ; - { IF_NONE - { { IF_NONE {} { { UNIT ; FAILWITH } } } } - { SWAP ; - { IF_NONE - { { UNIT ; FAILWITH } } - { { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } } } } } ; - UNIT ; - SWAP ; - PAIR ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_mem.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_mem.tz].out deleted file mode 100644 index f88196979829..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--big_map_mem.tz].out +++ /dev/null @@ -1,14 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/big_map_mem.tz] - -{ parameter (pair int bool) ; - storage (pair (big_map int unit) unit) ; - code { DUP ; - DUP ; - { CAR ; CDR } ; - DIP { { CAR ; CAR } ; DIP { { CDR ; CAR } ; DUP } ; MEM } ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - UNIT ; - SWAP ; - PAIR ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--build_list.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--build_list.tz].out deleted file mode 100644 index 32d853aad03e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--build_list.tz].out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/build_list.tz] - -{ parameter nat ; - storage (list nat) ; - code { CAR @counter ; - NIL @acc nat ; - SWAP ; - DUP @cmp_num ; - PUSH nat 0 ; - { COMPARE ; NEQ } ; - LOOP { DUP ; - DIP { SWAP } ; - CONS @acc ; - SWAP ; - PUSH nat 1 ; - SWAP ; - SUB @counter ; - DUP ; - DIP { ABS } ; - PUSH int 0 ; - { COMPARE ; NEQ } } ; - CONS ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--carn_and_cdrn.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--carn_and_cdrn.tz].out deleted file mode 100644 index 0d9b5bcdc95d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--carn_and_cdrn.tz].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/carn_and_cdrn.tz] - -{ parameter (pair nat nat nat unit) ; - storage unit ; - code { CAR ; - DUP ; - CAR ; - PUSH nat 1 ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - DUP ; - { GET 1 } ; - PUSH nat 1 ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - DUP ; - { GET 3 } ; - PUSH nat 4 ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - DUP ; - { GET 5 } ; - PUSH nat 2 ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - DUP ; - { GET 6 } ; - UNIT ; - { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; - DROP ; - UNIT ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare.tz].out deleted file mode 100644 index afc0c17fe864..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare.tz].out +++ /dev/null @@ -1,22 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/compare.tz] - -{ parameter (pair mutez mutez) ; - storage (list bool) ; - code { CAR ; - DUP ; - DUP ; - DUP ; - DUP ; - DIP 5 { NIL bool } ; - DIP 4 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LE ; CONS } ; - DIP 3 { DUP ; CAR ; DIP { CDR } ; COMPARE ; GE ; CONS } ; - DIP 2 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LT ; CONS } ; - DIP { DUP ; CAR ; DIP { CDR } ; COMPARE ; GT ; CONS } ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - EQ ; - CONS ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare_bytes.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare_bytes.tz].out deleted file mode 100644 index e693b418fbef..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--compare_bytes.tz].out +++ /dev/null @@ -1,22 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/compare_bytes.tz] - -{ parameter (pair bytes bytes) ; - storage (list bool) ; - code { CAR ; - DUP ; - DUP ; - DUP ; - DUP ; - DIP 5 { NIL bool } ; - DIP 4 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LE ; CONS } ; - DIP 3 { DUP ; CAR ; DIP { CDR } ; COMPARE ; GE ; CONS } ; - DIP 2 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LT ; CONS } ; - DIP { DUP ; CAR ; DIP { CDR } ; COMPARE ; GT ; CONS } ; - DUP ; - CAR ; - DIP { CDR } ; - COMPARE ; - EQ ; - CONS ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--fail.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--fail.tz].out deleted file mode 100644 index 64ed2258691c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--fail.tz].out +++ /dev/null @@ -1,3 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/fail.tz] - -{ parameter unit ; storage unit ; code { { UNIT ; FAILWITH } } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--guestbook.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--guestbook.tz].out deleted file mode 100644 index bdae5eca2b3b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--guestbook.tz].out +++ /dev/null @@ -1,18 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/guestbook.tz] - -{ parameter string ; - storage (map address (option string)) ; - code { UNPAIR @message @guestbook ; - SWAP ; - DUP ; - SENDER ; - GET @previous_message ; - { IF_NONE { { UNIT ; FAILWITH } } {} } ; - { IF_NONE {} { { UNIT ; FAILWITH } } } ; - SWAP ; - SOME ; - SOME ; - SENDER ; - UPDATE ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--macro_annotations.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--macro_annotations.tz].out deleted file mode 100644 index 1732fef879df..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--macro_annotations.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/macro_annotations.tz] - -{ parameter unit ; - storage (pair (unit %truc) unit) ; - code { DROP ; - UNIT ; - UNIT ; - PAIR %truc ; - UNIT ; - DUP @new_storage 2 ; - DIP { DROP ; DROP } ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--map_caddaadr.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--map_caddaadr.tz].out deleted file mode 100644 index 8b6faa5e7198..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--map_caddaadr.tz].out +++ /dev/null @@ -1,40 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/map_caddaadr.tz] - -{ parameter unit ; - storage (pair (pair nat (pair nat (pair (pair (pair (nat %p) (mutez %value)) nat) nat))) nat) ; - code { { DUP ; - DIP { CDR @%% ; - { DUP ; - DIP { CAR @%% ; - { DUP ; - DIP { CDR @%% ; - { DUP ; - DIP { CDR @%% ; - { DUP ; - DIP { CAR @%% ; - { DUP ; - DIP { CAR @%% ; - { DUP ; - CDR @value ; - { PUSH mutez 1000000 ; ADD } ; - SWAP ; - CAR @%% ; - PAIR %@ %value } } ; - CDR @%% ; - SWAP ; - PAIR %@ %@ } } ; - CDR @%% ; - SWAP ; - PAIR %@ %@ } } ; - CAR @%% ; - PAIR %@ %@ } } ; - CAR @%% ; - PAIR %@ %@ } } ; - CDR @%% ; - SWAP ; - PAIR %@ %@ } } ; - CAR @%% ; - PAIR %@ %@ @new_storage } ; - NIL operation ; - SWAP ; - { CDR @%% ; SWAP ; PAIR % %@ } } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--max_in_list.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--max_in_list.tz].out deleted file mode 100644 index db884d7ca7df..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--max_in_list.tz].out +++ /dev/null @@ -1,17 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/max_in_list.tz] - -{ parameter (list int) ; - storage (option int) ; - code { CAR ; - DIP { NONE int } ; - ITER { SWAP ; - IF_NONE - { SOME } - { DIP { DUP } ; - DUP ; - DIP { SWAP } ; - { COMPARE ; LE } ; - IF { DROP } { DIP { DROP } } ; - SOME } } ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--min.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--min.tz].out deleted file mode 100644 index a3d51ed28e06..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--min.tz].out +++ /dev/null @@ -1,13 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/min.tz] - -{ parameter (pair int int) ; - storage int ; - code { CAR ; - DUP ; - DUP ; - CAR ; - DIP { CDR } ; - { COMPARE ; LT } ; - IF { CAR } { CDR } ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--pair_macro.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--pair_macro.tz].out deleted file mode 100644 index 0fe1ec7c7e4f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--pair_macro.tz].out +++ /dev/null @@ -1,18 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/pair_macro.tz] - -{ parameter unit ; - storage unit ; - code { UNIT ; - UNIT ; - UNIT ; - UNIT ; - UNIT ; - { DIP 3 { PAIR %x4 %x5 } ; - DIP 2 { PAIR %x3 } ; - DIP { PAIR %x2 } ; - PAIR %x1 @name } ; - { CDR ; CDR ; CDR ; CAR %x4 @fourth } ; - DROP ; - CDR ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--set_caddaadr.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--set_caddaadr.tz].out deleted file mode 100644 index 8bceb2f9464f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--set_caddaadr.tz].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/set_caddaadr.tz] - -{ parameter mutez ; - storage (pair (pair nat (pair nat (pair (pair (pair (nat %p) (mutez %value)) nat) nat))) nat) ; - code { DUP ; - CAR ; - SWAP ; - CDR ; - { DUP ; - DIP { CAR @%% ; - { DUP ; - DIP { CDR @%% ; - { DUP ; - DIP { CDR @%% ; - { DUP ; - DIP { CAR @%% ; - { DUP ; - DIP { CAR @%% ; { DUP ; CDR %value ; DROP ; CAR @%% ; PAIR %@ %value } } ; - CDR @%% ; - SWAP ; - PAIR %@ %@ } } ; - CDR @%% ; - SWAP ; - PAIR %@ %@ } } ; - CAR @%% ; - PAIR %@ %@ } } ; - CAR @%% ; - PAIR %@ %@ } } ; - CDR @%% ; - SWAP ; - PAIR %@ %@ @toplevel_pair_name } ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--take_my_money.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--take_my_money.tz].out deleted file mode 100644 index cbac49cc5b33..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--take_my_money.tz].out +++ /dev/null @@ -1,14 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/take_my_money.tz] - -{ parameter key_hash ; - storage unit ; - code { CAR ; - IMPLICIT_ACCOUNT ; - DIP { UNIT } ; - PUSH mutez 1000000 ; - UNIT ; - TRANSFER_TOKENS ; - NIL operation ; - SWAP ; - CONS ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--unpair_macro.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--unpair_macro.tz].out deleted file mode 100644 index 572bfa77f6e7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_macros.TestMacroExpansion::test_macro_expansion[macros--unpair_macro.tz].out +++ /dev/null @@ -1,20 +0,0 @@ -tests_008/test_contract_macros.py::TestMacroExpansion::test_macro_expansion[macros/unpair_macro.tz] - -{ parameter (unit :param_unit) ; - storage (unit :u1) ; - code { DROP ; - UNIT :u4 @a4 ; - UNIT :u3 @a3 ; - UNIT :u2 @a2 ; - UNIT :u1 @a1 ; - PAIR ; - UNPAIR @x1 @x2 ; - { DIP 2 { PAIR %x3 %x4 } ; PAIR %x1 %x2 ; PAIR @p1 } ; - { UNPAIR ; UNPAIR ; DIP 2 { UNPAIR } } ; - { DIP 2 { PAIR %x3 %x4 } ; DIP { PAIR %x2 } ; PAIR %x1 @p2 } ; - { UNPAIR ; DIP { UNPAIR } ; DIP 2 { UNPAIR } } ; - { DIP { PAIR %x2 %x3 } ; DIP { PAIR % %x4 } ; PAIR %x1 @p3 } ; - { UNPAIR ; DIP { UNPAIR } ; DIP { UNPAIR } } ; - DIP { DROP ; DROP ; DROP } ; - NIL operation ; - PAIR } } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_diff.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_diff.out deleted file mode 100644 index d2d3d010a7b4..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_diff.out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractBigMapOrigination::test_big_map_origination_diff - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (big_map int int) ; - storage (big_map int int) ; - code { CAR ; NIL operation ; PAIR } } - Initial storage: (Pair 0 { Elt 1 (Some 4) }) - No delegate for this contract - This operation FAILED. - -Ill typed data: 1: (Pair 0 { Elt 1 (Some 4) }) -is not an expression of type big_map int int -At line 1 characters 0 to 26, value (Pair 0 { Elt 1 (Some 4) }) -is invalid for type big_map int int. -At line 1 characters 6 to 7, -Unexpected forged value. -Fatal error: - origination simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_id.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_id.out deleted file mode 100644 index 8ff41c8501bd..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_id.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractBigMapOrigination::test_big_map_origination_id - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (big_map int int) ; - storage (big_map int int) ; - code { CAR ; NIL operation ; PAIR } } - Initial storage: 0 - No delegate for this contract - This operation FAILED. - -Ill typed data: 1: 0 is not an expression of type big_map int int -At line 1 characters 0 to 1, value 0 is invalid for type big_map int int. -At line 1 characters 0 to 1, -Unexpected forged value. -Fatal error: - origination simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out deleted file mode 100644 index 5e1791857c3e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_origination_literal.out +++ /dev/null @@ -1,48 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractBigMapOrigination::test_big_map_origination_literal - -Node is bootstrapped. -Estimated gas: 1899.425 units (will add 100 for safety) -Estimated storage: 403 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000486 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2000 - Storage limit: 423 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000486 - fees(the baker who will include this operation,0) ... +ꜩ0.000486 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (big_map int int) ; - storage (big_map int int) ; - code { CAR ; NIL operation ; PAIR } } - Initial storage: { Elt 0 0 } - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 146 bytes - Updated big_maps: - New map(0) of type (big_map int int) - Set map(0)[0] to 0 - Paid storage size diff: 146 bytes - Consumed gas: 1899.425 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0365 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as originate_big_map_literal. -Injected block [BLOCK_HASH] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_diff.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_diff.out deleted file mode 100644 index 24319f378cb7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_diff.out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractBigMapOrigination::test_big_map_transfer_diff - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair 0 { Elt 1 (Some 4) }) - This operation FAILED. - -Invalid argument passed to contract [CONTRACT_HASH]. -At (unshown) location 0, value (Pair 0 { Elt 1 (Some 4) }) -is invalid for type big_map int int. -At (unshown) location 1, Unexpected forged value. -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_id.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_id.out deleted file mode 100644 index d750ec0a5833..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractBigMapOrigination::test_big_map_transfer_id.out +++ /dev/null @@ -1,22 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractBigMapOrigination::test_big_map_transfer_id - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: 0 - This operation FAILED. - -Invalid argument passed to contract [CONTRACT_HASH]. -At (unshown) location 0, value 0 is invalid for type big_map int int. -At (unshown) location 0, Unexpected forged value. -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out deleted file mode 100644 index 346abab6cef2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainLevel::test_level.out +++ /dev/null @@ -1,121 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainLevel::test_level - -Node is bootstrapped. -Estimated gas: 1578.332 units (will add 100 for safety) -Estimated storage: 300 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000441 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1679 - Storage limit: 320 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000441 - fees(the baker who will include this operation,0) ... +ꜩ0.000441 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ100 - Script: - { parameter unit ; - storage nat ; - code { DROP ; LEVEL ; NIL operation ; PAIR } } - Initial storage: 9999999 - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 43 bytes - Paid storage size diff: 43 bytes - Consumed gas: 1578.332 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.01075 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -New contract [CONTRACT_HASH] originated. -Contract memorized as level. -Injected block [BLOCK_HASH] -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 2226.695 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000485 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2327 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000485 - fees(the baker who will include this operation,0) ... +ꜩ0.000485 - Transaction: - Amount: ꜩ500 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: 4 - Storage size: 40 bytes - Consumed gas: 2226.695 - Balance updates: - [CONTRACT_HASH] ... -ꜩ500 - [CONTRACT_HASH] ... +ꜩ500 - -Injected block [BLOCK_HASH] -{ "level": [LEVEL], "proto": 1, - "predecessor": "[BLOCK_HASH]", - "timestamp": "[TIMESTAMP]", "validation_pass": 4, - "operations_hash": "[OPERATION_HASH]", - "fitness": "[FITNESS]", - "context": "[CONTEXT]" } -4 -Injected block [BLOCK_HASH] -Injected block [BLOCK_HASH] -4 -Node is bootstrapped. -Estimated gas: 2226.689 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000485 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2327 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000485 - fees(the baker who will include this operation,0) ... +ꜩ0.000485 - Transaction: - Amount: ꜩ500 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: 7 - Storage size: 40 bytes - Consumed gas: 2226.689 - Balance updates: - [CONTRACT_HASH] ... -ꜩ500 - [CONTRACT_HASH] ... +ꜩ500 - -Injected block [BLOCK_HASH] -7 diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_contract_fails.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_contract_fails.out deleted file mode 100644 index b1293259d991..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_contract_fails.out +++ /dev/null @@ -1,2 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_contract_fails - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_gen_keys.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_gen_keys.out deleted file mode 100644 index 18894b927845..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_gen_keys.out +++ /dev/null @@ -1,2 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_gen_keys - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out deleted file mode 100644 index 0a561d2f43bf..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_init_proxy.out +++ /dev/null @@ -1,51 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_init_proxy - -Node is bootstrapped. -Estimated gas: 1665.810 units (will add 100 for safety) -Estimated storage: 312 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000463 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1766 - Storage limit: 332 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000463 - fees(the baker who will include this operation,2) ... +ꜩ0.000463 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (contract unit) ; - storage unit ; - code { UNPAIR ; - AMOUNT ; - UNIT ; - TRANSFER_TOKENS ; - DIP { NIL operation } ; - CONS ; - PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 55 bytes - Paid storage size diff: 55 bytes - Consumed gas: 1665.810 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.01375 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as proxy. -Injected block [BLOCK_HASH] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_now.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_now.out deleted file mode 100644 index b48492c55125..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_now.out +++ /dev/null @@ -1,2 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_now - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_self.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_self.out deleted file mode 100644 index 03e61a8c1c6e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_self.out +++ /dev/null @@ -1,2 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_self - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_sender.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_sender.out deleted file mode 100644 index b302c4fafe77..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_sender.out +++ /dev/null @@ -1,2 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_sender - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out deleted file mode 100644 index 6e75be08608c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_set_delegate.out +++ /dev/null @@ -1,121 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_set_delegate - -Node is bootstrapped. -Estimated gas: 1636.164 units (will add 100 for safety) -Estimated storage: 308 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000456 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1737 - Storage limit: 328 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000456 - fees(the baker who will include this operation,4) ... +ꜩ0.000456 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (option key_hash) ; - storage unit ; - code { UNPAIR ; SET_DELEGATE ; DIP { NIL operation } ; CONS ; PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 51 bytes - Paid storage size diff: 51 bytes - Consumed gas: 1636.164 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.01275 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as set_delegate. -Injected block [BLOCK_HASH] -Injected block [BLOCK_HASH] -none -Node is bootstrapped. -Estimated gas: 3520.421 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000659 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 3621 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000659 - fees(the baker who will include this operation,4) ... +ꜩ0.000659 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Some "[CONTRACT_HASH]") - This transaction was successfully applied - Updated storage: Unit - Storage size: 51 bytes - Consumed gas: 2520.421 - Internal operations: - Delegation: - Contract: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This delegation was successfully applied - Consumed gas: 1000 - -Injected block [BLOCK_HASH] -[CONTRACT_HASH] (known as bootstrap5) -Node is bootstrapped. -Estimated gas: 3494.881 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000615 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 3595 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000615 - fees(the baker who will include this operation,4) ... +ꜩ0.000615 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: None - This transaction was successfully applied - Updated storage: Unit - Storage size: 51 bytes - Consumed gas: 2494.881 - Internal operations: - Delegation: - Contract: [CONTRACT_HASH] - To: nobody - This delegation was successfully applied - Consumed gas: 1000 - -Injected block [BLOCK_HASH] -none diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out deleted file mode 100644 index e7be60dd808a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice.out +++ /dev/null @@ -1,85 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice - -Node is bootstrapped. -Estimated gas: 4015.117 units (will add 100 for safety) -Estimated storage: 835 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.001242 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 4116 - Storage limit: 855 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.001242 - fees(the baker who will include this operation,3) ... +ꜩ0.001242 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (pair bytes signature) ; - storage key ; - code { DUP ; - CAAR ; - DUP ; - SIZE ; - PUSH nat 128 ; - SWAP ; - SUB ; - ISNAT ; - ASSERT_SOME ; - PUSH nat 128 ; - SLICE @payload ; - ASSERT_SOME ; - DUP ; - DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; - SHA256 ; - ASSERT_CMPEQ } ; - DUP ; - DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; - BLAKE2B ; - ASSERT_CMPEQ } ; - DUP ; - DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; - SHA512 ; - ASSERT_CMPEQ } ; - DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; - SWAP ; - DIP { SWAP } ; - CHECK_SIGNATURE ; - ASSERT ; - CDR ; - DUP ; - HASH_KEY ; - IMPLICIT_ACCOUNT ; - BALANCE ; - UNIT ; - TRANSFER_TOKENS ; - NIL operation ; - SWAP ; - CONS ; - PAIR } } - Initial storage: - "[OPERATION_HASH]na" - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 578 bytes - Paid storage size diff: 578 bytes - Consumed gas: 4015.117 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.1445 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as slices. -Injected block [BLOCK_HASH] diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0 \"spsig1PPUFZucuAQybs5wsqs.818025e860.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0 \"spsig1PPUFZucuAQybs5wsqs.818025e860.out" deleted file mode 100644 index 90f374824c66..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0 \"spsig1PPUFZucuAQybs5wsqs.818025e860.out" +++ /dev/null @@ -1,66 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")] - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair 0xe009ab79e8b84ef0 - "sp[SIGNATURE]m") - This operation FAILED. - -Runtime error in contract [CONTRACT_HASH]: - 01: { parameter (pair bytes signature) ; - 02: storage key ; - 03: code { DUP ; - 04: CAAR ; - 05: DUP ; - 06: SIZE ; - 07: PUSH nat 128 ; - 08: SWAP ; - 09: SUB ; - 10: ISNAT ; - 11: ASSERT_SOME ; - 12: PUSH nat 128 ; - 13: SLICE @payload ; - 14: ASSERT_SOME ; - 15: DUP ; - 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; - 17: SHA256 ; - 18: ASSERT_CMPEQ } ; - 19: DUP ; - 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; - 21: BLAKE2B ; - 22: ASSERT_CMPEQ } ; - 23: DUP ; - 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; - 25: SHA512 ; - 26: ASSERT_CMPEQ } ; - 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; - 28: SWAP ; - 29: DIP { SWAP } ; - 30: CHECK_SIGNATURE ; - 31: ASSERT ; - 32: CDR ; - 33: DUP ; - 34: HASH_KEY ; - 35: IMPLICIT_ACCOUNT ; - 36: BALANCE ; - 37: UNIT ; - 38: TRANSFER_TOKENS ; - 39: NIL operation ; - 40: SWAP ; - 41: CONS ; - 42: PAIR } } -At line 11 characters 9 to 20, -script reached FAILWITH instruction -with Unit -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.2d6806d54e.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.2d6806d54e.out deleted file mode 100644 index 0a2afff17692..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.2d6806d54e.out +++ /dev/null @@ -1,66 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2deaad01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")] - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair [OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH]000085341554349535345 - "sp[SIGNATURE]m") - This operation FAILED. - -Runtime error in contract [CONTRACT_HASH]: - 01: { parameter (pair bytes signature) ; - 02: storage key ; - 03: code { DUP ; - 04: CAAR ; - 05: DUP ; - 06: SIZE ; - 07: PUSH nat 128 ; - 08: SWAP ; - 09: SUB ; - 10: ISNAT ; - 11: ASSERT_SOME ; - 12: PUSH nat 128 ; - 13: SLICE @payload ; - 14: ASSERT_SOME ; - 15: DUP ; - 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; - 17: SHA256 ; - 18: ASSERT_CMPEQ } ; - 19: DUP ; - 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; - 21: BLAKE2B ; - 22: ASSERT_CMPEQ } ; - 23: DUP ; - 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; - 25: SHA512 ; - 26: ASSERT_CMPEQ } ; - 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; - 28: SWAP ; - 29: DIP { SWAP } ; - 30: CHECK_SIGNATURE ; - 31: ASSERT ; - 32: CDR ; - 33: DUP ; - 34: HASH_KEY ; - 35: IMPLICIT_ACCOUNT ; - 36: BALANCE ; - 37: UNIT ; - 38: TRANSFER_TOKENS ; - 39: NIL operation ; - 40: SWAP ; - 41: CONS ; - 42: PAIR } } -At line 22 characters 15 to 27, -script reached FAILWITH instruction -with Unit -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.378d03ae2d.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.378d03ae2d.out deleted file mode 100644 index 8b97322a0e01..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.378d03ae2d.out +++ /dev/null @@ -1,66 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150733eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")] - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair [OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH]000085341554349535345 - "sp[SIGNATURE]m") - This operation FAILED. - -Runtime error in contract [CONTRACT_HASH]: - 01: { parameter (pair bytes signature) ; - 02: storage key ; - 03: code { DUP ; - 04: CAAR ; - 05: DUP ; - 06: SIZE ; - 07: PUSH nat 128 ; - 08: SWAP ; - 09: SUB ; - 10: ISNAT ; - 11: ASSERT_SOME ; - 12: PUSH nat 128 ; - 13: SLICE @payload ; - 14: ASSERT_SOME ; - 15: DUP ; - 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; - 17: SHA256 ; - 18: ASSERT_CMPEQ } ; - 19: DUP ; - 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; - 21: BLAKE2B ; - 22: ASSERT_CMPEQ } ; - 23: DUP ; - 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; - 25: SHA512 ; - 26: ASSERT_CMPEQ } ; - 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; - 28: SWAP ; - 29: DIP { SWAP } ; - 30: CHECK_SIGNATURE ; - 31: ASSERT ; - 32: CDR ; - 33: DUP ; - 34: HASH_KEY ; - 35: IMPLICIT_ACCOUNT ; - 36: BALANCE ; - 37: UNIT ; - 38: TRANSFER_TOKENS ; - 39: NIL operation ; - 40: SWAP ; - 41: CONS ; - 42: PAIR } } -At line 26 characters 15 to 27, -script reached FAILWITH instruction -with Unit -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.57fdc7ad1c.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.57fdc7ad1c.out deleted file mode 100644 index 4c6c28b6e1ad..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75.57fdc7ad1c.out +++ /dev/null @@ -1,66 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_fails[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "p2sigsceCzcDw2AeYDzUonj4JT341WC9Px4wdhHBxbZcG1FhfqFVuG7f2fGCzrEHSAZgrsrQWpxduDPk9qZRgrpzwJnSHC3gZJ")] - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair [OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH]000085341554349535345 - "p2[SIGNATURE]") - This operation FAILED. - -Runtime error in contract [CONTRACT_HASH]: - 01: { parameter (pair bytes signature) ; - 02: storage key ; - 03: code { DUP ; - 04: CAAR ; - 05: DUP ; - 06: SIZE ; - 07: PUSH nat 128 ; - 08: SWAP ; - 09: SUB ; - 10: ISNAT ; - 11: ASSERT_SOME ; - 12: PUSH nat 128 ; - 13: SLICE @payload ; - 14: ASSERT_SOME ; - 15: DUP ; - 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; - 17: SHA256 ; - 18: ASSERT_CMPEQ } ; - 19: DUP ; - 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; - 21: BLAKE2B ; - 22: ASSERT_CMPEQ } ; - 23: DUP ; - 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; - 25: SHA512 ; - 26: ASSERT_CMPEQ } ; - 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; - 28: SWAP ; - 29: DIP { SWAP } ; - 30: CHECK_SIGNATURE ; - 31: ASSERT ; - 32: CDR ; - 33: DUP ; - 34: HASH_KEY ; - 35: IMPLICIT_ACCOUNT ; - 36: BALANCE ; - 37: UNIT ; - 38: TRANSFER_TOKENS ; - 39: NIL operation ; - 40: SWAP ; - 41: CONS ; - 42: PAIR } } -At line 31 characters 9 to 15, -script reached FAILWITH instruction -with Unit -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75.c583c796bf.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75.c583c796bf.out deleted file mode 100644 index b0a2cf8f17cd..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_fails[(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75.c583c796bf.out +++ /dev/null @@ -1,66 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_fails[(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")] - -Node is bootstrapped. -This simulation failed: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1040000 - Storage limit: 60000 bytes - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair [OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH]000085341554349535345 - "sp[SIGNATURE]m") - This operation FAILED. - -Runtime error in contract [CONTRACT_HASH]: - 01: { parameter (pair bytes signature) ; - 02: storage key ; - 03: code { DUP ; - 04: CAAR ; - 05: DUP ; - 06: SIZE ; - 07: PUSH nat 128 ; - 08: SWAP ; - 09: SUB ; - 10: ISNAT ; - 11: ASSERT_SOME ; - 12: PUSH nat 128 ; - 13: SLICE @payload ; - 14: ASSERT_SOME ; - 15: DUP ; - 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; - 17: SHA256 ; - 18: ASSERT_CMPEQ } ; - 19: DUP ; - 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; - 21: BLAKE2B ; - 22: ASSERT_CMPEQ } ; - 23: DUP ; - 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; - 25: SHA512 ; - 26: ASSERT_CMPEQ } ; - 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; - 28: SWAP ; - 29: DIP { SWAP } ; - 30: CHECK_SIGNATURE ; - 31: ASSERT ; - 32: CDR ; - 33: DUP ; - 34: HASH_KEY ; - 35: IMPLICIT_ACCOUNT ; - 36: BALANCE ; - 37: UNIT ; - 38: TRANSFER_TOKENS ; - 39: NIL operation ; - 40: SWAP ; - 41: CONS ; - 42: PAIR } } -At line 18 characters 15 to 27, -script reached FAILWITH instruction -with Unit -Fatal error: - transfer simulation failed diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out deleted file mode 100644 index 5b62f6f993ff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b.7da5c9014e.out +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_slice_success[(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")] - -Node is bootstrapped. -Estimated gas: 6730.436 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.001191 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 6831 - Storage limit: 277 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.001191 - fees(the baker who will include this operation,3) ... +ꜩ0.001191 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: (Pair [OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH][OPERATION_HASH]000085341554349535345 - "sp[SIGNATURE]m") - This transaction was successfully applied - Updated storage: - [OPERATION_HASH]48f709699019725ba - Storage size: 578 bytes - Consumed gas: 5303.436 - Internal operations: - Transaction: - Amount: ꜩ1000 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Consumed gas: 1427 - Balance updates: - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - [CONTRACT_HASH] ... -ꜩ0.06425 - -Injected block [BLOCK_HASH] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out deleted file mode 100644 index b8ad027b7568..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_source.out +++ /dev/null @@ -1,117 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_source - -Node is bootstrapped. -Estimated gas: 1662.020 units (will add 100 for safety) -Estimated storage: 322 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000487 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1763 - Storage limit: 342 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000487 - fees(the baker who will include this operation,2) ... +ꜩ0.000487 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter unit ; - storage address ; - code { DROP ; SOURCE ; NIL operation ; PAIR } } - Initial storage: "[CONTRACT_HASH]" - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 65 bytes - Paid storage size diff: 65 bytes - Consumed gas: 1662.020 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.01625 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as source. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 2543.359 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000513 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2644 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000513 - fees(the baker who will include this operation,2) ... +ꜩ0.000513 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c - Storage size: 65 bytes - Consumed gas: 2543.359 - -Injected block [BLOCK_HASH] -"[CONTRACT_HASH]" -[CONTRACT_HASH] - -Node is bootstrapped. -Estimated gas: 5961.532 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000901 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 6062 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000901 - fees(the baker who will include this operation,2) ... +ꜩ0.000901 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "[CONTRACT_HASH]" - This transaction was successfully applied - Updated storage: Unit - Storage size: 55 bytes - Consumed gas: 3418.173 - Internal operations: - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c - Storage size: 65 bytes - Consumed gas: 2543.359 - -Injected block [BLOCK_HASH] -"[CONTRACT_HASH]" diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out deleted file mode 100644 index 398ffe335167..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_bytes.out +++ /dev/null @@ -1,135 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_split_bytes - -Node is bootstrapped. -Estimated gas: 2578.581 units (will add 100 for safety) -Estimated storage: 511 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000753 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2679 - Storage limit: 531 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000753 - fees(the baker who will include this operation,3) ... +ꜩ0.000753 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter bytes ; - storage (list bytes) ; - code { UNPAIR ; - DIP { NIL bytes ; SWAP ; ITER { CONS } } ; - DUP ; - SIZE ; - PUSH nat 0 ; - CMPNEQ ; - DIP { PUSH @index nat 0 } ; - LOOP { PAIR ; - DUP ; - DIP { UNPAIR ; DIP { PUSH nat 1 } ; SLICE ; ASSERT_SOME ; CONS @storage } ; - UNPAIR ; - PUSH nat 1 ; - ADD @index ; - DUP ; - DIP { DIP { DUP } ; SWAP ; SIZE ; CMPNEQ } ; - SWAP } ; - DROP ; - DROP ; - NIL bytes ; - SWAP ; - ITER { CONS } ; - NIL operation ; - PAIR } } - Initial storage: {} - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 254 bytes - Paid storage size diff: 254 bytes - Consumed gas: 2578.581 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0635 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as split_bytes. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 3492.787 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000621 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 3593 - Storage limit: 38 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000621 - fees(the baker who will include this operation,4) ... +ꜩ0.000621 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: 0xaabbcc - This transaction was successfully applied - Updated storage: { 0xaa ; 0xbb ; 0xcc } - Storage size: 272 bytes - Paid storage size diff: 18 bytes - Consumed gas: 3492.787 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0045 - -Injected block [BLOCK_HASH] -{ 0xaa ; 0xbb ; 0xcc } -Node is bootstrapped. -Estimated gas: 3633.637 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000635 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 3734 - Storage limit: 38 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000635 - fees(the baker who will include this operation,4) ... +ꜩ0.000635 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: 0xddeeff - This transaction was successfully applied - Updated storage: { 0xaa ; 0xbb ; 0xcc ; 0xdd ; 0xee ; 0xff } - Storage size: 290 bytes - Paid storage size diff: 18 bytes - Consumed gas: 3633.637 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0045 - -Injected block [BLOCK_HASH] -{ 0xaa ; 0xbb ; 0xcc ; 0xdd ; 0xee ; 0xff } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out deleted file mode 100644 index 8513dcc7484b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_split_string.out +++ /dev/null @@ -1,135 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_split_string - -Node is bootstrapped. -Estimated gas: 2578.581 units (will add 100 for safety) -Estimated storage: 511 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000753 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2679 - Storage limit: 531 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000753 - fees(the baker who will include this operation,3) ... +ꜩ0.000753 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter string ; - storage (list string) ; - code { UNPAIR ; - DIP { NIL string ; SWAP ; ITER { CONS } } ; - DUP ; - SIZE ; - PUSH nat 0 ; - CMPNEQ ; - DIP { PUSH @index nat 0 } ; - LOOP { PAIR ; - DUP ; - DIP { UNPAIR ; DIP { PUSH nat 1 } ; SLICE ; ASSERT_SOME ; CONS @storage } ; - UNPAIR ; - PUSH nat 1 ; - ADD @index ; - DUP ; - DIP { DIP { DUP } ; SWAP ; SIZE ; CMPNEQ } ; - SWAP } ; - DROP ; - DROP ; - NIL string ; - SWAP ; - ITER { CONS } ; - NIL operation ; - PAIR } } - Initial storage: {} - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 254 bytes - Paid storage size diff: 254 bytes - Consumed gas: 2578.581 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0635 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as split_string. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 3462.831 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000618 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 3563 - Storage limit: 38 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000618 - fees(the baker who will include this operation,3) ... +ꜩ0.000618 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "abc" - This transaction was successfully applied - Updated storage: { "a" ; "b" ; "c" } - Storage size: 272 bytes - Paid storage size diff: 18 bytes - Consumed gas: 3462.831 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0045 - -Injected block [BLOCK_HASH] -{ "a" ; "b" ; "c" } -Node is bootstrapped. -Estimated gas: 3519.753 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000623 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 3620 - Storage limit: 38 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000623 - fees(the baker who will include this operation,3) ... +ꜩ0.000623 - Transaction: - Amount: ꜩ0 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "def" - This transaction was successfully applied - Updated storage: { "a" ; "b" ; "c" ; "d" ; "e" ; "f" } - Storage size: 290 bytes - Paid storage size diff: 18 bytes - Consumed gas: 3519.753 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0045 - -Injected block [BLOCK_HASH] -{ "a" ; "b" ; "c" ; "d" ; "e" ; "f" } diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out deleted file mode 100644 index bd244ec37290..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_store_input.out +++ /dev/null @@ -1,180 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_store_input - -Node is bootstrapped. -Estimated gas: 1427 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000406 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1527 - Storage limit: 277 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000406 - fees(the baker who will include this operation,0) ... +ꜩ0.000406 - Transaction: - Amount: ꜩ1000 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Consumed gas: 1427 - Balance updates: - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - [CONTRACT_HASH] ... -ꜩ0.06425 - -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 1427 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000406 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1527 - Storage limit: 277 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000406 - fees(the baker who will include this operation,0) ... +ꜩ0.000406 - Transaction: - Amount: ꜩ2000 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Consumed gas: 1427 - Balance updates: - [CONTRACT_HASH] ... -ꜩ2000 - [CONTRACT_HASH] ... +ꜩ2000 - [CONTRACT_HASH] ... -ꜩ0.06425 - -Injected block [BLOCK_HASH] -1000 ꜩ -2000 ꜩ -Node is bootstrapped. -Estimated gas: 1561.588 units (will add 100 for safety) -Estimated storage: 298 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000438 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1662 - Storage limit: 318 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000438 - fees(the baker who will include this operation,0) ... +ꜩ0.000438 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ100 - Script: - { parameter string ; - storage string ; - code { CAR ; NIL operation ; PAIR } } - Initial storage: "" - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 41 bytes - Paid storage size diff: 41 bytes - Consumed gas: 1561.588 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.01025 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -New contract [CONTRACT_HASH] originated. -Contract memorized as store_input. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 2211.859 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.0005 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2312 - Storage limit: 27 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.0005 - fees(the baker who will include this operation,0) ... +ꜩ0.0005 - Transaction: - Amount: ꜩ100 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "abcdefg" - This transaction was successfully applied - Updated storage: "abcdefg" - Storage size: 48 bytes - Paid storage size diff: 7 bytes - Consumed gas: 2211.859 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.00175 - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -Injected block [BLOCK_HASH] -200 ꜩ -"abcdefg" -Node is bootstrapped. -Estimated gas: 2211.887 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000496 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2312 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000496 - fees(the baker who will include this operation,0) ... +ꜩ0.000496 - Transaction: - Amount: ꜩ100 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "xyz" - This transaction was successfully applied - Updated storage: "xyz" - Storage size: 44 bytes - Consumed gas: 2211.887 - Balance updates: - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -Injected block [BLOCK_HASH] -"xyz" diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out deleted file mode 100644 index 926a8eefd1c5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz].out +++ /dev/null @@ -1,91 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_trace_origination[compare_big_type.tz] - -Node is bootstrapped. -Estimated gas: 4583.242 units (will add 100 for safety) -Estimated storage: 385 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000828 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 4684 - Storage limit: 405 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000828 - fees(the baker who will include this operation,4) ... +ꜩ0.000828 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter unit ; - storage unit ; - code { DROP ; - PUSH nat 0 ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DROP ; - UNIT ; - NIL operation ; - PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 128 bytes - Paid storage size diff: 128 bytes - Consumed gas: 4583.242 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.032 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as compare_big_type. -Injected block [BLOCK_HASH] -Injected block [BLOCK_HASH] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out deleted file mode 100644 index cbcdff026362..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz].out +++ /dev/null @@ -1,95 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_trace_origination[compare_big_type2.tz] - -Node is bootstrapped. -Estimated gas: 5015.304 units (will add 100 for safety) -Estimated storage: 393 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000879 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 5116 - Storage limit: 413 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000879 - fees(the baker who will include this operation,5) ... +ꜩ0.000879 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter unit ; - storage unit ; - code { DROP ; - PUSH nat 0 ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - PAIR ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DUP ; - DUP ; - COMPARE ; - DROP ; - DROP ; - UNIT ; - NIL operation ; - PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 136 bytes - Paid storage size diff: 136 bytes - Consumed gas: 5015.304 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.034 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as compare_big_type2. -Injected block [BLOCK_HASH] -Injected block [BLOCK_HASH] diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out deleted file mode 100644 index 6b17373cd079..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_amount.out +++ /dev/null @@ -1,80 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_transfer_amount - -Node is bootstrapped. -Estimated gas: 1576.320 units (will add 100 for safety) -Estimated storage: 297 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000438 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1677 - Storage limit: 317 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000438 - fees(the baker who will include this operation,0) ... +ꜩ0.000438 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ100 - Script: - { parameter unit ; - storage mutez ; - code { DROP ; AMOUNT ; NIL operation ; PAIR } } - Initial storage: 0 - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 40 bytes - Paid storage size diff: 40 bytes - Consumed gas: 1576.320 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.01 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -New contract [CONTRACT_HASH] originated. -Contract memorized as transfer_amount. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 2224.625 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]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000485 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 2325 - Storage limit: 24 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000485 - fees(the baker who will include this operation,0) ... +ꜩ0.000485 - Transaction: - Amount: ꜩ500 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: 500000000 - Storage size: 44 bytes - Paid storage size diff: 4 bytes - Consumed gas: 2224.625 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.001 - [CONTRACT_HASH] ... -ꜩ500 - [CONTRACT_HASH] ... +ꜩ500 - -Injected block [BLOCK_HASH] -500000000 diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out b/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out deleted file mode 100644 index 098711b8a8a5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_onchain_opcodes.TestContractOnchainOpcodes::test_transfer_tokens.out +++ /dev/null @@ -1,232 +0,0 @@ -tests_008/test_contract_onchain_opcodes.py::TestContractOnchainOpcodes::test_transfer_tokens - -Node is bootstrapped. -Estimated gas: 1563.562 units (will add 100 for safety) -Estimated storage: 295 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000435 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1664 - Storage limit: 315 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000435 - fees(the baker who will include this operation,1) ... +ꜩ0.000435 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ100 - Script: - { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 38 bytes - Paid storage size diff: 38 bytes - Consumed gas: 1563.562 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0095 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -New contract [CONTRACT_HASH] originated. -Contract memorized as test_transfer_account1. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 1563.562 units (will add 100 for safety) -Estimated storage: 295 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000435 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1664 - Storage limit: 315 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000435 - fees(the baker who will include this operation,1) ... +ꜩ0.000435 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ20 - Script: - { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 38 bytes - Paid storage size diff: 38 bytes - Consumed gas: 1563.562 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0095 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ20 - [CONTRACT_HASH] ... +ꜩ20 - -New contract [CONTRACT_HASH] originated. -Contract memorized as test_transfer_account2. -Injected block [BLOCK_HASH] -Node is bootstrapped. -Estimated gas: 1723.764 units (will add 100 for safety) -Estimated storage: 323 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.00048 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 1824 - Storage limit: 343 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.00048 - fees(the baker who will include this operation,1) ... +ꜩ0.00048 - Origination: - From: [CONTRACT_HASH] - Credit: ꜩ1000 - Script: - { parameter (contract unit) ; - storage unit ; - code { CAR ; - DIP { UNIT } ; - PUSH mutez 100000000 ; - UNIT ; - TRANSFER_TOKENS ; - NIL operation ; - SWAP ; - CONS ; - PAIR } } - Initial storage: Unit - No delegate for this contract - This origination was successfully applied - Originated contracts: - [CONTRACT_HASH] - Storage size: 66 bytes - Paid storage size diff: 66 bytes - Consumed gas: 1723.764 - Balance updates: - [CONTRACT_HASH] ... -ꜩ0.0165 - [CONTRACT_HASH] ... -ꜩ0.06425 - [CONTRACT_HASH] ... -ꜩ1000 - [CONTRACT_HASH] ... +ꜩ1000 - -New contract [CONTRACT_HASH] originated. -Contract memorized as transfer_tokens. -Injected block [BLOCK_HASH] -100 ꜩ -[CONTRACT_HASH] - -Node is bootstrapped. -Estimated gas: 5464.086 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000854 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 5565 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000854 - fees(the baker who will include this operation,1) ... +ꜩ0.000854 - Transaction: - Amount: ꜩ100 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "[CONTRACT_HASH]" - This transaction was successfully applied - Updated storage: Unit - Storage size: 66 bytes - Consumed gas: 3252.371 - Balance updates: - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - Internal operations: - Transaction: - Amount: ꜩ100 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: Unit - Storage size: 38 bytes - Consumed gas: 2211.715 - Balance updates: - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -Injected block [BLOCK_HASH] -200 ꜩ -[CONTRACT_HASH] - -Node is bootstrapped. -Estimated gas: 5464.086 units (will add 100 for safety) -Estimated storage: no bytes added -Operation successfully injected in the node. -Operation hash is '[BLOCK_HASH]' -NOT waiting for the operation to be included. -Use command - tezos-client wait for [BLOCK_HASH] to be included --confirmations 30 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [CONTRACT_HASH] - Fee to the baker: ꜩ0.000854 - Expected counter: [EXPECTED_COUNTER] - Gas limit: 5565 - Storage limit: 0 bytes - Balance updates: - [CONTRACT_HASH] ................ -ꜩ0.000854 - fees(the baker who will include this operation,1) ... +ꜩ0.000854 - Transaction: - Amount: ꜩ100 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - Parameter: "[CONTRACT_HASH]" - This transaction was successfully applied - Updated storage: Unit - Storage size: 66 bytes - Consumed gas: 3252.371 - Balance updates: - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - Internal operations: - Transaction: - Amount: ꜩ100 - From: [CONTRACT_HASH] - To: [CONTRACT_HASH] - This transaction was successfully applied - Updated storage: Unit - Storage size: 38 bytes - Consumed gas: 2211.715 - Balance updates: - [CONTRACT_HASH] ... -ꜩ100 - [CONTRACT_HASH] ... +ꜩ100 - -Injected block [BLOCK_HASH] -120 ꜩ diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.ed8a8c90dc.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.ed8a8c90dc.out" deleted file mode 100644 index 5ff05cf5c6eb..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-\"hello\"-(Pa.ed8a8c90dc.out" +++ /dev/null @@ -1,42 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 4) {})-"hello"-(Pair None 0)-big_map_diff10] - -storage - (Pair None 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["hello"] to 4 -trace - - location: 11 (remaining gas: 1039988.651 units remaining) - [ (Pair "hello" (Some 4) {}) ] - - location: 13 (remaining gas: 1039988.451 units remaining) - [ "hello" @parameter - (Pair (Some 4) {}) @storage ] - - location: 16 (remaining gas: 1039988.151 units remaining) - [ (Some 4) - {} ] - - location: 15 (remaining gas: 1039988.081 units remaining) - [ (Some 4) - {} ] - - location: 14 (remaining gas: 1039988.081 units remaining) - [ "hello" @parameter - (Some 4) - {} ] - - location: -1 (remaining gas: 1039988.011 units remaining) - [ "hello" @parameter - (Some 4) - {} ] - - location: 17 (remaining gas: 1039987.791 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039987.651 units remaining) - [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039987.511 units remaining) - [ {} - (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039987.371 units remaining) - [ (Pair {} None { Elt "hello" 4 }) ] - - location: -1 (remaining gas: 1039987.301 units remaining) - [ (Pair {} None { Elt "hello" 4 }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.4ba77dda56.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.4ba77dda56.out" deleted file mode 100644 index 5756240559cb..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.4ba77dda56.out" +++ /dev/null @@ -1,43 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt "hello" 4 })-"hi"-(Pair None 0)-big_map_diff13] - -storage - (Pair None 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["hello"] to 4 - Set map(0)["hi"] to 5 -trace - - location: 11 (remaining gas: 1039988.057 units remaining) - [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039987.857 units remaining) - [ "hi" @parameter - (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039987.557 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039987.487 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039987.487 units remaining) - [ "hi" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039987.417 units remaining) - [ "hi" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039987.197 units remaining) - [ None - { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039987.057 units remaining) - [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039986.917 units remaining) - [ {} - (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039986.777 units remaining) - [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: -1 (remaining gas: 1039986.707 units remaining) - [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.662e6b84f7.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.662e6b84f7.out" deleted file mode 100644 index 4de2603c082b..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt \"hello\" 4.662e6b84f7.out" +++ /dev/null @@ -1,42 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair (Some 5) { Elt "hello" 4 })-"hello"-(Pair (Some 4) 0)-big_map_diff12] - -storage - (Pair (Some 4) 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["hello"] to 5 -trace - - location: 11 (remaining gas: 1039988.027 units remaining) - [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039987.827 units remaining) - [ "hello" @parameter - (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039987.527 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039987.457 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039987.457 units remaining) - [ "hello" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039987.387 units remaining) - [ "hello" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039987.167 units remaining) - [ (Some 4) - { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039987.027 units remaining) - [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039986.887 units remaining) - [ {} - (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039986.747 units remaining) - [ (Pair {} (Some 4) { Elt "hello" 5 }) ] - - location: -1 (remaining gas: 1039986.677 units remaining) - [ (Pair {} (Some 4) { Elt "hello" 5 }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7806be875b.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7806be875b.out" deleted file mode 100644 index ff56cd96f23c..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7806be875b.out" +++ /dev/null @@ -1,43 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt "1" 1 ; Elt "2" 2 })-"1"-(Pair (Some 1) 0)-big_map_diff15] - -storage - (Pair (Some 1) 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Unset map(0)["1"] - Set map(0)["2"] to 2 -trace - - location: 11 (remaining gas: 1039987.643 units remaining) - [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039987.443 units remaining) - [ "1" @parameter - (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039987.143 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039987.073 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039987.073 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039987.003 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039986.783 units remaining) - [ (Some 1) - { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039986.643 units remaining) - [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039986.503 units remaining) - [ {} - (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039986.363 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039986.293 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7beec6cc30.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7beec6cc30.out" deleted file mode 100644 index aa4265eeb130..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"1\" 1 ; .7beec6cc30.out" +++ /dev/null @@ -1,43 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt "1" 1 ; Elt "2" 2 })-"1"-(Pair (Some 1) 0)-big_map_diff14] - -storage - (Pair (Some 1) 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Unset map(0)["1"] - Set map(0)["2"] to 2 -trace - - location: 11 (remaining gas: 1039987.643 units remaining) - [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039987.443 units remaining) - [ "1" @parameter - (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039987.143 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039987.073 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039987.073 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039987.003 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039986.783 units remaining) - [ (Some 1) - { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039986.643 units remaining) - [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039986.503 units remaining) - [ {} - (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039986.363 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039986.293 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.2e17580138.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.2e17580138.out" deleted file mode 100644 index 98d7b3cbb25a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt \"hello\" 4 })-.2e17580138.out" +++ /dev/null @@ -1,42 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None { Elt "hello" 4 })-"hello"-(Pair (Some 4) 0)-big_map_diff11] - -storage - (Pair (Some 4) 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Unset map(0)["hello"] -trace - - location: 11 (remaining gas: 1039988.267 units remaining) - [ (Pair "hello" None { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039988.067 units remaining) - [ "hello" @parameter - (Pair None { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039987.767 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039987.697 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039987.697 units remaining) - [ "hello" @parameter - None - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039987.627 units remaining) - [ "hello" @parameter - None - { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039987.407 units remaining) - [ (Some 4) - {} ] - - location: 18 (remaining gas: 1039987.267 units remaining) - [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039987.127 units remaining) - [ {} - (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039986.987 units remaining) - [ (Pair {} (Some 4) {}) ] - - location: -1 (remaining gas: 1039986.917 units remaining) - [ (Pair {} (Some 4) {}) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.ae2570aa95.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.ae2570aa95.out" deleted file mode 100644 index 349595a0c54f..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-\"hello\"-(Pair N.ae2570aa95.out" +++ /dev/null @@ -1,42 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_and_update_big_map.tz-(Pair None {})-"hello"-(Pair None 0)-big_map_diff9] - -storage - (Pair None 0) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Unset map(0)["hello"] -trace - - location: 11 (remaining gas: 1039988.891 units remaining) - [ (Pair "hello" None {}) ] - - location: 13 (remaining gas: 1039988.691 units remaining) - [ "hello" @parameter - (Pair None {}) @storage ] - - location: 16 (remaining gas: 1039988.391 units remaining) - [ None - {} ] - - location: 15 (remaining gas: 1039988.321 units remaining) - [ None - {} ] - - location: 14 (remaining gas: 1039988.321 units remaining) - [ "hello" @parameter - None - {} ] - - location: -1 (remaining gas: 1039988.251 units remaining) - [ "hello" @parameter - None - {} ] - - location: 17 (remaining gas: 1039988.031 units remaining) - [ None - {} ] - - location: 18 (remaining gas: 1039987.891 units remaining) - [ (Pair None {}) ] - - location: 19 (remaining gas: 1039987.751 units remaining) - [ {} - (Pair None {}) ] - - location: 21 (remaining gas: 1039987.611 units remaining) - [ (Pair {} None {}) ] - - location: -1 (remaining gas: 1039987.541 units remaining) - [ (Pair {} None {}) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.7085ccc339.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.7085ccc339.out" deleted file mode 100644 index e863df99e71e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"tw.7085ccc339.out" +++ /dev/null @@ -1,51 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } None)-"1"-(Pair 0 (Some "one"))-big_map_diff2] - -storage - (Pair 0 (Some "one")) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "one" - Set map(0)["2"] to "two" -trace - - location: 11 (remaining gas: 1039982.525 units remaining) - [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 12 (remaining gas: 1039982.385 units remaining) - [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) - (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 13 (remaining gas: 1039982.245 units remaining) - [ "1" @parameter - (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] - - location: 17 (remaining gas: 1039981.885 units remaining) - [ (Pair { Elt "1" "one" ; Elt "2" "two" } None) @storage ] - - location: 18 (remaining gas: 1039981.745 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039981.675 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: 19 (remaining gas: 1039981.535 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039981.465 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039981.465 units remaining) - [ "1" @parameter - { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039981.325 units remaining) - [ (Some "one") - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039981.195 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - (Some "one") ] - - location: 22 (remaining gas: 1039981.055 units remaining) - [ (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 23 (remaining gas: 1039980.915 units remaining) - [ {} - (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: 25 (remaining gas: 1039980.775 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - - location: -1 (remaining gas: 1039980.705 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".75aa05c5ef.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".75aa05c5ef.out" deleted file mode 100644 index a69dafe12424..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"\".75aa05c5ef.out" +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt "hello" "hi" } None)-""-(Pair 0 None)-big_map_diff1] - -storage - (Pair 0 None) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["hello"] to "hi" -trace - - location: 11 (remaining gas: 1039983.253 units remaining) - [ (Pair "" { Elt "hello" "hi" } None) ] - - location: 12 (remaining gas: 1039983.113 units remaining) - [ (Pair "" { Elt "hello" "hi" } None) - (Pair "" { Elt "hello" "hi" } None) ] - - location: 13 (remaining gas: 1039982.973 units remaining) - [ "" @parameter - (Pair "" { Elt "hello" "hi" } None) ] - - location: 17 (remaining gas: 1039982.613 units remaining) - [ (Pair { Elt "hello" "hi" } None) @storage ] - - location: 18 (remaining gas: 1039982.473 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039982.403 units remaining) - [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039982.263 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039982.193 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039982.193 units remaining) - [ "" @parameter - { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039982.053 units remaining) - [ None - { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039981.923 units remaining) - [ { Elt "hello" "hi" } - None ] - - location: 22 (remaining gas: 1039981.783 units remaining) - [ (Pair { Elt "hello" "hi" } None) ] - - location: 23 (remaining gas: 1039981.643 units remaining) - [ {} - (Pair { Elt "hello" "hi" } None) ] - - location: 25 (remaining gas: 1039981.503 units remaining) - [ (Pair {} { Elt "hello" "hi" } None) ] - - location: -1 (remaining gas: 1039981.433 units remaining) - [ (Pair {} { Elt "hello" "hi" } None) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.ce376412b0.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.ce376412b0.out" deleted file mode 100644 index 66fffdbd72da..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt \"hello\" \"hi\" } None)-\"h.ce376412b0.out" +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[get_big_map_value.tz-(Pair { Elt "hello" "hi" } None)-"hello"-(Pair 0 (Some "hi"))-big_map_diff0] - -storage - (Pair 0 (Some "hi")) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["hello"] to "hi" -trace - - location: 11 (remaining gas: 1039983.203 units remaining) - [ (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 12 (remaining gas: 1039983.063 units remaining) - [ (Pair "hello" { Elt "hello" "hi" } None) - (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 13 (remaining gas: 1039982.923 units remaining) - [ "hello" @parameter - (Pair "hello" { Elt "hello" "hi" } None) ] - - location: 17 (remaining gas: 1039982.563 units remaining) - [ (Pair { Elt "hello" "hi" } None) @storage ] - - location: 18 (remaining gas: 1039982.423 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039982.353 units remaining) - [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039982.213 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039982.143 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039982.143 units remaining) - [ "hello" @parameter - { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039982.003 units remaining) - [ (Some "hi") - { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039981.873 units remaining) - [ { Elt "hello" "hi" } - (Some "hi") ] - - location: 22 (remaining gas: 1039981.733 units remaining) - [ (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 23 (remaining gas: 1039981.593 units remaining) - [ {} - (Pair { Elt "hello" "hi" } (Some "hi")) ] - - location: 25 (remaining gas: 1039981.453 units remaining) - [ (Pair {} { Elt "hello" "hi" } (Some "hi")) ] - - location: -1 (remaining gas: 1039981.383 units remaining) - [ (Pair {} { Elt "hello" "hi" } (Some "hi")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .0689a9f5c7.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .0689a9f5c7.out" deleted file mode 100644 index c094fa897030..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .0689a9f5c7.out" +++ /dev/null @@ -1,54 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)-{ Elt "2" None }-(Pair 0 Unit)-big_map_diff7] - -storage - (Pair 0 Unit) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "one" - Unset map(0)["2"] -trace - - location: 13 (remaining gas: 1039984.765 units remaining) - [ (Pair { Elt "2" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039984.565 units remaining) - [ { Elt "2" None } @parameter - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039984.265 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 17 (remaining gas: 1039984.195 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039984.195 units remaining) - [ { Elt "2" None } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039984.125 units remaining) - [ { Elt "2" None } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 21 (remaining gas: 1039983.805 units remaining) - [ "2" @key - None @elt - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 22 (remaining gas: 1039983.665 units remaining) - [ { Elt "1" "one" } - Unit ] - - location: -1 (remaining gas: 1039983.595 units remaining) - [ { Elt "1" "one" } - Unit ] - - location: 19 (remaining gas: 1039983.595 units remaining) - [ { Elt "1" "one" } - Unit ] - - location: 23 (remaining gas: 1039983.455 units remaining) - [ (Pair { Elt "1" "one" } Unit) ] - - location: 24 (remaining gas: 1039983.315 units remaining) - [ {} - (Pair { Elt "1" "one" } Unit) ] - - location: 26 (remaining gas: 1039983.175 units remaining) - [ (Pair {} { Elt "1" "one" } Unit) ] - - location: -1 (remaining gas: 1039983.105 units remaining) - [ (Pair {} { Elt "1" "one" } Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .28027e7c51.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .28027e7c51.out" deleted file mode 100644 index cca2fb05f78e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .28027e7c51.out" +++ /dev/null @@ -1,43 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)-{}-(Pair 0 Unit)-big_map_diff3] - -storage - (Pair 0 Unit) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "one" - Set map(0)["2"] to "two" -trace - - location: 13 (remaining gas: 1039985.349 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039985.149 units remaining) - [ {} @parameter - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039984.849 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 17 (remaining gas: 1039984.779 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039984.779 units remaining) - [ {} @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039984.709 units remaining) - [ {} @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 19 (remaining gas: 1039984.569 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039984.429 units remaining) - [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039984.289 units remaining) - [ {} - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039984.149 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039984.079 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .5b9b4f4add.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .5b9b4f4add.out" deleted file mode 100644 index c9c2df283b77..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .5b9b4f4add.out" +++ /dev/null @@ -1,54 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)-{ Elt "1" (Some "two") }-(Pair 0 Unit)-big_map_diff8] - -storage - (Pair 0 Unit) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "two" - Set map(0)["2"] to "two" -trace - - location: 13 (remaining gas: 1039984.481 units remaining) - [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039984.281 units remaining) - [ { Elt "1" (Some "two") } @parameter - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039983.981 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 17 (remaining gas: 1039983.911 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039983.911 units remaining) - [ { Elt "1" (Some "two") } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039983.841 units remaining) - [ { Elt "1" (Some "two") } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 21 (remaining gas: 1039983.521 units remaining) - [ "1" @key - (Some "two") @elt - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 22 (remaining gas: 1039983.381 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039983.311 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: 19 (remaining gas: 1039983.311 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039983.171 units remaining) - [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039983.031 units remaining) - [ {} - (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039982.891 units remaining) - [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039982.821 units remaining) - [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .923a9b1a0c.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .923a9b1a0c.out" deleted file mode 100644 index 0a27e9df1412..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .923a9b1a0c.out" +++ /dev/null @@ -1,54 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)-{ Elt "1" (Some "two") }-(Pair 0 Unit)-big_map_diff4] - -storage - (Pair 0 Unit) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "two" - Set map(0)["2"] to "two" -trace - - location: 13 (remaining gas: 1039984.481 units remaining) - [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039984.281 units remaining) - [ { Elt "1" (Some "two") } @parameter - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039983.981 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 17 (remaining gas: 1039983.911 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039983.911 units remaining) - [ { Elt "1" (Some "two") } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039983.841 units remaining) - [ { Elt "1" (Some "two") } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 21 (remaining gas: 1039983.521 units remaining) - [ "1" @key - (Some "two") @elt - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 22 (remaining gas: 1039983.381 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039983.311 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: 19 (remaining gas: 1039983.311 units remaining) - [ { Elt "1" "two" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039983.171 units remaining) - [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039983.031 units remaining) - [ {} - (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039982.891 units remaining) - [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039982.821 units remaining) - [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .e075542e26.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .e075542e26.out" deleted file mode 100644 index c9693ec8dcc3..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .e075542e26.out" +++ /dev/null @@ -1,55 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)-{ Elt "3" (Some "three") }-(Pair 0 Unit)-big_map_diff5] - -storage - (Pair 0 Unit) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "one" - Set map(0)["2"] to "two" - Set map(0)["3"] to "three" -trace - - location: 13 (remaining gas: 1039984.461 units remaining) - [ (Pair { Elt "3" (Some "three") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039984.261 units remaining) - [ { Elt "3" (Some "three") } @parameter - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039983.961 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 17 (remaining gas: 1039983.891 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039983.891 units remaining) - [ { Elt "3" (Some "three") } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039983.821 units remaining) - [ { Elt "3" (Some "three") } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 21 (remaining gas: 1039983.501 units remaining) - [ "3" @key - (Some "three") @elt - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 22 (remaining gas: 1039983.361 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } - Unit ] - - location: -1 (remaining gas: 1039983.291 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } - Unit ] - - location: 19 (remaining gas: 1039983.291 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } - Unit ] - - location: 23 (remaining gas: 1039983.151 units remaining) - [ (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 24 (remaining gas: 1039983.011 units remaining) - [ {} - (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: 26 (remaining gas: 1039982.871 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - - location: -1 (remaining gas: 1039982.801 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .f2ff59db97.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .f2ff59db97.out" deleted file mode 100644 index b4c03e59173e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt \"1\" \"one\" ; Elt \"2\" \"two\" .f2ff59db97.out" +++ /dev/null @@ -1,55 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test__big_map_contract_io[update_big_map.tz-(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)-{ Elt "3" None }-(Pair 0 Unit)-big_map_diff6] - -storage - (Pair 0 Unit) -emitted operations - -big_map diff - New map(0) of type (big_map string string) - Set map(0)["1"] to "one" - Set map(0)["2"] to "two" - Unset map(0)["3"] -trace - - location: 13 (remaining gas: 1039984.765 units remaining) - [ (Pair { Elt "3" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 15 (remaining gas: 1039984.565 units remaining) - [ { Elt "3" None } @parameter - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) @storage ] - - location: 18 (remaining gas: 1039984.265 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 17 (remaining gas: 1039984.195 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 16 (remaining gas: 1039984.195 units remaining) - [ { Elt "3" None } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039984.125 units remaining) - [ { Elt "3" None } @parameter - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 21 (remaining gas: 1039983.805 units remaining) - [ "3" @key - None @elt - { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 22 (remaining gas: 1039983.665 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: -1 (remaining gas: 1039983.595 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 19 (remaining gas: 1039983.595 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - Unit ] - - location: 23 (remaining gas: 1039983.455 units remaining) - [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 24 (remaining gas: 1039983.315 units remaining) - [ {} - (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: 26 (remaining gas: 1039983.175 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - - location: -1 (remaining gas: 1039983.105 units remaining) - [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Left Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Left Unit].out deleted file mode 100644 index dd47faccb82c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Left Unit].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Left Unit] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter (or unit unit) ; - 02: storage unit ; - 03: code { CAR ; - 04: IF_LEFT - 05: { - 06: PUSH nat 922337203685477580700 ; - 07: PUSH mutez 10 ; - 08: MUL ; # FAILURE - 09: DROP - 10: } - 11: { - 12: PUSH mutez 10 ; - 13: PUSH nat 922337203685477580700 ; - 14: MUL ; # FAILURE - 15: DROP - 16: } ; - 17: - 18: NIL operation ; PAIR } - 19: -At line 8 characters 11 to 14, -unexpected arithmetic overflow -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Right Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Right Unit].out deleted file mode 100644 index 36c47ea23b03..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Right Unit].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_arithmetic_overflow[mul_overflow.tz-Unit-Right Unit] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter (or unit unit) ; - 02: storage unit ; - 03: code { CAR ; - 04: IF_LEFT - 05: { - 06: PUSH nat 922337203685477580700 ; - 07: PUSH mutez 10 ; - 08: MUL ; # FAILURE - 09: DROP - 10: } - 11: { - 12: PUSH mutez 10 ; - 13: PUSH nat 922337203685477580700 ; - 14: MUL ; # FAILURE - 15: DROP - 16: } ; - 17: - 18: NIL operation ; PAIR } - 19: -At line 14 characters 11 to 14, -unexpected arithmetic overflow -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 1 257))].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 1 257))].out deleted file mode 100644 index 102c4e754e67..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 1 257))].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 1 257))] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter (or (pair nat nat) (pair nat nat)); - 02: storage (option nat); - 03: # this contract takes either (Left a b) and stores (a << b) - 04: # or (Right a b) and stores (a >> b). - 05: # i.e., in the first case, the first component shifted to the left by - 06: # the second, and the second case, component shifted to the right by - 07: # the second. - 08: code { CAR; - 09: IF_LEFT { - 10: UNPAIR; LSL; - 11: } - 12: { - 13: UNPAIR; LSR; - 14: }; - 15: SOME; - 16: NIL operation; - 17: PAIR; - 18: }; - 19: -At line 10 characters 25 to 28, -unexpected arithmetic overflow -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 123 257))].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 123 257))].out deleted file mode 100644 index 5117b9fc6fca..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 123 257))].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Left (Pair 123 257))] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter (or (pair nat nat) (pair nat nat)); - 02: storage (option nat); - 03: # this contract takes either (Left a b) and stores (a << b) - 04: # or (Right a b) and stores (a >> b). - 05: # i.e., in the first case, the first component shifted to the left by - 06: # the second, and the second case, component shifted to the right by - 07: # the second. - 08: code { CAR; - 09: IF_LEFT { - 10: UNPAIR; LSL; - 11: } - 12: { - 13: UNPAIR; LSR; - 14: }; - 15: SOME; - 16: NIL operation; - 17: PAIR; - 18: }; - 19: -At line 10 characters 25 to 28, -unexpected arithmetic overflow -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 1 257))].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 1 257))].out deleted file mode 100644 index d66e3f2dd6c6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 1 257))].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 1 257))] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter (or (pair nat nat) (pair nat nat)); - 02: storage (option nat); - 03: # this contract takes either (Left a b) and stores (a << b) - 04: # or (Right a b) and stores (a >> b). - 05: # i.e., in the first case, the first component shifted to the left by - 06: # the second, and the second case, component shifted to the right by - 07: # the second. - 08: code { CAR; - 09: IF_LEFT { - 10: UNPAIR; LSL; - 11: } - 12: { - 13: UNPAIR; LSR; - 14: }; - 15: SOME; - 16: NIL operation; - 17: PAIR; - 18: }; - 19: -At line 13 characters 25 to 28, -unexpected arithmetic overflow -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 123 257))].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 123 257))].out deleted file mode 100644 index 750de85163d2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 123 257))].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_arithmetic_overflow[shifts.tz-None-(Right (Pair 123 257))] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter (or (pair nat nat) (pair nat nat)); - 02: storage (option nat); - 03: # this contract takes either (Left a b) and stores (a << b) - 04: # or (Right a b) and stores (a >> b). - 05: # i.e., in the first case, the first component shifted to the left by - 06: # the second, and the second case, component shifted to the right by - 07: # the second. - 08: code { CAR; - 09: IF_LEFT { - 10: UNPAIR; LSL; - 11: } - 12: { - 13: UNPAIR; LSR; - 14: }; - 15: SOME; - 16: NIL operation; - 17: PAIR; - 18: }; - 19: -At line 13 characters 25 to 28, -unexpected arithmetic overflow -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out deleted file mode 100644 index ecc3a60bf6f2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0.5].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[0.5] - -storage - 500000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 500000 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 500000 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 500000) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 500000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out deleted file mode 100644 index f46fd84b3d19..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 0 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 0 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out deleted file mode 100644 index 2382716ff72c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1000].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[1000] - -storage - 1000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 1000000000 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 1000000000 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 1000000000) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 1000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out deleted file mode 100644 index 3a25ff4fa243..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[1] - -storage - 1000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 1000000 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 1000000 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 1000000) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 1000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out deleted file mode 100644 index 1633f6b265e7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[1e-06].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[1e-06] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 1 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 1 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out deleted file mode 100644 index fab4ee25af9e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[5].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[5] - -storage - 5000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 5000000 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 5000000 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 5000000) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 5000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out deleted file mode 100644 index eb2fe821324b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_balance[8000000000000.0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_balance[8000000000000.0] - -storage - 8000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 0) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 8000000000000000000 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 8000000000000000000 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 8000000000000000000) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 8000000000000000000) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.4c10105111.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.4c10105111.out" deleted file mode 100644 index 78b78413e6ac..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }) )-(Right (Righ.4c10105111.out" +++ /dev/null @@ -1,80 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt "1" "one" } { Elt "2" "two" }) )-(Right (Right (Right (Left { Pair "3" "three" }))))-(Left (Pair 0 1))-big_map_diff4] - -storage - (Left (Pair 0 1)) -emitted operations - -big_map diff - New map(1) of type (big_map string string) - Set map(1)["2"] to "two" - New map(0) of type (big_map string string) - Set map(0)["1"] to "one" - Set map(0)["3"] to "three" -trace - - location: 42 (remaining gas: 1039921.281 units remaining) - [ (Pair (Right (Right (Right (Left { Pair "3" "three" })))) - (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039921.141 units remaining) - [ (Right (Right (Right (Left { Pair "3" "three" })))) @parameter - (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 114 (remaining gas: 1039920.101 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 112 (remaining gas: 1039920.031 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 119 (remaining gas: 1039919.891 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039919.821 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 110 (remaining gas: 1039919.821 units remaining) - [ { Pair "3" "three" } @parameter.right.right.right.add - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 122 (remaining gas: 1039919.114 units remaining) - [ "3" - "three" - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 125 (remaining gas: 1039918.814 units remaining) - [ (Some "three") - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 124 (remaining gas: 1039918.744 units remaining) - [ (Some "three") - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 123 (remaining gas: 1039918.744 units remaining) - [ "3" - (Some "three") - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 126 (remaining gas: 1039918.604 units remaining) - [ { Elt "1" "one" ; Elt "3" "three" } - { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039918.534 units remaining) - [ { Elt "1" "one" ; Elt "3" "three" } - { Elt "2" "two" } ] - - location: 120 (remaining gas: 1039918.534 units remaining) - [ { Elt "1" "one" ; Elt "3" "three" } - { Elt "2" "two" } ] - - location: 127 (remaining gas: 1039918.394 units remaining) - [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] - - location: 128 (remaining gas: 1039918.254 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: -1 (remaining gas: 1039918.184 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 107 (remaining gas: 1039918.114 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 64 (remaining gas: 1039918.044 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 59 (remaining gas: 1039917.974 units remaining) - [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039917.834 units remaining) - [ {} - (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039917.694 units remaining) - [ (Pair {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }))) ] - - location: -1 (remaining gas: 1039917.624 units remaining) - [ (Pair {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }))) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.00a32294a4.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.00a32294a4.out" deleted file mode 100644 index eae88b5d3a4e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Left Unit)-(.00a32294a4.out" +++ /dev/null @@ -1,43 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))-(Left Unit)-(Left (Pair 0 1))-big_map_diff0] - -storage - (Left (Pair 0 1)) -emitted operations - -big_map diff - New map(1) of type (big_map string string) - Set map(1)["1"] to "one" - New map(0) of type (big_map string string) - Set map(0)["2"] to "two" -trace - - location: 42 (remaining gas: 1039923.184 units remaining) - [ (Pair (Left Unit) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039923.044 units remaining) - [ (Left Unit) @parameter - (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 46 (remaining gas: 1039922.754 units remaining) - [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 49 (remaining gas: 1039922.474 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 47 (remaining gas: 1039922.404 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 54 (remaining gas: 1039922.264 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 55 (remaining gas: 1039922.134 units remaining) - [ { Elt "2" "two" } - { Elt "1" "one" } ] - - location: 56 (remaining gas: 1039921.994 units remaining) - [ (Pair { Elt "2" "two" } { Elt "1" "one" }) ] - - location: 57 (remaining gas: 1039921.854 units remaining) - [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: -1 (remaining gas: 1039921.784 units remaining) - [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 151 (remaining gas: 1039921.644 units remaining) - [ {} - (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] - - location: 153 (remaining gas: 1039921.504 units remaining) - [ (Pair {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" }))) ] - - location: -1 (remaining gas: 1039921.434 units remaining) - [ (Pair {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" }))) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .47f32b8f4c.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .47f32b8f4c.out" deleted file mode 100644 index 64ecfb1e1354..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .47f32b8f4c.out" +++ /dev/null @@ -1,35 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))-(Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))))-(Left (Pair 0 1))-big_map_diff1] - -storage - (Left (Pair 0 1)) -emitted operations - -big_map diff - New map(1) of type (big_map string string) - Set map(1)["4"] to "four" - New map(0) of type (big_map string string) - Set map(0)["3"] to "three" -trace - - location: 42 (remaining gas: 1039919.438 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: 1039919.298 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: 1039918.868 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: 1039918.728 units remaining) - [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) @parameter.right.reset ] - - location: -1 (remaining gas: 1039918.658 units remaining) - [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) @parameter.right.reset ] - - location: 59 (remaining gas: 1039918.588 units remaining) - [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 151 (remaining gas: 1039918.448 units remaining) - [ {} - (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] - - location: 153 (remaining gas: 1039918.308 units remaining) - [ (Pair {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) ] - - location: -1 (remaining gas: 1039918.238 units remaining) - [ (Pair {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" deleted file mode 100644 index 7772629bff0c..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Left .8a6f480005.out" +++ /dev/null @@ -1,31 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))-(Right (Left (Right Unit)))-(Right Unit)-big_map_diff2] - -storage - (Right Unit) -emitted operations - -big_map diff - -trace - - location: 42 (remaining gas: 1039921.954 units remaining) - [ (Pair (Right (Left (Right Unit))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039921.814 units remaining) - [ (Right (Left (Right Unit))) @parameter - (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 62 (remaining gas: 1039921.384 units remaining) - [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage - (Right Unit) @parameter.right.reset ] - - location: 63 (remaining gas: 1039921.244 units remaining) - [ (Right Unit) @parameter.right.reset ] - - location: -1 (remaining gas: 1039921.174 units remaining) - [ (Right Unit) @parameter.right.reset ] - - location: 59 (remaining gas: 1039921.104 units remaining) - [ (Right Unit) ] - - location: 151 (remaining gas: 1039920.964 units remaining) - [ {} - (Right Unit) ] - - location: 153 (remaining gas: 1039920.824 units remaining) - [ (Pair {} (Right Unit)) ] - - location: -1 (remaining gas: 1039920.754 units remaining) - [ (Pair {} (Right Unit)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.db0e6941b3.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.db0e6941b3.out" deleted file mode 100644 index cc20063c6dd0..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt \"1\" \"one\" } { Elt \"2\" \"two\" }))-(Right (Right.db0e6941b3.out" +++ /dev/null @@ -1,74 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_big_map_magic[(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))-(Right (Right (Right (Right { "1" }))))-(Left (Pair 0 1))-big_map_diff5] - -storage - (Left (Pair 0 1)) -emitted operations - -big_map diff - New map(1) of type (big_map string string) - Set map(1)["2"] to "two" - New map(0) of type (big_map string string) - Unset map(0)["1"] -trace - - location: 42 (remaining gas: 1039921.825 units remaining) - [ (Pair (Right (Right (Right (Right { "1" })))) - (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] - - location: 43 (remaining gas: 1039921.685 units remaining) - [ (Right (Right (Right (Right { "1" })))) @parameter - (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) @storage ] - - location: 135 (remaining gas: 1039920.645 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 133 (remaining gas: 1039920.575 units remaining) - [ (Pair { Elt "1" "one" } { Elt "2" "two" }) @storage.left ] - - location: 140 (remaining gas: 1039920.435 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039920.365 units remaining) - [ { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 131 (remaining gas: 1039920.365 units remaining) - [ { "1" } @parameter.right.right.right.rem - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 145 (remaining gas: 1039919.498 units remaining) - [ None - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 144 (remaining gas: 1039919.428 units remaining) - [ None - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 143 (remaining gas: 1039919.428 units remaining) - [ "1" @parameter.right.right.right.rem.elt - None - { Elt "1" "one" } - { Elt "2" "two" } ] - - location: 147 (remaining gas: 1039919.288 units remaining) - [ {} - { Elt "2" "two" } ] - - location: -1 (remaining gas: 1039919.218 units remaining) - [ {} - { Elt "2" "two" } ] - - location: 141 (remaining gas: 1039919.218 units remaining) - [ {} - { Elt "2" "two" } ] - - location: 148 (remaining gas: 1039919.078 units remaining) - [ (Pair {} { Elt "2" "two" }) ] - - location: 149 (remaining gas: 1039918.938 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: -1 (remaining gas: 1039918.868 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 107 (remaining gas: 1039918.798 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 64 (remaining gas: 1039918.728 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 59 (remaining gas: 1039918.658 units remaining) - [ (Left (Pair {} { Elt "2" "two" })) ] - - location: 151 (remaining gas: 1039918.518 units remaining) - [ {} - (Left (Pair {} { Elt "2" "two" })) ] - - location: 153 (remaining gas: 1039918.378 units remaining) - [ (Pair {} (Left (Pair {} { Elt "2" "two" }))) ] - - location: -1 (remaining gas: 1039918.308 units remaining) - [ (Pair {} (Left (Pair {} { Elt "2" "two" }))) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.79a01c2ffd.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.79a01c2ffd.out" deleted file mode 100644 index a3e2af282bf4..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair \"foo\" \"bar\" } { P.79a01c2ffd.out" +++ /dev/null @@ -1,128 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_big_map_magic[(Right Unit)-(Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) )))-(Left (Pair 0 1))-big_map_diff3] - -storage - (Left (Pair 0 1)) -emitted operations - -big_map diff - New map(1) of type (big_map string string) - Set map(1)["gaz"] to "baz" - New map(0) of type (big_map string string) - Set map(0)["foo"] to "bar" -trace - - location: 42 (remaining gas: 1039922.719 units remaining) - [ (Pair (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) (Right Unit)) ] - - location: 43 (remaining gas: 1039922.579 units remaining) - [ (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) @parameter - (Right Unit) @storage ] - - location: 75 (remaining gas: 1039921.689 units remaining) - [ Unit @storage.right ] - - location: 69 (remaining gas: 1039921.619 units remaining) - [ Unit @storage.right ] - - location: 76 (remaining gas: 1039921.479 units remaining) - [ ] - - location: -1 (remaining gas: 1039921.409 units remaining) - [ ] - - location: 67 (remaining gas: 1039921.409 units remaining) - [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) @parameter.right.right.import ] - - location: 77 (remaining gas: 1039921.269 units remaining) - [ { Pair "foo" "bar" } - { Pair "gaz" "baz" } ] - - location: 80 (remaining gas: 1039920.809 units remaining) - [ {} - { Pair "gaz" "baz" } ] - - location: 79 (remaining gas: 1039920.739 units remaining) - [ {} - { Pair "gaz" "baz" } ] - - location: 78 (remaining gas: 1039920.739 units remaining) - [ { Pair "foo" "bar" } - {} - { Pair "gaz" "baz" } ] - - location: 85 (remaining gas: 1039920.032 units remaining) - [ "foo" - "bar" - {} - { Pair "gaz" "baz" } ] - - location: 88 (remaining gas: 1039919.732 units remaining) - [ (Some "bar") - {} - { Pair "gaz" "baz" } ] - - location: 87 (remaining gas: 1039919.662 units remaining) - [ (Some "bar") - {} - { Pair "gaz" "baz" } ] - - location: 86 (remaining gas: 1039919.662 units remaining) - [ "foo" - (Some "bar") - {} - { Pair "gaz" "baz" } ] - - location: 89 (remaining gas: 1039919.522 units remaining) - [ { Elt "foo" "bar" } - { Pair "gaz" "baz" } ] - - location: -1 (remaining gas: 1039919.452 units remaining) - [ { Elt "foo" "bar" } - { Pair "gaz" "baz" } ] - - location: 83 (remaining gas: 1039919.452 units remaining) - [ { Elt "foo" "bar" } - { Pair "gaz" "baz" } ] - - location: 90 (remaining gas: 1039919.322 units remaining) - [ { Pair "gaz" "baz" } - { Elt "foo" "bar" } ] - - location: 93 (remaining gas: 1039918.862 units remaining) - [ {} - { Elt "foo" "bar" } ] - - location: 92 (remaining gas: 1039918.792 units remaining) - [ {} - { Elt "foo" "bar" } ] - - location: 91 (remaining gas: 1039918.792 units remaining) - [ { Pair "gaz" "baz" } - {} - { Elt "foo" "bar" } ] - - location: 98 (remaining gas: 1039918.085 units remaining) - [ "gaz" - "baz" - {} - { Elt "foo" "bar" } ] - - location: 101 (remaining gas: 1039917.785 units remaining) - [ (Some "baz") - {} - { Elt "foo" "bar" } ] - - location: 100 (remaining gas: 1039917.715 units remaining) - [ (Some "baz") - {} - { Elt "foo" "bar" } ] - - location: 99 (remaining gas: 1039917.715 units remaining) - [ "gaz" - (Some "baz") - {} - { Elt "foo" "bar" } ] - - location: 102 (remaining gas: 1039917.575 units remaining) - [ { Elt "gaz" "baz" } - { Elt "foo" "bar" } ] - - location: -1 (remaining gas: 1039917.505 units remaining) - [ { Elt "gaz" "baz" } - { Elt "foo" "bar" } ] - - location: 96 (remaining gas: 1039917.505 units remaining) - [ { Elt "gaz" "baz" } - { Elt "foo" "bar" } ] - - location: 103 (remaining gas: 1039917.375 units remaining) - [ { Elt "foo" "bar" } - { Elt "gaz" "baz" } ] - - location: 104 (remaining gas: 1039917.235 units remaining) - [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] - - location: 105 (remaining gas: 1039917.095 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: -1 (remaining gas: 1039917.025 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 64 (remaining gas: 1039916.955 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 59 (remaining gas: 1039916.885 units remaining) - [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 151 (remaining gas: 1039916.745 units remaining) - [ {} - (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] - - location: 153 (remaining gas: 1039916.605 units remaining) - [ (Pair {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }))) ] - - location: -1 (remaining gas: 1039916.535 units remaining) - [ (Pair {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }))) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out deleted file mode 100644 index 845daa5b5cb0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_check_signature.out +++ /dev/null @@ -1,233 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_check_signature - -storage - (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039944.376 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 9 (remaining gas: 1039944.236 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 10 (remaining gas: 1039944.096 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 13 (remaining gas: 1039943.796 units remaining) - [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") @storage - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 14 (remaining gas: 1039943.656 units remaining) - [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") @storage - (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") @storage - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 15 (remaining gas: 1039943.516 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") @storage - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 18 (remaining gas: 1039943.216 units remaining) - [ "hello" - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 19 (remaining gas: 1039930.916 units remaining) - [ 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: -1 (remaining gas: 1039930.846 units remaining) - [ 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 16 (remaining gas: 1039930.846 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: -1 (remaining gas: 1039930.776 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 11 (remaining gas: 1039930.776 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 20 (remaining gas: 1039930.636 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000568656c6c6f @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 21 (remaining gas: 1039660.563 units remaining) - [ True - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 23 (remaining gas: 1039660.373 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: 28 (remaining gas: 1039660.233 units remaining) - [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") @storage ] - - location: 29 (remaining gas: 1039660.093 units remaining) - [ {} - (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") @storage ] - - location: 31 (remaining gas: 1039659.953 units remaining) - [ (Pair {} - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - - location: -1 (remaining gas: 1039659.883 units remaining) - [ (Pair {} - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "hello") ] - -Runtime error in contract [CONTRACT_HASH]: - 01: parameter key; - 02: storage (pair signature string); - 03: code { - 04: DUP; DUP; - 05: DIP{ CDR; DUP; CAR; - 06: DIP{CDR; PACK}}; - 07: CAR; CHECK_SIGNATURE; - 08: IF {} {FAIL} ; - 09: CDR; NIL operation ; PAIR}; - 10: - 11: -At line 8 characters 14 to 18, -script reached FAILWITH instruction -with Unit -trace - - location: 8 (remaining gas: 1039944.386 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 9 (remaining gas: 1039944.246 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 10 (remaining gas: 1039944.106 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 13 (remaining gas: 1039943.806 units remaining) - [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") @storage - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 14 (remaining gas: 1039943.666 units remaining) - [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") @storage - (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") @storage - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 15 (remaining gas: 1039943.526 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") @storage - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 18 (remaining gas: 1039943.226 units remaining) - [ "abcd" - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 19 (remaining gas: 1039930.926 units remaining) - [ 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: -1 (remaining gas: 1039930.856 units remaining) - [ 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 16 (remaining gas: 1039930.856 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: -1 (remaining gas: 1039930.786 units remaining) - [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 11 (remaining gas: 1039930.786 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 20 (remaining gas: 1039930.646 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - 0x05010000000461626364 @packed - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 21 (remaining gas: 1039660.574 units remaining) - [ False - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] - - location: 26 (remaining gas: 1039660.254 units remaining) - [ Unit - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" - "abcd") ] -Fatal error: - error running script diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out deleted file mode 100644 index e19f74ff9bf2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit].out +++ /dev/null @@ -1,40 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[abs.tz-Unit-0-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039987.125 units remaining) - [ (Pair 0 Unit) ] - - location: 7 (remaining gas: 1039986.985 units remaining) - [ 0 @parameter ] - - location: 8 (remaining gas: 1039986.845 units remaining) - [ 0 @parameter - 0 @parameter ] - - location: 9 (remaining gas: 1039986.705 units remaining) - [ 0 - 0 @parameter ] - - location: 10 (remaining gas: 1039986.565 units remaining) - [ 0 - 0 @parameter ] - - location: 11 (remaining gas: 1039986.355 units remaining) - [ 0 ] - - location: 13 (remaining gas: 1039986.155 units remaining) - [ True ] - - location: 15 (remaining gas: 1039985.965 units remaining) - [ ] - - location: -1 (remaining gas: 1039985.895 units remaining) - [ ] - - location: 20 (remaining gas: 1039985.755 units remaining) - [ Unit ] - - location: 21 (remaining gas: 1039985.615 units remaining) - [ {} - Unit ] - - location: 23 (remaining gas: 1039985.475 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039985.405 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out deleted file mode 100644 index 0ce4d6edac2b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit].out +++ /dev/null @@ -1,40 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[abs.tz-Unit-12039123919239192312931-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039987.125 units remaining) - [ (Pair 12039123919239192312931 Unit) ] - - location: 7 (remaining gas: 1039986.985 units remaining) - [ 12039123919239192312931 @parameter ] - - location: 8 (remaining gas: 1039986.845 units remaining) - [ 12039123919239192312931 @parameter - 12039123919239192312931 @parameter ] - - location: 9 (remaining gas: 1039986.705 units remaining) - [ -12039123919239192312931 - 12039123919239192312931 @parameter ] - - location: 10 (remaining gas: 1039986.565 units remaining) - [ 12039123919239192312931 - 12039123919239192312931 @parameter ] - - location: 11 (remaining gas: 1039986.355 units remaining) - [ 0 ] - - location: 13 (remaining gas: 1039986.155 units remaining) - [ True ] - - location: 15 (remaining gas: 1039985.965 units remaining) - [ ] - - location: -1 (remaining gas: 1039985.895 units remaining) - [ ] - - location: 20 (remaining gas: 1039985.755 units remaining) - [ Unit ] - - location: 21 (remaining gas: 1039985.615 units remaining) - [ {} - Unit ] - - location: 23 (remaining gas: 1039985.475 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039985.405 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out deleted file mode 100644 index 895219b9f7b6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit].out +++ /dev/null @@ -1,40 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[abs.tz-Unit-948-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039987.125 units remaining) - [ (Pair 948 Unit) ] - - location: 7 (remaining gas: 1039986.985 units remaining) - [ 948 @parameter ] - - location: 8 (remaining gas: 1039986.845 units remaining) - [ 948 @parameter - 948 @parameter ] - - location: 9 (remaining gas: 1039986.705 units remaining) - [ -948 - 948 @parameter ] - - location: 10 (remaining gas: 1039986.565 units remaining) - [ 948 - 948 @parameter ] - - location: 11 (remaining gas: 1039986.355 units remaining) - [ 0 ] - - location: 13 (remaining gas: 1039986.155 units remaining) - [ True ] - - location: 15 (remaining gas: 1039985.965 units remaining) - [ ] - - location: -1 (remaining gas: 1039985.895 units remaining) - [ ] - - location: 20 (remaining gas: 1039985.755 units remaining) - [ Unit ] - - location: 21 (remaining gas: 1039985.615 units remaining) - [ {} - Unit ] - - location: 23 (remaining gas: 1039985.475 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039985.405 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out deleted file mode 100644 index bae6689f19a2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,237 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039917.130 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039916.990 units remaining) - [ Unit @parameter ] - - location: 8 (remaining gas: 1039916.850 units remaining) - [ 2 - Unit @parameter ] - - location: 11 (remaining gas: 1039916.710 units remaining) - [ 2 - 2 - Unit @parameter ] - - location: 14 (remaining gas: 1039916.570 units remaining) - [ 4 - Unit @parameter ] - - location: 15 (remaining gas: 1039916.430 units remaining) - [ 4 - 4 - Unit @parameter ] - - location: 20 (remaining gas: 1039916.100 units remaining) - [ 0 - Unit @parameter ] - - location: 21 (remaining gas: 1039915.960 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039915.890 units remaining) - [ True - Unit @parameter ] - - location: 23 (remaining gas: 1039915.700 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039915.630 units remaining) - [ Unit @parameter ] - - location: 28 (remaining gas: 1039915.490 units remaining) - [ 2 - Unit @parameter ] - - location: 31 (remaining gas: 1039915.350 units remaining) - [ 2 - 2 - Unit @parameter ] - - location: 34 (remaining gas: 1039915.210 units remaining) - [ 4 - Unit @parameter ] - - location: 35 (remaining gas: 1039915.070 units remaining) - [ 4 - 4 - Unit @parameter ] - - location: 40 (remaining gas: 1039914.740 units remaining) - [ 0 - Unit @parameter ] - - location: 41 (remaining gas: 1039914.600 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039914.530 units remaining) - [ True - Unit @parameter ] - - location: 43 (remaining gas: 1039914.340 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039914.270 units remaining) - [ Unit @parameter ] - - location: 48 (remaining gas: 1039914.130 units remaining) - [ 2 - Unit @parameter ] - - location: 51 (remaining gas: 1039913.990 units remaining) - [ 2 - 2 - Unit @parameter ] - - location: 54 (remaining gas: 1039913.850 units remaining) - [ 4 - Unit @parameter ] - - location: 55 (remaining gas: 1039913.710 units remaining) - [ 4 - 4 - Unit @parameter ] - - location: 60 (remaining gas: 1039913.380 units remaining) - [ 0 - Unit @parameter ] - - location: 61 (remaining gas: 1039913.240 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039913.170 units remaining) - [ True - Unit @parameter ] - - location: 63 (remaining gas: 1039912.980 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039912.910 units remaining) - [ Unit @parameter ] - - location: 68 (remaining gas: 1039912.770 units remaining) - [ 2 - Unit @parameter ] - - location: 71 (remaining gas: 1039912.630 units remaining) - [ 2 - 2 - Unit @parameter ] - - location: 74 (remaining gas: 1039912.490 units remaining) - [ 4 - Unit @parameter ] - - location: 75 (remaining gas: 1039912.350 units remaining) - [ 4 - 4 - Unit @parameter ] - - location: 80 (remaining gas: 1039912.020 units remaining) - [ 0 - Unit @parameter ] - - location: 81 (remaining gas: 1039911.880 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039911.810 units remaining) - [ True - Unit @parameter ] - - location: 83 (remaining gas: 1039911.620 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039911.550 units remaining) - [ Unit @parameter ] - - location: 88 (remaining gas: 1039911.410 units remaining) - [ 2 - Unit @parameter ] - - location: 91 (remaining gas: 1039911.270 units remaining) - [ 2 - 2 - Unit @parameter ] - - location: 94 (remaining gas: 1039911.130 units remaining) - [ 4 - Unit @parameter ] - - location: 95 (remaining gas: 1039910.990 units remaining) - [ 4 - 4 - Unit @parameter ] - - location: 100 (remaining gas: 1039910.660 units remaining) - [ 0 - Unit @parameter ] - - location: 101 (remaining gas: 1039910.520 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039910.450 units remaining) - [ True - Unit @parameter ] - - location: 103 (remaining gas: 1039910.260 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039910.190 units remaining) - [ Unit @parameter ] - - location: 108 (remaining gas: 1039910.050 units remaining) - [ 60 - Unit @parameter ] - - location: 111 (remaining gas: 1039909.910 units remaining) - [ "2019-09-09T12:08:37Z" - 60 - Unit @parameter ] - - location: 114 (remaining gas: 1039909.770 units remaining) - [ "2019-09-09T12:09:37Z" - Unit @parameter ] - - location: 115 (remaining gas: 1039909.630 units remaining) - [ "2019-09-09T12:09:37Z" - "2019-09-09T12:09:37Z" - Unit @parameter ] - - location: 120 (remaining gas: 1039909.310 units remaining) - [ 0 - Unit @parameter ] - - location: 121 (remaining gas: 1039909.170 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039909.100 units remaining) - [ True - Unit @parameter ] - - location: 123 (remaining gas: 1039908.910 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039908.840 units remaining) - [ Unit @parameter ] - - location: 128 (remaining gas: 1039908.700 units remaining) - [ "2019-09-09T12:08:37Z" - Unit @parameter ] - - location: 131 (remaining gas: 1039908.560 units remaining) - [ 60 - "2019-09-09T12:08:37Z" - Unit @parameter ] - - location: 134 (remaining gas: 1039908.420 units remaining) - [ "2019-09-09T12:09:37Z" - Unit @parameter ] - - location: 135 (remaining gas: 1039908.280 units remaining) - [ "2019-09-09T12:09:37Z" - "2019-09-09T12:09:37Z" - Unit @parameter ] - - location: 140 (remaining gas: 1039907.960 units remaining) - [ 0 - Unit @parameter ] - - location: 141 (remaining gas: 1039907.820 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039907.750 units remaining) - [ True - Unit @parameter ] - - location: 143 (remaining gas: 1039907.560 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039907.490 units remaining) - [ Unit @parameter ] - - location: 148 (remaining gas: 1039907.350 units remaining) - [ 1000 - Unit @parameter ] - - location: 151 (remaining gas: 1039907.210 units remaining) - [ 1000 - 1000 - Unit @parameter ] - - location: 154 (remaining gas: 1039907.050 units remaining) - [ 2000 - Unit @parameter ] - - location: 155 (remaining gas: 1039906.910 units remaining) - [ 2000 - 2000 - Unit @parameter ] - - location: 160 (remaining gas: 1039906.626 units remaining) - [ 0 - Unit @parameter ] - - location: 161 (remaining gas: 1039906.486 units remaining) - [ True - Unit @parameter ] - - location: -1 (remaining gas: 1039906.416 units remaining) - [ True - Unit @parameter ] - - location: 163 (remaining gas: 1039906.226 units remaining) - [ Unit @parameter ] - - location: -1 (remaining gas: 1039906.156 units remaining) - [ Unit @parameter ] - - location: 168 (remaining gas: 1039906.016 units remaining) - [ {} - Unit @parameter ] - - location: 170 (remaining gas: 1039905.876 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039905.806 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out deleted file mode 100644 index aedd0164b7cc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000.3c2de60480.out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x00 0x00-(Some 0x0000000000000000000000000000000000000000000000000000000000000000)] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.020 units remaining) - [ (Pair (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000) - None) ] - - location: 10 (remaining gas: 1039991.880 units remaining) - [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.740 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.450 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.310 units remaining) - [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.170 units remaining) - [ {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.030 units remaining) - [ (Pair {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039990.960 units remaining) - [ (Pair {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out deleted file mode 100644 index 6f6d0542e991..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000.12b2c1172b.out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x01 0x00-(Some 0x0100000000000000000000000000000000000000000000000000000000000000)] - -storage - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.020 units remaining) - [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000) - None) ] - - location: 10 (remaining gas: 1039991.880 units remaining) - [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.740 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.450 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.310 units remaining) - [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.170 units remaining) - [ {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.030 units remaining) - [ (Pair {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039990.960 units remaining) - [ (Pair {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out deleted file mode 100644 index 5c2bd1fb3c71..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x010.0e44fc6f40.out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x00-(Some 0x0100000000000000000000000000000000000000000000000000000000000000)] - -storage - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.020 units remaining) - [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000) - None) ] - - location: 10 (remaining gas: 1039991.880 units remaining) - [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.740 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.450 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.310 units remaining) - [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.170 units remaining) - [ {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.030 units remaining) - [ (Pair {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039990.960 units remaining) - [ (Pair {} - (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out deleted file mode 100644 index b86ba648525d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0.7e0ed229a3.out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_bls12_381_fr.tz-None-Pair 0x010000 0x010000-(Some 0x0200000000000000000000000000000000000000000000000000000000000000)] - -storage - (Some 0x0200000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.020 units remaining) - [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0100000000000000000000000000000000000000000000000000000000000000) - None) ] - - location: 10 (remaining gas: 1039991.880 units remaining) - [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0100000000000000000000000000000000000000000000000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039991.740 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039991.450 units remaining) - [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 13 (remaining gas: 1039991.310 units remaining) - [ (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 14 (remaining gas: 1039991.170 units remaining) - [ {} - (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 16 (remaining gas: 1039991.030 units remaining) - [ (Pair {} - (Some 0x0200000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039990.960 units remaining) - [ (Pair {} - (Some 0x0200000000000000000000000000000000000000000000000000000000000000)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" deleted file mode 100644 index e98f1e91ad42..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some \"1970.7c1b1e4e5b.out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair -100 100)-(Some "1970-01-01T00:00:00Z")] - -storage - (Some "1970-01-01T00:00:00Z") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair -100 "1970-01-01T00:01:40Z") None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair -100 "1970-01-01T00:01:40Z") @parameter - (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ -100 - (Pair -100 "1970-01-01T00:01:40Z") @parameter ] - - location: 15 (remaining gas: 1039988.430 units remaining) - [ "1970-01-01T00:01:40Z" ] - - location: 14 (remaining gas: 1039988.360 units remaining) - [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039988.360 units remaining) - [ -100 - "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039988.220 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.080 units remaining) - [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039987.940 units remaining) - [ {} - (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039987.800 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039987.730 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" deleted file mode 100644 index 516197123404..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 \"1970-01-01T00:00:0.528ed42c01.out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 0 "1970-01-01T00:00:00Z")-(Some "1970-01-01T00:00:00Z")] - -storage - (Some "1970-01-01T00:00:00Z") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.020 units remaining) - [ (Pair (Pair 0 "1970-01-01T00:00:00Z") None) ] - - location: 10 (remaining gas: 1039988.880 units remaining) - [ (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - - location: 11 (remaining gas: 1039988.740 units remaining) - [ (Pair 0 "1970-01-01T00:00:00Z") @parameter - (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - - location: 12 (remaining gas: 1039988.600 units remaining) - [ 0 - (Pair 0 "1970-01-01T00:00:00Z") @parameter ] - - location: 15 (remaining gas: 1039988.300 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 14 (remaining gas: 1039988.230 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039988.230 units remaining) - [ 0 - "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039988.090 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039987.950 units remaining) - [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039987.810 units remaining) - [ {} - (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039987.670 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039987.600 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" deleted file mode 100644 index 515a52396a9e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some \"1970-.6566111ad2.out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_delta_timestamp.tz-None-(Pair 100 100)-(Some "1970-01-01T00:03:20Z")] - -storage - (Some "1970-01-01T00:03:20Z") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair 100 "1970-01-01T00:01:40Z") None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair 100 "1970-01-01T00:01:40Z") @parameter - (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ 100 - (Pair 100 "1970-01-01T00:01:40Z") @parameter ] - - location: 15 (remaining gas: 1039988.430 units remaining) - [ "1970-01-01T00:01:40Z" ] - - location: 14 (remaining gas: 1039988.360 units remaining) - [ "1970-01-01T00:01:40Z" ] - - location: 13 (remaining gas: 1039988.360 units remaining) - [ 100 - "1970-01-01T00:01:40Z" ] - - location: 16 (remaining gas: 1039988.220 units remaining) - [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039988.080 units remaining) - [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039987.940 units remaining) - [ {} - (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039987.800 units remaining) - [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] - - location: -1 (remaining gas: 1039987.730 units remaining) - [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" deleted file mode 100644 index 65e6cf765bc1..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair \"1970-01-01T00:00:00Z.72c424f3da.out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair "1970-01-01T00:00:00Z" 0)-(Some "1970-01-01T00:00:00Z")] - -storage - (Some "1970-01-01T00:00:00Z") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.020 units remaining) - [ (Pair (Pair "1970-01-01T00:00:00Z" 0) None) ] - - location: 10 (remaining gas: 1039988.880 units remaining) - [ (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - - location: 11 (remaining gas: 1039988.740 units remaining) - [ (Pair "1970-01-01T00:00:00Z" 0) @parameter - (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - - location: 12 (remaining gas: 1039988.600 units remaining) - [ "1970-01-01T00:00:00Z" - (Pair "1970-01-01T00:00:00Z" 0) @parameter ] - - location: 15 (remaining gas: 1039988.300 units remaining) - [ 0 ] - - location: 14 (remaining gas: 1039988.230 units remaining) - [ 0 ] - - location: 13 (remaining gas: 1039988.230 units remaining) - [ "1970-01-01T00:00:00Z" - 0 ] - - location: 16 (remaining gas: 1039988.090 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039987.950 units remaining) - [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039987.810 units remaining) - [ {} - (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039987.670 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039987.600 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" deleted file mode 100644 index 963dec6e665d..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some \"1970.7c4b12e9aa.out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 -100)-(Some "1970-01-01T00:00:00Z")] - -storage - (Some "1970-01-01T00:00:00Z") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair "1970-01-01T00:01:40Z" -100) None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair "1970-01-01T00:01:40Z" -100) @parameter - (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ "1970-01-01T00:01:40Z" - (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 15 (remaining gas: 1039988.430 units remaining) - [ -100 ] - - location: 14 (remaining gas: 1039988.360 units remaining) - [ -100 ] - - location: 13 (remaining gas: 1039988.360 units remaining) - [ "1970-01-01T00:01:40Z" - -100 ] - - location: 16 (remaining gas: 1039988.220 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 17 (remaining gas: 1039988.080 units remaining) - [ (Some "1970-01-01T00:00:00Z") ] - - location: 18 (remaining gas: 1039987.940 units remaining) - [ {} - (Some "1970-01-01T00:00:00Z") ] - - location: 20 (remaining gas: 1039987.800 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - - location: -1 (remaining gas: 1039987.730 units remaining) - [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" deleted file mode 100644 index 5ef213838181..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some \"1970-.af32743640.out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[add_timestamp_delta.tz-None-(Pair 100 100)-(Some "1970-01-01T00:03:20Z")] - -storage - (Some "1970-01-01T00:03:20Z") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair "1970-01-01T00:01:40Z" 100) None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair "1970-01-01T00:01:40Z" 100) @parameter - (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ "1970-01-01T00:01:40Z" - (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 15 (remaining gas: 1039988.430 units remaining) - [ 100 ] - - location: 14 (remaining gas: 1039988.360 units remaining) - [ 100 ] - - location: 13 (remaining gas: 1039988.360 units remaining) - [ "1970-01-01T00:01:40Z" - 100 ] - - location: 16 (remaining gas: 1039988.220 units remaining) - [ "1970-01-01T00:03:20Z" ] - - location: 17 (remaining gas: 1039988.080 units remaining) - [ (Some "1970-01-01T00:03:20Z") ] - - location: 18 (remaining gas: 1039987.940 units remaining) - [ {} - (Some "1970-01-01T00:03:20Z") ] - - location: 20 (remaining gas: 1039987.800 units remaining) - [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] - - location: -1 (remaining gas: 1039987.730 units remaining) - [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" deleted file mode 100644 index f8675bd21bf3..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[address.tz-None-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-.f9045c3a04.out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[address.tz-None-"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"-(Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")] - -storage - (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039480.374 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" None) ] - - location: 9 (remaining gas: 1039480.234 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter ] - - location: 10 (remaining gas: 1039480.094 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.address ] - - location: 11 (remaining gas: 1039479.954 units remaining) - [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 12 (remaining gas: 1039479.814 units remaining) - [ {} - (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 14 (remaining gas: 1039479.674 units remaining) - [ (Pair {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) ] - - location: -1 (remaining gas: 1039479.604 units remaining) - [ (Pair {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out deleted file mode 100644 index aef0273f0e6b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False False)-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039990.620 units remaining) - [ (Pair (Pair False False) None) ] - - location: 10 (remaining gas: 1039990.480 units remaining) - [ (Pair False False) @param ] - - location: 11 (remaining gas: 1039990.340 units remaining) - [ False - False ] - - location: 12 (remaining gas: 1039990.180 units remaining) - [ False @and ] - - location: 13 (remaining gas: 1039990.040 units remaining) - [ (Some False) @res ] - - location: 14 (remaining gas: 1039989.900 units remaining) - [ {} @noop - (Some False) @res ] - - location: 16 (remaining gas: 1039989.760 units remaining) - [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039989.620 units remaining) - [ {} @x - (Some False) @y ] - - location: 18 (remaining gas: 1039989.480 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039989.410 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out deleted file mode 100644 index 9ee77f65bcfb..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair False True)-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039990.620 units remaining) - [ (Pair (Pair False True) None) ] - - location: 10 (remaining gas: 1039990.480 units remaining) - [ (Pair False True) @param ] - - location: 11 (remaining gas: 1039990.340 units remaining) - [ False - True ] - - location: 12 (remaining gas: 1039990.180 units remaining) - [ False @and ] - - location: 13 (remaining gas: 1039990.040 units remaining) - [ (Some False) @res ] - - location: 14 (remaining gas: 1039989.900 units remaining) - [ {} @noop - (Some False) @res ] - - location: 16 (remaining gas: 1039989.760 units remaining) - [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039989.620 units remaining) - [ {} @x - (Some False) @y ] - - location: 18 (remaining gas: 1039989.480 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039989.410 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out deleted file mode 100644 index 5eea72af772b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True False)-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039990.620 units remaining) - [ (Pair (Pair True False) None) ] - - location: 10 (remaining gas: 1039990.480 units remaining) - [ (Pair True False) @param ] - - location: 11 (remaining gas: 1039990.340 units remaining) - [ True - False ] - - location: 12 (remaining gas: 1039990.180 units remaining) - [ False @and ] - - location: 13 (remaining gas: 1039990.040 units remaining) - [ (Some False) @res ] - - location: 14 (remaining gas: 1039989.900 units remaining) - [ {} @noop - (Some False) @res ] - - location: 16 (remaining gas: 1039989.760 units remaining) - [ (Pair {} (Some False)) ] - - location: 17 (remaining gas: 1039989.620 units remaining) - [ {} @x - (Some False) @y ] - - location: 18 (remaining gas: 1039989.480 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039989.410 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out deleted file mode 100644 index b8b766ef2cb3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and.tz-None-(Pair True True)-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039990.620 units remaining) - [ (Pair (Pair True True) None) ] - - location: 10 (remaining gas: 1039990.480 units remaining) - [ (Pair True True) @param ] - - location: 11 (remaining gas: 1039990.340 units remaining) - [ True - True ] - - location: 12 (remaining gas: 1039990.180 units remaining) - [ True @and ] - - location: 13 (remaining gas: 1039990.040 units remaining) - [ (Some True) @res ] - - location: 14 (remaining gas: 1039989.900 units remaining) - [ {} @noop - (Some True) @res ] - - location: 16 (remaining gas: 1039989.760 units remaining) - [ (Pair {} (Some True)) ] - - location: 17 (remaining gas: 1039989.620 units remaining) - [ {} @x - (Some True) @y ] - - location: 18 (remaining gas: 1039989.480 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039989.410 units remaining) - [ (Pair {} (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out deleted file mode 100644 index 6912a308f4ca..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,103 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and_binary.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039955.820 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039955.680 units remaining) - [ ] - - location: 8 (remaining gas: 1039955.540 units remaining) - [ 5 ] - - location: 11 (remaining gas: 1039955.400 units remaining) - [ 6 - 5 ] - - location: 14 (remaining gas: 1039955.260 units remaining) - [ 4 ] - - location: 15 (remaining gas: 1039955.120 units remaining) - [ 4 - 4 ] - - location: 20 (remaining gas: 1039954.790 units remaining) - [ 0 ] - - location: 21 (remaining gas: 1039954.650 units remaining) - [ True ] - - location: -1 (remaining gas: 1039954.580 units remaining) - [ True ] - - location: 23 (remaining gas: 1039954.390 units remaining) - [ ] - - location: -1 (remaining gas: 1039954.320 units remaining) - [ ] - - location: 28 (remaining gas: 1039954.180 units remaining) - [ 6 ] - - location: 31 (remaining gas: 1039954.040 units remaining) - [ 5 - 6 ] - - location: 34 (remaining gas: 1039953.900 units remaining) - [ 4 ] - - location: 35 (remaining gas: 1039953.760 units remaining) - [ 4 - 4 ] - - location: 40 (remaining gas: 1039953.430 units remaining) - [ 0 ] - - location: 41 (remaining gas: 1039953.290 units remaining) - [ True ] - - location: -1 (remaining gas: 1039953.220 units remaining) - [ True ] - - location: 43 (remaining gas: 1039953.030 units remaining) - [ ] - - location: -1 (remaining gas: 1039952.960 units remaining) - [ ] - - location: 48 (remaining gas: 1039952.820 units remaining) - [ 12 ] - - location: 51 (remaining gas: 1039952.680 units remaining) - [ -1 - 12 ] - - location: 54 (remaining gas: 1039952.540 units remaining) - [ 12 ] - - location: 55 (remaining gas: 1039952.400 units remaining) - [ 12 - 12 ] - - location: 60 (remaining gas: 1039952.070 units remaining) - [ 0 ] - - location: 61 (remaining gas: 1039951.930 units remaining) - [ True ] - - location: -1 (remaining gas: 1039951.860 units remaining) - [ True ] - - location: 63 (remaining gas: 1039951.670 units remaining) - [ ] - - location: -1 (remaining gas: 1039951.600 units remaining) - [ ] - - location: 68 (remaining gas: 1039951.460 units remaining) - [ 12 ] - - location: 71 (remaining gas: 1039951.320 units remaining) - [ -5 - 12 ] - - location: 74 (remaining gas: 1039951.180 units remaining) - [ 8 ] - - location: 75 (remaining gas: 1039951.040 units remaining) - [ 8 - 8 ] - - location: 80 (remaining gas: 1039950.710 units remaining) - [ 0 ] - - location: 81 (remaining gas: 1039950.570 units remaining) - [ True ] - - location: -1 (remaining gas: 1039950.500 units remaining) - [ True ] - - location: 83 (remaining gas: 1039950.310 units remaining) - [ ] - - location: -1 (remaining gas: 1039950.240 units remaining) - [ ] - - location: 88 (remaining gas: 1039950.100 units remaining) - [ Unit ] - - location: 89 (remaining gas: 1039949.960 units remaining) - [ {} @noop - Unit ] - - location: 91 (remaining gas: 1039949.820 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039949.750 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out deleted file mode 100644 index 0122728d433c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False False)-False] - -storage - False -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.170 units remaining) - [ (Pair (Pair False False) False) ] - - location: 9 (remaining gas: 1039993.030 units remaining) - [ (Pair False False) @parameter ] - - location: 10 (remaining gas: 1039992.890 units remaining) - [ False - False ] - - location: 11 (remaining gas: 1039992.730 units remaining) - [ False @and ] - - location: 12 (remaining gas: 1039992.590 units remaining) - [ {} @noop - False @and ] - - location: 14 (remaining gas: 1039992.450 units remaining) - [ (Pair {} False) ] - - location: -1 (remaining gas: 1039992.380 units remaining) - [ (Pair {} False) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out deleted file mode 100644 index d355118eb2ac..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair False True)-False] - -storage - False -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.170 units remaining) - [ (Pair (Pair False True) False) ] - - location: 9 (remaining gas: 1039993.030 units remaining) - [ (Pair False True) @parameter ] - - location: 10 (remaining gas: 1039992.890 units remaining) - [ False - True ] - - location: 11 (remaining gas: 1039992.730 units remaining) - [ False @and ] - - location: 12 (remaining gas: 1039992.590 units remaining) - [ {} @noop - False @and ] - - location: 14 (remaining gas: 1039992.450 units remaining) - [ (Pair {} False) ] - - location: -1 (remaining gas: 1039992.380 units remaining) - [ (Pair {} False) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out deleted file mode 100644 index 12137225efff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True False)-False] - -storage - False -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.170 units remaining) - [ (Pair (Pair True False) False) ] - - location: 9 (remaining gas: 1039993.030 units remaining) - [ (Pair True False) @parameter ] - - location: 10 (remaining gas: 1039992.890 units remaining) - [ True - False ] - - location: 11 (remaining gas: 1039992.730 units remaining) - [ False @and ] - - location: 12 (remaining gas: 1039992.590 units remaining) - [ {} @noop - False @and ] - - location: 14 (remaining gas: 1039992.450 units remaining) - [ (Pair {} False) ] - - location: -1 (remaining gas: 1039992.380 units remaining) - [ (Pair {} False) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out deleted file mode 100644 index ac11a305b685..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True].out +++ /dev/null @@ -1,26 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[and_logical_1.tz-False-(Pair True True)-True] - -storage - True -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.170 units remaining) - [ (Pair (Pair True True) False) ] - - location: 9 (remaining gas: 1039993.030 units remaining) - [ (Pair True True) @parameter ] - - location: 10 (remaining gas: 1039992.890 units remaining) - [ True - True ] - - location: 11 (remaining gas: 1039992.730 units remaining) - [ True @and ] - - location: 12 (remaining gas: 1039992.590 units remaining) - [ {} @noop - True @and ] - - location: 14 (remaining gas: 1039992.450 units remaining) - [ (Pair {} True) ] - - location: -1 (remaining gas: 1039992.380 units remaining) - [ (Pair {} True) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out deleted file mode 100644 index a4b014a2efa2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[balance.tz-111-Unit-4000000000000] - -storage - 4000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 111) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039779.524 units remaining) - [ 4000000000000 @balance ] - - location: 9 (remaining gas: 1039779.384 units remaining) - [ {} - 4000000000000 @balance ] - - location: 11 (remaining gas: 1039779.244 units remaining) - [ (Pair {} 4000000000000) ] - - location: -1 (remaining gas: 1039779.174 units remaining) - [ (Pair {} 4000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.4c96f27113.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.4c96f27113.out deleted file mode 100644 index c951b26b91ce..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.4c96f27113.out +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (Some False))1] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[0] to 1 -trace - - location: 11 (remaining gas: 1039986.170 units remaining) - [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039986.030 units remaining) - [ 1 @parameter - (Pair { Elt 0 1 } None) @storage ] - - location: 15 (remaining gas: 1039985.730 units remaining) - [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039985.590 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: -1 (remaining gas: 1039985.520 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: 13 (remaining gas: 1039985.520 units remaining) - [ 1 @parameter - { Elt 0 1 } - { Elt 0 1 } ] - - location: 17 (remaining gas: 1039985.380 units remaining) - [ False - { Elt 0 1 } ] - - location: 18 (remaining gas: 1039985.240 units remaining) - [ (Some False) - { Elt 0 1 } ] - - location: 19 (remaining gas: 1039985.110 units remaining) - [ { Elt 0 1 } - (Some False) ] - - location: 20 (remaining gas: 1039984.970 units remaining) - [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039984.830 units remaining) - [ {} - (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039984.690 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - - location: -1 (remaining gas: 1039984.620 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.7a576099dd.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.7a576099dd.out deleted file mode 100644 index e7ba1b19f1f8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (S.7a576099dd.out +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair 0 (Some False))0] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[0] to 1 -trace - - location: 11 (remaining gas: 1039986.170 units remaining) - [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039986.030 units remaining) - [ 1 @parameter - (Pair { Elt 0 1 } None) @storage ] - - location: 15 (remaining gas: 1039985.730 units remaining) - [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039985.590 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: -1 (remaining gas: 1039985.520 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: 13 (remaining gas: 1039985.520 units remaining) - [ 1 @parameter - { Elt 0 1 } - { Elt 0 1 } ] - - location: 17 (remaining gas: 1039985.380 units remaining) - [ False - { Elt 0 1 } ] - - location: 18 (remaining gas: 1039985.240 units remaining) - [ (Some False) - { Elt 0 1 } ] - - location: 19 (remaining gas: 1039985.110 units remaining) - [ { Elt 0 1 } - (Some False) ] - - location: 20 (remaining gas: 1039984.970 units remaining) - [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039984.830 units remaining) - [ {} - (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039984.690 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - - location: -1 (remaining gas: 1039984.620 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.a78f9cbe43.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.a78f9cbe43.out deleted file mode 100644 index 700d2da8c215..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.a78f9cbe43.out +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (Some True))0] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 0 -trace - - location: 11 (remaining gas: 1039986.170 units remaining) - [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039986.030 units remaining) - [ 1 @parameter - (Pair { Elt 1 0 } None) @storage ] - - location: 15 (remaining gas: 1039985.730 units remaining) - [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039985.590 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: -1 (remaining gas: 1039985.520 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: 13 (remaining gas: 1039985.520 units remaining) - [ 1 @parameter - { Elt 1 0 } - { Elt 1 0 } ] - - location: 17 (remaining gas: 1039985.380 units remaining) - [ True - { Elt 1 0 } ] - - location: 18 (remaining gas: 1039985.240 units remaining) - [ (Some True) - { Elt 1 0 } ] - - location: 19 (remaining gas: 1039985.110 units remaining) - [ { Elt 1 0 } - (Some True) ] - - location: 20 (remaining gas: 1039984.970 units remaining) - [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039984.830 units remaining) - [ {} - (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039984.690 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - - location: -1 (remaining gas: 1039984.620 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.eb161b3e7b.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.eb161b3e7b.out deleted file mode 100644 index b308321031fa..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (S.eb161b3e7b.out +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair 0 (Some True))1] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 0 -trace - - location: 11 (remaining gas: 1039986.170 units remaining) - [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039986.030 units remaining) - [ 1 @parameter - (Pair { Elt 1 0 } None) @storage ] - - location: 15 (remaining gas: 1039985.730 units remaining) - [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039985.590 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: -1 (remaining gas: 1039985.520 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: 13 (remaining gas: 1039985.520 units remaining) - [ 1 @parameter - { Elt 1 0 } - { Elt 1 0 } ] - - location: 17 (remaining gas: 1039985.380 units remaining) - [ True - { Elt 1 0 } ] - - location: 18 (remaining gas: 1039985.240 units remaining) - [ (Some True) - { Elt 1 0 } ] - - location: 19 (remaining gas: 1039985.110 units remaining) - [ { Elt 1 0 } - (Some True) ] - - location: 20 (remaining gas: 1039984.970 units remaining) - [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039984.830 units remaining) - [ {} - (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039984.690 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - - location: -1 (remaining gas: 1039984.620 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.09d8aca862.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.09d8aca862.out deleted file mode 100644 index 0d3efdc59cf7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.09d8aca862.out +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pair 0 (Some True))1] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 4 - Set map(0)[2] to 11 -trace - - location: 11 (remaining gas: 1039985.460 units remaining) - [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039985.320 units remaining) - [ 1 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039984.880 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039984.810 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039984.810 units remaining) - [ 1 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039984.670 units remaining) - [ True - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039984.530 units remaining) - [ (Some True) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039984.400 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some True) ] - - location: 20 (remaining gas: 1039984.260 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.120 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039983.980 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039983.910 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.8c67185afa.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.8c67185afa.out deleted file mode 100644 index 2978f2d03892..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1.8c67185afa.out +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pair 0 (Some True))0] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 4 - Set map(0)[2] to 11 -trace - - location: 11 (remaining gas: 1039985.460 units remaining) - [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039985.320 units remaining) - [ 1 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039984.880 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039984.810 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039984.810 units remaining) - [ 1 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039984.670 units remaining) - [ True - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039984.530 units remaining) - [ (Some True) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039984.400 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some True) ] - - location: 20 (remaining gas: 1039984.260 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.120 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039983.980 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039983.910 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.288a17ed5b.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.288a17ed5b.out deleted file mode 100644 index af81c3d02b89..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.288a17ed5b.out +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pair 0 (Some True))1] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 4 - Set map(0)[2] to 11 -trace - - location: 11 (remaining gas: 1039985.460 units remaining) - [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039985.320 units remaining) - [ 2 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039984.880 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039984.810 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039984.810 units remaining) - [ 2 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039984.670 units remaining) - [ True - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039984.530 units remaining) - [ (Some True) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039984.400 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some True) ] - - location: 20 (remaining gas: 1039984.260 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.120 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039983.980 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039983.910 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.359cf3d084.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.359cf3d084.out deleted file mode 100644 index 33259f9afee5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2.359cf3d084.out +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pair 0 (Some True))0] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 4 - Set map(0)[2] to 11 -trace - - location: 11 (remaining gas: 1039985.460 units remaining) - [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039985.320 units remaining) - [ 2 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039984.880 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039984.810 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039984.810 units remaining) - [ 2 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039984.670 units remaining) - [ True - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039984.530 units remaining) - [ (Some True) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039984.400 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some True) ] - - location: 20 (remaining gas: 1039984.260 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.120 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039983.980 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039983.910 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.1c70ed3ee1.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.1c70ed3ee1.out deleted file mode 100644 index 0b02c81d2e50..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.1c70ed3ee1.out +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pair 0 (Some False))1] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 4 - Set map(0)[2] to 11 -trace - - location: 11 (remaining gas: 1039985.460 units remaining) - [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039985.320 units remaining) - [ 3 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039984.880 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039984.810 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039984.810 units remaining) - [ 3 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039984.670 units remaining) - [ False - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039984.530 units remaining) - [ (Some False) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039984.400 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some False) ] - - location: 20 (remaining gas: 1039984.260 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039984.120 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039983.980 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: -1 (remaining gas: 1039983.910 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.4df68c50c9.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.4df68c50c9.out deleted file mode 100644 index a811f3773d8b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3.4df68c50c9.out +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pair 0 (Some False))0] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) - Set map(0)[1] to 4 - Set map(0)[2] to 11 -trace - - location: 11 (remaining gas: 1039985.460 units remaining) - [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039985.320 units remaining) - [ 3 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.020 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039984.880 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039984.810 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039984.810 units remaining) - [ 3 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039984.670 units remaining) - [ False - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039984.530 units remaining) - [ (Some False) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039984.400 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some False) ] - - location: 20 (remaining gas: 1039984.260 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039984.120 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039983.980 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: -1 (remaining gas: 1039983.910 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))0].out deleted file mode 100644 index a8e29d28becf..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))0].out +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))0] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) -trace - - location: 11 (remaining gas: 1039986.730 units remaining) - [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039986.590 units remaining) - [ 1 @parameter - (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039986.290 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039986.150 units remaining) - [ {} - {} ] - - location: -1 (remaining gas: 1039986.080 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.080 units remaining) - [ 1 @parameter - {} - {} ] - - location: 17 (remaining gas: 1039985.940 units remaining) - [ False - {} ] - - location: 18 (remaining gas: 1039985.800 units remaining) - [ (Some False) - {} ] - - location: 19 (remaining gas: 1039985.670 units remaining) - [ {} - (Some False) ] - - location: 20 (remaining gas: 1039985.530 units remaining) - [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039985.390 units remaining) - [ {} - (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039985.250 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039985.180 units remaining) - [ (Pair {} {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))1].out deleted file mode 100644 index 46115b3ae289..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))1].out +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_nat.tz-(Pair {} None)-1-(Pair 0 (Some False))1] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map nat nat) -trace - - location: 11 (remaining gas: 1039986.730 units remaining) - [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039986.590 units remaining) - [ 1 @parameter - (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039986.290 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039986.150 units remaining) - [ {} - {} ] - - location: -1 (remaining gas: 1039986.080 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.080 units remaining) - [ 1 @parameter - {} - {} ] - - location: 17 (remaining gas: 1039985.940 units remaining) - [ False - {} ] - - location: 18 (remaining gas: 1039985.800 units remaining) - [ (Some False) - {} ] - - location: 19 (remaining gas: 1039985.670 units remaining) - [ {} - (Some False) ] - - location: 20 (remaining gas: 1039985.530 units remaining) - [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039985.390 units remaining) - [ {} - (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039985.250 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039985.180 units remaining) - [ (Pair {} {} (Some False)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.712049bd7b.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.712049bd7b.out" deleted file mode 100644 index ae5276984766..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.712049bd7b.out" +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)-"baz"-(Pair 0 (Some False))] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["bar"] to 4 - Set map(0)["foo"] to 11 -trace - - location: 11 (remaining gas: 1039985.358 units remaining) - [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039985.218 units remaining) - [ "baz" @parameter - (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039984.918 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039984.778 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039984.708 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039984.708 units remaining) - [ "baz" @parameter - { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039984.568 units remaining) - [ False - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039984.428 units remaining) - [ (Some False) - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039984.298 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - (Some False) ] - - location: 20 (remaining gas: 1039984.158 units remaining) - [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039984.018 units remaining) - [ {} - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039983.878 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: -1 (remaining gas: 1039983.808 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.b18ef3a371.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.b18ef3a371.out" deleted file mode 100644 index e9511228bc53..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.b18ef3a371.out" +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)-"foo"-(Pair 0 (Some True))] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["bar"] to 4 - Set map(0)["foo"] to 11 -trace - - location: 11 (remaining gas: 1039985.358 units remaining) - [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039985.218 units remaining) - [ "foo" @parameter - (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039984.918 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039984.778 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039984.708 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039984.708 units remaining) - [ "foo" @parameter - { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039984.568 units remaining) - [ True - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039984.428 units remaining) - [ (Some True) - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039984.298 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - (Some True) ] - - location: 20 (remaining gas: 1039984.158 units remaining) - [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.018 units remaining) - [ {} - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039983.878 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039983.808 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.d04a6af348.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.d04a6af348.out" deleted file mode 100644 index 07639cf4a25a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 1.d04a6af348.out" +++ /dev/null @@ -1,47 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)-"bar"-(Pair 0 (Some True))] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["bar"] to 4 - Set map(0)["foo"] to 11 -trace - - location: 11 (remaining gas: 1039985.358 units remaining) - [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039985.218 units remaining) - [ "bar" @parameter - (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039984.918 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039984.778 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039984.708 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039984.708 units remaining) - [ "bar" @parameter - { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039984.568 units remaining) - [ True - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039984.428 units remaining) - [ (Some True) - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039984.298 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - (Some True) ] - - location: 20 (remaining gas: 1039984.158 units remaining) - [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.018 units remaining) - [ {} - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039983.878 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039983.808 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".1ae65b36c3.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".1ae65b36c3.out" deleted file mode 100644 index 33872b927570..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\".1ae65b36c3.out" +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt "foo" 0 } None)-"foo"-(Pair 0 (Some True))] - -storage - (Pair 0 (Some True)) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["foo"] to 0 -trace - - location: 11 (remaining gas: 1039986.082 units remaining) - [ (Pair "foo" { Elt "foo" 0 } None) ] - - location: 12 (remaining gas: 1039985.942 units remaining) - [ "foo" @parameter - (Pair { Elt "foo" 0 } None) @storage ] - - location: 15 (remaining gas: 1039985.642 units remaining) - [ { Elt "foo" 0 } ] - - location: 16 (remaining gas: 1039985.502 units remaining) - [ { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: -1 (remaining gas: 1039985.432 units remaining) - [ { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039985.432 units remaining) - [ "foo" @parameter - { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039985.292 units remaining) - [ True - { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039985.152 units remaining) - [ (Some True) - { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039985.022 units remaining) - [ { Elt "foo" 0 } - (Some True) ] - - location: 20 (remaining gas: 1039984.882 units remaining) - [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039984.742 units remaining) - [ {} - (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039984.602 units remaining) - [ (Pair {} { Elt "foo" 0 } (Some True)) ] - - location: -1 (remaining gas: 1039984.532 units remaining) - [ (Pair {} { Elt "foo" 0 } (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".59ffcc6af5.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".59ffcc6af5.out" deleted file mode 100644 index 68477668984c..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\".59ffcc6af5.out" +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair { Elt "foo" 1 } None)-"bar"-(Pair 0 (Some False))] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) - Set map(0)["foo"] to 1 -trace - - location: 11 (remaining gas: 1039986.082 units remaining) - [ (Pair "bar" { Elt "foo" 1 } None) ] - - location: 12 (remaining gas: 1039985.942 units remaining) - [ "bar" @parameter - (Pair { Elt "foo" 1 } None) @storage ] - - location: 15 (remaining gas: 1039985.642 units remaining) - [ { Elt "foo" 1 } ] - - location: 16 (remaining gas: 1039985.502 units remaining) - [ { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: -1 (remaining gas: 1039985.432 units remaining) - [ { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039985.432 units remaining) - [ "bar" @parameter - { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039985.292 units remaining) - [ False - { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039985.152 units remaining) - [ (Some False) - { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039985.022 units remaining) - [ { Elt "foo" 1 } - (Some False) ] - - location: 20 (remaining gas: 1039984.882 units remaining) - [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039984.742 units remaining) - [ {} - (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039984.602 units remaining) - [ (Pair {} { Elt "foo" 1 } (Some False)) ] - - location: -1 (remaining gas: 1039984.532 units remaining) - [ (Pair {} { Elt "foo" 1 } (Some False)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 0 (Some False))].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 0 (Some False))].out" deleted file mode 100644 index 3c024a2ce783..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair 0 (Some False))].out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[big_map_mem_string.tz-(Pair {} None)-"bar"-(Pair 0 (Some False))] - -storage - (Pair 0 (Some False)) -emitted operations - -big_map diff - New map(0) of type (big_map string nat) -trace - - location: 11 (remaining gas: 1039986.686 units remaining) - [ (Pair "bar" {} None) ] - - location: 12 (remaining gas: 1039986.546 units remaining) - [ "bar" @parameter - (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039986.246 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039986.106 units remaining) - [ {} - {} ] - - location: -1 (remaining gas: 1039986.036 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.036 units remaining) - [ "bar" @parameter - {} - {} ] - - location: 17 (remaining gas: 1039985.896 units remaining) - [ False - {} ] - - location: 18 (remaining gas: 1039985.756 units remaining) - [ (Some False) - {} ] - - location: 19 (remaining gas: 1039985.626 units remaining) - [ {} - (Some False) ] - - location: 20 (remaining gas: 1039985.486 units remaining) - [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039985.346 units remaining) - [ {} - (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039985.206 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039985.136 units remaining) - [ (Pair {} {} (Some False)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out deleted file mode 100644 index faeb5b89d47f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0.9b6e8bcbd3.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_bytes_not_padded.tz-None-Unit-(Some 0x0000000000000000000000000000000000000000000000000000000000000000)] - -storage - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.230 units remaining) - [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.090 units remaining) - [ ] - - location: 9 (remaining gas: 1039992.950 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.810 units remaining) - [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 13 (remaining gas: 1039992.670 units remaining) - [ {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 15 (remaining gas: 1039992.530 units remaining) - [ (Pair {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039992.460 units remaining) - [ (Pair {} - (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out deleted file mode 100644 index 83ba3d4f2b9a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x100000000000.d1219ca789.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_push_nat.tz-None-Unit-(Some 0x1000000000000000000000000000000000000000000000000000000000000000)] - -storage - (Some 0x1000000000000000000000000000000000000000000000000000000000000000) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.230 units remaining) - [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.090 units remaining) - [ ] - - location: 9 (remaining gas: 1039992.950 units remaining) - [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.810 units remaining) - [ (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: 13 (remaining gas: 1039992.670 units remaining) - [ {} - (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: 15 (remaining gas: 1039992.530 units remaining) - [ (Pair {} - (Some 0x1000000000000000000000000000000000000000000000000000000000000000)) ] - - location: -1 (remaining gas: 1039992.460 units remaining) - [ (Pair {} - (Some 0x1000000000000000000000000000000000000000000000000000000000000000)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out deleted file mode 100644 index 9b448cf14932..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x00-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 @parameter ] - - location: 8 (remaining gas: 1039994.460 units remaining) - [ 0 ] - - location: 9 (remaining gas: 1039994.320 units remaining) - [ {} - 0 ] - - location: 11 (remaining gas: 1039994.180 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039994.110 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out deleted file mode 100644 index b3ce7679989c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x01-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @parameter ] - - location: 8 (remaining gas: 1039994.460 units remaining) - [ 1 ] - - location: 9 (remaining gas: 1039994.320 units remaining) - [ {} - 1 ] - - location: 11 (remaining gas: 1039994.180 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039994.110 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out deleted file mode 100644 index 1f3586165f04..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f2.7a85c336ff.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27-17832688077013577776524784494464728518213913213412866604053735695200962927400] - -storage - 17832688077013577776524784494464728518213913213412866604053735695200962927400 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 0) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 @parameter ] - - location: 8 (remaining gas: 1039994.460 units remaining) - [ 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] - - location: 9 (remaining gas: 1039994.320 units remaining) - [ {} - 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] - - location: 11 (remaining gas: 1039994.180 units remaining) - [ (Pair {} - 17832688077013577776524784494464728518213913213412866604053735695200962927400) ] - - location: -1 (remaining gas: 1039994.110 units remaining) - [ (Pair {} - 17832688077013577776524784494464728518213913213412866604053735695200962927400) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out deleted file mode 100644 index 3b95a30c9e98..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986.b821eb26b3.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_int.tz-0-0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719-11320265829256585830781521966149529460476767408210445238902869222031333517497] - -storage - 11320265829256585830781521966149529460476767408210445238902869222031333517497 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 0) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 @parameter ] - - location: 8 (remaining gas: 1039994.460 units remaining) - [ 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] - - location: 9 (remaining gas: 1039994.320 units remaining) - [ {} - 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] - - location: 11 (remaining gas: 1039994.180 units remaining) - [ (Pair {} - 11320265829256585830781521966149529460476767408210445238902869222031333517497) ] - - location: -1 (remaining gas: 1039994.110 units remaining) - [ (Pair {} - 11320265829256585830781521966149529460476767408210445238902869222031333517497) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out deleted file mode 100644 index 7c10186ee9c9..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16].out +++ /dev/null @@ -1,34 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_to_mutez.tz-0-0x10-16] - -storage - 16 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039988.655 units remaining) - [ (Pair 0x1000000000000000000000000000000000000000000000000000000000000000 0) ] - - location: 7 (remaining gas: 1039988.515 units remaining) - [ 0x1000000000000000000000000000000000000000000000000000000000000000 @parameter ] - - location: 8 (remaining gas: 1039988.425 units remaining) - [ 16 ] - - location: 9 (remaining gas: 1039988.285 units remaining) - [ (Some 16) ] - - location: 16 (remaining gas: 1039988.015 units remaining) - [ 16 @some ] - - location: 10 (remaining gas: 1039987.945 units remaining) - [ 16 @some ] - - location: 17 (remaining gas: 1039987.805 units remaining) - [ 1 - 16 @some ] - - location: 20 (remaining gas: 1039987.412 units remaining) - [ 16 ] - - location: 21 (remaining gas: 1039987.272 units remaining) - [ {} - 16 ] - - location: 23 (remaining gas: 1039987.132 units remaining) - [ (Pair {} 16) ] - - location: -1 (remaining gas: 1039987.062 units remaining) - [ (Pair {} 16) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out deleted file mode 100644 index 1f947c86b3e4..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0accef5bef.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000--42-0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73] - -storage - 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ -42 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out deleted file mode 100644 index b5bf99499d2a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.0ecc537252.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-2-0x0200000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0200000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 2 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out deleted file mode 100644 index 32523ac2943b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2229b767cd.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000--1-0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73] - -storage - 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ -1 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out deleted file mode 100644 index 6ca736cd10ec..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.2ff549b46b.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-0-0x0000000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0000000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 0 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out deleted file mode 100644 index 866ce7d7d6ea..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.bf8a711be6.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-52435875175126190479447740508185965837690552500527637822603658699938581184514-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 - 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out deleted file mode 100644 index 93af95295252..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000.d41cbb044b.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-1-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 1 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out deleted file mode 100644 index a1cd1c8fd69b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.a50412e458.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f-22620284817922784902564672469917992996328211127984472897491698543785655336309-0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62] - -storage - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out deleted file mode 100644 index 6d2b00851de8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.f3a349c4a7.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f-33644916630334844239120348434626468649534186770809802792596996408934105684394-0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221] - -storage - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out deleted file mode 100644 index ff88051803a5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.1b9676e4c2.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-69615968247920749285624776342583898043608129789011377475114141186797415307882-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out deleted file mode 100644 index 707b75c42856..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03.e966dc6de5.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_int.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-17180093072794558806177035834397932205917577288483739652510482486858834123369-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out deleted file mode 100644 index c41870767273..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.964835cc43.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-1-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 1 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out deleted file mode 100644 index d86340f2444e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.b25ea709fb.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-0-0x0000000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0000000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 0 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out deleted file mode 100644 index b1ebeac52fd8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.eae36753ea.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-52435875175126190479447740508185965837690552500527637822603658699938581184514-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 - 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out deleted file mode 100644 index 2874c594f374..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000.ee57dac8f7.out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-2-0x0200000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0200000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 2 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out deleted file mode 100644 index 71009892255e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.928f6d4b93.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f-22620284817922784902564672469917992996328211127984472897491698543785655336309-0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62] - -storage - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out deleted file mode 100644 index 326dd0b426d5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.bd5800f6b8.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f-33644916630334844239120348434626468649534186770809802792596996408934105684394-0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221] - -storage - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out deleted file mode 100644 index ed018ad0c662..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.00e897789a.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-17180093072794558806177035834397932205917577288483739652510482486858834123369-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out deleted file mode 100644 index 630f243a24f8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03.a4697eaa13.out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_fr_z_nat.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-69615968247920749285624776342583898043608129789011377475114141186797415307882-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.690 units remaining) - [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039994.550 units remaining) - [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039994.100 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 9 (remaining gas: 1039993.960 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 11 (remaining gas: 1039993.820 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039993.750 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out deleted file mode 100644 index 682678933e71..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.0177355bbf.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-2-0x0200000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0200000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 2 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 2 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out deleted file mode 100644 index 4d0709f2c4f3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.744166c609.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000--1-0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73] - -storage - 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ -1 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - -1 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out deleted file mode 100644 index 46e16ae6dd26..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.9f3c5cdc6a.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-0-0x0000000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0000000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 0 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 0 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out deleted file mode 100644 index 83a513731fd7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.a54cb341ba.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000--42-0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73] - -storage - 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ -42 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - -42 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out deleted file mode 100644 index c57d8fbd75c6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.b0dc584c94.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-1-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 1 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 1 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out deleted file mode 100644 index 977a8e586dc5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000.bddcad090c.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x0100000000000000000000000000000000000000000000000000000000000000-52435875175126190479447740508185965837690552500527637822603658699938581184514-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 - 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out deleted file mode 100644 index 31d9e8f73d26..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c1.92c153eb47.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f-22620284817922784902564672469917992996328211127984472897491698543785655336309-0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62] - -storage - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage - 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out deleted file mode 100644 index 5efb38c58c42..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80.290ab49d11.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f-33644916630334844239120348434626468649534186770809802792596996408934105684394-0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221] - -storage - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage - 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out deleted file mode 100644 index fde315394f31..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.69f3589a06.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-17180093072794558806177035834397932205917577288483739652510482486858834123369-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage - 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out deleted file mode 100644 index 528735bb7486..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03.fee3c5cf43.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_int.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-69615968247920749285624776342583898043608129789011377475114141186797415307882-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage - 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out deleted file mode 100644 index f148834d9bb8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.1bccc033e8.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-52435875175126190479447740508185965837690552500527637822603658699938581184514-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 - 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 52435875175126190479447740508185965837690552500527637822603658699938581184514 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out deleted file mode 100644 index b46e054a8a90..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.40958700fe.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-0-0x0000000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0000000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 0 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 0 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0000000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out deleted file mode 100644 index 3c12db6db50f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.6c62b03d78.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-1-0x0100000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0100000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 1 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 1 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0100000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out deleted file mode 100644 index b0191de3b393..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000.d23f269341.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x0100000000000000000000000000000000000000000000000000000000000000-2-0x0200000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0200000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 2 @parameter - 0x0100000000000000000000000000000000000000000000000000000000000000 @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 @storage - 2 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x0200000000000000000000000000000000000000000000000000000000000000 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out deleted file mode 100644 index f15aa753a1ee..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c1.927f808504.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f-22620284817922784902564672469917992996328211127984472897491698543785655336309-0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62] - -storage - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter - 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f @storage - 22620284817922784902564672469917992996328211127984472897491698543785655336309 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out deleted file mode 100644 index c601158323ea..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80.0c114c956a.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f-33644916630334844239120348434626468649534186770809802792596996408934105684394-0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221] - -storage - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter - 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f @storage - 33644916630334844239120348434626468649534186770809802792596996408934105684394 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out deleted file mode 100644 index 6bf9074af802..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.03c4f38e68.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-69615968247920749285624776342583898043608129789011377475114141186797415307882-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage - 69615968247920749285624776342583898043608129789011377475114141186797415307882 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out deleted file mode 100644 index e2a67a21db21..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03.8ed19cfdd9.out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[bls12_381_z_fr_nat.tz-0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d-17180093072794558806177035834397932205917577288483739652510482486858834123369-0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221] - -storage - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.940 units remaining) - [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] - - location: 7 (remaining gas: 1039993.800 units remaining) - [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter - 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage ] - - location: 8 (remaining gas: 1039993.670 units remaining) - [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d @storage - 17180093072794558806177035834397932205917577288483739652510482486858834123369 @parameter ] - - location: 9 (remaining gas: 1039993.220 units remaining) - [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 10 (remaining gas: 1039993.080 units remaining) - [ {} - 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] - - location: 12 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - - location: -1 (remaining gas: 1039992.870 units remaining) - [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out deleted file mode 100644 index db83fd928a6a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[car.tz-0-(Pair 34 17)-34] - -storage - 34 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.920 units remaining) - [ (Pair (Pair 34 17) 0) ] - - location: 9 (remaining gas: 1039993.780 units remaining) - [ (Pair 34 17) @parameter ] - - location: 10 (remaining gas: 1039993.640 units remaining) - [ 34 ] - - location: 11 (remaining gas: 1039993.500 units remaining) - [ {} - 34 ] - - location: 13 (remaining gas: 1039993.360 units remaining) - [ (Pair {} 34) ] - - location: -1 (remaining gas: 1039993.290 units remaining) - [ (Pair {} 34) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out deleted file mode 100644 index f9a6873c133c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[cdr.tz-0-(Pair 34 17)-17] - -storage - 17 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.920 units remaining) - [ (Pair (Pair 34 17) 0) ] - - location: 9 (remaining gas: 1039993.780 units remaining) - [ (Pair 34 17) @parameter ] - - location: 10 (remaining gas: 1039993.640 units remaining) - [ 17 ] - - location: 11 (remaining gas: 1039993.500 units remaining) - [ {} - 17 ] - - location: 13 (remaining gas: 1039993.360 units remaining) - [ (Pair {} 17) ] - - location: -1 (remaining gas: 1039993.290 units remaining) - [ (Pair {} 17) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" deleted file mode 100644 index 1111a867c4dc..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some \"NetXdQprcVkpaWU\")-Unit-(Some \".8420090f97.out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some "NetXdQprcVkpaWU")-Unit-(Some "NetXdQprcVkpaWU")] - -storage - (Some "NetXdQprcVkpaWU") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.950 units remaining) - [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] - - location: 8 (remaining gas: 1039991.810 units remaining) - [ ] - - location: 9 (remaining gas: 1039991.670 units remaining) - [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039991.530 units remaining) - [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039991.390 units remaining) - [ {} - (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039991.250 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - - location: -1 (remaining gas: 1039991.180 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" deleted file mode 100644 index a68edd651f3a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some \"NetXdQprcVkpaWU\")].out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[chain_id_store.tz-(Some 0x7a06a770)-Unit-(Some "NetXdQprcVkpaWU")] - -storage - (Some "NetXdQprcVkpaWU") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.400 units remaining) - [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] - - location: 8 (remaining gas: 1039993.260 units remaining) - [ ] - - location: 9 (remaining gas: 1039993.120 units remaining) - [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039992.980 units remaining) - [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039992.840 units remaining) - [ {} - (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039992.700 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - - location: -1 (remaining gas: 1039992.630 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" deleted file mode 100644 index d2d5f5e888b6..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some \"NetXdQprcVkpaWU\")].out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[chain_id_store.tz-None-Unit-(Some "NetXdQprcVkpaWU")] - -storage - (Some "NetXdQprcVkpaWU") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ ] - - location: 9 (remaining gas: 1039993.410 units remaining) - [ "NetXdQprcVkpaWU" ] - - location: 10 (remaining gas: 1039993.270 units remaining) - [ (Some "NetXdQprcVkpaWU") ] - - location: 11 (remaining gas: 1039993.130 units remaining) - [ {} - (Some "NetXdQprcVkpaWU") ] - - location: 13 (remaining gas: 1039992.990 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - - location: -1 (remaining gas: 1039992.920 units remaining) - [ (Pair {} (Some "NetXdQprcVkpaWU")) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out deleted file mode 100644 index f4d8d099a5bf..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit].out +++ /dev/null @@ -1,140 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[comb-get.tz-Unit-(Pair 1 4 2 Unit)-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039941.990 units remaining) - [ (Pair (Pair 1 4 2 Unit) Unit) ] - - location: 11 (remaining gas: 1039941.850 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 12 (remaining gas: 1039941.710 units remaining) - [ (Pair 1 4 2 Unit) @parameter - (Pair 1 4 2 Unit) @parameter ] - - location: 13 (remaining gas: 1039941.570 units remaining) - [ 1 - (Pair 1 4 2 Unit) @parameter ] - - location: 14 (remaining gas: 1039941.430 units remaining) - [ 1 - 1 - (Pair 1 4 2 Unit) @parameter ] - - location: 19 (remaining gas: 1039941.100 units remaining) - [ 0 - (Pair 1 4 2 Unit) @parameter ] - - location: 20 (remaining gas: 1039940.960 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039940.890 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 22 (remaining gas: 1039940.700 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039940.630 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 27 (remaining gas: 1039940.490 units remaining) - [ (Pair 1 4 2 Unit) @parameter - (Pair 1 4 2 Unit) @parameter ] - - location: 28 (remaining gas: 1039940.350 units remaining) - [ 1 - (Pair 1 4 2 Unit) @parameter ] - - location: 30 (remaining gas: 1039940.210 units remaining) - [ 1 - 1 - (Pair 1 4 2 Unit) @parameter ] - - location: 35 (remaining gas: 1039939.880 units remaining) - [ 0 - (Pair 1 4 2 Unit) @parameter ] - - location: 36 (remaining gas: 1039939.740 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039939.670 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 38 (remaining gas: 1039939.480 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039939.410 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 43 (remaining gas: 1039939.270 units remaining) - [ (Pair 1 4 2 Unit) @parameter - (Pair 1 4 2 Unit) @parameter ] - - location: 44 (remaining gas: 1039939.129 units remaining) - [ 4 - (Pair 1 4 2 Unit) @parameter ] - - location: 46 (remaining gas: 1039938.989 units remaining) - [ 4 - 4 - (Pair 1 4 2 Unit) @parameter ] - - location: 51 (remaining gas: 1039938.659 units remaining) - [ 0 - (Pair 1 4 2 Unit) @parameter ] - - location: 52 (remaining gas: 1039938.519 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039938.449 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 54 (remaining gas: 1039938.259 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039938.189 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 59 (remaining gas: 1039938.049 units remaining) - [ (Pair 1 4 2 Unit) @parameter - (Pair 1 4 2 Unit) @parameter ] - - location: 60 (remaining gas: 1039937.907 units remaining) - [ 2 - (Pair 1 4 2 Unit) @parameter ] - - location: 62 (remaining gas: 1039937.767 units remaining) - [ 2 - 2 - (Pair 1 4 2 Unit) @parameter ] - - location: 67 (remaining gas: 1039937.437 units remaining) - [ 0 - (Pair 1 4 2 Unit) @parameter ] - - location: 68 (remaining gas: 1039937.297 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039937.227 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 70 (remaining gas: 1039937.037 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039936.967 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 75 (remaining gas: 1039936.827 units remaining) - [ (Pair 1 4 2 Unit) @parameter - (Pair 1 4 2 Unit) @parameter ] - - location: 76 (remaining gas: 1039936.684 units remaining) - [ Unit - (Pair 1 4 2 Unit) @parameter ] - - location: 78 (remaining gas: 1039936.544 units remaining) - [ Unit - Unit - (Pair 1 4 2 Unit) @parameter ] - - location: 81 (remaining gas: 1039936.354 units remaining) - [ 0 - (Pair 1 4 2 Unit) @parameter ] - - location: 82 (remaining gas: 1039936.214 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039936.144 units remaining) - [ True - (Pair 1 4 2 Unit) @parameter ] - - location: 84 (remaining gas: 1039935.954 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: -1 (remaining gas: 1039935.884 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 89 (remaining gas: 1039935.744 units remaining) - [ ] - - location: 90 (remaining gas: 1039935.604 units remaining) - [ Unit ] - - location: 91 (remaining gas: 1039935.464 units remaining) - [ {} - Unit ] - - location: 93 (remaining gas: 1039935.324 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039935.254 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_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_008/_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" deleted file mode 100644 index f4eaa4955a54..000000000000 --- "a/tests_python/tests_008/_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" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[comb-set-2.tz-None-(Pair 1 4 2 Unit)-(Some (Pair 2 4 "toto" 0x01))] - -storage - (Some (Pair 2 4 "toto" 0x01)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039983.796 units remaining) - [ (Pair (Pair 1 4 2 Unit) None) ] - - location: 16 (remaining gas: 1039983.656 units remaining) - [ (Pair 1 4 2 Unit) @parameter ] - - location: 17 (remaining gas: 1039983.516 units remaining) - [ 2 - (Pair 1 4 2 Unit) @parameter ] - - location: 20 (remaining gas: 1039983.375 units remaining) - [ (Pair 2 4 2 Unit) ] - - location: 22 (remaining gas: 1039983.235 units remaining) - [ "toto" - (Pair 2 4 2 Unit) ] - - location: 25 (remaining gas: 1039983.089 units remaining) - [ (Pair 2 4 "toto" Unit) ] - - location: 27 (remaining gas: 1039982.949 units remaining) - [ 0x01 - (Pair 2 4 "toto" Unit) ] - - location: 30 (remaining gas: 1039982.802 units remaining) - [ (Pair 2 4 "toto" 0x01) ] - - location: 32 (remaining gas: 1039982.662 units remaining) - [ (Some (Pair 2 4 "toto" 0x01)) ] - - location: 33 (remaining gas: 1039982.522 units remaining) - [ {} - (Some (Pair 2 4 "toto" 0x01)) ] - - location: 35 (remaining gas: 1039982.382 units remaining) - [ (Pair {} (Some (Pair 2 4 "toto" 0x01))) ] - - location: -1 (remaining gas: 1039982.312 units remaining) - [ (Pair {} (Some (Pair 2 4 "toto" 0x01))) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 277139fa5864..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[comb-set.tz-(Pair 1 4 2 Unit)-Unit-(Pair 2 12 8 Unit)] - -storage - (Pair 2 12 8 Unit) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039984.270 units remaining) - [ (Pair Unit 1 4 2 Unit) ] - - location: 11 (remaining gas: 1039984.130 units remaining) - [ (Pair 1 4 2 Unit) @storage ] - - location: 12 (remaining gas: 1039983.990 units remaining) - [ 2 - (Pair 1 4 2 Unit) @storage ] - - location: 15 (remaining gas: 1039983.849 units remaining) - [ (Pair 2 4 2 Unit) ] - - location: 17 (remaining gas: 1039983.709 units remaining) - [ 12 - (Pair 2 4 2 Unit) ] - - location: 20 (remaining gas: 1039983.566 units remaining) - [ (Pair 2 12 2 Unit) ] - - location: 22 (remaining gas: 1039983.426 units remaining) - [ 8 - (Pair 2 12 2 Unit) ] - - location: 25 (remaining gas: 1039983.280 units remaining) - [ (Pair 2 12 8 Unit) ] - - location: 27 (remaining gas: 1039983.140 units remaining) - [ Unit - (Pair 2 12 8 Unit) ] - - location: 28 (remaining gas: 1039982.993 units remaining) - [ (Pair 2 12 8 Unit) ] - - location: 30 (remaining gas: 1039982.853 units remaining) - [ {} - (Pair 2 12 8 Unit) ] - - location: 32 (remaining gas: 1039982.713 units remaining) - [ (Pair {} 2 12 8 Unit) ] - - location: -1 (remaining gas: 1039982.643 units remaining) - [ (Pair {} 2 12 8 Unit) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out deleted file mode 100644 index 37198c1e3bf3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[comb.tz-(Pair 0 0 0)-Unit-(Pair 1 2 3)] - -storage - (Pair 1 2 3) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.650 units remaining) - [ (Pair Unit 0 0 0) ] - - location: 10 (remaining gas: 1039989.510 units remaining) - [ ] - - location: 11 (remaining gas: 1039989.370 units remaining) - [ 3 ] - - location: 14 (remaining gas: 1039989.230 units remaining) - [ 2 - 3 ] - - location: 17 (remaining gas: 1039989.090 units remaining) - [ 1 - 2 - 3 ] - - location: 20 (remaining gas: 1039988.950 units remaining) - [ {} - 1 - 2 - 3 ] - - location: 22 (remaining gas: 1039988.797 units remaining) - [ (Pair {} 1 2 3) ] - - location: -1 (remaining gas: 1039988.727 units remaining) - [ (Pair {} 1 2 3) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out deleted file mode 100644 index 0e810019fe17..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,400 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[compare.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039762.979 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039762.839 units remaining) - [ ] - - location: 8 (remaining gas: 1039762.699 units remaining) - [ True ] - - location: 11 (remaining gas: 1039762.559 units remaining) - [ True - True ] - - location: 12 (remaining gas: 1039762.291 units remaining) - [ 0 ] - - location: 14 (remaining gas: 1039762.091 units remaining) - [ True ] - - location: 16 (remaining gas: 1039761.901 units remaining) - [ ] - - location: -1 (remaining gas: 1039761.831 units remaining) - [ ] - - location: 21 (remaining gas: 1039761.691 units remaining) - [ False ] - - location: 24 (remaining gas: 1039761.551 units remaining) - [ False - False ] - - location: 25 (remaining gas: 1039761.283 units remaining) - [ 0 ] - - location: 27 (remaining gas: 1039761.083 units remaining) - [ True ] - - location: 29 (remaining gas: 1039760.893 units remaining) - [ ] - - location: -1 (remaining gas: 1039760.823 units remaining) - [ ] - - location: 34 (remaining gas: 1039760.683 units remaining) - [ False ] - - location: 37 (remaining gas: 1039760.543 units remaining) - [ True - False ] - - location: 40 (remaining gas: 1039760.275 units remaining) - [ 1 ] - - location: 42 (remaining gas: 1039760.075 units remaining) - [ True ] - - location: 44 (remaining gas: 1039759.885 units remaining) - [ ] - - location: -1 (remaining gas: 1039759.815 units remaining) - [ ] - - location: 49 (remaining gas: 1039759.675 units remaining) - [ True ] - - location: 52 (remaining gas: 1039759.535 units remaining) - [ False - True ] - - location: 55 (remaining gas: 1039759.267 units remaining) - [ -1 ] - - location: 57 (remaining gas: 1039759.067 units remaining) - [ True ] - - location: 59 (remaining gas: 1039758.877 units remaining) - [ ] - - location: -1 (remaining gas: 1039758.807 units remaining) - [ ] - - location: 64 (remaining gas: 1039758.667 units remaining) - [ 0xaabbcc ] - - location: 67 (remaining gas: 1039758.527 units remaining) - [ 0xaabbcc - 0xaabbcc ] - - location: 68 (remaining gas: 1039758.347 units remaining) - [ 0 ] - - location: 70 (remaining gas: 1039758.147 units remaining) - [ True ] - - location: 72 (remaining gas: 1039757.957 units remaining) - [ ] - - location: -1 (remaining gas: 1039757.887 units remaining) - [ ] - - location: 77 (remaining gas: 1039757.747 units remaining) - [ 0x ] - - location: 80 (remaining gas: 1039757.607 units remaining) - [ 0x - 0x ] - - location: 83 (remaining gas: 1039757.427 units remaining) - [ 0 ] - - location: 85 (remaining gas: 1039757.227 units remaining) - [ True ] - - location: 87 (remaining gas: 1039757.037 units remaining) - [ ] - - location: -1 (remaining gas: 1039756.967 units remaining) - [ ] - - location: 92 (remaining gas: 1039756.827 units remaining) - [ 0x ] - - location: 95 (remaining gas: 1039756.687 units remaining) - [ 0x01 - 0x ] - - location: 98 (remaining gas: 1039756.507 units remaining) - [ 1 ] - - location: 100 (remaining gas: 1039756.307 units remaining) - [ True ] - - location: 102 (remaining gas: 1039756.117 units remaining) - [ ] - - location: -1 (remaining gas: 1039756.047 units remaining) - [ ] - - location: 107 (remaining gas: 1039755.907 units remaining) - [ 0x01 ] - - location: 110 (remaining gas: 1039755.767 units remaining) - [ 0x02 - 0x01 ] - - location: 113 (remaining gas: 1039755.587 units remaining) - [ 1 ] - - location: 115 (remaining gas: 1039755.387 units remaining) - [ True ] - - location: 117 (remaining gas: 1039755.197 units remaining) - [ ] - - location: -1 (remaining gas: 1039755.127 units remaining) - [ ] - - location: 122 (remaining gas: 1039754.987 units remaining) - [ 0x02 ] - - location: 125 (remaining gas: 1039754.847 units remaining) - [ 0x01 - 0x02 ] - - location: 128 (remaining gas: 1039754.667 units remaining) - [ -1 ] - - location: 130 (remaining gas: 1039754.467 units remaining) - [ True ] - - location: 132 (remaining gas: 1039754.277 units remaining) - [ ] - - location: -1 (remaining gas: 1039754.207 units remaining) - [ ] - - location: 137 (remaining gas: 1039754.067 units remaining) - [ 1 ] - - location: 140 (remaining gas: 1039753.927 units remaining) - [ 1 - 1 ] - - location: 141 (remaining gas: 1039753.717 units remaining) - [ 0 ] - - location: 143 (remaining gas: 1039753.517 units remaining) - [ True ] - - location: 145 (remaining gas: 1039753.327 units remaining) - [ ] - - location: -1 (remaining gas: 1039753.257 units remaining) - [ ] - - location: 150 (remaining gas: 1039753.117 units remaining) - [ 10 ] - - location: 153 (remaining gas: 1039752.977 units remaining) - [ 5 - 10 ] - - location: 156 (remaining gas: 1039752.767 units remaining) - [ -1 ] - - location: 158 (remaining gas: 1039752.567 units remaining) - [ True ] - - location: 160 (remaining gas: 1039752.377 units remaining) - [ ] - - location: -1 (remaining gas: 1039752.307 units remaining) - [ ] - - location: 165 (remaining gas: 1039752.167 units remaining) - [ -4 ] - - location: 168 (remaining gas: 1039752.027 units remaining) - [ 1923 - -4 ] - - location: 171 (remaining gas: 1039751.817 units remaining) - [ 1 ] - - location: 173 (remaining gas: 1039751.617 units remaining) - [ True ] - - location: 175 (remaining gas: 1039751.427 units remaining) - [ ] - - location: -1 (remaining gas: 1039751.357 units remaining) - [ ] - - location: 180 (remaining gas: 1039751.217 units remaining) - [ 1 ] - - location: 183 (remaining gas: 1039751.077 units remaining) - [ 1 - 1 ] - - location: 184 (remaining gas: 1039750.867 units remaining) - [ 0 ] - - location: 186 (remaining gas: 1039750.667 units remaining) - [ True ] - - location: 188 (remaining gas: 1039750.477 units remaining) - [ ] - - location: -1 (remaining gas: 1039750.407 units remaining) - [ ] - - location: 193 (remaining gas: 1039750.267 units remaining) - [ 10 ] - - location: 196 (remaining gas: 1039750.127 units remaining) - [ 5 - 10 ] - - location: 199 (remaining gas: 1039749.917 units remaining) - [ -1 ] - - location: 201 (remaining gas: 1039749.717 units remaining) - [ True ] - - location: 203 (remaining gas: 1039749.527 units remaining) - [ ] - - location: -1 (remaining gas: 1039749.457 units remaining) - [ ] - - location: 208 (remaining gas: 1039749.317 units remaining) - [ 4 ] - - location: 211 (remaining gas: 1039749.177 units remaining) - [ 1923 - 4 ] - - location: 214 (remaining gas: 1039748.967 units remaining) - [ 1 ] - - location: 216 (remaining gas: 1039748.767 units remaining) - [ True ] - - location: 218 (remaining gas: 1039748.577 units remaining) - [ ] - - location: -1 (remaining gas: 1039748.507 units remaining) - [ ] - - location: 223 (remaining gas: 1039748.367 units remaining) - [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 226 (remaining gas: 1039748.227 units remaining) - [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" - "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 227 (remaining gas: 1039747.957 units remaining) - [ 0 ] - - location: 229 (remaining gas: 1039747.757 units remaining) - [ True ] - - location: 231 (remaining gas: 1039747.567 units remaining) - [ ] - - location: -1 (remaining gas: 1039747.497 units remaining) - [ ] - - location: 236 (remaining gas: 1039747.357 units remaining) - [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 239 (remaining gas: 1039747.217 units remaining) - [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" - "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] - - location: 242 (remaining gas: 1039746.947 units remaining) - [ -1 ] - - location: 244 (remaining gas: 1039746.747 units remaining) - [ True ] - - location: 246 (remaining gas: 1039746.557 units remaining) - [ ] - - location: -1 (remaining gas: 1039746.487 units remaining) - [ ] - - location: 251 (remaining gas: 1039746.347 units remaining) - [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 254 (remaining gas: 1039746.207 units remaining) - [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" - "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 257 (remaining gas: 1039745.937 units remaining) - [ 1 ] - - location: 259 (remaining gas: 1039745.737 units remaining) - [ True ] - - location: 261 (remaining gas: 1039745.547 units remaining) - [ ] - - location: -1 (remaining gas: 1039745.477 units remaining) - [ ] - - location: 266 (remaining gas: 1039745.337 units remaining) - [ 1 ] - - location: 269 (remaining gas: 1039745.197 units remaining) - [ 1 - 1 ] - - location: 270 (remaining gas: 1039745.033 units remaining) - [ 0 ] - - location: 272 (remaining gas: 1039744.833 units remaining) - [ True ] - - location: 274 (remaining gas: 1039744.643 units remaining) - [ ] - - location: -1 (remaining gas: 1039744.573 units remaining) - [ ] - - location: 279 (remaining gas: 1039744.433 units remaining) - [ 10 ] - - location: 282 (remaining gas: 1039744.293 units remaining) - [ 5 - 10 ] - - location: 285 (remaining gas: 1039744.129 units remaining) - [ -1 ] - - location: 287 (remaining gas: 1039743.929 units remaining) - [ True ] - - location: 289 (remaining gas: 1039743.739 units remaining) - [ ] - - location: -1 (remaining gas: 1039743.669 units remaining) - [ ] - - location: 294 (remaining gas: 1039743.529 units remaining) - [ 4 ] - - location: 297 (remaining gas: 1039743.389 units remaining) - [ 1923 - 4 ] - - location: 300 (remaining gas: 1039743.225 units remaining) - [ 1 ] - - location: 302 (remaining gas: 1039743.025 units remaining) - [ True ] - - location: 304 (remaining gas: 1039742.835 units remaining) - [ ] - - location: -1 (remaining gas: 1039742.765 units remaining) - [ ] - - location: 309 (remaining gas: 1039742.625 units remaining) - [ "AABBCC" ] - - location: 312 (remaining gas: 1039742.485 units remaining) - [ "AABBCC" - "AABBCC" ] - - location: 313 (remaining gas: 1039742.305 units remaining) - [ 0 ] - - location: 315 (remaining gas: 1039742.105 units remaining) - [ True ] - - location: 317 (remaining gas: 1039741.915 units remaining) - [ ] - - location: -1 (remaining gas: 1039741.845 units remaining) - [ ] - - location: 322 (remaining gas: 1039741.705 units remaining) - [ "" ] - - location: 325 (remaining gas: 1039741.565 units remaining) - [ "" - "" ] - - location: 328 (remaining gas: 1039741.385 units remaining) - [ 0 ] - - location: 330 (remaining gas: 1039741.185 units remaining) - [ True ] - - location: 332 (remaining gas: 1039740.995 units remaining) - [ ] - - location: -1 (remaining gas: 1039740.925 units remaining) - [ ] - - location: 337 (remaining gas: 1039740.785 units remaining) - [ "" ] - - location: 340 (remaining gas: 1039740.645 units remaining) - [ "a" - "" ] - - location: 343 (remaining gas: 1039740.465 units remaining) - [ 1 ] - - location: 345 (remaining gas: 1039740.265 units remaining) - [ True ] - - location: 347 (remaining gas: 1039740.075 units remaining) - [ ] - - location: -1 (remaining gas: 1039740.005 units remaining) - [ ] - - location: 352 (remaining gas: 1039739.865 units remaining) - [ "a" ] - - location: 355 (remaining gas: 1039739.725 units remaining) - [ "b" - "a" ] - - location: 358 (remaining gas: 1039739.545 units remaining) - [ 1 ] - - location: 360 (remaining gas: 1039739.345 units remaining) - [ True ] - - location: 362 (remaining gas: 1039739.155 units remaining) - [ ] - - location: -1 (remaining gas: 1039739.085 units remaining) - [ ] - - location: 367 (remaining gas: 1039738.945 units remaining) - [ "b" ] - - location: 370 (remaining gas: 1039738.805 units remaining) - [ "a" - "b" ] - - location: 373 (remaining gas: 1039738.625 units remaining) - [ -1 ] - - location: 375 (remaining gas: 1039738.425 units remaining) - [ True ] - - location: 377 (remaining gas: 1039738.235 units remaining) - [ ] - - location: -1 (remaining gas: 1039738.165 units remaining) - [ ] - - location: 382 (remaining gas: 1039738.025 units remaining) - [ "2019-09-16T08:38:05Z" ] - - location: 385 (remaining gas: 1039737.885 units remaining) - [ "2019-09-16T08:38:05Z" - "2019-09-16T08:38:05Z" ] - - location: 386 (remaining gas: 1039737.685 units remaining) - [ 0 ] - - location: 388 (remaining gas: 1039737.485 units remaining) - [ True ] - - location: 390 (remaining gas: 1039737.295 units remaining) - [ ] - - location: -1 (remaining gas: 1039737.225 units remaining) - [ ] - - location: 395 (remaining gas: 1039737.085 units remaining) - [ "2017-09-16T08:38:04Z" ] - - location: 398 (remaining gas: 1039736.945 units remaining) - [ "2019-09-16T08:38:05Z" - "2017-09-16T08:38:04Z" ] - - location: 401 (remaining gas: 1039736.745 units remaining) - [ 1 ] - - location: 403 (remaining gas: 1039736.545 units remaining) - [ True ] - - location: 405 (remaining gas: 1039736.355 units remaining) - [ ] - - location: -1 (remaining gas: 1039736.285 units remaining) - [ ] - - location: 410 (remaining gas: 1039736.145 units remaining) - [ "2019-09-16T08:38:05Z" ] - - location: 413 (remaining gas: 1039736.005 units remaining) - [ "2019-09-16T08:38:04Z" - "2019-09-16T08:38:05Z" ] - - location: 416 (remaining gas: 1039735.805 units remaining) - [ -1 ] - - location: 418 (remaining gas: 1039735.605 units remaining) - [ True ] - - location: 420 (remaining gas: 1039735.415 units remaining) - [ ] - - location: -1 (remaining gas: 1039735.345 units remaining) - [ ] - - location: 425 (remaining gas: 1039735.205 units remaining) - [ Unit ] - - location: 426 (remaining gas: 1039735.065 units remaining) - [ {} - Unit ] - - location: 428 (remaining gas: 1039734.925 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039734.855 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out deleted file mode 100644 index 813ccbc02733..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ .bbaa8924d2.out +++ /dev/null @@ -1,363 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[comparisons.tz-{}-{ -9999999; -1 ; 0 ; 1 ; 9999999 }-{ { False ; False ; False ; True ; True } ;\n { False ; False ; True ; True ; True } ;\n { True ; True ; False ; False ; False } ;\n { True ; True ; True ; False ; False } ;\n { True ; True ; False ; True ; True } ;\n { False ; False ; True ; False ; False } }] - -storage - { { False ; False ; False ; True ; True } ; - { False ; False ; True ; True ; True } ; - { True ; True ; False ; False ; False } ; - { True ; True ; True ; False ; False } ; - { True ; True ; False ; True ; True } ; - { False ; False ; True ; False ; False } } -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039960.920 units remaining) - [ (Pair { -9999999 ; -1 ; 0 ; 1 ; 9999999 } {}) ] - - location: 10 (remaining gas: 1039960.780 units remaining) - [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 11 (remaining gas: 1039960.640 units remaining) - [ {} - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 16 (remaining gas: 1039960.340 units remaining) - [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.580 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.510 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.370 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.300 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039959.160 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039959.090 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039958.950 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039958.880 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 19 (remaining gas: 1039958.740 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 18 (remaining gas: 1039958.670 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 17 (remaining gas: 1039958.670 units remaining) - [ { False ; False ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039958.600 units remaining) - [ { False ; False ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 14 (remaining gas: 1039958.600 units remaining) - [ {} - { False ; False ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 20 (remaining gas: 1039958.470 units remaining) - [ { False ; False ; True ; False ; False } - {} - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 21 (remaining gas: 1039958.330 units remaining) - [ { { False ; False ; True ; False ; False } } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 24 (remaining gas: 1039958.030 units remaining) - [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039957.270 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039957.200 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039957.060 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039956.990 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039956.850 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039956.780 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039956.640 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039956.570 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 27 (remaining gas: 1039956.430 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 26 (remaining gas: 1039956.360 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 25 (remaining gas: 1039956.360 units remaining) - [ { True ; True ; False ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039956.290 units remaining) - [ { True ; True ; False ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 22 (remaining gas: 1039956.290 units remaining) - [ { { False ; False ; True ; False ; False } } - { True ; True ; False ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 28 (remaining gas: 1039956.160 units remaining) - [ { True ; True ; False ; True ; True } - { { False ; False ; True ; False ; False } } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 29 (remaining gas: 1039956.020 units remaining) - [ { { True ; True ; False ; True ; True } ; - { False ; False ; True ; False ; False } } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 32 (remaining gas: 1039955.720 units remaining) - [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039954.960 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039954.890 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039954.750 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039954.680 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039954.540 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039954.470 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039954.330 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039954.260 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 35 (remaining gas: 1039954.120 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 34 (remaining gas: 1039954.050 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 33 (remaining gas: 1039954.050 units remaining) - [ { True ; True ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039953.980 units remaining) - [ { True ; True ; True ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 30 (remaining gas: 1039953.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: 1039953.850 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: 1039953.710 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: 1039953.410 units remaining) - [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039952.650 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039952.580 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039952.440 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039952.370 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039952.230 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039952.160 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039952.020 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039951.950 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 43 (remaining gas: 1039951.810 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 42 (remaining gas: 1039951.740 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 41 (remaining gas: 1039951.740 units remaining) - [ { True ; True ; False ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039951.670 units remaining) - [ { True ; True ; False ; False ; False } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 38 (remaining gas: 1039951.670 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: 1039951.540 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: 1039951.400 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: 1039951.100 units remaining) - [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039950.340 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039950.270 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039950.130 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039950.060 units remaining) - [ False - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039949.920 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039949.850 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039949.710 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039949.640 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 51 (remaining gas: 1039949.500 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 50 (remaining gas: 1039949.430 units remaining) - [ True - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 49 (remaining gas: 1039949.430 units remaining) - [ { False ; False ; True ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: -1 (remaining gas: 1039949.360 units remaining) - [ { False ; False ; True ; True ; True } - { -9999999 ; -1 ; 0 ; 1 ; 9999999 } @parameter ] - - location: 46 (remaining gas: 1039949.360 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: 1039949.230 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: 1039949.090 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: 1039948.170 units remaining) - [ False ] - - location: 57 (remaining gas: 1039948.100 units remaining) - [ False ] - - location: 58 (remaining gas: 1039947.960 units remaining) - [ False ] - - location: 57 (remaining gas: 1039947.890 units remaining) - [ False ] - - location: 58 (remaining gas: 1039947.750 units remaining) - [ False ] - - location: 57 (remaining gas: 1039947.680 units remaining) - [ False ] - - location: 58 (remaining gas: 1039947.540 units remaining) - [ True ] - - location: 57 (remaining gas: 1039947.470 units remaining) - [ True ] - - location: 58 (remaining gas: 1039947.330 units remaining) - [ True ] - - location: 57 (remaining gas: 1039947.260 units remaining) - [ True ] - - location: 56 (remaining gas: 1039947.260 units remaining) - [ { False ; False ; False ; True ; True } ] - - location: 55 (remaining gas: 1039947.190 units remaining) - [ { False ; False ; False ; True ; True } ] - - location: 54 (remaining gas: 1039947.190 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: 1039947.060 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: 1039946.920 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: 1039946.780 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: 63 (remaining gas: 1039946.640 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: 1039946.570 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 } }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" deleted file mode 100644 index 80de199d6a85..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"World!\" }-{ \"Hello World!\" }].out" +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ "World!" }-{ "Hello World!" }] - -storage - { "Hello World!" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039991.972 units remaining) - [ (Pair { "World!" } {}) ] - - location: 9 (remaining gas: 1039991.832 units remaining) - [ { "World!" } @parameter ] - - location: 12 (remaining gas: 1039991.120 units remaining) - [ "Hello " @hello - "World!" @parameter.elt ] - - location: 15 (remaining gas: 1039990.980 units remaining) - [ "Hello World!" ] - - location: -1 (remaining gas: 1039990.910 units remaining) - [ "Hello World!" ] - - location: 10 (remaining gas: 1039990.910 units remaining) - [ { "Hello World!" } ] - - location: 16 (remaining gas: 1039990.770 units remaining) - [ {} - { "Hello World!" } ] - - location: 18 (remaining gas: 1039990.630 units remaining) - [ (Pair {} { "Hello World!" }) ] - - location: -1 (remaining gas: 1039990.560 units remaining) - [ (Pair {} { "Hello World!" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" deleted file mode 100644 index 9f59f104223e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ \"test1\" ; \"test2\" }-{ \"Hello test1.c27e8c3ee6.out" +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{ "test1" ; "test2" }-{ "Hello test1" ; "Hello test2" }] - -storage - { "Hello test1" ; "Hello test2" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039991.678 units remaining) - [ (Pair { "test1" ; "test2" } {}) ] - - location: 9 (remaining gas: 1039991.538 units remaining) - [ { "test1" ; "test2" } @parameter ] - - location: 12 (remaining gas: 1039990.814 units remaining) - [ "Hello " @hello - "test1" @parameter.elt ] - - location: 15 (remaining gas: 1039990.674 units remaining) - [ "Hello test1" ] - - location: -1 (remaining gas: 1039990.604 units remaining) - [ "Hello test1" ] - - location: 12 (remaining gas: 1039990.464 units remaining) - [ "Hello " @hello - "test2" @parameter.elt ] - - location: 15 (remaining gas: 1039990.324 units remaining) - [ "Hello test2" ] - - location: -1 (remaining gas: 1039990.254 units remaining) - [ "Hello test2" ] - - location: 10 (remaining gas: 1039990.254 units remaining) - [ { "Hello test1" ; "Hello test2" } ] - - location: 16 (remaining gas: 1039990.114 units remaining) - [ {} - { "Hello test1" ; "Hello test2" } ] - - location: 18 (remaining gas: 1039989.974 units remaining) - [ (Pair {} { "Hello test1" ; "Hello test2" }) ] - - location: -1 (remaining gas: 1039989.904 units remaining) - [ (Pair {} { "Hello test1" ; "Hello test2" }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out deleted file mode 100644 index d93416d1535b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_hello.tz-{}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.286 units remaining) - [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039992.146 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039991.586 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039991.446 units remaining) - [ {} - {} ] - - location: 18 (remaining gas: 1039991.306 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039991.236 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out deleted file mode 100644 index 3723bf3830ea..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xab ; 0xcd }-{ 0xffab ; 0xffcd }] - -storage - { 0xffab ; 0xffcd } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039991.880 units remaining) - [ (Pair { 0xab ; 0xcd } {}) ] - - location: 9 (remaining gas: 1039991.740 units remaining) - [ { 0xab ; 0xcd } @parameter ] - - location: 12 (remaining gas: 1039991.016 units remaining) - [ 0xff - 0xab @parameter.elt ] - - location: 15 (remaining gas: 1039990.876 units remaining) - [ 0xffab ] - - location: -1 (remaining gas: 1039990.806 units remaining) - [ 0xffab ] - - location: 12 (remaining gas: 1039990.666 units remaining) - [ 0xff - 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039990.526 units remaining) - [ 0xffcd ] - - location: -1 (remaining gas: 1039990.456 units remaining) - [ 0xffcd ] - - location: 10 (remaining gas: 1039990.456 units remaining) - [ { 0xffab ; 0xffcd } ] - - location: 16 (remaining gas: 1039990.316 units remaining) - [ {} - { 0xffab ; 0xffcd } ] - - location: 18 (remaining gas: 1039990.176 units remaining) - [ (Pair {} { 0xffab ; 0xffcd }) ] - - location: -1 (remaining gas: 1039990.106 units remaining) - [ (Pair {} { 0xffab ; 0xffcd }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out deleted file mode 100644 index c7564f6c78da..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{ 0xcd }-{ 0xffcd }] - -storage - { 0xffcd } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.120 units remaining) - [ (Pair { 0xcd } {}) ] - - location: 9 (remaining gas: 1039991.980 units remaining) - [ { 0xcd } @parameter ] - - location: 12 (remaining gas: 1039991.268 units remaining) - [ 0xff - 0xcd @parameter.elt ] - - location: 15 (remaining gas: 1039991.128 units remaining) - [ 0xffcd ] - - location: -1 (remaining gas: 1039991.058 units remaining) - [ 0xffcd ] - - location: 10 (remaining gas: 1039991.058 units remaining) - [ { 0xffcd } ] - - location: 16 (remaining gas: 1039990.918 units remaining) - [ {} - { 0xffcd } ] - - location: 18 (remaining gas: 1039990.778 units remaining) - [ (Pair {} { 0xffcd }) ] - - location: -1 (remaining gas: 1039990.708 units remaining) - [ (Pair {} { 0xffcd }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out deleted file mode 100644 index 6cf6d596dd35..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_hello_bytes.tz-{}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.360 units remaining) - [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039992.220 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039991.660 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039991.520 units remaining) - [ {} - {} ] - - location: 18 (remaining gas: 1039991.380 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039991.310 units remaining) - [ (Pair {} {}) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" deleted file mode 100644 index bb90900e108b..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"Hello\" ; \" \" ; \"World\" ; \"!\" }-\"He.0c7b4cd53c.out" +++ /dev/null @@ -1,117 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_list.tz-""-{ "Hello" ; " " ; "World" ; "!" }-"Hello World!"] - -storage - "Hello World!" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039985.686 units remaining) - [ (Pair { "Hello" ; " " ; "World" ; "!" } "") ] - - location: 8 (remaining gas: 1039985.546 units remaining) - [ { "Hello" ; " " ; "World" ; "!" } @parameter ] - - location: 9 (remaining gas: 1039985.406 units remaining) - [ "" - { "Hello" ; " " ; "World" ; "!" } @parameter ] - - location: 12 (remaining gas: 1039985.276 units remaining) - [ { "Hello" ; " " ; "World" ; "!" } @parameter - "" ] - - location: 15 (remaining gas: 1039984.558 units remaining) - [ "" - "Hello" @parameter.elt ] - - location: 18 (remaining gas: 1039984.258 units remaining) - [ {} - "Hello" @parameter.elt ] - - location: 20 (remaining gas: 1039984.128 units remaining) - [ "Hello" @parameter.elt - {} ] - - location: 21 (remaining gas: 1039983.988 units remaining) - [ { "Hello" } ] - - location: -1 (remaining gas: 1039983.918 units remaining) - [ { "Hello" } ] - - location: 16 (remaining gas: 1039983.918 units remaining) - [ "" - { "Hello" } ] - - location: 22 (remaining gas: 1039983.778 units remaining) - [ { "" ; "Hello" } ] - - location: 23 (remaining gas: 1039983.598 units remaining) - [ "Hello" ] - - location: -1 (remaining gas: 1039983.528 units remaining) - [ "Hello" ] - - location: 15 (remaining gas: 1039983.398 units remaining) - [ "Hello" - " " @parameter.elt ] - - location: 18 (remaining gas: 1039983.098 units remaining) - [ {} - " " @parameter.elt ] - - location: 20 (remaining gas: 1039982.968 units remaining) - [ " " @parameter.elt - {} ] - - location: 21 (remaining gas: 1039982.828 units remaining) - [ { " " } ] - - location: -1 (remaining gas: 1039982.758 units remaining) - [ { " " } ] - - location: 16 (remaining gas: 1039982.758 units remaining) - [ "Hello" - { " " } ] - - location: 22 (remaining gas: 1039982.618 units remaining) - [ { "Hello" ; " " } ] - - location: 23 (remaining gas: 1039982.438 units remaining) - [ "Hello " ] - - location: -1 (remaining gas: 1039982.368 units remaining) - [ "Hello " ] - - location: 15 (remaining gas: 1039982.238 units remaining) - [ "Hello " - "World" @parameter.elt ] - - location: 18 (remaining gas: 1039981.938 units remaining) - [ {} - "World" @parameter.elt ] - - location: 20 (remaining gas: 1039981.808 units remaining) - [ "World" @parameter.elt - {} ] - - location: 21 (remaining gas: 1039981.668 units remaining) - [ { "World" } ] - - location: -1 (remaining gas: 1039981.598 units remaining) - [ { "World" } ] - - location: 16 (remaining gas: 1039981.598 units remaining) - [ "Hello " - { "World" } ] - - location: 22 (remaining gas: 1039981.458 units remaining) - [ { "Hello " ; "World" } ] - - location: 23 (remaining gas: 1039981.277 units remaining) - [ "Hello World" ] - - location: -1 (remaining gas: 1039981.207 units remaining) - [ "Hello World" ] - - location: 15 (remaining gas: 1039981.077 units remaining) - [ "Hello World" - "!" @parameter.elt ] - - location: 18 (remaining gas: 1039980.777 units remaining) - [ {} - "!" @parameter.elt ] - - location: 20 (remaining gas: 1039980.647 units remaining) - [ "!" @parameter.elt - {} ] - - location: 21 (remaining gas: 1039980.507 units remaining) - [ { "!" } ] - - location: -1 (remaining gas: 1039980.437 units remaining) - [ { "!" } ] - - location: 16 (remaining gas: 1039980.437 units remaining) - [ "Hello World" - { "!" } ] - - location: 22 (remaining gas: 1039980.297 units remaining) - [ { "Hello World" ; "!" } ] - - location: 23 (remaining gas: 1039980.116 units remaining) - [ "Hello World!" ] - - location: -1 (remaining gas: 1039980.046 units remaining) - [ "Hello World!" ] - - location: 13 (remaining gas: 1039980.046 units remaining) - [ "Hello World!" ] - - location: 24 (remaining gas: 1039979.906 units remaining) - [ {} - "Hello World!" ] - - location: 26 (remaining gas: 1039979.766 units remaining) - [ (Pair {} "Hello World!") ] - - location: -1 (remaining gas: 1039979.696 units remaining) - [ (Pair {} "Hello World!") ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" deleted file mode 100644 index f8e902e7d9ef..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{ \"a\" ; \"b\" ; \"c\" }-\"abc\"].out" +++ /dev/null @@ -1,95 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_list.tz-""-{ "a" ; "b" ; "c" }-"abc"] - -storage - "abc" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039986.030 units remaining) - [ (Pair { "a" ; "b" ; "c" } "") ] - - location: 8 (remaining gas: 1039985.890 units remaining) - [ { "a" ; "b" ; "c" } @parameter ] - - location: 9 (remaining gas: 1039985.750 units remaining) - [ "" - { "a" ; "b" ; "c" } @parameter ] - - location: 12 (remaining gas: 1039985.620 units remaining) - [ { "a" ; "b" ; "c" } @parameter - "" ] - - location: 15 (remaining gas: 1039984.909 units remaining) - [ "" - "a" @parameter.elt ] - - location: 18 (remaining gas: 1039984.609 units remaining) - [ {} - "a" @parameter.elt ] - - location: 20 (remaining gas: 1039984.479 units remaining) - [ "a" @parameter.elt - {} ] - - location: 21 (remaining gas: 1039984.339 units remaining) - [ { "a" } ] - - location: -1 (remaining gas: 1039984.269 units remaining) - [ { "a" } ] - - location: 16 (remaining gas: 1039984.269 units remaining) - [ "" - { "a" } ] - - location: 22 (remaining gas: 1039984.129 units remaining) - [ { "" ; "a" } ] - - location: 23 (remaining gas: 1039983.949 units remaining) - [ "a" ] - - location: -1 (remaining gas: 1039983.879 units remaining) - [ "a" ] - - location: 15 (remaining gas: 1039983.749 units remaining) - [ "a" - "b" @parameter.elt ] - - location: 18 (remaining gas: 1039983.449 units remaining) - [ {} - "b" @parameter.elt ] - - location: 20 (remaining gas: 1039983.319 units remaining) - [ "b" @parameter.elt - {} ] - - location: 21 (remaining gas: 1039983.179 units remaining) - [ { "b" } ] - - location: -1 (remaining gas: 1039983.109 units remaining) - [ { "b" } ] - - location: 16 (remaining gas: 1039983.109 units remaining) - [ "a" - { "b" } ] - - location: 22 (remaining gas: 1039982.969 units remaining) - [ { "a" ; "b" } ] - - location: 23 (remaining gas: 1039982.789 units remaining) - [ "ab" ] - - location: -1 (remaining gas: 1039982.719 units remaining) - [ "ab" ] - - location: 15 (remaining gas: 1039982.589 units remaining) - [ "ab" - "c" @parameter.elt ] - - location: 18 (remaining gas: 1039982.289 units remaining) - [ {} - "c" @parameter.elt ] - - location: 20 (remaining gas: 1039982.159 units remaining) - [ "c" @parameter.elt - {} ] - - location: 21 (remaining gas: 1039982.019 units remaining) - [ { "c" } ] - - location: -1 (remaining gas: 1039981.949 units remaining) - [ { "c" } ] - - location: 16 (remaining gas: 1039981.949 units remaining) - [ "ab" - { "c" } ] - - location: 22 (remaining gas: 1039981.809 units remaining) - [ { "ab" ; "c" } ] - - location: 23 (remaining gas: 1039981.629 units remaining) - [ "abc" ] - - location: -1 (remaining gas: 1039981.559 units remaining) - [ "abc" ] - - location: 13 (remaining gas: 1039981.559 units remaining) - [ "abc" ] - - location: 24 (remaining gas: 1039981.419 units remaining) - [ {} - "abc" ] - - location: 26 (remaining gas: 1039981.279 units remaining) - [ (Pair {} "abc") ] - - location: -1 (remaining gas: 1039981.209 units remaining) - [ (Pair {} "abc") ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" deleted file mode 100644 index 05a634a4c744..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[concat_list.tz-\"\"-{}-\"\"].out" +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[concat_list.tz-""-{}-""] - -storage - "" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039986.822 units remaining) - [ (Pair {} "") ] - - location: 8 (remaining gas: 1039986.682 units remaining) - [ {} @parameter ] - - location: 9 (remaining gas: 1039986.542 units remaining) - [ "" - {} @parameter ] - - location: 12 (remaining gas: 1039986.412 units remaining) - [ {} @parameter - "" ] - - location: 13 (remaining gas: 1039985.852 units remaining) - [ "" ] - - location: 24 (remaining gas: 1039985.712 units remaining) - [ {} - "" ] - - location: 26 (remaining gas: 1039985.572 units remaining) - [ (Pair {} "") ] - - location: -1 (remaining gas: 1039985.502 units remaining) - [ (Pair {} "") ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out deleted file mode 100644 index 01e7f8787882..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }].out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[cons.tz-{ -5 ; 10 }-99-{ 99 ; -5 ; 10 }] - -storage - { 99 ; -5 ; 10 } -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.830 units remaining) - [ (Pair 99 { -5 ; 10 }) ] - - location: 8 (remaining gas: 1039993.690 units remaining) - [ 99 @parameter - { -5 ; 10 } @storage ] - - location: 9 (remaining gas: 1039993.550 units remaining) - [ { 99 ; -5 ; 10 } ] - - location: 10 (remaining gas: 1039993.410 units remaining) - [ {} - { 99 ; -5 ; 10 } ] - - location: 12 (remaining gas: 1039993.270 units remaining) - [ (Pair {} { 99 ; -5 ; 10 }) ] - - location: -1 (remaining gas: 1039993.200 units remaining) - [ (Pair {} { 99 ; -5 ; 10 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out deleted file mode 100644 index a0d5f0dcd5cc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }].out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[cons.tz-{ 10 }--5-{ -5 ; 10 }] - -storage - { -5 ; 10 } -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.070 units remaining) - [ (Pair -5 { 10 }) ] - - location: 8 (remaining gas: 1039993.930 units remaining) - [ -5 @parameter - { 10 } @storage ] - - location: 9 (remaining gas: 1039993.790 units remaining) - [ { -5 ; 10 } ] - - location: 10 (remaining gas: 1039993.650 units remaining) - [ {} - { -5 ; 10 } ] - - location: 12 (remaining gas: 1039993.510 units remaining) - [ (Pair {} { -5 ; 10 }) ] - - location: -1 (remaining gas: 1039993.440 units remaining) - [ (Pair {} { -5 ; 10 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out deleted file mode 100644 index 31d5b79cab5d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }].out +++ /dev/null @@ -1,24 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[cons.tz-{}-10-{ 10 }] - -storage - { 10 } -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.310 units remaining) - [ (Pair 10 {}) ] - - location: 8 (remaining gas: 1039994.170 units remaining) - [ 10 @parameter - {} @storage ] - - location: 9 (remaining gas: 1039994.030 units remaining) - [ { 10 } ] - - location: 10 (remaining gas: 1039993.890 units remaining) - [ {} - { 10 } ] - - location: 12 (remaining gas: 1039993.750 units remaining) - [ (Pair {} { 10 }) ] - - location: -1 (remaining gas: 1039993.680 units remaining) - [ (Pair {} { 10 }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" deleted file mode 100644 index 83422fb24be2..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"A\" } { \"B\" })-(Some False)].out" +++ /dev/null @@ -1,172 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { "A" } { "B" })-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039956.652 units remaining) - [ (Pair (Pair { "A" } { "B" }) None) ] - - location: 12 (remaining gas: 1039956.512 units remaining) - [ (Pair { "A" } { "B" }) @parameter ] - - location: 13 (remaining gas: 1039956.372 units remaining) - [ (Pair { "A" } { "B" }) @parameter - (Pair { "A" } { "B" }) @parameter ] - - location: 14 (remaining gas: 1039956.232 units remaining) - [ { "A" } - (Pair { "A" } { "B" }) @parameter ] - - location: 17 (remaining gas: 1039955.932 units remaining) - [ { "B" } ] - - location: 16 (remaining gas: 1039955.862 units remaining) - [ { "B" } ] - - location: 15 (remaining gas: 1039955.862 units remaining) - [ { "A" } - { "B" } ] - - location: 18 (remaining gas: 1039955.562 units remaining) - [ {} - { "A" } - { "B" } ] - - location: 20 (remaining gas: 1039955.432 units remaining) - [ { "A" } - {} - { "B" } ] - - location: 23 (remaining gas: 1039954.725 units remaining) - [ (Pair "A" {}) - { "B" } ] - - location: 24 (remaining gas: 1039954.585 units remaining) - [ (Pair "A" {}) - (Pair "A" {}) - { "B" } ] - - location: 25 (remaining gas: 1039954.445 units remaining) - [ "A" @elt - (Pair "A" {}) - { "B" } ] - - location: 28 (remaining gas: 1039954.145 units remaining) - [ {} - { "B" } ] - - location: 27 (remaining gas: 1039954.075 units remaining) - [ {} - { "B" } ] - - location: 26 (remaining gas: 1039954.075 units remaining) - [ "A" @elt - {} - { "B" } ] - - location: 29 (remaining gas: 1039953.935 units remaining) - [ True - "A" @elt - {} - { "B" } ] - - location: 32 (remaining gas: 1039953.805 units remaining) - [ "A" @elt - True - {} - { "B" } ] - - location: 33 (remaining gas: 1039953.665 units remaining) - [ { "A" } - { "B" } ] - - location: -1 (remaining gas: 1039953.595 units remaining) - [ { "A" } - { "B" } ] - - location: 21 (remaining gas: 1039953.595 units remaining) - [ { "A" } - { "B" } ] - - location: 34 (remaining gas: 1039953.455 units remaining) - [ True - { "A" } - { "B" } ] - - location: 37 (remaining gas: 1039953.325 units remaining) - [ { "A" } - True - { "B" } ] - - location: 38 (remaining gas: 1039953.185 units remaining) - [ (Pair { "A" } True) - { "B" } ] - - location: 39 (remaining gas: 1039953.055 units remaining) - [ { "B" } - (Pair { "A" } True) ] - - location: 42 (remaining gas: 1039952.348 units remaining) - [ (Pair "B" { "A" } True) ] - - location: 43 (remaining gas: 1039952.208 units remaining) - [ (Pair "B" { "A" } True) - (Pair "B" { "A" } True) ] - - location: 44 (remaining gas: 1039952.068 units remaining) - [ (Pair "B" { "A" } True) - (Pair "B" { "A" } True) - (Pair "B" { "A" } True) ] - - location: 45 (remaining gas: 1039951.928 units remaining) - [ "B" @elt - (Pair "B" { "A" } True) - (Pair "B" { "A" } True) ] - - location: 49 (remaining gas: 1039951.568 units remaining) - [ (Pair { "A" } True) - (Pair "B" { "A" } True) ] - - location: 50 (remaining gas: 1039951.428 units remaining) - [ { "A" } - (Pair "B" { "A" } True) ] - - location: -1 (remaining gas: 1039951.358 units remaining) - [ { "A" } - (Pair "B" { "A" } True) ] - - location: 54 (remaining gas: 1039950.998 units remaining) - [ (Pair { "A" } True) ] - - location: 55 (remaining gas: 1039950.858 units remaining) - [ True ] - - location: -1 (remaining gas: 1039950.788 units remaining) - [ True ] - - location: 52 (remaining gas: 1039950.718 units remaining) - [ True ] - - location: 51 (remaining gas: 1039950.718 units remaining) - [ { "A" } - True ] - - location: 56 (remaining gas: 1039950.578 units remaining) - [ { "A" } - { "A" } - True ] - - location: -1 (remaining gas: 1039950.508 units remaining) - [ { "A" } - { "A" } - True ] - - location: 46 (remaining gas: 1039950.508 units remaining) - [ "B" @elt - { "A" } - { "A" } - True ] - - location: 57 (remaining gas: 1039950.368 units remaining) - [ False - { "A" } - True ] - - location: 60 (remaining gas: 1039950.078 units remaining) - [ True - { "A" } ] - - location: 59 (remaining gas: 1039950.008 units remaining) - [ True - { "A" } ] - - location: 58 (remaining gas: 1039950.008 units remaining) - [ False - True - { "A" } ] - - location: 61 (remaining gas: 1039949.848 units remaining) - [ False - { "A" } ] - - location: 62 (remaining gas: 1039949.718 units remaining) - [ { "A" } - False ] - - location: 63 (remaining gas: 1039949.578 units remaining) - [ (Pair { "A" } False) ] - - location: -1 (remaining gas: 1039949.508 units remaining) - [ (Pair { "A" } False) ] - - location: 40 (remaining gas: 1039949.508 units remaining) - [ (Pair { "A" } False) ] - - location: 64 (remaining gas: 1039949.368 units remaining) - [ False ] - - location: 65 (remaining gas: 1039949.228 units remaining) - [ (Some False) ] - - location: 66 (remaining gas: 1039949.088 units remaining) - [ {} - (Some False) ] - - location: 68 (remaining gas: 1039948.948 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039948.878 units remaining) - [ (Pair {} (Some False)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" deleted file mode 100644 index ac14a5e58fab..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"B\" ; \"asdf\" ; \"C\" }.4360bbe5d0.out" +++ /dev/null @@ -1,423 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" })-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039955.272 units remaining) - [ (Pair (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) None) ] - - location: 12 (remaining gas: 1039955.132 units remaining) - [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - - location: 13 (remaining gas: 1039954.992 units remaining) - [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter - (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - - location: 14 (remaining gas: 1039954.852 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } - (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) @parameter ] - - location: 17 (remaining gas: 1039954.552 units remaining) - [ { "B" ; "C" ; "asdf" } ] - - location: 16 (remaining gas: 1039954.482 units remaining) - [ { "B" ; "C" ; "asdf" } ] - - location: 15 (remaining gas: 1039954.482 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } - { "B" ; "C" ; "asdf" } ] - - location: 18 (remaining gas: 1039954.182 units remaining) - [ {} - { "B" ; "B" ; "asdf" ; "C" } - { "B" ; "C" ; "asdf" } ] - - location: 20 (remaining gas: 1039954.052 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } - {} - { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039953.324 units remaining) - [ (Pair "B" {}) - { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039953.184 units remaining) - [ (Pair "B" {}) - (Pair "B" {}) - { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039953.044 units remaining) - [ "B" @elt - (Pair "B" {}) - { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039952.744 units remaining) - [ {} - { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039952.674 units remaining) - [ {} - { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039952.674 units remaining) - [ "B" @elt - {} - { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039952.534 units remaining) - [ True - "B" @elt - {} - { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039952.404 units remaining) - [ "B" @elt - True - {} - { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039952.264 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039952.194 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039952.054 units remaining) - [ (Pair "B" { "B" }) - { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039951.914 units remaining) - [ (Pair "B" { "B" }) - (Pair "B" { "B" }) - { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039951.774 units remaining) - [ "B" @elt - (Pair "B" { "B" }) - { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039951.474 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039951.404 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039951.404 units remaining) - [ "B" @elt - { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039951.264 units remaining) - [ True - "B" @elt - { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039951.134 units remaining) - [ "B" @elt - True - { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039950.994 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039950.924 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039950.784 units remaining) - [ (Pair "asdf" { "B" }) - { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039950.644 units remaining) - [ (Pair "asdf" { "B" }) - (Pair "asdf" { "B" }) - { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039950.504 units remaining) - [ "asdf" @elt - (Pair "asdf" { "B" }) - { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039950.204 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039950.134 units remaining) - [ { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039950.134 units remaining) - [ "asdf" @elt - { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039949.994 units remaining) - [ True - "asdf" @elt - { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039949.864 units remaining) - [ "asdf" @elt - True - { "B" } - { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039949.723 units remaining) - [ { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039949.653 units remaining) - [ { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 23 (remaining gas: 1039949.513 units remaining) - [ (Pair "C" { "B" ; "asdf" }) - { "B" ; "C" ; "asdf" } ] - - location: 24 (remaining gas: 1039949.373 units remaining) - [ (Pair "C" { "B" ; "asdf" }) - (Pair "C" { "B" ; "asdf" }) - { "B" ; "C" ; "asdf" } ] - - location: 25 (remaining gas: 1039949.233 units remaining) - [ "C" @elt - (Pair "C" { "B" ; "asdf" }) - { "B" ; "C" ; "asdf" } ] - - location: 28 (remaining gas: 1039948.933 units remaining) - [ { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 27 (remaining gas: 1039948.863 units remaining) - [ { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 26 (remaining gas: 1039948.863 units remaining) - [ "C" @elt - { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 29 (remaining gas: 1039948.723 units remaining) - [ True - "C" @elt - { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 32 (remaining gas: 1039948.593 units remaining) - [ "C" @elt - True - { "B" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 33 (remaining gas: 1039948.453 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: -1 (remaining gas: 1039948.383 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 21 (remaining gas: 1039948.383 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 34 (remaining gas: 1039948.243 units remaining) - [ True - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } ] - - location: 37 (remaining gas: 1039948.113 units remaining) - [ { "B" ; "C" ; "asdf" } - True - { "B" ; "C" ; "asdf" } ] - - location: 38 (remaining gas: 1039947.973 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - { "B" ; "C" ; "asdf" } ] - - location: 39 (remaining gas: 1039947.843 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039947.122 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039946.982 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039946.842 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039946.702 units remaining) - [ "B" @elt - (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039946.342 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039946.202 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039946.132 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039945.772 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039945.632 units remaining) - [ True ] - - location: -1 (remaining gas: 1039945.562 units remaining) - [ True ] - - location: 52 (remaining gas: 1039945.492 units remaining) - [ True ] - - location: 51 (remaining gas: 1039945.492 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039945.352 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039945.282 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039945.282 units remaining) - [ "B" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039945.142 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039944.852 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039944.782 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039944.782 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039944.622 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039944.492 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039944.352 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039944.282 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039944.142 units remaining) - [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039944.002 units remaining) - [ (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039943.862 units remaining) - [ (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039943.722 units remaining) - [ "C" @elt - (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039943.362 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039943.222 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039943.152 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039942.792 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039942.652 units remaining) - [ True ] - - location: -1 (remaining gas: 1039942.582 units remaining) - [ True ] - - location: 52 (remaining gas: 1039942.512 units remaining) - [ True ] - - location: 51 (remaining gas: 1039942.512 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039942.372 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039942.302 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039942.302 units remaining) - [ "C" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039942.162 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039941.872 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039941.802 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039941.802 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039941.642 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039941.512 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039941.372 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039941.302 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039941.162 units remaining) - [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039941.022 units remaining) - [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039940.882 units remaining) - [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039940.742 units remaining) - [ "asdf" @elt - (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039940.382 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039940.242 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039940.172 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039939.812 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039939.672 units remaining) - [ True ] - - location: -1 (remaining gas: 1039939.602 units remaining) - [ True ] - - location: 52 (remaining gas: 1039939.532 units remaining) - [ True ] - - location: 51 (remaining gas: 1039939.532 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039939.392 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039939.322 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039939.322 units remaining) - [ "asdf" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039939.182 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039938.892 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039938.822 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039938.822 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039938.662 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039938.532 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039938.392 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039938.322 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039938.322 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039938.182 units remaining) - [ True ] - - location: 65 (remaining gas: 1039938.042 units remaining) - [ (Some True) ] - - location: 66 (remaining gas: 1039937.902 units remaining) - [ {} - (Some True) ] - - location: 68 (remaining gas: 1039937.762 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039937.692 units remaining) - [ (Pair {} (Some True)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" deleted file mode 100644 index d53f5efab259..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" ; \"C\" ; \"asdf\" } { \"B\".ff6e4785ee.out" +++ /dev/null @@ -1,456 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" })-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039955.272 units remaining) - [ (Pair (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) None) ] - - location: 12 (remaining gas: 1039955.132 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - - location: 13 (remaining gas: 1039954.992 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter - (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - - location: 14 (remaining gas: 1039954.852 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) @parameter ] - - location: 17 (remaining gas: 1039954.552 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } ] - - location: 16 (remaining gas: 1039954.482 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } ] - - location: 15 (remaining gas: 1039954.482 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 18 (remaining gas: 1039954.182 units remaining) - [ {} - { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 20 (remaining gas: 1039954.052 units remaining) - [ { "B" ; "C" ; "asdf" } - {} - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039953.331 units remaining) - [ (Pair "B" {}) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039953.191 units remaining) - [ (Pair "B" {}) - (Pair "B" {}) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039953.051 units remaining) - [ "B" @elt - (Pair "B" {}) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039952.751 units remaining) - [ {} - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 27 (remaining gas: 1039952.681 units remaining) - [ {} - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039952.681 units remaining) - [ "B" @elt - {} - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039952.541 units remaining) - [ True - "B" @elt - {} - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039952.411 units remaining) - [ "B" @elt - True - {} - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039952.271 units remaining) - [ { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: -1 (remaining gas: 1039952.201 units remaining) - [ { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039952.061 units remaining) - [ (Pair "C" { "B" }) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039951.921 units remaining) - [ (Pair "C" { "B" }) - (Pair "C" { "B" }) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039951.781 units remaining) - [ "C" @elt - (Pair "C" { "B" }) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039951.481 units remaining) - [ { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 27 (remaining gas: 1039951.411 units remaining) - [ { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039951.411 units remaining) - [ "C" @elt - { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039951.271 units remaining) - [ True - "C" @elt - { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039951.141 units remaining) - [ "C" @elt - True - { "B" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039951.001 units remaining) - [ { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: -1 (remaining gas: 1039950.931 units remaining) - [ { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 23 (remaining gas: 1039950.791 units remaining) - [ (Pair "asdf" { "B" ; "C" }) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 24 (remaining gas: 1039950.651 units remaining) - [ (Pair "asdf" { "B" ; "C" }) - (Pair "asdf" { "B" ; "C" }) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 25 (remaining gas: 1039950.511 units remaining) - [ "asdf" @elt - (Pair "asdf" { "B" ; "C" }) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 28 (remaining gas: 1039950.211 units remaining) - [ { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 27 (remaining gas: 1039950.141 units remaining) - [ { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 26 (remaining gas: 1039950.141 units remaining) - [ "asdf" @elt - { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 29 (remaining gas: 1039950.001 units remaining) - [ True - "asdf" @elt - { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 32 (remaining gas: 1039949.871 units remaining) - [ "asdf" @elt - True - { "B" ; "C" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 33 (remaining gas: 1039949.730 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: -1 (remaining gas: 1039949.660 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 21 (remaining gas: 1039949.660 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 34 (remaining gas: 1039949.520 units remaining) - [ True - { "B" ; "C" ; "asdf" } - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 37 (remaining gas: 1039949.390 units remaining) - [ { "B" ; "C" ; "asdf" } - True - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 38 (remaining gas: 1039949.250 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - { "B" ; "B" ; "asdf" ; "C" } ] - - location: 39 (remaining gas: 1039949.120 units remaining) - [ { "B" ; "B" ; "asdf" ; "C" } - (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039948.392 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039948.252 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039948.112 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039947.972 units remaining) - [ "B" @elt - (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039947.612 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039947.472 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039947.402 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039947.042 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039946.902 units remaining) - [ True ] - - location: -1 (remaining gas: 1039946.832 units remaining) - [ True ] - - location: 52 (remaining gas: 1039946.762 units remaining) - [ True ] - - location: 51 (remaining gas: 1039946.762 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039946.622 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039946.552 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039946.552 units remaining) - [ "B" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039946.412 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039946.122 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039946.052 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039946.052 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039945.892 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039945.762 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039945.622 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039945.552 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039945.412 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039945.272 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039945.132 units remaining) - [ (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039944.992 units remaining) - [ "B" @elt - (Pair "B" { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039944.632 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039944.492 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039944.422 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "B" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039944.062 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039943.922 units remaining) - [ True ] - - location: -1 (remaining gas: 1039943.852 units remaining) - [ True ] - - location: 52 (remaining gas: 1039943.782 units remaining) - [ True ] - - location: 51 (remaining gas: 1039943.782 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039943.642 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039943.572 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039943.572 units remaining) - [ "B" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039943.432 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039943.142 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039943.072 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039943.072 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039942.912 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039942.782 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039942.642 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039942.572 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039942.432 units remaining) - [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039942.292 units remaining) - [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039942.152 units remaining) - [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039942.012 units remaining) - [ "asdf" @elt - (Pair "asdf" { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039941.652 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039941.512 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039941.442 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039941.082 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039940.942 units remaining) - [ True ] - - location: -1 (remaining gas: 1039940.872 units remaining) - [ True ] - - location: 52 (remaining gas: 1039940.802 units remaining) - [ True ] - - location: 51 (remaining gas: 1039940.802 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039940.662 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039940.592 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039940.592 units remaining) - [ "asdf" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039940.452 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039940.162 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039940.092 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039940.092 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039939.932 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039939.802 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039939.662 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039939.592 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 42 (remaining gas: 1039939.452 units remaining) - [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 43 (remaining gas: 1039939.312 units remaining) - [ (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 44 (remaining gas: 1039939.172 units remaining) - [ (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 45 (remaining gas: 1039939.032 units remaining) - [ "C" @elt - (Pair "C" { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 49 (remaining gas: 1039938.672 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 50 (remaining gas: 1039938.532 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039938.462 units remaining) - [ { "B" ; "C" ; "asdf" } - (Pair "C" { "B" ; "C" ; "asdf" } True) ] - - location: 54 (remaining gas: 1039938.102 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 55 (remaining gas: 1039937.962 units remaining) - [ True ] - - location: -1 (remaining gas: 1039937.892 units remaining) - [ True ] - - location: 52 (remaining gas: 1039937.822 units remaining) - [ True ] - - location: 51 (remaining gas: 1039937.822 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 56 (remaining gas: 1039937.682 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: -1 (remaining gas: 1039937.612 units remaining) - [ { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 46 (remaining gas: 1039937.612 units remaining) - [ "C" @elt - { "B" ; "C" ; "asdf" } - { "B" ; "C" ; "asdf" } - True ] - - location: 57 (remaining gas: 1039937.472 units remaining) - [ True - { "B" ; "C" ; "asdf" } - True ] - - location: 60 (remaining gas: 1039937.182 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 59 (remaining gas: 1039937.112 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 58 (remaining gas: 1039937.112 units remaining) - [ True - True - { "B" ; "C" ; "asdf" } ] - - location: 61 (remaining gas: 1039936.952 units remaining) - [ True - { "B" ; "C" ; "asdf" } ] - - location: 62 (remaining gas: 1039936.822 units remaining) - [ { "B" ; "C" ; "asdf" } - True ] - - location: 63 (remaining gas: 1039936.682 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: -1 (remaining gas: 1039936.612 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 40 (remaining gas: 1039936.612 units remaining) - [ (Pair { "B" ; "C" ; "asdf" } True) ] - - location: 64 (remaining gas: 1039936.472 units remaining) - [ True ] - - location: 65 (remaining gas: 1039936.332 units remaining) - [ (Some True) ] - - location: 66 (remaining gas: 1039936.192 units remaining) - [ {} - (Some True) ] - - location: 68 (remaining gas: 1039936.052 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039935.982 units remaining) - [ (Pair {} (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" deleted file mode 100644 index 7ddfe0586906..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"B\" } { \"B\" })-(Some True)].out" +++ /dev/null @@ -1,172 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { "B" } { "B" })-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039956.652 units remaining) - [ (Pair (Pair { "B" } { "B" }) None) ] - - location: 12 (remaining gas: 1039956.512 units remaining) - [ (Pair { "B" } { "B" }) @parameter ] - - location: 13 (remaining gas: 1039956.372 units remaining) - [ (Pair { "B" } { "B" }) @parameter - (Pair { "B" } { "B" }) @parameter ] - - location: 14 (remaining gas: 1039956.232 units remaining) - [ { "B" } - (Pair { "B" } { "B" }) @parameter ] - - location: 17 (remaining gas: 1039955.932 units remaining) - [ { "B" } ] - - location: 16 (remaining gas: 1039955.862 units remaining) - [ { "B" } ] - - location: 15 (remaining gas: 1039955.862 units remaining) - [ { "B" } - { "B" } ] - - location: 18 (remaining gas: 1039955.562 units remaining) - [ {} - { "B" } - { "B" } ] - - location: 20 (remaining gas: 1039955.432 units remaining) - [ { "B" } - {} - { "B" } ] - - location: 23 (remaining gas: 1039954.725 units remaining) - [ (Pair "B" {}) - { "B" } ] - - location: 24 (remaining gas: 1039954.585 units remaining) - [ (Pair "B" {}) - (Pair "B" {}) - { "B" } ] - - location: 25 (remaining gas: 1039954.445 units remaining) - [ "B" @elt - (Pair "B" {}) - { "B" } ] - - location: 28 (remaining gas: 1039954.145 units remaining) - [ {} - { "B" } ] - - location: 27 (remaining gas: 1039954.075 units remaining) - [ {} - { "B" } ] - - location: 26 (remaining gas: 1039954.075 units remaining) - [ "B" @elt - {} - { "B" } ] - - location: 29 (remaining gas: 1039953.935 units remaining) - [ True - "B" @elt - {} - { "B" } ] - - location: 32 (remaining gas: 1039953.805 units remaining) - [ "B" @elt - True - {} - { "B" } ] - - location: 33 (remaining gas: 1039953.665 units remaining) - [ { "B" } - { "B" } ] - - location: -1 (remaining gas: 1039953.595 units remaining) - [ { "B" } - { "B" } ] - - location: 21 (remaining gas: 1039953.595 units remaining) - [ { "B" } - { "B" } ] - - location: 34 (remaining gas: 1039953.455 units remaining) - [ True - { "B" } - { "B" } ] - - location: 37 (remaining gas: 1039953.325 units remaining) - [ { "B" } - True - { "B" } ] - - location: 38 (remaining gas: 1039953.185 units remaining) - [ (Pair { "B" } True) - { "B" } ] - - location: 39 (remaining gas: 1039953.055 units remaining) - [ { "B" } - (Pair { "B" } True) ] - - location: 42 (remaining gas: 1039952.348 units remaining) - [ (Pair "B" { "B" } True) ] - - location: 43 (remaining gas: 1039952.208 units remaining) - [ (Pair "B" { "B" } True) - (Pair "B" { "B" } True) ] - - location: 44 (remaining gas: 1039952.068 units remaining) - [ (Pair "B" { "B" } True) - (Pair "B" { "B" } True) - (Pair "B" { "B" } True) ] - - location: 45 (remaining gas: 1039951.928 units remaining) - [ "B" @elt - (Pair "B" { "B" } True) - (Pair "B" { "B" } True) ] - - location: 49 (remaining gas: 1039951.568 units remaining) - [ (Pair { "B" } True) - (Pair "B" { "B" } True) ] - - location: 50 (remaining gas: 1039951.428 units remaining) - [ { "B" } - (Pair "B" { "B" } True) ] - - location: -1 (remaining gas: 1039951.358 units remaining) - [ { "B" } - (Pair "B" { "B" } True) ] - - location: 54 (remaining gas: 1039950.998 units remaining) - [ (Pair { "B" } True) ] - - location: 55 (remaining gas: 1039950.858 units remaining) - [ True ] - - location: -1 (remaining gas: 1039950.788 units remaining) - [ True ] - - location: 52 (remaining gas: 1039950.718 units remaining) - [ True ] - - location: 51 (remaining gas: 1039950.718 units remaining) - [ { "B" } - True ] - - location: 56 (remaining gas: 1039950.578 units remaining) - [ { "B" } - { "B" } - True ] - - location: -1 (remaining gas: 1039950.508 units remaining) - [ { "B" } - { "B" } - True ] - - location: 46 (remaining gas: 1039950.508 units remaining) - [ "B" @elt - { "B" } - { "B" } - True ] - - location: 57 (remaining gas: 1039950.368 units remaining) - [ True - { "B" } - True ] - - location: 60 (remaining gas: 1039950.078 units remaining) - [ True - { "B" } ] - - location: 59 (remaining gas: 1039950.008 units remaining) - [ True - { "B" } ] - - location: 58 (remaining gas: 1039950.008 units remaining) - [ True - True - { "B" } ] - - location: 61 (remaining gas: 1039949.848 units remaining) - [ True - { "B" } ] - - location: 62 (remaining gas: 1039949.718 units remaining) - [ { "B" } - True ] - - location: 63 (remaining gas: 1039949.578 units remaining) - [ (Pair { "B" } True) ] - - location: -1 (remaining gas: 1039949.508 units remaining) - [ (Pair { "B" } True) ] - - location: 40 (remaining gas: 1039949.508 units remaining) - [ (Pair { "B" } True) ] - - location: 64 (remaining gas: 1039949.368 units remaining) - [ True ] - - location: 65 (remaining gas: 1039949.228 units remaining) - [ (Some True) ] - - location: 66 (remaining gas: 1039949.088 units remaining) - [ {} - (Some True) ] - - location: 68 (remaining gas: 1039948.948 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039948.878 units remaining) - [ (Pair {} (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" deleted file mode 100644 index dc2cd955c76b..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { \"c\" } { \"B\" })-(Some False)].out" +++ /dev/null @@ -1,172 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair { "c" } { "B" })-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039956.652 units remaining) - [ (Pair (Pair { "c" } { "B" }) None) ] - - location: 12 (remaining gas: 1039956.512 units remaining) - [ (Pair { "c" } { "B" }) @parameter ] - - location: 13 (remaining gas: 1039956.372 units remaining) - [ (Pair { "c" } { "B" }) @parameter - (Pair { "c" } { "B" }) @parameter ] - - location: 14 (remaining gas: 1039956.232 units remaining) - [ { "c" } - (Pair { "c" } { "B" }) @parameter ] - - location: 17 (remaining gas: 1039955.932 units remaining) - [ { "B" } ] - - location: 16 (remaining gas: 1039955.862 units remaining) - [ { "B" } ] - - location: 15 (remaining gas: 1039955.862 units remaining) - [ { "c" } - { "B" } ] - - location: 18 (remaining gas: 1039955.562 units remaining) - [ {} - { "c" } - { "B" } ] - - location: 20 (remaining gas: 1039955.432 units remaining) - [ { "c" } - {} - { "B" } ] - - location: 23 (remaining gas: 1039954.725 units remaining) - [ (Pair "c" {}) - { "B" } ] - - location: 24 (remaining gas: 1039954.585 units remaining) - [ (Pair "c" {}) - (Pair "c" {}) - { "B" } ] - - location: 25 (remaining gas: 1039954.445 units remaining) - [ "c" @elt - (Pair "c" {}) - { "B" } ] - - location: 28 (remaining gas: 1039954.145 units remaining) - [ {} - { "B" } ] - - location: 27 (remaining gas: 1039954.075 units remaining) - [ {} - { "B" } ] - - location: 26 (remaining gas: 1039954.075 units remaining) - [ "c" @elt - {} - { "B" } ] - - location: 29 (remaining gas: 1039953.935 units remaining) - [ True - "c" @elt - {} - { "B" } ] - - location: 32 (remaining gas: 1039953.805 units remaining) - [ "c" @elt - True - {} - { "B" } ] - - location: 33 (remaining gas: 1039953.665 units remaining) - [ { "c" } - { "B" } ] - - location: -1 (remaining gas: 1039953.595 units remaining) - [ { "c" } - { "B" } ] - - location: 21 (remaining gas: 1039953.595 units remaining) - [ { "c" } - { "B" } ] - - location: 34 (remaining gas: 1039953.455 units remaining) - [ True - { "c" } - { "B" } ] - - location: 37 (remaining gas: 1039953.325 units remaining) - [ { "c" } - True - { "B" } ] - - location: 38 (remaining gas: 1039953.185 units remaining) - [ (Pair { "c" } True) - { "B" } ] - - location: 39 (remaining gas: 1039953.055 units remaining) - [ { "B" } - (Pair { "c" } True) ] - - location: 42 (remaining gas: 1039952.348 units remaining) - [ (Pair "B" { "c" } True) ] - - location: 43 (remaining gas: 1039952.208 units remaining) - [ (Pair "B" { "c" } True) - (Pair "B" { "c" } True) ] - - location: 44 (remaining gas: 1039952.068 units remaining) - [ (Pair "B" { "c" } True) - (Pair "B" { "c" } True) - (Pair "B" { "c" } True) ] - - location: 45 (remaining gas: 1039951.928 units remaining) - [ "B" @elt - (Pair "B" { "c" } True) - (Pair "B" { "c" } True) ] - - location: 49 (remaining gas: 1039951.568 units remaining) - [ (Pair { "c" } True) - (Pair "B" { "c" } True) ] - - location: 50 (remaining gas: 1039951.428 units remaining) - [ { "c" } - (Pair "B" { "c" } True) ] - - location: -1 (remaining gas: 1039951.358 units remaining) - [ { "c" } - (Pair "B" { "c" } True) ] - - location: 54 (remaining gas: 1039950.998 units remaining) - [ (Pair { "c" } True) ] - - location: 55 (remaining gas: 1039950.858 units remaining) - [ True ] - - location: -1 (remaining gas: 1039950.788 units remaining) - [ True ] - - location: 52 (remaining gas: 1039950.718 units remaining) - [ True ] - - location: 51 (remaining gas: 1039950.718 units remaining) - [ { "c" } - True ] - - location: 56 (remaining gas: 1039950.578 units remaining) - [ { "c" } - { "c" } - True ] - - location: -1 (remaining gas: 1039950.508 units remaining) - [ { "c" } - { "c" } - True ] - - location: 46 (remaining gas: 1039950.508 units remaining) - [ "B" @elt - { "c" } - { "c" } - True ] - - location: 57 (remaining gas: 1039950.368 units remaining) - [ False - { "c" } - True ] - - location: 60 (remaining gas: 1039950.078 units remaining) - [ True - { "c" } ] - - location: 59 (remaining gas: 1039950.008 units remaining) - [ True - { "c" } ] - - location: 58 (remaining gas: 1039950.008 units remaining) - [ False - True - { "c" } ] - - location: 61 (remaining gas: 1039949.848 units remaining) - [ False - { "c" } ] - - location: 62 (remaining gas: 1039949.718 units remaining) - [ { "c" } - False ] - - location: 63 (remaining gas: 1039949.578 units remaining) - [ (Pair { "c" } False) ] - - location: -1 (remaining gas: 1039949.508 units remaining) - [ (Pair { "c" } False) ] - - location: 40 (remaining gas: 1039949.508 units remaining) - [ (Pair { "c" } False) ] - - location: 64 (remaining gas: 1039949.368 units remaining) - [ False ] - - location: 65 (remaining gas: 1039949.228 units remaining) - [ (Some False) ] - - location: 66 (remaining gas: 1039949.088 units remaining) - [ {} - (Some False) ] - - location: 68 (remaining gas: 1039948.948 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039948.878 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out deleted file mode 100644 index a6603eff4d8a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)].out +++ /dev/null @@ -1,65 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contains_all.tz-None-(Pair {} {})-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039957.180 units remaining) - [ (Pair (Pair {} {}) None) ] - - location: 12 (remaining gas: 1039957.040 units remaining) - [ (Pair {} {}) @parameter ] - - location: 13 (remaining gas: 1039956.900 units remaining) - [ (Pair {} {}) @parameter - (Pair {} {}) @parameter ] - - location: 14 (remaining gas: 1039956.760 units remaining) - [ {} - (Pair {} {}) @parameter ] - - location: 17 (remaining gas: 1039956.460 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039956.390 units remaining) - [ {} ] - - location: 15 (remaining gas: 1039956.390 units remaining) - [ {} - {} ] - - location: 18 (remaining gas: 1039956.090 units remaining) - [ {} - {} - {} ] - - location: 20 (remaining gas: 1039955.960 units remaining) - [ {} - {} - {} ] - - location: 21 (remaining gas: 1039955.400 units remaining) - [ {} - {} ] - - location: 34 (remaining gas: 1039955.260 units remaining) - [ True - {} - {} ] - - location: 37 (remaining gas: 1039955.130 units remaining) - [ {} - True - {} ] - - location: 38 (remaining gas: 1039954.990 units remaining) - [ (Pair {} True) - {} ] - - location: 39 (remaining gas: 1039954.860 units remaining) - [ {} - (Pair {} True) ] - - location: 40 (remaining gas: 1039954.300 units remaining) - [ (Pair {} True) ] - - location: 64 (remaining gas: 1039954.160 units remaining) - [ True ] - - location: 65 (remaining gas: 1039954.020 units remaining) - [ (Some True) ] - - location: 66 (remaining gas: 1039953.880 units remaining) - [ {} - (Some True) ] - - location: 68 (remaining gas: 1039953.740 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039953.670 units remaining) - [ (Pair {} (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" deleted file mode 100644 index e22eeca5420e..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[contract.tz-Unit-\"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5\"-Unit].out" +++ /dev/null @@ -1,31 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[contract.tz-Unit-"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039931.695 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" Unit) ] - - location: 7 (remaining gas: 1039931.555 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter ] - - location: 8 (remaining gas: 1039686.269 units remaining) - [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter.contract ] - - location: 16 (remaining gas: 1039685.999 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.contract.some ] - - location: 10 (remaining gas: 1039685.929 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @parameter.contract.some ] - - location: 17 (remaining gas: 1039685.789 units remaining) - [ ] - - location: 18 (remaining gas: 1039685.649 units remaining) - [ Unit ] - - location: 19 (remaining gas: 1039685.509 units remaining) - [ {} - Unit ] - - location: 21 (remaining gas: 1039685.369 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039685.299 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" deleted file mode 100644 index da9e23a9f8c7..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some \"KT1Mjjcb6tmSsLm7Cb3.c3984fbc14.out" +++ /dev/null @@ -1,53 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[create_contract.tz-None-Unit-(Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")] - -storage - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") -emitted operations - Internal origination: - From: KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi - Credit: ꜩ0.05 - Script: - { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } - Initial storage: Unit - No delegate for this contract - big_map diff - - trace - - location: 7 (remaining gas: 1039985.320 units remaining) - [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039985.180 units remaining) - [ ] - - location: 9 (remaining gas: 1039985.040 units remaining) - [ Unit ] - - location: 10 (remaining gas: 1039984.900 units remaining) - [ 50000 @amount - Unit ] - - location: 11 (remaining gas: 1039984.760 units remaining) - [ None - 50000 @amount - Unit ] - - location: 13 (remaining gas: 1039983.180 units remaining) - [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b - "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] - - location: 27 (remaining gas: 1039982.880 units remaining) - [ (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 28 (remaining gas: 1039982.740 units remaining) - [ {} - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: -1 (remaining gas: 1039982.670 units remaining) - [ {} - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 25 (remaining gas: 1039982.670 units remaining) - [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b - {} - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 30 (remaining gas: 1039982.530 units remaining) - [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] - - location: 31 (remaining gas: 1039982.390 units remaining) - [ (Pair { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")) ] - - location: -1 (remaining gas: 1039982.320 units remaining) - [ (Pair { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } - (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" deleted file mode 100644 index 11b16c5b855d..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair \"1970-01-01T00:03:20Z\" \"19.90e9215d17.out" +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z")-200] - -storage - 200 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039989.940 units remaining) - [ (Pair (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039989.800 units remaining) - [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 10 (remaining gas: 1039989.660 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.520 units remaining) - [ "1970-01-01T00:03:20Z" - (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 14 (remaining gas: 1039989.220 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039989.150 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.150 units remaining) - [ "1970-01-01T00:03:20Z" - "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.010 units remaining) - [ 200 ] - - location: 16 (remaining gas: 1039988.870 units remaining) - [ {} - 200 ] - - location: 18 (remaining gas: 1039988.730 units remaining) - [ (Pair {} 200) ] - - location: -1 (remaining gas: 1039988.660 units remaining) - [ (Pair {} 200) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out deleted file mode 100644 index 18cd99e9dd6e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0].out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 0)-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.200 units remaining) - [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039990.060 units remaining) - [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 10 (remaining gas: 1039989.920 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.780 units remaining) - [ "1970-01-01T00:00:00Z" - (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 14 (remaining gas: 1039989.480 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:00:00Z" - "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.270 units remaining) - [ 0 ] - - location: 16 (remaining gas: 1039989.130 units remaining) - [ {} - 0 ] - - location: 18 (remaining gas: 1039988.990 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039988.920 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out deleted file mode 100644 index 9d082f9ddcad..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1].out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 0 1)--1] - -storage - -1 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.200 units remaining) - [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") 111) ] - - location: 9 (remaining gas: 1039990.060 units remaining) - [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] - - location: 10 (remaining gas: 1039989.920 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.780 units remaining) - [ "1970-01-01T00:00:00Z" - (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") @parameter ] - - location: 14 (remaining gas: 1039989.480 units remaining) - [ "1970-01-01T00:00:01Z" ] - - location: 13 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:00:01Z" ] - - location: 12 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:00:00Z" - "1970-01-01T00:00:01Z" ] - - location: 15 (remaining gas: 1039989.270 units remaining) - [ -1 ] - - location: 16 (remaining gas: 1039989.130 units remaining) - [ {} - -1 ] - - location: 18 (remaining gas: 1039988.990 units remaining) - [ (Pair {} -1) ] - - location: -1 (remaining gas: 1039988.920 units remaining) - [ (Pair {} -1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out deleted file mode 100644 index 578f1359b441..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1].out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[diff_timestamps.tz-111-(Pair 1 0)-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.200 units remaining) - [ (Pair (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") 111) ] - - location: 9 (remaining gas: 1039990.060 units remaining) - [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 10 (remaining gas: 1039989.920 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.780 units remaining) - [ "1970-01-01T00:00:01Z" - (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") @parameter ] - - location: 14 (remaining gas: 1039989.480 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 13 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 12 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:00:01Z" - "1970-01-01T00:00:00Z" ] - - location: 15 (remaining gas: 1039989.270 units remaining) - [ 1 ] - - location: 16 (remaining gas: 1039989.130 units remaining) - [ {} - 1 ] - - location: 18 (remaining gas: 1039988.990 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039988.920 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index c48acd79802b..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,1266 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pair 13 (Pair 12 (Pair 11 (Pair 10 (Pair 9 (Pair 8 (Pair 7 (Pair 6 (Pair 5 (Pair 4 (Pair 3 (Pair 2 1))))))))))))))))-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 23 (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.060 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: 1039860.920 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.720 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.420 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: 29 (remaining gas: 1039860.350 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.350 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.042 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: 33 (remaining gas: 1039859.972 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: 1039859.972 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: 1039859.660 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: 37 (remaining gas: 1039859.590 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: 1039859.590 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.274 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: 41 (remaining gas: 1039859.204 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.204 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: 46 (remaining gas: 1039858.884 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: 45 (remaining gas: 1039858.814 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: 1039858.814 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: 50 (remaining gas: 1039858.490 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: 49 (remaining gas: 1039858.420 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: 1039858.420 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: 54 (remaining gas: 1039858.092 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: 53 (remaining gas: 1039858.022 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: 1039858.022 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: 58 (remaining gas: 1039857.690 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: 57 (remaining gas: 1039857.620 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: 1039857.620 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - (Pair 8 7 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 62 (remaining gas: 1039857.284 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: 61 (remaining gas: 1039857.214 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.214 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - (Pair 7 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 66 (remaining gas: 1039856.874 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: 65 (remaining gas: 1039856.804 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: 1039856.804 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - 7 - (Pair 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 70 (remaining gas: 1039856.460 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: 69 (remaining gas: 1039856.390 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.390 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: 74 (remaining gas: 1039856.042 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: 73 (remaining gas: 1039855.972 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: 1039855.972 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: 78 (remaining gas: 1039855.620 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: 77 (remaining gas: 1039855.550 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.550 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: 82 (remaining gas: 1039855.194 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: 81 (remaining gas: 1039855.124 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: 1039855.124 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: 86 (remaining gas: 1039854.764 units remaining) - [ 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: 1039854.694 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: 1039854.694 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: 1039854.624 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: 1039854.464 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: 1039854.300 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: 1039854.132 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: 1039853.960 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: 1039853.784 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: 1039853.604 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: 1039853.420 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: 1039853.232 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: 1039853.040 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: 1039852.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: 1039852.644 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: 1039852.440 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: 1039852.232 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: 1039852.020 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.804 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: 1039851.584 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: 1039851.360 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: 1039851.200 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: 1039851.036 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.868 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.696 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.520 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.340 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: 1039850.156 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.968 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.776 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.580 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.380 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.176 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: 1039848.968 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: 1039848.756 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.540 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.320 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: 153 (remaining gas: 1039848.096 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: 159 (remaining gas: 1039847.676 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: 158 (remaining gas: 1039847.606 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: 1039847.606 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: 163 (remaining gas: 1039847.250 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: 162 (remaining gas: 1039847.180 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.180 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: 167 (remaining gas: 1039846.828 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: 166 (remaining gas: 1039846.758 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.758 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: 171 (remaining gas: 1039846.410 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: 170 (remaining gas: 1039846.340 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: 1039846.340 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: 175 (remaining gas: 1039845.996 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: 174 (remaining gas: 1039845.926 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.926 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - 7 - (Pair 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 179 (remaining gas: 1039845.586 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: 178 (remaining gas: 1039845.516 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: 1039845.516 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - (Pair 7 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 183 (remaining gas: 1039845.180 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: 182 (remaining gas: 1039845.110 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: 1039845.110 units remaining) - [ 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - (Pair 8 7 6 5 4 3 2 1) - (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) @parameter ] - - location: 187 (remaining gas: 1039844.778 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: 186 (remaining gas: 1039844.708 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: 1039844.708 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: 191 (remaining gas: 1039844.380 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: 190 (remaining gas: 1039844.310 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: 1039844.310 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: 195 (remaining gas: 1039843.986 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: 194 (remaining gas: 1039843.916 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: 1039843.916 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: 199 (remaining gas: 1039843.596 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: 198 (remaining gas: 1039843.526 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: 1039843.526 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: 203 (remaining gas: 1039843.210 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: 202 (remaining gas: 1039843.140 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: 1039843.140 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: 1039842.828 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: 206 (remaining gas: 1039842.758 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: 1039842.758 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: 1039842.450 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: 210 (remaining gas: 1039842.380 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: 1039842.380 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: 1039842.080 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: 213 (remaining gas: 1039842.010 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: 1039842.010 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: 1039841.870 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: 1039841.800 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: 1039839.070 units remaining) - [ 0 ] - - location: 219 (remaining gas: 1039838.930 units remaining) - [ True ] - - location: -1 (remaining gas: 1039838.860 units remaining) - [ True ] - - location: 221 (remaining gas: 1039838.670 units remaining) - [ ] - - location: -1 (remaining gas: 1039838.600 units remaining) - [ ] - - location: 226 (remaining gas: 1039838.460 units remaining) - [ Unit ] - - location: 227 (remaining gas: 1039838.320 units remaining) - [ {} - Unit ] - - location: 229 (remaining gas: 1039838.180 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039838.110 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 09074a44c076..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,1266 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dig_eq.tz-Unit-(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair 10 (Pair 14 (Pair 19 (Pair 9 (Pair 18 (Pair 6 (Pair 8 (Pair 11 (Pair 4 (Pair 13 (Pair 15 (Pair 5 1))))))))))))))))-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 23 (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.060 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: 1039860.920 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.720 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.420 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: 29 (remaining gas: 1039860.350 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.350 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.042 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: 33 (remaining gas: 1039859.972 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: 1039859.972 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: 1039859.660 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: 37 (remaining gas: 1039859.590 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: 1039859.590 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.274 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: 41 (remaining gas: 1039859.204 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.204 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: 46 (remaining gas: 1039858.884 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: 45 (remaining gas: 1039858.814 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: 1039858.814 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: 50 (remaining gas: 1039858.490 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: 49 (remaining gas: 1039858.420 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: 1039858.420 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: 54 (remaining gas: 1039858.092 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: 53 (remaining gas: 1039858.022 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: 1039858.022 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: 58 (remaining gas: 1039857.690 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: 57 (remaining gas: 1039857.620 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: 1039857.620 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 - 19 - 9 - 18 - (Pair 6 8 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 62 (remaining gas: 1039857.284 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: 61 (remaining gas: 1039857.214 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.214 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 - 19 - 9 - 18 - 6 - (Pair 8 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 66 (remaining gas: 1039856.874 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: 65 (remaining gas: 1039856.804 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: 1039856.804 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 - 19 - 9 - 18 - 6 - 8 - (Pair 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 70 (remaining gas: 1039856.460 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: 69 (remaining gas: 1039856.390 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.390 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: 74 (remaining gas: 1039856.042 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: 73 (remaining gas: 1039855.972 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: 1039855.972 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: 78 (remaining gas: 1039855.620 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: 77 (remaining gas: 1039855.550 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.550 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: 82 (remaining gas: 1039855.194 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: 81 (remaining gas: 1039855.124 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: 1039855.124 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: 86 (remaining gas: 1039854.764 units remaining) - [ 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: 1039854.694 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: 1039854.694 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: 1039854.624 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: 1039854.464 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: 1039854.300 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: 1039854.132 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: 1039853.960 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: 1039853.784 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: 1039853.604 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: 1039853.420 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: 1039853.232 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: 1039853.040 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: 1039852.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: 1039852.644 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: 1039852.440 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: 1039852.232 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: 1039852.020 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.804 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: 1039851.584 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: 1039851.360 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: 1039851.200 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: 1039851.036 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.868 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.696 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.520 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.340 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: 1039850.156 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.968 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.776 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.580 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.380 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.176 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: 1039848.968 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: 1039848.756 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.540 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.320 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: 153 (remaining gas: 1039848.096 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: 159 (remaining gas: 1039847.676 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: 158 (remaining gas: 1039847.606 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: 1039847.606 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: 163 (remaining gas: 1039847.250 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: 162 (remaining gas: 1039847.180 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.180 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: 167 (remaining gas: 1039846.828 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: 166 (remaining gas: 1039846.758 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.758 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: 171 (remaining gas: 1039846.410 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: 170 (remaining gas: 1039846.340 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: 1039846.340 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: 175 (remaining gas: 1039845.996 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: 174 (remaining gas: 1039845.926 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.926 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 - 19 - 9 - 18 - 6 - 8 - (Pair 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 179 (remaining gas: 1039845.586 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: 178 (remaining gas: 1039845.516 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: 1039845.516 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 - 19 - 9 - 18 - 6 - (Pair 8 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 183 (remaining gas: 1039845.180 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: 182 (remaining gas: 1039845.110 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: 1039845.110 units remaining) - [ 2 - 3 - 12 - 16 - 10 - 14 - 19 - 9 - 18 - (Pair 6 8 11 4 13 15 5 1) - (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) @parameter ] - - location: 187 (remaining gas: 1039844.778 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: 186 (remaining gas: 1039844.708 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: 1039844.708 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: 191 (remaining gas: 1039844.380 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: 190 (remaining gas: 1039844.310 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: 1039844.310 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: 195 (remaining gas: 1039843.986 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: 194 (remaining gas: 1039843.916 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: 1039843.916 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: 199 (remaining gas: 1039843.596 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: 198 (remaining gas: 1039843.526 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: 1039843.526 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: 203 (remaining gas: 1039843.210 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: 202 (remaining gas: 1039843.140 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: 1039843.140 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: 1039842.828 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: 206 (remaining gas: 1039842.758 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: 1039842.758 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: 1039842.450 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: 210 (remaining gas: 1039842.380 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: 1039842.380 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: 1039842.080 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: 213 (remaining gas: 1039842.010 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: 1039842.010 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: 1039841.870 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: 1039841.800 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: 1039839.070 units remaining) - [ 0 ] - - location: 219 (remaining gas: 1039838.930 units remaining) - [ True ] - - location: -1 (remaining gas: 1039838.860 units remaining) - [ True ] - - location: 221 (remaining gas: 1039838.670 units remaining) - [ ] - - location: -1 (remaining gas: 1039838.600 units remaining) - [ ] - - location: 226 (remaining gas: 1039838.460 units remaining) - [ Unit ] - - location: 227 (remaining gas: 1039838.320 units remaining) - [ {} - Unit ] - - location: 229 (remaining gas: 1039838.180 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039838.110 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out deleted file mode 100644 index 989df2f6cf06..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out +++ /dev/null @@ -1,60 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dign.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5] - -storage - 5 -emitted operations - -big_map diff - -trace - - location: 14 (remaining gas: 1039984.510 units remaining) - [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039984.370 units remaining) - [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039984.230 units remaining) - [ (Pair (Pair (Pair 1 2) 3) 4) - 5 ] - - location: 17 (remaining gas: 1039984.090 units remaining) - [ (Pair (Pair 1 2) 3) - 4 - 5 ] - - location: 18 (remaining gas: 1039983.950 units remaining) - [ (Pair 1 2) - 3 - 4 - 5 ] - - location: 19 (remaining gas: 1039983.810 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 20 (remaining gas: 1039983.634 units remaining) - [ 5 - 1 - 2 - 3 - 4 ] - - location: 24 (remaining gas: 1039983.334 units remaining) - [ 2 - 3 - 4 ] - - location: 25 (remaining gas: 1039983.194 units remaining) - [ 3 - 4 ] - - location: 26 (remaining gas: 1039983.054 units remaining) - [ 4 ] - - location: 27 (remaining gas: 1039982.914 units remaining) - [ ] - - location: -1 (remaining gas: 1039982.844 units remaining) - [ ] - - location: 22 (remaining gas: 1039982.844 units remaining) - [ 5 ] - - location: 28 (remaining gas: 1039982.704 units remaining) - [ {} - 5 ] - - location: 30 (remaining gas: 1039982.564 units remaining) - [ (Pair {} 5) ] - - location: -1 (remaining gas: 1039982.494 units remaining) - [ (Pair {} 5) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out deleted file mode 100644 index a91e3486232a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 1 1)-(Pair 1 2)] - -storage - (Pair 1 2) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039989.600 units remaining) - [ (Pair (Pair 1 1) 0 0) ] - - location: 11 (remaining gas: 1039989.460 units remaining) - [ (Pair 1 1) @parameter ] - - location: 12 (remaining gas: 1039989.320 units remaining) - [ 1 - 1 ] - - location: 13 (remaining gas: 1039989.180 units remaining) - [ 1 - 1 - 1 ] - - location: 16 (remaining gas: 1039988.880 units remaining) - [ 2 ] - - location: 15 (remaining gas: 1039988.810 units remaining) - [ 2 ] - - location: 14 (remaining gas: 1039988.810 units remaining) - [ 1 - 2 ] - - location: 17 (remaining gas: 1039988.670 units remaining) - [ (Pair 1 2) ] - - location: 18 (remaining gas: 1039988.530 units remaining) - [ {} - (Pair 1 2) ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ (Pair {} 1 2) ] - - location: -1 (remaining gas: 1039988.320 units remaining) - [ (Pair {} 1 2) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out deleted file mode 100644 index 19f4a06e3aba..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dip.tz-(Pair 0 0)-(Pair 15 9)-(Pair 15 24)] - -storage - (Pair 15 24) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039989.600 units remaining) - [ (Pair (Pair 15 9) 0 0) ] - - location: 11 (remaining gas: 1039989.460 units remaining) - [ (Pair 15 9) @parameter ] - - location: 12 (remaining gas: 1039989.320 units remaining) - [ 15 - 9 ] - - location: 13 (remaining gas: 1039989.180 units remaining) - [ 15 - 15 - 9 ] - - location: 16 (remaining gas: 1039988.880 units remaining) - [ 24 ] - - location: 15 (remaining gas: 1039988.810 units remaining) - [ 24 ] - - location: 14 (remaining gas: 1039988.810 units remaining) - [ 15 - 24 ] - - location: 17 (remaining gas: 1039988.670 units remaining) - [ (Pair 15 24) ] - - location: 18 (remaining gas: 1039988.530 units remaining) - [ {} - (Pair 15 24) ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ (Pair {} 15 24) ] - - location: -1 (remaining gas: 1039988.320 units remaining) - [ (Pair {} 15 24) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out deleted file mode 100644 index 27aa3838393e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6].out +++ /dev/null @@ -1,70 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dipn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-6] - -storage - 6 -emitted operations - -big_map diff - -trace - - location: 14 (remaining gas: 1039983.300 units remaining) - [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039983.160 units remaining) - [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039983.020 units remaining) - [ (Pair (Pair (Pair 1 2) 3) 4) - 5 ] - - location: 17 (remaining gas: 1039982.880 units remaining) - [ (Pair (Pair 1 2) 3) - 4 - 5 ] - - location: 18 (remaining gas: 1039982.740 units remaining) - [ (Pair 1 2) - 3 - 4 - 5 ] - - location: 19 (remaining gas: 1039982.600 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 23 (remaining gas: 1039982.280 units remaining) - [ 6 ] - - location: 22 (remaining gas: 1039982.210 units remaining) - [ 6 ] - - location: 20 (remaining gas: 1039982.210 units remaining) - [ 1 - 2 - 3 - 4 - 5 - 6 ] - - location: 26 (remaining gas: 1039982.070 units remaining) - [ 2 - 3 - 4 - 5 - 6 ] - - location: 27 (remaining gas: 1039981.930 units remaining) - [ 3 - 4 - 5 - 6 ] - - location: 28 (remaining gas: 1039981.790 units remaining) - [ 4 - 5 - 6 ] - - location: 29 (remaining gas: 1039981.650 units remaining) - [ 5 - 6 ] - - location: 30 (remaining gas: 1039981.510 units remaining) - [ 6 ] - - location: 31 (remaining gas: 1039981.370 units remaining) - [ {} - 6 ] - - location: 33 (remaining gas: 1039981.230 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039981.160 units remaining) - [ (Pair {} 6) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dropn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out deleted file mode 100644 index 1d4ea2db1276..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dropn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5].out +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dropn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-5] - -storage - 5 -emitted operations - -big_map diff - -trace - - location: 14 (remaining gas: 1039988.260 units remaining) - [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039988.120 units remaining) - [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039987.980 units remaining) - [ (Pair (Pair (Pair 1 2) 3) 4) - 5 ] - - location: 17 (remaining gas: 1039987.840 units remaining) - [ (Pair (Pair 1 2) 3) - 4 - 5 ] - - location: 18 (remaining gas: 1039987.700 units remaining) - [ (Pair 1 2) - 3 - 4 - 5 ] - - location: 19 (remaining gas: 1039987.560 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 20 (remaining gas: 1039987.384 units remaining) - [ 5 ] - - location: 22 (remaining gas: 1039987.244 units remaining) - [ {} - 5 ] - - location: 24 (remaining gas: 1039987.104 units remaining) - [ (Pair {} 5) ] - - location: -1 (remaining gas: 1039987.034 units remaining) - [ (Pair {} 5) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out deleted file mode 100644 index 62de7147bf23..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1].out +++ /dev/null @@ -1,59 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dugn.tz-0-(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 14 (remaining gas: 1039985.260 units remaining) - [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] - - location: 15 (remaining gas: 1039985.120 units remaining) - [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) @parameter ] - - location: 16 (remaining gas: 1039984.980 units remaining) - [ (Pair (Pair (Pair 1 2) 3) 4) - 5 ] - - location: 17 (remaining gas: 1039984.840 units remaining) - [ (Pair (Pair 1 2) 3) - 4 - 5 ] - - location: 18 (remaining gas: 1039984.700 units remaining) - [ (Pair 1 2) - 3 - 4 - 5 ] - - location: 19 (remaining gas: 1039984.560 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 20 (remaining gas: 1039984.384 units remaining) - [ 2 - 3 - 4 - 5 - 1 ] - - location: 22 (remaining gas: 1039984.244 units remaining) - [ 3 - 4 - 5 - 1 ] - - location: 23 (remaining gas: 1039984.104 units remaining) - [ 4 - 5 - 1 ] - - location: 24 (remaining gas: 1039983.964 units remaining) - [ 5 - 1 ] - - location: 25 (remaining gas: 1039983.824 units remaining) - [ 1 ] - - location: 26 (remaining gas: 1039983.684 units remaining) - [ {} - 1 ] - - location: 28 (remaining gas: 1039983.544 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039983.474 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out deleted file mode 100644 index c88b23d04725..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,285 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[dup-n.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039948.940 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039948.800 units remaining) - [ ] - - location: 8 (remaining gas: 1039948.660 units remaining) - [ 5 ] - - location: 11 (remaining gas: 1039948.520 units remaining) - [ 4 - 5 ] - - location: 14 (remaining gas: 1039948.380 units remaining) - [ 3 - 4 - 5 ] - - location: 17 (remaining gas: 1039948.240 units remaining) - [ 2 - 3 - 4 - 5 ] - - location: 20 (remaining gas: 1039948.100 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 23 (remaining gas: 1039947.979 units remaining) - [ 1 - 1 - 2 - 3 - 4 - 5 ] - - location: 25 (remaining gas: 1039947.839 units remaining) - [ 1 - 1 - 1 - 2 - 3 - 4 - 5 ] - - location: 30 (remaining gas: 1039947.509 units remaining) - [ 0 - 1 - 2 - 3 - 4 - 5 ] - - location: 31 (remaining gas: 1039947.369 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039947.299 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 33 (remaining gas: 1039947.109 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039947.039 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 38 (remaining gas: 1039946.917 units remaining) - [ 2 - 1 - 2 - 3 - 4 - 5 ] - - location: 40 (remaining gas: 1039946.777 units remaining) - [ 2 - 2 - 1 - 2 - 3 - 4 - 5 ] - - location: 45 (remaining gas: 1039946.447 units remaining) - [ 0 - 1 - 2 - 3 - 4 - 5 ] - - location: 46 (remaining gas: 1039946.307 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039946.237 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 48 (remaining gas: 1039946.047 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039945.977 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 53 (remaining gas: 1039945.854 units remaining) - [ 3 - 1 - 2 - 3 - 4 - 5 ] - - location: 55 (remaining gas: 1039945.714 units remaining) - [ 3 - 3 - 1 - 2 - 3 - 4 - 5 ] - - location: 60 (remaining gas: 1039945.384 units remaining) - [ 0 - 1 - 2 - 3 - 4 - 5 ] - - location: 61 (remaining gas: 1039945.244 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039945.174 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 63 (remaining gas: 1039944.984 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039944.914 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 68 (remaining gas: 1039944.789 units remaining) - [ 4 - 1 - 2 - 3 - 4 - 5 ] - - location: 70 (remaining gas: 1039944.649 units remaining) - [ 4 - 4 - 1 - 2 - 3 - 4 - 5 ] - - location: 75 (remaining gas: 1039944.319 units remaining) - [ 0 - 1 - 2 - 3 - 4 - 5 ] - - location: 76 (remaining gas: 1039944.179 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039944.109 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 78 (remaining gas: 1039943.919 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039943.849 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 83 (remaining gas: 1039943.723 units remaining) - [ 5 - 1 - 2 - 3 - 4 - 5 ] - - location: 85 (remaining gas: 1039943.583 units remaining) - [ 5 - 5 - 1 - 2 - 3 - 4 - 5 ] - - location: 90 (remaining gas: 1039943.253 units remaining) - [ 0 - 1 - 2 - 3 - 4 - 5 ] - - location: 91 (remaining gas: 1039943.113 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039943.043 units remaining) - [ True - 1 - 2 - 3 - 4 - 5 ] - - location: 93 (remaining gas: 1039942.853 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: -1 (remaining gas: 1039942.783 units remaining) - [ 1 - 2 - 3 - 4 - 5 ] - - location: 98 (remaining gas: 1039942.603 units remaining) - [ ] - - location: 100 (remaining gas: 1039942.463 units remaining) - [ Unit ] - - location: 101 (remaining gas: 1039942.323 units remaining) - [ {} - Unit ] - - location: 103 (remaining gas: 1039942.183 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039942.113 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out deleted file mode 100644 index ea9dd31fe7d6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (S.ecc0e72cbb.out +++ /dev/null @@ -1,137 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair -8 2)-(Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0)))] - -storage - (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) -emitted operations - -big_map diff - -trace - - location: 24 (remaining gas: 1039966.445 units remaining) - [ (Pair (Pair -8 2) None None None None) ] - - location: 25 (remaining gas: 1039966.305 units remaining) - [ (Pair -8 2) @parameter ] - - location: 26 (remaining gas: 1039966.165 units remaining) - [ (Pair -8 2) @parameter - (Pair -8 2) @parameter ] - - location: 27 (remaining gas: 1039966.025 units remaining) - [ -8 - 2 - (Pair -8 2) @parameter ] - - location: 28 (remaining gas: 1039965.885 units remaining) - [ 8 - 2 - (Pair -8 2) @parameter ] - - location: 31 (remaining gas: 1039965.585 units remaining) - [ 2 - (Pair -8 2) @parameter ] - - location: 30 (remaining gas: 1039965.515 units remaining) - [ 2 - (Pair -8 2) @parameter ] - - location: 29 (remaining gas: 1039965.515 units remaining) - [ 8 - 2 - (Pair -8 2) @parameter ] - - location: 32 (remaining gas: 1039965.155 units remaining) - [ (Some (Pair 4 0)) - (Pair -8 2) @parameter ] - - location: 33 (remaining gas: 1039965.025 units remaining) - [ (Pair -8 2) @parameter - (Some (Pair 4 0)) ] - - location: 34 (remaining gas: 1039964.885 units remaining) - [ (Pair -8 2) @parameter - (Pair -8 2) @parameter - (Some (Pair 4 0)) ] - - location: 35 (remaining gas: 1039964.745 units remaining) - [ -8 - 2 - (Pair -8 2) @parameter - (Some (Pair 4 0)) ] - - location: 36 (remaining gas: 1039964.605 units remaining) - [ 8 - 2 - (Pair -8 2) @parameter - (Some (Pair 4 0)) ] - - location: 37 (remaining gas: 1039964.245 units remaining) - [ (Some (Pair 4 0)) - (Pair -8 2) @parameter - (Some (Pair 4 0)) ] - - location: 38 (remaining gas: 1039964.115 units remaining) - [ (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 39 (remaining gas: 1039963.975 units remaining) - [ (Pair -8 2) @parameter - (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 40 (remaining gas: 1039963.835 units remaining) - [ -8 - 2 - (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 43 (remaining gas: 1039963.535 units remaining) - [ 2 - (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 42 (remaining gas: 1039963.465 units remaining) - [ 2 - (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 41 (remaining gas: 1039963.465 units remaining) - [ -8 - 2 - (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 44 (remaining gas: 1039963.105 units remaining) - [ (Some (Pair -4 0)) - (Pair -8 2) @parameter - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 45 (remaining gas: 1039962.975 units remaining) - [ (Pair -8 2) @parameter - (Some (Pair -4 0)) - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 46 (remaining gas: 1039962.835 units remaining) - [ -8 - 2 - (Some (Pair -4 0)) - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 47 (remaining gas: 1039962.475 units remaining) - [ (Some (Pair -4 0)) - (Some (Pair -4 0)) - (Some (Pair 4 0)) - (Some (Pair 4 0)) ] - - location: 52 (remaining gas: 1039962.107 units remaining) - [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 51 (remaining gas: 1039962.037 units remaining) - [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 49 (remaining gas: 1039962.037 units remaining) - [ (Some (Pair -4 0)) - (Some (Pair -4 0)) - (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 55 (remaining gas: 1039961.737 units remaining) - [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 54 (remaining gas: 1039961.667 units remaining) - [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 53 (remaining gas: 1039961.667 units remaining) - [ (Some (Pair -4 0)) - (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 56 (remaining gas: 1039961.527 units remaining) - [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: -1 (remaining gas: 1039961.457 units remaining) - [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 57 (remaining gas: 1039961.317 units remaining) - [ {} - (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: 59 (remaining gas: 1039961.177 units remaining) - [ (Pair {} (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] - - location: -1 (remaining gas: 1039961.107 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_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out deleted file mode 100644 index d0061dfaaf64..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (.3caea50555.out +++ /dev/null @@ -1,137 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 -3)-(Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1)))] - -storage - (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) -emitted operations - -big_map diff - -trace - - location: 24 (remaining gas: 1039966.445 units remaining) - [ (Pair (Pair 10 -3) None None None None) ] - - location: 25 (remaining gas: 1039966.305 units remaining) - [ (Pair 10 -3) @parameter ] - - location: 26 (remaining gas: 1039966.165 units remaining) - [ (Pair 10 -3) @parameter - (Pair 10 -3) @parameter ] - - location: 27 (remaining gas: 1039966.025 units remaining) - [ 10 - -3 - (Pair 10 -3) @parameter ] - - location: 28 (remaining gas: 1039965.885 units remaining) - [ 10 - -3 - (Pair 10 -3) @parameter ] - - location: 31 (remaining gas: 1039965.585 units remaining) - [ 3 - (Pair 10 -3) @parameter ] - - location: 30 (remaining gas: 1039965.515 units remaining) - [ 3 - (Pair 10 -3) @parameter ] - - location: 29 (remaining gas: 1039965.515 units remaining) - [ 10 - 3 - (Pair 10 -3) @parameter ] - - location: 32 (remaining gas: 1039965.155 units remaining) - [ (Some (Pair 3 1)) - (Pair 10 -3) @parameter ] - - location: 33 (remaining gas: 1039965.025 units remaining) - [ (Pair 10 -3) @parameter - (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039964.885 units remaining) - [ (Pair 10 -3) @parameter - (Pair 10 -3) @parameter - (Some (Pair 3 1)) ] - - location: 35 (remaining gas: 1039964.745 units remaining) - [ 10 - -3 - (Pair 10 -3) @parameter - (Some (Pair 3 1)) ] - - location: 36 (remaining gas: 1039964.605 units remaining) - [ 10 - -3 - (Pair 10 -3) @parameter - (Some (Pair 3 1)) ] - - location: 37 (remaining gas: 1039964.245 units remaining) - [ (Some (Pair -3 1)) - (Pair 10 -3) @parameter - (Some (Pair 3 1)) ] - - location: 38 (remaining gas: 1039964.115 units remaining) - [ (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 39 (remaining gas: 1039963.975 units remaining) - [ (Pair 10 -3) @parameter - (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 40 (remaining gas: 1039963.835 units remaining) - [ 10 - -3 - (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 43 (remaining gas: 1039963.535 units remaining) - [ 3 - (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 42 (remaining gas: 1039963.465 units remaining) - [ 3 - (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 41 (remaining gas: 1039963.465 units remaining) - [ 10 - 3 - (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 44 (remaining gas: 1039963.105 units remaining) - [ (Some (Pair 3 1)) - (Pair 10 -3) @parameter - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 45 (remaining gas: 1039962.975 units remaining) - [ (Pair 10 -3) @parameter - (Some (Pair 3 1)) - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 46 (remaining gas: 1039962.835 units remaining) - [ 10 - -3 - (Some (Pair 3 1)) - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 47 (remaining gas: 1039962.475 units remaining) - [ (Some (Pair -3 1)) - (Some (Pair 3 1)) - (Some (Pair -3 1)) - (Some (Pair 3 1)) ] - - location: 52 (remaining gas: 1039962.107 units remaining) - [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 51 (remaining gas: 1039962.037 units remaining) - [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 49 (remaining gas: 1039962.037 units remaining) - [ (Some (Pair -3 1)) - (Some (Pair 3 1)) - (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 55 (remaining gas: 1039961.737 units remaining) - [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 54 (remaining gas: 1039961.667 units remaining) - [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 53 (remaining gas: 1039961.667 units remaining) - [ (Some (Pair -3 1)) - (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 56 (remaining gas: 1039961.527 units remaining) - [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039961.457 units remaining) - [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 57 (remaining gas: 1039961.317 units remaining) - [ {} - (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: 59 (remaining gas: 1039961.177 units remaining) - [ (Pair {} (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039961.107 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_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out deleted file mode 100644 index 637ba3bee1cf..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair No.f9448c04fb.out +++ /dev/null @@ -1,137 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv.tz-(Pair None None None None)-(Pair 10 0)-(Pair None None None None)] - -storage - (Pair None None None None) -emitted operations - -big_map diff - -trace - - location: 24 (remaining gas: 1039966.445 units remaining) - [ (Pair (Pair 10 0) None None None None) ] - - location: 25 (remaining gas: 1039966.305 units remaining) - [ (Pair 10 0) @parameter ] - - location: 26 (remaining gas: 1039966.165 units remaining) - [ (Pair 10 0) @parameter - (Pair 10 0) @parameter ] - - location: 27 (remaining gas: 1039966.025 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter ] - - location: 28 (remaining gas: 1039965.885 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter ] - - location: 31 (remaining gas: 1039965.585 units remaining) - [ 0 - (Pair 10 0) @parameter ] - - location: 30 (remaining gas: 1039965.515 units remaining) - [ 0 - (Pair 10 0) @parameter ] - - location: 29 (remaining gas: 1039965.515 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter ] - - location: 32 (remaining gas: 1039965.155 units remaining) - [ None - (Pair 10 0) @parameter ] - - location: 33 (remaining gas: 1039965.025 units remaining) - [ (Pair 10 0) @parameter - None ] - - location: 34 (remaining gas: 1039964.885 units remaining) - [ (Pair 10 0) @parameter - (Pair 10 0) @parameter - None ] - - location: 35 (remaining gas: 1039964.745 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter - None ] - - location: 36 (remaining gas: 1039964.605 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter - None ] - - location: 37 (remaining gas: 1039964.245 units remaining) - [ None - (Pair 10 0) @parameter - None ] - - location: 38 (remaining gas: 1039964.115 units remaining) - [ (Pair 10 0) @parameter - None - None ] - - location: 39 (remaining gas: 1039963.975 units remaining) - [ (Pair 10 0) @parameter - (Pair 10 0) @parameter - None - None ] - - location: 40 (remaining gas: 1039963.835 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter - None - None ] - - location: 43 (remaining gas: 1039963.535 units remaining) - [ 0 - (Pair 10 0) @parameter - None - None ] - - location: 42 (remaining gas: 1039963.465 units remaining) - [ 0 - (Pair 10 0) @parameter - None - None ] - - location: 41 (remaining gas: 1039963.465 units remaining) - [ 10 - 0 - (Pair 10 0) @parameter - None - None ] - - location: 44 (remaining gas: 1039963.105 units remaining) - [ None - (Pair 10 0) @parameter - None - None ] - - location: 45 (remaining gas: 1039962.975 units remaining) - [ (Pair 10 0) @parameter - None - None - None ] - - location: 46 (remaining gas: 1039962.835 units remaining) - [ 10 - 0 - None - None - None ] - - location: 47 (remaining gas: 1039962.475 units remaining) - [ None - None - None - None ] - - location: 52 (remaining gas: 1039962.107 units remaining) - [ (Pair None None) ] - - location: 51 (remaining gas: 1039962.037 units remaining) - [ (Pair None None) ] - - location: 49 (remaining gas: 1039962.037 units remaining) - [ None - None - (Pair None None) ] - - location: 55 (remaining gas: 1039961.737 units remaining) - [ (Pair None None None) ] - - location: 54 (remaining gas: 1039961.667 units remaining) - [ (Pair None None None) ] - - location: 53 (remaining gas: 1039961.667 units remaining) - [ None - (Pair None None None) ] - - location: 56 (remaining gas: 1039961.527 units remaining) - [ (Pair None None None None) ] - - location: -1 (remaining gas: 1039961.457 units remaining) - [ (Pair None None None None) ] - - location: 57 (remaining gas: 1039961.317 units remaining) - [ {} - (Pair None None None None) ] - - location: 59 (remaining gas: 1039961.177 units remaining) - [ (Pair {} None None None None) ] - - location: -1 (remaining gas: 1039961.107 units remaining) - [ (Pair {} None None None None) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out deleted file mode 100644 index ed56963777b5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)].out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 0))-(Left None)] - -storage - (Left None) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 10 (Left 0)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 10 (Left 0)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 10 - (Left 0) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Left 0) - 10 ] - - location: 24 (remaining gas: 1039981.480 units remaining) - [ 10 - 0 ] - - location: 25 (remaining gas: 1039981.220 units remaining) - [ None ] - - location: 26 (remaining gas: 1039981.080 units remaining) - [ (Left None) ] - - location: -1 (remaining gas: 1039981.010 units remaining) - [ (Left None) ] - - location: 39 (remaining gas: 1039980.870 units remaining) - [ {} - (Left None) ] - - location: 41 (remaining gas: 1039980.730 units remaining) - [ (Pair {} (Left None)) ] - - location: -1 (remaining gas: 1039980.660 units remaining) - [ (Pair {} (Left None)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out deleted file mode 100644 index 3d189cfe1a86..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (So.f782cc1dec.out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 10))-(Left (Some (Pair 1 0)))] - -storage - (Left (Some (Pair 1 0))) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 10 (Left 10)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 10 (Left 10)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 10 - (Left 10) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Left 10) - 10 ] - - location: 24 (remaining gas: 1039981.480 units remaining) - [ 10 - 10 ] - - location: 25 (remaining gas: 1039981.220 units remaining) - [ (Some (Pair 1 0)) ] - - location: 26 (remaining gas: 1039981.080 units remaining) - [ (Left (Some (Pair 1 0))) ] - - location: -1 (remaining gas: 1039981.010 units remaining) - [ (Left (Some (Pair 1 0))) ] - - location: 39 (remaining gas: 1039980.870 units remaining) - [ {} - (Left (Some (Pair 1 0))) ] - - location: 41 (remaining gas: 1039980.730 units remaining) - [ (Pair {} (Left (Some (Pair 1 0)))) ] - - location: -1 (remaining gas: 1039980.660 units remaining) - [ (Pair {} (Left (Some (Pair 1 0)))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out deleted file mode 100644 index 045fbac0eaff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Som.016b4db96c.out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Left 3))-(Left (Some (Pair 3 1)))] - -storage - (Left (Some (Pair 3 1))) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 10 (Left 3)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 10 (Left 3)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 10 - (Left 3) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Left 3) - 10 ] - - location: 24 (remaining gas: 1039981.480 units remaining) - [ 10 - 3 ] - - location: 25 (remaining gas: 1039981.220 units remaining) - [ (Some (Pair 3 1)) ] - - location: 26 (remaining gas: 1039981.080 units remaining) - [ (Left (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039981.010 units remaining) - [ (Left (Some (Pair 3 1))) ] - - location: 39 (remaining gas: 1039980.870 units remaining) - [ {} - (Left (Some (Pair 3 1))) ] - - location: 41 (remaining gas: 1039980.730 units remaining) - [ (Pair {} (Left (Some (Pair 3 1)))) ] - - location: -1 (remaining gas: 1039980.660 units remaining) - [ (Pair {} (Left (Some (Pair 3 1)))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out deleted file mode 100644 index e1e7b422ca81..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)].out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 0))-(Right None)] - -storage - (Right None) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 10 (Right 0)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 10 (Right 0)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 10 - (Right 0) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Right 0) - 10 ] - - location: 32 (remaining gas: 1039981.480 units remaining) - [ 10 - 0 ] - - location: 33 (remaining gas: 1039981.120 units remaining) - [ None ] - - location: 34 (remaining gas: 1039980.980 units remaining) - [ (Right None) ] - - location: -1 (remaining gas: 1039980.910 units remaining) - [ (Right None) ] - - location: 39 (remaining gas: 1039980.770 units remaining) - [ {} - (Right None) ] - - location: 41 (remaining gas: 1039980.630 units remaining) - [ (Pair {} (Right None)) ] - - location: -1 (remaining gas: 1039980.560 units remaining) - [ (Pair {} (Right None)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out deleted file mode 100644 index bac850cb7749..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (.e705a30e07.out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 10))-(Right (Some (Pair 1 0)))] - -storage - (Right (Some (Pair 1 0))) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 10 (Right 10)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 10 (Right 10)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 10 - (Right 10) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Right 10) - 10 ] - - location: 32 (remaining gas: 1039981.480 units remaining) - [ 10 - 10 ] - - location: 33 (remaining gas: 1039981.120 units remaining) - [ (Some (Pair 1 0)) ] - - location: 34 (remaining gas: 1039980.980 units remaining) - [ (Right (Some (Pair 1 0))) ] - - location: -1 (remaining gas: 1039980.910 units remaining) - [ (Right (Some (Pair 1 0))) ] - - location: 39 (remaining gas: 1039980.770 units remaining) - [ {} - (Right (Some (Pair 1 0))) ] - - location: 41 (remaining gas: 1039980.630 units remaining) - [ (Pair {} (Right (Some (Pair 1 0)))) ] - - location: -1 (remaining gas: 1039980.560 units remaining) - [ (Pair {} (Right (Some (Pair 1 0)))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out deleted file mode 100644 index 12f3f7b2a0b0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (S.44485eda6a.out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 10 (Right 3))-(Right (Some (Pair 3 1)))] - -storage - (Right (Some (Pair 3 1))) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 10 (Right 3)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 10 (Right 3)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 10 - (Right 3) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Right 3) - 10 ] - - location: 32 (remaining gas: 1039981.480 units remaining) - [ 10 - 3 ] - - location: 33 (remaining gas: 1039981.120 units remaining) - [ (Some (Pair 3 1)) ] - - location: 34 (remaining gas: 1039980.980 units remaining) - [ (Right (Some (Pair 3 1))) ] - - location: -1 (remaining gas: 1039980.910 units remaining) - [ (Right (Some (Pair 3 1))) ] - - location: 39 (remaining gas: 1039980.770 units remaining) - [ {} - (Right (Some (Pair 3 1))) ] - - location: 41 (remaining gas: 1039980.630 units remaining) - [ (Pair {} (Right (Some (Pair 3 1)))) ] - - location: -1 (remaining gas: 1039980.560 units remaining) - [ (Pair {} (Right (Some (Pair 3 1)))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out deleted file mode 100644 index a817658c5d6a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (S.8ab987af15.out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ediv_mutez.tz-(Left None)-(Pair 5 (Right 10))-(Right (Some (Pair 0 5)))] - -storage - (Right (Some (Pair 0 5))) -emitted operations - -big_map diff - -trace - - location: 18 (remaining gas: 1039982.170 units remaining) - [ (Pair (Pair 5 (Right 10)) (Left None)) ] - - location: 19 (remaining gas: 1039982.030 units remaining) - [ (Pair 5 (Right 10)) @parameter ] - - location: 20 (remaining gas: 1039981.890 units remaining) - [ 5 - (Right 10) ] - - location: 21 (remaining gas: 1039981.760 units remaining) - [ (Right 10) - 5 ] - - location: 32 (remaining gas: 1039981.480 units remaining) - [ 5 - 10 ] - - location: 33 (remaining gas: 1039981.120 units remaining) - [ (Some (Pair 0 5)) ] - - location: 34 (remaining gas: 1039980.980 units remaining) - [ (Right (Some (Pair 0 5))) ] - - location: -1 (remaining gas: 1039980.910 units remaining) - [ (Right (Some (Pair 0 5))) ] - - location: 39 (remaining gas: 1039980.770 units remaining) - [ {} - (Right (Some (Pair 0 5))) ] - - location: 41 (remaining gas: 1039980.630 units remaining) - [ (Pair {} (Right (Some (Pair 0 5)))) ] - - location: -1 (remaining gas: 1039980.560 units remaining) - [ (Pair {} (Right (Some (Pair 0 5)))) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" deleted file mode 100644 index 34ef13509c19..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt \"hello\" \"world\" }].out" +++ /dev/null @@ -1,35 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[empty_map.tz-{}-Unit-{ Elt "hello" "world" }] - -storage - { Elt "hello" "world" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039989.592 units remaining) - [ (Pair Unit {}) ] - - location: 9 (remaining gas: 1039989.452 units remaining) - [ ] - - location: 10 (remaining gas: 1039989.152 units remaining) - [ {} ] - - location: 13 (remaining gas: 1039989.012 units remaining) - [ "world" - {} ] - - location: 16 (remaining gas: 1039988.872 units remaining) - [ (Some "world") - {} ] - - location: 17 (remaining gas: 1039988.732 units remaining) - [ "hello" - (Some "world") - {} ] - - location: 20 (remaining gas: 1039988.592 units remaining) - [ { Elt "hello" "world" } ] - - location: 21 (remaining gas: 1039988.452 units remaining) - [ {} - { Elt "hello" "world" } ] - - location: 23 (remaining gas: 1039988.312 units remaining) - [ (Pair {} { Elt "hello" "world" }) ] - - location: -1 (remaining gas: 1039988.242 units remaining) - [ (Pair {} { Elt "hello" "world" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" deleted file mode 100644 index 8a9d2a991c5a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"\"-\"_abc\"].out" +++ /dev/null @@ -1,54 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[exec_concat.tz-"?"-""-"_abc"] - -storage - "_abc" -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039986.458 units remaining) - [ (Pair "" "?") ] - - location: 7 (remaining gas: 1039986.318 units remaining) - [ "" @parameter ] - - location: 8 (remaining gas: 1039986.178 units remaining) - [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } - "" @parameter ] - - location: 22 (remaining gas: 1039986.048 units remaining) - [ "" @parameter - { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 11 (remaining gas: 1039985.888 units remaining) - [ "" @arg ] - - location: 12 (remaining gas: 1039985.748 units remaining) - [ "_abc" - "" @arg ] - - location: 15 (remaining gas: 1039985.608 units remaining) - [ {} - "_abc" - "" @arg ] - - location: 17 (remaining gas: 1039985.478 units remaining) - [ "_abc" - {} - "" @arg ] - - location: 18 (remaining gas: 1039985.338 units remaining) - [ { "_abc" } - "" @arg ] - - location: 19 (remaining gas: 1039985.208 units remaining) - [ "" @arg - { "_abc" } ] - - location: 20 (remaining gas: 1039985.068 units remaining) - [ { "" ; "_abc" } ] - - location: 21 (remaining gas: 1039984.888 units remaining) - [ "_abc" ] - - location: -1 (remaining gas: 1039984.818 units remaining) - [ "_abc" ] - - location: 23 (remaining gas: 1039984.818 units remaining) - [ "_abc" ] - - location: 24 (remaining gas: 1039984.678 units remaining) - [ {} - "_abc" ] - - location: 26 (remaining gas: 1039984.538 units remaining) - [ (Pair {} "_abc") ] - - location: -1 (remaining gas: 1039984.468 units remaining) - [ (Pair {} "_abc") ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" deleted file mode 100644 index 5047091ac015..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[exec_concat.tz-\"?\"-\"test\"-\"test_abc\"].out" +++ /dev/null @@ -1,54 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[exec_concat.tz-"?"-"test"-"test_abc"] - -storage - "test_abc" -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039986.418 units remaining) - [ (Pair "test" "?") ] - - location: 7 (remaining gas: 1039986.278 units remaining) - [ "test" @parameter ] - - location: 8 (remaining gas: 1039986.138 units remaining) - [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } - "test" @parameter ] - - location: 22 (remaining gas: 1039986.008 units remaining) - [ "test" @parameter - { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] - - location: 11 (remaining gas: 1039985.848 units remaining) - [ "test" @arg ] - - location: 12 (remaining gas: 1039985.708 units remaining) - [ "_abc" - "test" @arg ] - - location: 15 (remaining gas: 1039985.568 units remaining) - [ {} - "_abc" - "test" @arg ] - - location: 17 (remaining gas: 1039985.438 units remaining) - [ "_abc" - {} - "test" @arg ] - - location: 18 (remaining gas: 1039985.298 units remaining) - [ { "_abc" } - "test" @arg ] - - location: 19 (remaining gas: 1039985.168 units remaining) - [ "test" @arg - { "_abc" } ] - - location: 20 (remaining gas: 1039985.028 units remaining) - [ { "test" ; "_abc" } ] - - location: 21 (remaining gas: 1039984.848 units remaining) - [ "test_abc" ] - - location: -1 (remaining gas: 1039984.778 units remaining) - [ "test_abc" ] - - location: 23 (remaining gas: 1039984.778 units remaining) - [ "test_abc" ] - - location: 24 (remaining gas: 1039984.638 units remaining) - [ {} - "test_abc" ] - - location: 26 (remaining gas: 1039984.498 units remaining) - [ (Pair {} "test_abc") ] - - location: -1 (remaining gas: 1039984.428 units remaining) - [ (Pair {} "test_abc") ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out deleted file mode 100644 index c50a5a51e4f0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[first.tz-111-{ 1 ; 2 ; 3 ; 4 }-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039990.235 units remaining) - [ (Pair { 1 ; 2 ; 3 ; 4 } 111) ] - - location: 8 (remaining gas: 1039990.095 units remaining) - [ { 1 ; 2 ; 3 ; 4 } @parameter ] - - location: 13 (remaining gas: 1039989.625 units remaining) - [ ] - - location: 12 (remaining gas: 1039989.555 units remaining) - [ ] - - location: 11 (remaining gas: 1039989.555 units remaining) - [ 1 @parameter.hd ] - - location: 10 (remaining gas: 1039989.485 units remaining) - [ 1 @parameter.hd ] - - location: 18 (remaining gas: 1039989.345 units remaining) - [ {} - 1 @parameter.hd ] - - location: 20 (remaining gas: 1039989.205 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039989.135 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out deleted file mode 100644 index 3c390510750b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[first.tz-111-{ 4 }-4] - -storage - 4 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039990.955 units remaining) - [ (Pair { 4 } 111) ] - - location: 8 (remaining gas: 1039990.815 units remaining) - [ { 4 } @parameter ] - - location: 13 (remaining gas: 1039990.345 units remaining) - [ ] - - location: 12 (remaining gas: 1039990.275 units remaining) - [ ] - - location: 11 (remaining gas: 1039990.275 units remaining) - [ 4 @parameter.hd ] - - location: 10 (remaining gas: 1039990.205 units remaining) - [ 4 @parameter.hd ] - - location: 18 (remaining gas: 1039990.065 units remaining) - [ {} - 4 @parameter.hd ] - - location: 20 (remaining gas: 1039989.925 units remaining) - [ (Pair {} 4) ] - - location: -1 (remaining gas: 1039989.855 units remaining) - [ (Pair {} 4) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" deleted file mode 100644 index 3deb7007a1f4..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-\"hello\"-(Pair .161d86cef6.out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 4) {})-"hello"-(Pair None { Elt "hello" 4 })] - -storage - (Pair None { Elt "hello" 4 }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039989.571 units remaining) - [ (Pair "hello" (Some 4) {}) ] - - location: 13 (remaining gas: 1039989.371 units remaining) - [ "hello" @parameter - (Pair (Some 4) {}) @storage ] - - location: 16 (remaining gas: 1039989.071 units remaining) - [ (Some 4) - {} ] - - location: 15 (remaining gas: 1039989.001 units remaining) - [ (Some 4) - {} ] - - location: 14 (remaining gas: 1039989.001 units remaining) - [ "hello" @parameter - (Some 4) - {} ] - - location: -1 (remaining gas: 1039988.931 units remaining) - [ "hello" @parameter - (Some 4) - {} ] - - location: 17 (remaining gas: 1039988.711 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 18 (remaining gas: 1039988.571 units remaining) - [ (Pair None { Elt "hello" 4 }) ] - - location: 19 (remaining gas: 1039988.431 units remaining) - [ {} - (Pair None { Elt "hello" 4 }) ] - - location: 21 (remaining gas: 1039988.291 units remaining) - [ (Pair {} None { Elt "hello" 4 }) ] - - location: -1 (remaining gas: 1039988.221 units remaining) - [ (Pair {} None { Elt "hello" 4 }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" deleted file mode 100644 index af4f994c5f42..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).684ab7e326.out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt "hello" 4 })-"hi"-(Pair None { Elt "hello" 4 ; Elt "hi" 5 })] - -storage - (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039988.977 units remaining) - [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039988.777 units remaining) - [ "hi" @parameter - (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039988.477 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039988.407 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.407 units remaining) - [ "hi" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039988.337 units remaining) - [ "hi" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.117 units remaining) - [ None - { Elt "hello" 4 ; Elt "hi" 5 } ] - - location: 18 (remaining gas: 1039987.977 units remaining) - [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 19 (remaining gas: 1039987.837 units remaining) - [ {} - (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: 21 (remaining gas: 1039987.697 units remaining) - [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] - - location: -1 (remaining gas: 1039987.627 units remaining) - [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" deleted file mode 100644 index 1d6adf4acb08..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt \"hello\" 4 }).d49817fb83.out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair (Some 5) { Elt "hello" 4 })-"hello"-(Pair (Some 4) { Elt "hello" 5 })] - -storage - (Pair (Some 4) { Elt "hello" 5 }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039988.947 units remaining) - [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039988.747 units remaining) - [ "hello" @parameter - (Pair (Some 5) { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039988.447 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039988.377 units remaining) - [ (Some 5) - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.377 units remaining) - [ "hello" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039988.307 units remaining) - [ "hello" @parameter - (Some 5) - { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.087 units remaining) - [ (Some 4) - { Elt "hello" 5 } ] - - location: 18 (remaining gas: 1039987.947 units remaining) - [ (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 19 (remaining gas: 1039987.807 units remaining) - [ {} - (Pair (Some 4) { Elt "hello" 5 }) ] - - location: 21 (remaining gas: 1039987.667 units remaining) - [ (Pair {} (Some 4) { Elt "hello" 5 }) ] - - location: -1 (remaining gas: 1039987.597 units remaining) - [ (Pair {} (Some 4) { Elt "hello" 5 }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" deleted file mode 100644 index 21327ccf8d25..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .6900b1da14.out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt "1" 1 ; Elt "2" 2 })-"1"-(Pair (Some 1) { Elt "2" 2 })1] - -storage - (Pair (Some 1) { Elt "2" 2 }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039988.563 units remaining) - [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039988.363 units remaining) - [ "1" @parameter - (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039988.063 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039987.993 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039987.993 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039987.923 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039987.703 units remaining) - [ (Some 1) - { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039987.563 units remaining) - [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039987.423 units remaining) - [ {} - (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039987.283 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039987.213 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" deleted file mode 100644 index b0331ff40682..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"1\" 1 ; .bca0ede8be.out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt "1" 1 ; Elt "2" 2 })-"1"-(Pair (Some 1) { Elt "2" 2 })0] - -storage - (Pair (Some 1) { Elt "2" 2 }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039988.563 units remaining) - [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] - - location: 13 (remaining gas: 1039988.363 units remaining) - [ "1" @parameter - (Pair None { Elt "1" 1 ; Elt "2" 2 }) @storage ] - - location: 16 (remaining gas: 1039988.063 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 15 (remaining gas: 1039987.993 units remaining) - [ None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 14 (remaining gas: 1039987.993 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: -1 (remaining gas: 1039987.923 units remaining) - [ "1" @parameter - None - { Elt "1" 1 ; Elt "2" 2 } ] - - location: 17 (remaining gas: 1039987.703 units remaining) - [ (Some 1) - { Elt "2" 2 } ] - - location: 18 (remaining gas: 1039987.563 units remaining) - [ (Pair (Some 1) { Elt "2" 2 }) ] - - location: 19 (remaining gas: 1039987.423 units remaining) - [ {} - (Pair (Some 1) { Elt "2" 2 }) ] - - location: 21 (remaining gas: 1039987.283 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - - location: -1 (remaining gas: 1039987.213 units remaining) - [ (Pair {} (Some 1) { Elt "2" 2 }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" deleted file mode 100644 index 9c146dc9c7c9..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt \"hello\" 4 })-\"he.c1b4e1d6dc.out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None { Elt "hello" 4 })-"hello"-(Pair (Some 4) {})] - -storage - (Pair (Some 4) {}) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039989.187 units remaining) - [ (Pair "hello" None { Elt "hello" 4 }) ] - - location: 13 (remaining gas: 1039988.987 units remaining) - [ "hello" @parameter - (Pair None { Elt "hello" 4 }) @storage ] - - location: 16 (remaining gas: 1039988.687 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 15 (remaining gas: 1039988.617 units remaining) - [ None - { Elt "hello" 4 } ] - - location: 14 (remaining gas: 1039988.617 units remaining) - [ "hello" @parameter - None - { Elt "hello" 4 } ] - - location: -1 (remaining gas: 1039988.547 units remaining) - [ "hello" @parameter - None - { Elt "hello" 4 } ] - - location: 17 (remaining gas: 1039988.327 units remaining) - [ (Some 4) - {} ] - - location: 18 (remaining gas: 1039988.187 units remaining) - [ (Pair (Some 4) {}) ] - - location: 19 (remaining gas: 1039988.047 units remaining) - [ {} - (Pair (Some 4) {}) ] - - location: 21 (remaining gas: 1039987.907 units remaining) - [ (Pair {} (Some 4) {}) ] - - location: -1 (remaining gas: 1039987.837 units remaining) - [ (Pair {} (Some 4) {}) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" deleted file mode 100644 index c3c479caa1f5..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-\"hello\"-(Pair None {})].out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_and_update_map.tz-(Pair None {})-"hello"-(Pair None {})] - -storage - (Pair None {}) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039989.811 units remaining) - [ (Pair "hello" None {}) ] - - location: 13 (remaining gas: 1039989.611 units remaining) - [ "hello" @parameter - (Pair None {}) @storage ] - - location: 16 (remaining gas: 1039989.311 units remaining) - [ None - {} ] - - location: 15 (remaining gas: 1039989.241 units remaining) - [ None - {} ] - - location: 14 (remaining gas: 1039989.241 units remaining) - [ "hello" @parameter - None - {} ] - - location: -1 (remaining gas: 1039989.171 units remaining) - [ "hello" @parameter - None - {} ] - - location: 17 (remaining gas: 1039988.951 units remaining) - [ None - {} ] - - location: 18 (remaining gas: 1039988.811 units remaining) - [ (Pair None {}) ] - - location: 19 (remaining gas: 1039988.671 units remaining) - [ {} - (Pair None {}) ] - - location: 21 (remaining gas: 1039988.531 units remaining) - [ (Pair {} None {}) ] - - location: -1 (remaining gas: 1039988.461 units remaining) - [ (Pair {} None {}) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" deleted file mode 100644 index c3e9ce524238..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"1\" \"one\" ; .bc4127094e.out" +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt "1" "one" ; Elt "2" "two" })-"1"-(Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" })] - -storage - (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039984.195 units remaining) - [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 12 (remaining gas: 1039984.055 units remaining) - [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) - (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 13 (remaining gas: 1039983.915 units remaining) - [ "1" @parameter - (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 17 (remaining gas: 1039983.555 units remaining) - [ (Pair None { Elt "1" "one" ; Elt "2" "two" }) @storage ] - - location: 18 (remaining gas: 1039983.415 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039983.345 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } ] - - location: 19 (remaining gas: 1039983.205 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: -1 (remaining gas: 1039983.135 units remaining) - [ { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 14 (remaining gas: 1039983.135 units remaining) - [ "1" @parameter - { Elt "1" "one" ; Elt "2" "two" } - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 20 (remaining gas: 1039982.995 units remaining) - [ (Some "one") - { Elt "1" "one" ; Elt "2" "two" } ] - - location: 21 (remaining gas: 1039982.855 units remaining) - [ (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 22 (remaining gas: 1039982.715 units remaining) - [ {} - (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: 24 (remaining gas: 1039982.575 units remaining) - [ (Pair {} (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - - location: -1 (remaining gas: 1039982.505 units remaining) - [ (Pair {} (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" deleted file mode 100644 index 5605c0fe2bb7..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"\"-(P.0c03056487.out" +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt "hello" "hi" })-""-(Pair None { Elt "hello" "hi" })] - -storage - (Pair None { Elt "hello" "hi" }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039984.923 units remaining) - [ (Pair "" None { Elt "hello" "hi" }) ] - - location: 12 (remaining gas: 1039984.783 units remaining) - [ (Pair "" None { Elt "hello" "hi" }) - (Pair "" None { Elt "hello" "hi" }) ] - - location: 13 (remaining gas: 1039984.643 units remaining) - [ "" @parameter - (Pair "" None { Elt "hello" "hi" }) ] - - location: 17 (remaining gas: 1039984.283 units remaining) - [ (Pair None { Elt "hello" "hi" }) @storage ] - - location: 18 (remaining gas: 1039984.143 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039984.073 units remaining) - [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039983.933 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039983.863 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039983.863 units remaining) - [ "" @parameter - { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039983.723 units remaining) - [ None - { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039983.583 units remaining) - [ (Pair None { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039983.443 units remaining) - [ {} - (Pair None { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039983.303 units remaining) - [ (Pair {} None { Elt "hello" "hi" }) ] - - location: -1 (remaining gas: 1039983.233 units remaining) - [ (Pair {} None { Elt "hello" "hi" }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" deleted file mode 100644 index 70f32d51ca05..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt \"hello\" \"hi\" })-\"hell.cc45544c66.out" +++ /dev/null @@ -1,46 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[get_map_value.tz-(Pair None { Elt "hello" "hi" })-"hello"-(Pair (Some "hi") { Elt "hello" "hi" })] - -storage - (Pair (Some "hi") { Elt "hello" "hi" }) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039984.873 units remaining) - [ (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 12 (remaining gas: 1039984.733 units remaining) - [ (Pair "hello" None { Elt "hello" "hi" }) - (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 13 (remaining gas: 1039984.593 units remaining) - [ "hello" @parameter - (Pair "hello" None { Elt "hello" "hi" }) ] - - location: 17 (remaining gas: 1039984.233 units remaining) - [ (Pair None { Elt "hello" "hi" }) @storage ] - - location: 18 (remaining gas: 1039984.093 units remaining) - [ { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039984.023 units remaining) - [ { Elt "hello" "hi" } ] - - location: 19 (remaining gas: 1039983.883 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: -1 (remaining gas: 1039983.813 units remaining) - [ { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 14 (remaining gas: 1039983.813 units remaining) - [ "hello" @parameter - { Elt "hello" "hi" } - { Elt "hello" "hi" } ] - - location: 20 (remaining gas: 1039983.673 units remaining) - [ (Some "hi") - { Elt "hello" "hi" } ] - - location: 21 (remaining gas: 1039983.533 units remaining) - [ (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 22 (remaining gas: 1039983.393 units remaining) - [ {} - (Pair (Some "hi") { Elt "hello" "hi" }) ] - - location: 24 (remaining gas: 1039983.253 units remaining) - [ (Pair {} (Some "hi") { Elt "hello" "hi" }) ] - - location: -1 (remaining gas: 1039983.183 units remaining) - [ (Pair {} (Some "hi") { Elt "hello" "hi" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" deleted file mode 100644 index dc70351b38e2..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAb.613ad6b637.out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[hash_key.tz-None-"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"-(Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")] - -storage - (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039964.690 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" None) ] - - location: 8 (remaining gas: 1039964.550 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter ] - - location: 9 (remaining gas: 1039963.910 units remaining) - [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 10 (remaining gas: 1039963.770 units remaining) - [ (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] - - location: 11 (remaining gas: 1039963.630 units remaining) - [ {} - (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] - - location: 13 (remaining gas: 1039963.490 units remaining) - [ (Pair {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")) ] - - location: -1 (remaining gas: 1039963.420 units remaining) - [ (Pair {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" deleted file mode 100644 index 8eaf28e5b877..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_key.tz-None-\"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTa.da50984e8d.out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[hash_key.tz-None-"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES"-(Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")] - -storage - (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039964.690 units remaining) - [ (Pair "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" None) ] - - location: 8 (remaining gas: 1039964.550 units remaining) - [ "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" @parameter ] - - location: 9 (remaining gas: 1039963.910 units remaining) - [ "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k" ] - - location: 10 (remaining gas: 1039963.770 units remaining) - [ (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] - - location: 11 (remaining gas: 1039963.630 units remaining) - [ {} - (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] - - location: 13 (remaining gas: 1039963.490 units remaining) - [ (Pair {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")) ] - - location: -1 (remaining gas: 1039963.420 units remaining) - [ (Pair {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" deleted file mode 100644 index d48285646541..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"12345\"-0xb4c26c20de52a4eaf0d8a340d.2bba28b0bf.out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-"12345"-0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f] - -storage - 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.926 units remaining) - [ (Pair "12345" 0x00) ] - - location: 7 (remaining gas: 1039993.786 units remaining) - [ "12345" @parameter ] - - location: 8 (remaining gas: 1039981.486 units remaining) - [ 0x0501000000053132333435 @parameter.packed ] - - location: 9 (remaining gas: 1039980.913 units remaining) - [ 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] - - location: 10 (remaining gas: 1039980.773 units remaining) - [ {} - 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] - - location: 12 (remaining gas: 1039980.633 units remaining) - [ (Pair {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f) ] - - location: -1 (remaining gas: 1039980.563 units remaining) - [ (Pair {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" deleted file mode 100644 index 4d839acb5125..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-\"abcdefg\"-0x46fdbcb4ea4eadad5615cda.acc82cd954.out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[hash_string.tz-0x00-"abcdefg"-0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e] - -storage - 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039993.906 units remaining) - [ (Pair "abcdefg" 0x00) ] - - location: 7 (remaining gas: 1039993.766 units remaining) - [ "abcdefg" @parameter ] - - location: 8 (remaining gas: 1039981.466 units remaining) - [ 0x05010000000761626364656667 @parameter.packed ] - - location: 9 (remaining gas: 1039980.890 units remaining) - [ 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] - - location: 10 (remaining gas: 1039980.750 units remaining) - [ {} - 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] - - location: 12 (remaining gas: 1039980.610 units remaining) - [ (Pair {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e) ] - - location: -1 (remaining gas: 1039980.540 units remaining) - [ (Pair {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out deleted file mode 100644 index 3a036fc632bb..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[if.tz-None-False-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.240 units remaining) - [ (Pair False None) ] - - location: 8 (remaining gas: 1039991.100 units remaining) - [ False @parameter ] - - location: 15 (remaining gas: 1039990.840 units remaining) - [ False ] - - location: 14 (remaining gas: 1039990.770 units remaining) - [ False ] - - location: 18 (remaining gas: 1039990.630 units remaining) - [ (Some False) ] - - location: 19 (remaining gas: 1039990.490 units remaining) - [ {} - (Some False) ] - - location: 21 (remaining gas: 1039990.350 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039990.280 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out deleted file mode 100644 index beda914f976d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[if.tz-None-True-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.240 units remaining) - [ (Pair True None) ] - - location: 8 (remaining gas: 1039991.100 units remaining) - [ True @parameter ] - - location: 11 (remaining gas: 1039990.840 units remaining) - [ True ] - - location: 10 (remaining gas: 1039990.770 units remaining) - [ True ] - - location: 18 (remaining gas: 1039990.630 units remaining) - [ (Some True) ] - - location: 19 (remaining gas: 1039990.490 units remaining) - [ {} - (Some True) ] - - location: 21 (remaining gas: 1039990.350 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039990.280 units remaining) - [ (Pair {} (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" deleted file mode 100644 index a66fe16b0851..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-(Some \"hello\")-\"hello\"].out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[if_some.tz-"?"-(Some "hello")-"hello"] - -storage - "hello" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.188 units remaining) - [ (Pair (Some "hello") "?") ] - - location: 8 (remaining gas: 1039992.048 units remaining) - [ (Some "hello") @parameter ] - - location: 15 (remaining gas: 1039991.778 units remaining) - [ "hello" ] - - location: 9 (remaining gas: 1039991.708 units remaining) - [ "hello" ] - - location: 16 (remaining gas: 1039991.568 units remaining) - [ {} - "hello" ] - - location: 18 (remaining gas: 1039991.428 units remaining) - [ (Pair {} "hello") ] - - location: -1 (remaining gas: 1039991.358 units remaining) - [ (Pair {} "hello") ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" deleted file mode 100644 index 6f467991fb60..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[if_some.tz-\"?\"-None-\"\"].out" +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[if_some.tz-"?"-None-""] - -storage - "" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.492 units remaining) - [ (Pair None "?") ] - - location: 8 (remaining gas: 1039992.352 units remaining) - [ None @parameter ] - - location: 12 (remaining gas: 1039992.012 units remaining) - [ "" ] - - location: 11 (remaining gas: 1039991.942 units remaining) - [ "" ] - - location: 9 (remaining gas: 1039991.872 units remaining) - [ "" ] - - location: 16 (remaining gas: 1039991.732 units remaining) - [ {} - "" ] - - location: 18 (remaining gas: 1039991.592 units remaining) - [ (Pair {} "") ] - - location: -1 (remaining gas: 1039991.522 units remaining) - [ (Pair {} "") ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out deleted file mode 100644 index b4b2dadd400f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[int.tz-None-0-(Some 0)] - -storage - (Some 0) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair 0 None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ 0 @parameter ] - - location: 9 (remaining gas: 1039993.410 units remaining) - [ 0 ] - - location: 10 (remaining gas: 1039993.270 units remaining) - [ (Some 0) ] - - location: 11 (remaining gas: 1039993.130 units remaining) - [ {} - (Some 0) ] - - location: 13 (remaining gas: 1039992.990 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039992.920 units remaining) - [ (Pair {} (Some 0)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out deleted file mode 100644 index 5952258c4b6f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[int.tz-None-1-(Some 1)] - -storage - (Some 1) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair 1 None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ 1 @parameter ] - - location: 9 (remaining gas: 1039993.410 units remaining) - [ 1 ] - - location: 10 (remaining gas: 1039993.270 units remaining) - [ (Some 1) ] - - location: 11 (remaining gas: 1039993.130 units remaining) - [ {} - (Some 1) ] - - location: 13 (remaining gas: 1039992.990 units remaining) - [ (Pair {} (Some 1)) ] - - location: -1 (remaining gas: 1039992.920 units remaining) - [ (Pair {} (Some 1)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out deleted file mode 100644 index 0e025c53da94..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[int.tz-None-9999-(Some 9999)] - -storage - (Some 9999) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair 9999 None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ 9999 @parameter ] - - location: 9 (remaining gas: 1039993.410 units remaining) - [ 9999 ] - - location: 10 (remaining gas: 1039993.270 units remaining) - [ (Some 9999) ] - - location: 11 (remaining gas: 1039993.130 units remaining) - [ {} - (Some 9999) ] - - location: 13 (remaining gas: 1039992.990 units remaining) - [ (Pair {} (Some 9999)) ] - - location: -1 (remaining gas: 1039992.920 units remaining) - [ (Pair {} (Some 9999)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out deleted file mode 100644 index a0bd7c3edf9e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e.34c02678c9.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[keccak.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4)] - -storage - (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ 0x48656c6c6f2c20776f726c6421 @parameter ] - - location: 9 (remaining gas: 1039991.700 units remaining) - [ 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4 ] - - location: 10 (remaining gas: 1039991.560 units remaining) - [ (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] - - location: 11 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] - - location: 13 (remaining gas: 1039991.280 units remaining) - [ (Pair {} - (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} - (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" deleted file mode 100644 index 899bb50bf7b2..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Left True)-(Right True)].out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[left_right.tz-(Left "X")-(Left True)-(Right True)] - -storage - (Right True) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039991.066 units remaining) - [ (Pair (Left True) (Left "X")) ] - - location: 11 (remaining gas: 1039990.926 units remaining) - [ (Left True) @parameter ] - - location: 14 (remaining gas: 1039990.636 units remaining) - [ (Right True) ] - - location: 13 (remaining gas: 1039990.566 units remaining) - [ (Right True) ] - - location: 19 (remaining gas: 1039990.426 units remaining) - [ {} - (Right True) ] - - location: 21 (remaining gas: 1039990.286 units remaining) - [ (Pair {} (Right True)) ] - - location: -1 (remaining gas: 1039990.216 units remaining) - [ (Pair {} (Right True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" deleted file mode 100644 index ccbcb47aebd7..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[left_right.tz-(Left \"X\")-(Right \"a\")-(Left \"a\")].out" +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[left_right.tz-(Left "X")-(Right "a")-(Left "a")] - -storage - (Left "a") -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039991.042 units remaining) - [ (Pair (Right "a") (Left "X")) ] - - location: 11 (remaining gas: 1039990.902 units remaining) - [ (Right "a") @parameter ] - - location: 17 (remaining gas: 1039990.612 units remaining) - [ (Left "a") ] - - location: 16 (remaining gas: 1039990.542 units remaining) - [ (Left "a") ] - - location: 19 (remaining gas: 1039990.402 units remaining) - [ {} - (Left "a") ] - - location: 21 (remaining gas: 1039990.262 units remaining) - [ (Pair {} (Left "a")) ] - - location: -1 (remaining gas: 1039990.192 units remaining) - [ (Pair {} (Left "a")) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out deleted file mode 100644 index 40945cf57e51..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[level.tz-111-Unit-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit 111) ] - - location: 7 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 8 (remaining gas: 1039994.380 units remaining) - [ 1 @level ] - - location: 9 (remaining gas: 1039994.240 units remaining) - [ {} - 1 @level ] - - location: 11 (remaining gas: 1039994.100 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039994.030 units remaining) - [ (Pair {} 1) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" deleted file mode 100644 index c4d630750dc9..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{ \"d\" ; \"e\" ; \"f\" }-\"abcdef\"].out" +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_concat.tz-"abc"-{ "d" ; "e" ; "f" }-"abcdef"] - -storage - "abcdef" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.104 units remaining) - [ (Pair { "d" ; "e" ; "f" } "abc") ] - - location: 8 (remaining gas: 1039991.964 units remaining) - [ { "d" ; "e" ; "f" } @parameter - "abc" @storage ] - - location: 9 (remaining gas: 1039991.834 units remaining) - [ "abc" @storage - { "d" ; "e" ; "f" } @parameter ] - - location: 10 (remaining gas: 1039991.694 units remaining) - [ { "abc" ; "d" ; "e" ; "f" } ] - - location: 11 (remaining gas: 1039991.494 units remaining) - [ "abcdef" ] - - location: 12 (remaining gas: 1039991.354 units remaining) - [ {} - "abcdef" ] - - location: 14 (remaining gas: 1039991.214 units remaining) - [ (Pair {} "abcdef") ] - - location: -1 (remaining gas: 1039991.144 units remaining) - [ (Pair {} "abcdef") ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" deleted file mode 100644 index 6f09fab619d3..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat.tz-\"abc\"-{}-\"abc\"].out" +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_concat.tz-"abc"-{}-"abc"] - -storage - "abc" -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.896 units remaining) - [ (Pair {} "abc") ] - - location: 8 (remaining gas: 1039992.756 units remaining) - [ {} @parameter - "abc" @storage ] - - location: 9 (remaining gas: 1039992.626 units remaining) - [ "abc" @storage - {} @parameter ] - - location: 10 (remaining gas: 1039992.486 units remaining) - [ { "abc" } ] - - location: 11 (remaining gas: 1039992.316 units remaining) - [ "abc" ] - - location: 12 (remaining gas: 1039992.176 units remaining) - [ {} - "abc" ] - - location: 14 (remaining gas: 1039992.036 units remaining) - [ (Pair {} "abc") ] - - location: -1 (remaining gas: 1039991.966 units remaining) - [ (Pair {} "abc") ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out deleted file mode 100644 index 297be80aa690..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{ 0x00 ; 0x11 ; 0x00 }-0x001100] - -storage - 0x001100 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.220 units remaining) - [ (Pair { 0x00 ; 0x11 ; 0x00 } 0x) ] - - location: 8 (remaining gas: 1039992.080 units remaining) - [ { 0x00 ; 0x11 ; 0x00 } @parameter - 0x @storage ] - - location: 9 (remaining gas: 1039991.950 units remaining) - [ 0x @storage - { 0x00 ; 0x11 ; 0x00 } @parameter ] - - location: 10 (remaining gas: 1039991.810 units remaining) - [ { 0x ; 0x00 ; 0x11 ; 0x00 } ] - - location: 11 (remaining gas: 1039991.610 units remaining) - [ 0x001100 ] - - location: 12 (remaining gas: 1039991.470 units remaining) - [ {} - 0x001100 ] - - location: 14 (remaining gas: 1039991.330 units remaining) - [ (Pair {} 0x001100) ] - - location: -1 (remaining gas: 1039991.260 units remaining) - [ (Pair {} 0x001100) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out deleted file mode 100644 index 9f48b5bbb1da..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x-{}-0x] - -storage - 0x -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0x) ] - - location: 8 (remaining gas: 1039992.800 units remaining) - [ {} @parameter - 0x @storage ] - - location: 9 (remaining gas: 1039992.670 units remaining) - [ 0x @storage - {} @parameter ] - - location: 10 (remaining gas: 1039992.530 units remaining) - [ { 0x } ] - - location: 11 (remaining gas: 1039992.360 units remaining) - [ 0x ] - - location: 12 (remaining gas: 1039992.220 units remaining) - [ {} - 0x ] - - location: 14 (remaining gas: 1039992.080 units remaining) - [ (Pair {} 0x) ] - - location: -1 (remaining gas: 1039992.010 units remaining) - [ (Pair {} 0x) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out deleted file mode 100644 index d105cdd9ee08..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0x00ab-{ 0xcd ; 0xef ; 0x00 }-0x00abcdef00] - -storage - 0x00abcdef00 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.220 units remaining) - [ (Pair { 0xcd ; 0xef ; 0x00 } 0x00ab) ] - - location: 8 (remaining gas: 1039992.080 units remaining) - [ { 0xcd ; 0xef ; 0x00 } @parameter - 0x00ab @storage ] - - location: 9 (remaining gas: 1039991.950 units remaining) - [ 0x00ab @storage - { 0xcd ; 0xef ; 0x00 } @parameter ] - - location: 10 (remaining gas: 1039991.810 units remaining) - [ { 0x00ab ; 0xcd ; 0xef ; 0x00 } ] - - location: 11 (remaining gas: 1039991.610 units remaining) - [ 0x00abcdef00 ] - - location: 12 (remaining gas: 1039991.470 units remaining) - [ {} - 0x00abcdef00 ] - - location: 14 (remaining gas: 1039991.330 units remaining) - [ (Pair {} 0x00abcdef00) ] - - location: -1 (remaining gas: 1039991.260 units remaining) - [ (Pair {} 0x00abcdef00) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out deleted file mode 100644 index 6fa3d64cc8c8..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_concat_bytes.tz-0xabcd-{}-0xabcd] - -storage - 0xabcd -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039992.940 units remaining) - [ (Pair {} 0xabcd) ] - - location: 8 (remaining gas: 1039992.800 units remaining) - [ {} @parameter - 0xabcd @storage ] - - location: 9 (remaining gas: 1039992.670 units remaining) - [ 0xabcd @storage - {} @parameter ] - - location: 10 (remaining gas: 1039992.530 units remaining) - [ { 0xabcd } ] - - location: 11 (remaining gas: 1039992.360 units remaining) - [ 0xabcd ] - - location: 12 (remaining gas: 1039992.220 units remaining) - [ {} - 0xabcd ] - - location: 14 (remaining gas: 1039992.080 units remaining) - [ (Pair {} 0xabcd) ] - - location: -1 (remaining gas: 1039992.010 units remaining) - [ (Pair {} 0xabcd) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" deleted file mode 100644 index 1596971b42b2..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_id.tz-{""}-{ "1" ; "2" ; "3" }-{ "1" ; "2" ; "3" }] - -storage - { "1" ; "2" ; "3" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.974 units remaining) - [ (Pair { "1" ; "2" ; "3" } { "" }) ] - - location: 9 (remaining gas: 1039993.834 units remaining) - [ { "1" ; "2" ; "3" } @parameter ] - - location: 10 (remaining gas: 1039993.694 units remaining) - [ {} - { "1" ; "2" ; "3" } @parameter ] - - location: 12 (remaining gas: 1039993.554 units remaining) - [ (Pair {} { "1" ; "2" ; "3" }) ] - - location: -1 (remaining gas: 1039993.484 units remaining) - [ (Pair {} { "1" ; "2" ; "3" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" deleted file mode 100644 index b2cace0f24bb..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_id.tz-{""}-{ "a" ; "b" ; "c" }-{ "a" ; "b" ; "c" }] - -storage - { "a" ; "b" ; "c" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.974 units remaining) - [ (Pair { "a" ; "b" ; "c" } { "" }) ] - - location: 9 (remaining gas: 1039993.834 units remaining) - [ { "a" ; "b" ; "c" } @parameter ] - - location: 10 (remaining gas: 1039993.694 units remaining) - [ {} - { "a" ; "b" ; "c" } @parameter ] - - location: 12 (remaining gas: 1039993.554 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039993.484 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" deleted file mode 100644 index 51b17b570481..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id.tz-{\"\"}-{}-{}].out" +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_id.tz-{""}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039994.766 units remaining) - [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039994.626 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039994.486 units remaining) - [ {} - {} @parameter ] - - location: 12 (remaining gas: 1039994.346 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039994.276 units remaining) - [ (Pair {} {}) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" deleted file mode 100644 index 53e81a3b21b2..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"1\" ; \"2\" ; \"3\" }-{ \"1\" ; \"2\" ; \"3\" }].out" +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_id_map.tz-{""}-{ "1" ; "2" ; "3" }-{ "1" ; "2" ; "3" }] - -storage - { "1" ; "2" ; "3" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.849 units remaining) - [ (Pair { "1" ; "2" ; "3" } { "" }) ] - - location: 9 (remaining gas: 1039992.709 units remaining) - [ { "1" ; "2" ; "3" } @parameter ] - - location: 11 (remaining gas: 1039992.043 units remaining) - [ "1" @parameter.elt ] - - location: 11 (remaining gas: 1039991.973 units remaining) - [ "2" @parameter.elt ] - - location: 11 (remaining gas: 1039991.903 units remaining) - [ "3" @parameter.elt ] - - location: 10 (remaining gas: 1039991.903 units remaining) - [ { "1" ; "2" ; "3" } ] - - location: 12 (remaining gas: 1039991.763 units remaining) - [ {} - { "1" ; "2" ; "3" } ] - - location: 14 (remaining gas: 1039991.623 units remaining) - [ (Pair {} { "1" ; "2" ; "3" }) ] - - location: -1 (remaining gas: 1039991.553 units remaining) - [ (Pair {} { "1" ; "2" ; "3" }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" deleted file mode 100644 index c25d1adf9b11..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_id_map.tz-{""}-{ "a" ; "b" ; "c" }-{ "a" ; "b" ; "c" }] - -storage - { "a" ; "b" ; "c" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.849 units remaining) - [ (Pair { "a" ; "b" ; "c" } { "" }) ] - - location: 9 (remaining gas: 1039992.709 units remaining) - [ { "a" ; "b" ; "c" } @parameter ] - - location: 11 (remaining gas: 1039992.043 units remaining) - [ "a" @parameter.elt ] - - location: 11 (remaining gas: 1039991.973 units remaining) - [ "b" @parameter.elt ] - - location: 11 (remaining gas: 1039991.903 units remaining) - [ "c" @parameter.elt ] - - location: 10 (remaining gas: 1039991.903 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 12 (remaining gas: 1039991.763 units remaining) - [ {} - { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039991.623 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039991.553 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" deleted file mode 100644 index c62b3431bc13..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_id_map.tz-{\"\"}-{}-{}].out" +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_id_map.tz-{""}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.641 units remaining) - [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039993.501 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039992.941 units remaining) - [ {} ] - - location: 12 (remaining gas: 1039992.801 units remaining) - [ {} - {} ] - - location: 14 (remaining gas: 1039992.661 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039992.591 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out deleted file mode 100644 index ea1d4c3e6d39..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20].out +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 10 ; 2 ; 1 }-20] - -storage - 20 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.060 units remaining) - [ (Pair { 10 ; 2 ; 1 } 0) ] - - location: 8 (remaining gas: 1039990.920 units remaining) - [ { 10 ; 2 ; 1 } @parameter ] - - location: 9 (remaining gas: 1039990.780 units remaining) - [ 1 - { 10 ; 2 ; 1 } @parameter ] - - location: 12 (remaining gas: 1039990.650 units remaining) - [ { 10 ; 2 ; 1 } @parameter - 1 ] - - location: 15 (remaining gas: 1039989.923 units remaining) - [ 10 ] - - location: 14 (remaining gas: 1039989.853 units remaining) - [ 10 ] - - location: 15 (remaining gas: 1039989.707 units remaining) - [ 20 ] - - location: 14 (remaining gas: 1039989.637 units remaining) - [ 20 ] - - location: 15 (remaining gas: 1039989.491 units remaining) - [ 20 ] - - location: 14 (remaining gas: 1039989.421 units remaining) - [ 20 ] - - location: 13 (remaining gas: 1039989.421 units remaining) - [ 20 ] - - location: 16 (remaining gas: 1039989.281 units remaining) - [ {} - 20 ] - - location: 18 (remaining gas: 1039989.141 units remaining) - [ (Pair {} 20) ] - - location: -1 (remaining gas: 1039989.071 units remaining) - [ (Pair {} 20) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out deleted file mode 100644 index 73246aa24960..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162].out +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_iter.tz-0-{ 3 ; 6 ; 9 }-162] - -storage - 162 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.060 units remaining) - [ (Pair { 3 ; 6 ; 9 } 0) ] - - location: 8 (remaining gas: 1039990.920 units remaining) - [ { 3 ; 6 ; 9 } @parameter ] - - location: 9 (remaining gas: 1039990.780 units remaining) - [ 1 - { 3 ; 6 ; 9 } @parameter ] - - location: 12 (remaining gas: 1039990.650 units remaining) - [ { 3 ; 6 ; 9 } @parameter - 1 ] - - location: 15 (remaining gas: 1039989.923 units remaining) - [ 3 ] - - location: 14 (remaining gas: 1039989.853 units remaining) - [ 3 ] - - location: 15 (remaining gas: 1039989.707 units remaining) - [ 18 ] - - location: 14 (remaining gas: 1039989.637 units remaining) - [ 18 ] - - location: 15 (remaining gas: 1039989.491 units remaining) - [ 162 ] - - location: 14 (remaining gas: 1039989.421 units remaining) - [ 162 ] - - location: 13 (remaining gas: 1039989.421 units remaining) - [ 162 ] - - location: 16 (remaining gas: 1039989.281 units remaining) - [ {} - 162 ] - - location: 18 (remaining gas: 1039989.141 units remaining) - [ (Pair {} 162) ] - - location: -1 (remaining gas: 1039989.071 units remaining) - [ (Pair {} 162) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out deleted file mode 100644 index 5cd2a39f30a2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }].out +++ /dev/null @@ -1,142 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 1 ; 1 ; 1 }-{ 1 ; 2 ; 3 ; 4 }] - -storage - { 1 ; 2 ; 3 ; 4 } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039984.380 units remaining) - [ (Pair { 1 ; 1 ; 1 ; 1 } { 0 }) ] - - location: 9 (remaining gas: 1039984.240 units remaining) - [ { 1 ; 1 ; 1 ; 1 } @parameter ] - - location: 10 (remaining gas: 1039984.100 units remaining) - [ 0 - { 1 ; 1 ; 1 ; 1 } @parameter ] - - location: 13 (remaining gas: 1039983.970 units remaining) - [ { 1 ; 1 ; 1 ; 1 } @parameter - 0 ] - - location: 18 (remaining gas: 1039983.062 units remaining) - [ 0 - 0 ] - - location: 17 (remaining gas: 1039982.992 units remaining) - [ 0 - 0 ] - - location: 16 (remaining gas: 1039982.992 units remaining) - [ 1 @parameter.elt - 0 - 0 ] - - location: 19 (remaining gas: 1039982.852 units remaining) - [ 1 - 0 ] - - location: 22 (remaining gas: 1039982.552 units remaining) - [ 1 - 0 ] - - location: 25 (remaining gas: 1039982.412 units remaining) - [ 1 ] - - location: -1 (remaining gas: 1039982.342 units remaining) - [ 1 ] - - location: 20 (remaining gas: 1039982.342 units remaining) - [ 1 - 1 ] - - location: -1 (remaining gas: 1039982.272 units remaining) - [ 1 - 1 ] - - location: 18 (remaining gas: 1039981.972 units remaining) - [ 1 - 1 ] - - location: 17 (remaining gas: 1039981.902 units remaining) - [ 1 - 1 ] - - location: 16 (remaining gas: 1039981.902 units remaining) - [ 1 @parameter.elt - 1 - 1 ] - - location: 19 (remaining gas: 1039981.762 units remaining) - [ 2 - 1 ] - - location: 22 (remaining gas: 1039981.462 units remaining) - [ 1 - 1 ] - - location: 25 (remaining gas: 1039981.322 units remaining) - [ 2 ] - - location: -1 (remaining gas: 1039981.252 units remaining) - [ 2 ] - - location: 20 (remaining gas: 1039981.252 units remaining) - [ 2 - 2 ] - - location: -1 (remaining gas: 1039981.182 units remaining) - [ 2 - 2 ] - - location: 18 (remaining gas: 1039980.882 units remaining) - [ 2 - 2 ] - - location: 17 (remaining gas: 1039980.812 units remaining) - [ 2 - 2 ] - - location: 16 (remaining gas: 1039980.812 units remaining) - [ 1 @parameter.elt - 2 - 2 ] - - location: 19 (remaining gas: 1039980.672 units remaining) - [ 3 - 2 ] - - location: 22 (remaining gas: 1039980.372 units remaining) - [ 1 - 2 ] - - location: 25 (remaining gas: 1039980.232 units remaining) - [ 3 ] - - location: -1 (remaining gas: 1039980.162 units remaining) - [ 3 ] - - location: 20 (remaining gas: 1039980.162 units remaining) - [ 3 - 3 ] - - location: -1 (remaining gas: 1039980.092 units remaining) - [ 3 - 3 ] - - location: 18 (remaining gas: 1039979.792 units remaining) - [ 3 - 3 ] - - location: 17 (remaining gas: 1039979.722 units remaining) - [ 3 - 3 ] - - location: 16 (remaining gas: 1039979.722 units remaining) - [ 1 @parameter.elt - 3 - 3 ] - - location: 19 (remaining gas: 1039979.582 units remaining) - [ 4 - 3 ] - - location: 22 (remaining gas: 1039979.282 units remaining) - [ 1 - 3 ] - - location: 25 (remaining gas: 1039979.142 units remaining) - [ 4 ] - - location: -1 (remaining gas: 1039979.072 units remaining) - [ 4 ] - - location: 20 (remaining gas: 1039979.072 units remaining) - [ 4 - 4 ] - - location: -1 (remaining gas: 1039979.002 units remaining) - [ 4 - 4 ] - - location: 14 (remaining gas: 1039979.002 units remaining) - [ { 1 ; 2 ; 3 ; 4 } - 4 ] - - location: 26 (remaining gas: 1039978.862 units remaining) - [ {} - { 1 ; 2 ; 3 ; 4 } - 4 ] - - location: 28 (remaining gas: 1039978.722 units remaining) - [ (Pair {} { 1 ; 2 ; 3 ; 4 }) - 4 ] - - location: 31 (remaining gas: 1039978.422 units remaining) - [ ] - - location: 30 (remaining gas: 1039978.352 units remaining) - [ ] - - location: 29 (remaining gas: 1039978.352 units remaining) - [ (Pair {} { 1 ; 2 ; 3 ; 4 }) ] - - location: -1 (remaining gas: 1039978.282 units remaining) - [ (Pair {} { 1 ; 2 ; 3 ; 4 }) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out deleted file mode 100644 index b397626a91a3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }].out +++ /dev/null @@ -1,142 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{ 1 ; 2 ; 3 ; 0 }-{ 1 ; 3 ; 5 ; 3 }] - -storage - { 1 ; 3 ; 5 ; 3 } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039984.380 units remaining) - [ (Pair { 1 ; 2 ; 3 ; 0 } { 0 }) ] - - location: 9 (remaining gas: 1039984.240 units remaining) - [ { 1 ; 2 ; 3 ; 0 } @parameter ] - - location: 10 (remaining gas: 1039984.100 units remaining) - [ 0 - { 1 ; 2 ; 3 ; 0 } @parameter ] - - location: 13 (remaining gas: 1039983.970 units remaining) - [ { 1 ; 2 ; 3 ; 0 } @parameter - 0 ] - - location: 18 (remaining gas: 1039983.062 units remaining) - [ 0 - 0 ] - - location: 17 (remaining gas: 1039982.992 units remaining) - [ 0 - 0 ] - - location: 16 (remaining gas: 1039982.992 units remaining) - [ 1 @parameter.elt - 0 - 0 ] - - location: 19 (remaining gas: 1039982.852 units remaining) - [ 1 - 0 ] - - location: 22 (remaining gas: 1039982.552 units remaining) - [ 1 - 0 ] - - location: 25 (remaining gas: 1039982.412 units remaining) - [ 1 ] - - location: -1 (remaining gas: 1039982.342 units remaining) - [ 1 ] - - location: 20 (remaining gas: 1039982.342 units remaining) - [ 1 - 1 ] - - location: -1 (remaining gas: 1039982.272 units remaining) - [ 1 - 1 ] - - location: 18 (remaining gas: 1039981.972 units remaining) - [ 1 - 1 ] - - location: 17 (remaining gas: 1039981.902 units remaining) - [ 1 - 1 ] - - location: 16 (remaining gas: 1039981.902 units remaining) - [ 2 @parameter.elt - 1 - 1 ] - - location: 19 (remaining gas: 1039981.762 units remaining) - [ 3 - 1 ] - - location: 22 (remaining gas: 1039981.462 units remaining) - [ 1 - 1 ] - - location: 25 (remaining gas: 1039981.322 units remaining) - [ 2 ] - - location: -1 (remaining gas: 1039981.252 units remaining) - [ 2 ] - - location: 20 (remaining gas: 1039981.252 units remaining) - [ 3 - 2 ] - - location: -1 (remaining gas: 1039981.182 units remaining) - [ 3 - 2 ] - - location: 18 (remaining gas: 1039980.882 units remaining) - [ 2 - 2 ] - - location: 17 (remaining gas: 1039980.812 units remaining) - [ 2 - 2 ] - - location: 16 (remaining gas: 1039980.812 units remaining) - [ 3 @parameter.elt - 2 - 2 ] - - location: 19 (remaining gas: 1039980.672 units remaining) - [ 5 - 2 ] - - location: 22 (remaining gas: 1039980.372 units remaining) - [ 1 - 2 ] - - location: 25 (remaining gas: 1039980.232 units remaining) - [ 3 ] - - location: -1 (remaining gas: 1039980.162 units remaining) - [ 3 ] - - location: 20 (remaining gas: 1039980.162 units remaining) - [ 5 - 3 ] - - location: -1 (remaining gas: 1039980.092 units remaining) - [ 5 - 3 ] - - location: 18 (remaining gas: 1039979.792 units remaining) - [ 3 - 3 ] - - location: 17 (remaining gas: 1039979.722 units remaining) - [ 3 - 3 ] - - location: 16 (remaining gas: 1039979.722 units remaining) - [ 0 @parameter.elt - 3 - 3 ] - - location: 19 (remaining gas: 1039979.582 units remaining) - [ 3 - 3 ] - - location: 22 (remaining gas: 1039979.282 units remaining) - [ 1 - 3 ] - - location: 25 (remaining gas: 1039979.142 units remaining) - [ 4 ] - - location: -1 (remaining gas: 1039979.072 units remaining) - [ 4 ] - - location: 20 (remaining gas: 1039979.072 units remaining) - [ 3 - 4 ] - - location: -1 (remaining gas: 1039979.002 units remaining) - [ 3 - 4 ] - - location: 14 (remaining gas: 1039979.002 units remaining) - [ { 1 ; 3 ; 5 ; 3 } - 4 ] - - location: 26 (remaining gas: 1039978.862 units remaining) - [ {} - { 1 ; 3 ; 5 ; 3 } - 4 ] - - location: 28 (remaining gas: 1039978.722 units remaining) - [ (Pair {} { 1 ; 3 ; 5 ; 3 }) - 4 ] - - location: 31 (remaining gas: 1039978.422 units remaining) - [ ] - - location: 30 (remaining gas: 1039978.352 units remaining) - [ ] - - location: 29 (remaining gas: 1039978.352 units remaining) - [ (Pair {} { 1 ; 3 ; 5 ; 3 }) ] - - location: -1 (remaining gas: 1039978.282 units remaining) - [ (Pair {} { 1 ; 3 ; 5 ; 3 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out deleted file mode 100644 index c1da3a555c33..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_map_block.tz-{0}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039985.340 units remaining) - [ (Pair {} { 0 }) ] - - location: 9 (remaining gas: 1039985.200 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039985.060 units remaining) - [ 0 - {} @parameter ] - - location: 13 (remaining gas: 1039984.930 units remaining) - [ {} @parameter - 0 ] - - location: 14 (remaining gas: 1039984.370 units remaining) - [ {} - 0 ] - - location: 26 (remaining gas: 1039984.230 units remaining) - [ {} - {} - 0 ] - - location: 28 (remaining gas: 1039984.090 units remaining) - [ (Pair {} {}) - 0 ] - - location: 31 (remaining gas: 1039983.790 units remaining) - [ ] - - location: 30 (remaining gas: 1039983.720 units remaining) - [ ] - - location: 29 (remaining gas: 1039983.720 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039983.650 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out deleted file mode 100644 index e00444a969d1..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6] - -storage - 6 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.130 units remaining) - [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] - - location: 8 (remaining gas: 1039992.990 units remaining) - [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } @parameter ] - - location: 9 (remaining gas: 1039992.850 units remaining) - [ 6 ] - - location: 10 (remaining gas: 1039992.710 units remaining) - [ {} - 6 ] - - location: 12 (remaining gas: 1039992.570 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039992.500 units remaining) - [ (Pair {} 6) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out deleted file mode 100644 index 942aab7e6738..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 ; 2 ; 3 }-3] - -storage - 3 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.850 units remaining) - [ (Pair { 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039993.710 units remaining) - [ { 1 ; 2 ; 3 } @parameter ] - - location: 9 (remaining gas: 1039993.570 units remaining) - [ 3 ] - - location: 10 (remaining gas: 1039993.430 units remaining) - [ {} - 3 ] - - location: 12 (remaining gas: 1039993.290 units remaining) - [ (Pair {} 3) ] - - location: -1 (remaining gas: 1039993.220 units remaining) - [ (Pair {} 3) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out deleted file mode 100644 index 78024d4a7606..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_size.tz-111-{ 1 }-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.330 units remaining) - [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039994.190 units remaining) - [ { 1 } @parameter ] - - location: 9 (remaining gas: 1039994.050 units remaining) - [ 1 ] - - location: 10 (remaining gas: 1039993.910 units remaining) - [ {} - 1 ] - - location: 12 (remaining gas: 1039993.770 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039993.700 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out deleted file mode 100644 index c3ae566ea786..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[list_size.tz-111-{}-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.570 units remaining) - [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039994.430 units remaining) - [ {} @parameter ] - - location: 9 (remaining gas: 1039994.290 units remaining) - [ 0 ] - - location: 10 (remaining gas: 1039994.150 units remaining) - [ {} - 0 ] - - location: 12 (remaining gas: 1039994.010 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039993.940 units remaining) - [ (Pair {} 0) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" deleted file mode 100644 index a1a7e24489e3..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ /dev/null @@ -1,148 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[loop_left.tz-{""}-{ "c" ; "b" ; "a" }-{ "a" ; "b" ; "c" }] - -storage - { "a" ; "b" ; "c" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039976.864 units remaining) - [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039976.724 units remaining) - [ { "c" ; "b" ; "a" } @parameter ] - - location: 10 (remaining gas: 1039976.584 units remaining) - [ {} - { "c" ; "b" ; "a" } @parameter ] - - location: 12 (remaining gas: 1039976.454 units remaining) - [ { "c" ; "b" ; "a" } @parameter - {} ] - - location: 13 (remaining gas: 1039976.314 units remaining) - [ (Pair { "c" ; "b" ; "a" } {}) ] - - location: 14 (remaining gas: 1039976.174 units remaining) - [ (Left (Pair { "c" ; "b" ; "a" } {})) ] - - location: 19 (remaining gas: 1039975.894 units remaining) - [ (Pair { "c" ; "b" ; "a" } {}) - (Pair { "c" ; "b" ; "a" } {}) ] - - location: 20 (remaining gas: 1039975.754 units remaining) - [ { "c" ; "b" ; "a" } @parameter - (Pair { "c" ; "b" ; "a" } {}) ] - - location: 23 (remaining gas: 1039975.454 units remaining) - [ {} ] - - location: 22 (remaining gas: 1039975.384 units remaining) - [ {} ] - - location: 21 (remaining gas: 1039975.384 units remaining) - [ { "c" ; "b" ; "a" } @parameter - {} ] - - location: 26 (remaining gas: 1039975.084 units remaining) - [ { "b" ; "a" } @parameter.tl - "c" @parameter.hd - {} ] - - location: 29 (remaining gas: 1039974.784 units remaining) - [ { "c" } ] - - location: 28 (remaining gas: 1039974.714 units remaining) - [ { "c" } ] - - location: 27 (remaining gas: 1039974.714 units remaining) - [ { "b" ; "a" } @parameter.tl - { "c" } ] - - location: 30 (remaining gas: 1039974.574 units remaining) - [ (Pair { "b" ; "a" } { "c" }) ] - - location: 31 (remaining gas: 1039974.434 units remaining) - [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: -1 (remaining gas: 1039974.364 units remaining) - [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: -1 (remaining gas: 1039974.294 units remaining) - [ (Left (Pair { "b" ; "a" } { "c" })) ] - - location: 19 (remaining gas: 1039974.074 units remaining) - [ (Pair { "b" ; "a" } { "c" }) - (Pair { "b" ; "a" } { "c" }) ] - - location: 20 (remaining gas: 1039973.934 units remaining) - [ { "b" ; "a" } @parameter - (Pair { "b" ; "a" } { "c" }) ] - - location: 23 (remaining gas: 1039973.634 units remaining) - [ { "c" } ] - - location: 22 (remaining gas: 1039973.564 units remaining) - [ { "c" } ] - - location: 21 (remaining gas: 1039973.564 units remaining) - [ { "b" ; "a" } @parameter - { "c" } ] - - location: 26 (remaining gas: 1039973.264 units remaining) - [ { "a" } @parameter.tl - "b" @parameter.hd - { "c" } ] - - location: 29 (remaining gas: 1039972.964 units remaining) - [ { "b" ; "c" } ] - - location: 28 (remaining gas: 1039972.894 units remaining) - [ { "b" ; "c" } ] - - location: 27 (remaining gas: 1039972.894 units remaining) - [ { "a" } @parameter.tl - { "b" ; "c" } ] - - location: 30 (remaining gas: 1039972.754 units remaining) - [ (Pair { "a" } { "b" ; "c" }) ] - - location: 31 (remaining gas: 1039972.614 units remaining) - [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: -1 (remaining gas: 1039972.544 units remaining) - [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: -1 (remaining gas: 1039972.474 units remaining) - [ (Left (Pair { "a" } { "b" ; "c" })) ] - - location: 19 (remaining gas: 1039972.254 units remaining) - [ (Pair { "a" } { "b" ; "c" }) - (Pair { "a" } { "b" ; "c" }) ] - - location: 20 (remaining gas: 1039972.114 units remaining) - [ { "a" } @parameter - (Pair { "a" } { "b" ; "c" }) ] - - location: 23 (remaining gas: 1039971.814 units remaining) - [ { "b" ; "c" } ] - - location: 22 (remaining gas: 1039971.744 units remaining) - [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039971.744 units remaining) - [ { "a" } @parameter - { "b" ; "c" } ] - - location: 26 (remaining gas: 1039971.444 units remaining) - [ {} @parameter.tl - "a" @parameter.hd - { "b" ; "c" } ] - - location: 29 (remaining gas: 1039971.144 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039971.074 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 27 (remaining gas: 1039971.074 units remaining) - [ {} @parameter.tl - { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039970.934 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: 31 (remaining gas: 1039970.794 units remaining) - [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: -1 (remaining gas: 1039970.724 units remaining) - [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: -1 (remaining gas: 1039970.654 units remaining) - [ (Left (Pair {} { "a" ; "b" ; "c" })) ] - - location: 19 (remaining gas: 1039970.434 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) - (Pair {} { "a" ; "b" ; "c" }) ] - - location: 20 (remaining gas: 1039970.294 units remaining) - [ {} @parameter - (Pair {} { "a" ; "b" ; "c" }) ] - - location: 23 (remaining gas: 1039969.994 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 22 (remaining gas: 1039969.924 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039969.924 units remaining) - [ {} @parameter - { "a" ; "b" ; "c" } ] - - location: 35 (remaining gas: 1039969.614 units remaining) - [ (Right { "a" ; "b" ; "c" }) ] - - location: 34 (remaining gas: 1039969.544 units remaining) - [ (Right { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039969.474 units remaining) - [ (Right { "a" ; "b" ; "c" }) ] - - location: 17 (remaining gas: 1039969.394 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 41 (remaining gas: 1039969.254 units remaining) - [ {} - { "a" ; "b" ; "c" } ] - - location: 43 (remaining gas: 1039969.114 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039969.044 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" deleted file mode 100644 index 18da8b07134a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[loop_left.tz-{\"\"}-{}-{}].out" +++ /dev/null @@ -1,52 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[loop_left.tz-{""}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039977.656 units remaining) - [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039977.516 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039977.376 units remaining) - [ {} - {} @parameter ] - - location: 12 (remaining gas: 1039977.246 units remaining) - [ {} @parameter - {} ] - - location: 13 (remaining gas: 1039977.106 units remaining) - [ (Pair {} {}) ] - - location: 14 (remaining gas: 1039976.966 units remaining) - [ (Left (Pair {} {})) ] - - location: 19 (remaining gas: 1039976.686 units remaining) - [ (Pair {} {}) - (Pair {} {}) ] - - location: 20 (remaining gas: 1039976.546 units remaining) - [ {} @parameter - (Pair {} {}) ] - - location: 23 (remaining gas: 1039976.246 units remaining) - [ {} ] - - location: 22 (remaining gas: 1039976.176 units remaining) - [ {} ] - - location: 21 (remaining gas: 1039976.176 units remaining) - [ {} @parameter - {} ] - - location: 35 (remaining gas: 1039975.866 units remaining) - [ (Right {}) ] - - location: 34 (remaining gas: 1039975.796 units remaining) - [ (Right {}) ] - - location: -1 (remaining gas: 1039975.726 units remaining) - [ (Right {}) ] - - location: 17 (remaining gas: 1039975.646 units remaining) - [ {} ] - - location: 41 (remaining gas: 1039975.506 units remaining) - [ {} - {} ] - - location: 43 (remaining gas: 1039975.366 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039975.296 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index b294d899abd9..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 ; Elt 3 4 }-{ Elt 0 0 ; Elt 3 4 }] - -storage - { Elt 0 0 ; Elt 3 4 } -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039993.280 units remaining) - [ (Pair { Elt 0 0 ; Elt 3 4 } {}) ] - - location: 11 (remaining gas: 1039993.140 units remaining) - [ { Elt 0 0 ; Elt 3 4 } @parameter ] - - location: 12 (remaining gas: 1039993 units remaining) - [ {} - { Elt 0 0 ; Elt 3 4 } @parameter ] - - location: 14 (remaining gas: 1039992.860 units remaining) - [ (Pair {} { Elt 0 0 ; Elt 3 4 }) ] - - location: -1 (remaining gas: 1039992.790 units remaining) - [ (Pair {} { Elt 0 0 ; Elt 3 4 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out deleted file mode 100644 index d539e2ff2512..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }].out +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 0 }-{ Elt 0 0 }] - -storage - { Elt 0 0 } -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039993.990 units remaining) - [ (Pair { Elt 0 0 } {}) ] - - location: 11 (remaining gas: 1039993.850 units remaining) - [ { Elt 0 0 } @parameter ] - - location: 12 (remaining gas: 1039993.710 units remaining) - [ {} - { Elt 0 0 } @parameter ] - - location: 14 (remaining gas: 1039993.570 units remaining) - [ (Pair {} { Elt 0 0 }) ] - - location: -1 (remaining gas: 1039993.500 units remaining) - [ (Pair {} { Elt 0 0 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out deleted file mode 100644 index 21f136a92b7d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }].out +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_id.tz-{}-{ Elt 0 1 }-{ Elt 0 1 }] - -storage - { Elt 0 1 } -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039993.990 units remaining) - [ (Pair { Elt 0 1 } {}) ] - - location: 11 (remaining gas: 1039993.850 units remaining) - [ { Elt 0 1 } @parameter ] - - location: 12 (remaining gas: 1039993.710 units remaining) - [ {} - { Elt 0 1 } @parameter ] - - location: 14 (remaining gas: 1039993.570 units remaining) - [ (Pair {} { Elt 0 1 }) ] - - location: -1 (remaining gas: 1039993.500 units remaining) - [ (Pair {} { Elt 0 1 }) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 78523aae0fda..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,150 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 0 100 ; Elt 2 100 }-(Pair 2 200)] - -storage - (Pair 2 200) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039975.900 units remaining) - [ (Pair { Elt 0 100 ; Elt 2 100 } 0 0) ] - - location: 11 (remaining gas: 1039975.760 units remaining) - [ { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 12 (remaining gas: 1039975.620 units remaining) - [ 0 @acc_e - { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 15 (remaining gas: 1039975.480 units remaining) - [ 0 @acc_k - 0 @acc_e - { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 18 (remaining gas: 1039975.340 units remaining) - [ (Pair 0 0) - { Elt 0 100 ; Elt 2 100 } @parameter ] - - location: 19 (remaining gas: 1039975.210 units remaining) - [ { Elt 0 100 ; Elt 2 100 } @parameter - (Pair 0 0) ] - - location: 24 (remaining gas: 1039974.690 units remaining) - [ (Pair 0 0) - (Pair 0 0) ] - - location: 25 (remaining gas: 1039974.550 units remaining) - [ 0 @acc_k - (Pair 0 0) ] - - location: 28 (remaining gas: 1039974.250 units remaining) - [ 0 @acc_e ] - - location: 27 (remaining gas: 1039974.180 units remaining) - [ 0 @acc_e ] - - location: 26 (remaining gas: 1039974.180 units remaining) - [ 0 @acc_k - 0 @acc_e ] - - location: -1 (remaining gas: 1039974.110 units remaining) - [ 0 @acc_k - 0 @acc_e ] - - location: 22 (remaining gas: 1039974.110 units remaining) - [ (Pair 0 100) - 0 @acc_k - 0 @acc_e ] - - location: 29 (remaining gas: 1039973.970 units remaining) - [ (Pair 0 100) - (Pair 0 100) - 0 @acc_k - 0 @acc_e ] - - location: 32 (remaining gas: 1039973.670 units remaining) - [ 0 @key - 0 @acc_k - 0 @acc_e ] - - location: 33 (remaining gas: 1039973.530 units remaining) - [ 0 - 0 @acc_e ] - - location: -1 (remaining gas: 1039973.460 units remaining) - [ 0 - 0 @acc_e ] - - location: 30 (remaining gas: 1039973.460 units remaining) - [ (Pair 0 100) - 0 - 0 @acc_e ] - - location: 34 (remaining gas: 1039973.330 units remaining) - [ 0 - (Pair 0 100) - 0 @acc_e ] - - location: 37 (remaining gas: 1039973.030 units remaining) - [ 100 @elt - 0 @acc_e ] - - location: 38 (remaining gas: 1039972.890 units remaining) - [ 100 ] - - location: -1 (remaining gas: 1039972.820 units remaining) - [ 100 ] - - location: 35 (remaining gas: 1039972.820 units remaining) - [ 0 - 100 ] - - location: 39 (remaining gas: 1039972.680 units remaining) - [ (Pair 0 100) ] - - location: -1 (remaining gas: 1039972.610 units remaining) - [ (Pair 0 100) ] - - location: 24 (remaining gas: 1039972.310 units remaining) - [ (Pair 0 100) - (Pair 0 100) ] - - location: 25 (remaining gas: 1039972.170 units remaining) - [ 0 @acc_k - (Pair 0 100) ] - - location: 28 (remaining gas: 1039971.870 units remaining) - [ 100 @acc_e ] - - location: 27 (remaining gas: 1039971.800 units remaining) - [ 100 @acc_e ] - - location: 26 (remaining gas: 1039971.800 units remaining) - [ 0 @acc_k - 100 @acc_e ] - - location: -1 (remaining gas: 1039971.730 units remaining) - [ 0 @acc_k - 100 @acc_e ] - - location: 22 (remaining gas: 1039971.730 units remaining) - [ (Pair 2 100) - 0 @acc_k - 100 @acc_e ] - - location: 29 (remaining gas: 1039971.590 units remaining) - [ (Pair 2 100) - (Pair 2 100) - 0 @acc_k - 100 @acc_e ] - - location: 32 (remaining gas: 1039971.290 units remaining) - [ 2 @key - 0 @acc_k - 100 @acc_e ] - - location: 33 (remaining gas: 1039971.150 units remaining) - [ 2 - 100 @acc_e ] - - location: -1 (remaining gas: 1039971.080 units remaining) - [ 2 - 100 @acc_e ] - - location: 30 (remaining gas: 1039971.080 units remaining) - [ (Pair 2 100) - 2 - 100 @acc_e ] - - location: 34 (remaining gas: 1039970.950 units remaining) - [ 2 - (Pair 2 100) - 100 @acc_e ] - - location: 37 (remaining gas: 1039970.650 units remaining) - [ 100 @elt - 100 @acc_e ] - - location: 38 (remaining gas: 1039970.510 units remaining) - [ 200 ] - - location: -1 (remaining gas: 1039970.440 units remaining) - [ 200 ] - - location: 35 (remaining gas: 1039970.440 units remaining) - [ 2 - 200 ] - - location: 39 (remaining gas: 1039970.300 units remaining) - [ (Pair 2 200) ] - - location: -1 (remaining gas: 1039970.230 units remaining) - [ (Pair 2 200) ] - - location: 20 (remaining gas: 1039970.230 units remaining) - [ (Pair 2 200) ] - - location: 40 (remaining gas: 1039970.090 units remaining) - [ {} - (Pair 2 200) ] - - location: 42 (remaining gas: 1039969.950 units remaining) - [ (Pair {} 2 200) ] - - location: -1 (remaining gas: 1039969.880 units remaining) - [ (Pair {} 2 200) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 5adaa12e4a1e..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,150 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_iter.tz-(Pair 0 0)-{ Elt 1 1 ; Elt 2 100 }-(Pair 3 101)] - -storage - (Pair 3 101) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039975.900 units remaining) - [ (Pair { Elt 1 1 ; Elt 2 100 } 0 0) ] - - location: 11 (remaining gas: 1039975.760 units remaining) - [ { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 12 (remaining gas: 1039975.620 units remaining) - [ 0 @acc_e - { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 15 (remaining gas: 1039975.480 units remaining) - [ 0 @acc_k - 0 @acc_e - { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 18 (remaining gas: 1039975.340 units remaining) - [ (Pair 0 0) - { Elt 1 1 ; Elt 2 100 } @parameter ] - - location: 19 (remaining gas: 1039975.210 units remaining) - [ { Elt 1 1 ; Elt 2 100 } @parameter - (Pair 0 0) ] - - location: 24 (remaining gas: 1039974.690 units remaining) - [ (Pair 0 0) - (Pair 0 0) ] - - location: 25 (remaining gas: 1039974.550 units remaining) - [ 0 @acc_k - (Pair 0 0) ] - - location: 28 (remaining gas: 1039974.250 units remaining) - [ 0 @acc_e ] - - location: 27 (remaining gas: 1039974.180 units remaining) - [ 0 @acc_e ] - - location: 26 (remaining gas: 1039974.180 units remaining) - [ 0 @acc_k - 0 @acc_e ] - - location: -1 (remaining gas: 1039974.110 units remaining) - [ 0 @acc_k - 0 @acc_e ] - - location: 22 (remaining gas: 1039974.110 units remaining) - [ (Pair 1 1) - 0 @acc_k - 0 @acc_e ] - - location: 29 (remaining gas: 1039973.970 units remaining) - [ (Pair 1 1) - (Pair 1 1) - 0 @acc_k - 0 @acc_e ] - - location: 32 (remaining gas: 1039973.670 units remaining) - [ 1 @key - 0 @acc_k - 0 @acc_e ] - - location: 33 (remaining gas: 1039973.530 units remaining) - [ 1 - 0 @acc_e ] - - location: -1 (remaining gas: 1039973.460 units remaining) - [ 1 - 0 @acc_e ] - - location: 30 (remaining gas: 1039973.460 units remaining) - [ (Pair 1 1) - 1 - 0 @acc_e ] - - location: 34 (remaining gas: 1039973.330 units remaining) - [ 1 - (Pair 1 1) - 0 @acc_e ] - - location: 37 (remaining gas: 1039973.030 units remaining) - [ 1 @elt - 0 @acc_e ] - - location: 38 (remaining gas: 1039972.890 units remaining) - [ 1 ] - - location: -1 (remaining gas: 1039972.820 units remaining) - [ 1 ] - - location: 35 (remaining gas: 1039972.820 units remaining) - [ 1 - 1 ] - - location: 39 (remaining gas: 1039972.680 units remaining) - [ (Pair 1 1) ] - - location: -1 (remaining gas: 1039972.610 units remaining) - [ (Pair 1 1) ] - - location: 24 (remaining gas: 1039972.310 units remaining) - [ (Pair 1 1) - (Pair 1 1) ] - - location: 25 (remaining gas: 1039972.170 units remaining) - [ 1 @acc_k - (Pair 1 1) ] - - location: 28 (remaining gas: 1039971.870 units remaining) - [ 1 @acc_e ] - - location: 27 (remaining gas: 1039971.800 units remaining) - [ 1 @acc_e ] - - location: 26 (remaining gas: 1039971.800 units remaining) - [ 1 @acc_k - 1 @acc_e ] - - location: -1 (remaining gas: 1039971.730 units remaining) - [ 1 @acc_k - 1 @acc_e ] - - location: 22 (remaining gas: 1039971.730 units remaining) - [ (Pair 2 100) - 1 @acc_k - 1 @acc_e ] - - location: 29 (remaining gas: 1039971.590 units remaining) - [ (Pair 2 100) - (Pair 2 100) - 1 @acc_k - 1 @acc_e ] - - location: 32 (remaining gas: 1039971.290 units remaining) - [ 2 @key - 1 @acc_k - 1 @acc_e ] - - location: 33 (remaining gas: 1039971.150 units remaining) - [ 3 - 1 @acc_e ] - - location: -1 (remaining gas: 1039971.080 units remaining) - [ 3 - 1 @acc_e ] - - location: 30 (remaining gas: 1039971.080 units remaining) - [ (Pair 2 100) - 3 - 1 @acc_e ] - - location: 34 (remaining gas: 1039970.950 units remaining) - [ 3 - (Pair 2 100) - 1 @acc_e ] - - location: 37 (remaining gas: 1039970.650 units remaining) - [ 100 @elt - 1 @acc_e ] - - location: 38 (remaining gas: 1039970.510 units remaining) - [ 101 ] - - location: -1 (remaining gas: 1039970.440 units remaining) - [ 101 ] - - location: 35 (remaining gas: 1039970.440 units remaining) - [ 3 - 101 ] - - location: 39 (remaining gas: 1039970.300 units remaining) - [ (Pair 3 101) ] - - location: -1 (remaining gas: 1039970.230 units remaining) - [ (Pair 3 101) ] - - location: 20 (remaining gas: 1039970.230 units remaining) - [ (Pair 3 101) ] - - location: 40 (remaining gas: 1039970.090 units remaining) - [ {} - (Pair 3 101) ] - - location: 42 (remaining gas: 1039969.950 units remaining) - [ (Pair {} 3 101) ] - - location: -1 (remaining gas: 1039969.880 units remaining) - [ (Pair {} 3 101) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" deleted file mode 100644 index 1b806615ac60..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"bar\" 5 ; Elt \"foo\" 1 }-15-{ Elt \"bar\".12b9d73d5a.out" +++ /dev/null @@ -1,72 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt "bar" 5 ; Elt "foo" 1 }-15-{ Elt "bar" 20 ; Elt "foo" 16 }] - -storage - { Elt "bar" 20 ; Elt "foo" 16 } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039987.192 units remaining) - [ (Pair 15 { Elt "bar" 5 ; Elt "foo" 1 }) ] - - location: 9 (remaining gas: 1039987.052 units remaining) - [ 15 @parameter - { Elt "bar" 5 ; Elt "foo" 1 } @storage ] - - location: 10 (remaining gas: 1039986.922 units remaining) - [ { Elt "bar" 5 ; Elt "foo" 1 } @storage - 15 @parameter ] - - location: 13 (remaining gas: 1039985.120 units remaining) - [ 5 @elt - 15 @parameter ] - - location: 16 (remaining gas: 1039984.820 units remaining) - [ 15 @parameter - 15 @parameter ] - - location: 15 (remaining gas: 1039984.750 units remaining) - [ 15 @parameter - 15 @parameter ] - - location: 14 (remaining gas: 1039984.750 units remaining) - [ 5 @elt - 15 @parameter - 15 @parameter ] - - location: 17 (remaining gas: 1039984.610 units remaining) - [ 20 - 15 @parameter ] - - location: -1 (remaining gas: 1039984.540 units remaining) - [ 20 - 15 @parameter ] - - location: 13 (remaining gas: 1039984.400 units remaining) - [ 1 @elt - 15 @parameter ] - - location: 16 (remaining gas: 1039984.100 units remaining) - [ 15 @parameter - 15 @parameter ] - - location: 15 (remaining gas: 1039984.030 units remaining) - [ 15 @parameter - 15 @parameter ] - - location: 14 (remaining gas: 1039984.030 units remaining) - [ 1 @elt - 15 @parameter - 15 @parameter ] - - location: 17 (remaining gas: 1039983.890 units remaining) - [ 16 - 15 @parameter ] - - location: -1 (remaining gas: 1039983.820 units remaining) - [ 16 - 15 @parameter ] - - location: 11 (remaining gas: 1039983.820 units remaining) - [ { Elt "bar" 20 ; Elt "foo" 16 } - 15 @parameter ] - - location: 20 (remaining gas: 1039983.520 units remaining) - [ ] - - location: 19 (remaining gas: 1039983.450 units remaining) - [ ] - - location: 18 (remaining gas: 1039983.450 units remaining) - [ { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 21 (remaining gas: 1039983.310 units remaining) - [ {} - { Elt "bar" 20 ; Elt "foo" 16 } ] - - location: 23 (remaining gas: 1039983.170 units remaining) - [ (Pair {} { Elt "bar" 20 ; Elt "foo" 16 }) ] - - location: -1 (remaining gas: 1039983.100 units remaining) - [ (Pair {} { Elt "bar" 20 ; Elt "foo" 16 }) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" deleted file mode 100644 index 6484cf2b54e5..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt \"foo\" 1 }-10-{ Elt \"foo\" 11 }].out" +++ /dev/null @@ -1,53 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_map.tz-{ Elt "foo" 1 }-10-{ Elt "foo" 11 }] - -storage - { Elt "foo" 11 } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039987.916 units remaining) - [ (Pair 10 { Elt "foo" 1 }) ] - - location: 9 (remaining gas: 1039987.776 units remaining) - [ 10 @parameter - { Elt "foo" 1 } @storage ] - - location: 10 (remaining gas: 1039987.646 units remaining) - [ { Elt "foo" 1 } @storage - 10 @parameter ] - - location: 13 (remaining gas: 1039986.605 units remaining) - [ 1 @elt - 10 @parameter ] - - location: 16 (remaining gas: 1039986.305 units remaining) - [ 10 @parameter - 10 @parameter ] - - location: 15 (remaining gas: 1039986.235 units remaining) - [ 10 @parameter - 10 @parameter ] - - location: 14 (remaining gas: 1039986.235 units remaining) - [ 1 @elt - 10 @parameter - 10 @parameter ] - - location: 17 (remaining gas: 1039986.095 units remaining) - [ 11 - 10 @parameter ] - - location: -1 (remaining gas: 1039986.025 units remaining) - [ 11 - 10 @parameter ] - - location: 11 (remaining gas: 1039986.025 units remaining) - [ { Elt "foo" 11 } - 10 @parameter ] - - location: 20 (remaining gas: 1039985.725 units remaining) - [ ] - - location: 19 (remaining gas: 1039985.655 units remaining) - [ ] - - location: 18 (remaining gas: 1039985.655 units remaining) - [ { Elt "foo" 11 } ] - - location: 21 (remaining gas: 1039985.515 units remaining) - [ {} - { Elt "foo" 11 } ] - - location: 23 (remaining gas: 1039985.375 units remaining) - [ (Pair {} { Elt "foo" 11 }) ] - - location: -1 (remaining gas: 1039985.305 units remaining) - [ (Pair {} { Elt "foo" 11 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out deleted file mode 100644 index 7feca309e98a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}].out +++ /dev/null @@ -1,34 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_map.tz-{}-10-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039988.520 units remaining) - [ (Pair 10 {}) ] - - location: 9 (remaining gas: 1039988.380 units remaining) - [ 10 @parameter - {} @storage ] - - location: 10 (remaining gas: 1039988.250 units remaining) - [ {} @storage - 10 @parameter ] - - location: 11 (remaining gas: 1039988.110 units remaining) - [ {} - 10 @parameter ] - - location: 20 (remaining gas: 1039987.810 units remaining) - [ ] - - location: 19 (remaining gas: 1039987.740 units remaining) - [ ] - - location: 18 (remaining gas: 1039987.740 units remaining) - [ {} ] - - location: 21 (remaining gas: 1039987.600 units remaining) - [ {} - {} ] - - location: 23 (remaining gas: 1039987.460 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039987.390 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 959adc9a2493..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 0 1 } None)-1-(Pair { Elt 0 1 } (Some False))] - -storage - (Pair { Elt 0 1 } (Some False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039987.090 units remaining) - [ (Pair 1 { Elt 0 1 } None) ] - - location: 12 (remaining gas: 1039986.950 units remaining) - [ 1 @parameter - (Pair { Elt 0 1 } None) @storage ] - - location: 15 (remaining gas: 1039986.650 units remaining) - [ { Elt 0 1 } ] - - location: 16 (remaining gas: 1039986.510 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: -1 (remaining gas: 1039986.440 units remaining) - [ { Elt 0 1 } - { Elt 0 1 } ] - - location: 13 (remaining gas: 1039986.440 units remaining) - [ 1 @parameter - { Elt 0 1 } - { Elt 0 1 } ] - - location: 17 (remaining gas: 1039986.300 units remaining) - [ False - { Elt 0 1 } ] - - location: 18 (remaining gas: 1039986.160 units remaining) - [ (Some False) - { Elt 0 1 } ] - - location: 19 (remaining gas: 1039986.030 units remaining) - [ { Elt 0 1 } - (Some False) ] - - location: 20 (remaining gas: 1039985.890 units remaining) - [ (Pair { Elt 0 1 } (Some False)) ] - - location: 21 (remaining gas: 1039985.750 units remaining) - [ {} - (Pair { Elt 0 1 } (Some False)) ] - - location: 23 (remaining gas: 1039985.610 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - - location: -1 (remaining gas: 1039985.540 units remaining) - [ (Pair {} { Elt 0 1 } (Some False)) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index a57c1c09574d..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 0 } None)-1-(Pair { Elt 1 0 } (Some True))] - -storage - (Pair { Elt 1 0 } (Some True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039987.090 units remaining) - [ (Pair 1 { Elt 1 0 } None) ] - - location: 12 (remaining gas: 1039986.950 units remaining) - [ 1 @parameter - (Pair { Elt 1 0 } None) @storage ] - - location: 15 (remaining gas: 1039986.650 units remaining) - [ { Elt 1 0 } ] - - location: 16 (remaining gas: 1039986.510 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: -1 (remaining gas: 1039986.440 units remaining) - [ { Elt 1 0 } - { Elt 1 0 } ] - - location: 13 (remaining gas: 1039986.440 units remaining) - [ 1 @parameter - { Elt 1 0 } - { Elt 1 0 } ] - - location: 17 (remaining gas: 1039986.300 units remaining) - [ True - { Elt 1 0 } ] - - location: 18 (remaining gas: 1039986.160 units remaining) - [ (Some True) - { Elt 1 0 } ] - - location: 19 (remaining gas: 1039986.030 units remaining) - [ { Elt 1 0 } - (Some True) ] - - location: 20 (remaining gas: 1039985.890 units remaining) - [ (Pair { Elt 1 0 } (Some True)) ] - - location: 21 (remaining gas: 1039985.750 units remaining) - [ {} - (Pair { Elt 1 0 } (Some True)) ] - - location: 23 (remaining gas: 1039985.610 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - - location: -1 (remaining gas: 1039985.540 units remaining) - [ (Pair {} { Elt 1 0 } (Some True)) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 7beadfb5fc84..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-1-(Pair { Elt 1 4 ; Elt 2 11 } (Some True))] - -storage - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039986.380 units remaining) - [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039986.240 units remaining) - [ 1 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.940 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039985.800 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039985.730 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039985.730 units remaining) - [ 1 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039985.590 units remaining) - [ True - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039985.450 units remaining) - [ (Some True) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039985.320 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some True) ] - - location: 20 (remaining gas: 1039985.180 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.040 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039984.900 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index 2edc45006cb6..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-2-(Pair { Elt 1 4 ; Elt 2 11 } (Some True))] - -storage - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039986.380 units remaining) - [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039986.240 units remaining) - [ 2 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.940 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039985.800 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039985.730 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039985.730 units remaining) - [ 2 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039985.590 units remaining) - [ True - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039985.450 units remaining) - [ (Some True) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039985.320 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some True) ] - - location: 20 (remaining gas: 1039985.180 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 21 (remaining gas: 1039985.040 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: 23 (remaining gas: 1039984.900 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] - diff --git a/tests_python/tests_008/_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_008/_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 deleted file mode 100644 index cb48e422dc28..000000000000 --- a/tests_python/tests_008/_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 +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair { Elt 1 4 ; Elt 2 11 } None)-3-(Pair { Elt 1 4 ; Elt 2 11 } (Some False))] - -storage - (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039986.380 units remaining) - [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] - - location: 12 (remaining gas: 1039986.240 units remaining) - [ 3 @parameter - (Pair { Elt 1 4 ; Elt 2 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.940 units remaining) - [ { Elt 1 4 ; Elt 2 11 } ] - - location: 16 (remaining gas: 1039985.800 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: -1 (remaining gas: 1039985.730 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 13 (remaining gas: 1039985.730 units remaining) - [ 3 @parameter - { Elt 1 4 ; Elt 2 11 } - { Elt 1 4 ; Elt 2 11 } ] - - location: 17 (remaining gas: 1039985.590 units remaining) - [ False - { Elt 1 4 ; Elt 2 11 } ] - - location: 18 (remaining gas: 1039985.450 units remaining) - [ (Some False) - { Elt 1 4 ; Elt 2 11 } ] - - location: 19 (remaining gas: 1039985.320 units remaining) - [ { Elt 1 4 ; Elt 2 11 } - (Some False) ] - - location: 20 (remaining gas: 1039985.180 units remaining) - [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 21 (remaining gas: 1039985.040 units remaining) - [ {} - (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: 23 (remaining gas: 1039984.900 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out deleted file mode 100644 index d887c646e930..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))].out +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_nat.tz-(Pair {} None)-1-(Pair {} (Some False))] - -storage - (Pair {} (Some False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039987.650 units remaining) - [ (Pair 1 {} None) ] - - location: 12 (remaining gas: 1039987.510 units remaining) - [ 1 @parameter - (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039987.210 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039987.070 units remaining) - [ {} - {} ] - - location: -1 (remaining gas: 1039987 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039987 units remaining) - [ 1 @parameter - {} - {} ] - - location: 17 (remaining gas: 1039986.860 units remaining) - [ False - {} ] - - location: 18 (remaining gas: 1039986.720 units remaining) - [ (Some False) - {} ] - - location: 19 (remaining gas: 1039986.590 units remaining) - [ {} - (Some False) ] - - location: 20 (remaining gas: 1039986.450 units remaining) - [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039986.310 units remaining) - [ {} - (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039986.170 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039986.100 units remaining) - [ (Pair {} {} (Some False)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" deleted file mode 100644 index 86aa715e8d8b..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .6d625e02a5.out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)-"bar"-(Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True))] - -storage - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039986.278 units remaining) - [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039986.138 units remaining) - [ "bar" @parameter - (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.838 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039985.698 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039985.628 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039985.628 units remaining) - [ "bar" @parameter - { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039985.488 units remaining) - [ True - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.348 units remaining) - [ (Some True) - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.218 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - (Some True) ] - - location: 20 (remaining gas: 1039985.078 units remaining) - [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.938 units remaining) - [ {} - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039984.798 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039984.728 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" deleted file mode 100644 index a4a136b0b2bd..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .a7e3837a82.out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)-"foo"-(Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True))] - -storage - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039986.278 units remaining) - [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039986.138 units remaining) - [ "foo" @parameter - (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.838 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039985.698 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039985.628 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039985.628 units remaining) - [ "foo" @parameter - { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039985.488 units remaining) - [ True - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.348 units remaining) - [ (Some True) - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.218 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - (Some True) ] - - location: 20 (remaining gas: 1039985.078 units remaining) - [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 21 (remaining gas: 1039984.938 units remaining) - [ {} - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: 23 (remaining gas: 1039984.798 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - - location: -1 (remaining gas: 1039984.728 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" deleted file mode 100644 index 1bddcb5a7e94..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"bar\" 4 ; Elt \"foo\" 11 } .c7716fe79e.out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)-"baz"-(Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False))] - -storage - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039986.278 units remaining) - [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] - - location: 12 (remaining gas: 1039986.138 units remaining) - [ "baz" @parameter - (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) @storage ] - - location: 15 (remaining gas: 1039985.838 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 16 (remaining gas: 1039985.698 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: -1 (remaining gas: 1039985.628 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 13 (remaining gas: 1039985.628 units remaining) - [ "baz" @parameter - { Elt "bar" 4 ; Elt "foo" 11 } - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 17 (remaining gas: 1039985.488 units remaining) - [ False - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 18 (remaining gas: 1039985.348 units remaining) - [ (Some False) - { Elt "bar" 4 ; Elt "foo" 11 } ] - - location: 19 (remaining gas: 1039985.218 units remaining) - [ { Elt "bar" 4 ; Elt "foo" 11 } - (Some False) ] - - location: 20 (remaining gas: 1039985.078 units remaining) - [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 21 (remaining gas: 1039984.938 units remaining) - [ {} - (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: 23 (remaining gas: 1039984.798 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - - location: -1 (remaining gas: 1039984.728 units remaining) - [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" deleted file mode 100644 index c918d3f5a05b..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 0 } None)-\"foo\"-(Pa.7861a3b1e2.out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt "foo" 0 } None)-"foo"-(Pair { Elt "foo" 0 } (Some True))] - -storage - (Pair { Elt "foo" 0 } (Some True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039987.002 units remaining) - [ (Pair "foo" { Elt "foo" 0 } None) ] - - location: 12 (remaining gas: 1039986.862 units remaining) - [ "foo" @parameter - (Pair { Elt "foo" 0 } None) @storage ] - - location: 15 (remaining gas: 1039986.562 units remaining) - [ { Elt "foo" 0 } ] - - location: 16 (remaining gas: 1039986.422 units remaining) - [ { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: -1 (remaining gas: 1039986.352 units remaining) - [ { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: 13 (remaining gas: 1039986.352 units remaining) - [ "foo" @parameter - { Elt "foo" 0 } - { Elt "foo" 0 } ] - - location: 17 (remaining gas: 1039986.212 units remaining) - [ True - { Elt "foo" 0 } ] - - location: 18 (remaining gas: 1039986.072 units remaining) - [ (Some True) - { Elt "foo" 0 } ] - - location: 19 (remaining gas: 1039985.942 units remaining) - [ { Elt "foo" 0 } - (Some True) ] - - location: 20 (remaining gas: 1039985.802 units remaining) - [ (Pair { Elt "foo" 0 } (Some True)) ] - - location: 21 (remaining gas: 1039985.662 units remaining) - [ {} - (Pair { Elt "foo" 0 } (Some True)) ] - - location: 23 (remaining gas: 1039985.522 units remaining) - [ (Pair {} { Elt "foo" 0 } (Some True)) ] - - location: -1 (remaining gas: 1039985.452 units remaining) - [ (Pair {} { Elt "foo" 0 } (Some True)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" deleted file mode 100644 index 1e05fbaab6d4..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt \"foo\" 1 } None)-\"bar\"-(Pa.fa8366e8a8.out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair { Elt "foo" 1 } None)-"bar"-(Pair { Elt "foo" 1 } (Some False))] - -storage - (Pair { Elt "foo" 1 } (Some False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039987.002 units remaining) - [ (Pair "bar" { Elt "foo" 1 } None) ] - - location: 12 (remaining gas: 1039986.862 units remaining) - [ "bar" @parameter - (Pair { Elt "foo" 1 } None) @storage ] - - location: 15 (remaining gas: 1039986.562 units remaining) - [ { Elt "foo" 1 } ] - - location: 16 (remaining gas: 1039986.422 units remaining) - [ { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: -1 (remaining gas: 1039986.352 units remaining) - [ { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: 13 (remaining gas: 1039986.352 units remaining) - [ "bar" @parameter - { Elt "foo" 1 } - { Elt "foo" 1 } ] - - location: 17 (remaining gas: 1039986.212 units remaining) - [ False - { Elt "foo" 1 } ] - - location: 18 (remaining gas: 1039986.072 units remaining) - [ (Some False) - { Elt "foo" 1 } ] - - location: 19 (remaining gas: 1039985.942 units remaining) - [ { Elt "foo" 1 } - (Some False) ] - - location: 20 (remaining gas: 1039985.802 units remaining) - [ (Pair { Elt "foo" 1 } (Some False)) ] - - location: 21 (remaining gas: 1039985.662 units remaining) - [ {} - (Pair { Elt "foo" 1 } (Some False)) ] - - location: 23 (remaining gas: 1039985.522 units remaining) - [ (Pair {} { Elt "foo" 1 } (Some False)) ] - - location: -1 (remaining gas: 1039985.452 units remaining) - [ (Pair {} { Elt "foo" 1 } (Some False)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" deleted file mode 100644 index 7eb1aa0405fe..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-\"bar\"-(Pair {} (Some False))].out" +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_mem_string.tz-(Pair {} None)-"bar"-(Pair {} (Some False))] - -storage - (Pair {} (Some False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039987.606 units remaining) - [ (Pair "bar" {} None) ] - - location: 12 (remaining gas: 1039987.466 units remaining) - [ "bar" @parameter - (Pair {} None) @storage ] - - location: 15 (remaining gas: 1039987.166 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039987.026 units remaining) - [ {} - {} ] - - location: -1 (remaining gas: 1039986.956 units remaining) - [ {} - {} ] - - location: 13 (remaining gas: 1039986.956 units remaining) - [ "bar" @parameter - {} - {} ] - - location: 17 (remaining gas: 1039986.816 units remaining) - [ False - {} ] - - location: 18 (remaining gas: 1039986.676 units remaining) - [ (Some False) - {} ] - - location: 19 (remaining gas: 1039986.546 units remaining) - [ {} - (Some False) ] - - location: 20 (remaining gas: 1039986.406 units remaining) - [ (Pair {} (Some False)) ] - - location: 21 (remaining gas: 1039986.266 units remaining) - [ {} - (Pair {} (Some False)) ] - - location: 23 (remaining gas: 1039986.126 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039986.056 units remaining) - [ (Pair {} {} (Some False)) ] - diff --git "a/tests_python/tests_008/_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_008/_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" deleted file mode 100644 index 716426677224..000000000000 --- "a/tests_python/tests_008/_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" +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 }-6] - -storage - 6 -emitted operations - -big_map diff - -trace - - location: 8 (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.156 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.006 units remaining) - [ 6 ] - - location: 11 (remaining gas: 1039989.866 units remaining) - [ {} - 6 ] - - location: 13 (remaining gas: 1039989.726 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039989.656 units remaining) - [ (Pair {} 6) ] - diff --git "a/tests_python/tests_008/_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_008/_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" deleted file mode 100644 index 9bf0313280c3..000000000000 --- "a/tests_python/tests_008/_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" +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 }-3] - -storage - 3 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.408 units remaining) - [ (Pair { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } 111) ] - - location: 9 (remaining gas: 1039992.268 units remaining) - [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } @parameter ] - - location: 10 (remaining gas: 1039992.118 units remaining) - [ 3 ] - - location: 11 (remaining gas: 1039991.978 units remaining) - [ {} - 3 ] - - location: 13 (remaining gas: 1039991.838 units remaining) - [ (Pair {} 3) ] - - location: -1 (remaining gas: 1039991.768 units remaining) - [ (Pair {} 3) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" deleted file mode 100644 index 7a1f112eeac4..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt \"a\" 1 }-1].out" +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_size.tz-111-{ Elt "a" 1 }-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.816 units remaining) - [ (Pair { Elt "a" 1 } 111) ] - - location: 9 (remaining gas: 1039993.676 units remaining) - [ { Elt "a" 1 } @parameter ] - - location: 10 (remaining gas: 1039993.526 units remaining) - [ 1 ] - - location: 11 (remaining gas: 1039993.386 units remaining) - [ {} - 1 ] - - location: 13 (remaining gas: 1039993.246 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039993.176 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out deleted file mode 100644 index f2b1d5fd7b17..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[map_size.tz-111-{}-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039994.400 units remaining) - [ (Pair {} 111) ] - - location: 9 (remaining gas: 1039994.260 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039994.110 units remaining) - [ 0 ] - - location: 11 (remaining gas: 1039993.970 units remaining) - [ {} - 0 ] - - location: 13 (remaining gas: 1039993.830 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039993.760 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out deleted file mode 100644 index 48db64c8869c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,133 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[mul.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039937.860 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039937.720 units remaining) - [ Unit @parameter ] - - location: 8 (remaining gas: 1039937.580 units remaining) - [ ] - - location: 9 (remaining gas: 1039937.440 units remaining) - [ 7987 ] - - location: 12 (remaining gas: 1039937.300 units remaining) - [ 10 - 7987 ] - - location: 15 (remaining gas: 1039936.774 units remaining) - [ 79870 ] - - location: 16 (remaining gas: 1039936.634 units remaining) - [ 79870 - 79870 ] - - location: 19 (remaining gas: 1039936.470 units remaining) - [ 0 ] - - location: 21 (remaining gas: 1039936.270 units remaining) - [ True ] - - location: 23 (remaining gas: 1039936.080 units remaining) - [ ] - - location: -1 (remaining gas: 1039936.010 units remaining) - [ ] - - location: 28 (remaining gas: 1039935.870 units remaining) - [ 10 ] - - location: 31 (remaining gas: 1039935.730 units remaining) - [ 7987 - 10 ] - - location: 34 (remaining gas: 1039935.204 units remaining) - [ 79870 ] - - location: 35 (remaining gas: 1039935.064 units remaining) - [ 79870 - 79870 ] - - location: 38 (remaining gas: 1039934.900 units remaining) - [ 0 ] - - location: 40 (remaining gas: 1039934.700 units remaining) - [ True ] - - location: 42 (remaining gas: 1039934.510 units remaining) - [ ] - - location: -1 (remaining gas: 1039934.440 units remaining) - [ ] - - location: 47 (remaining gas: 1039934.300 units remaining) - [ 10 ] - - location: 50 (remaining gas: 1039934.160 units remaining) - [ -7987 - 10 ] - - location: 53 (remaining gas: 1039934.011 units remaining) - [ -79870 ] - - location: 54 (remaining gas: 1039933.871 units remaining) - [ -79870 - -79870 ] - - location: 57 (remaining gas: 1039933.661 units remaining) - [ 0 ] - - location: 59 (remaining gas: 1039933.461 units remaining) - [ True ] - - location: 61 (remaining gas: 1039933.271 units remaining) - [ ] - - location: -1 (remaining gas: 1039933.201 units remaining) - [ ] - - location: 66 (remaining gas: 1039933.061 units remaining) - [ 10 ] - - location: 69 (remaining gas: 1039932.921 units remaining) - [ -7987 - 10 ] - - location: 72 (remaining gas: 1039932.772 units remaining) - [ -79870 ] - - location: 73 (remaining gas: 1039932.632 units remaining) - [ -79870 - -79870 ] - - location: 76 (remaining gas: 1039932.422 units remaining) - [ 0 ] - - location: 78 (remaining gas: 1039932.222 units remaining) - [ True ] - - location: 80 (remaining gas: 1039932.032 units remaining) - [ ] - - location: -1 (remaining gas: 1039931.962 units remaining) - [ ] - - location: 85 (remaining gas: 1039931.822 units remaining) - [ -10 ] - - location: 88 (remaining gas: 1039931.682 units remaining) - [ 7987 - -10 ] - - location: 91 (remaining gas: 1039931.533 units remaining) - [ -79870 ] - - location: 92 (remaining gas: 1039931.393 units remaining) - [ -79870 - -79870 ] - - location: 95 (remaining gas: 1039931.183 units remaining) - [ 0 ] - - location: 97 (remaining gas: 1039930.983 units remaining) - [ True ] - - location: 99 (remaining gas: 1039930.793 units remaining) - [ ] - - location: -1 (remaining gas: 1039930.723 units remaining) - [ ] - - location: 104 (remaining gas: 1039930.583 units remaining) - [ 10 ] - - location: 107 (remaining gas: 1039930.443 units remaining) - [ 7987 - 10 ] - - location: 110 (remaining gas: 1039930.294 units remaining) - [ 79870 ] - - location: 111 (remaining gas: 1039930.154 units remaining) - [ 79870 - 79870 ] - - location: 114 (remaining gas: 1039929.944 units remaining) - [ 0 ] - - location: 116 (remaining gas: 1039929.744 units remaining) - [ True ] - - location: 118 (remaining gas: 1039929.554 units remaining) - [ ] - - location: -1 (remaining gas: 1039929.484 units remaining) - [ ] - - location: 123 (remaining gas: 1039929.344 units remaining) - [ Unit ] - - location: 124 (remaining gas: 1039929.204 units remaining) - [ {} - Unit ] - - location: 126 (remaining gas: 1039929.064 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039928.994 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out deleted file mode 100644 index 2b9054d91f51..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000.be11332c7f.out +++ /dev/null @@ -1,40 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x00-257-0x0101000000000000000000000000000000000000000000000000000000000000] - -storage - 0x0101000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039986.695 units remaining) - [ (Pair 257 0x0000000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039986.555 units remaining) - [ 257 @parameter ] - - location: 8 (remaining gas: 1039986.415 units remaining) - [ 1 - 257 @parameter ] - - location: 11 (remaining gas: 1039986.285 units remaining) - [ 257 @parameter - 1 ] - - location: 12 (remaining gas: 1039986.025 units remaining) - [ (Some (Pair 257 0)) ] - - location: 19 (remaining gas: 1039985.755 units remaining) - [ (Pair 257 0) @some ] - - location: 13 (remaining gas: 1039985.685 units remaining) - [ (Pair 257 0) @some ] - - location: 20 (remaining gas: 1039985.545 units remaining) - [ 257 ] - - location: 21 (remaining gas: 1039985.405 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 - 257 ] - - location: 24 (remaining gas: 1039984.955 units remaining) - [ 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039984.815 units remaining) - [ {} - 0x0101000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039984.675 units remaining) - [ (Pair {} 0x0101000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039984.605 units remaining) - [ (Pair {} 0x0101000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out deleted file mode 100644 index 6c08ced543e2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x10000000000000000000.8230fb4fac.out +++ /dev/null @@ -1,40 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[mutez_to_bls12_381_fr.tz-0x02-16-0x1000000000000000000000000000000000000000000000000000000000000000] - -storage - 0x1000000000000000000000000000000000000000000000000000000000000000 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039986.695 units remaining) - [ (Pair 16 0x0200000000000000000000000000000000000000000000000000000000000000) ] - - location: 7 (remaining gas: 1039986.555 units remaining) - [ 16 @parameter ] - - location: 8 (remaining gas: 1039986.415 units remaining) - [ 1 - 16 @parameter ] - - location: 11 (remaining gas: 1039986.285 units remaining) - [ 16 @parameter - 1 ] - - location: 12 (remaining gas: 1039986.025 units remaining) - [ (Some (Pair 16 0)) ] - - location: 19 (remaining gas: 1039985.755 units remaining) - [ (Pair 16 0) @some ] - - location: 13 (remaining gas: 1039985.685 units remaining) - [ (Pair 16 0) @some ] - - location: 20 (remaining gas: 1039985.545 units remaining) - [ 16 ] - - location: 21 (remaining gas: 1039985.405 units remaining) - [ 0x0100000000000000000000000000000000000000000000000000000000000000 - 16 ] - - location: 24 (remaining gas: 1039984.955 units remaining) - [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 25 (remaining gas: 1039984.815 units remaining) - [ {} - 0x1000000000000000000000000000000000000000000000000000000000000000 ] - - location: 27 (remaining gas: 1039984.675 units remaining) - [ (Pair {} 0x1000000000000000000000000000000000000000000000000000000000000000) ] - - location: -1 (remaining gas: 1039984.605 units remaining) - [ (Pair {} 0x1000000000000000000000000000000000000000000000000000000000000000) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out deleted file mode 100644 index b9afdc32e15d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left -2)-2] - -storage - 2 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.530 units remaining) - [ (Pair (Left -2) 0) ] - - location: 9 (remaining gas: 1039992.390 units remaining) - [ (Left -2) @parameter ] - - location: 12 (remaining gas: 1039992.100 units remaining) - [ 2 ] - - location: 11 (remaining gas: 1039992.030 units remaining) - [ 2 ] - - location: 15 (remaining gas: 1039991.890 units remaining) - [ {} - 2 ] - - location: 17 (remaining gas: 1039991.750 units remaining) - [ (Pair {} 2) ] - - location: -1 (remaining gas: 1039991.680 units remaining) - [ (Pair {} 2) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out deleted file mode 100644 index 87b70d65449f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 0)-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.530 units remaining) - [ (Pair (Left 0) 0) ] - - location: 9 (remaining gas: 1039992.390 units remaining) - [ (Left 0) @parameter ] - - location: 12 (remaining gas: 1039992.100 units remaining) - [ 0 ] - - location: 11 (remaining gas: 1039992.030 units remaining) - [ 0 ] - - location: 15 (remaining gas: 1039991.890 units remaining) - [ {} - 0 ] - - location: 17 (remaining gas: 1039991.750 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039991.680 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out deleted file mode 100644 index 97f379d2c743..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[neg.tz-0-(Left 2)--2] - -storage - -2 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.530 units remaining) - [ (Pair (Left 2) 0) ] - - location: 9 (remaining gas: 1039992.390 units remaining) - [ (Left 2) @parameter ] - - location: 12 (remaining gas: 1039992.100 units remaining) - [ -2 ] - - location: 11 (remaining gas: 1039992.030 units remaining) - [ -2 ] - - location: 15 (remaining gas: 1039991.890 units remaining) - [ {} - -2 ] - - location: 17 (remaining gas: 1039991.750 units remaining) - [ (Pair {} -2) ] - - location: -1 (remaining gas: 1039991.680 units remaining) - [ (Pair {} -2) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out deleted file mode 100644 index abe94fa4738a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 0)-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.530 units remaining) - [ (Pair (Right 0) 0) ] - - location: 9 (remaining gas: 1039992.390 units remaining) - [ (Right 0) @parameter ] - - location: 14 (remaining gas: 1039992.100 units remaining) - [ 0 ] - - location: 13 (remaining gas: 1039992.030 units remaining) - [ 0 ] - - location: 15 (remaining gas: 1039991.890 units remaining) - [ {} - 0 ] - - location: 17 (remaining gas: 1039991.750 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039991.680 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out deleted file mode 100644 index 6f857dee7470..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[neg.tz-0-(Right 2)--2] - -storage - -2 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039992.530 units remaining) - [ (Pair (Right 2) 0) ] - - location: 9 (remaining gas: 1039992.390 units remaining) - [ (Right 2) @parameter ] - - location: 14 (remaining gas: 1039992.100 units remaining) - [ -2 ] - - location: 13 (remaining gas: 1039992.030 units remaining) - [ -2 ] - - location: 15 (remaining gas: 1039991.890 units remaining) - [ {} - -2 ] - - location: 17 (remaining gas: 1039991.750 units remaining) - [ (Pair {} -2) ] - - location: -1 (remaining gas: 1039991.680 units remaining) - [ (Pair {} -2) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out deleted file mode 100644 index 6b3232715177..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[none.tz-Some 10-Unit-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.030 units remaining) - [ (Pair Unit (Some 10)) ] - - location: 8 (remaining gas: 1039993.890 units remaining) - [ ] - - location: 9 (remaining gas: 1039993.750 units remaining) - [ None ] - - location: 11 (remaining gas: 1039993.610 units remaining) - [ {} - None ] - - location: 13 (remaining gas: 1039993.470 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039993.400 units remaining) - [ (Pair {} None) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out deleted file mode 100644 index e00597244cd9..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not.tz-None-False-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair False None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ False @parameter ] - - location: 9 (remaining gas: 1039993.400 units remaining) - [ True ] - - location: 10 (remaining gas: 1039993.260 units remaining) - [ (Some True) ] - - location: 11 (remaining gas: 1039993.120 units remaining) - [ {} - (Some True) ] - - location: 13 (remaining gas: 1039992.980 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039992.910 units remaining) - [ (Pair {} (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out deleted file mode 100644 index 2c04363212b5..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not.tz-None-True-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair True None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ True @parameter ] - - location: 9 (remaining gas: 1039993.400 units remaining) - [ False ] - - location: 10 (remaining gas: 1039993.260 units remaining) - [ (Some False) ] - - location: 11 (remaining gas: 1039993.120 units remaining) - [ {} - (Some False) ] - - location: 13 (remaining gas: 1039992.980 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039992.910 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out deleted file mode 100644 index 4358759d37d7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -8)-(Some 7)] - -storage - (Some 7) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Left -8) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Left -8) @parameter ] - - location: 13 (remaining gas: 1039991.075 units remaining) - [ 7 ] - - location: 12 (remaining gas: 1039991.005 units remaining) - [ 7 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some 7) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some 7) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some 7)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some 7)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out deleted file mode 100644 index 84d00bc9fc88..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left -9)-(Some 8)] - -storage - (Some 8) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Left -9) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Left -9) @parameter ] - - location: 13 (remaining gas: 1039991.075 units remaining) - [ 8 ] - - location: 12 (remaining gas: 1039991.005 units remaining) - [ 8 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some 8) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some 8) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some 8)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some 8)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out deleted file mode 100644 index 90ff96983580..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 0)-(Some -1)] - -storage - (Some -1) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Left 0) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Left 0) @parameter ] - - location: 13 (remaining gas: 1039991.075 units remaining) - [ -1 ] - - location: 12 (remaining gas: 1039991.005 units remaining) - [ -1 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some -1) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some -1) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some -1)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some -1)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out deleted file mode 100644 index 24dfc372fb52..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 7)-(Some -8)] - -storage - (Some -8) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Left 7) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Left 7) @parameter ] - - location: 13 (remaining gas: 1039991.075 units remaining) - [ -8 ] - - location: 12 (remaining gas: 1039991.005 units remaining) - [ -8 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some -8) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some -8) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some -8)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some -8)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out deleted file mode 100644 index 78158473cc9b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Left 8)-(Some -9)] - -storage - (Some -9) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Left 8) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Left 8) @parameter ] - - location: 13 (remaining gas: 1039991.075 units remaining) - [ -9 ] - - location: 12 (remaining gas: 1039991.005 units remaining) - [ -9 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some -9) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some -9) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some -9)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some -9)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out deleted file mode 100644 index 169a056c075e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 0)-(Some -1)] - -storage - (Some -1) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Right 0) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Right 0) @parameter ] - - location: 15 (remaining gas: 1039991.075 units remaining) - [ -1 ] - - location: 14 (remaining gas: 1039991.005 units remaining) - [ -1 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some -1) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some -1) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some -1)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some -1)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out deleted file mode 100644 index 9d9fcceaa53e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 7)-(Some -8)] - -storage - (Some -8) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Right 7) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Right 7) @parameter ] - - location: 15 (remaining gas: 1039991.075 units remaining) - [ -8 ] - - location: 14 (remaining gas: 1039991.005 units remaining) - [ -8 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some -8) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some -8) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some -8)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some -8)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out deleted file mode 100644 index 1971657016ae..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)].out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[not_binary.tz-None-(Right 8)-(Some -9)] - -storage - (Some -9) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039991.480 units remaining) - [ (Pair (Right 8) None) ] - - location: 10 (remaining gas: 1039991.340 units remaining) - [ (Right 8) @parameter ] - - location: 15 (remaining gas: 1039991.075 units remaining) - [ -9 ] - - location: 14 (remaining gas: 1039991.005 units remaining) - [ -9 ] - - location: 16 (remaining gas: 1039990.865 units remaining) - [ (Some -9) ] - - location: 17 (remaining gas: 1039990.725 units remaining) - [ {} - (Some -9) ] - - location: 19 (remaining gas: 1039990.585 units remaining) - [ (Pair {} (Some -9)) ] - - location: -1 (remaining gas: 1039990.515 units remaining) - [ (Pair {} (Some -9)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out deleted file mode 100644 index f47cc28443a0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False False)-(Some False)] - -storage - (Some False) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair False False) None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair False False) @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair False False) @parameter - (Pair False False) @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ False - (Pair False False) @parameter ] - - location: 13 (remaining gas: 1039988.600 units remaining) - [ (Pair False False) @parameter - False ] - - location: 14 (remaining gas: 1039988.460 units remaining) - [ False - False ] - - location: 15 (remaining gas: 1039988.310 units remaining) - [ False ] - - location: 16 (remaining gas: 1039988.170 units remaining) - [ (Some False) ] - - location: 17 (remaining gas: 1039988.030 units remaining) - [ {} - (Some False) ] - - location: 19 (remaining gas: 1039987.890 units remaining) - [ (Pair {} (Some False)) ] - - location: -1 (remaining gas: 1039987.820 units remaining) - [ (Pair {} (Some False)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out deleted file mode 100644 index f13a1c2da5cb..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair False True)-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair False True) None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair False True) @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair False True) @parameter - (Pair False True) @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ False - (Pair False True) @parameter ] - - location: 13 (remaining gas: 1039988.600 units remaining) - [ (Pair False True) @parameter - False ] - - location: 14 (remaining gas: 1039988.460 units remaining) - [ True - False ] - - location: 15 (remaining gas: 1039988.310 units remaining) - [ True ] - - location: 16 (remaining gas: 1039988.170 units remaining) - [ (Some True) ] - - location: 17 (remaining gas: 1039988.030 units remaining) - [ {} - (Some True) ] - - location: 19 (remaining gas: 1039987.890 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039987.820 units remaining) - [ (Pair {} (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out deleted file mode 100644 index e118a405e068..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True False)-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair True False) None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair True False) @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair True False) @parameter - (Pair True False) @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ True - (Pair True False) @parameter ] - - location: 13 (remaining gas: 1039988.600 units remaining) - [ (Pair True False) @parameter - True ] - - location: 14 (remaining gas: 1039988.460 units remaining) - [ False - True ] - - location: 15 (remaining gas: 1039988.310 units remaining) - [ True ] - - location: 16 (remaining gas: 1039988.170 units remaining) - [ (Some True) ] - - location: 17 (remaining gas: 1039988.030 units remaining) - [ {} - (Some True) ] - - location: 19 (remaining gas: 1039987.890 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039987.820 units remaining) - [ (Pair {} (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out deleted file mode 100644 index fde2822c5812..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)].out +++ /dev/null @@ -1,37 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or.tz-None-(Pair True True)-(Some True)] - -storage - (Some True) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039989.150 units remaining) - [ (Pair (Pair True True) None) ] - - location: 10 (remaining gas: 1039989.010 units remaining) - [ (Pair True True) @parameter ] - - location: 11 (remaining gas: 1039988.870 units remaining) - [ (Pair True True) @parameter - (Pair True True) @parameter ] - - location: 12 (remaining gas: 1039988.730 units remaining) - [ True - (Pair True True) @parameter ] - - location: 13 (remaining gas: 1039988.600 units remaining) - [ (Pair True True) @parameter - True ] - - location: 14 (remaining gas: 1039988.460 units remaining) - [ True - True ] - - location: 15 (remaining gas: 1039988.310 units remaining) - [ True ] - - location: 16 (remaining gas: 1039988.170 units remaining) - [ (Some True) ] - - location: 17 (remaining gas: 1039988.030 units remaining) - [ {} - (Some True) ] - - location: 19 (remaining gas: 1039987.890 units remaining) - [ (Pair {} (Some True)) ] - - location: -1 (remaining gas: 1039987.820 units remaining) - [ (Pair {} (Some True)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out deleted file mode 100644 index cb9b31251759..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)].out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 0 8)-(Some 8)] - -storage - (Some 8) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.120 units remaining) - [ (Pair (Pair 0 8) None) ] - - location: 10 (remaining gas: 1039991.980 units remaining) - [ (Pair 0 8) @parameter ] - - location: 11 (remaining gas: 1039991.840 units remaining) - [ 0 - 8 ] - - location: 12 (remaining gas: 1039991.700 units remaining) - [ 8 ] - - location: 13 (remaining gas: 1039991.560 units remaining) - [ (Some 8) ] - - location: 14 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 8) ] - - location: 16 (remaining gas: 1039991.280 units remaining) - [ (Pair {} (Some 8)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} (Some 8)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out deleted file mode 100644 index 370fd6471070..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)].out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 14 1)-(Some 15)] - -storage - (Some 15) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.120 units remaining) - [ (Pair (Pair 14 1) None) ] - - location: 10 (remaining gas: 1039991.980 units remaining) - [ (Pair 14 1) @parameter ] - - location: 11 (remaining gas: 1039991.840 units remaining) - [ 14 - 1 ] - - location: 12 (remaining gas: 1039991.700 units remaining) - [ 15 ] - - location: 13 (remaining gas: 1039991.560 units remaining) - [ (Some 15) ] - - location: 14 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 15) ] - - location: 16 (remaining gas: 1039991.280 units remaining) - [ (Pair {} (Some 15)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} (Some 15)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out deleted file mode 100644 index 47612d1e39fa..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)].out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 15 4)-(Some 15)] - -storage - (Some 15) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.120 units remaining) - [ (Pair (Pair 15 4) None) ] - - location: 10 (remaining gas: 1039991.980 units remaining) - [ (Pair 15 4) @parameter ] - - location: 11 (remaining gas: 1039991.840 units remaining) - [ 15 - 4 ] - - location: 12 (remaining gas: 1039991.700 units remaining) - [ 15 ] - - location: 13 (remaining gas: 1039991.560 units remaining) - [ (Some 15) ] - - location: 14 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 15) ] - - location: 16 (remaining gas: 1039991.280 units remaining) - [ (Pair {} (Some 15)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} (Some 15)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out deleted file mode 100644 index 4575f42f0c66..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)].out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 4 8)-(Some 12)] - -storage - (Some 12) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.120 units remaining) - [ (Pair (Pair 4 8) None) ] - - location: 10 (remaining gas: 1039991.980 units remaining) - [ (Pair 4 8) @parameter ] - - location: 11 (remaining gas: 1039991.840 units remaining) - [ 4 - 8 ] - - location: 12 (remaining gas: 1039991.700 units remaining) - [ 12 ] - - location: 13 (remaining gas: 1039991.560 units remaining) - [ (Some 12) ] - - location: 14 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 12) ] - - location: 16 (remaining gas: 1039991.280 units remaining) - [ (Pair {} (Some 12)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} (Some 12)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out deleted file mode 100644 index f0f7b614f4ce..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)].out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 7 7)-(Some 7)] - -storage - (Some 7) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.120 units remaining) - [ (Pair (Pair 7 7) None) ] - - location: 10 (remaining gas: 1039991.980 units remaining) - [ (Pair 7 7) @parameter ] - - location: 11 (remaining gas: 1039991.840 units remaining) - [ 7 - 7 ] - - location: 12 (remaining gas: 1039991.700 units remaining) - [ 7 ] - - location: 13 (remaining gas: 1039991.560 units remaining) - [ (Some 7) ] - - location: 14 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 7) ] - - location: 16 (remaining gas: 1039991.280 units remaining) - [ (Pair {} (Some 7)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} (Some 7)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out deleted file mode 100644 index b14790b261a7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)].out +++ /dev/null @@ -1,28 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[or_binary.tz-None-(Pair 8 0)-(Some 8)] - -storage - (Some 8) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039992.120 units remaining) - [ (Pair (Pair 8 0) None) ] - - location: 10 (remaining gas: 1039991.980 units remaining) - [ (Pair 8 0) @parameter ] - - location: 11 (remaining gas: 1039991.840 units remaining) - [ 8 - 0 ] - - location: 12 (remaining gas: 1039991.700 units remaining) - [ 8 ] - - location: 13 (remaining gas: 1039991.560 units remaining) - [ (Some 8) ] - - location: 14 (remaining gas: 1039991.420 units remaining) - [ {} - (Some 8) ] - - location: 16 (remaining gas: 1039991.280 units remaining) - [ (Pair {} (Some 8)) ] - - location: -1 (remaining gas: 1039991.210 units remaining) - [ (Pair {} (Some 8)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" deleted file mode 100644 index 23b5ce1f6ece..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".368bdfd73a.out" +++ /dev/null @@ -1,900 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair "foobar" (Pair 0x00AABBCC (Pair 1000 (Pair False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"))))))))-Unit1] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039758.056 units remaining) - [ (Pair (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - Unit) ] - - location: 16 (remaining gas: 1039757.916 units remaining) - [ (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 17 (remaining gas: 1039757.776 units remaining) - [ (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter - (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 18 (remaining gas: 1039757.636 units remaining) - [ -1 - (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 21 (remaining gas: 1039757.336 units remaining) - [ -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 20 (remaining gas: 1039757.266 units remaining) - [ -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039757.266 units remaining) - [ -1 - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039748.966 units remaining) - [ 0x050041 @packed - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039741.666 units remaining) - [ (Some -1) @packed.unpacked - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 31 (remaining gas: 1039741.396 units remaining) - [ -1 @packed.unpacked.some - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 25 (remaining gas: 1039741.326 units remaining) - [ -1 @packed.unpacked.some - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039740.996 units remaining) - [ 0 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039740.856 units remaining) - [ True - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039740.786 units remaining) - [ True - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 37 (remaining gas: 1039740.596 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039740.526 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039740.386 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039740.246 units remaining) - [ 1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039739.946 units remaining) - [ 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 45 (remaining gas: 1039739.876 units remaining) - [ 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039739.876 units remaining) - [ 1 - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039731.576 units remaining) - [ 0x050001 @packed - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039724.276 units remaining) - [ (Some 1) @packed.unpacked - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 56 (remaining gas: 1039724.006 units remaining) - [ 1 @packed.unpacked.some - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 50 (remaining gas: 1039723.936 units remaining) - [ 1 @packed.unpacked.some - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039723.606 units remaining) - [ 0 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039723.466 units remaining) - [ True - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039723.396 units remaining) - [ True - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 62 (remaining gas: 1039723.206 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039723.136 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039722.996 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039722.856 units remaining) - [ "foobar" - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039722.556 units remaining) - [ "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 70 (remaining gas: 1039722.486 units remaining) - [ "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039722.486 units remaining) - [ "foobar" - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039710.186 units remaining) - [ 0x050100000006666f6f626172 @packed - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039702.812 units remaining) - [ (Some "foobar") @packed.unpacked - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 81 (remaining gas: 1039702.542 units remaining) - [ "foobar" @packed.unpacked.some - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 75 (remaining gas: 1039702.472 units remaining) - [ "foobar" @packed.unpacked.some - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039702.172 units remaining) - [ 0 - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039702.032 units remaining) - [ True - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039701.962 units remaining) - [ True - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 87 (remaining gas: 1039701.772 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039701.702 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039701.562 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039701.422 units remaining) - [ 0x00aabbcc - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039701.122 units remaining) - [ 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 95 (remaining gas: 1039701.052 units remaining) - [ 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039701.052 units remaining) - [ 0x00aabbcc - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039688.752 units remaining) - [ 0x050a0000000400aabbcc @packed - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039654.452 units remaining) - [ (Some 0x00aabbcc) @packed.unpacked - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 106 (remaining gas: 1039654.182 units remaining) - [ 0x00aabbcc @packed.unpacked.some - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 100 (remaining gas: 1039654.112 units remaining) - [ 0x00aabbcc @packed.unpacked.some - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039653.812 units remaining) - [ 0 - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039653.672 units remaining) - [ True - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039653.602 units remaining) - [ True - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 112 (remaining gas: 1039653.412 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039653.342 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039653.202 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039653.062 units remaining) - [ 1000 - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039652.762 units remaining) - [ 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 120 (remaining gas: 1039652.692 units remaining) - [ 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039652.692 units remaining) - [ 1000 - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039644.392 units remaining) - [ 0x0500a80f @packed - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039637.092 units remaining) - [ (Some 1000) @packed.unpacked - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 131 (remaining gas: 1039636.822 units remaining) - [ 1000 @packed.unpacked.some - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 125 (remaining gas: 1039636.752 units remaining) - [ 1000 @packed.unpacked.some - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039636.468 units remaining) - [ 0 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039636.328 units remaining) - [ True - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039636.258 units remaining) - [ True - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 137 (remaining gas: 1039636.068 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039635.998 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039635.858 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039635.718 units remaining) - [ False - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039635.418 units remaining) - [ False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 145 (remaining gas: 1039635.348 units remaining) - [ False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039635.348 units remaining) - [ False - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039627.048 units remaining) - [ 0x050303 @packed - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039619.748 units remaining) - [ (Some False) @packed.unpacked - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 156 (remaining gas: 1039619.478 units remaining) - [ False @packed.unpacked.some - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 150 (remaining gas: 1039619.408 units remaining) - [ False @packed.unpacked.some - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039619.020 units remaining) - [ 0 - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039618.880 units remaining) - [ True - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039618.810 units remaining) - [ True - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 162 (remaining gas: 1039618.620 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039618.550 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039618.410 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039618.270 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039617.970 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 170 (remaining gas: 1039617.900 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039617.900 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039597.520 units remaining) - [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039559.160 units remaining) - [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 181 (remaining gas: 1039558.890 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 175 (remaining gas: 1039558.820 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039558.430 units remaining) - [ 0 - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039558.290 units remaining) - [ True - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039558.220 units remaining) - [ True - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 187 (remaining gas: 1039558.030 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039557.960 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039557.820 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039557.680 units remaining) - [ "2019-09-09T08:35:33Z" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039557.380 units remaining) - [ "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 195 (remaining gas: 1039557.310 units remaining) - [ "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039557.310 units remaining) - [ "2019-09-09T08:35:33Z" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039549.010 units remaining) - [ 0x050095bbb0d70b @packed - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039541.710 units remaining) - [ (Some "2019-09-09T08:35:33Z") @packed.unpacked - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 206 (remaining gas: 1039541.440 units remaining) - [ "2019-09-09T08:35:33Z" @packed.unpacked.some - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 200 (remaining gas: 1039541.370 units remaining) - [ "2019-09-09T08:35:33Z" @packed.unpacked.some - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039541.050 units remaining) - [ 0 - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039540.910 units remaining) - [ True - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039540.840 units remaining) - [ True - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 212 (remaining gas: 1039540.650 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039540.580 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039540.440 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039509.540 units remaining) - [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039413.240 units remaining) - [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 227 (remaining gas: 1039412.970 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 221 (remaining gas: 1039412.900 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039412.502 units remaining) - [ 0 ] - - location: 231 (remaining gas: 1039412.362 units remaining) - [ True ] - - location: -1 (remaining gas: 1039412.292 units remaining) - [ True ] - - location: 233 (remaining gas: 1039412.102 units remaining) - [ ] - - location: -1 (remaining gas: 1039412.032 units remaining) - [ ] - - location: 238 (remaining gas: 1039411.892 units remaining) - [ 0 ] - - location: 241 (remaining gas: 1039403.592 units remaining) - [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039398.292 units remaining) - [ (Some 0) @packed.unpacked ] - - location: 250 (remaining gas: 1039398.022 units remaining) - [ 0 @packed.unpacked.some ] - - location: 244 (remaining gas: 1039397.952 units remaining) - [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039397.812 units remaining) - [ ] - - location: 252 (remaining gas: 1039397.672 units remaining) - [ -1 ] - - location: 255 (remaining gas: 1039389.372 units remaining) - [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039286.312 units remaining) - [ None @packed.unpacked ] - - location: 260 (remaining gas: 1039286.042 units remaining) - [ ] - - location: 258 (remaining gas: 1039285.972 units remaining) - [ ] - - location: 265 (remaining gas: 1039285.832 units remaining) - [ 0x ] - - location: 268 (remaining gas: 1039285.772 units remaining) - [ None @unpacked ] - - location: 272 (remaining gas: 1039285.502 units remaining) - [ ] - - location: 270 (remaining gas: 1039285.432 units remaining) - [ ] - - location: 277 (remaining gas: 1039285.292 units remaining) - [ 0x04 ] - - location: 280 (remaining gas: 1039285.232 units remaining) - [ None @unpacked ] - - location: 284 (remaining gas: 1039284.962 units remaining) - [ ] - - location: 282 (remaining gas: 1039284.892 units remaining) - [ ] - - location: 289 (remaining gas: 1039284.752 units remaining) - [ 0x05 ] - - location: 292 (remaining gas: 1039284.692 units remaining) - [ None @unpacked ] - - location: 296 (remaining gas: 1039284.422 units remaining) - [ ] - - location: 294 (remaining gas: 1039284.352 units remaining) - [ ] - - location: 301 (remaining gas: 1039284.212 units remaining) - [ Unit ] - - location: 302 (remaining gas: 1039284.072 units remaining) - [ {} - Unit ] - - location: 304 (remaining gas: 1039283.932 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039283.862 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" deleted file mode 100644 index 10e996f47832..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair \"foobar\".735d9ae802.out" +++ /dev/null @@ -1,900 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[packunpack_rev.tz-Unit-(Pair -1 (Pair 1 (Pair "foobar" (Pair 0x00AABBCC (Pair 1000 (Pair False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"))))))))-Unit0] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039758.056 units remaining) - [ (Pair (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - Unit) ] - - location: 16 (remaining gas: 1039757.916 units remaining) - [ (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 17 (remaining gas: 1039757.776 units remaining) - [ (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter - (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 18 (remaining gas: 1039757.636 units remaining) - [ -1 - (Pair -1 - 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @parameter ] - - location: 21 (remaining gas: 1039757.336 units remaining) - [ -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 20 (remaining gas: 1039757.266 units remaining) - [ -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 19 (remaining gas: 1039757.266 units remaining) - [ -1 - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 22 (remaining gas: 1039748.966 units remaining) - [ 0x050041 @packed - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 23 (remaining gas: 1039741.666 units remaining) - [ (Some -1) @packed.unpacked - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 31 (remaining gas: 1039741.396 units remaining) - [ -1 @packed.unpacked.some - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 25 (remaining gas: 1039741.326 units remaining) - [ -1 @packed.unpacked.some - -1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 34 (remaining gas: 1039740.996 units remaining) - [ 0 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 35 (remaining gas: 1039740.856 units remaining) - [ True - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039740.786 units remaining) - [ True - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 37 (remaining gas: 1039740.596 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039740.526 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 42 (remaining gas: 1039740.386 units remaining) - [ (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 43 (remaining gas: 1039740.246 units remaining) - [ 1 - (Pair 1 - "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 46 (remaining gas: 1039739.946 units remaining) - [ 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 45 (remaining gas: 1039739.876 units remaining) - [ 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 44 (remaining gas: 1039739.876 units remaining) - [ 1 - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 47 (remaining gas: 1039731.576 units remaining) - [ 0x050001 @packed - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 48 (remaining gas: 1039724.276 units remaining) - [ (Some 1) @packed.unpacked - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 56 (remaining gas: 1039724.006 units remaining) - [ 1 @packed.unpacked.some - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 50 (remaining gas: 1039723.936 units remaining) - [ 1 @packed.unpacked.some - 1 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 59 (remaining gas: 1039723.606 units remaining) - [ 0 - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 60 (remaining gas: 1039723.466 units remaining) - [ True - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039723.396 units remaining) - [ True - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 62 (remaining gas: 1039723.206 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039723.136 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 67 (remaining gas: 1039722.996 units remaining) - [ (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 68 (remaining gas: 1039722.856 units remaining) - [ "foobar" - (Pair "foobar" - 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 71 (remaining gas: 1039722.556 units remaining) - [ "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 70 (remaining gas: 1039722.486 units remaining) - [ "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 69 (remaining gas: 1039722.486 units remaining) - [ "foobar" - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 72 (remaining gas: 1039710.186 units remaining) - [ 0x050100000006666f6f626172 @packed - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 73 (remaining gas: 1039702.812 units remaining) - [ (Some "foobar") @packed.unpacked - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 81 (remaining gas: 1039702.542 units remaining) - [ "foobar" @packed.unpacked.some - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 75 (remaining gas: 1039702.472 units remaining) - [ "foobar" @packed.unpacked.some - "foobar" - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 84 (remaining gas: 1039702.172 units remaining) - [ 0 - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 85 (remaining gas: 1039702.032 units remaining) - [ True - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039701.962 units remaining) - [ True - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 87 (remaining gas: 1039701.772 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039701.702 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 92 (remaining gas: 1039701.562 units remaining) - [ (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 93 (remaining gas: 1039701.422 units remaining) - [ 0x00aabbcc - (Pair 0x00aabbcc - 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 96 (remaining gas: 1039701.122 units remaining) - [ 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 95 (remaining gas: 1039701.052 units remaining) - [ 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 94 (remaining gas: 1039701.052 units remaining) - [ 0x00aabbcc - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 97 (remaining gas: 1039688.752 units remaining) - [ 0x050a0000000400aabbcc @packed - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 98 (remaining gas: 1039654.452 units remaining) - [ (Some 0x00aabbcc) @packed.unpacked - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 106 (remaining gas: 1039654.182 units remaining) - [ 0x00aabbcc @packed.unpacked.some - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 100 (remaining gas: 1039654.112 units remaining) - [ 0x00aabbcc @packed.unpacked.some - 0x00aabbcc - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 109 (remaining gas: 1039653.812 units remaining) - [ 0 - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 110 (remaining gas: 1039653.672 units remaining) - [ True - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039653.602 units remaining) - [ True - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 112 (remaining gas: 1039653.412 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039653.342 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 117 (remaining gas: 1039653.202 units remaining) - [ (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 118 (remaining gas: 1039653.062 units remaining) - [ 1000 - (Pair 1000 - False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 121 (remaining gas: 1039652.762 units remaining) - [ 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 120 (remaining gas: 1039652.692 units remaining) - [ 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 119 (remaining gas: 1039652.692 units remaining) - [ 1000 - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 122 (remaining gas: 1039644.392 units remaining) - [ 0x0500a80f @packed - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 123 (remaining gas: 1039637.092 units remaining) - [ (Some 1000) @packed.unpacked - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 131 (remaining gas: 1039636.822 units remaining) - [ 1000 @packed.unpacked.some - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 125 (remaining gas: 1039636.752 units remaining) - [ 1000 @packed.unpacked.some - 1000 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 134 (remaining gas: 1039636.468 units remaining) - [ 0 - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 135 (remaining gas: 1039636.328 units remaining) - [ True - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039636.258 units remaining) - [ True - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 137 (remaining gas: 1039636.068 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039635.998 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 142 (remaining gas: 1039635.858 units remaining) - [ (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 143 (remaining gas: 1039635.718 units remaining) - [ False - (Pair False - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 146 (remaining gas: 1039635.418 units remaining) - [ False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 145 (remaining gas: 1039635.348 units remaining) - [ False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 144 (remaining gas: 1039635.348 units remaining) - [ False - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 147 (remaining gas: 1039627.048 units remaining) - [ 0x050303 @packed - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 148 (remaining gas: 1039619.748 units remaining) - [ (Some False) @packed.unpacked - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 156 (remaining gas: 1039619.478 units remaining) - [ False @packed.unpacked.some - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 150 (remaining gas: 1039619.408 units remaining) - [ False @packed.unpacked.some - False - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 159 (remaining gas: 1039619.020 units remaining) - [ 0 - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 160 (remaining gas: 1039618.880 units remaining) - [ True - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039618.810 units remaining) - [ True - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 162 (remaining gas: 1039618.620 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039618.550 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 167 (remaining gas: 1039618.410 units remaining) - [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 168 (remaining gas: 1039618.270 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 171 (remaining gas: 1039617.970 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 170 (remaining gas: 1039617.900 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 169 (remaining gas: 1039617.900 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 172 (remaining gas: 1039597.520 units remaining) - [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 173 (remaining gas: 1039559.160 units remaining) - [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 181 (remaining gas: 1039558.890 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 175 (remaining gas: 1039558.820 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 184 (remaining gas: 1039558.430 units remaining) - [ 0 - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 185 (remaining gas: 1039558.290 units remaining) - [ True - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039558.220 units remaining) - [ True - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 187 (remaining gas: 1039558.030 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: -1 (remaining gas: 1039557.960 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 192 (remaining gas: 1039557.820 units remaining) - [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 193 (remaining gas: 1039557.680 units remaining) - [ "2019-09-09T08:35:33Z" - (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] - - location: 196 (remaining gas: 1039557.380 units remaining) - [ "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 195 (remaining gas: 1039557.310 units remaining) - [ "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 194 (remaining gas: 1039557.310 units remaining) - [ "2019-09-09T08:35:33Z" - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 197 (remaining gas: 1039549.010 units remaining) - [ 0x050095bbb0d70b @packed - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 198 (remaining gas: 1039541.710 units remaining) - [ (Some "2019-09-09T08:35:33Z") @packed.unpacked - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 206 (remaining gas: 1039541.440 units remaining) - [ "2019-09-09T08:35:33Z" @packed.unpacked.some - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 200 (remaining gas: 1039541.370 units remaining) - [ "2019-09-09T08:35:33Z" @packed.unpacked.some - "2019-09-09T08:35:33Z" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 209 (remaining gas: 1039541.050 units remaining) - [ 0 - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 210 (remaining gas: 1039540.910 units remaining) - [ True - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039540.840 units remaining) - [ True - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 212 (remaining gas: 1039540.650 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: -1 (remaining gas: 1039540.580 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 217 (remaining gas: 1039540.440 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 218 (remaining gas: 1039509.540 units remaining) - [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 219 (remaining gas: 1039413.240 units remaining) - [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 227 (remaining gas: 1039412.970 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 221 (remaining gas: 1039412.900 units remaining) - [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" @packed.unpacked.some - "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] - - location: 230 (remaining gas: 1039412.502 units remaining) - [ 0 ] - - location: 231 (remaining gas: 1039412.362 units remaining) - [ True ] - - location: -1 (remaining gas: 1039412.292 units remaining) - [ True ] - - location: 233 (remaining gas: 1039412.102 units remaining) - [ ] - - location: -1 (remaining gas: 1039412.032 units remaining) - [ ] - - location: 238 (remaining gas: 1039411.892 units remaining) - [ 0 ] - - location: 241 (remaining gas: 1039403.592 units remaining) - [ 0x050000 @packed ] - - location: 242 (remaining gas: 1039398.292 units remaining) - [ (Some 0) @packed.unpacked ] - - location: 250 (remaining gas: 1039398.022 units remaining) - [ 0 @packed.unpacked.some ] - - location: 244 (remaining gas: 1039397.952 units remaining) - [ 0 @packed.unpacked.some ] - - location: 251 (remaining gas: 1039397.812 units remaining) - [ ] - - location: 252 (remaining gas: 1039397.672 units remaining) - [ -1 ] - - location: 255 (remaining gas: 1039389.372 units remaining) - [ 0x050041 @packed ] - - location: 256 (remaining gas: 1039286.312 units remaining) - [ None @packed.unpacked ] - - location: 260 (remaining gas: 1039286.042 units remaining) - [ ] - - location: 258 (remaining gas: 1039285.972 units remaining) - [ ] - - location: 265 (remaining gas: 1039285.832 units remaining) - [ 0x ] - - location: 268 (remaining gas: 1039285.772 units remaining) - [ None @unpacked ] - - location: 272 (remaining gas: 1039285.502 units remaining) - [ ] - - location: 270 (remaining gas: 1039285.432 units remaining) - [ ] - - location: 277 (remaining gas: 1039285.292 units remaining) - [ 0x04 ] - - location: 280 (remaining gas: 1039285.232 units remaining) - [ None @unpacked ] - - location: 284 (remaining gas: 1039284.962 units remaining) - [ ] - - location: 282 (remaining gas: 1039284.892 units remaining) - [ ] - - location: 289 (remaining gas: 1039284.752 units remaining) - [ 0x05 ] - - location: 292 (remaining gas: 1039284.692 units remaining) - [ None @unpacked ] - - location: 296 (remaining gas: 1039284.422 units remaining) - [ ] - - location: 294 (remaining gas: 1039284.352 units remaining) - [ ] - - location: 301 (remaining gas: 1039284.212 units remaining) - [ Unit ] - - location: 302 (remaining gas: 1039284.072 units remaining) - [ {} - Unit ] - - location: 304 (remaining gas: 1039283.932 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039283.862 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" deleted file mode 100644 index 8e6fb595b6df..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.1ac5de50fb.out" +++ /dev/null @@ -1,1260 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } (Pair { True } (Pair (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK } )))))))))-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 27 (remaining gas: 1039743.141 units remaining) - [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - Unit) ] - - location: 28 (remaining gas: 1039743.001 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) @parameter ] - - location: 29 (remaining gas: 1039742.861 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) @parameter - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) @parameter ] - - location: 30 (remaining gas: 1039742.721 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) @parameter ] - - location: 33 (remaining gas: 1039742.421 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 32 (remaining gas: 1039742.351 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 31 (remaining gas: 1039742.351 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 34 (remaining gas: 1039717.561 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed - "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 37 (remaining gas: 1039692.611 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 38 (remaining gas: 1039625.311 units remaining) - [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 46 (remaining gas: 1039625.041 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: 40 (remaining gas: 1039624.971 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: 1039600.181 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039600.111 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 35 (remaining gas: 1039600.111 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed - 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 50 (remaining gas: 1039599.810 units remaining) - [ 0 - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 51 (remaining gas: 1039599.670 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: 1039599.600 units remaining) - [ True - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 53 (remaining gas: 1039599.410 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039599.340 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: 1039599.200 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 59 (remaining gas: 1039599.060 units remaining) - [ Unit - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 62 (remaining gas: 1039598.760 units remaining) - [ Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 61 (remaining gas: 1039598.690 units remaining) - [ Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 60 (remaining gas: 1039598.690 units remaining) - [ Unit - Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 63 (remaining gas: 1039590.390 units remaining) - [ 0x05030b @packed - Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 66 (remaining gas: 1039581.930 units remaining) - [ 0x05030b @packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 67 (remaining gas: 1039574.630 units remaining) - [ (Some Unit) @packed.unpacked - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 75 (remaining gas: 1039574.360 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: 69 (remaining gas: 1039574.290 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: 76 (remaining gas: 1039565.990 units remaining) - [ 0x05030b @packed.unpacked.some.packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039565.920 units remaining) - [ 0x05030b @packed.unpacked.some.packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 64 (remaining gas: 1039565.920 units remaining) - [ 0x05030b @packed - 0x05030b @packed.unpacked.some.packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 79 (remaining gas: 1039565.620 units remaining) - [ 0 - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 80 (remaining gas: 1039565.480 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: 1039565.410 units remaining) - [ True - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 82 (remaining gas: 1039565.220 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039565.150 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 87 (remaining gas: 1039565.010 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 88 (remaining gas: 1039564.870 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 91 (remaining gas: 1039564.570 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 90 (remaining gas: 1039564.500 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 89 (remaining gas: 1039564.500 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 92 (remaining gas: 1039524.160 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 95 (remaining gas: 1039483.660 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 96 (remaining gas: 1039435.330 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 104 (remaining gas: 1039435.060 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 98 (remaining gas: 1039434.990 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: 1039394.650 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039394.580 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 93 (remaining gas: 1039394.580 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 108 (remaining gas: 1039394.278 units remaining) - [ 0 - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 109 (remaining gas: 1039394.138 units remaining) - [ True - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039394.068 units remaining) - [ True - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 111 (remaining gas: 1039393.878 units remaining) - [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039393.808 units remaining) - [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 116 (remaining gas: 1039393.668 units remaining) - [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 117 (remaining gas: 1039393.528 units remaining) - [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 120 (remaining gas: 1039393.228 units remaining) - [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 119 (remaining gas: 1039393.158 units remaining) - [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 118 (remaining gas: 1039393.158 units remaining) - [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 121 (remaining gas: 1039352.578 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 124 (remaining gas: 1039311.838 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 125 (remaining gas: 1039249.268 units remaining) - [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) @packed.unpacked - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 134 (remaining gas: 1039248.998 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked.some - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 128 (remaining gas: 1039248.928 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: 1039208.348 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039208.278 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 122 (remaining gas: 1039208.278 units remaining) - [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 138 (remaining gas: 1039207.976 units remaining) - [ 0 - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 139 (remaining gas: 1039207.836 units remaining) - [ True - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039207.766 units remaining) - [ True - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 141 (remaining gas: 1039207.576 units remaining) - [ (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039207.506 units remaining) - [ (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 146 (remaining gas: 1039207.366 units remaining) - [ (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 147 (remaining gas: 1039207.226 units remaining) - [ { Unit } - (Pair { Unit } - { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 150 (remaining gas: 1039206.926 units remaining) - [ { Unit } - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 149 (remaining gas: 1039206.856 units remaining) - [ { Unit } - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 148 (remaining gas: 1039206.856 units remaining) - [ { Unit } - { Unit } - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 151 (remaining gas: 1039198.316 units remaining) - [ 0x050200000002030b @packed - { Unit } - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 154 (remaining gas: 1039189.616 units remaining) - [ 0x050200000002030b @packed - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 155 (remaining gas: 1039168.076 units remaining) - [ (Some { Unit }) @packed.unpacked - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 164 (remaining gas: 1039167.806 units remaining) - [ { Unit } @packed.unpacked.some - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 158 (remaining gas: 1039167.736 units remaining) - [ { Unit } @packed.unpacked.some - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 165 (remaining gas: 1039159.196 units remaining) - [ 0x050200000002030b @packed.unpacked.some.packed - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039159.126 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: 1039159.126 units remaining) - [ 0x050200000002030b @packed - 0x050200000002030b @packed.unpacked.some.packed - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 168 (remaining gas: 1039158.826 units remaining) - [ 0 - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 169 (remaining gas: 1039158.686 units remaining) - [ True - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039158.616 units remaining) - [ True - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 171 (remaining gas: 1039158.426 units remaining) - [ (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039158.356 units remaining) - [ (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 176 (remaining gas: 1039158.216 units remaining) - [ (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 177 (remaining gas: 1039158.076 units remaining) - [ { True } - (Pair { True } - (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 180 (remaining gas: 1039157.776 units remaining) - [ { True } - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 179 (remaining gas: 1039157.706 units remaining) - [ { True } - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 178 (remaining gas: 1039157.706 units remaining) - [ { True } - { True } - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 181 (remaining gas: 1039149.166 units remaining) - [ 0x050200000002030a @packed - { True } - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 184 (remaining gas: 1039140.466 units remaining) - [ 0x050200000002030a @packed - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 185 (remaining gas: 1039118.845 units remaining) - [ (Some { True }) @packed.unpacked - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 194 (remaining gas: 1039118.575 units remaining) - [ { True } @packed.unpacked.some - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 188 (remaining gas: 1039118.505 units remaining) - [ { True } @packed.unpacked.some - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 195 (remaining gas: 1039109.965 units remaining) - [ 0x050200000002030a @packed.unpacked.some.packed - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039109.895 units remaining) - [ 0x050200000002030a @packed.unpacked.some.packed - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 182 (remaining gas: 1039109.895 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: 1039109.595 units remaining) - [ 0 - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 199 (remaining gas: 1039109.455 units remaining) - [ True - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039109.385 units remaining) - [ True - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 201 (remaining gas: 1039109.195 units remaining) - [ (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039109.125 units remaining) - [ (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 206 (remaining gas: 1039108.985 units remaining) - [ (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 207 (remaining gas: 1039108.845 units remaining) - [ (Pair 19 10) - (Pair (Pair 19 10) - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 210 (remaining gas: 1039108.545 units remaining) - [ (Pair 19 10) - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 209 (remaining gas: 1039108.475 units remaining) - [ (Pair 19 10) - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 208 (remaining gas: 1039108.475 units remaining) - [ (Pair 19 10) - (Pair 19 10) - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 211 (remaining gas: 1039099.695 units remaining) - [ 0x0507070013000a @packed - (Pair 19 10) - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 214 (remaining gas: 1039090.755 units remaining) - [ 0x0507070013000a @packed - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 215 (remaining gas: 1039054.975 units remaining) - [ (Some (Pair 19 10)) @packed.unpacked - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 225 (remaining gas: 1039054.705 units remaining) - [ (Pair 19 10) @packed.unpacked.some - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 219 (remaining gas: 1039054.635 units remaining) - [ (Pair 19 10) @packed.unpacked.some - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 226 (remaining gas: 1039045.855 units remaining) - [ 0x0507070013000a @packed.unpacked.some.packed - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039045.785 units remaining) - [ 0x0507070013000a @packed.unpacked.some.packed - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 212 (remaining gas: 1039045.785 units remaining) - [ 0x0507070013000a @packed - 0x0507070013000a @packed.unpacked.some.packed - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 229 (remaining gas: 1039045.485 units remaining) - [ 0 - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 230 (remaining gas: 1039045.345 units remaining) - [ True - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039045.275 units remaining) - [ True - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 232 (remaining gas: 1039045.085 units remaining) - [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: -1 (remaining gas: 1039045.015 units remaining) - [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 237 (remaining gas: 1039044.875 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: 1039044.735 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK }) ] - - location: 241 (remaining gas: 1039044.435 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 240 (remaining gas: 1039044.365 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 239 (remaining gas: 1039044.365 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 242 (remaining gas: 1039023.745 units remaining) - [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 245 (remaining gas: 1039002.965 units remaining) - [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 246 (remaining gas: 1038950.365 units remaining) - [ (Some (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) @packed.unpacked - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 256 (remaining gas: 1038950.095 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 250 (remaining gas: 1038950.025 units remaining) - [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") @packed.unpacked.some - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 257 (remaining gas: 1038929.405 units remaining) - [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1038929.335 units remaining) - [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 243 (remaining gas: 1038929.335 units remaining) - [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed - 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a @packed.unpacked.some.packed - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 260 (remaining gas: 1038929.035 units remaining) - [ 0 - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 261 (remaining gas: 1038928.895 units remaining) - [ True - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1038928.825 units remaining) - [ True - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 263 (remaining gas: 1038928.635 units remaining) - [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: -1 (remaining gas: 1038928.565 units remaining) - [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 268 (remaining gas: 1038928.425 units remaining) - [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 269 (remaining gas: 1038928.285 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } - (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] - - location: 272 (remaining gas: 1038927.985 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } - { PACK } ] - - location: 271 (remaining gas: 1038927.915 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } - { PACK } ] - - location: 270 (remaining gas: 1038927.915 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK } ] - - location: 273 (remaining gas: 1038906.455 units remaining) - [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed - { Elt 0 "foo" ; Elt 1 "bar" } - { PACK } ] - - location: 276 (remaining gas: 1038884.835 units remaining) - [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed - { PACK } ] - - location: 277 (remaining gas: 1038794.177 units remaining) - [ (Some { Elt 0 "foo" ; Elt 1 "bar" }) @packed.unpacked - { PACK } ] - - location: 287 (remaining gas: 1038793.907 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some - { PACK } ] - - location: 281 (remaining gas: 1038793.837 units remaining) - [ { Elt 0 "foo" ; Elt 1 "bar" } @packed.unpacked.some - { PACK } ] - - location: 288 (remaining gas: 1038772.377 units remaining) - [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed - { PACK } ] - - location: -1 (remaining gas: 1038772.307 units remaining) - [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed - { PACK } ] - - location: 274 (remaining gas: 1038772.307 units remaining) - [ 0x050200000018070400000100000003666f6f070400010100000003626172 @packed - 0x050200000018070400000100000003666f6f070400010100000003626172 @packed.unpacked.some.packed - { PACK } ] - - location: 291 (remaining gas: 1038772.007 units remaining) - [ 0 - { PACK } ] - - location: 292 (remaining gas: 1038771.867 units remaining) - [ True - { PACK } ] - - location: -1 (remaining gas: 1038771.797 units remaining) - [ True - { PACK } ] - - location: 294 (remaining gas: 1038771.607 units remaining) - [ { PACK } ] - - location: -1 (remaining gas: 1038771.537 units remaining) - [ { PACK } ] - - location: 299 (remaining gas: 1038771.397 units remaining) - [ { PACK } - { PACK } ] - - location: 300 (remaining gas: 1038762.597 units remaining) - [ 0x050200000002030c @packed - { PACK } ] - - location: 303 (remaining gas: 1038753.637 units remaining) - [ 0x050200000002030c @packed ] - - location: 304 (remaining gas: 1038731.457 units remaining) - [ (Some { PACK }) @packed.unpacked ] - - location: 314 (remaining gas: 1038731.187 units remaining) - [ { PACK } @packed.unpacked.some ] - - location: 308 (remaining gas: 1038731.117 units remaining) - [ { PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1038722.317 units remaining) - [ 0x050200000002030c @packed.unpacked.some.packed ] - - location: -1 (remaining gas: 1038722.247 units remaining) - [ 0x050200000002030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1038722.247 units remaining) - [ 0x050200000002030c @packed - 0x050200000002030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1038721.947 units remaining) - [ 0 ] - - location: 319 (remaining gas: 1038721.807 units remaining) - [ True ] - - location: -1 (remaining gas: 1038721.737 units remaining) - [ True ] - - location: 321 (remaining gas: 1038721.547 units remaining) - [ ] - - location: -1 (remaining gas: 1038721.477 units remaining) - [ ] - - location: 326 (remaining gas: 1038721.337 units remaining) - [ Unit ] - - location: 327 (remaining gas: 1038721.197 units remaining) - [ {} - Unit ] - - location: 329 (remaining gas: 1038721.057 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1038720.987 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" deleted file mode 100644 index d2364b71faee..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair \"edpkuBknW28nW72KG6RoH.4e20b52378.out" +++ /dev/null @@ -1,1089 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[packunpack_rev_cty.tz-Unit-(Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None (Pair { } (Pair { } (Pair (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") (Pair { } { DUP ; DROP ; PACK } )))))))))-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 27 (remaining gas: 1039753.330 units remaining) - [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) - Unit) ] - - location: 28 (remaining gas: 1039753.190 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) @parameter ] - - location: 29 (remaining gas: 1039753.050 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) @parameter - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) @parameter ] - - location: 30 (remaining gas: 1039752.910 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) @parameter ] - - location: 33 (remaining gas: 1039752.610 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 32 (remaining gas: 1039752.540 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 31 (remaining gas: 1039752.540 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 34 (remaining gas: 1039727.750 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed - "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 37 (remaining gas: 1039702.800 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 38 (remaining gas: 1039635.500 units remaining) - [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") @packed.unpacked - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 46 (remaining gas: 1039635.230 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @packed.unpacked.some - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 40 (remaining gas: 1039635.160 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: 1039610.370 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039610.300 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 35 (remaining gas: 1039610.300 units remaining) - [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed - 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f @packed.unpacked.some.packed - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 50 (remaining gas: 1039609.999 units remaining) - [ 0 - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 51 (remaining gas: 1039609.859 units remaining) - [ True - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039609.789 units remaining) - [ True - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 53 (remaining gas: 1039609.599 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039609.529 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 58 (remaining gas: 1039609.389 units remaining) - [ (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 59 (remaining gas: 1039609.249 units remaining) - [ Unit - (Pair Unit - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 62 (remaining gas: 1039608.949 units remaining) - [ Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 61 (remaining gas: 1039608.879 units remaining) - [ Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 60 (remaining gas: 1039608.879 units remaining) - [ Unit - Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 63 (remaining gas: 1039600.579 units remaining) - [ 0x05030b @packed - Unit - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 66 (remaining gas: 1039592.119 units remaining) - [ 0x05030b @packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 67 (remaining gas: 1039584.819 units remaining) - [ (Some Unit) @packed.unpacked - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 75 (remaining gas: 1039584.549 units remaining) - [ Unit @packed.unpacked.some - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 69 (remaining gas: 1039584.479 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: 1039576.179 units remaining) - [ 0x05030b @packed.unpacked.some.packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039576.109 units remaining) - [ 0x05030b @packed.unpacked.some.packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 64 (remaining gas: 1039576.109 units remaining) - [ 0x05030b @packed - 0x05030b @packed.unpacked.some.packed - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 79 (remaining gas: 1039575.809 units remaining) - [ 0 - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 80 (remaining gas: 1039575.669 units remaining) - [ True - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039575.599 units remaining) - [ True - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 82 (remaining gas: 1039575.409 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039575.339 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 87 (remaining gas: 1039575.199 units remaining) - [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 88 (remaining gas: 1039575.059 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 91 (remaining gas: 1039574.759 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 90 (remaining gas: 1039574.689 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 89 (remaining gas: 1039574.689 units remaining) - [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 92 (remaining gas: 1039534.349 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 95 (remaining gas: 1039493.849 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 96 (remaining gas: 1039445.519 units remaining) - [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") @packed.unpacked - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 104 (remaining gas: 1039445.249 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 98 (remaining gas: 1039445.179 units remaining) - [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" @packed.unpacked.some - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 105 (remaining gas: 1039404.839 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039404.769 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 93 (remaining gas: 1039404.769 units remaining) - [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed - 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 @packed.unpacked.some.packed - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 108 (remaining gas: 1039404.467 units remaining) - [ 0 - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 109 (remaining gas: 1039404.327 units remaining) - [ True - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039404.257 units remaining) - [ True - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 111 (remaining gas: 1039404.067 units remaining) - [ (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039403.997 units remaining) - [ (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 116 (remaining gas: 1039403.857 units remaining) - [ (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 117 (remaining gas: 1039403.717 units remaining) - [ None - (Pair None - {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 120 (remaining gas: 1039403.417 units remaining) - [ None - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 119 (remaining gas: 1039403.347 units remaining) - [ None - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 118 (remaining gas: 1039403.347 units remaining) - [ None - None - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 121 (remaining gas: 1039395.047 units remaining) - [ 0x050306 @packed - None - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 124 (remaining gas: 1039386.587 units remaining) - [ 0x050306 @packed - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 125 (remaining gas: 1039379.287 units remaining) - [ (Some None) @packed.unpacked - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 134 (remaining gas: 1039379.017 units remaining) - [ None @packed.unpacked.some - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 128 (remaining gas: 1039378.947 units remaining) - [ None @packed.unpacked.some - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 135 (remaining gas: 1039370.647 units remaining) - [ 0x050306 @packed.unpacked.some.packed - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039370.577 units remaining) - [ 0x050306 @packed.unpacked.some.packed - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 122 (remaining gas: 1039370.577 units remaining) - [ 0x050306 @packed - 0x050306 @packed.unpacked.some.packed - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 138 (remaining gas: 1039370.277 units remaining) - [ 0 - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 139 (remaining gas: 1039370.137 units remaining) - [ True - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039370.067 units remaining) - [ True - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 141 (remaining gas: 1039369.877 units remaining) - [ (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039369.807 units remaining) - [ (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 146 (remaining gas: 1039369.667 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: 147 (remaining gas: 1039369.527 units remaining) - [ {} - (Pair {} - {} - (Pair 40 -10) - (Right "2019-09-09T08:35:33Z") - {} - { DUP ; DROP ; PACK }) ] - - location: 150 (remaining gas: 1039369.227 units remaining) - [ {} - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 149 (remaining gas: 1039369.157 units remaining) - [ {} - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 148 (remaining gas: 1039369.157 units remaining) - [ {} - {} - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 151 (remaining gas: 1039360.857 units remaining) - [ 0x050200000000 @packed - {} - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 154 (remaining gas: 1039352.397 units remaining) - [ 0x050200000000 @packed - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 155 (remaining gas: 1039345.097 units remaining) - [ (Some {}) @packed.unpacked - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 164 (remaining gas: 1039344.827 units remaining) - [ {} @packed.unpacked.some - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 158 (remaining gas: 1039344.757 units remaining) - [ {} @packed.unpacked.some - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 165 (remaining gas: 1039336.457 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039336.387 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 152 (remaining gas: 1039336.387 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: 1039336.087 units remaining) - [ 0 - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 169 (remaining gas: 1039335.947 units remaining) - [ True - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039335.877 units remaining) - [ True - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 171 (remaining gas: 1039335.687 units remaining) - [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039335.617 units remaining) - [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 176 (remaining gas: 1039335.477 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: 1039335.337 units remaining) - [ {} - (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 180 (remaining gas: 1039335.037 units remaining) - [ {} - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 179 (remaining gas: 1039334.967 units remaining) - [ {} - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 178 (remaining gas: 1039334.967 units remaining) - [ {} - {} - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 181 (remaining gas: 1039326.667 units remaining) - [ 0x050200000000 @packed - {} - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 184 (remaining gas: 1039318.207 units remaining) - [ 0x050200000000 @packed - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 185 (remaining gas: 1039310.907 units remaining) - [ (Some {}) @packed.unpacked - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 194 (remaining gas: 1039310.637 units remaining) - [ {} @packed.unpacked.some - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 188 (remaining gas: 1039310.567 units remaining) - [ {} @packed.unpacked.some - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 195 (remaining gas: 1039302.267 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039302.197 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 182 (remaining gas: 1039302.197 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: 1039301.897 units remaining) - [ 0 - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 199 (remaining gas: 1039301.757 units remaining) - [ True - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039301.687 units remaining) - [ True - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 201 (remaining gas: 1039301.497 units remaining) - [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039301.427 units remaining) - [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 206 (remaining gas: 1039301.287 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: 1039301.147 units remaining) - [ (Pair 40 -10) - (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 210 (remaining gas: 1039300.847 units remaining) - [ (Pair 40 -10) - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 209 (remaining gas: 1039300.777 units remaining) - [ (Pair 40 -10) - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 208 (remaining gas: 1039300.777 units remaining) - [ (Pair 40 -10) - (Pair 40 -10) - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 211 (remaining gas: 1039291.997 units remaining) - [ 0x0507070028004a @packed - (Pair 40 -10) - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 214 (remaining gas: 1039283.057 units remaining) - [ 0x0507070028004a @packed - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 215 (remaining gas: 1039247.277 units remaining) - [ (Some (Pair 40 -10)) @packed.unpacked - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 225 (remaining gas: 1039247.007 units remaining) - [ (Pair 40 -10) @packed.unpacked.some - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 219 (remaining gas: 1039246.937 units remaining) - [ (Pair 40 -10) @packed.unpacked.some - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 226 (remaining gas: 1039238.157 units remaining) - [ 0x0507070028004a @packed.unpacked.some.packed - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039238.087 units remaining) - [ 0x0507070028004a @packed.unpacked.some.packed - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 212 (remaining gas: 1039238.087 units remaining) - [ 0x0507070028004a @packed - 0x0507070028004a @packed.unpacked.some.packed - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 229 (remaining gas: 1039237.787 units remaining) - [ 0 - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 230 (remaining gas: 1039237.647 units remaining) - [ True - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039237.577 units remaining) - [ True - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 232 (remaining gas: 1039237.387 units remaining) - [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039237.317 units remaining) - [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 237 (remaining gas: 1039237.177 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: 1039237.037 units remaining) - [ (Right "2019-09-09T08:35:33Z") - (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] - - location: 241 (remaining gas: 1039236.737 units remaining) - [ (Right "2019-09-09T08:35:33Z") - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 240 (remaining gas: 1039236.667 units remaining) - [ (Right "2019-09-09T08:35:33Z") - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 239 (remaining gas: 1039236.667 units remaining) - [ (Right "2019-09-09T08:35:33Z") - (Right "2019-09-09T08:35:33Z") - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 242 (remaining gas: 1039226.127 units remaining) - [ 0x0505080095bbb0d70b @packed - (Right "2019-09-09T08:35:33Z") - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 245 (remaining gas: 1039215.427 units remaining) - [ 0x0505080095bbb0d70b @packed - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 246 (remaining gas: 1039193.887 units remaining) - [ (Some (Right "2019-09-09T08:35:33Z")) @packed.unpacked - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 256 (remaining gas: 1039193.617 units remaining) - [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 250 (remaining gas: 1039193.547 units remaining) - [ (Right "2019-09-09T08:35:33Z") @packed.unpacked.some - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 257 (remaining gas: 1039183.007 units remaining) - [ 0x0505080095bbb0d70b @packed.unpacked.some.packed - (Pair {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039182.937 units remaining) - [ 0x0505080095bbb0d70b @packed.unpacked.some.packed - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 243 (remaining gas: 1039182.937 units remaining) - [ 0x0505080095bbb0d70b @packed - 0x0505080095bbb0d70b @packed.unpacked.some.packed - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 260 (remaining gas: 1039182.637 units remaining) - [ 0 - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 261 (remaining gas: 1039182.497 units remaining) - [ True - (Pair {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039182.427 units remaining) - [ True - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 263 (remaining gas: 1039182.237 units remaining) - [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: -1 (remaining gas: 1039182.167 units remaining) - [ (Pair {} { DUP ; DROP ; PACK }) ] - - location: 268 (remaining gas: 1039182.027 units remaining) - [ (Pair {} { DUP ; DROP ; PACK }) - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 269 (remaining gas: 1039181.887 units remaining) - [ {} - (Pair {} { DUP ; DROP ; PACK }) ] - - location: 272 (remaining gas: 1039181.587 units remaining) - [ {} - { DUP ; DROP ; PACK } ] - - location: 271 (remaining gas: 1039181.517 units remaining) - [ {} - { DUP ; DROP ; PACK } ] - - location: 270 (remaining gas: 1039181.517 units remaining) - [ {} - {} - { DUP ; DROP ; PACK } ] - - location: 273 (remaining gas: 1039173.217 units remaining) - [ 0x050200000000 @packed - {} - { DUP ; DROP ; PACK } ] - - location: 276 (remaining gas: 1039164.757 units remaining) - [ 0x050200000000 @packed - { DUP ; DROP ; PACK } ] - - location: 277 (remaining gas: 1039157.457 units remaining) - [ (Some {}) @packed.unpacked - { DUP ; DROP ; PACK } ] - - location: 287 (remaining gas: 1039157.187 units remaining) - [ {} @packed.unpacked.some - { DUP ; DROP ; PACK } ] - - location: 281 (remaining gas: 1039157.117 units remaining) - [ {} @packed.unpacked.some - { DUP ; DROP ; PACK } ] - - location: 288 (remaining gas: 1039148.817 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - { DUP ; DROP ; PACK } ] - - location: -1 (remaining gas: 1039148.747 units remaining) - [ 0x050200000000 @packed.unpacked.some.packed - { DUP ; DROP ; PACK } ] - - location: 274 (remaining gas: 1039148.747 units remaining) - [ 0x050200000000 @packed - 0x050200000000 @packed.unpacked.some.packed - { DUP ; DROP ; PACK } ] - - location: 291 (remaining gas: 1039148.447 units remaining) - [ 0 - { DUP ; DROP ; PACK } ] - - location: 292 (remaining gas: 1039148.307 units remaining) - [ True - { DUP ; DROP ; PACK } ] - - location: -1 (remaining gas: 1039148.237 units remaining) - [ True - { DUP ; DROP ; PACK } ] - - location: 294 (remaining gas: 1039148.047 units remaining) - [ { DUP ; DROP ; PACK } ] - - location: -1 (remaining gas: 1039147.977 units remaining) - [ { DUP ; DROP ; PACK } ] - - location: 299 (remaining gas: 1039147.837 units remaining) - [ { DUP ; DROP ; PACK } - { DUP ; DROP ; PACK } ] - - location: 300 (remaining gas: 1039134.437 units remaining) - [ 0x05020000000603210320030c @packed - { DUP ; DROP ; PACK } ] - - location: 303 (remaining gas: 1039120.877 units remaining) - [ 0x05020000000603210320030c @packed ] - - location: 304 (remaining gas: 1039068.957 units remaining) - [ (Some { DUP ; DROP ; PACK }) @packed.unpacked ] - - location: 314 (remaining gas: 1039068.687 units remaining) - [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 308 (remaining gas: 1039068.617 units remaining) - [ { DUP ; DROP ; PACK } @packed.unpacked.some ] - - location: 315 (remaining gas: 1039055.217 units remaining) - [ 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: -1 (remaining gas: 1039055.147 units remaining) - [ 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 301 (remaining gas: 1039055.147 units remaining) - [ 0x05020000000603210320030c @packed - 0x05020000000603210320030c @packed.unpacked.some.packed ] - - location: 318 (remaining gas: 1039054.847 units remaining) - [ 0 ] - - location: 319 (remaining gas: 1039054.707 units remaining) - [ True ] - - location: -1 (remaining gas: 1039054.637 units remaining) - [ True ] - - location: 321 (remaining gas: 1039054.447 units remaining) - [ ] - - location: -1 (remaining gas: 1039054.377 units remaining) - [ ] - - location: 326 (remaining gas: 1039054.237 units remaining) - [ Unit ] - - location: 327 (remaining gas: 1039054.097 units remaining) - [ {} - Unit ] - - location: 329 (remaining gas: 1039053.957 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039053.887 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out deleted file mode 100644 index 5e28beec15e9..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False False)-(Some (Pair False False))] - -storage - (Some (Pair False False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039993.020 units remaining) - [ (Pair (Pair False False) None) ] - - location: 12 (remaining gas: 1039992.880 units remaining) - [ (Pair False False) @parameter ] - - location: 13 (remaining gas: 1039992.740 units remaining) - [ (Some (Pair False False)) ] - - location: 14 (remaining gas: 1039992.600 units remaining) - [ {} - (Some (Pair False False)) ] - - location: 16 (remaining gas: 1039992.460 units remaining) - [ (Pair {} (Some (Pair False False))) ] - - location: -1 (remaining gas: 1039992.390 units remaining) - [ (Pair {} (Some (Pair False False))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out deleted file mode 100644 index d8defa8f6807..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair False True)-(Some (Pair False True))] - -storage - (Some (Pair False True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039993.020 units remaining) - [ (Pair (Pair False True) None) ] - - location: 12 (remaining gas: 1039992.880 units remaining) - [ (Pair False True) @parameter ] - - location: 13 (remaining gas: 1039992.740 units remaining) - [ (Some (Pair False True)) ] - - location: 14 (remaining gas: 1039992.600 units remaining) - [ {} - (Some (Pair False True)) ] - - location: 16 (remaining gas: 1039992.460 units remaining) - [ (Pair {} (Some (Pair False True))) ] - - location: -1 (remaining gas: 1039992.390 units remaining) - [ (Pair {} (Some (Pair False True))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out deleted file mode 100644 index 8295728caed9..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True False)-(Some (Pair True False))] - -storage - (Some (Pair True False)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039993.020 units remaining) - [ (Pair (Pair True False) None) ] - - location: 12 (remaining gas: 1039992.880 units remaining) - [ (Pair True False) @parameter ] - - location: 13 (remaining gas: 1039992.740 units remaining) - [ (Some (Pair True False)) ] - - location: 14 (remaining gas: 1039992.600 units remaining) - [ {} - (Some (Pair True False)) ] - - location: 16 (remaining gas: 1039992.460 units remaining) - [ (Pair {} (Some (Pair True False))) ] - - location: -1 (remaining gas: 1039992.390 units remaining) - [ (Pair {} (Some (Pair True False))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out deleted file mode 100644 index 1927497bf43d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[pair_id.tz-None-(Pair True True)-(Some (Pair True True))] - -storage - (Some (Pair True True)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039993.020 units remaining) - [ (Pair (Pair True True) None) ] - - location: 12 (remaining gas: 1039992.880 units remaining) - [ (Pair True True) @parameter ] - - location: 13 (remaining gas: 1039992.740 units remaining) - [ (Some (Pair True True)) ] - - location: 14 (remaining gas: 1039992.600 units remaining) - [ {} - (Some (Pair True True)) ] - - location: 16 (remaining gas: 1039992.460 units remaining) - [ (Pair {} (Some (Pair True True))) ] - - location: -1 (remaining gas: 1039992.390 units remaining) - [ (Pair {} (Some (Pair True True))) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out deleted file mode 100644 index 4dd8c8a26d38..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52].out +++ /dev/null @@ -1,52 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[pexec.tz-14-38-52] - -storage - 52 -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039989.170 units remaining) - [ (Pair 38 14) ] - - location: 7 (remaining gas: 1039989.030 units remaining) - [ { UNPAIR ; ADD } - (Pair 38 14) ] - - location: 15 (remaining gas: 1039988.900 units remaining) - [ (Pair 38 14) - { UNPAIR ; ADD } ] - - location: 16 (remaining gas: 1039988.760 units remaining) - [ 38 @parameter - 14 @storage - { UNPAIR ; ADD } ] - - location: 19 (remaining gas: 1039987.215 units remaining) - [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 18 (remaining gas: 1039987.145 units remaining) - [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 17 (remaining gas: 1039987.145 units remaining) - [ 38 @parameter - { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] - - location: 12 (remaining gas: 1039986.985 units remaining) - [ 38 ] - - location: 12 (remaining gas: 1039986.785 units remaining) - [ 14 - 38 ] - - location: 12 (remaining gas: 1039986.705 units remaining) - [ (Pair 14 38) ] - - location: 13 (remaining gas: 1039986.565 units remaining) - [ 14 - 38 ] - - location: 14 (remaining gas: 1039986.425 units remaining) - [ 52 ] - - location: -1 (remaining gas: 1039986.355 units remaining) - [ 52 ] - - location: 20 (remaining gas: 1039986.355 units remaining) - [ 52 ] - - location: 21 (remaining gas: 1039986.215 units remaining) - [ {} - 52 ] - - location: 23 (remaining gas: 1039986.075 units remaining) - [ (Pair {} 52) ] - - location: -1 (remaining gas: 1039986.005 units remaining) - [ (Pair {} 52) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out deleted file mode 100644 index 200f150f9ac7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }].out +++ /dev/null @@ -1,314 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[pexec_2.tz-{ 0 ; 1 ; 2 ; 3}-4-{ 0 ; 7 ; 14 ; 21 }] - -storage - { 0 ; 7 ; 14 ; 21 } -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039978.900 units remaining) - [ (Pair 4 { 0 ; 1 ; 2 ; 3 }) ] - - location: 8 (remaining gas: 1039978.760 units remaining) - [ 4 @p - { 0 ; 1 ; 2 ; 3 } @s ] - - location: 9 (remaining gas: 1039978.620 units remaining) - [ { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } - 4 @p - { 0 ; 1 ; 2 ; 3 } @s ] - - location: 23 (remaining gas: 1039978.490 units remaining) - [ 4 @p - { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } - { 0 ; 1 ; 2 ; 3 } @s ] - - location: 24 (remaining gas: 1039977.105 units remaining) - [ { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } - { 0 ; 1 ; 2 ; 3 } @s ] - - location: 25 (remaining gas: 1039976.965 units remaining) - [ 3 - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } - { 0 ; 1 ; 2 ; 3 } @s ] - - location: 28 (remaining gas: 1039975.580 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.450 units remaining) - [ { 0 ; 1 ; 2 ; 3 } @s - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039974.542 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: 1039974.472 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.472 units remaining) - [ 0 @s.elt - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039974.312 units remaining) - [ 0 ] - - location: 16 (remaining gas: 1039974.112 units remaining) - [ 3 - 0 ] - - location: 16 (remaining gas: 1039974.032 units remaining) - [ (Pair 3 0) ] - - location: 16 (remaining gas: 1039973.832 units remaining) - [ 4 - (Pair 3 0) ] - - location: 16 (remaining gas: 1039973.752 units remaining) - [ (Pair 4 3 0) ] - - location: 17 (remaining gas: 1039973.612 units remaining) - [ 4 - (Pair 3 0) ] - - location: 20 (remaining gas: 1039973.312 units remaining) - [ 3 - 0 ] - - location: 19 (remaining gas: 1039973.242 units remaining) - [ 3 - 0 ] - - location: 18 (remaining gas: 1039973.242 units remaining) - [ 4 - 3 - 0 ] - - location: 21 (remaining gas: 1039973.102 units remaining) - [ 7 - 0 ] - - location: 22 (remaining gas: 1039972.960 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039972.890 units remaining) - [ 0 ] - - location: 35 (remaining gas: 1039972.890 units remaining) - [ 0 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039972.820 units remaining) - [ 0 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039972.520 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.450 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.450 units remaining) - [ 1 @s.elt - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039972.290 units remaining) - [ 1 ] - - location: 16 (remaining gas: 1039972.090 units remaining) - [ 3 - 1 ] - - location: 16 (remaining gas: 1039972.010 units remaining) - [ (Pair 3 1) ] - - location: 16 (remaining gas: 1039971.810 units remaining) - [ 4 - (Pair 3 1) ] - - location: 16 (remaining gas: 1039971.730 units remaining) - [ (Pair 4 3 1) ] - - location: 17 (remaining gas: 1039971.590 units remaining) - [ 4 - (Pair 3 1) ] - - location: 20 (remaining gas: 1039971.290 units remaining) - [ 3 - 1 ] - - location: 19 (remaining gas: 1039971.220 units remaining) - [ 3 - 1 ] - - location: 18 (remaining gas: 1039971.220 units remaining) - [ 4 - 3 - 1 ] - - location: 21 (remaining gas: 1039971.080 units remaining) - [ 7 - 1 ] - - location: 22 (remaining gas: 1039970.934 units remaining) - [ 7 ] - - location: -1 (remaining gas: 1039970.864 units remaining) - [ 7 ] - - location: 35 (remaining gas: 1039970.864 units remaining) - [ 7 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039970.794 units remaining) - [ 7 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039970.494 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: 1039970.424 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: 1039970.424 units remaining) - [ 2 @s.elt - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039970.264 units remaining) - [ 2 ] - - location: 16 (remaining gas: 1039970.064 units remaining) - [ 3 - 2 ] - - location: 16 (remaining gas: 1039969.984 units remaining) - [ (Pair 3 2) ] - - location: 16 (remaining gas: 1039969.784 units remaining) - [ 4 - (Pair 3 2) ] - - location: 16 (remaining gas: 1039969.704 units remaining) - [ (Pair 4 3 2) ] - - location: 17 (remaining gas: 1039969.564 units remaining) - [ 4 - (Pair 3 2) ] - - location: 20 (remaining gas: 1039969.264 units remaining) - [ 3 - 2 ] - - location: 19 (remaining gas: 1039969.194 units remaining) - [ 3 - 2 ] - - location: 18 (remaining gas: 1039969.194 units remaining) - [ 4 - 3 - 2 ] - - location: 21 (remaining gas: 1039969.054 units remaining) - [ 7 - 2 ] - - location: 22 (remaining gas: 1039968.908 units remaining) - [ 14 ] - - location: -1 (remaining gas: 1039968.838 units remaining) - [ 14 ] - - location: 35 (remaining gas: 1039968.838 units remaining) - [ 14 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039968.768 units remaining) - [ 14 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 34 (remaining gas: 1039968.468 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: 1039968.398 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: 1039968.398 units remaining) - [ 3 @s.elt - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 16 (remaining gas: 1039968.238 units remaining) - [ 3 ] - - location: 16 (remaining gas: 1039968.038 units remaining) - [ 3 - 3 ] - - location: 16 (remaining gas: 1039967.958 units remaining) - [ (Pair 3 3) ] - - location: 16 (remaining gas: 1039967.758 units remaining) - [ 4 - (Pair 3 3) ] - - location: 16 (remaining gas: 1039967.678 units remaining) - [ (Pair 4 3 3) ] - - location: 17 (remaining gas: 1039967.538 units remaining) - [ 4 - (Pair 3 3) ] - - location: 20 (remaining gas: 1039967.238 units remaining) - [ 3 - 3 ] - - location: 19 (remaining gas: 1039967.168 units remaining) - [ 3 - 3 ] - - location: 18 (remaining gas: 1039967.168 units remaining) - [ 4 - 3 - 3 ] - - location: 21 (remaining gas: 1039967.028 units remaining) - [ 7 - 3 ] - - location: 22 (remaining gas: 1039966.882 units remaining) - [ 21 ] - - location: -1 (remaining gas: 1039966.812 units remaining) - [ 21 ] - - location: 35 (remaining gas: 1039966.812 units remaining) - [ 21 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: -1 (remaining gas: 1039966.742 units remaining) - [ 21 - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 30 (remaining gas: 1039966.742 units remaining) - [ { 0 ; 7 ; 14 ; 21 } - { PUSH int 3 ; - PAIR ; - { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] - - location: 38 (remaining gas: 1039966.442 units remaining) - [ ] - - location: 37 (remaining gas: 1039966.372 units remaining) - [ ] - - location: 36 (remaining gas: 1039966.372 units remaining) - [ { 0 ; 7 ; 14 ; 21 } ] - - location: 39 (remaining gas: 1039966.232 units remaining) - [ {} - { 0 ; 7 ; 14 ; 21 } ] - - location: 41 (remaining gas: 1039966.092 units remaining) - [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] - - location: -1 (remaining gas: 1039966.022 units remaining) - [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out deleted file mode 100644 index 6ad579d8a39f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)].out +++ /dev/null @@ -1,25 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[ret_int.tz-None-Unit-(Some 300)] - -storage - (Some 300) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.280 units remaining) - [ (Pair Unit None) ] - - location: 8 (remaining gas: 1039993.140 units remaining) - [ ] - - location: 9 (remaining gas: 1039993 units remaining) - [ 300 ] - - location: 12 (remaining gas: 1039992.860 units remaining) - [ (Some 300) ] - - location: 13 (remaining gas: 1039992.720 units remaining) - [ {} - (Some 300) ] - - location: 15 (remaining gas: 1039992.580 units remaining) - [ (Pair {} (Some 300)) ] - - location: -1 (remaining gas: 1039992.510 units remaining) - [ (Pair {} (Some 300)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" deleted file mode 100644 index 2c2b30ae716f..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ /dev/null @@ -1,41 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[reverse.tz-{""}-{ "c" ; "b" ; "a" }-{ "a" ; "b" ; "c" }] - -storage - { "a" ; "b" ; "c" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.414 units remaining) - [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039990.274 units remaining) - [ { "c" ; "b" ; "a" } @parameter ] - - location: 10 (remaining gas: 1039990.134 units remaining) - [ {} - { "c" ; "b" ; "a" } @parameter ] - - location: 12 (remaining gas: 1039990.004 units remaining) - [ { "c" ; "b" ; "a" } @parameter - {} ] - - location: 15 (remaining gas: 1039989.283 units remaining) - [ { "c" } ] - - location: 14 (remaining gas: 1039989.213 units remaining) - [ { "c" } ] - - location: 15 (remaining gas: 1039989.073 units remaining) - [ { "b" ; "c" } ] - - location: 14 (remaining gas: 1039989.003 units remaining) - [ { "b" ; "c" } ] - - location: 15 (remaining gas: 1039988.863 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 14 (remaining gas: 1039988.793 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 13 (remaining gas: 1039988.793 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039988.653 units remaining) - [ {} - { "a" ; "b" ; "c" } ] - - location: 18 (remaining gas: 1039988.513 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039988.443 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" deleted file mode 100644 index caa84f1fa9c5..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse.tz-{\"\"}-{}-{}].out" +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[reverse.tz-{""}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039991.206 units remaining) - [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039991.066 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039990.926 units remaining) - [ {} - {} @parameter ] - - location: 12 (remaining gas: 1039990.796 units remaining) - [ {} @parameter - {} ] - - location: 13 (remaining gas: 1039990.236 units remaining) - [ {} ] - - location: 16 (remaining gas: 1039990.096 units remaining) - [ {} - {} ] - - location: 18 (remaining gas: 1039989.956 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039989.886 units remaining) - [ (Pair {} {}) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" deleted file mode 100644 index aa28beea2937..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{ \"c\" ; \"b\" ; \"a\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ /dev/null @@ -1,120 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{""}-{ "c" ; "b" ; "a" }-{ "a" ; "b" ; "c" }] - -storage - { "a" ; "b" ; "c" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039981.974 units remaining) - [ (Pair { "c" ; "b" ; "a" } { "" }) ] - - location: 9 (remaining gas: 1039981.834 units remaining) - [ { "c" ; "b" ; "a" } @parameter ] - - location: 10 (remaining gas: 1039981.694 units remaining) - [ {} - { "c" ; "b" ; "a" } @parameter ] - - location: 12 (remaining gas: 1039981.564 units remaining) - [ { "c" ; "b" ; "a" } @parameter - {} ] - - location: 13 (remaining gas: 1039981.424 units remaining) - [ True - { "c" ; "b" ; "a" } @parameter - {} ] - - location: 20 (remaining gas: 1039980.994 units remaining) - [ { "b" ; "a" } @parameter.tl - "c" @parameter.hd - {} ] - - location: 23 (remaining gas: 1039980.694 units remaining) - [ { "c" } ] - - location: 22 (remaining gas: 1039980.624 units remaining) - [ { "c" } ] - - location: 21 (remaining gas: 1039980.624 units remaining) - [ { "b" ; "a" } @parameter.tl - { "c" } ] - - location: 24 (remaining gas: 1039980.484 units remaining) - [ True - { "b" ; "a" } @parameter.tl - { "c" } ] - - location: -1 (remaining gas: 1039980.414 units remaining) - [ True - { "b" ; "a" } @parameter.tl - { "c" } ] - - location: 17 (remaining gas: 1039980.344 units remaining) - [ True - { "b" ; "a" } - { "c" } ] - - location: 20 (remaining gas: 1039979.974 units remaining) - [ { "a" } @parameter.tl - "b" @parameter.hd - { "c" } ] - - location: 23 (remaining gas: 1039979.674 units remaining) - [ { "b" ; "c" } ] - - location: 22 (remaining gas: 1039979.604 units remaining) - [ { "b" ; "c" } ] - - location: 21 (remaining gas: 1039979.604 units remaining) - [ { "a" } @parameter.tl - { "b" ; "c" } ] - - location: 24 (remaining gas: 1039979.464 units remaining) - [ True - { "a" } @parameter.tl - { "b" ; "c" } ] - - location: -1 (remaining gas: 1039979.394 units remaining) - [ True - { "a" } @parameter.tl - { "b" ; "c" } ] - - location: 17 (remaining gas: 1039979.324 units remaining) - [ True - { "a" } - { "b" ; "c" } ] - - location: 20 (remaining gas: 1039978.954 units remaining) - [ {} @parameter.tl - "a" @parameter.hd - { "b" ; "c" } ] - - location: 23 (remaining gas: 1039978.654 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 22 (remaining gas: 1039978.584 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 21 (remaining gas: 1039978.584 units remaining) - [ {} @parameter.tl - { "a" ; "b" ; "c" } ] - - location: 24 (remaining gas: 1039978.444 units remaining) - [ True - {} @parameter.tl - { "a" ; "b" ; "c" } ] - - location: -1 (remaining gas: 1039978.374 units remaining) - [ True - {} @parameter.tl - { "a" ; "b" ; "c" } ] - - location: 17 (remaining gas: 1039978.304 units remaining) - [ True - {} - { "a" ; "b" ; "c" } ] - - location: 28 (remaining gas: 1039977.924 units remaining) - [ {} - { "a" ; "b" ; "c" } ] - - location: 30 (remaining gas: 1039977.784 units remaining) - [ False - {} - { "a" ; "b" ; "c" } ] - - location: -1 (remaining gas: 1039977.714 units remaining) - [ False - {} - { "a" ; "b" ; "c" } ] - - location: 17 (remaining gas: 1039977.644 units remaining) - [ False - {} - { "a" ; "b" ; "c" } ] - - location: 16 (remaining gas: 1039977.574 units remaining) - [ {} @parameter - { "a" ; "b" ; "c" } ] - - location: 33 (remaining gas: 1039977.434 units remaining) - [ { "a" ; "b" ; "c" } ] - - location: 34 (remaining gas: 1039977.294 units remaining) - [ {} - { "a" ; "b" ; "c" } ] - - location: 36 (remaining gas: 1039977.154 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039977.084 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" deleted file mode 100644 index 51209f576b9f..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{\"\"}-{}-{}].out" +++ /dev/null @@ -1,51 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[reverse_loop.tz-{""}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039982.766 units remaining) - [ (Pair {} { "" }) ] - - location: 9 (remaining gas: 1039982.626 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039982.486 units remaining) - [ {} - {} @parameter ] - - location: 12 (remaining gas: 1039982.356 units remaining) - [ {} @parameter - {} ] - - location: 13 (remaining gas: 1039982.216 units remaining) - [ True - {} @parameter - {} ] - - location: 28 (remaining gas: 1039981.776 units remaining) - [ {} - {} ] - - location: 30 (remaining gas: 1039981.636 units remaining) - [ False - {} - {} ] - - location: -1 (remaining gas: 1039981.566 units remaining) - [ False - {} - {} ] - - location: 17 (remaining gas: 1039981.496 units remaining) - [ False - {} - {} ] - - location: 16 (remaining gas: 1039981.426 units remaining) - [ {} @parameter - {} ] - - location: 33 (remaining gas: 1039981.286 units remaining) - [ {} ] - - location: 34 (remaining gas: 1039981.146 units remaining) - [ {} - {} ] - - location: 36 (remaining gas: 1039981.006 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039980.936 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out deleted file mode 100644 index cf0fd54c868e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[sapling_empty_state.tz-{}-Unit-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.740 units remaining) - [ (Pair Unit {}) ] - - location: 8 (remaining gas: 1039994.600 units remaining) - [ ] - - location: 9 (remaining gas: 1039994.300 units remaining) - [ {} @sapling ] - - location: 11 (remaining gas: 1039994.160 units remaining) - [ {} - {} @sapling ] - - location: 13 (remaining gas: 1039994.020 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039993.950 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out deleted file mode 100644 index 5963d5b67553..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,54 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[self_address.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039983.390 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039983.250 units remaining) - [ ] - - location: 8 (remaining gas: 1039983.110 units remaining) - [ { DROP ; SELF_ADDRESS } ] - - location: 14 (remaining gas: 1039982.970 units remaining) - [ Unit - { DROP ; SELF_ADDRESS } ] - - location: 11 (remaining gas: 1039982.810 units remaining) - [ Unit @arg ] - - location: 12 (remaining gas: 1039982.670 units remaining) - [ ] - - location: 13 (remaining gas: 1039982.530 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: -1 (remaining gas: 1039982.460 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 15 (remaining gas: 1039982.460 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 16 (remaining gas: 1039982.320 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self - "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 17 (remaining gas: 1039982.180 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self.address - "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] - - location: 20 (remaining gas: 1039981.782 units remaining) - [ 0 ] - - location: 21 (remaining gas: 1039981.642 units remaining) - [ True ] - - location: -1 (remaining gas: 1039981.572 units remaining) - [ True ] - - location: 23 (remaining gas: 1039981.382 units remaining) - [ ] - - location: -1 (remaining gas: 1039981.312 units remaining) - [ ] - - location: 28 (remaining gas: 1039981.172 units remaining) - [ Unit ] - - location: 29 (remaining gas: 1039981.032 units remaining) - [ {} - Unit ] - - location: 31 (remaining gas: 1039980.892 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039980.822 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out deleted file mode 100644 index 084daa58d4df..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,51 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[self_with_default_entrypoint.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 12 (remaining gas: 1039981.740 units remaining) - [ (Pair (Right (Left Unit)) Unit) ] - - location: 13 (remaining gas: 1039981.600 units remaining) - [ ] - - location: 14 (remaining gas: 1039981.460 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 15 (remaining gas: 1039981.320 units remaining) - [ ] - - location: 16 (remaining gas: 1039981.180 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 17 (remaining gas: 1039981.040 units remaining) - [ ] - - location: 18 (remaining gas: 1039980.900 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 19 (remaining gas: 1039950 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed ] - - location: 20 (remaining gas: 1039949.860 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed ] - - location: 21 (remaining gas: 1039918.960 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @self.packed ] - - location: 24 (remaining gas: 1039918.660 units remaining) - [ 0 ] - - location: 25 (remaining gas: 1039918.520 units remaining) - [ True ] - - location: -1 (remaining gas: 1039918.450 units remaining) - [ True ] - - location: 27 (remaining gas: 1039918.260 units remaining) - [ ] - - location: -1 (remaining gas: 1039918.190 units remaining) - [ ] - - location: 32 (remaining gas: 1039918.050 units remaining) - [ Unit ] - - location: 33 (remaining gas: 1039917.910 units remaining) - [ {} - Unit ] - - location: 35 (remaining gas: 1039917.770 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039917.700 units remaining) - [ (Pair {} Unit) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out deleted file mode 100644 index 7e7c2eb28e85..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit].out +++ /dev/null @@ -1,112 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[self_with_entrypoint.tz-Unit-Left (Left 0)-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 12 (remaining gas: 1039953.950 units remaining) - [ (Pair (Left (Left 0)) Unit) ] - - location: 13 (remaining gas: 1039953.810 units remaining) - [ ] - - location: 14 (remaining gas: 1039953.670 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 15 (remaining gas: 1039922.770 units remaining) - [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 16 (remaining gas: 1039922.630 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self - 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 17 (remaining gas: 1039891.730 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked - 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 18 (remaining gas: 1039891.590 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked - 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked ] - - location: 21 (remaining gas: 1039891.300 units remaining) - [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 20 (remaining gas: 1039891.230 units remaining) - [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 19 (remaining gas: 1039891.230 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked - 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 @Apacked - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 24 (remaining gas: 1039890.930 units remaining) - [ -1 - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 25 (remaining gas: 1039890.790 units remaining) - [ True - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: -1 (remaining gas: 1039890.720 units remaining) - [ True - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 27 (remaining gas: 1039890.530 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: -1 (remaining gas: 1039890.460 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 32 (remaining gas: 1039890.320 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 33 (remaining gas: 1039859.420 units remaining) - [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @selfpacked - 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 @defpacked ] - - location: 36 (remaining gas: 1039859.120 units remaining) - [ 0 ] - - location: 37 (remaining gas: 1039858.980 units remaining) - [ True ] - - location: -1 (remaining gas: 1039858.910 units remaining) - [ True ] - - location: 39 (remaining gas: 1039858.720 units remaining) - [ ] - - location: -1 (remaining gas: 1039858.650 units remaining) - [ ] - - location: 44 (remaining gas: 1039858.510 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 45 (remaining gas: 1039858.380 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" @self ] - - location: 48 (remaining gas: 1039858.240 units remaining) - [ ] - - location: 49 (remaining gas: 1039858.100 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 50 (remaining gas: 1039857.970 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" @self ] - - location: 53 (remaining gas: 1039857.830 units remaining) - [ ] - - location: 54 (remaining gas: 1039857.690 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 55 (remaining gas: 1039857.560 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" @self ] - - location: 60 (remaining gas: 1039857.420 units remaining) - [ ] - - location: 61 (remaining gas: 1039857.280 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 62 (remaining gas: 1039857.150 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" @self ] - - location: 65 (remaining gas: 1039857.010 units remaining) - [ ] - - location: 66 (remaining gas: 1039856.870 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 67 (remaining gas: 1039856.740 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 76 (remaining gas: 1039856.600 units remaining) - [ ] - - location: 77 (remaining gas: 1039856.460 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 78 (remaining gas: 1039856.330 units remaining) - [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" @self ] - - location: 87 (remaining gas: 1039856.190 units remaining) - [ ] - - location: 88 (remaining gas: 1039856.050 units remaining) - [ Unit ] - - location: 89 (remaining gas: 1039855.910 units remaining) - [ {} - Unit ] - - location: 91 (remaining gas: 1039855.770 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039855.700 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" deleted file mode 100644 index f9dad231b97f..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"\"-(Pair \"\" 0)].out" +++ /dev/null @@ -1,53 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair "hello" 0)-""-(Pair "" 0)] - -storage - (Pair "" 0) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039985.287 units remaining) - [ (Pair "" "hello" 0) ] - - location: 9 (remaining gas: 1039985.147 units remaining) - [ (Pair "" "hello" 0) - (Pair "" "hello" 0) ] - - location: 10 (remaining gas: 1039985.007 units remaining) - [ (Pair "hello" 0) @storage - (Pair "" "hello" 0) ] - - location: 13 (remaining gas: 1039984.707 units remaining) - [ "" @parameter ] - - location: 12 (remaining gas: 1039984.637 units remaining) - [ "" @parameter ] - - location: 11 (remaining gas: 1039984.637 units remaining) - [ (Pair "hello" 0) @storage - "" @parameter ] - - location: 15 (remaining gas: 1039984.437 units remaining) - [ (Pair "hello" 0) @storage - (Pair "hello" 0) @storage - "" @parameter ] - - location: 16 (remaining gas: 1039984.297 units remaining) - [ "hello" - (Pair "hello" 0) @storage - "" @parameter ] - - location: 17 (remaining gas: 1039984.157 units remaining) - [ (Pair "hello" 0) @storage - "" @parameter ] - - location: 18 (remaining gas: 1039984.017 units remaining) - [ 0 @storage.n - "" @parameter ] - - location: 19 (remaining gas: 1039983.887 units remaining) - [ "" @parameter - 0 @storage.n ] - - location: 20 (remaining gas: 1039983.747 units remaining) - [ (Pair "" 0) @storage ] - - location: -1 (remaining gas: 1039983.677 units remaining) - [ (Pair "" 0) @storage ] - - location: 21 (remaining gas: 1039983.537 units remaining) - [ {} - (Pair "" 0) @storage ] - - location: 23 (remaining gas: 1039983.397 units remaining) - [ (Pair {} "" 0) ] - - location: -1 (remaining gas: 1039983.327 units remaining) - [ (Pair {} "" 0) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" deleted file mode 100644 index 1411e7e6f998..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"abc\"-(Pair \"abc\" 0)].out" +++ /dev/null @@ -1,53 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair "hello" 0)-"abc"-(Pair "abc" 0)] - -storage - (Pair "abc" 0) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039985.257 units remaining) - [ (Pair "abc" "hello" 0) ] - - location: 9 (remaining gas: 1039985.117 units remaining) - [ (Pair "abc" "hello" 0) - (Pair "abc" "hello" 0) ] - - location: 10 (remaining gas: 1039984.977 units remaining) - [ (Pair "hello" 0) @storage - (Pair "abc" "hello" 0) ] - - location: 13 (remaining gas: 1039984.677 units remaining) - [ "abc" @parameter ] - - location: 12 (remaining gas: 1039984.607 units remaining) - [ "abc" @parameter ] - - location: 11 (remaining gas: 1039984.607 units remaining) - [ (Pair "hello" 0) @storage - "abc" @parameter ] - - location: 15 (remaining gas: 1039984.407 units remaining) - [ (Pair "hello" 0) @storage - (Pair "hello" 0) @storage - "abc" @parameter ] - - location: 16 (remaining gas: 1039984.267 units remaining) - [ "hello" - (Pair "hello" 0) @storage - "abc" @parameter ] - - location: 17 (remaining gas: 1039984.127 units remaining) - [ (Pair "hello" 0) @storage - "abc" @parameter ] - - location: 18 (remaining gas: 1039983.987 units remaining) - [ 0 @storage.n - "abc" @parameter ] - - location: 19 (remaining gas: 1039983.857 units remaining) - [ "abc" @parameter - 0 @storage.n ] - - location: 20 (remaining gas: 1039983.717 units remaining) - [ (Pair "abc" 0) @storage ] - - location: -1 (remaining gas: 1039983.647 units remaining) - [ (Pair "abc" 0) @storage ] - - location: 21 (remaining gas: 1039983.507 units remaining) - [ {} - (Pair "abc" 0) @storage ] - - location: 23 (remaining gas: 1039983.367 units remaining) - [ (Pair {} "abc" 0) ] - - location: -1 (remaining gas: 1039983.297 units remaining) - [ (Pair {} "abc" 0) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" deleted file mode 100644 index 494a25a3288d..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair \"hello\" 0)-\"world\"-(Pair \"world\" 0)].out" +++ /dev/null @@ -1,53 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_car.tz-(Pair "hello" 0)-"world"-(Pair "world" 0)] - -storage - (Pair "world" 0) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039985.237 units remaining) - [ (Pair "world" "hello" 0) ] - - location: 9 (remaining gas: 1039985.097 units remaining) - [ (Pair "world" "hello" 0) - (Pair "world" "hello" 0) ] - - location: 10 (remaining gas: 1039984.957 units remaining) - [ (Pair "hello" 0) @storage - (Pair "world" "hello" 0) ] - - location: 13 (remaining gas: 1039984.657 units remaining) - [ "world" @parameter ] - - location: 12 (remaining gas: 1039984.587 units remaining) - [ "world" @parameter ] - - location: 11 (remaining gas: 1039984.587 units remaining) - [ (Pair "hello" 0) @storage - "world" @parameter ] - - location: 15 (remaining gas: 1039984.387 units remaining) - [ (Pair "hello" 0) @storage - (Pair "hello" 0) @storage - "world" @parameter ] - - location: 16 (remaining gas: 1039984.247 units remaining) - [ "hello" - (Pair "hello" 0) @storage - "world" @parameter ] - - location: 17 (remaining gas: 1039984.107 units remaining) - [ (Pair "hello" 0) @storage - "world" @parameter ] - - location: 18 (remaining gas: 1039983.967 units remaining) - [ 0 @storage.n - "world" @parameter ] - - location: 19 (remaining gas: 1039983.837 units remaining) - [ "world" @parameter - 0 @storage.n ] - - location: 20 (remaining gas: 1039983.697 units remaining) - [ (Pair "world" 0) @storage ] - - location: -1 (remaining gas: 1039983.627 units remaining) - [ (Pair "world" 0) @storage ] - - location: 21 (remaining gas: 1039983.487 units remaining) - [ {} - (Pair "world" 0) @storage ] - - location: 23 (remaining gas: 1039983.347 units remaining) - [ (Pair {} "world" 0) ] - - location: -1 (remaining gas: 1039983.277 units remaining) - [ (Pair {} "world" 0) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" deleted file mode 100644 index e3ecf6fe1e94..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 0)-1-(Pair \"hello\" 1)].out" +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair "hello" 0)-1-(Pair "hello" 1)] - -storage - (Pair "hello" 1) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039986.051 units remaining) - [ (Pair 1 "hello" 0) ] - - location: 9 (remaining gas: 1039985.911 units remaining) - [ (Pair 1 "hello" 0) - (Pair 1 "hello" 0) ] - - location: 10 (remaining gas: 1039985.771 units remaining) - [ (Pair "hello" 0) @storage - (Pair 1 "hello" 0) ] - - location: 13 (remaining gas: 1039985.471 units remaining) - [ 1 @parameter ] - - location: 12 (remaining gas: 1039985.401 units remaining) - [ 1 @parameter ] - - location: 11 (remaining gas: 1039985.401 units remaining) - [ (Pair "hello" 0) @storage - 1 @parameter ] - - location: 15 (remaining gas: 1039985.201 units remaining) - [ (Pair "hello" 0) @storage - (Pair "hello" 0) @storage - 1 @parameter ] - - location: 16 (remaining gas: 1039985.061 units remaining) - [ 0 - (Pair "hello" 0) @storage - 1 @parameter ] - - location: 17 (remaining gas: 1039984.921 units remaining) - [ (Pair "hello" 0) @storage - 1 @parameter ] - - location: 18 (remaining gas: 1039984.781 units remaining) - [ "hello" @storage.s - 1 @parameter ] - - location: 19 (remaining gas: 1039984.641 units remaining) - [ (Pair "hello" 1) @storage ] - - location: -1 (remaining gas: 1039984.571 units remaining) - [ (Pair "hello" 1) @storage ] - - location: 20 (remaining gas: 1039984.431 units remaining) - [ {} - (Pair "hello" 1) @storage ] - - location: 22 (remaining gas: 1039984.291 units remaining) - [ (Pair {} "hello" 1) ] - - location: -1 (remaining gas: 1039984.221 units remaining) - [ (Pair {} "hello" 1) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" deleted file mode 100644 index 90608fbc27fe..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 500)-3-(Pair \"hello\" 3)].out" +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair "hello" 500)-3-(Pair "hello" 3)] - -storage - (Pair "hello" 3) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039986.051 units remaining) - [ (Pair 3 "hello" 500) ] - - location: 9 (remaining gas: 1039985.911 units remaining) - [ (Pair 3 "hello" 500) - (Pair 3 "hello" 500) ] - - location: 10 (remaining gas: 1039985.771 units remaining) - [ (Pair "hello" 500) @storage - (Pair 3 "hello" 500) ] - - location: 13 (remaining gas: 1039985.471 units remaining) - [ 3 @parameter ] - - location: 12 (remaining gas: 1039985.401 units remaining) - [ 3 @parameter ] - - location: 11 (remaining gas: 1039985.401 units remaining) - [ (Pair "hello" 500) @storage - 3 @parameter ] - - location: 15 (remaining gas: 1039985.201 units remaining) - [ (Pair "hello" 500) @storage - (Pair "hello" 500) @storage - 3 @parameter ] - - location: 16 (remaining gas: 1039985.061 units remaining) - [ 500 - (Pair "hello" 500) @storage - 3 @parameter ] - - location: 17 (remaining gas: 1039984.921 units remaining) - [ (Pair "hello" 500) @storage - 3 @parameter ] - - location: 18 (remaining gas: 1039984.781 units remaining) - [ "hello" @storage.s - 3 @parameter ] - - location: 19 (remaining gas: 1039984.641 units remaining) - [ (Pair "hello" 3) @storage ] - - location: -1 (remaining gas: 1039984.571 units remaining) - [ (Pair "hello" 3) @storage ] - - location: 20 (remaining gas: 1039984.431 units remaining) - [ {} - (Pair "hello" 3) @storage ] - - location: 22 (remaining gas: 1039984.291 units remaining) - [ (Pair {} "hello" 3) ] - - location: -1 (remaining gas: 1039984.221 units remaining) - [ (Pair {} "hello" 3) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" deleted file mode 100644 index e34fbfdcee6a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair \"hello\" 7)-100-(Pair \"hello\" 100)].out" +++ /dev/null @@ -1,50 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_cdr.tz-(Pair "hello" 7)-100-(Pair "hello" 100)] - -storage - (Pair "hello" 100) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039986.051 units remaining) - [ (Pair 100 "hello" 7) ] - - location: 9 (remaining gas: 1039985.911 units remaining) - [ (Pair 100 "hello" 7) - (Pair 100 "hello" 7) ] - - location: 10 (remaining gas: 1039985.771 units remaining) - [ (Pair "hello" 7) @storage - (Pair 100 "hello" 7) ] - - location: 13 (remaining gas: 1039985.471 units remaining) - [ 100 @parameter ] - - location: 12 (remaining gas: 1039985.401 units remaining) - [ 100 @parameter ] - - location: 11 (remaining gas: 1039985.401 units remaining) - [ (Pair "hello" 7) @storage - 100 @parameter ] - - location: 15 (remaining gas: 1039985.201 units remaining) - [ (Pair "hello" 7) @storage - (Pair "hello" 7) @storage - 100 @parameter ] - - location: 16 (remaining gas: 1039985.061 units remaining) - [ 7 - (Pair "hello" 7) @storage - 100 @parameter ] - - location: 17 (remaining gas: 1039984.921 units remaining) - [ (Pair "hello" 7) @storage - 100 @parameter ] - - location: 18 (remaining gas: 1039984.781 units remaining) - [ "hello" @storage.s - 100 @parameter ] - - location: 19 (remaining gas: 1039984.641 units remaining) - [ (Pair "hello" 100) @storage ] - - location: -1 (remaining gas: 1039984.571 units remaining) - [ (Pair "hello" 100) @storage ] - - location: 20 (remaining gas: 1039984.431 units remaining) - [ {} - (Pair "hello" 100) @storage ] - - location: 22 (remaining gas: 1039984.291 units remaining) - [ (Pair {} "hello" 100) ] - - location: -1 (remaining gas: 1039984.221 units remaining) - [ (Pair {} "hello" 100) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" deleted file mode 100644 index cc5ddac20760..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"a\" ; \"b\" ; \"c\" }-{ \"a\" ; \"b\" ; \"c\" }].out" +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ "a" ; "b" ; "c" }-{ "a" ; "b" ; "c" }] - -storage - { "a" ; "b" ; "c" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039993.748 units remaining) - [ (Pair { "a" ; "b" ; "c" } {}) ] - - location: 9 (remaining gas: 1039993.608 units remaining) - [ { "a" ; "b" ; "c" } @parameter ] - - location: 10 (remaining gas: 1039993.468 units remaining) - [ {} - { "a" ; "b" ; "c" } @parameter ] - - location: 12 (remaining gas: 1039993.328 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - - location: -1 (remaining gas: 1039993.258 units remaining) - [ (Pair {} { "a" ; "b" ; "c" }) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" deleted file mode 100644 index a12e2a516cb5..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ \"asdf\" ; \"bcde\" }-{ \"asdf\" ; \"bcde\" }].out" +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{ "asdf" ; "bcde" }-{ "asdf" ; "bcde" }] - -storage - { "asdf" ; "bcde" } -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039994.151 units remaining) - [ (Pair { "asdf" ; "bcde" } {}) ] - - location: 9 (remaining gas: 1039994.011 units remaining) - [ { "asdf" ; "bcde" } @parameter ] - - location: 10 (remaining gas: 1039993.871 units remaining) - [ {} - { "asdf" ; "bcde" } @parameter ] - - location: 12 (remaining gas: 1039993.731 units remaining) - [ (Pair {} { "asdf" ; "bcde" }) ] - - location: -1 (remaining gas: 1039993.661 units remaining) - [ (Pair {} { "asdf" ; "bcde" }) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out deleted file mode 100644 index 74d4dd35e3f3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}].out +++ /dev/null @@ -1,21 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_id.tz-{}-{}-{}] - -storage - {} -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039995.020 units remaining) - [ (Pair {} {}) ] - - location: 9 (remaining gas: 1039994.880 units remaining) - [ {} @parameter ] - - location: 10 (remaining gas: 1039994.740 units remaining) - [ {} - {} @parameter ] - - location: 12 (remaining gas: 1039994.600 units remaining) - [ (Pair {} {}) ] - - location: -1 (remaining gas: 1039994.530 units remaining) - [ (Pair {} {}) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out deleted file mode 100644 index f7e97e2e91a0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94].out +++ /dev/null @@ -1,45 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ -100 ; 1 ; 2 ; 3 }--94] - -storage - -94 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039990.050 units remaining) - [ (Pair { -100 ; 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039989.910 units remaining) - [ { -100 ; 1 ; 2 ; 3 } @parameter ] - - location: 9 (remaining gas: 1039989.770 units remaining) - [ 0 - { -100 ; 1 ; 2 ; 3 } @parameter ] - - location: 12 (remaining gas: 1039989.640 units remaining) - [ { -100 ; 1 ; 2 ; 3 } @parameter - 0 ] - - location: 15 (remaining gas: 1039989.216 units remaining) - [ -100 ] - - location: 14 (remaining gas: 1039989.146 units remaining) - [ -100 ] - - location: 15 (remaining gas: 1039989.006 units remaining) - [ -99 ] - - location: 14 (remaining gas: 1039988.936 units remaining) - [ -99 ] - - location: 15 (remaining gas: 1039988.796 units remaining) - [ -97 ] - - location: 14 (remaining gas: 1039988.726 units remaining) - [ -97 ] - - location: 15 (remaining gas: 1039988.586 units remaining) - [ -94 ] - - location: 14 (remaining gas: 1039988.516 units remaining) - [ -94 ] - - location: 13 (remaining gas: 1039988.516 units remaining) - [ -94 ] - - location: 16 (remaining gas: 1039988.376 units remaining) - [ {} - -94 ] - - location: 18 (remaining gas: 1039988.236 units remaining) - [ (Pair {} -94) ] - - location: -1 (remaining gas: 1039988.166 units remaining) - [ (Pair {} -94) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out deleted file mode 100644 index 8d57d1d9f9e3..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{ 1 }-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.460 units remaining) - [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039991.320 units remaining) - [ { 1 } @parameter ] - - location: 9 (remaining gas: 1039991.180 units remaining) - [ 0 - { 1 } @parameter ] - - location: 12 (remaining gas: 1039991.050 units remaining) - [ { 1 } @parameter - 0 ] - - location: 15 (remaining gas: 1039990.734 units remaining) - [ 1 ] - - location: 14 (remaining gas: 1039990.664 units remaining) - [ 1 ] - - location: 13 (remaining gas: 1039990.664 units remaining) - [ 1 ] - - location: 16 (remaining gas: 1039990.524 units remaining) - [ {} - 1 ] - - location: 18 (remaining gas: 1039990.384 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039990.314 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out deleted file mode 100644 index 883628357a34..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0].out +++ /dev/null @@ -1,29 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_iter.tz-111-{}-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.780 units remaining) - [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039991.640 units remaining) - [ {} @parameter ] - - location: 9 (remaining gas: 1039991.500 units remaining) - [ 0 - {} @parameter ] - - location: 12 (remaining gas: 1039991.370 units remaining) - [ {} @parameter - 0 ] - - location: 13 (remaining gas: 1039991.230 units remaining) - [ 0 ] - - location: 16 (remaining gas: 1039991.090 units remaining) - [ {} - 0 ] - - location: 18 (remaining gas: 1039990.950 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039990.880 units remaining) - [ (Pair {} 0) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" deleted file mode 100644 index 28af1587d091..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hello\" ; \"World\" } None)-\"\"-(Pai.3d2044726e.out" +++ /dev/null @@ -1,68 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { "Hello" ; "World" } None)-""-(Pair { "Hello" ; "World" } (Some False))] - -storage - (Pair { "Hello" ; "World" } (Some False)) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039980.147 units remaining) - [ (Pair "" { "Hello" ; "World" } None) ] - - location: 11 (remaining gas: 1039980.007 units remaining) - [ (Pair "" { "Hello" ; "World" } None) - (Pair "" { "Hello" ; "World" } None) ] - - location: 12 (remaining gas: 1039979.867 units remaining) - [ (Pair "" { "Hello" ; "World" } None) - (Pair "" { "Hello" ; "World" } None) - (Pair "" { "Hello" ; "World" } None) ] - - location: 13 (remaining gas: 1039979.727 units remaining) - [ "" @parameter - (Pair "" { "Hello" ; "World" } None) - (Pair "" { "Hello" ; "World" } None) ] - - location: 17 (remaining gas: 1039979.367 units remaining) - [ (Pair { "Hello" ; "World" } None) @storage - (Pair "" { "Hello" ; "World" } None) ] - - location: 18 (remaining gas: 1039979.227 units remaining) - [ { "Hello" ; "World" } - (Pair "" { "Hello" ; "World" } None) ] - - location: -1 (remaining gas: 1039979.157 units remaining) - [ { "Hello" ; "World" } - (Pair "" { "Hello" ; "World" } None) ] - - location: 15 (remaining gas: 1039979.087 units remaining) - [ { "Hello" ; "World" } - (Pair "" { "Hello" ; "World" } None) ] - - location: 14 (remaining gas: 1039979.087 units remaining) - [ "" @parameter - { "Hello" ; "World" } - (Pair "" { "Hello" ; "World" } None) ] - - location: 19 (remaining gas: 1039978.947 units remaining) - [ False - (Pair "" { "Hello" ; "World" } None) ] - - location: 20 (remaining gas: 1039978.807 units remaining) - [ (Some False) - (Pair "" { "Hello" ; "World" } None) ] - - location: 24 (remaining gas: 1039978.447 units remaining) - [ (Pair { "Hello" ; "World" } None) @storage ] - - location: 25 (remaining gas: 1039978.307 units remaining) - [ { "Hello" ; "World" } ] - - location: -1 (remaining gas: 1039978.237 units remaining) - [ { "Hello" ; "World" } ] - - location: 22 (remaining gas: 1039978.167 units remaining) - [ { "Hello" ; "World" } ] - - location: 21 (remaining gas: 1039978.167 units remaining) - [ (Some False) - { "Hello" ; "World" } ] - - location: 26 (remaining gas: 1039978.037 units remaining) - [ { "Hello" ; "World" } - (Some False) ] - - location: 27 (remaining gas: 1039977.897 units remaining) - [ (Pair { "Hello" ; "World" } (Some False)) ] - - location: 28 (remaining gas: 1039977.757 units remaining) - [ {} - (Pair { "Hello" ; "World" } (Some False)) ] - - location: 30 (remaining gas: 1039977.617 units remaining) - [ (Pair {} { "Hello" ; "World" } (Some False)) ] - - location: -1 (remaining gas: 1039977.547 units remaining) - [ (Pair {} { "Hello" ; "World" } (Some False)) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" deleted file mode 100644 index 901b1ee3b7e7..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { \"Hi\" } None)-\"Hi\"-(Pair { \"Hi\" } .564beb9251.out" +++ /dev/null @@ -1,68 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair { "Hi" } None)-"Hi"-(Pair { "Hi" } (Some True))] - -storage - (Pair { "Hi" } (Some True)) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039980.662 units remaining) - [ (Pair "Hi" { "Hi" } None) ] - - location: 11 (remaining gas: 1039980.522 units remaining) - [ (Pair "Hi" { "Hi" } None) - (Pair "Hi" { "Hi" } None) ] - - location: 12 (remaining gas: 1039980.382 units remaining) - [ (Pair "Hi" { "Hi" } None) - (Pair "Hi" { "Hi" } None) - (Pair "Hi" { "Hi" } None) ] - - location: 13 (remaining gas: 1039980.242 units remaining) - [ "Hi" @parameter - (Pair "Hi" { "Hi" } None) - (Pair "Hi" { "Hi" } None) ] - - location: 17 (remaining gas: 1039979.882 units remaining) - [ (Pair { "Hi" } None) @storage - (Pair "Hi" { "Hi" } None) ] - - location: 18 (remaining gas: 1039979.742 units remaining) - [ { "Hi" } - (Pair "Hi" { "Hi" } None) ] - - location: -1 (remaining gas: 1039979.672 units remaining) - [ { "Hi" } - (Pair "Hi" { "Hi" } None) ] - - location: 15 (remaining gas: 1039979.602 units remaining) - [ { "Hi" } - (Pair "Hi" { "Hi" } None) ] - - location: 14 (remaining gas: 1039979.602 units remaining) - [ "Hi" @parameter - { "Hi" } - (Pair "Hi" { "Hi" } None) ] - - location: 19 (remaining gas: 1039979.462 units remaining) - [ True - (Pair "Hi" { "Hi" } None) ] - - location: 20 (remaining gas: 1039979.322 units remaining) - [ (Some True) - (Pair "Hi" { "Hi" } None) ] - - location: 24 (remaining gas: 1039978.962 units remaining) - [ (Pair { "Hi" } None) @storage ] - - location: 25 (remaining gas: 1039978.822 units remaining) - [ { "Hi" } ] - - location: -1 (remaining gas: 1039978.752 units remaining) - [ { "Hi" } ] - - location: 22 (remaining gas: 1039978.682 units remaining) - [ { "Hi" } ] - - location: 21 (remaining gas: 1039978.682 units remaining) - [ (Some True) - { "Hi" } ] - - location: 26 (remaining gas: 1039978.552 units remaining) - [ { "Hi" } - (Some True) ] - - location: 27 (remaining gas: 1039978.412 units remaining) - [ (Pair { "Hi" } (Some True)) ] - - location: 28 (remaining gas: 1039978.272 units remaining) - [ {} - (Pair { "Hi" } (Some True)) ] - - location: 30 (remaining gas: 1039978.132 units remaining) - [ (Pair {} { "Hi" } (Some True)) ] - - location: -1 (remaining gas: 1039978.062 units remaining) - [ (Pair {} { "Hi" } (Some True)) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" deleted file mode 100644 index 30dff322b036..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-\"Hi\"-(Pair {} (Some False))].out" +++ /dev/null @@ -1,68 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_member.tz-(Pair {} None)-"Hi"-(Pair {} (Some False))] - -storage - (Pair {} (Some False)) -emitted operations - -big_map diff - -trace - - location: 10 (remaining gas: 1039981.016 units remaining) - [ (Pair "Hi" {} None) ] - - location: 11 (remaining gas: 1039980.876 units remaining) - [ (Pair "Hi" {} None) - (Pair "Hi" {} None) ] - - location: 12 (remaining gas: 1039980.736 units remaining) - [ (Pair "Hi" {} None) - (Pair "Hi" {} None) - (Pair "Hi" {} None) ] - - location: 13 (remaining gas: 1039980.596 units remaining) - [ "Hi" @parameter - (Pair "Hi" {} None) - (Pair "Hi" {} None) ] - - location: 17 (remaining gas: 1039980.236 units remaining) - [ (Pair {} None) @storage - (Pair "Hi" {} None) ] - - location: 18 (remaining gas: 1039980.096 units remaining) - [ {} - (Pair "Hi" {} None) ] - - location: -1 (remaining gas: 1039980.026 units remaining) - [ {} - (Pair "Hi" {} None) ] - - location: 15 (remaining gas: 1039979.956 units remaining) - [ {} - (Pair "Hi" {} None) ] - - location: 14 (remaining gas: 1039979.956 units remaining) - [ "Hi" @parameter - {} - (Pair "Hi" {} None) ] - - location: 19 (remaining gas: 1039979.816 units remaining) - [ False - (Pair "Hi" {} None) ] - - location: 20 (remaining gas: 1039979.676 units remaining) - [ (Some False) - (Pair "Hi" {} None) ] - - location: 24 (remaining gas: 1039979.316 units remaining) - [ (Pair {} None) @storage ] - - location: 25 (remaining gas: 1039979.176 units remaining) - [ {} ] - - location: -1 (remaining gas: 1039979.106 units remaining) - [ {} ] - - location: 22 (remaining gas: 1039979.036 units remaining) - [ {} ] - - location: 21 (remaining gas: 1039979.036 units remaining) - [ (Some False) - {} ] - - location: 26 (remaining gas: 1039978.906 units remaining) - [ {} - (Some False) ] - - location: 27 (remaining gas: 1039978.766 units remaining) - [ (Pair {} (Some False)) ] - - location: 28 (remaining gas: 1039978.626 units remaining) - [ {} - (Pair {} (Some False)) ] - - location: 30 (remaining gas: 1039978.486 units remaining) - [ (Pair {} {} (Some False)) ] - - location: -1 (remaining gas: 1039978.416 units remaining) - [ (Pair {} {} (Some False)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out deleted file mode 100644 index 4c5c4f681a03..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }-6] - -storage - 6 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039991.900 units remaining) - [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] - - location: 8 (remaining gas: 1039991.760 units remaining) - [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } @parameter ] - - location: 9 (remaining gas: 1039991.620 units remaining) - [ 6 ] - - location: 10 (remaining gas: 1039991.480 units remaining) - [ {} - 6 ] - - location: 12 (remaining gas: 1039991.340 units remaining) - [ (Pair {} 6) ] - - location: -1 (remaining gas: 1039991.270 units remaining) - [ (Pair {} 6) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out deleted file mode 100644 index cf8dea7734ec..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 ; 2 ; 3 }-3] - -storage - 3 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.310 units remaining) - [ (Pair { 1 ; 2 ; 3 } 111) ] - - location: 8 (remaining gas: 1039993.170 units remaining) - [ { 1 ; 2 ; 3 } @parameter ] - - location: 9 (remaining gas: 1039993.030 units remaining) - [ 3 ] - - location: 10 (remaining gas: 1039992.890 units remaining) - [ {} - 3 ] - - location: 12 (remaining gas: 1039992.750 units remaining) - [ (Pair {} 3) ] - - location: -1 (remaining gas: 1039992.680 units remaining) - [ (Pair {} 3) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out deleted file mode 100644 index 4be49226230d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_size.tz-111-{ 1 }-1] - -storage - 1 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.250 units remaining) - [ (Pair { 1 } 111) ] - - location: 8 (remaining gas: 1039994.110 units remaining) - [ { 1 } @parameter ] - - location: 9 (remaining gas: 1039993.970 units remaining) - [ 1 ] - - location: 10 (remaining gas: 1039993.830 units remaining) - [ {} - 1 ] - - location: 12 (remaining gas: 1039993.690 units remaining) - [ (Pair {} 1) ] - - location: -1 (remaining gas: 1039993.620 units remaining) - [ (Pair {} 1) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out deleted file mode 100644 index 9a83281b5f48..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0].out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[set_size.tz-111-{}-0] - -storage - 0 -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.570 units remaining) - [ (Pair {} 111) ] - - location: 8 (remaining gas: 1039994.430 units remaining) - [ {} @parameter ] - - location: 9 (remaining gas: 1039994.290 units remaining) - [ 0 ] - - location: 10 (remaining gas: 1039994.150 units remaining) - [ {} - 0 ] - - location: 12 (remaining gas: 1039994.010 units remaining) - [ (Pair {} 0) ] - - location: -1 (remaining gas: 1039993.940 units remaining) - [ (Pair {} 0) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out deleted file mode 100644 index 782c7695535f..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a.a07ae9dddf.out +++ /dev/null @@ -1,27 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[sha3.tz-None-0x48656c6c6f2c20776f726c6421-(Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722)] - -storage - (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039993.690 units remaining) - [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] - - location: 8 (remaining gas: 1039993.550 units remaining) - [ 0x48656c6c6f2c20776f726c6421 @parameter ] - - location: 9 (remaining gas: 1039991.674 units remaining) - [ 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722 ] - - location: 10 (remaining gas: 1039991.534 units remaining) - [ (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] - - location: 11 (remaining gas: 1039991.394 units remaining) - [ {} - (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] - - location: 13 (remaining gas: 1039991.254 units remaining) - [ (Pair {} - (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722)) ] - - location: -1 (remaining gas: 1039991.184 units remaining) - [ (Pair {} - (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out deleted file mode 100644 index 50a34e3ed021..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 0))-(Some 0)] - -storage - (Some 0) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Left (Pair 0 0)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Left (Pair 0 0)) @parameter ] - - location: 17 (remaining gas: 1039988.390 units remaining) - [ 0 - 0 ] - - location: 18 (remaining gas: 1039988.180 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 0) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 0) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 0)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out deleted file mode 100644 index b9f9f774f629..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 0 1))-(Some 0)] - -storage - (Some 0) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Left (Pair 0 1)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Left (Pair 0 1)) @parameter ] - - location: 17 (remaining gas: 1039988.390 units remaining) - [ 0 - 1 ] - - location: 18 (remaining gas: 1039988.180 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 0) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 0) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 0)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out deleted file mode 100644 index d5b470a82158..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 1 2))-(Some 4)] - -storage - (Some 4) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Left (Pair 1 2)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Left (Pair 1 2)) @parameter ] - - location: 17 (remaining gas: 1039988.390 units remaining) - [ 1 - 2 ] - - location: 18 (remaining gas: 1039988.180 units remaining) - [ 4 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 4 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 4) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 4) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 4)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 4)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out deleted file mode 100644 index e177b1786aed..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 15 2))-(Some 60)] - -storage - (Some 60) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Left (Pair 15 2)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Left (Pair 15 2)) @parameter ] - - location: 17 (remaining gas: 1039988.390 units remaining) - [ 15 - 2 ] - - location: 18 (remaining gas: 1039988.180 units remaining) - [ 60 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 60 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 60) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 60) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 60)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 60)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out deleted file mode 100644 index 8e9ce51f003a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Left (Pair 8 1))-(Some 16)] - -storage - (Some 16) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Left (Pair 8 1)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Left (Pair 8 1)) @parameter ] - - location: 17 (remaining gas: 1039988.390 units remaining) - [ 8 - 1 ] - - location: 18 (remaining gas: 1039988.180 units remaining) - [ 16 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 16 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 16) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 16) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 16)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 16)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out deleted file mode 100644 index 17d7dac28cab..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 0))-(Some 0)] - -storage - (Some 0) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Right (Pair 0 0)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Right (Pair 0 0)) @parameter ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ 0 - 0 ] - - location: 21 (remaining gas: 1039988.180 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 0) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 0) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 0)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out deleted file mode 100644 index 373cdd3b5e1c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 0 1))-(Some 0)] - -storage - (Some 0) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Right (Pair 0 1)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Right (Pair 0 1)) @parameter ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ 0 - 1 ] - - location: 21 (remaining gas: 1039988.180 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 0) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 0) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 0)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out deleted file mode 100644 index f90624fe54d7..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 1 2))-(Some 0)] - -storage - (Some 0) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Right (Pair 1 2)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Right (Pair 1 2)) @parameter ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ 1 - 2 ] - - location: 21 (remaining gas: 1039988.180 units remaining) - [ 0 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 0 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 0) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 0) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 0)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 0)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out deleted file mode 100644 index 503af959c191..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 15 2))-(Some 3)] - -storage - (Some 3) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Right (Pair 15 2)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Right (Pair 15 2)) @parameter ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ 15 - 2 ] - - location: 21 (remaining gas: 1039988.180 units remaining) - [ 3 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 3 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 3) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 3) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 3)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 3)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out deleted file mode 100644 index 2a7a3f9e5360..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)].out +++ /dev/null @@ -1,30 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[shifts.tz-None-(Right (Pair 8 1))-(Some 4)] - -storage - (Some 4) -emitted operations - -big_map diff - -trace - - location: 13 (remaining gas: 1039988.820 units remaining) - [ (Pair (Right (Pair 8 1)) None) ] - - location: 14 (remaining gas: 1039988.680 units remaining) - [ (Right (Pair 8 1)) @parameter ] - - location: 20 (remaining gas: 1039988.390 units remaining) - [ 8 - 1 ] - - location: 21 (remaining gas: 1039988.180 units remaining) - [ 4 ] - - location: -1 (remaining gas: 1039988.110 units remaining) - [ 4 ] - - location: 22 (remaining gas: 1039987.970 units remaining) - [ (Some 4) ] - - location: 23 (remaining gas: 1039987.830 units remaining) - [ {} - (Some 4) ] - - location: 25 (remaining gas: 1039987.690 units remaining) - [ (Pair {} (Some 4)) ] - - location: -1 (remaining gas: 1039987.620 units remaining) - [ (Pair {} (Some 4)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out deleted file mode 100644 index ba5b1aedb492..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-None-Pair 0 0-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.315 units remaining) - [ (Pair (Pair 0 0) None) ] - - location: 10 (remaining gas: 1039988.175 units remaining) - [ (Pair 0 0) @parameter - None @storage ] - - location: 11 (remaining gas: 1039988.045 units remaining) - [ None @storage - (Pair 0 0) @parameter ] - - location: 15 (remaining gas: 1039987.705 units remaining) - [ ] - - location: 16 (remaining gas: 1039987.565 units remaining) - [ None ] - - location: -1 (remaining gas: 1039987.495 units remaining) - [ None ] - - location: 12 (remaining gas: 1039987.425 units remaining) - [ None ] - - location: 22 (remaining gas: 1039987.285 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039987.145 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.075 units remaining) - [ (Pair {} None) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" deleted file mode 100644 index c814e1d14ae6..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 0-(Some \"\")].out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some "Foo"-Pair 0 0-(Some "")] - -storage - (Some "") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.031 units remaining) - [ (Pair (Pair 0 0) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.891 units remaining) - [ (Pair 0 0) @parameter - (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.761 units remaining) - [ (Some "Foo") @storage - (Pair 0 0) @parameter ] - - location: 19 (remaining gas: 1039987.431 units remaining) - [ (Pair 0 0) @parameter - "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.291 units remaining) - [ 0 - 0 - "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.151 units remaining) - [ (Some "") @storage.some.slice ] - - location: -1 (remaining gas: 1039987.081 units remaining) - [ (Some "") @storage.some.slice ] - - location: 12 (remaining gas: 1039987.011 units remaining) - [ (Some "") ] - - location: 22 (remaining gas: 1039986.871 units remaining) - [ {} - (Some "") ] - - location: 24 (remaining gas: 1039986.731 units remaining) - [ (Pair {} (Some "")) ] - - location: -1 (remaining gas: 1039986.661 units remaining) - [ (Pair {} (Some "")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" deleted file mode 100644 index 51eaebfffd26..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 10-None].out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some "Foo"-Pair 0 10-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.031 units remaining) - [ (Pair (Pair 0 10) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.891 units remaining) - [ (Pair 0 10) @parameter - (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.761 units remaining) - [ (Some "Foo") @storage - (Pair 0 10) @parameter ] - - location: 19 (remaining gas: 1039987.431 units remaining) - [ (Pair 0 10) @parameter - "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.291 units remaining) - [ 0 - 10 - "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.151 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.081 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.011 units remaining) - [ None ] - - location: 22 (remaining gas: 1039986.871 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039986.731 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039986.661 units remaining) - [ (Pair {} None) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" deleted file mode 100644 index de7cb6adf5bf..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 0 2-(Some \"Fo\")].out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some "Foo"-Pair 0 2-(Some "Fo")] - -storage - (Some "Fo") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.031 units remaining) - [ (Pair (Pair 0 2) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.891 units remaining) - [ (Pair 0 2) @parameter - (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.761 units remaining) - [ (Some "Foo") @storage - (Pair 0 2) @parameter ] - - location: 19 (remaining gas: 1039987.431 units remaining) - [ (Pair 0 2) @parameter - "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.291 units remaining) - [ 0 - 2 - "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.151 units remaining) - [ (Some "Fo") @storage.some.slice ] - - location: -1 (remaining gas: 1039987.081 units remaining) - [ (Some "Fo") @storage.some.slice ] - - location: 12 (remaining gas: 1039987.011 units remaining) - [ (Some "Fo") ] - - location: 22 (remaining gas: 1039986.871 units remaining) - [ {} - (Some "Fo") ] - - location: 24 (remaining gas: 1039986.731 units remaining) - [ (Pair {} (Some "Fo")) ] - - location: -1 (remaining gas: 1039986.661 units remaining) - [ (Pair {} (Some "Fo")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" deleted file mode 100644 index 6a5a742b8cde..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 1-(Some \"o\")].out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some "Foo"-Pair 1 1-(Some "o")] - -storage - (Some "o") -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.031 units remaining) - [ (Pair (Pair 1 1) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.891 units remaining) - [ (Pair 1 1) @parameter - (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.761 units remaining) - [ (Some "Foo") @storage - (Pair 1 1) @parameter ] - - location: 19 (remaining gas: 1039987.431 units remaining) - [ (Pair 1 1) @parameter - "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.291 units remaining) - [ 1 - 1 - "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.151 units remaining) - [ (Some "o") @storage.some.slice ] - - location: -1 (remaining gas: 1039987.081 units remaining) - [ (Some "o") @storage.some.slice ] - - location: 12 (remaining gas: 1039987.011 units remaining) - [ (Some "o") ] - - location: 22 (remaining gas: 1039986.871 units remaining) - [ {} - (Some "o") ] - - location: 24 (remaining gas: 1039986.731 units remaining) - [ (Pair {} (Some "o")) ] - - location: -1 (remaining gas: 1039986.661 units remaining) - [ (Pair {} (Some "o")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" deleted file mode 100644 index a20a6dcb77ca..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 1 3-None].out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some "Foo"-Pair 1 3-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.031 units remaining) - [ (Pair (Pair 1 3) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.891 units remaining) - [ (Pair 1 3) @parameter - (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.761 units remaining) - [ (Some "Foo") @storage - (Pair 1 3) @parameter ] - - location: 19 (remaining gas: 1039987.431 units remaining) - [ (Pair 1 3) @parameter - "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.291 units remaining) - [ 1 - 3 - "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.151 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.081 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.011 units remaining) - [ None ] - - location: 22 (remaining gas: 1039986.871 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039986.731 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039986.661 units remaining) - [ (Pair {} None) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" deleted file mode 100644 index 875663068381..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some \"Foo\"-Pair 10 5-None].out" +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some "Foo"-Pair 10 5-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.031 units remaining) - [ (Pair (Pair 10 5) (Some "Foo")) ] - - location: 10 (remaining gas: 1039987.891 units remaining) - [ (Pair 10 5) @parameter - (Some "Foo") @storage ] - - location: 11 (remaining gas: 1039987.761 units remaining) - [ (Some "Foo") @storage - (Pair 10 5) @parameter ] - - location: 19 (remaining gas: 1039987.431 units remaining) - [ (Pair 10 5) @parameter - "Foo" @storage.some ] - - location: 20 (remaining gas: 1039987.291 units remaining) - [ 10 - 5 - "Foo" @storage.some ] - - location: 21 (remaining gas: 1039987.151 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.081 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.011 units remaining) - [ None ] - - location: 22 (remaining gas: 1039986.871 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039986.731 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039986.661 units remaining) - [ (Pair {} None) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" deleted file mode 100644 index fafdca9bdbac..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice.tz-Some\"FooFooFooFooFooFooFooFooFooFooFooFooFooFo.c508d67bb0.out" +++ /dev/null @@ -1,39 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice.tz-Some"FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo"-Pair 1 10000-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039928.061 units remaining) - [ (Pair (Pair 1 10000) - (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo")) ] - - location: 10 (remaining gas: 1039927.921 units remaining) - [ (Pair 1 10000) @parameter - (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") @storage ] - - location: 11 (remaining gas: 1039927.791 units remaining) - [ (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") @storage - (Pair 1 10000) @parameter ] - - location: 19 (remaining gas: 1039927.461 units remaining) - [ (Pair 1 10000) @parameter - "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" @storage.some ] - - location: 20 (remaining gas: 1039927.321 units remaining) - [ 1 - 10000 - "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" @storage.some ] - - location: 21 (remaining gas: 1039926.806 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039926.736 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039926.666 units remaining) - [ None ] - - location: 22 (remaining gas: 1039926.526 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039926.386 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039926.316 units remaining) - [ (Pair {} None) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out deleted file mode 100644 index dd39cd2527cd..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None].out +++ /dev/null @@ -1,33 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-None-Pair 0 1-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.315 units remaining) - [ (Pair (Pair 0 1) None) ] - - location: 10 (remaining gas: 1039988.175 units remaining) - [ (Pair 0 1) @parameter - None @storage ] - - location: 11 (remaining gas: 1039988.045 units remaining) - [ None @storage - (Pair 0 1) @parameter ] - - location: 15 (remaining gas: 1039987.705 units remaining) - [ ] - - location: 16 (remaining gas: 1039987.565 units remaining) - [ None ] - - location: -1 (remaining gas: 1039987.495 units remaining) - [ None ] - - location: 12 (remaining gas: 1039987.425 units remaining) - [ None ] - - location: 22 (remaining gas: 1039987.285 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039987.145 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039987.075 units remaining) - [ (Pair {} None) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out deleted file mode 100644 index b112cd6aa3ee..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 0-(Some 0x)] - -storage - (Some 0x) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 0 0) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 0 0) @parameter - (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbcc) @storage - (Pair 0 0) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 0 0) @parameter - 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 0 - 0 - 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.195 units remaining) - [ (Some 0x) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.125 units remaining) - [ (Some 0x) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.055 units remaining) - [ (Some 0x) ] - - location: 22 (remaining gas: 1039986.915 units remaining) - [ {} - (Some 0x) ] - - location: 24 (remaining gas: 1039986.775 units remaining) - [ (Pair {} (Some 0x)) ] - - location: -1 (remaining gas: 1039986.705 units remaining) - [ (Pair {} (Some 0x)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out deleted file mode 100644 index 50c7c8bc43a0..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 0 1-(Some 0xaa)] - -storage - (Some 0xaa) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 0 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 0 1) @parameter - (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbcc) @storage - (Pair 0 1) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 0 1) @parameter - 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 0 - 1 - 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.195 units remaining) - [ (Some 0xaa) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.125 units remaining) - [ (Some 0xaa) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.055 units remaining) - [ (Some 0xaa) ] - - location: 22 (remaining gas: 1039986.915 units remaining) - [ {} - (Some 0xaa) ] - - location: 24 (remaining gas: 1039986.775 units remaining) - [ (Pair {} (Some 0xaa)) ] - - location: -1 (remaining gas: 1039986.705 units remaining) - [ (Pair {} (Some 0xaa)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out deleted file mode 100644 index c6c598ad6fab..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)0] - -storage - (Some 0xbb) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 1 1) @parameter - (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbcc) @storage - (Pair 1 1) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 1 1) @parameter - 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 1 - 1 - 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.195 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.125 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.055 units remaining) - [ (Some 0xbb) ] - - location: 22 (remaining gas: 1039986.915 units remaining) - [ {} - (Some 0xbb) ] - - location: 24 (remaining gas: 1039986.775 units remaining) - [ (Pair {} (Some 0xbb)) ] - - location: -1 (remaining gas: 1039986.705 units remaining) - [ (Pair {} (Some 0xbb)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out deleted file mode 100644 index 2f5f0d3d4344..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 1-(Some 0xbb)1] - -storage - (Some 0xbb) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 1 1) @parameter - (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbcc) @storage - (Pair 1 1) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 1 1) @parameter - 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 1 - 1 - 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.195 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.125 units remaining) - [ (Some 0xbb) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.055 units remaining) - [ (Some 0xbb) ] - - location: 22 (remaining gas: 1039986.915 units remaining) - [ {} - (Some 0xbb) ] - - location: 24 (remaining gas: 1039986.775 units remaining) - [ (Pair {} (Some 0xbb)) ] - - location: -1 (remaining gas: 1039986.705 units remaining) - [ (Pair {} (Some 0xbb)) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out deleted file mode 100644 index 5b7b253a3b2b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 2-(Some 0xbbcc)] - -storage - (Some 0xbbcc) -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 1 2) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 1 2) @parameter - (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbcc) @storage - (Pair 1 2) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 1 2) @parameter - 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 1 - 2 - 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.195 units remaining) - [ (Some 0xbbcc) @storage.some.slice ] - - location: -1 (remaining gas: 1039987.125 units remaining) - [ (Some 0xbbcc) @storage.some.slice ] - - location: 12 (remaining gas: 1039987.055 units remaining) - [ (Some 0xbbcc) ] - - location: 22 (remaining gas: 1039986.915 units remaining) - [ {} - (Some 0xbbcc) ] - - location: 24 (remaining gas: 1039986.775 units remaining) - [ (Pair {} (Some 0xbbcc)) ] - - location: -1 (remaining gas: 1039986.705 units remaining) - [ (Pair {} (Some 0xbbcc)) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out deleted file mode 100644 index 75c019382e71..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None].out +++ /dev/null @@ -1,38 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbcc-Pair 1 3-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 1 3) (Some 0xaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 1 3) @parameter - (Some 0xaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbcc) @storage - (Pair 1 3) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 1 3) @parameter - 0xaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 1 - 3 - 0xaabbcc @storage.some ] - - location: 21 (remaining gas: 1039987.195 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039987.125 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039987.055 units remaining) - [ None ] - - location: 22 (remaining gas: 1039986.915 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039986.775 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039986.705 units remaining) - [ (Pair {} None) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out deleted file mode 100644 index bd663f16368d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaab.df5895de85.out +++ /dev/null @@ -1,39 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[slice_bytes.tz-Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc-Pair 1 10000-None] - -storage - None -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039988.075 units remaining) - [ (Pair (Pair 1 10000) - (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc)) ] - - location: 10 (remaining gas: 1039987.935 units remaining) - [ (Pair 1 10000) @parameter - (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) @storage ] - - location: 11 (remaining gas: 1039987.805 units remaining) - [ (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) @storage - (Pair 1 10000) @parameter ] - - location: 19 (remaining gas: 1039987.475 units remaining) - [ (Pair 1 10000) @parameter - 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc @storage.some ] - - location: 20 (remaining gas: 1039987.335 units remaining) - [ 1 - 10000 - 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc @storage.some ] - - location: 21 (remaining gas: 1039986.820 units remaining) - [ None @storage.some.slice ] - - location: -1 (remaining gas: 1039986.750 units remaining) - [ None @storage.some.slice ] - - location: 12 (remaining gas: 1039986.680 units remaining) - [ None ] - - location: 22 (remaining gas: 1039986.540 units remaining) - [ {} - None ] - - location: 24 (remaining gas: 1039986.400 units remaining) - [ (Pair {} None) ] - - location: -1 (remaining gas: 1039986.330 units remaining) - [ (Pair {} None) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" deleted file mode 100644 index e37aeda4e58a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"Hello\"-(Some \"Hello\")].out" +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[str_id.tz-None-"Hello"-(Some "Hello")] - -storage - (Some "Hello") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.376 units remaining) - [ (Pair "Hello" None) ] - - location: 8 (remaining gas: 1039994.236 units remaining) - [ "Hello" @parameter ] - - location: 9 (remaining gas: 1039994.096 units remaining) - [ (Some "Hello") ] - - location: 10 (remaining gas: 1039993.956 units remaining) - [ {} - (Some "Hello") ] - - location: 12 (remaining gas: 1039993.816 units remaining) - [ (Pair {} (Some "Hello")) ] - - location: -1 (remaining gas: 1039993.746 units remaining) - [ (Pair {} (Some "Hello")) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" deleted file mode 100644 index 620a9d476895..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[str_id.tz-None-\"abcd\"-(Some \"abcd\")].out" +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[str_id.tz-None-"abcd"-(Some "abcd")] - -storage - (Some "abcd") -emitted operations - -big_map diff - -trace - - location: 7 (remaining gas: 1039994.386 units remaining) - [ (Pair "abcd" None) ] - - location: 8 (remaining gas: 1039994.246 units remaining) - [ "abcd" @parameter ] - - location: 9 (remaining gas: 1039994.106 units remaining) - [ (Some "abcd") ] - - location: 10 (remaining gas: 1039993.966 units remaining) - [ {} - (Some "abcd") ] - - location: 12 (remaining gas: 1039993.826 units remaining) - [ (Pair {} (Some "abcd")) ] - - location: -1 (remaining gas: 1039993.756 units remaining) - [ (Pair {} (Some "abcd")) ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" deleted file mode 100644 index 24d133145f1d..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-\"1970-01-01T00:03:20Z\"].out" +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 -100)-"1970-01-01T00:03:20Z"] - -storage - "1970-01-01T00:03:20Z" -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.200 units remaining) - [ (Pair (Pair "1970-01-01T00:01:40Z" -100) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039990.060 units remaining) - [ (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 10 (remaining gas: 1039989.920 units remaining) - [ (Pair "1970-01-01T00:01:40Z" -100) @parameter - (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 11 (remaining gas: 1039989.780 units remaining) - [ "1970-01-01T00:01:40Z" - (Pair "1970-01-01T00:01:40Z" -100) @parameter ] - - location: 14 (remaining gas: 1039989.480 units remaining) - [ -100 ] - - location: 13 (remaining gas: 1039989.410 units remaining) - [ -100 ] - - location: 12 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:01:40Z" - -100 ] - - location: 15 (remaining gas: 1039989.270 units remaining) - [ "1970-01-01T00:03:20Z" ] - - location: 16 (remaining gas: 1039989.130 units remaining) - [ {} - "1970-01-01T00:03:20Z" ] - - location: 18 (remaining gas: 1039988.990 units remaining) - [ (Pair {} "1970-01-01T00:03:20Z") ] - - location: -1 (remaining gas: 1039988.920 units remaining) - [ (Pair {} "1970-01-01T00:03:20Z") ] - diff --git "a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" deleted file mode 100644 index 0e415055260a..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-\"1970-01-01T00:00:00Z\"].out" +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 100)-"1970-01-01T00:00:00Z"] - -storage - "1970-01-01T00:00:00Z" -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.200 units remaining) - [ (Pair (Pair "1970-01-01T00:01:40Z" 100) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039990.060 units remaining) - [ (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 10 (remaining gas: 1039989.920 units remaining) - [ (Pair "1970-01-01T00:01:40Z" 100) @parameter - (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 11 (remaining gas: 1039989.780 units remaining) - [ "1970-01-01T00:01:40Z" - (Pair "1970-01-01T00:01:40Z" 100) @parameter ] - - location: 14 (remaining gas: 1039989.480 units remaining) - [ 100 ] - - location: 13 (remaining gas: 1039989.410 units remaining) - [ 100 ] - - location: 12 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:01:40Z" - 100 ] - - location: 15 (remaining gas: 1039989.270 units remaining) - [ "1970-01-01T00:00:00Z" ] - - location: 16 (remaining gas: 1039989.130 units remaining) - [ {} - "1970-01-01T00:00:00Z" ] - - location: 18 (remaining gas: 1039988.990 units remaining) - [ (Pair {} "1970-01-01T00:00:00Z") ] - - location: -1 (remaining gas: 1039988.920 units remaining) - [ (Pair {} "1970-01-01T00:00:00Z") ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out deleted file mode 100644 index bbb4cc4538ff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 200000000000000000.3db82d2c25.out +++ /dev/null @@ -1,36 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[sub_timestamp_delta.tz-111-(Pair 100 2000000000000000000)--1999999999999999900] - -storage - -1999999999999999900 -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039990.200 units remaining) - [ (Pair (Pair "1970-01-01T00:01:40Z" 2000000000000000000) "1970-01-01T00:01:51Z") ] - - location: 9 (remaining gas: 1039990.060 units remaining) - [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - - location: 10 (remaining gas: 1039989.920 units remaining) - [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter - (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - - location: 11 (remaining gas: 1039989.780 units remaining) - [ "1970-01-01T00:01:40Z" - (Pair "1970-01-01T00:01:40Z" 2000000000000000000) @parameter ] - - location: 14 (remaining gas: 1039989.480 units remaining) - [ 2000000000000000000 ] - - location: 13 (remaining gas: 1039989.410 units remaining) - [ 2000000000000000000 ] - - location: 12 (remaining gas: 1039989.410 units remaining) - [ "1970-01-01T00:01:40Z" - 2000000000000000000 ] - - location: 15 (remaining gas: 1039989.270 units remaining) - [ -1999999999999999900 ] - - location: 16 (remaining gas: 1039989.130 units remaining) - [ {} - -1999999999999999900 ] - - location: 18 (remaining gas: 1039988.990 units remaining) - [ (Pair {} -1999999999999999900) ] - - location: -1 (remaining gas: 1039988.920 units remaining) - [ (Pair {} -1999999999999999900) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out deleted file mode 100644 index cfd56d036fa6..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair .b461aa042b.out +++ /dev/null @@ -1,69 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2000000 1000000)-(Some (Pair 3000000 1000000))] - -storage - (Some (Pair 3000000 1000000)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039981.110 units remaining) - [ (Pair (Pair 2000000 1000000) None) ] - - location: 12 (remaining gas: 1039980.970 units remaining) - [ (Pair 2000000 1000000) @parameter ] - - location: 13 (remaining gas: 1039980.830 units remaining) - [ (Pair 2000000 1000000) @parameter - (Pair 2000000 1000000) @parameter ] - - location: 14 (remaining gas: 1039980.690 units remaining) - [ (Pair 2000000 1000000) @parameter - (Pair 2000000 1000000) @parameter - (Pair 2000000 1000000) @parameter ] - - location: 15 (remaining gas: 1039980.550 units remaining) - [ 2000000 - (Pair 2000000 1000000) @parameter - (Pair 2000000 1000000) @parameter ] - - location: 18 (remaining gas: 1039980.250 units remaining) - [ 1000000 - (Pair 2000000 1000000) @parameter ] - - location: 17 (remaining gas: 1039980.180 units remaining) - [ 1000000 - (Pair 2000000 1000000) @parameter ] - - location: 16 (remaining gas: 1039980.180 units remaining) - [ 2000000 - 1000000 - (Pair 2000000 1000000) @parameter ] - - location: 19 (remaining gas: 1039980.020 units remaining) - [ 3000000 - (Pair 2000000 1000000) @parameter ] - - location: 22 (remaining gas: 1039979.720 units remaining) - [ (Pair 2000000 1000000) @parameter - (Pair 2000000 1000000) @parameter ] - - location: 23 (remaining gas: 1039979.580 units remaining) - [ 2000000 - (Pair 2000000 1000000) @parameter ] - - location: 26 (remaining gas: 1039979.280 units remaining) - [ 1000000 ] - - location: 25 (remaining gas: 1039979.210 units remaining) - [ 1000000 ] - - location: 24 (remaining gas: 1039979.210 units remaining) - [ 2000000 - 1000000 ] - - location: 27 (remaining gas: 1039979.070 units remaining) - [ 1000000 ] - - location: -1 (remaining gas: 1039979 units remaining) - [ 1000000 ] - - location: 20 (remaining gas: 1039979 units remaining) - [ 3000000 - 1000000 ] - - location: 28 (remaining gas: 1039978.860 units remaining) - [ (Pair 3000000 1000000) ] - - location: 29 (remaining gas: 1039978.720 units remaining) - [ (Some (Pair 3000000 1000000)) ] - - location: 30 (remaining gas: 1039978.580 units remaining) - [ {} - (Some (Pair 3000000 1000000)) ] - - location: 32 (remaining gas: 1039978.440 units remaining) - [ (Pair {} (Some (Pair 3000000 1000000))) ] - - location: -1 (remaining gas: 1039978.370 units remaining) - [ (Pair {} (Some (Pair 3000000 1000000))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out deleted file mode 100644 index 4b4485dbbf44..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair .1e8cf7679c.out +++ /dev/null @@ -1,69 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[tez_add_sub.tz-None-(Pair 2310000 1010000)-(Some (Pair 3320000 1300000))] - -storage - (Some (Pair 3320000 1300000)) -emitted operations - -big_map diff - -trace - - location: 11 (remaining gas: 1039981.110 units remaining) - [ (Pair (Pair 2310000 1010000) None) ] - - location: 12 (remaining gas: 1039980.970 units remaining) - [ (Pair 2310000 1010000) @parameter ] - - location: 13 (remaining gas: 1039980.830 units remaining) - [ (Pair 2310000 1010000) @parameter - (Pair 2310000 1010000) @parameter ] - - location: 14 (remaining gas: 1039980.690 units remaining) - [ (Pair 2310000 1010000) @parameter - (Pair 2310000 1010000) @parameter - (Pair 2310000 1010000) @parameter ] - - location: 15 (remaining gas: 1039980.550 units remaining) - [ 2310000 - (Pair 2310000 1010000) @parameter - (Pair 2310000 1010000) @parameter ] - - location: 18 (remaining gas: 1039980.250 units remaining) - [ 1010000 - (Pair 2310000 1010000) @parameter ] - - location: 17 (remaining gas: 1039980.180 units remaining) - [ 1010000 - (Pair 2310000 1010000) @parameter ] - - location: 16 (remaining gas: 1039980.180 units remaining) - [ 2310000 - 1010000 - (Pair 2310000 1010000) @parameter ] - - location: 19 (remaining gas: 1039980.020 units remaining) - [ 3320000 - (Pair 2310000 1010000) @parameter ] - - location: 22 (remaining gas: 1039979.720 units remaining) - [ (Pair 2310000 1010000) @parameter - (Pair 2310000 1010000) @parameter ] - - location: 23 (remaining gas: 1039979.580 units remaining) - [ 2310000 - (Pair 2310000 1010000) @parameter ] - - location: 26 (remaining gas: 1039979.280 units remaining) - [ 1010000 ] - - location: 25 (remaining gas: 1039979.210 units remaining) - [ 1010000 ] - - location: 24 (remaining gas: 1039979.210 units remaining) - [ 2310000 - 1010000 ] - - location: 27 (remaining gas: 1039979.070 units remaining) - [ 1300000 ] - - location: -1 (remaining gas: 1039979 units remaining) - [ 1300000 ] - - location: 20 (remaining gas: 1039979 units remaining) - [ 3320000 - 1300000 ] - - location: 28 (remaining gas: 1039978.860 units remaining) - [ (Pair 3320000 1300000) ] - - location: 29 (remaining gas: 1039978.720 units remaining) - [ (Some (Pair 3320000 1300000)) ] - - location: 30 (remaining gas: 1039978.580 units remaining) - [ {} - (Some (Pair 3320000 1300000)) ] - - location: 32 (remaining gas: 1039978.440 units remaining) - [ (Pair {} (Some (Pair 3320000 1300000))) ] - - location: -1 (remaining gas: 1039978.370 units remaining) - [ (Pair {} (Some (Pair 3320000 1300000))) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out deleted file mode 100644 index 1121f852c2c9..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142].out +++ /dev/null @@ -1,52 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[uncomb.tz-0-(Pair 1 4 2)-142] - -storage - 142 -emitted operations - -big_map diff - -trace - - location: 9 (remaining gas: 1039986.880 units remaining) - [ (Pair (Pair 1 4 2) 0) ] - - location: 10 (remaining gas: 1039986.740 units remaining) - [ (Pair 1 4 2) @parameter ] - - location: 11 (remaining gas: 1039986.590 units remaining) - [ 1 - 4 - 2 ] - - location: 13 (remaining gas: 1039986.450 units remaining) - [ 100 - 1 - 4 - 2 ] - - location: 16 (remaining gas: 1039986.304 units remaining) - [ 100 - 4 - 2 ] - - location: 17 (remaining gas: 1039986.174 units remaining) - [ 4 - 100 - 2 ] - - location: 18 (remaining gas: 1039986.034 units remaining) - [ 10 - 4 - 100 - 2 ] - - location: 21 (remaining gas: 1039985.888 units remaining) - [ 40 - 100 - 2 ] - - location: 22 (remaining gas: 1039985.748 units remaining) - [ 140 - 2 ] - - location: 23 (remaining gas: 1039985.608 units remaining) - [ 142 ] - - location: 24 (remaining gas: 1039985.468 units remaining) - [ {} - 142 ] - - location: 26 (remaining gas: 1039985.328 units remaining) - [ (Pair {} 142) ] - - location: -1 (remaining gas: 1039985.258 units remaining) - [ (Pair {} 142) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out deleted file mode 100644 index dc2f3e359a2d..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit].out +++ /dev/null @@ -1,464 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[unpair.tz-Unit-Unit-Unit] - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 6 (remaining gas: 1039845.320 units remaining) - [ (Pair Unit Unit) ] - - location: 7 (remaining gas: 1039845.180 units remaining) - [ ] - - location: 8 (remaining gas: 1039845.040 units remaining) - [ Unit ] - - location: 9 (remaining gas: 1039844.900 units remaining) - [ Unit - Unit ] - - location: 10 (remaining gas: 1039844.760 units remaining) - [ (Pair Unit Unit) ] - - location: 11 (remaining gas: 1039844.620 units remaining) - [ Unit - Unit ] - - location: 12 (remaining gas: 1039844.452 units remaining) - [ ] - - location: 14 (remaining gas: 1039844.312 units remaining) - [ Unit @b ] - - location: 15 (remaining gas: 1039844.172 units remaining) - [ Unit @a - Unit @b ] - - location: 16 (remaining gas: 1039844.032 units remaining) - [ (Pair Unit Unit) ] - - location: 17 (remaining gas: 1039843.892 units remaining) - [ Unit @c - Unit @d ] - - location: 18 (remaining gas: 1039843.724 units remaining) - [ ] - - location: 20 (remaining gas: 1039843.584 units remaining) - [ Unit @b ] - - location: 21 (remaining gas: 1039843.444 units remaining) - [ Unit @a - Unit @b ] - - location: 22 (remaining gas: 1039843.304 units remaining) - [ (Pair Unit Unit) ] - - location: 23 (remaining gas: 1039843.164 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 24 (remaining gas: 1039843.024 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 25 (remaining gas: 1039842.856 units remaining) - [ (Pair Unit Unit) ] - - location: 27 (remaining gas: 1039842.716 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 28 (remaining gas: 1039842.576 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 29 (remaining gas: 1039842.408 units remaining) - [ (Pair Unit Unit) ] - - location: 31 (remaining gas: 1039842.268 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 32 (remaining gas: 1039842.128 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 33 (remaining gas: 1039841.960 units remaining) - [ (Pair Unit Unit) ] - - location: 35 (remaining gas: 1039841.820 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 36 (remaining gas: 1039841.680 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 37 (remaining gas: 1039841.512 units remaining) - [ (Pair Unit Unit) ] - - location: 39 (remaining gas: 1039841.372 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 40 (remaining gas: 1039841.232 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 41 (remaining gas: 1039841.064 units remaining) - [ (Pair Unit Unit) ] - - location: 43 (remaining gas: 1039840.924 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 44 (remaining gas: 1039840.784 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 45 (remaining gas: 1039840.616 units remaining) - [ (Pair Unit Unit) ] - - location: 47 (remaining gas: 1039840.476 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 48 (remaining gas: 1039840.336 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 49 (remaining gas: 1039840.168 units remaining) - [ (Pair Unit Unit) ] - - location: 51 (remaining gas: 1039840.028 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 52 (remaining gas: 1039839.888 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 53 (remaining gas: 1039839.720 units remaining) - [ (Pair Unit Unit) ] - - location: 55 (remaining gas: 1039839.580 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 56 (remaining gas: 1039839.440 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 57 (remaining gas: 1039839.272 units remaining) - [ (Pair Unit Unit) ] - - location: 59 (remaining gas: 1039839.132 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 60 (remaining gas: 1039838.992 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 61 (remaining gas: 1039838.824 units remaining) - [ (Pair Unit Unit) ] - - location: 63 (remaining gas: 1039838.684 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 64 (remaining gas: 1039838.544 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 65 (remaining gas: 1039838.376 units remaining) - [ (Pair Unit Unit) ] - - location: 67 (remaining gas: 1039838.236 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 68 (remaining gas: 1039838.096 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 69 (remaining gas: 1039837.928 units remaining) - [ (Pair Unit Unit) ] - - location: 71 (remaining gas: 1039837.788 units remaining) - [ ] - - location: 72 (remaining gas: 1039837.648 units remaining) - [ Unit @d ] - - location: 73 (remaining gas: 1039837.508 units remaining) - [ Unit @c - Unit @d ] - - location: 74 (remaining gas: 1039837.368 units remaining) - [ (Pair Unit Unit) ] - - location: 75 (remaining gas: 1039837.228 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 76 (remaining gas: 1039837.088 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 77 (remaining gas: 1039836.920 units remaining) - [ (Pair Unit Unit) ] - - location: 79 (remaining gas: 1039836.780 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 80 (remaining gas: 1039836.640 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 81 (remaining gas: 1039836.472 units remaining) - [ (Pair Unit Unit) ] - - location: 83 (remaining gas: 1039836.332 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 84 (remaining gas: 1039836.192 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 85 (remaining gas: 1039836.024 units remaining) - [ (Pair Unit Unit) ] - - location: 87 (remaining gas: 1039835.884 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 88 (remaining gas: 1039835.744 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 89 (remaining gas: 1039835.576 units remaining) - [ (Pair Unit Unit) ] - - location: 91 (remaining gas: 1039835.436 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 92 (remaining gas: 1039835.296 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 93 (remaining gas: 1039835.128 units remaining) - [ (Pair Unit Unit) ] - - location: 95 (remaining gas: 1039834.988 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 96 (remaining gas: 1039834.848 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 97 (remaining gas: 1039834.680 units remaining) - [ (Pair Unit Unit) ] - - location: 99 (remaining gas: 1039834.540 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 100 (remaining gas: 1039834.400 units remaining) - [ Unit @c - Unit @d - (Pair Unit Unit) ] - - location: 101 (remaining gas: 1039834.232 units remaining) - [ (Pair Unit Unit) ] - - location: 103 (remaining gas: 1039834.092 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 104 (remaining gas: 1039833.952 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 105 (remaining gas: 1039833.784 units remaining) - [ (Pair Unit Unit) ] - - location: 107 (remaining gas: 1039833.644 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 108 (remaining gas: 1039833.504 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 109 (remaining gas: 1039833.336 units remaining) - [ (Pair Unit Unit) ] - - location: 111 (remaining gas: 1039833.196 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 112 (remaining gas: 1039833.056 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 113 (remaining gas: 1039832.888 units remaining) - [ (Pair Unit Unit) ] - - location: 115 (remaining gas: 1039832.748 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 116 (remaining gas: 1039832.608 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 117 (remaining gas: 1039832.440 units remaining) - [ (Pair Unit Unit) ] - - location: 119 (remaining gas: 1039832.300 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 120 (remaining gas: 1039832.160 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 121 (remaining gas: 1039831.992 units remaining) - [ (Pair Unit Unit) ] - - location: 123 (remaining gas: 1039831.852 units remaining) - [ ] - - location: 124 (remaining gas: 1039831.712 units remaining) - [ Unit ] - - location: 125 (remaining gas: 1039831.572 units remaining) - [ Unit - Unit ] - - location: 126 (remaining gas: 1039831.432 units remaining) - [ (Pair Unit Unit) ] - - location: 127 (remaining gas: 1039831.292 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 128 (remaining gas: 1039831.152 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 129 (remaining gas: 1039830.984 units remaining) - [ (Pair Unit Unit) ] - - location: 131 (remaining gas: 1039830.844 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 132 (remaining gas: 1039830.704 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 133 (remaining gas: 1039830.536 units remaining) - [ (Pair Unit Unit) ] - - location: 135 (remaining gas: 1039830.396 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 136 (remaining gas: 1039830.256 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 137 (remaining gas: 1039830.088 units remaining) - [ (Pair Unit Unit) ] - - location: 139 (remaining gas: 1039829.948 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 140 (remaining gas: 1039829.808 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 141 (remaining gas: 1039829.640 units remaining) - [ (Pair Unit Unit) ] - - location: 143 (remaining gas: 1039829.500 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 144 (remaining gas: 1039829.360 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 145 (remaining gas: 1039829.192 units remaining) - [ (Pair Unit Unit) ] - - location: 147 (remaining gas: 1039829.052 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 148 (remaining gas: 1039828.912 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 149 (remaining gas: 1039828.744 units remaining) - [ (Pair Unit Unit) ] - - location: 151 (remaining gas: 1039828.604 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 152 (remaining gas: 1039828.464 units remaining) - [ Unit - Unit - (Pair Unit Unit) ] - - location: 153 (remaining gas: 1039828.296 units remaining) - [ (Pair Unit Unit) ] - - location: 155 (remaining gas: 1039828.156 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 156 (remaining gas: 1039828.016 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 157 (remaining gas: 1039827.848 units remaining) - [ (Pair Unit Unit) ] - - location: 159 (remaining gas: 1039827.708 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 160 (remaining gas: 1039827.568 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 161 (remaining gas: 1039827.400 units remaining) - [ (Pair Unit Unit) ] - - location: 163 (remaining gas: 1039827.260 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 164 (remaining gas: 1039827.120 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 165 (remaining gas: 1039826.952 units remaining) - [ (Pair Unit Unit) ] - - location: 167 (remaining gas: 1039826.812 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 168 (remaining gas: 1039826.672 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 169 (remaining gas: 1039826.504 units remaining) - [ (Pair Unit Unit) ] - - location: 171 (remaining gas: 1039826.364 units remaining) - [ (Pair Unit Unit) - (Pair Unit Unit) ] - - location: 172 (remaining gas: 1039826.224 units remaining) - [ Unit @a - Unit @b - (Pair Unit Unit) ] - - location: 173 (remaining gas: 1039826.056 units remaining) - [ (Pair Unit Unit) ] - - location: 175 (remaining gas: 1039825.916 units remaining) - [ ] - - location: 176 (remaining gas: 1039825.776 units remaining) - [ Unit ] - - location: 177 (remaining gas: 1039825.636 units remaining) - [ Unit - Unit ] - - location: 178 (remaining gas: 1039825.496 units remaining) - [ (Pair Unit Unit) @p ] - - location: 179 (remaining gas: 1039825.356 units remaining) - [ (Pair Unit Unit) @p - (Pair Unit Unit) @p ] - - location: 180 (remaining gas: 1039825.216 units remaining) - [ Unit @p.a - Unit @b - (Pair Unit Unit) @p ] - - location: 181 (remaining gas: 1039825.048 units remaining) - [ (Pair Unit Unit) @p ] - - location: 183 (remaining gas: 1039824.908 units remaining) - [ (Pair Unit Unit) @p - (Pair Unit Unit) @p ] - - location: 184 (remaining gas: 1039824.768 units remaining) - [ Unit @a - Unit @p.b - (Pair Unit Unit) @p ] - - location: 185 (remaining gas: 1039824.600 units remaining) - [ (Pair Unit Unit) @p ] - - location: 187 (remaining gas: 1039824.460 units remaining) - [ (Pair Unit Unit) @p - (Pair Unit Unit) @p ] - - location: 188 (remaining gas: 1039824.320 units remaining) - [ Unit @p.a - Unit @p.b - (Pair Unit Unit) @p ] - - location: 189 (remaining gas: 1039824.152 units remaining) - [ (Pair Unit Unit) @p ] - - location: 191 (remaining gas: 1039824.012 units remaining) - [ (Pair Unit Unit) @p - (Pair Unit Unit) @p ] - - location: 192 (remaining gas: 1039823.872 units remaining) - [ Unit @a - Unit @p.b - (Pair Unit Unit) @p ] - - location: 193 (remaining gas: 1039823.704 units remaining) - [ (Pair Unit Unit) @p ] - - location: 195 (remaining gas: 1039823.564 units remaining) - [ (Pair Unit Unit) @p - (Pair Unit Unit) @p ] - - location: 196 (remaining gas: 1039823.424 units remaining) - [ Unit @p.a - Unit @b - (Pair Unit Unit) @p ] - - location: 197 (remaining gas: 1039823.256 units remaining) - [ (Pair Unit Unit) @p ] - - location: 199 (remaining gas: 1039823.116 units remaining) - [ ] - - location: 200 (remaining gas: 1039822.976 units remaining) - [ Unit @b ] - - location: 201 (remaining gas: 1039822.836 units remaining) - [ Unit @a - Unit @b ] - - location: 202 (remaining gas: 1039822.696 units remaining) - [ (Pair Unit Unit) @c ] - - location: 203 (remaining gas: 1039822.556 units remaining) - [ Unit @b - Unit @a ] - - location: 204 (remaining gas: 1039822.388 units remaining) - [ ] - - location: 206 (remaining gas: 1039822.248 units remaining) - [ Unit ] - - location: 207 (remaining gas: 1039822.108 units remaining) - [ {} - Unit ] - - location: 209 (remaining gas: 1039821.968 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039821.898 units remaining) - [ (Pair {} Unit) ] - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" deleted file mode 100644 index 17559a8f32a5..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-\"edpkuBknW28nW72KG6RoHtYW7p1.b2c677ad7b.out" +++ /dev/null @@ -1,34 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[voting_power.tz-(Pair 0 0)-"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"-(Pair 500 2500)] - -storage - (Pair 500 2500) -emitted operations - -big_map diff - -trace - - location: 8 (remaining gas: 1039961.660 units remaining) - [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" 0 0) ] - - location: 9 (remaining gas: 1039961.520 units remaining) - [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" @parameter ] - - location: 10 (remaining gas: 1039960.880 units remaining) - [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] - - location: 11 (remaining gas: 1039745.412 units remaining) - [ 500 ] - - location: 14 (remaining gas: 1039534.784 units remaining) - [ 2500 ] - - location: 13 (remaining gas: 1039534.714 units remaining) - [ 2500 ] - - location: 12 (remaining gas: 1039534.714 units remaining) - [ 500 - 2500 ] - - location: 15 (remaining gas: 1039534.574 units remaining) - [ (Pair 500 2500) ] - - location: 16 (remaining gas: 1039534.434 units remaining) - [ {} - (Pair 500 2500) ] - - location: 18 (remaining gas: 1039534.294 units remaining) - [ (Pair {} 500 2500) ] - - location: -1 (remaining gas: 1039534.224 units remaining) - [ (Pair {} 500 2500) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out deleted file mode 100644 index b0b9c31675d2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False False)-(Some (Left False))] - -storage - (Some (Left False)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Left (Pair False False)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Left (Pair False False)) @parameter ] - - location: 19 (remaining gas: 1039985.690 units remaining) - [ False - False ] - - location: 20 (remaining gas: 1039985.530 units remaining) - [ False ] - - location: 21 (remaining gas: 1039985.390 units remaining) - [ (Left False) ] - - location: -1 (remaining gas: 1039985.320 units remaining) - [ (Left False) ] - - location: 28 (remaining gas: 1039985.180 units remaining) - [ (Some (Left False)) ] - - location: 29 (remaining gas: 1039985.040 units remaining) - [ {} - (Some (Left False)) ] - - location: 31 (remaining gas: 1039984.900 units remaining) - [ (Pair {} (Some (Left False))) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} (Some (Left False))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out deleted file mode 100644 index bc1d6691989c..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair False True)-(Some (Left True))] - -storage - (Some (Left True)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Left (Pair False True)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Left (Pair False True)) @parameter ] - - location: 19 (remaining gas: 1039985.690 units remaining) - [ False - True ] - - location: 20 (remaining gas: 1039985.530 units remaining) - [ True ] - - location: 21 (remaining gas: 1039985.390 units remaining) - [ (Left True) ] - - location: -1 (remaining gas: 1039985.320 units remaining) - [ (Left True) ] - - location: 28 (remaining gas: 1039985.180 units remaining) - [ (Some (Left True)) ] - - location: 29 (remaining gas: 1039985.040 units remaining) - [ {} - (Some (Left True)) ] - - location: 31 (remaining gas: 1039984.900 units remaining) - [ (Pair {} (Some (Left True))) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} (Some (Left True))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out deleted file mode 100644 index 513fedf3e5dc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True False)-(Some (Left True))] - -storage - (Some (Left True)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Left (Pair True False)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Left (Pair True False)) @parameter ] - - location: 19 (remaining gas: 1039985.690 units remaining) - [ True - False ] - - location: 20 (remaining gas: 1039985.530 units remaining) - [ True ] - - location: 21 (remaining gas: 1039985.390 units remaining) - [ (Left True) ] - - location: -1 (remaining gas: 1039985.320 units remaining) - [ (Left True) ] - - location: 28 (remaining gas: 1039985.180 units remaining) - [ (Some (Left True)) ] - - location: 29 (remaining gas: 1039985.040 units remaining) - [ {} - (Some (Left True)) ] - - location: 31 (remaining gas: 1039984.900 units remaining) - [ (Pair {} (Some (Left True))) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} (Some (Left True))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out deleted file mode 100644 index 2ffa22859eab..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Left (Pair True True)-(Some (Left False))] - -storage - (Some (Left False)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Left (Pair True True)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Left (Pair True True)) @parameter ] - - location: 19 (remaining gas: 1039985.690 units remaining) - [ True - True ] - - location: 20 (remaining gas: 1039985.530 units remaining) - [ False ] - - location: 21 (remaining gas: 1039985.390 units remaining) - [ (Left False) ] - - location: -1 (remaining gas: 1039985.320 units remaining) - [ (Left False) ] - - location: 28 (remaining gas: 1039985.180 units remaining) - [ (Some (Left False)) ] - - location: 29 (remaining gas: 1039985.040 units remaining) - [ {} - (Some (Left False)) ] - - location: 31 (remaining gas: 1039984.900 units remaining) - [ (Pair {} (Some (Left False))) ] - - location: -1 (remaining gas: 1039984.830 units remaining) - [ (Pair {} (Some (Left False))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out deleted file mode 100644 index 55a866396ebc..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 0)-(Some (Right 0))] - -storage - (Some (Right 0)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Right (Pair 0 0)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Right (Pair 0 0)) @parameter ] - - location: 24 (remaining gas: 1039985.690 units remaining) - [ 0 - 0 ] - - location: 25 (remaining gas: 1039985.550 units remaining) - [ 0 ] - - location: 26 (remaining gas: 1039985.410 units remaining) - [ (Right 0) ] - - location: -1 (remaining gas: 1039985.340 units remaining) - [ (Right 0) ] - - location: 28 (remaining gas: 1039985.200 units remaining) - [ (Some (Right 0)) ] - - location: 29 (remaining gas: 1039985.060 units remaining) - [ {} - (Some (Right 0)) ] - - location: 31 (remaining gas: 1039984.920 units remaining) - [ (Pair {} (Some (Right 0))) ] - - location: -1 (remaining gas: 1039984.850 units remaining) - [ (Pair {} (Some (Right 0))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out deleted file mode 100644 index ef27a9862251..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 0 1)-(Some (Right 1))] - -storage - (Some (Right 1)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Right (Pair 0 1)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Right (Pair 0 1)) @parameter ] - - location: 24 (remaining gas: 1039985.690 units remaining) - [ 0 - 1 ] - - location: 25 (remaining gas: 1039985.550 units remaining) - [ 1 ] - - location: 26 (remaining gas: 1039985.410 units remaining) - [ (Right 1) ] - - location: -1 (remaining gas: 1039985.340 units remaining) - [ (Right 1) ] - - location: 28 (remaining gas: 1039985.200 units remaining) - [ (Some (Right 1)) ] - - location: 29 (remaining gas: 1039985.060 units remaining) - [ {} - (Some (Right 1)) ] - - location: 31 (remaining gas: 1039984.920 units remaining) - [ (Pair {} (Some (Right 1))) ] - - location: -1 (remaining gas: 1039984.850 units remaining) - [ (Pair {} (Some (Right 1))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out deleted file mode 100644 index a8315611db9e..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 0)-(Some (Right 1))] - -storage - (Some (Right 1)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Right (Pair 1 0)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Right (Pair 1 0)) @parameter ] - - location: 24 (remaining gas: 1039985.690 units remaining) - [ 1 - 0 ] - - location: 25 (remaining gas: 1039985.550 units remaining) - [ 1 ] - - location: 26 (remaining gas: 1039985.410 units remaining) - [ (Right 1) ] - - location: -1 (remaining gas: 1039985.340 units remaining) - [ (Right 1) ] - - location: 28 (remaining gas: 1039985.200 units remaining) - [ (Some (Right 1)) ] - - location: 29 (remaining gas: 1039985.060 units remaining) - [ {} - (Some (Right 1)) ] - - location: 31 (remaining gas: 1039984.920 units remaining) - [ (Pair {} (Some (Right 1))) ] - - location: -1 (remaining gas: 1039984.850 units remaining) - [ (Pair {} (Some (Right 1))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out deleted file mode 100644 index 0f4f88e6c49a..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 1 1)-(Some (Right 0))] - -storage - (Some (Right 0)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Right (Pair 1 1)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Right (Pair 1 1)) @parameter ] - - location: 24 (remaining gas: 1039985.690 units remaining) - [ 1 - 1 ] - - location: 25 (remaining gas: 1039985.550 units remaining) - [ 0 ] - - location: 26 (remaining gas: 1039985.410 units remaining) - [ (Right 0) ] - - location: -1 (remaining gas: 1039985.340 units remaining) - [ (Right 0) ] - - location: 28 (remaining gas: 1039985.200 units remaining) - [ (Some (Right 0)) ] - - location: 29 (remaining gas: 1039985.060 units remaining) - [ {} - (Some (Right 0)) ] - - location: 31 (remaining gas: 1039984.920 units remaining) - [ (Pair {} (Some (Right 0))) ] - - location: -1 (remaining gas: 1039984.850 units remaining) - [ (Pair {} (Some (Right 0))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out deleted file mode 100644 index 92ff3f6d89ff..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 21)-(Some (Right 63))] - -storage - (Some (Right 63)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Right (Pair 42 21)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Right (Pair 42 21)) @parameter ] - - location: 24 (remaining gas: 1039985.690 units remaining) - [ 42 - 21 ] - - location: 25 (remaining gas: 1039985.550 units remaining) - [ 63 ] - - location: 26 (remaining gas: 1039985.410 units remaining) - [ (Right 63) ] - - location: -1 (remaining gas: 1039985.340 units remaining) - [ (Right 63) ] - - location: 28 (remaining gas: 1039985.200 units remaining) - [ (Some (Right 63)) ] - - location: 29 (remaining gas: 1039985.060 units remaining) - [ {} - (Some (Right 63)) ] - - location: 31 (remaining gas: 1039984.920 units remaining) - [ (Pair {} (Some (Right 63))) ] - - location: -1 (remaining gas: 1039984.850 units remaining) - [ (Pair {} (Some (Right 63))) ] - diff --git a/tests_python/tests_008/_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_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out deleted file mode 100644 index d5943e0dceb2..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))].out +++ /dev/null @@ -1,32 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_contract_input_output[xor.tz-None-Right (Pair 42 63)-(Some (Right 21))] - -storage - (Some (Right 21)) -emitted operations - -big_map diff - -trace - - location: 15 (remaining gas: 1039986.120 units remaining) - [ (Pair (Right (Pair 42 63)) None) ] - - location: 16 (remaining gas: 1039985.980 units remaining) - [ (Right (Pair 42 63)) @parameter ] - - location: 24 (remaining gas: 1039985.690 units remaining) - [ 42 - 63 ] - - location: 25 (remaining gas: 1039985.550 units remaining) - [ 21 ] - - location: 26 (remaining gas: 1039985.410 units remaining) - [ (Right 21) ] - - location: -1 (remaining gas: 1039985.340 units remaining) - [ (Right 21) ] - - location: 28 (remaining gas: 1039985.200 units remaining) - [ (Some (Right 21)) ] - - location: 29 (remaining gas: 1039985.060 units remaining) - [ {} - (Some (Right 21)) ] - - location: 31 (remaining gas: 1039984.920 units remaining) - [ (Pair {} (Some (Right 21))) ] - - location: -1 (remaining gas: 1039984.850 units remaining) - [ (Pair {} (Some (Right 21))) ] - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_hash_consistency_michelson_cli.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_hash_consistency_michelson_cli.out deleted file mode 100644 index adfcd4257334..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_hash_consistency_michelson_cli.out +++ /dev/null @@ -1,23 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_hash_consistency_michelson_cli - -Raw packed data: 0x0507070080acd2c6a501070700bcc485a30b0022 -Script-expression-ID-Hash: expruenXhGp5JQoHJTGv4DzBR8Zm3HGvea8Q8BaMPywsY2bxrHAEgC -Raw Script-expression-ID-Hash: 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc -Ledger Blake2b hash: B5B7PuGGVUrdHUW9Df8wPNJQRuUmx56aH1XVpvbUZvW7 -Raw Sha256 hash: 0x538634a0f81b55f1c946c1207a25c262479566d20bd3d5cd2cdbb2940fc45774 -Raw Sha512 hash: 0x49d5c19c2da4ee74f85225c95625a4b77b94724f4285b436b9d4be27d40491354bdc8e9d8a3d9b2857e5fb59b172605edd02fc4b61ce3cd3f84aa11ed1731ff6 -Gas remaining: 1039980.620 units remaining -storage - 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc -emitted operations - -big_map diff - - -storage - 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc -emitted operations - -big_map diff - - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"bar\" 5 ; Elt \"foo\" 1 } .480b9afc63.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"bar\" 5 ; Elt \"foo\" 1 } .480b9afc63.out" deleted file mode 100644 index 21d47832e91b..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"bar\" 5 ; Elt \"foo\" 1 } .480b9afc63.out" +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt "bar" 5 ; Elt "foo" 1 } 6)-15-(Pair { Elt "bar" 20 ; Elt "foo" 16 } 36)] - -storage - (Pair { Elt "bar" 20 ; Elt "foo" 16 } 36) -emitted operations - -big_map diff - - diff --git "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"foo\" 1 } 1)-10-(Pair { .811573b5a7.out" "b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"foo\" 1 } 1)-10-(Pair { .811573b5a7.out" deleted file mode 100644 index bd3be45f26b1..000000000000 --- "a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt \"foo\" 1 } 1)-10-(Pair { .811573b5a7.out" +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair { Elt "foo" 1 } 1)-10-(Pair { Elt "foo" 11 } 11)] - -storage - (Pair { Elt "foo" 11 } 11) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair {} 0)-10-(Pair {} 0)].out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair {} 0)-10-(Pair {} 0)].out deleted file mode 100644 index b9a31b1f6c4b..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair {} 0)-10-(Pair {} 0)].out +++ /dev/null @@ -1,9 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_map_map_sideeffect[map_map_sideeffect.tz-(Pair {} 0)-10-(Pair {} 0)] - -storage - (Pair {} 0) -emitted operations - -big_map diff - - diff --git a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out b/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out deleted file mode 100644 index 0ca4378dd9f4..000000000000 --- a/tests_python/tests_008/_regtest_outputs/test_contract_opcodes.TestContractOpcodes::test_packunpack.out +++ /dev/null @@ -1,114 +0,0 @@ -tests_008/test_contract_opcodes.py::TestContractOpcodes::test_packunpack - -storage - Unit -emitted operations - -big_map diff - -trace - - location: 14 (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.721 units remaining) - [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) @parameter ] - - location: 16 (remaining gas: 1039974.581 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 19 (remaining gas: 1039974.281 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 18 (remaining gas: 1039974.211 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 17 (remaining gas: 1039974.211 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 20 (remaining gas: 1039947.271 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 @packed - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 23 (remaining gas: 1039946.970 units remaining) - [ 0 - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 24 (remaining gas: 1039946.830 units remaining) - [ True - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: -1 (remaining gas: 1039946.760 units remaining) - [ True - 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 26 (remaining gas: 1039946.570 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: -1 (remaining gas: 1039946.500 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] - - location: 31 (remaining gas: 1039781.966 units remaining) - [ (Some (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 })) @unpacked ] - - location: 45 (remaining gas: 1039781.696 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 39 (remaining gas: 1039781.626 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) @unpacked.some ] - - location: 46 (remaining gas: 1039781.486 units remaining) - [ ] - - location: 47 (remaining gas: 1039781.346 units remaining) - [ Unit ] - - location: 48 (remaining gas: 1039781.206 units remaining) - [ {} - Unit ] - - location: 50 (remaining gas: 1039781.066 units remaining) - [ (Pair {} Unit) ] - - location: -1 (remaining gas: 1039780.996 units remaining) - [ (Pair {} Unit) ] - -Runtime error in contract [CONTRACT_HASH]: - 1: parameter (pair (pair (pair string (list int)) (set nat)) bytes) ; - 2: storage unit ; - 3: code { CAR ; UNPAIR ; DIP { DUP } ; - 4: PACK ; ASSERT_CMPEQ ; - 5: UNPACK (pair (pair string (list int)) (set nat)) ; ASSERT_SOME ; DROP ; - 6: UNIT ; NIL operation ; PAIR } - 7: -At line 4 characters 14 to 26, -script reached FAILWITH instruction -with Unit -trace - - location: 14 (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.721 units remaining) - [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) @parameter ] - - location: 16 (remaining gas: 1039974.581 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 19 (remaining gas: 1039974.281 units remaining) - [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 18 (remaining gas: 1039974.211 units remaining) - [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 17 (remaining gas: 1039974.211 units remaining) - [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 20 (remaining gas: 1039947.271 units remaining) - [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 @packed - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 23 (remaining gas: 1039946.970 units remaining) - [ -1 - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 24 (remaining gas: 1039946.830 units remaining) - [ False - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: -1 (remaining gas: 1039946.760 units remaining) - [ False - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] - - location: 29 (remaining gas: 1039946.440 units remaining) - [ Unit - 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] -Fatal error: - error running script diff --git a/tests_python/tests_008/conftest.py b/tests_python/tests_008/conftest.py deleted file mode 100644 index 530a35ff7c7c..000000000000 --- a/tests_python/tests_008/conftest.py +++ /dev/null @@ -1,110 +0,0 @@ -"""Protocol-specific hooks and fixtures""" - -import tempfile -from typing import Optional, Iterator, List -import pytest -from launchers.sandbox import Sandbox -from tools import constants, utils -from tools.client_regression import ClientRegression -from client.client import Client -from client.client_output import CreateMockupResult - -from . import protocol - - -@pytest.fixture(scope="class") -def client(sandbox: Sandbox) -> Iterator[Client]: - """One node with protocol 008. - - Activate protocol 008 one year in the past. This avoids waiting - when baking blocks manually from the client using `bake for` - """ - sandbox.add_node(0, params=constants.NODE_PARAMS) - client = sandbox.client(0) - protocol.activate(client, activate_in_the_past=True) - yield client - - -@pytest.fixture(scope="class") -def client_regtest_bis(sandbox: Sandbox) -> Iterator[Client]: - """One node with protocol 008, regression test enabled. - - Activate protocol 008 one year in the past. (see fixture client). - """ - - def reg_client_factory( - client_path: str, - admin_client_path: str, - host: Optional[str] = None, - base_dir: Optional[str] = None, - rpc_port: Optional[int] = None, - use_tls: Optional[bool] = None, - endpoint: Optional[str] = 'http://127.0.0.1:8732', - mode: str = None, - disable_disclaimer: bool = True, - ) -> ClientRegression: - client = ClientRegression( - client_path=client_path, - admin_client_path=admin_client_path, - host=host, - base_dir=base_dir, - rpc_port=rpc_port, - use_tls=use_tls, - endpoint=endpoint, - mode=mode, - disable_disclaimer=disable_disclaimer, - ) - return client - - sandbox.add_node( - 1, client_factory=reg_client_factory, params=constants.NODE_PARAMS - ) - client = sandbox.client(1) - protocol.activate(client, activate_in_the_past=True) - yield client - - -@pytest.fixture(scope="class") -def clients(sandbox: Sandbox, request) -> Iterator[List[Client]]: - """N node with protocol 008. Parameterized by the number of nodes. - - Number of nodes is specified as a class annotation. - @pytest.mark.parametrize('clients', [N], indirect=True) - - Activate protocol 008 one year in the past. (see fixture client). - """ - assert request.param is not None - num_nodes = request.param - for i in range(num_nodes): - # Large number may increases peers connection time - sandbox.add_node(i, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), activate_in_the_past=True) - clients = sandbox.all_clients() - for client in clients: - proto = protocol.HASH - assert utils.check_protocol(client, proto) - yield clients - - -@pytest.fixture -def mockup_client(sandbox: Sandbox) -> Iterator[Client]: - """ - Returns a mockup client with its persistent directory created - - This is done in two steps, because we want to create the mockup - with a client that doesn't have "--mode mockup" (as per - the public documentation) but we want to return a - client that has "--mode mockup" and uses the base-dir created - in the first step. - - There is no way around this pattern. If you want to create - a mockup using custom arguments; you MUST do the same - as this method. - """ - with tempfile.TemporaryDirectory(prefix='tezos-client.') as base_dir: - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup( - protocol=protocol.HASH - ).create_mockup_result - assert res == CreateMockupResult.OK - yield sandbox.create_client(base_dir=base_dir, mode="mockup") diff --git a/tests_python/tests_008/contract_paths.py b/tests_python/tests_008/contract_paths.py deleted file mode 100644 index fa4a6673d043..000000000000 --- a/tests_python/tests_008/contract_paths.py +++ /dev/null @@ -1,20 +0,0 @@ -from os import path -from typing import List -from tools import paths - - -def all_contracts(directories: List[str] = None) -> List[str]: - return paths.all_contracts(CONTRACT_PATH, directories) - - -def all_legacy_contracts() -> List[str]: - return all_contracts(['legacy']) - - -CONTRACT_PATH = path.join(paths.TEZOS_HOME, 'tests_python', 'contracts_008') -ATTIC_CONTRACT_PATH = path.join(CONTRACT_PATH, 'attic') -MACROS_CONTRACT_PATH = path.join(CONTRACT_PATH, 'macros') -ILLTYPED_CONTRACT_PATH = path.join(CONTRACT_PATH, 'ill_typed') -LEGACY_CONTRACT_PATH = path.join(CONTRACT_PATH, 'legacy') -OPCODES_CONTRACT_PATH = path.join(CONTRACT_PATH, 'opcodes') -MINI_SCENARIOS_CONTRACT_PATH = path.join(CONTRACT_PATH, 'mini_scenarios') diff --git a/tests_python/tests_008/protocol.py b/tests_python/tests_008/protocol.py deleted file mode 100644 index 4fb4974784a1..000000000000 --- a/tests_python/tests_008/protocol.py +++ /dev/null @@ -1,14 +0,0 @@ -from tools import constants, utils - -HASH = constants.EDO -DAEMON = constants.EDO_DAEMON -PARAMETERS = constants.EDO_PARAMETERS -FOLDER = constants.EDO_FOLDER - - -def activate( - client, parameters=PARAMETERS, timestamp=None, activate_in_the_past=False -): - utils.activate_protocol( - client, HASH, parameters, timestamp, activate_in_the_past - ) diff --git a/tests_python/tests_008/test_accuser.py b/tests_python/tests_008/test_accuser.py deleted file mode 100644 index 736a591d7a5b..000000000000 --- a/tests_python/tests_008/test_accuser.py +++ /dev/null @@ -1,123 +0,0 @@ -import time - -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - - -NUM_NODES = 2 - - -@pytest.mark.multinode -@pytest.mark.incremental -class TestAccuser: - """Constructs a double endorsement, and lets the accuser inject - the evidence.""" - - def test_init(self, sandbox: Sandbox): - for i in range(NUM_NODES): - sandbox.add_node(i, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), activate_in_the_past=True) - # We inject 3 blocks so that the double-endorsement-evidence operation - # is always branched from a known predecessor. (If the level of the - # evidence is smaller than 5, then the operation is branched from the - # head; however the node might change branch, and then the operation - # becomes invalid, namely "branch refused".) - for i in range(3): - utils.bake(sandbox.client(0)) - - def test_level(self, sandbox: Sandbox): - level = 4 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_terminate_node_1(self, sandbox: Sandbox): - sandbox.node(1).terminate() - - def test_bake_node_0(self, sandbox: Sandbox): - """Client 0 bakes block A at level 5, not communicated to node 1. - Inject an endorsement to ensure a different hash""" - sandbox.client(0).endorse('bootstrap1') - utils.bake(sandbox.client(0)) - - def test_endorse_node_0(self, sandbox: Sandbox, session: dict): - """bootstrap1 builds an endorsement for block A""" - client = sandbox.client(0) - client.endorse('bootstrap1') - mempool = client.get_mempool() - endorsement = mempool['applied'][0] - session['endorsement1'] = endorsement - utils.bake(client) - - def test_terminate_node_0(self, sandbox: Sandbox): - sandbox.node(0).terminate() - - def test_restart_node_1(self, sandbox: Sandbox): - sandbox.node(1).run() - assert sandbox.client(1).check_node_listening() - - def test_start_accuser(self, sandbox: Sandbox): - sandbox.add_accuser(1, proto=protocol.DAEMON) - # We make sure that there is enough time for the accuser to start - # listing to the node's block stream, otherwise the accuser might miss - # the next two blocks. - time.sleep(2) - - def test_bake_node_1(self, sandbox: Sandbox): - """Client 1 bakes block B at level 5, not communicated to node 0""" - utils.bake(sandbox.client(1)) - - def test_endorse_node_2(self, sandbox: Sandbox, session: dict): - """bootstrap1 builds an endorsement for block B, which is included in - a new block at level 6 by bootstrap2""" - client = sandbox.client(1) - client.endorse('bootstrap1') - mempool = client.get_mempool() - endorsement = mempool['applied'][0] - session['endorsement2'] = endorsement - utils.bake(client, 'bootstrap2') - client.get_operations("4") - - def test_restart_node_0(self, sandbox: Sandbox): - sandbox.node(0).run() - sandbox.client(0).check_node_listening() - - def test_check_level(self, sandbox: Sandbox): - """All nodes are at level 6, head is either block A or B""" - level = 6 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_bake_block(self, sandbox: Sandbox): - """Bake a block on node 0, which makes the chain on node 0 longer; in - this way, we make sure that node 1 sees the block at level 6, - which containts the conflicting endorsement. - """ - utils.bake(sandbox.client(0)) - - def test_double_endorsement_evidence_generated(self, sandbox: Sandbox): - """Check that the double endorsement evidence operation is in the - mempool of node 1 or in the block at level 7, depending on - whether the double endorsement operation has reached node 1 - before or after node 1 sees the block at level 7. - """ - in_mempool = False - in_block = False - mempool = sandbox.client(1).get_mempool() - if ( - len(mempool['applied']) > 0 - and len(mempool['applied'][0]['contents']) > 0 - ): - in_mempool = ( - mempool['applied'][0]['contents'][0]['kind'] - == "double_endorsement_evidence" - ) - if not in_mempool: - ops = sandbox.client(1).get_operations() - if len(ops[2]) > 0 and len(ops[2][0]['contents']) > 0: - in_block = ( - ops[2][0]['contents'][0]['kind'] - == "double_endorsement_evidence" - ) - assert in_mempool or in_block diff --git a/tests_python/tests_008/test_baker_endorser.py b/tests_python/tests_008/test_baker_endorser.py deleted file mode 100644 index ee3f476640e2..000000000000 --- a/tests_python/tests_008/test_baker_endorser.py +++ /dev/null @@ -1,117 +0,0 @@ -import itertools -import random -import time -import subprocess -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - -random.seed(42) -KEYS = [f'bootstrap{i}' for i in range(1, 6)] -NEXT_KEY = itertools.cycle(KEYS) -NUM_NODES = 5 -NEW_NODES = 5 -REPLACE = False -NUM_CYCLES = 60 -TIME_BETWEEN_CYCLE = 1 -assert NEW_NODES <= NUM_CYCLES - - -def random_op(client): - sender = next(NEXT_KEY) - dest = random.choice([key for key in KEYS if key != sender]) - amount = random.randrange(10000) - return client.transfer(amount, sender, dest) - - -@pytest.mark.baker -@pytest.mark.endorser -@pytest.mark.multinode -@pytest.mark.slow -@pytest.mark.incremental -class TestAllDaemonsWithOperations: - """Runs two baker and two endorsers, generates random op, and - add (or replace) new nodes dynamically. After a little while, - we kill the bakers and check everyone synchronize to the same head.""" - - def test_setup_network(self, sandbox: Sandbox): - parameters = dict(protocol.PARAMETERS) - # each priority has a delay of 1 sec - parameters["time_between_blocks"] = ["1"] - for i in range(NUM_NODES): - sandbox.add_node(i, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), parameters) - sandbox.add_baker(0, 'bootstrap5', proto=protocol.DAEMON) - sandbox.add_baker(1, 'bootstrap4', proto=protocol.DAEMON) - sandbox.add_endorser( - 0, account='bootstrap1', endorsement_delay=1, proto=protocol.DAEMON - ) - sandbox.add_endorser( - 1, account='bootstrap2', endorsement_delay=1, proto=protocol.DAEMON - ) - - def test_wait_for_protocol(self, sandbox: Sandbox): - clients = sandbox.all_clients() - for client in clients: - proto = protocol.HASH - assert utils.check_protocol(client, proto) - - def test_network_gen_operations_and_add_nodes( - self, sandbox: Sandbox, session - ): - node_add_period = NUM_CYCLES // NEW_NODES - for cycle in range(NUM_CYCLES): - i = random.randrange(NUM_NODES) - client = sandbox.client(i) - try: - transfer = random_op(client) - session[f'op{cycle}'] = transfer.operation_hash - except subprocess.CalledProcessError: - # some operations may be invalid, e.g. the client sends - # several operation with the same counter - print('# IGNORED INVALID OPERATION') - - if cycle % node_add_period == 0: - # add node - running_nodes = list(sandbox.nodes.keys()) - new_node = max(running_nodes) + 1 - if REPLACE: - running_nodes.remove(0) - running_nodes.remove(1) - sandbox.rm_node(random.choice(running_nodes)) - sandbox.add_node(new_node, params=constants.NODE_PARAMS) - proto = protocol.HASH - assert utils.check_protocol(sandbox.client(new_node), proto) - time.sleep(TIME_BETWEEN_CYCLE) - - def test_kill_baker(self, sandbox: Sandbox): - sandbox.rm_baker(0, proto=protocol.DAEMON) - sandbox.rm_baker(1, proto=protocol.DAEMON) - - def test_synchronize(self, sandbox: Sandbox): - utils.synchronize(sandbox.all_clients()) - - def test_progress(self, sandbox: Sandbox): - level = sandbox.client(0).get_level() - assert level >= 5 - - def test_check_operations(self, sandbox: Sandbox): - min_level = min( - [client.get_level() for client in sandbox.all_clients()] - ) - heads_hash = set() - # check there is exactly one head - for client in sandbox.all_clients(): - block_hash = utils.get_block_hash(client, min_level) - heads_hash.add(block_hash) - assert len(heads_hash) == 1 - # TODO check for operations inclusion - - def test_check_logs(self, sandbox: Sandbox): - if not sandbox.log_dir: - pytest.skip() - assert sandbox.logs - # TODO check more things in the log! endorsement, baking... - error_pattern = r"Uncaught|registered" - assert utils.check_logs(sandbox.logs, error_pattern) diff --git a/tests_python/tests_008/test_basic.py b/tests_python/tests_008/test_basic.py deleted file mode 100644 index de3ed6d03a21..000000000000 --- a/tests_python/tests_008/test_basic.py +++ /dev/null @@ -1,222 +0,0 @@ -from os import path -import pytest -from client.client import Client -from tools import utils -from tools.paths import ACCOUNT_PATH -from tools.utils import assert_run_failure -from .contract_paths import CONTRACT_PATH - - -TRANSFER_ARGS = ['--burn-cap', '0.257'] - - -@pytest.mark.incremental -class TestRawContext: - def test_delegates(self, client: Client): - path = '/chains/main/blocks/head/context/raw/bytes/delegates/?depth=3' - res = client.rpc('get', path) - expected = { - "ed25519": { - "02": {"29": None}, - "a9": {"ce": None}, - "c5": {"5c": None}, - "da": {"c9": None}, - "e7": {"67": None}, - } - } - assert res == expected - - def test_no_service_1(self, client: Client): - path = '/chains/main/blocks/head/context/raw/bytes/non-existent' - with assert_run_failure('No service found at this URL'): - client.rpc('get', path) - - def test_no_service_2(self, client: Client): - path = ( - '/chains/main/blocks/head/context/raw/bytes/' - 'non-existent?depth=-1' - ) - expected = 'Command failed: Extraction depth -1 is invalid' - with assert_run_failure(expected): - client.rpc('get', path) - - def test_no_service_3(self, client: Client): - path = '/chains/main/blocks/head/context/raw/bytes/non-existent?depth=0' - with assert_run_failure('No service found at this URL'): - client.rpc('get', path) - - def test_bake(self, client: Client): - utils.bake(client, 'bootstrap4') - - def test_gen_keys(self, client: Client, session): - session['keys'] = ['foo', 'bar', 'boo'] - sigs = [None, 'secp256k1', 'ed25519'] - for key, sig in zip(session['keys'], sigs): - args = [] if sig is None else ['--sig', sig] - client.gen_key(key, args) - - def test_transfers(self, client: Client, session): - client.transfer(1000, 'bootstrap1', session['keys'][0], TRANSFER_ARGS) - utils.bake(client) - client.transfer(2000, 'bootstrap1', session['keys'][1], TRANSFER_ARGS) - utils.bake(client) - client.transfer(3000, 'bootstrap1', session['keys'][2], TRANSFER_ARGS) - utils.bake(client) - - def test_balances(self, client: Client, session): - assert client.get_balance(session['keys'][0]) == 1000 - assert client.get_balance(session['keys'][1]) == 2000 - assert client.get_balance(session['keys'][2]) == 3000 - - def test_transfer_bar_foo(self, client: Client, session): - client.transfer( - 1000, - session['keys'][1], - session['keys'][0], - ['--fee', '0', '--force-low-fee'], - ) - utils.bake(client) - - def test_balances_bar_foo(self, client: Client, session): - assert client.get_balance(session['keys'][0]) == 2000 - assert client.get_balance(session['keys'][1]) == 1000 - - def test_transfer_foo_bar(self, client: Client, session): - client.transfer( - 1000, session['keys'][0], session['keys'][1], ['--fee', '0.05'] - ) - utils.bake(client) - - def test_balances_foo_bar(self, client: Client, session): - assert client.get_balance(session['keys'][0]) == 999.95 - assert client.get_balance(session['keys'][1]) == 2000 - - def test_transfer_failure(self, client: Client, session): - with pytest.raises(Exception): - client.transfer(999.95, session['keys'][0], session['keys'][1]) - - def test_originate_contract_noop(self, client: Client): - contract = path.join(CONTRACT_PATH, 'opcodes', 'noop.tz') - client.remember('noop', contract) - client.typecheck(contract) - client.originate( - 'noop', 1000, 'bootstrap1', contract, ['--burn-cap', '0.295'] - ) - utils.bake(client) - - def test_transfer_to_noop(self, client: Client): - client.transfer(10, 'bootstrap1', 'noop', ['--arg', 'Unit']) - utils.bake(client) - - def test_contract_hardlimit(self, client: Client): - contract = path.join(CONTRACT_PATH, 'mini_scenarios', 'hardlimit.tz') - client.originate( - 'hardlimit', - 1000, - 'bootstrap1', - contract, - ['--init', '3', '--burn-cap', '0.341'], - ) - utils.bake(client) - client.transfer(10, 'bootstrap1', 'hardlimit', ['--arg', 'Unit']) - utils.bake(client) - client.transfer(10, 'bootstrap1', 'hardlimit', ['--arg', 'Unit']) - utils.bake(client) - - def test_transfers_bootstraps5_bootstrap1(self, client: Client): - assert client.get_balance('bootstrap5') == 4000000 - client.transfer( - 400000, - 'bootstrap5', - 'bootstrap1', - ['--fee', '0', '--force-low-fee'], - ) - utils.bake(client) - client.transfer( - 400000, - 'bootstrap1', - 'bootstrap5', - ['--fee', '0', '--force-low-fee'], - ) - utils.bake(client) - assert client.get_balance('bootstrap5') == 4000000 - - def test_activate_accounts(self, client: Client, session): - account = f"{ACCOUNT_PATH}/king_commitment.json" - session['keys'] += ['king', 'queen'] - client.activate_account(session['keys'][3], account) - utils.bake(client) - account = f"{ACCOUNT_PATH}/queen_commitment.json" - client.activate_account(session['keys'][4], account) - utils.bake(client) - assert client.get_balance(session['keys'][3]) == 23932454.669343 - assert client.get_balance(session['keys'][4]) == 72954577.464032 - - def test_transfer_king_queen(self, client: Client, session): - keys = session['keys'] - client.transfer(10, keys[3], keys[4], TRANSFER_ARGS) - utils.bake(client) - - def test_duplicate_alias(self, client: Client): - client.add_address("baz", "foo", force=True) - show_foo = client.show_address("foo", show_secret=True) - assert show_foo.secret_key is not None - - -@pytest.mark.incremental -class TestRememberContract: - @pytest.mark.parametrize( - "contract_name,non_originated_contract_address", - [ - ("test", "KT1BuEZtb68c1Q4yjtckcNjGELqWt56Xyesc"), - ("test-2", "KT1TZCh8fmUbuDqFxetPWC2fsQanAHzLx4W9"), - ], - ) - def test_non_originated_contract_no_forcing_not_saved_before( - self, - client, - contract_name, - non_originated_contract_address, - ): - client.remember_contract(contract_name, non_originated_contract_address) - - # As it is always the same client, the contracts have been saved - # before - @pytest.mark.parametrize( - "contract_name,non_originated_contract_address", - [ - ("test", "KT1BuEZtb68c1Q4yjtckcNjGELqWt56Xyesc"), - ("test-2", "KT1TZCh8fmUbuDqFxetPWC2fsQanAHzLx4W9"), - ], - ) - def test_non_originated_contract_with_forcing_and_saved_before( - self, - client, - contract_name, - non_originated_contract_address, - ): - client.remember_contract( - contract_name, non_originated_contract_address, force=True - ) - - # As it is always the same client, the contracts have been saved - # before - @pytest.mark.parametrize( - "contract_name,non_originated_contract_address", - [ - ("test", "KT1BuEZtb68c1Q4yjtckcNjGELqWt56Xyesc"), - ("test-2", "KT1TZCh8fmUbuDqFxetPWC2fsQanAHzLx4W9"), - ], - ) - def test_non_originated_contract_no_forcing_and_saved_before( - self, - client, - contract_name, - non_originated_contract_address, - ): - expected_error = f"The contract alias {contract_name} already exists" - - with assert_run_failure(expected_error): - client.remember_contract( - contract_name, non_originated_contract_address, force=False - ) diff --git a/tests_python/tests_008/test_binaries.py b/tests_python/tests_008/test_binaries.py deleted file mode 100644 index b401b4b8cb39..000000000000 --- a/tests_python/tests_008/test_binaries.py +++ /dev/null @@ -1,48 +0,0 @@ -""" -Tests common utility functionality of binaries shipped with Tezos. -""" - -import subprocess -from typing import List - -from process import process_utils -from tools import paths -from . import protocol - - -PROTO_BINARIES = [ - binary + "-" + protocol.DAEMON - for binary in ["tezos-baker", "tezos-endorser", "tezos-accuser"] -] - -BINARIES = [ - "tezos-codec", - "tezos-client", - "tezos-admin-client", - "tezos-protocol-compiler", - "tezos-node", - "tezos-snoop", - "tezos-validator", -] + PROTO_BINARIES - - -def run_cmd(cmd: List[str]) -> str: - """Pretty print a command. Execute it, print and return its standard - output.""" - print(process_utils.format_command(cmd)) - process_ret = subprocess.run( - cmd, check=True, capture_output=True, text=True - ) - print(process_ret.stdout) - return process_ret.stdout.strip() - - -class TestBinaries: - def test_version(self): - """Tests that all binaries accept the --version flag and that the - report the same version""" - versions = set() - for binary in BINARIES: - version = run_cmd([paths.TEZOS_HOME + binary, "--version"]) - versions.add(version) - assert len(versions) == 1, "All binaries should report the same version" diff --git a/tests_python/tests_008/test_bootstrap.py b/tests_python/tests_008/test_bootstrap.py deleted file mode 100644 index 1276eab32b45..000000000000 --- a/tests_python/tests_008/test_bootstrap.py +++ /dev/null @@ -1,209 +0,0 @@ -import time -import pytest -from launchers.sandbox import Sandbox -from . import protocol - - -LOG_LEVEL = {"validator.chain": "debug", "validator.peer": "debug"} - - -def params(threshold=0): - return [ - '--sync-latency', - '3', - '--synchronisation-threshold', - str(threshold), - '--connections', - '100', - ] - - -@pytest.mark.baker -@pytest.mark.incremental -class TestThresholdZero: - """Threshold 0, peer always bootstrapped.""" - - def test_setup_network(self, sandbox: Sandbox): - sandbox.add_node(0, params=params(), log_levels=LOG_LEVEL) - sandbox.add_baker(0, 'bootstrap5', proto=protocol.DAEMON) - - def test_bootstrap(self, sandbox: Sandbox): - client = sandbox.client(0) - assert client.sync_state() == 'synced' - - -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.incremental -class TestThresholdOne: - """First peer has threshold zero, second peer has threshold one""" - - def test_setup_network(self, sandbox: Sandbox): - sandbox.add_node(0, params=params(), log_levels=LOG_LEVEL) - protocol.activate(sandbox.client(0)) - sandbox.add_baker(0, 'bootstrap5', proto=protocol.DAEMON) - - def test_bootstrap(self, sandbox: Sandbox): - client = sandbox.client(0) - assert client.sync_state() == 'synced' - - def test_add_node(self, sandbox: Sandbox): - sandbox.add_node( - 1, params=params(1), log_levels=LOG_LEVEL, config_client=False - ) - sandbox.client(1).bootstrapped() - - -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.incremental -class TestThresholdTwo: - def test_setup_network(self, sandbox: Sandbox): - sandbox.add_node(0, params=params(0), log_levels=LOG_LEVEL) - protocol.activate(sandbox.client(0)) - sandbox.add_baker(0, 'bootstrap5', proto=protocol.DAEMON) - - def test_add_nodes(self, sandbox: Sandbox): - sandbox.add_node( - 1, params=params(2), log_levels=LOG_LEVEL, config_client=False - ) - sandbox.add_node( - 2, params=params(2), log_levels=LOG_LEVEL, config_client=False - ) - sandbox.add_node( - 3, params=params(1), log_levels=LOG_LEVEL, config_client=False - ) - - @pytest.mark.timeout(5) - def test_node_3_bootstrapped(self, sandbox: Sandbox): - sandbox.client(3).bootstrapped() - - @pytest.mark.timeout(5) - def test_node_1_bootstrapped(self, sandbox: Sandbox): - sandbox.client(1).bootstrapped() - - -@pytest.mark.slow -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.incremental -class TestStuck: - def test_setup_network(self, sandbox: Sandbox): - sandbox.add_node(0, params=params(), log_levels=LOG_LEVEL) - protocol.activate(sandbox.client(0)) - sandbox.add_baker(0, 'bootstrap5', proto=protocol.DAEMON) - - def test_kill_baker(self, sandbox: Sandbox): - """Bake a few blocks and kill baker""" - time.sleep(2) - sandbox.rm_baker(0, proto=protocol.DAEMON) - time.sleep(5) - - def test_progress(self, sandbox: Sandbox): - assert sandbox.client(0).get_level() >= 2 - - def test_add_node(self, sandbox: Sandbox): - sandbox.add_node( - 1, params=params(2), config_client=False, log_levels=LOG_LEVEL - ) - sandbox.add_node( - 2, params=params(2), config_client=False, log_levels=LOG_LEVEL - ) - - def test_all_nodes_boostrap(self, sandbox: Sandbox): - """Eventually, 1 and 2 are bootstrapped with the chain stuck. """ - sandbox.client(1).bootstrapped() - sandbox.client(2).bootstrapped() - assert sandbox.client(1).sync_state() == 'stuck' - assert sandbox.client(2).sync_state() == 'stuck' - - -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.incremental -class TestSplitView: - def test_setup_network(self, sandbox: Sandbox): - sandbox.add_node(0, params=params(), log_levels=LOG_LEVEL) - protocol.activate(sandbox.client(0)) - sandbox.add_node( - 1, params=params(), config_client=False, log_levels=LOG_LEVEL - ) - sandbox.add_node( - 2, params=params(2), config_client=False, log_levels=LOG_LEVEL - ) - sandbox.add_baker(0, 'bootstrap5', proto=protocol.DAEMON) - - @pytest.mark.timeout(10) - def test_all_nodes_boostrap(self, sandbox: Sandbox): - assert sandbox.client(0).sync_state() == 'synced' - assert sandbox.client(1).sync_state() == 'synced' - sandbox.client(2).bootstrapped() - - def test_pause(self): - time.sleep(2) - - def test_disconnect_node(self, sandbox: Sandbox): - """node 1 is disconnected from baker""" - sandbox.client(1).ban_peer(sandbox.node(0).p2p_port) - sandbox.client(0).ban_peer(sandbox.node(1).p2p_port) - - def test_sync_status(self, sandbox: Sandbox): - assert sandbox.client(0).sync_state() == 'synced' - assert sandbox.client(1).sync_state() == 'synced' - assert sandbox.client(2).sync_state() == 'synced' - - -NUM_NODES = 8 -RUNNING_TIME = 10 - - -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.slow -@pytest.mark.incremental -class TestManyNodesBootstrap: - """Run many nodes, bake for a while, add a node and check it's bootstrapped - when it should be.""" - - def test_init(self, sandbox: Sandbox): - sandbox.add_node(0, params=params(), log_levels=LOG_LEVEL) - parameters = dict(protocol.PARAMETERS) - parameters["time_between_blocks"] = ["1", "0"] - protocol.activate(sandbox.client(0)) - sandbox.add_baker(0, 'bootstrap1', proto=protocol.DAEMON) - sandbox.add_node( - 1, params=params(), log_levels=LOG_LEVEL, config_client=False - ) - - def test_bootstrap(self, sandbox: Sandbox): - sandbox.client(0).bootstrapped() - sandbox.client(1).bootstrapped() - - def test_add_nodes(self, sandbox: Sandbox): - for i in range(2, NUM_NODES): - sandbox.add_node( - i, params=params(), config_client=False, log_levels=LOG_LEVEL - ) - - def test_let_baking(self): - time.sleep(RUNNING_TIME) - - def test_progress(self, sandbox, session): - cur_level = sandbox.client(NUM_NODES - 1).get_level() - assert cur_level > RUNNING_TIME // 2 # check progress - session['cur_level'] = cur_level - - @pytest.mark.timeout(50) - def test_add_one_more_node(self, sandbox, session): - new_node = NUM_NODES - sandbox.add_node( - new_node, - params=params(NUM_NODES), - config_client=False, - log_levels=LOG_LEVEL, - ) - time.sleep(1) - sandbox.client(new_node).p2p_stat() - sandbox.client(new_node).bootstrapped() - cur_level = session['cur_level'] - assert sandbox.client(new_node).get_level() >= cur_level diff --git a/tests_python/tests_008/test_client.py b/tests_python/tests_008/test_client.py deleted file mode 100644 index f42255fba442..000000000000 --- a/tests_python/tests_008/test_client.py +++ /dev/null @@ -1,35 +0,0 @@ -import pytest -from client.client import Client -from tools.utils import assert_run_failure, bake - - -@pytest.mark.client -@pytest.mark.incremental -@pytest.mark.usefixtures("encrypted_account_with_tez") -class TestSimulation: - """ Tests the behavior of the --simulation flag. """ - - def test_transfer_simulation(self, client: Client): - """ Tests that --simulation does not ask for the key password. """ - client.transfer( - 0.1, "encrypted_account", "bootstrap1", ["--simulation"] - ) - - def test_transfer_without_simulation(self, client: Client): - """ Tests that the client asks for the password w/o --simulation. """ - with assert_run_failure("End_of_file", mode="stdout"): - client.transfer(0.1, "encrypted_account", "bootstrap1") - - def test_delegate_simulation(self, client: Client): - """ Tests that --simulation does not ask for the key password. """ - client.gen_key("delegate") - client.transfer(100, "bootstrap1", "delegate", ["--burn-cap", "1.0"]) - bake(client, bake_for="bootstrap1") - client.register_delegate("delegate") - bake(client, bake_for="bootstrap1") - client.set_delegate("encrypted_account", "delegate", ["--simulation"]) - - def test_delegate_without_simulation(self, client: Client): - """ Tests that the client asks for the password w/o --simulation. """ - with assert_run_failure("End_of_file", mode="stdout"): - client.set_delegate("encrypted_account", "delegate") diff --git a/tests_python/tests_008/test_client_without_node.py b/tests_python/tests_008/test_client_without_node.py deleted file mode 100644 index 8e5a27bac845..000000000000 --- a/tests_python/tests_008/test_client_without_node.py +++ /dev/null @@ -1,450 +0,0 @@ -"""Node-less tests for the client. - -Some client tests do not require a node running, nor a -persistent mockup environment. These can be placed here. -""" -import json -import os -import subprocess -import tempfile -from typing import List, Optional -import pytest -from client.client import Client -from tools.utils import assert_run_failure - -# Note that specifying "endpoint" and "web_port" is required -# for the final assertion of test_config_init_roundtrip to pass. That's because -# `config init -o` writes them even if unspecified by `--config-file` -# (it's a fine behavior, I just wanted to highlight it). -_INPUT_CONFIG_FILE = { - "confirmations": 1, - "endpoint": "http://127.0.0.1:8732", - "remote_signer": "http://127.0.0.2", - "web_port": 8080, - "password_filename": "/tmp/doesnt_exist", -} -_INPUT_CONFIG_FILES = [None, _INPUT_CONFIG_FILE] -_CMD_LINE_ARGS = { - "--endpoint": "http://127.0.0.1:9732", - "--wait": "3", - "--remote-signer": "http://10.0.0.2", - "--password-filename": "/tmp/doesnt_exist_either", -} -_CONFIG_FILE_FLAG = "--config-file" - - -@pytest.mark.client -class TestImportKeyMnemonic: - """ Checks that the keys are correctly imported from a mnemonic. """ - - @pytest.fixture - def mnemonic(self): - return ( - "seek paddle siege sting siege sick kidney " - + "detect coral because comfort long enforce napkin enter" - ) - - @pytest.fixture - def passphrase(self): - return "very_secure_passphrase" - - def test_import_simple(self, client: Client): - """ Tests a simple import. """ - mnemonic = "release easy pulp drop select attack false math cook \ -angry spin ostrich round dress acoustic" - prms = ["import", "keys", "from", "mnemonic", "zebra", "--force"] - stdin = mnemonic + "\n\n" - client.run_generic(prms, stdin=stdin) - addr = client.get_known_addresses() - assert addr.wallet["zebra"] == "tz1aGUKE72eN21iWztoDEeH4FeKaxWb7SAUb" - - def test_import_already_present_alias(self, client: Client, mnemonic): - """ Tests that importing fails if the alias is already present. """ - prms = [ - "import", - "keys", - "from", - "mnemonic", - "super_original", - "--force", - ] - stdin = mnemonic + "\n\n" - client.run_generic(prms, stdin=stdin) - prms = ["import", "keys", "from", "mnemonic", "super_original"] - expected_error = "The secret_key alias super_original already exists." - with assert_run_failure(expected_error): - client.run_generic(prms, stdin=stdin) - - def test_import_passphrase(self, client: Client, mnemonic, passphrase): - """ Tests an import where the user specifies a passphrase. """ - stdin = mnemonic + "\n" + passphrase + "\n" - prms = ["import", "keys", "from", "mnemonic", "key", "--force"] - client.run_generic(prms, stdin=stdin) - addr = client.get_known_addresses() - assert addr.wallet["key"] == "tz1QSF4TSVzaosgbaxnFJpRbs7798Skeb8Re" - - def test_encrypted(self, client: Client, mnemonic, passphrase): - """ Tests an import where the user wants to encrypt the key. """ - encrypt_pwd = "imgonnaencryptthiskeysohard" - stdin = ( - mnemonic - + "\n" - + passphrase - + "\n" - + encrypt_pwd - + "\n" - + encrypt_pwd - + "\n" - ) - prms = [ - "import", - "keys", - "from", - "mnemonic", - "cryptkey", - "--encrypt", - "--force", - ] - client.run_generic(prms, stdin=stdin) - addr = client.get_known_addresses() - pkh = addr.wallet["cryptkey"] - secret_key = client.show_address( - "cryptkey", show_secret=True - ).secret_key - assert secret_key is not None - assert secret_key.startswith("encrypted:") - assert pkh == "tz1QSF4TSVzaosgbaxnFJpRbs7798Skeb8Re" - - def test_gen_key_from_menmonic_bad_mnemonic(self, client: Client): - """ Tests that the command fails if the user gives a bad mnemonic. """ - prms = ["import", "keys", "from", "mnemonic", "alias", "--force"] - stdin = "hello\n\n" - expected_error = '"hello" is not a valid BIP39 mnemonic.' - with assert_run_failure(expected_error): - client.run_generic(prms, stdin=stdin) - - -@pytest.mark.usefixtures("encrypted_account_with_tez") -class TestStopLoopPassword: - """Tests that the client stops asking for the password after - three erroneous passwords given by the user""" - - @pytest.mark.parametrize('stdin', ["\n\n\n", "\n\n\nign", "\n\n\npassword"]) - def test_stops_after_three_tries(self, client: Client, stdin): - with assert_run_failure("3 incorrect password attempt"): - client.transfer(0.1, 'encrypted_account', 'bootstrap1', stdin=stdin) - - @pytest.mark.parametrize( - 'stdin', ["password\n", "\npassword\n", "\n\npassword\n"] - ) - def test_password_succeed_before_three_tries(self, client: Client, stdin): - client.transfer(0.1, 'encrypted_account', 'bootstrap1', stdin=stdin) - - -@pytest.mark.client -class TestChainId: - def test_chain_id_block_hash(self, nodeless_client: Client): - block_hash = 'BKyFui5WPY1n3e9aKF3qd2kGBKBtHu3rtm5miYFnUagJC1BdHTF' - prms = ['compute', 'chain', 'id', 'from', 'block', 'hash', block_hash] - assert nodeless_client.run(prms).strip() == 'NetXuwrXPL4VeX5' - - def test_chain_id_seed(self, nodeless_client: Client): - seed = 'choucroute' - prms = ['compute', 'chain', 'id', 'from', 'seed', seed] - assert nodeless_client.run(prms).strip() == 'NetXLGmPi3c5DXf' - - -def _write_config_file( - client: Client, filename: str, config_dict: Optional[dict] -): - """Writes `config_dict` to `filename`. Returns the json effectively - written""" - assert client is not None - assert filename is not None - assert config_dict is not None - - augmented_dict = dict(config_dict) # Copy for safety - # We need to set base_dir, it's required in the config file - augmented_dict["base_dir"] = client.base_dir - with open(filename, 'w') as handle: - json.dump(augmented_dict, handle) - - return augmented_dict - - -def _with_config_file_cmd(config_file: Optional[str], cmd: List[str]): - """Prefixes `cmd` with ["--config-file", config_file] if - config_file is not None""" - return ([_CONFIG_FILE_FLAG, config_file] if config_file else []) + cmd - - -def _gen_assert_msg(flag, sent, received): - result = f"Json sent with --{flag} differs from" - result += " json received" - result += f"\nJson sent is:\n{sent}" - result += f"\nwhile json received is:\n{received}" - - -@pytest.mark.client -@pytest.mark.parametrize('config_dict', _INPUT_CONFIG_FILES) -class TestConfigInit: - def test_config_init( - self, nodeless_client: Client, config_dict: Optional[dict] - ): - """ - Tests that calling - `[--config-file config_dict]? config init -o tmp_file` - works and yields valid json. - """ - try: - out_file = tempfile.mktemp(prefix='tezos-client.config_file') - in_file = None - - if config_dict is not None: - in_file = tempfile.mktemp(prefix='tezos-client.config_file') - _write_config_file(nodeless_client, in_file, config_dict) - - cmd = _with_config_file_cmd( - in_file, ["config", "init", "-o", out_file] - ) - nodeless_client.run(cmd) - # Try loading the file as json, to check it is valid - with open(out_file) as handle: - json.load(handle) - finally: - if in_file is not None: - os.remove(in_file) - os.remove(out_file) - - def test_config_init_roundtrip( - self, nodeless_client: Client, config_dict: Optional[dict] - ): - """Tests that calling `config init -o tmp_file` and - feeding its result to `tezos-client --config-file` works - and yields the same result (i.e. calling `tezos-client - --config-file tmp_file config init -o tmp_file2 yields - a `tmp_file2` that is similar to `tmp_file`). - - `config_dict` specifies the content of the initial config file - to use or None not to specify one. - """ - try: - if config_dict is None: - # Take initial json from default output of `config init` - - tmp_file1 = tempfile.mktemp(prefix='tezos-client.config_file') - cmd = ["config", "init", "-o", tmp_file1] - nodeless_client.run(cmd) - with open(tmp_file1) as handle: - json1 = json.load(handle) - - # Execute an arbitrary effectless command: - list_protos = ["list", "understood", "protocols"] - # This checks that - # `--config-file tmp_file1 arbitrary command` works - cmd = _with_config_file_cmd(tmp_file1, list_protos) - nodeless_client.run(cmd) - else: - # Take initial json from config_dict - - # Write config_dict to a file - tmp_file1 = tempfile.mktemp(prefix='tezos-client.config_file') - json1 = _write_config_file( - nodeless_client, tmp_file1, config_dict - ) - - # Execute `config init -o` - tmp_file2 = tempfile.mktemp(prefix='tezos-client.config_file') - cmd = _with_config_file_cmd( - tmp_file1, ["config", "init", "-o", tmp_file2] - ) - nodeless_client.run(cmd) - - # Load file generated by `config init -o` - with open(tmp_file2) as handle: - json2 = json.load(handle) - - # and finally check that the json generated by `config init -o` - # matches the input data (either the default one or the one - # specified with --config-file) - assert json1 == json2, _gen_assert_msg( - _CONFIG_FILE_FLAG, json1, json2 - ) - finally: - os.remove(tmp_file1) - os.remove(tmp_file2) - - -def _cmd_line_flag_to_json_field(cmd_line_flag: str): - if cmd_line_flag == "--wait": - return "confirmations" - result = cmd_line_flag - if cmd_line_flag.startswith("--"): - result = result[2:] - return result.replace("-", "_") - - -@pytest.mark.client -@pytest.mark.parametrize('config_dict', _INPUT_CONFIG_FILES) -class TestConfigShow: - """ Tests of `tezos-client config show` """ - - def test_config_show( - self, nodeless_client: Client, config_dict: Optional[dict] - ): - """ - Tests that calling `config show` works, with or without - specifying `--config-file` - """ - try: - tmp_file = None - if config_dict is not None: - tmp_file = tempfile.mktemp(prefix='tezos-client.config_file') - _write_config_file(nodeless_client, tmp_file, config_dict) - - cmd = _with_config_file_cmd(tmp_file, ["config", "show"]) - nodeless_client.run(cmd) - finally: - if tmp_file is not None: - os.remove(tmp_file) - - @pytest.mark.parametrize('cmd_line_args', [{}, _CMD_LINE_ARGS]) - def test_config_show_roundtrip( - self, - nodeless_client: Client, - config_dict: Optional[dict], - cmd_line_args: dict, - ): - """ - Tests calling `config show` with or without `--config-file` - and with some command line parameters (`cmd_line_arg`). It - then parses the output to check its valid json and to check - that command line parameters were honored. - - Then it feeds this output to a new call to `--config-file file - config show` and checks that the json returned by this second call - agrees with what was specified by `file`. - - This is a roundtrip test using a small matrix. - """ - try: - in_file1 = None - in_file2 = None - if config_dict is not None: - in_file1 = tempfile.mktemp(prefix='tezos-client.config_file') - _write_config_file(nodeless_client, in_file1, config_dict) - - cmd = [] - # Pass command line parameters - for (flag, value) in cmd_line_args.items(): - cmd += [flag, value] - cmd += ["config", "show"] - cmd = _with_config_file_cmd(in_file1, cmd) - # Take standard output - (stdout, _, _) = nodeless_client.run_generic(cmd) - - output_json1 = json.loads(stdout) - # Verify that command line parameters were honored - for (flag, value) in cmd_line_args.items(): - input_value = cmd_line_args[flag] - assert isinstance(input_value, str) - output_value = output_json1[_cmd_line_flag_to_json_field(flag)] - output_value = str(output_value) - err_msg = ( - f"Value of command line flag {flag} is not honored:" - f" passed {input_value} but" - f" config show yielded {output_value}" - ) - assert output_value == input_value, err_msg - in_file2 = tempfile.mktemp(prefix='tezos-client.config_file') - # Write output of first call to `config show` to disk, - # to pass it to second call below - with open(in_file2, 'w') as handle: - handle.write(json.dumps(output_json1)) - - # Use previous ouput file as input now - cmd = _with_config_file_cmd(in_file2, ["config", "show"]) - (stdout, _, _) = nodeless_client.run_generic(cmd) - - output_json2 = json.loads(stdout) - - # And finally check that the final output matches the input - assert output_json1 == output_json2, _gen_assert_msg( - _CONFIG_FILE_FLAG, output_json1, output_json2 - ) - finally: - for in_file in [in_file1, in_file2]: - if in_file is not None: - os.remove(in_file) - - -@pytest.mark.client -class TestConfigValid: - """ Tests of validity of tezos-client config """ - - def test_config_node_port(self, nodeless_client: Client): - """ - Tests that calling `config show` works, with a valid node port - """ - self._run_config_show_with_node_port(nodeless_client, 8732) - self._run_config_show_with_node_port(nodeless_client, 58732) - pytest.raises( - subprocess.CalledProcessError, - self._run_config_show_with_node_port, - nodeless_client, - 158732, - ) - pytest.raises( - subprocess.CalledProcessError, - self._run_config_show_with_node_port, - nodeless_client, - -8732, - ) - - def test_config_web_port(self, nodeless_client: Client): - """ - Tests that calling `config show` works, with a valid node port - """ - self._run_config_show_with_web_port(nodeless_client, 8732) - self._run_config_show_with_web_port(nodeless_client, 58732) - pytest.raises( - subprocess.CalledProcessError, - self._run_config_show_with_web_port, - nodeless_client, - 158732, - ) - pytest.raises( - subprocess.CalledProcessError, - self._run_config_show_with_web_port, - nodeless_client, - -8732, - ) - - def _run_config_show_with_temp_config_file( - self, nodeless_client: Client, config_dict: dict - ): - try: - tmp_file = tempfile.mktemp(prefix='tezos-client.config_file') - _write_config_file(nodeless_client, tmp_file, config_dict) - - cmd = _with_config_file_cmd(tmp_file, ["config", "show"]) - nodeless_client.run(cmd) - finally: - if tmp_file is not None: - os.remove(tmp_file) - - def _run_config_show_with_node_port( - self, nodeless_client: Client, port: int - ): - config_dict = {"node_port": port} - self._run_config_show_with_temp_config_file( - nodeless_client, config_dict - ) - - def _run_config_show_with_web_port( - self, nodeless_client: Client, port: int - ): - config_dict = {"web_port": port} - self._run_config_show_with_temp_config_file( - nodeless_client, config_dict - ) diff --git a/tests_python/tests_008/test_codec.py b/tests_python/tests_008/test_codec.py deleted file mode 100644 index bb87d8b037f7..000000000000 --- a/tests_python/tests_008/test_codec.py +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Any -import pytest -from codec.codec import Codec -from tools import paths - -CODEC_BIN = paths.TEZOS_HOME + "tezos-codec" - -ENCODINGS = [ - ( - "network_version", - {"p2p_version": 0, "distributed_db_version": 1, "chain_name": "main"}, - ) -] - - -@pytest.mark.codec -class TestCodec: - @pytest.mark.parametrize("encoding_name, data", ENCODINGS) - def test_codec_encode_decode(self, encoding_name: str, data: Any): - codec = Codec(CODEC_BIN) - data_encoded = codec.encode(encoding_name, data_json=data) - data_decoded = codec.decode(encoding_name, data=data_encoded) - assert data_decoded == data diff --git a/tests_python/tests_008/test_contract.py b/tests_python/tests_008/test_contract.py deleted file mode 100644 index a74e20682fff..000000000000 --- a/tests_python/tests_008/test_contract.py +++ /dev/null @@ -1,1540 +0,0 @@ -import os -import re -import itertools -import pytest - -from client.client import Client -from tools import utils -from tools.constants import IDENTITIES -from tools.utils import originate -from .contract_paths import ( - CONTRACT_PATH, - ILLTYPED_CONTRACT_PATH, - all_contracts, - all_legacy_contracts, -) - - -ID_SCRIPT_LITERAL = ''' -parameter unit; storage unit; code {CAR; NIL operation; PAIR} -'''.strip() -ID_SCRIPT_HASH = ''' -exprtpyospPfMqcARmu5FGukprC7kbbe4jb4zxFd4Gxrp2vcCPjRNa -'''.strip() - - -@pytest.mark.contract -@pytest.mark.incremental -class TestManager: - def test_manager_origination(self, client: Client, session: dict): - path = os.path.join(CONTRACT_PATH, 'entrypoints', 'manager.tz') - pubkey = IDENTITIES['bootstrap2']['identity'] - originate(client, session, path, f'"{pubkey}"', 1000) - originate( - client, - session, - path, - f'"{pubkey}"', - 1000, - contract_name="manager2", - ) - - def test_delegatable_origination(self, client: Client, session: dict): - path = os.path.join( - CONTRACT_PATH, 'entrypoints', 'delegatable_target.tz' - ) - pubkey = IDENTITIES['bootstrap2']['identity'] - originate( - client, session, path, f'Pair "{pubkey}" (Pair "hello" 45)', 1000 - ) - - def test_target_with_entrypoints_origination(self, client: Client, session): - path = os.path.join( - CONTRACT_PATH, 'entrypoints', 'big_map_entrypoints.tz' - ) - originate( - client, session, path, 'Pair {} {}', 1000, contract_name='target' - ) - - def test_target_without_entrypoints_origination( - self, client: Client, session - ): - path = os.path.join( - CONTRACT_PATH, 'entrypoints', 'no_entrypoint_target.tz' - ) - originate( - client, - session, - path, - 'Pair "hello" 42', - 1000, - contract_name='target_no_entrypoints', - ) - - def test_target_without_default_origination(self, client: Client, session): - path = os.path.join( - CONTRACT_PATH, 'entrypoints', 'no_default_target.tz' - ) - originate( - client, - session, - path, - 'Pair "hello" 42', - 1000, - contract_name='target_no_default', - ) - - def test_target_with_root_origination(self, client: Client, session): - path = os.path.join(CONTRACT_PATH, 'entrypoints', 'rooted_target.tz') - originate( - client, - session, - path, - 'Pair "hello" 42', - 1000, - contract_name='rooted_target', - ) - - def test_manager_set_delegate(self, client: Client): - client.set_delegate('manager', 'bootstrap2', []) - utils.bake(client, 'bootstrap5') - bootstrap2_pkh = IDENTITIES['bootstrap2']['identity'] - client.set_delegate('delegatable_target', bootstrap2_pkh, []) - utils.bake(client, 'bootstrap5') - delegate = IDENTITIES['bootstrap2']['identity'] - assert client.get_delegate('manager', []).delegate == delegate - assert ( - client.get_delegate('delegatable_target', []).delegate == delegate - ) - client.set_delegate('manager', 'bootstrap3', []) - utils.bake(client, 'bootstrap5') - client.set_delegate('delegatable_target', 'bootstrap3', []) - utils.bake(client, 'bootstrap5') - delegate = IDENTITIES['bootstrap3']['identity'] - assert client.get_delegate('manager', []).delegate == delegate - assert ( - client.get_delegate('delegatable_target', []).delegate == delegate - ) - - def test_manager_withdraw_delegate(self, client: Client): - client.withdraw_delegate('manager', []) - utils.bake(client, 'bootstrap5') - client.withdraw_delegate('delegatable_target', []) - utils.bake(client, 'bootstrap5') - assert client.get_delegate('manager', []).delegate is None - assert client.get_delegate('delegatable_target', []).delegate is None - - def test_transfer_to_manager(self, client: Client): - balance = client.get_mutez_balance('manager') - balance_bootstrap = client.get_mutez_balance('bootstrap2') - amount = 10.001 - amount_mutez = utils.mutez_of_tez(amount) - client.transfer( - amount, - 'bootstrap2', - 'manager', - ['--gas-limit', f'{128 * 15450 + 108}'], - ) - utils.bake(client, 'bootstrap5') - new_balance = client.get_mutez_balance('manager') - new_balance_bootstrap = client.get_mutez_balance('bootstrap2') - fee = 0.000548 - fee_mutez = utils.mutez_of_tez(fee) - assert balance + amount_mutez == new_balance - assert ( - balance_bootstrap - fee_mutez - amount_mutez - == new_balance_bootstrap - ) - - def test_simple_transfer_from_manager_to_implicit(self, client: Client): - balance = client.get_mutez_balance('manager') - balance_bootstrap = client.get_mutez_balance('bootstrap2') - amount = 10.1 - amount_mutez = utils.mutez_of_tez(amount) - client.transfer( - amount, - 'manager', - 'bootstrap2', - ['--gas-limit', f'{128 * 26350 + 12}'], - ) - utils.bake(client, 'bootstrap5') - new_balance = client.get_mutez_balance('manager') - new_balance_bootstrap = client.get_mutez_balance('bootstrap2') - fee = 0.000794 - fee_mutez = utils.mutez_of_tez(fee) - assert balance - amount_mutez == new_balance - assert ( - balance_bootstrap + amount_mutez - fee_mutez - == new_balance_bootstrap - ) - - def test_transfer_from_manager_to_manager(self, client: Client): - balance = client.get_mutez_balance('manager') - balance_dest = client.get_mutez_balance('manager2') - balance_bootstrap = client.get_mutez_balance('bootstrap2') - amount = 10 - amount_mutez = utils.mutez_of_tez(amount) - client.transfer( - amount, - 'manager', - 'manager2', - ['--gas-limit', f'{128 * 44950 + 112}'], - ) - utils.bake(client, 'bootstrap5') - new_balance = client.get_mutez_balance('manager') - new_balance_dest = client.get_mutez_balance('manager2') - new_balance_bootstrap = client.get_mutez_balance('bootstrap2') - fee = 0.001124 - fee_mutez = utils.mutez_of_tez(fee) - assert balance_bootstrap - fee_mutez == new_balance_bootstrap - assert balance - amount_mutez == new_balance - assert balance_dest + amount_mutez == new_balance_dest - - def test_transfer_from_manager_to_default(self, client: Client): - client.transfer( - 10, 'manager', 'bootstrap2', ['--entrypoint', 'default'] - ) - utils.bake(client, 'bootstrap5') - client.transfer(10, 'manager', 'manager', ['--entrypoint', 'default']) - utils.bake(client, 'bootstrap5') - - def test_transfer_from_manager_to_target(self, client: Client): - client.transfer(10, 'manager', 'target', ['--burn-cap', '0.356']) - utils.bake(client, 'bootstrap5') - - def test_transfer_from_manager_to_entrypoint_with_args( - self, client: Client - ): - arg = 'Pair "hello" 42' - # using 'transfer' - client.transfer( - 0, - 'manager', - 'target', - ['--entrypoint', 'add_left', '--arg', arg, '--burn-cap', '0.067'], - ) - utils.bake(client, 'bootstrap5') - client.transfer( - 0, - 'manager', - 'target', - ['--entrypoint', 'mem_left', '--arg', '"hello"'], - ) - utils.bake(client, 'bootstrap5') - - # using 'call' - client.call( - 'manager', - 'target', - ['--entrypoint', 'add_left', '--arg', arg, '--burn-cap', '0.067'], - ) - utils.bake(client, 'bootstrap5') - client.call( - 'manager', - 'target', - ['--entrypoint', 'mem_left', '--arg', '"hello"'], - ) - utils.bake(client, 'bootstrap5') - - def test_transfer_from_manager_no_entrypoint_with_args( - self, client: Client - ): - arg = 'Left Unit' - client.transfer(0, 'manager', 'target_no_entrypoints', ['--arg', arg]) - utils.bake(client, 'bootstrap5') - - client.call('manager', 'target_no_entrypoints', ['--arg', arg]) - utils.bake(client, 'bootstrap5') - - def test_transfer_from_manager_to_no_default_with_args( - self, client: Client - ): - arg = 'Left Unit' - client.transfer(0, 'manager', 'target_no_default', ['--arg', arg]) - utils.bake(client, 'bootstrap5') - - client.call('manager', 'target_no_default', ['--arg', arg]) - utils.bake(client, 'bootstrap5') - - def test_transfer_from_manager_to_rooted_target_with_args( - self, client: Client - ): - arg = 'Left Unit' - client.transfer( - 0, - 'manager', - 'rooted_target', - ['--arg', arg, '--entrypoint', 'root'], - ) - utils.bake(client, 'bootstrap5') - - client.call( - 'manager', 'rooted_target', ['--arg', arg, '--entrypoint', 'root'] - ) - utils.bake(client, 'bootstrap5') - - -@pytest.mark.slow -@pytest.mark.contract -class TestContracts: - """Test type checking and execution of a bunch of contracts""" - - @pytest.mark.parametrize("contract", all_contracts()) - def test_typecheck(self, client: Client, contract): - assert contract.endswith( - '.tz' - ), "test contract should have .tz extension" - client.typecheck(os.path.join(CONTRACT_PATH, contract)) - - @pytest.mark.parametrize("contract", all_legacy_contracts()) - def test_deprecated_typecheck_breaks(self, client, contract): - if contract in [ - "legacy/create_contract.tz", - "legacy/create_contract_flags.tz", - "legacy/create_contract_rootname.tz", - ]: - with utils.assert_run_failure(r'ill-typed script'): - client.typecheck(os.path.join(CONTRACT_PATH, contract)) - else: - with utils.assert_run_failure(r'Use of deprecated instruction'): - client.typecheck(os.path.join(CONTRACT_PATH, contract)) - - @pytest.mark.parametrize("contract", all_legacy_contracts()) - def test_deprecated_typecheck_in_legacy(self, client, contract): - if contract in [ - "legacy/create_contract.tz", - "legacy/create_contract_flags.tz", - "legacy/create_contract_rootname.tz", - ]: - with utils.assert_run_failure(r'ill-typed script'): - client.typecheck( - os.path.join(CONTRACT_PATH, contract), legacy=True - ) - else: - with utils.assert_run_failure(r'Use of deprecated instruction'): - client.typecheck( - os.path.join(CONTRACT_PATH, contract), legacy=True - ) - - @pytest.mark.parametrize( - "contract,error_pattern", - [ - # operations cannot be PACKed - ( - "pack_operation.tz", - r'operation type forbidden in parameter, storage and constants', - ), - # big_maps cannot be PACKed - ( - "pack_big_map.tz", - r'big_map or sapling_state type not expected here', - ), - ( - "invalid_self_entrypoint.tz", - r'Contract has no entrypoint named D', - ), - ("contract_annotation_default.tz", r'unexpected annotation'), - # Missing field - ( - "missing_only_storage_field.tz", - r'Missing contract field: storage', - ), - ("missing_only_code_field.tz", r'Missing contract field: code'), - ( - "missing_only_parameter_field.tz", - r'Missing contract field: parameter', - ), - ( - "missing_parameter_and_storage_fields.tz", - r'Missing contract field: parameter', - ), - # Duplicated field - ( - "multiple_parameter_field.tz", - r'duplicate contract field: parameter', - ), - ("multiple_code_field.tz", r'duplicate contract field: code'), - ("multiple_storage_field.tz", r'duplicate contract field: storage'), - # The first duplicated field is reported, storage in this case - ( - "multiple_storage_and_code_fields.tz", - r'duplicate contract field: storage', - ), - # error message for set update on non-comparable type - ( - "set_update_non_comparable.tz", - r'Type nat is not compatible with type list operation', - ), - # error message for the arity of the chain_id type - ( - "chain_id_arity.tz", - r'primitive chain_id expects 0 arguments but is given 1', - ), - # error message for DIP over the limit - ("big_dip.tz", r'expected a positive 10-bit integer'), - # error message for DROP over the limit - ("big_drop.tz", r'expected a positive 10-bit integer'), - # error message for set update on non-comparable type - ( - "set_update_non_comparable.tz", - r'Type nat is not compatible with type list operation', - ), - # error message for attempting to push a value of type never - ("never_literal.tz", r'type never has no inhabitant.'), - # field annotation mismatch with UNPAIR - ( - "unpair_field_annotation_mismatch.tz", - r'The field access annotation does not match', - ), - # COMB, UNCOMB, and DUP cannot take 0 as argument - ("comb0.tz", r"PAIR expects an argument of at least 2"), - ("comb1.tz", r"PAIR expects an argument of at least 2"), - ("uncomb0.tz", r"UNPAIR expects an argument of at least 2"), - ("uncomb1.tz", r"UNPAIR expects an argument of at least 2"), - ("dup0.tz", r"DUP n expects an argument of at least 1"), - ( - "push_big_map_with_id_with_parens.tz", - r"big_map or sapling_state type not expected here", - ), - ( - "push_big_map_with_id_without_parens.tz", - r"primitive PUSH expects 2 arguments but is given 4", - ), - # sapling_state is not packable - ( - "pack_sapling_state.tz", - r"big_map or sapling_state type not expected here", - ), - # sapling_state is not packable - ( - "unpack_sapling_state.tz", - r"big_map or sapling_state type not expected here", - ), - # Ticket duplication attempt - ("ticket_dup.tz", r'DUP used on the non-dupable type ticket nat'), - # error message for ticket unpack - ("ticket_unpack.tz", r'Ticket in unauthorized position'), - # error message for attempting to use APPLY to capture a ticket - ("ticket_apply.tz", r'Ticket in unauthorized position'), - # error message for attempting to wrap a ticket in a ticket - ( - "ticket_in_ticket.tz", - r'comparable type expected.Type ticket unit is not comparable', - ), - ], - ) - def test_ill_typecheck(self, client: Client, contract, error_pattern): - with utils.assert_run_failure(error_pattern): - client.typecheck(os.path.join(ILLTYPED_CONTRACT_PATH, contract)) - - def test_zero_transfer_to_implicit_contract(self, client): - pubkey = IDENTITIES['bootstrap3']['identity'] - err = ( - 'Transaction of 0ꜩ towards a contract without code are ' - rf'forbidden \({pubkey}\).' - ) - with utils.assert_run_failure(err): - client.transfer(0, 'bootstrap2', 'bootstrap3', []) - - def test_zero_transfer_to_nonexistent_contract(self, client): - nonexistent = "KT1Fcq4inD44aMhmUiTEHR1QMQwJT7p2u641" - err = rf'Contract {nonexistent} does not exist' - with utils.assert_run_failure(err): - client.transfer(0, 'bootstrap2', nonexistent, []) - - -FIRST_EXPLOSION = ''' -{ parameter unit; - storage unit; - code{ DROP; PUSH nat 0 ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DROP ; UNIT ; NIL operation ; PAIR} } -''' - - -# FIRST_EXPLOSION costs a large amount of gas just for typechecking. -# FIRST_EXPLOSION_BIGTYPE type size exceeds the protocol set bound. -FIRST_EXPLOSION_BIGTYPE = ''' -{ parameter unit; - storage unit; - code{ DROP; PUSH nat 0 ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DUP ; PAIR ; - DROP ; UNIT ; NIL operation ; PAIR} } -''' - - -SECOND_EXPLOSION = ''' -{ parameter (list int) ; - storage (list (list (list int))) ; - code { CAR ; DIP { NIL (list int) } ; - DUP ; ITER { DROP ; DUP ; DIP { CONS } } ; - DROP ; DIP { NIL (list (list int)) } ; - DUP ; ITER { DROP ; DUP ; DIP { CONS } } ; - DROP ; NIL operation ; PAIR } } -''' - - -@pytest.mark.incremental -@pytest.mark.contract -class TestGasBound: - def test_write_contract(self, tmpdir, session: dict): - items = { - 'first_explosion.tz': FIRST_EXPLOSION, - 'first_explosion_bigtype.tz': FIRST_EXPLOSION_BIGTYPE, - 'second_explosion.tz': SECOND_EXPLOSION, - }.items() - for name, script in items: - contract = f'{tmpdir}/{name}' - with open(contract, 'w') as contract_file: - contract_file.write(script) - session[name] = contract - - def test_originate_first_explosion(self, client: Client, session: dict): - name = 'first_explosion.tz' - contract = session[name] - client.typecheck(contract) - args = ['-G', f'{1870}', '--burn-cap', '10'] - - expected_error = "Gas limit exceeded during typechecking or execution" - with utils.assert_run_failure(expected_error): - client.originate(f'{name}', 0, 'bootstrap1', contract, args) - - def test_originate_big_type(self, client: Client, session: dict): - name = 'first_explosion_bigtype.tz' - contract = session[name] - - # We could not be bothered with finding how to escape parentheses - # so we put dots - expected_error = "type size .1023. exceeded maximum type size .1000." - with utils.assert_run_failure(expected_error): - client.typecheck(contract) - - def test_originate_second_explosion(self, client: Client, session: dict): - name = 'second_explosion.tz' - contract = session[name] - storage = '{}' - inp = '{1;2;3;4;5;6;7;8;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1}' - client.run_script(contract, storage, inp) - - def test_originate_second_explosion_fail( - self, client: Client, session: dict - ): - name = 'second_explosion.tz' - contract = session[name] - storage = '{}' - inp = ( - '{1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;1;1;1;1;1;1;1;1;1;1;1' - + ';1;1;1;1;1;1;1;1;1;1;1;1;1;1}' - ) - - expected_error = ( - "Cannot serialize the resulting storage" - + " value within the provided gas bounds." - ) - with utils.assert_run_failure(expected_error): - client.run_script(contract, storage, inp, gas=9290) - - def test_typecheck_map_dup_key(self, client: Client): - - expected_error = ( - 'Map literals cannot contain duplicate' - + ' keys, however a duplicate key was found' - ) - with utils.assert_run_failure(expected_error): - client.typecheck_data('{ Elt 0 1 ; Elt 0 1}', '(map nat nat)') - - def test_typecheck_map_bad_ordering(self, client: Client): - - expected_error = ( - "Keys in a map literal must be in strictly" - + " ascending order, but they were unordered in literal" - ) - with utils.assert_run_failure(expected_error): - client.typecheck_data( - '{ Elt 0 1 ; Elt 10 1 ; Elt 5 1 }', '(map nat nat)' - ) - - def test_typecheck_set_bad_ordering(self, client: Client): - - expected_error = ( - "Values in a set literal must be in strictly" - + " ascending order, but they were unordered in literal" - ) - with utils.assert_run_failure(expected_error): - client.typecheck_data('{ "A" ; "C" ; "B" }', '(set string)') - - def test_typecheck_set_no_duplicates(self, client: Client): - expected_error = ( - "Set literals cannot contain duplicate values," - + " however a duplicate value was found" - ) - with utils.assert_run_failure(expected_error): - client.typecheck_data('{ "A" ; "B" ; "B" }', '(set string)') - - -@pytest.mark.incremental -@pytest.mark.contract -class TestChainId: - def test_chain_id_opcode(self, client: Client, session: dict): - path = os.path.join(CONTRACT_PATH, 'opcodes', 'chain_id.tz') - originate(client, session, path, 'Unit', 0) - client.call('bootstrap2', "chain_id", []) - utils.bake(client, 'bootstrap5') - - def test_chain_id_authentication_origination(self, client: Client, session): - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'authentication.tz' - ) - pubkey = IDENTITIES['bootstrap1']['public'] - originate(client, session, path, f'Pair 0 "{pubkey}"', 1000) - utils.bake(client, 'bootstrap5') - - def test_chain_id_authentication_first_run( - self, client: Client, session: dict - ): - destination = IDENTITIES['bootstrap2']['identity'] - operation = ( - '{DROP; NIL operation; ' - + f'PUSH address "{destination}"; ' - + 'CONTRACT unit; ASSERT_SOME; PUSH mutez 1000; UNIT; ' - + 'TRANSFER_TOKENS; CONS}' - ) - chain_id = client.rpc('get', 'chains/main/chain_id') - contract_address = session['contract'] - packed = client.pack( - f'Pair (Pair "{chain_id}" "{contract_address}") ' - + f'(Pair {operation} 0)', - 'pair (pair chain_id address)' - + '(pair (lambda unit (list operation)) nat)', - ) - signature = client.sign_bytes_of_string(packed, "bootstrap1") - client.call( - 'bootstrap2', - 'authentication', - ['--arg', f'Pair {operation} \"{signature}\"'], - ) - utils.bake(client, 'bootstrap5') - - -@pytest.mark.incremental -@pytest.mark.contract -class TestBigMapToSelf: - def test_big_map_to_self_origination(self, client: Client, session: dict): - path = os.path.join(CONTRACT_PATH, 'opcodes', 'big_map_to_self.tz') - originate(client, session, path, '{}', 0) - utils.bake(client, 'bootstrap5') - - def test_big_map_to_self_transfer(self, client: Client): - client.call('bootstrap2', "big_map_to_self", []) - utils.bake(client, 'bootstrap5') - - client.transfer(0, 'bootstrap2', "big_map_to_self", []) - utils.bake(client, 'bootstrap5') - - -@pytest.mark.incremental -@pytest.mark.contract -class TestNonRegression: - """Test contract-related non-regressions""" - - def test_issue_242_originate(self, client: Client, session: dict): - path = os.path.join(CONTRACT_PATH, 'non_regression', 'bug_262.tz') - originate(client, session, path, 'Unit', 1) - - def test_issue_242_assert_balance(self, client: Client): - assert client.get_balance('bug_262') == 1 - - -@pytest.mark.contract -@pytest.mark.incremental -class TestMiniScenarios: - """Test mini scenarios""" - - # replay.tz related tests - def test_replay_originate(self, client: Client, session: dict): - path = os.path.join(CONTRACT_PATH, 'mini_scenarios', 'replay.tz') - originate(client, session, path, 'Unit', 0) - - def test_replay_transfer_fail(self, client: Client): - with utils.assert_run_failure("Internal operation replay attempt"): - client.transfer(0, "bootstrap1", "replay", []) - - # create_contract.tz related tests - def test_create_contract_originate(self, client: Client, session: dict): - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'create_contract.tz' - ) - originate(client, session, path, 'Unit', 1000) - - def test_create_contract_balance(self, client: Client): - assert client.get_balance('create_contract') == 1000 - - def test_create_contract_perform_creation(self, client: Client): - transfer_result = client.transfer( - 0, - "bootstrap1", - "create_contract", - ['-arg', 'None', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - pattern = r"New contract (\w*) originated" - match = re.search(pattern, transfer_result.client_output) - assert match is not None - kt_1 = match.groups()[0] - assert client.get_storage(kt_1) == '"abcdefg"' - assert client.get_balance(kt_1) == 100 - assert client.get_balance('create_contract') == 900 - - # Originates a contract that when called, creates a contract with a - # rootname annotation. Such annotations comes in two flavors, thus the - # parameterization. Then calls the first contract and verifies the - # existence and type of the root entrypoint of the create contract. - @pytest.mark.parametrize( - "contract", - [ - 'create_contract_rootname.tz', - 'create_contract_rootname_alt.tz', - ], - ) - def test_create_contract_rootname_originate( - self, client: Client, session: dict, contract - ): - path = os.path.join(CONTRACT_PATH, 'opcodes', contract) - origination_res = originate(client, session, path, 'None', 1000) - - transfer_result = client.transfer( - 0, - "bootstrap1", - origination_res.contract, - ['-arg', 'Unit', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - - pattern = r"New contract (\w*) originated" - match = re.search(pattern, transfer_result.client_output) - assert match is not None - kt_1 = match.groups()[0] - - entrypoint_type = client.get_contract_entrypoint_type( - 'root', kt_1 - ).entrypoint_type - - assert entrypoint_type == 'unit', ( - 'the entrypoint my_root of the originated contract should exist' - 'with type unit' - ) - - # default_account.tz related tests - def test_default_account_originate(self, client: Client, session: dict): - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'default_account.tz' - ) - originate(client, session, path, 'Unit', 1000) - - def test_default_account_transfer_then_bake(self, client: Client): - tz1 = IDENTITIES['bootstrap4']['identity'] - client.transfer( - 0, - "bootstrap1", - "default_account", - ['-arg', f'"{tz1}"', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - account = 'tz1SuakBpFdG9b4twyfrSMqZzruxhpMeSrE5' - client.transfer( - 0, - "bootstrap1", - "default_account", - ['-arg', f'"{account}"', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - assert client.get_balance(account) == 100 - - # Test bytes, SHA252, CHECK_SIGNATURE - def test_reveal_signed_preimage_originate( - self, client: Client, session: dict - ): - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'reveal_signed_preimage.tz' - ) - byt = ( - '0x9995c2ef7bcc7ae3bd15bdd9b02' - + 'dc6e877c27b26732340d641a4cbc6524813bb' - ) - sign = 'p2pk66uq221795tFxT7jfNmXtBMdjMf6RAaxRTwv1dbuSHbH6yfqGwz' - storage = f'(Pair {byt} "{sign}")' - originate(client, session, path, storage, 1000) - - def test_wrong_preimage(self, client: Client): - byt = ( - '0x050100000027566f756c657a2d766f75732' - + '0636f75636865722061766563206d6f692c20636520736f6972' - ) - sign = ( - 'p2sigvgDSBnN1bUsfwyMvqpJA1cFhE5s5oi7SetJ' - + 'VQ6LJsbFrU2idPvnvwJhf5v9DhM9ZTX1euS9DgWozVw6BTHiK9VcQVpAU8' - ) - arg = f'(Pair {byt} "{sign}")' - - # We check failure of ASSERT_CMPEQ in the script. - with utils.assert_run_failure("At line 8 characters 9 to 21"): - client.transfer( - 0, - "bootstrap1", - "reveal_signed_preimage", - ['-arg', arg, '--burn-cap', '10'], - ) - - def test_wrong_signature(self, client: Client): - byt = ( - '0x050100000027566f756c657a2d766f757320636' - + 'f75636865722061766563206d6f692c20636520736f6972203f' - ) - sign = ( - 'p2sigvgDSBnN1bUsfwyMvqpJA1cFhE5s5oi7SetJVQ6' - + 'LJsbFrU2idPvnvwJhf5v9DhM9ZTX1euS9DgWozVw6BTHiK9VcQVpAU8' - ) - arg = f'(Pair {byt} "{sign}")' - - # We check failure of CHECK_SIGNATURE ; ASSERT in the script. - with utils.assert_run_failure("At line 15 characters 9 to 15"): - client.transfer( - 0, - "bootstrap1", - "reveal_signed_preimage", - ['-arg', arg, '--burn-cap', '10'], - ) - - def test_good_preimage_and_signature(self, client: Client): - byt = ( - '0x050100000027566f756c657a2d766f757320636f7563' - + '6865722061766563206d6f692c20636520736f6972203f' - ) - sign = ( - 'p2sigsceCzcDw2AeYDzUonj4JT341WC9Px4wdhHBxbZcG1F' - + 'hfqFVuG7f2fGCzrEHSAZgrsrQWpxduDPk9qZRgrpzwJnSHC3gZJ' - ) - arg = f'(Pair {byt} "{sign}")' - client.transfer( - 0, - "bootstrap1", - "reveal_signed_preimage", - ['-arg', arg, '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - - # Test vote_for_delegate - def test_vote_for_delegate_originate(self, client: Client, session: dict): - b_3 = IDENTITIES['bootstrap3']['identity'] - b_4 = IDENTITIES['bootstrap4']['identity'] - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'vote_for_delegate.tz' - ) - storage = f'''(Pair (Pair "{b_3}" None) (Pair "{b_4}" None))''' - originate(client, session, path, storage, 1000) - assert client.get_delegate('vote_for_delegate').delegate is None - - def test_vote_for_delegate_wrong_identity1(self, client: Client): - # We check failure of CHECK_SIGNATURE ; ASSERT in the script. - with utils.assert_run_failure("At line 15 characters 57 to 61"): - client.transfer( - 0, - "bootstrap1", - "vote_for_delegate", - ['-arg', 'None', '--burn-cap', '10'], - ) - - def test_vote_for_delegate_wrong_identity2(self, client: Client): - # We check failure of CHECK_SIGNATURE ; ASSERT in the script. - with utils.assert_run_failure("At line 15 characters 57 to 61"): - client.transfer( - 0, - "bootstrap2", - "vote_for_delegate", - ['-arg', 'None', '--burn-cap', '10'], - ) - - def test_vote_for_delegate_b3_vote_for_b5(self, client: Client): - b_5 = IDENTITIES['bootstrap5']['identity'] - client.transfer( - 0, - "bootstrap3", - "vote_for_delegate", - ['-arg', f'(Some "{b_5}")', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - storage = client.get_storage('vote_for_delegate') - assert re.search(b_5, storage) - - def test_vote_for_delegate_still_no_delegate1(self, client: Client): - assert client.get_delegate('vote_for_delegate').delegate is None - - def test_vote_for_delegate_b4_vote_for_b2(self, client: Client): - b_2 = IDENTITIES['bootstrap2']['identity'] - client.transfer( - 0, - "bootstrap4", - "vote_for_delegate", - ['-arg', f'(Some "{b_2}")', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - storage = client.get_storage('vote_for_delegate') - assert re.search(b_2, storage) - - def test_vote_for_delegate_still_no_delegate2(self, client: Client): - assert client.get_delegate('vote_for_delegate').delegate is None - - def test_vote_for_delegate_b4_vote_for_b5(self, client: Client): - b_5 = IDENTITIES['bootstrap5']['identity'] - client.transfer( - 0, - "bootstrap4", - "vote_for_delegate", - ['-arg', f'(Some "{b_5}")', '--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - storage = client.get_storage('vote_for_delegate') - assert re.search(b_5, storage) - - def test_vote_for_delegate_has_delegate(self, client: Client): - b_5 = IDENTITIES['bootstrap5']['identity'] - result = client.get_delegate('vote_for_delegate') - assert result.delegate == b_5 - - def test_multiple_entrypoints_counter(self, session: dict, client: Client): - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'multiple_entrypoints_counter.tz' - ) - - storage = 'None' - - # originate contract - originate(client, session, path, storage, 0) - utils.bake(client, 'bootstrap5') - - # call contract: creates the internal contract and calls it. - client.transfer( - 0, - 'bootstrap1', - 'multiple_entrypoints_counter', - ['--burn-cap', '10'], - ) - utils.bake(client, 'bootstrap5') - assert client.get_storage('multiple_entrypoints_counter') == 'None', ( - "The storage of the multiple_entrypoints_counter contract" - " should be None" - ) - - # Test CONTRACT with/without entrypoint annotation on literal address - # parameters with/without entrypoint annotation - def test_originate_simple_entrypoints(self, session: dict, client: Client): - """originates the contract simple_entrypoints.tz - with entrypoint %A of type unit used in - test_simple_entrypoints""" - - contract_target = os.path.join( - CONTRACT_PATH, 'entrypoints', 'simple_entrypoints.tz' - ) - originate(client, session, contract_target, 'Unit', 0) - utils.bake(client, 'bootstrap5') - - @pytest.mark.parametrize( - 'contract_annotation, contract_type, param, expected_storage', - [ - # tests passing adr to CONTRACT %A unit - # where adr has an entrypoint %A of type unit, is allowed. - ('%A', 'unit', '"{adr}"', '(Some "{adr}%A")'), - ('%B', 'string', '"{adr}"', '(Some "{adr}%B")'), - ('%C', 'nat', '"{adr}"', '(Some "{adr}%C")'), - # tests passing adr%A to CONTRACT %A unit: redundant specification - # of entrypoint not allowed so CONTRACT returns None - ('%A', 'unit', '"{adr}%A"', 'None'), - ('%A', 'unit', '"{adr}%B"', 'None'), - ('%A', 'unit', '"{adr}%D"', 'None'), - ('%A', 'unit', '"{adr}%A"', 'None'), - ('%B', 'unit', '"{adr}%A"', 'None'), - ('%D', 'unit', '"{adr}%A"', 'None'), - # tests passing adr%A to CONTRACT unit: - # where adr has an entrypoint %A of type unit, is allowed. - ('', 'unit', '"{adr}%A"', '(Some "{adr}%A")'), - ('', 'string', '"{adr}%B"', '(Some "{adr}%B")'), - ('', 'nat', '"{adr}%C"', '(Some "{adr}%C")'), - # tests passing adr%B to CONTRACT unit: - # as entrypoint %B of simple_entrypoints.tz has type string, - # CONTRACT will return None. - ('', 'unit', '"{adr}%B"', 'None'), - # tests passing adr%D to CONTRACT unit: - # as entrypoint %D does not exist in simple_entrypoints.tz, - # CONTRACT will return None. - ('', 'unit', '"{adr}%D"', 'None'), - # tests passing adr to CONTRACT unit: - # as adr does not have type unit, CONTRACT returns None. - ('', 'unit', '"{adr}"', 'None'), - # entrypoint that does not exist - ('%D', 'unit', '"{adr}"', 'None'), - # ill-typed entrypoints - ('%A', 'int', '"{adr}"', 'None'), - ('%B', 'unit', '"{adr}"', 'None'), - ('%C', 'int', '"{adr}"', 'None'), - ], - ) - def test_simple_entrypoints( - self, - session, - client, - contract_annotation, - contract_type, - param, - expected_storage, - ): - contract = f'''parameter address; -storage (option address); -code {{ - CAR; - CONTRACT {contract_annotation} {contract_type}; - IF_SOME {{ ADDRESS; SOME }} {{ NONE address; }}; - NIL operation; - PAIR - }};''' - - param = param.format(adr=session['contract']) - expected_storage = expected_storage.format(adr=session['contract']) - run_script_res = client.run_script(contract, 'None', param, file=False) - assert run_script_res.storage == expected_storage - - -@pytest.mark.contract -class TestComparables: - def test_comparable_unit(self, client): - client.typecheck_data('{}', '(set unit)') - client.typecheck_data('{Unit}', '(set unit)') - - def test_comparable_options(self, client): - client.typecheck_data('{}', '(set (option nat))') - client.typecheck_data('{None; Some 1; Some 2}', '(set (option int))') - utils.assert_typecheck_data_failure( - client, '{Some "foo"; Some "bar"}', '(set (option string))' - ) - utils.assert_typecheck_data_failure( - client, '{Some Unit; None}', '(set (option unit))' - ) - - def test_comparable_unions(self, client): - client.typecheck_data('{}', '(set (or unit bool))') - client.typecheck_data( - '{Left 3; Left 4; Right "bar"; Right "foo"}', - '(set (or nat string))', - ) - utils.assert_typecheck_data_failure( - client, '{Left 2; Left 1}', '(set (or mutez unit))' - ) - utils.assert_typecheck_data_failure( - client, '{Right True; Right False}', '(set (or unit bool))' - ) - utils.assert_typecheck_data_failure( - client, '{Right 0; Left 1}', '(set (or nat nat))' - ) - - def test_comparable_pair(self, client: Client): - # tests that comb pairs are comparable and that the order is the - # expected one - client.typecheck_data('{}', '(set (pair nat string))') - client.typecheck_data('{Pair 0 "foo"}', '(set (pair nat string))') - client.typecheck_data( - '{Pair 0 "foo"; Pair 1 "bar"}', '(set (pair nat string))' - ) - client.typecheck_data( - '{Pair 0 "bar"; Pair 0 "foo"; \ - Pair 1 "bar"; Pair 1 "foo"}', - '(set (pair nat string))', - ) - client.typecheck_data('{}', '(set (pair nat (pair string bytes)))') - - client.typecheck_data('{}', '(map (pair nat string) unit)') - client.typecheck_data( - '{Elt (Pair 0 "foo") Unit}', '(map (pair nat string) unit)' - ) - client.typecheck_data( - '{Elt (Pair 0 "foo") Unit; \ - Elt (Pair 1 "bar") Unit}', - '(map (pair nat string) unit)', - ) - client.typecheck_data( - '{Elt (Pair 0 "bar") Unit; \ - Elt (Pair 0 "foo") Unit; \ - Elt (Pair 1 "bar") Unit; \ - Elt (Pair 1 "foo") Unit}', - '(map (pair nat string) unit)', - ) - client.typecheck_data('{}', '(map (pair nat (pair string bytes)) unit)') - - client.typecheck_data('{}', '(big_map (pair nat string) unit)') - client.typecheck_data( - '{Elt (Pair 0 "foo") Unit}', '(big_map (pair nat string) unit)' - ) - client.typecheck_data( - '{Elt (Pair 0 "foo") Unit; \ - Elt (Pair 1 "bar") Unit}', - '(big_map (pair nat string) unit)', - ) - client.typecheck_data( - '{Elt (Pair 0 "bar") Unit; \ - Elt (Pair 0 "foo") Unit; \ - Elt (Pair 1 "bar") Unit; \ - Elt (Pair 1 "foo") Unit}', - '(big_map (pair nat string) unit)', - ) - client.typecheck_data( - '{}', '(big_map (pair nat (pair string bytes)) unit)' - ) - client.typecheck_data('{}', '(set (pair (pair nat nat) nat))') - client.typecheck_data( - '{}', - '(set (pair (pair int nat) \ - (pair bool bytes)))', - ) - - def test_order_of_pairs(self, client: Client): - # tests that badly-ordered set literals are rejected - utils.assert_typecheck_data_failure( - client, '{Pair 0 "foo"; Pair 0 "bar"}', '(set (pair nat string))' - ) - utils.assert_typecheck_data_failure( - client, '{Pair 1 "bar"; Pair 0 "foo"}', '(set (pair nat string))' - ) - - def test_comparable_chain_id(self, client): - client.typecheck_data('{}', '(set chain_id)') - chain1 = client.rpc('get', 'chains/main/chain_id') - chain2 = 'NetXZVhNXbDTx5M' - utils.assert_typecheck_data_failure( - client, - '{"' + f'{chain1}' + '"; "' + f'{chain2}' + '"}', - '(set chain_id)', - ) - client.typecheck_data( - '{"' + f'{chain2}' + '"; "' + f'{chain1}' + '"}', '(set chain_id)' - ) - - def test_comparable_signature(self, client): - client.typecheck_data('{}', '(set signature)') - packed = client.pack('Unit', 'unit') - sig1 = client.sign_bytes_of_string(packed, "bootstrap1") - sig2 = client.sign_bytes_of_string(packed, "bootstrap2") - utils.assert_typecheck_data_failure( - client, - '{"' + f'{sig1}' + '"; "' + f'{sig2}' + '"}', - '(set signature)', - ) - client.typecheck_data( - '{"' + f'{sig2}' + '"; "' + f'{sig1}' + '"}', '(set signature)' - ) - - def test_comparable_key(self, client): - pubkey1 = IDENTITIES['bootstrap1']['public'] - pubkey2 = IDENTITIES['bootstrap2']['public'] - client.typecheck_data('{}', '(set key)') - utils.assert_typecheck_data_failure( - client, - '{"' + f'{pubkey1}' + '"; "' + f'{pubkey2}' + '"}', - '(set key)', - ) - client.typecheck_data( - '{"' + f'{pubkey2}' + '"; "' + f'{pubkey1}' + '"}', '(set key)' - ) - - def test_comparable_key_different_schemes(self, client): - client.gen_key('sk1', ['--sig', 'ed25519']) - key1 = client.show_address('sk1').public_key - - client.gen_key('sk2', ['--sig', 'secp256k1']) - key2 = client.show_address('sk2').public_key - - client.gen_key('sk3', ['--sig', 'p256']) - key3 = client.show_address('sk3').public_key - - # Three public keys of the three different signature schemes, ordered - client.typecheck_data( - '{"' + key1 + '"; "' + key2 + '"; "' + key3 + '"}', '(set key)' - ) - - # Test all orderings that do not respect the comparable order - utils.assert_typecheck_data_failure( - client, - '{"' + key1 + '"; "' + key3 + '"; "' + key2 + '"}', - '(set key)', - ) - - utils.assert_typecheck_data_failure( - client, - '{"' + key2 + '"; "' + key1 + '"; "' + key3 + '"}', - '(set key)', - ) - - utils.assert_typecheck_data_failure( - client, - '{"' + key2 + '"; "' + key3 + '"; "' + key1 + '"}', - '(set key)', - ) - - utils.assert_typecheck_data_failure( - client, - '{"' + key3 + '"; "' + key1 + '"; "' + key2 + '"}', - '(set key)', - ) - - utils.assert_typecheck_data_failure( - client, - '{"' + key3 + '"; "' + key2 + '"; "' + key1 + '"}', - '(set key)', - ) - - -@pytest.mark.contract -class TestTypecheckingErrors: - def test_big_map_arity_error(self, client: Client): - error_pattern = ( - 'primitive EMPTY_BIG_MAP expects 2 arguments but is given 1.' - ) - with utils.assert_run_failure(error_pattern): - client.typecheck( - os.path.join(CONTRACT_PATH, 'ill_typed', 'big_map_arity.tz') - ) - - -BAD_ANNOT_TEST = ''' -parameter bytes; -storage (option (lambda unit unit)); -code { CAR; UNPACK (lambda unit unit); NIL operation; PAIR} -''' - - -@pytest.mark.incremental -@pytest.mark.contract -class TestBadAnnotation: - def test_write_contract_bad_annot(self, tmpdir, session: dict): - name = 'bad_annot.tz' - contract = f'{tmpdir}/{name}' - script = BAD_ANNOT_TEST - with open(contract, 'w') as contract_file: - contract_file.write(script) - session[name] = contract - - def test_bad_annotation(self, client: Client, session: dict): - name = 'bad_annot.tz' - contract = session[name] - - # This was produced by running "tezos-client hash data '{ UNIT - # ; PAIR ; CAR %faa }' of type 'lambda unit unit'" and - # replacing the two last bytes (that correspond to the two - # 'a's at the end of the annotation) by the 0xff byte which is - # not a valid UTF8-encoding of a string - parameter = '0x05020000000e034f03420416000000042566ffff' - - res = client.run_script(contract, 'None', parameter) - assert res.storage == 'None' - - -@pytest.mark.contract -class TestOrderInTopLevelDoesNotMatter: - @pytest.fixture - def contract_splitted_in_top_level_elements(self): - return [ - "parameter nat", - "storage unit", - "code { CDR; NIL operation; PAIR }", - ] - - def test_shuffle( - self, client: Client, contract_splitted_in_top_level_elements - ): - """ - Test that the storage, code, and parameter sections can appear in any - order in a contract script. - """ - for shuffled_list in itertools.permutations( - contract_splitted_in_top_level_elements - ): - contract = ";\n".join(shuffled_list) - client.typecheck(contract, file=False) - - -@pytest.mark.incremental -@pytest.mark.contract -@pytest.mark.regression -class TestSelfAddressTransfer: - def test_self_address_originate_sender( - self, client_regtest_scrubbed, session - ): - client = client_regtest_scrubbed - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'self_address_sender.tz' - ) - originate(client, session, path, 'Unit', 0) - - def test_self_address_originate_receiver( - self, client_regtest_scrubbed, session - ): - client = client_regtest_scrubbed - path = os.path.join( - CONTRACT_PATH, 'mini_scenarios', 'self_address_receiver.tz' - ) - originate(client, session, path, 'Unit', 0) - session['receiver_address'] = session['contract'] - - def test_send_self_address(self, client_regtest_scrubbed, session): - client = client_regtest_scrubbed - receiver_address = session['receiver_address'] - client.transfer( - 0, - 'bootstrap2', - 'self_address_sender', - ['--arg', f'"{receiver_address}"', '--burn-cap', '2'], - ) - utils.bake(client, 'bootstrap5') - - -@pytest.mark.slow -@pytest.mark.contract -@pytest.mark.regression -class TestScriptHashRegression: - @pytest.mark.parametrize( - "client_regtest_custom_scrubber", - [[(re.escape(CONTRACT_PATH), '[CONTRACT_PATH]')]], - indirect=True, - ) - def test_contract_hash(self, client_regtest_custom_scrubber: Client): - client = client_regtest_custom_scrubber - contracts = all_contracts() - contracts.sort() - for contract in contracts: - assert contract.endswith( - '.tz' - ), "test contract should have .tz extension" - - client.hash_script( - [os.path.join(CONTRACT_PATH, contract) for contract in contracts], - display_names=True, - ) - - -@pytest.mark.contract -class TestScriptHashOrigination: - def test_contract_hash_with_origination( - self, client: Client, session: dict - ): - script = ID_SCRIPT_LITERAL - originate( - client, - session, - contract=script, - init_storage='Unit', - amount=1000, - contract_name='dummy_contract', - ) - [(hash1, _)] = client.hash_script([script]) - hash2 = client.get_script_hash('dummy_contract') - assert hash1 == hash2 - - -@pytest.mark.contract -class TestScriptHashMultiple: - """Test tezos-client hash script with diffent number and type of - arguments""" - - def test_contract_hashes_empty(self, client: Client): - assert client.hash_script([]) == [] - - def test_contract_hashes_single(self, client: Client): - assert client.hash_script([ID_SCRIPT_LITERAL]) == [ - (ID_SCRIPT_HASH, None) - ] - - def test_contract_hashes_single_display_names(self, client: Client): - assert client.hash_script([ID_SCRIPT_LITERAL], display_names=True,) == [ - ( - ID_SCRIPT_HASH, - 'Literal script 1', - ) - ] - - def test_contract_hashes_mixed(self, client: Client): - contract_path = os.path.join(CONTRACT_PATH, 'attic', 'empty.tz') - script_empty_hash = ''' -expruat2BS4KCwn9kbopeX1ZwxtrtJbyFhpnpnG6A5KdCBCwHNsdod - '''.strip() - with open(contract_path, 'r') as contract_file: - script = contract_file.read() - - hashes = client.hash_script([contract_path, script]) - - assert hashes == [ - ( - script_empty_hash, - None, - ), - ( - script_empty_hash, - None, - ), - ] - - hashes = client.hash_script( - [contract_path, script], display_names=True - ) - - assert hashes == [ - ( - script_empty_hash, - contract_path, - ), - ( - script_empty_hash, - 'Literal script 2', - ), - ] - - @pytest.mark.parametrize( - "for_script, display_names, results", - [ - ('csv', True, (ID_SCRIPT_HASH, 'Literal script 1')), - ('csv', False, (ID_SCRIPT_HASH, None)), - ('tsv', True, (ID_SCRIPT_HASH, 'Literal script 1')), - ('tsv', False, (ID_SCRIPT_HASH, None)), - ], - ) - def test_contract_hashes_for_script( - self, client: Client, for_script, display_names, results - ): - assert ( - client.hash_script( - [ID_SCRIPT_LITERAL], - display_names=display_names, - for_script=for_script, - ) - == [results] - ) - - -@pytest.mark.contract -@pytest.mark.regression -class TestNormalize: - """Regression tests for the "normalize data" command.""" - - modes = [None, 'Readable', 'Optimized', 'Optimized_legacy'] - - @pytest.mark.parametrize('mode', modes) - def test_normalize_unparsing_mode(self, client_regtest_scrubbed, mode): - client = client_regtest_scrubbed - input_data = ( - '{Pair 0 3 6 9; Pair 1 (Pair 4 (Pair 7 10)); {2; 5; 8; 11}}' - ) - input_type = 'list (pair nat nat nat nat)' - client.normalize(input_data, input_type, mode=mode) - - def test_normalize_legacy_flag(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - input_data = '{Elt %a 0 1}' - input_type = 'map nat nat' - client.normalize(input_data, input_type, legacy=True) - error_pattern = 'unexpected annotation.' - with utils.assert_run_failure(error_pattern): - client.normalize(input_data, input_type, legacy=False) - - @pytest.mark.parametrize('mode', modes) - def test_normalize_script(self, client_regtest_scrubbed, mode): - client = client_regtest_scrubbed - path = os.path.join(CONTRACT_PATH, 'opcodes', 'comb-literals.tz') - client.normalize_script(path, mode=mode) - - types = [ - 'nat', - 'list nat', - 'pair nat int', - 'list (pair nat int)', - 'pair nat int bool', - 'list (pair nat int bool)', - 'pair nat int bool bytes', - 'list (pair nat int bool bytes)', - ] - - @pytest.mark.parametrize('typ', types) - def test_normalize_type(self, client_regtest_scrubbed, typ): - client = client_regtest_scrubbed - client.normalize_type(typ) - - -@pytest.mark.contract -class TestTZIP4View: - """Tests for the "run tzip4 view" command.""" - - def test_run_view(self, client: Client, session: dict): - - path = os.path.join(CONTRACT_PATH, 'mini_scenarios', 'tzip4_view.tz') - originate( - client, - session, - contract=path, - init_storage='Unit', - amount=1000, - contract_name='view_contract', - ) - client.bake('bootstrap5') - - const_view_res = client.run_view( - "view_const", "view_contract", "Unit", [] - ) - add_view_res = client.run_view( - "view_add", "view_contract", "Pair 1 3", [] - ) - - assert const_view_res.result == "5\n" and add_view_res.result == "4\n" - - -@pytest.mark.contract -@pytest.mark.incremental -class TestBadIndentation: - """Tests for the "hash script" and "convert script" commands on - badly-indented scripts.""" - - BADLY_INDENTED = os.path.join(ILLTYPED_CONTRACT_PATH, 'badly_indented.tz') - - SCRIPT_HASH = "exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL" - - def test_bad_indentation_ill_typed(self, client): - with utils.assert_run_failure('syntax error in program'): - client.typecheck(self.BADLY_INDENTED) - - def test_bad_indentation_hash(self, client): - assert client.hash_script([self.BADLY_INDENTED]) == [ - (self.SCRIPT_HASH, None) - ] - - def test_formatting(self, client, session): - session['formatted_script'] = client.convert_script( - self.BADLY_INDENTED, 'Michelson', 'Michelson' - ) - - def test_formatted_hash(self, client, session): - assert client.hash_script([session['formatted_script']]) == [ - (self.SCRIPT_HASH, None) - ] - - def test_formatted_typechecks(self, client, session): - client.typecheck(session['formatted_script'], file=False) diff --git a/tests_python/tests_008/test_contract_annotations.py b/tests_python/tests_008/test_contract_annotations.py deleted file mode 100644 index c34dcc016ee1..000000000000 --- a/tests_python/tests_008/test_contract_annotations.py +++ /dev/null @@ -1,88 +0,0 @@ -import pytest -from tools.utils import assert_typecheck_data_failure, assert_typecheck_failure -from client.client import Client - - -@pytest.mark.slow -@pytest.mark.contract -class TestAnnotations: - """Tests of Michelson annotations.""" - - def test_annotation_length_success(self, client: Client): - client.typecheck_data('3', f"(int :{'a' * 254})") - - def test_annotation_length_failure(self, client: Client): - assert_typecheck_data_failure( - client, - '3', - f"(int :{'a' * 255})", - r'annotation exceeded maximum length \(255 chars\)', - ) - - def test_field_annotation_in_type_alphabetic(self, client): - client.typecheck_data('Pair 0 0', 'pair (nat %x) (int %y)') - - def test_field_annotation_in_type_numeral(self, client): - client.typecheck_data('Pair 0 0', 'pair (nat %1) (int %2)') - - def test_field_annotation_in_type_invalid_character(self, client): - assert_typecheck_data_failure( - client, - 'Pair 0 0', - 'pair (nat %.) (int %.)', - 'unexpected annotation', - ) - - def test_field_annotation_in_instruction_alphabetic(self, client): - client.typecheck_data( - '{ CAR %x }', 'lambda (pair (nat %x) (int %y)) nat' - ) - - def test_field_annotation_in_instruction_numeral(self, client): - client.typecheck_data( - '{ CAR %1 }', 'lambda (pair (nat %1) (int %2)) nat' - ) - - def test_field_annotation_in_instruction_invalid_character(self, client): - assert_typecheck_data_failure( - client, - '{ CAR %. }', - 'lambda (pair (nat %.) (int %.)) nat', - 'unexpected annotation', - ) - - def test_field_annotation_in_root_alphabetic(self, client): - client.typecheck( - 'parameter %r unit; storage unit; code {FAILWITH}', file=False - ) - - def test_field_annotation_in_root_numeral(self, client): - client.typecheck( - 'parameter %1 unit; storage unit; code {FAILWITH}', file=False - ) - - def test_field_annotation_in_root_invalid_character(self, client): - assert_typecheck_failure( - client, - 'parameter %. unit; storage unit; code {FAILWITH}', - 'unexpected annotation', - file=False, - ) - - def test_field_annotation_in_root_type_alphabetic(self, client): - client.typecheck( - 'parameter (unit %r); storage unit; code {FAILWITH}', file=False - ) - - def test_field_annotation_in_root_type_numeral(self, client): - client.typecheck( - 'parameter (unit %1); storage unit; code {FAILWITH}', file=False - ) - - def test_field_annotation_in_root_type_invalid_character(self, client): - assert_typecheck_failure( - client, - 'parameter (unit %.); storage unit; code {FAILWITH}', - 'unexpected annotation', - file=False, - ) diff --git a/tests_python/tests_008/test_contract_baker.py b/tests_python/tests_008/test_contract_baker.py deleted file mode 100644 index 682aa956a325..000000000000 --- a/tests_python/tests_008/test_contract_baker.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -import pytest -from tools import utils, constants -from client.client import Client -from . import protocol -from . import contract_paths - - -@pytest.fixture(scope="class") -def client(sandbox): - """One node running protocol alpha and a baker.""" - sandbox.add_node(0, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), activate_in_the_past=True) - yield sandbox.client(0) - - -@pytest.mark.contract -@pytest.mark.baker -@pytest.mark.incremental -class TestOriginationCall: - """Test a simple contract origination and call""" - - def test_originate(self, client: Client, session: dict): - initial_storage = 'Unit' - contract = os.path.join( - contract_paths.OPCODES_CONTRACT_PATH, 'transfer_tokens.tz' - ) - args = ['--init', initial_storage, '--burn-cap', '0.400'] - origination = client.originate( - 'foobar', 1000, 'bootstrap1', contract, args - ) - session['contract'] = origination.contract - utils.bake(client, 'bootstrap5') - - # Unsolved mistery: - # client.wait_for_inclusion(origination.operation_hash) - # fails sometimes with tezos-client crashing. Maybe caused with - # subprocess captured of forked process output? - # - # Safer to poll with `check_block_contain_operations` - assert utils.check_block_contains_operations( - client, [origination.operation_hash] - ) - - def test_call(self, client: Client, session: dict): - contract = session['contract'] - bootstrap3 = '"tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU"' - transfer = client.call('bootstrap2', contract, ['--arg', bootstrap3]) - utils.bake(client, 'bootstrap5') - assert utils.check_block_contains_operations( - client, [transfer.operation_hash] - ) - - def test_balance(self, client: Client): - assert client.get_balance("bootstrap3") == 4000100 - - def test_query_storage(self, client: Client, session: dict): - contract = session['contract'] - url = f'/chains/main/blocks/head/context/contracts/{contract}/storage' - res = client.rpc('get', url) - assert res['prim'] == 'Unit' diff --git a/tests_python/tests_008/test_contract_bls12_381.py b/tests_python/tests_008/test_contract_bls12_381.py deleted file mode 100644 index efdd739421fa..000000000000 --- a/tests_python/tests_008/test_contract_bls12_381.py +++ /dev/null @@ -1,315 +0,0 @@ -from os import path -import random -from hashlib import blake2b -import pytest - -from tools.bls12_381 import G1, G2, Fr, pairing_check -from tools.utils import assert_run_failure -from .contract_paths import MINI_SCENARIOS_CONTRACT_PATH, OPCODES_CONTRACT_PATH - - -def check_contract(client, contract_name, arg, expected_storage): - contract_path = path.join(OPCODES_CONTRACT_PATH, f'{contract_name}.tz') - result = client.run_script(contract_path, 'None', arg) - assert result.storage == f'(Some {expected_storage})' - - -def check_contract_binop(client, contract_name, arg0, arg1, expected_storage): - check_contract( - client, contract_name, f'Pair {arg0} {arg1}', expected_storage - ) - - -# prefix a type name with 'bls12_381_' -def bls(tname): - return f'bls12_381_{tname}' - - -# Store -def check_store(client, cls, arg): - arg = cls.to_hex(arg) - check_contract(client, f'store_{bls(cls.name)}', arg, arg) - - -# Add -def check_add(client, cls, xxx, yyy): - check_contract_binop( - client, - f'add_{bls(cls.name)}', - cls.to_hex(xxx), - cls.to_hex(yyy), - cls.to_hex(cls.add(xxx, yyy)), - ) - - -# Mul -def check_mul(client, cls, xxx, yyy): - check_contract_binop( - client, - f'mul_{bls(cls.name)}', - cls.to_hex(xxx), - Fr.to_hex(yyy), - cls.to_hex(cls.mul(xxx, yyy)), - ) - - -# Neg -def check_neg(client, cls, arg): - res = cls.to_hex(cls.neg(arg)) - arg = cls.to_hex(arg) - check_contract(client, f'neg_{bls(cls.name)}', arg, res) - - -# Pairing Check -def check_pairing_check(client, args): - res = pairing_check(args) - args = [(G1.to_hex(g1), G2.to_hex(g2)) for g1, g2 in args] - args = [f'Pair {g1} {g2}' for g1, g2 in args] - args = f'{{ {"; ".join(args)} }}' - check_contract(client, 'pairing_check', args, res) - - -# Setting this higher makes things rather slow -RANDOM_ITERATIONS = range(10) - -STORE_CLASSES = [G1, G2, Fr] -CURVES = [G1, G2] -ADD_CLASSES = [G1, G2, Fr] -MUL_CLASSES = [G1, G2, Fr] -NEG_CLASSES = [G1, G2, Fr] - - -@pytest.mark.incremental -@pytest.mark.contract -@pytest.mark.regression -class TestBls12_381: - - # Fix the random seed to ensure reproducibility - h = blake2b() - h.update(b'seed') - gen = random.Random() - gen.seed(bytes.fromhex(h.hexdigest())) - - # Store - @pytest.mark.parametrize("cls", STORE_CLASSES) - def test_store_zero(self, client_regtest, cls): - check_store(client_regtest, cls, cls.zero) - - @pytest.mark.parametrize("cls", STORE_CLASSES) - def test_store_one(self, client_regtest, cls): - check_store(client_regtest, cls, cls.one) - - @pytest.mark.parametrize("cls", STORE_CLASSES) - def test_store_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_store(client_regtest, cls, cls.random(self.gen)) - - # Add - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_zero_zero(self, client_regtest, cls): - check_add(client_regtest, cls, cls.zero, cls.zero) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_zero_one(self, client_regtest, cls): - check_add(client_regtest, cls, cls.zero, cls.one) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_zero_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_add(client_regtest, cls, cls.zero, cls.random(self.gen)) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_one_zero(self, client_regtest, cls): - check_add(client_regtest, cls, cls.one, cls.zero) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_one_one(self, client_regtest, cls): - check_add(client_regtest, cls, cls.one, cls.one) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_one_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_add(client_regtest, cls, cls.one, cls.random(self.gen)) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_random_zero(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_add(client_regtest, cls, cls.random(self.gen), cls.zero) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_random_one(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_add(client_regtest, cls, cls.random(self.gen), cls.one) - - @pytest.mark.parametrize("cls", ADD_CLASSES) - def test_add_random_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_add( - client_regtest, cls, cls.random(self.gen), cls.random(self.gen) - ) - - # Mul - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_zero_zero(self, client_regtest, cls): - check_mul(client_regtest, cls, cls.zero, Fr.zero) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_zero_one(self, client_regtest, cls): - check_mul(client_regtest, cls, cls.zero, Fr.one) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_zero_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_mul(client_regtest, cls, cls.zero, Fr.random(self.gen)) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_one_zero(self, client_regtest, cls): - check_mul(client_regtest, cls, cls.one, Fr.zero) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_one_one(self, client_regtest, cls): - check_mul(client_regtest, cls, cls.one, Fr.one) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_one_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_mul(client_regtest, cls, cls.one, Fr.random(self.gen)) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_random_zero(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_mul(client_regtest, cls, cls.random(self.gen), Fr.zero) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_random_one(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_mul(client_regtest, cls, cls.random(self.gen), Fr.one) - - @pytest.mark.parametrize("cls", MUL_CLASSES) - def test_mul_random_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_mul( - client_regtest, cls, cls.random(self.gen), Fr.random(self.gen) - ) - - # Neg - @pytest.mark.parametrize("cls", NEG_CLASSES) - def test_neg_zero(self, client_regtest, cls): - check_neg(client_regtest, cls, cls.zero) - - @pytest.mark.parametrize("cls", NEG_CLASSES) - def test_neg_one(self, client_regtest, cls): - check_neg(client_regtest, cls, cls.one) - - @pytest.mark.parametrize("cls", NEG_CLASSES) - def test_neg_random(self, client_regtest, cls): - for _ in RANDOM_ITERATIONS: - check_neg(client_regtest, cls, cls.random(self.gen)) - - # Pairing checks - def test_pairing_nil(self, client_regtest): - check_pairing_check(client_regtest, []) - - def test_pairing_zero_zero(self, client_regtest): - args = [(G1.zero, G2.zero)] - check_pairing_check(client_regtest, args) - - def test_pairing_zero_one(self, client_regtest): - args = [(G1.zero, G2.one)] - check_pairing_check(client_regtest, args) - - def test_pairing_zero_random(self, client_regtest): - for _ in RANDOM_ITERATIONS: - args = [(G1.zero, G2.random(self.gen))] - check_pairing_check(client_regtest, args) - - def test_pairing_one_zero(self, client_regtest): - args = [(G1.one, G2.zero)] - check_pairing_check(client_regtest, args) - - def test_pairing_one_one(self, client_regtest): - args = [(G1.one, G2.one)] - check_pairing_check(client_regtest, args) - - def test_pairing_one_random(self, client_regtest): - for _ in RANDOM_ITERATIONS: - args = [(G1.one, G2.random(self.gen))] - check_pairing_check(client_regtest, args) - - def test_pairing_random_zero(self, client_regtest): - for _ in RANDOM_ITERATIONS: - args = [(G1.random(self.gen), G2.zero)] - check_pairing_check(client_regtest, args) - - def test_pairing_random_one(self, client_regtest): - for _ in RANDOM_ITERATIONS: - args = [(G1.random(self.gen), G2.one)] - check_pairing_check(client_regtest, args) - - def test_pairing_random_random(self, client_regtest): - for _ in RANDOM_ITERATIONS: - args = [(G1.random(self.gen), G2.random(self.gen))] - check_pairing_check(client_regtest, args) - - def test_pairing_neg_g1(self, client_regtest): - for _ in RANDOM_ITERATIONS: - g1_point = G1.random(self.gen) - g2_point = G2.random(self.gen) - args = [(g1_point, g2_point), (G1.neg(g1_point), g2_point)] - check_pairing_check(client_regtest, args) - - def test_pairing_neg_g2(self, client_regtest): - for _ in RANDOM_ITERATIONS: - g1_point = G1.random(self.gen) - g2_point = G2.random(self.gen) - args = [(g1_point, g2_point), (g1_point, G2.neg(g2_point))] - check_pairing_check(client_regtest, args) - - # Pairing Check test based on signature aggregation - def test_signature_aggregation(self, client_regtest): - for _ in RANDOM_ITERATIONS: - sk0 = Fr.random(self.gen) # secret key - pk0 = G2.mul(G2.one, sk0) # public key - # we don't have hash-to-curve on g1, so compute a random point - msg_hash = G1.random(self.gen) # message hash - sig0 = G1.mul(msg_hash, sk0) # signature - args0 = [(msg_hash, pk0), (G1.neg(sig0), G2.one)] - check_pairing_check(client_regtest, args0) - - sk1 = Fr.random(self.gen) # secret key - pk1 = G2.mul(G2.one, sk1) # public key - # we don't have hash-to-curve on g1, so compute a random point - sig1 = G1.mul(msg_hash, sk1) # signature - args1 = [ - (G1.add(msg_hash, msg_hash), G2.add(pk0, pk1)), - (G1.neg(G1.add(sig0, sig1)), G2.add(G2.one, G2.one)), - ] - check_pairing_check(client_regtest, args1) - - def test_groth16(self, client_regtest): - # pylint: disable=line-too-long - # The verifying key, proof, and inputs are generated from - # ZoKrates, modified to use BLS12-381. - # The circuit proves knowledge of a square root of 113569. - - input_x = "0xa1bb010000000000000000000000000000000000000000000000000000000000" # noqa - input_y = "0x0100000000000000000000000000000000000000000000000000000000000000" # noqa - proof_a = "0x0a2841423326ab08f5f406409775e43fa0f9a0b97631fa85d2dd9242507d25059e9cf48b8b98f99a0008671423a148ec106d70637056972ef49fb6f62de2e89ba3682b9972292b6bb4e6f53799a75d2f8001ccfde280d8ac05fc209352236cbd" # noqa - proof_b = "0x0fced939fb1ad733f99669f50a383ef632f6d41dfbde434a6715afd5c7dfbb7bc5835e058ad8b590c7b38dd137d0bd0f0e1540f1b45d8aa626c360e2ea484a116243f7c802034de915db6b18d5303946f676e423cbd6046d37a82208d500625a11c7250ccb953a7ee49d704ad14de4b727733cff7cf06875d8b6444f3c0a8cbf0bd980e539c74bd5b37bb15fe816f23407d269193105fda71adf35fae9309d9d46729fcd4685699097a86f0460a2bc8b16293940cabfdcfe0f27e4107e74e90c" # noqa - proof_c = "0x0a1fb5a144ca3bdfe4ad0f183cf71dd7fdd28cbef4fcd47b5b419f65186703f62ecaaa1255fa21a6ebdd917ab1f9bd9707de7066865e2ff3875e22088619125a0d4088a622ab42224425ef89a5a149ce2db9c8292b62c7e7aaa7e87f3535304b" # noqa - - inputs = f"Pair {input_x} {input_y}" - proof = f"Pair (Pair {proof_a} {proof_b}) {proof_c}" - arg = f"Pair ({inputs}) ({proof})" - - contract = path.join(MINI_SCENARIOS_CONTRACT_PATH, 'groth16.tz') - client_regtest.run_script(contract, 'Unit', arg) - - def test_fr_bytes_parameters_more_than_32_bytes(self, client_regtest): - random_bytes = ( - "0xf7ef66f95c90b2f953eb0555af65f22095d4f54b40ea8c6d" - + "cc2014740e8662c16bb8786723" - ) - contract = path.join(OPCODES_CONTRACT_PATH, 'bls12_381_fr_to_int.tz') - with assert_run_failure(r'error running script'): - client_regtest.run_script(contract, storage='0', inp=random_bytes) diff --git a/tests_python/tests_008/test_contract_macros.py b/tests_python/tests_008/test_contract_macros.py deleted file mode 100644 index 8528f37165f7..000000000000 --- a/tests_python/tests_008/test_contract_macros.py +++ /dev/null @@ -1,447 +0,0 @@ -from os import path -import pytest -from tools.utils import ( - assert_run_script_failwith, - assert_transfer_failwith, - init_with_transfer, - bake, - assert_storage_contains, -) -from tools.client_regression import ClientRegression -from client.client import Client -from .contract_paths import MACROS_CONTRACT_PATH, CONTRACT_PATH, all_contracts - - -@pytest.mark.contract -class TestContractMacros: - """Tests for contracts using macros that do not require origination.""" - - @pytest.mark.parametrize( - "contract,param,storage,expected", - [ # FORMAT: assert_output contract_file storage input expected_result - # Build list - ('build_list.tz', '{}', '0', '{ 0 }'), - ('build_list.tz', '{}', '3', '{ 0 ; 1 ; 2 ; 3 }'), - ( - 'build_list.tz', - '{}', - '10', - '{ 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; 10 }', - ), - # Find maximum int in list -- returns None if not found - ('max_in_list.tz', 'None', '{}', 'None'), - ('max_in_list.tz', 'None', '{ 1 }', '(Some 1)'), - ('max_in_list.tz', 'None', '{ -1 }', '(Some -1)'), - ( - 'max_in_list.tz', - 'None', - '{ 10 ; -1 ; -20 ; 100 ; 0 }', - '(Some 100)', - ), - ( - 'max_in_list.tz', - 'None', - '{ 10 ; -1 ; -20 ; 100 ; 0 }', - '(Some 100)', - ), - ( - 'max_in_list.tz', - 'None', - '{ -10 ; -1 ; -20 ; -100 }', - '(Some -1)', - ), - # Test comparisons on tez { EQ ; GT ; LT ; GE ; LE } - ( - 'compare.tz', - '{}', - '(Pair 1000000 2000000)', - '{ False ; False ; True ; False ; True }', - ), - ( - 'compare.tz', - '{}', - '(Pair 2000000 1000000)', - '{ False ; True ; False ; True ; False }', - ), - ( - 'compare.tz', - '{}', - '(Pair 2370000 2370000)', - '{ True ; False ; False ; True ; True }', - ), - # Test ASSERT - ('assert.tz', 'Unit', 'True', 'Unit'), - # ASSERT_{OP} - ('assert_eq.tz', 'Unit', '(Pair -1 -1)', 'Unit'), - ('assert_eq.tz', 'Unit', '(Pair -1 -1)', 'Unit'), - ('assert_neq.tz', 'Unit', '(Pair 0 -1)', 'Unit'), - ('assert_lt.tz', 'Unit', '(Pair -1 0)', 'Unit'), - ('assert_le.tz', 'Unit', '(Pair 0 0)', 'Unit'), - ('assert_le.tz', 'Unit', '(Pair -1 0)', 'Unit'), - ('assert_gt.tz', 'Unit', '(Pair 0 -1)', 'Unit'), - ('assert_ge.tz', 'Unit', '(Pair 0 0)', 'Unit'), - ('assert_ge.tz', 'Unit', '(Pair 0 -1)', 'Unit'), - # ASSERT_CMP{OP} - ('assert_cmpeq.tz', 'Unit', '(Pair -1 -1)', 'Unit'), - ('assert_cmpneq.tz', 'Unit', '(Pair 0 -1)', 'Unit'), - ('assert_cmplt.tz', 'Unit', '(Pair -1 0)', 'Unit'), - ('assert_cmple.tz', 'Unit', '(Pair -1 0)', 'Unit'), - ('assert_cmple.tz', 'Unit', '(Pair 0 0)', 'Unit'), - ('assert_cmpgt.tz', 'Unit', '(Pair 0 -1)', 'Unit'), - ('assert_cmpge.tz', 'Unit', '(Pair 0 -1)', 'Unit'), - ('assert_cmpge.tz', 'Unit', '(Pair 0 0)', 'Unit'), - # Tests the SET_CAR and SET_CDR instructions - ( - 'set_caddaadr.tz', - '(Pair (Pair 1 2 (Pair (Pair 3 0) 4) 5) 6)', - '3000000', - '(Pair (Pair 1 2 (Pair (Pair 3 3000000) 4) 5) 6)', - ), - ( - 'map_caddaadr.tz', - '(Pair (Pair 1 2 (Pair (Pair 3 0) 4) 5) 6)', - 'Unit', - '(Pair (Pair 1 2 (Pair (Pair 3 1000000) 4) 5) 6)', - ), - # Test comparisons on bytes { EQ ; GT ; LT ; GE ; LE } - ( - 'compare_bytes.tz', - '{}', - '(Pair 0x33 0x34)', - '{ False ; False ; True ; False ; True }', - ), - ( - 'compare_bytes.tz', - '{}', - '(Pair 0x33 0x33aa)', - '{ False ; False ; True ; False ; True }', - ), - ( - 'compare_bytes.tz', - '{}', - '(Pair 0x33 0x33)', - '{ True ; False ; False ; True ; True }', - ), - ( - 'compare_bytes.tz', - '{}', - '(Pair 0x34 0x33)', - '{ False ; True ; False ; True ; False }', - ), - ], - ) - def test_contract_input_output( - self, - client: Client, - contract: str, - param: str, - storage: str, - expected: str, - ): - assert contract.endswith( - '.tz' - ), "test contract should have .tz extension" - contract = path.join(MACROS_CONTRACT_PATH, contract) - run_script_res = client.run_script(contract, param, storage) - assert run_script_res.storage == expected - - @pytest.mark.parametrize( - "contract,param,storage", - [ # FORMAT: assert_output contract_file storage input expected_result - ('assert.tz', 'Unit', 'False'), - ('assert_eq.tz', 'Unit', '(Pair 0 -1)'), - ('assert_eq.tz', 'Unit', '(Pair 0 -1)'), - ('assert_neq.tz', 'Unit', '(Pair -1 -1)'), - ('assert_lt.tz', 'Unit', '(Pair 0 -1)'), - ('assert_lt.tz', 'Unit', '(Pair 0 0)'), - ('assert_le.tz', 'Unit', '(Pair 0 -1)'), - ('assert_gt.tz', 'Unit', '(Pair -1 0)'), - ('assert_gt.tz', 'Unit', '(Pair 0 0)'), - ('assert_ge.tz', 'Unit', '(Pair -1 0)'), - ('assert_cmpeq.tz', 'Unit', '(Pair 0 -1)'), - ('assert_cmpneq.tz', 'Unit', '(Pair -1 -1)'), - ('assert_cmplt.tz', 'Unit', '(Pair 0 0)'), - ('assert_cmplt.tz', 'Unit', '(Pair 0 -1)'), - ('assert_cmple.tz', 'Unit', '(Pair 0 -1)'), - ('assert_cmpgt.tz', 'Unit', '(Pair 0 0)'), - ('assert_cmpgt.tz', 'Unit', '(Pair -1 0)'), - ('assert_cmpge.tz', 'Unit', '(Pair -1 0)'), - ], - ) - def test_contract_failures(self, client: Client, contract, param, storage): - contract = path.join(MACROS_CONTRACT_PATH, contract) - assert_run_script_failwith(client, contract, param, storage) - - -@pytest.mark.slow -@pytest.mark.contract -class TestGuestBook: - """Test on the guestbook contract.""" - - def test_guestbook(self, client: Client): - contract = path.join(MACROS_CONTRACT_PATH, 'guestbook.tz') - - init_with_transfer( - client, - contract, - '{ Elt "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" None }', - 100, - 'bootstrap1', - ) - - assert_transfer_failwith( - client, - 0, - 'bootstrap2', - 'guestbook', - ['--arg', '"Pas moi"', '--burn-cap', '10'], - ) - - client.transfer( - 0, - 'bootstrap1', - 'guestbook', - ['-arg', '"Coucou"', '--burn-cap', '10'], - ) - bake(client) - assert_storage_contains( - client, - 'guestbook', - '{ Elt "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" (Some "Coucou") }', - ) - - assert_transfer_failwith( - client, - 0, - 'bootstrap3', - 'guestbook', - ['--arg', '"Pas moi non plus"', '--burn-cap', '10'], - ) - assert_transfer_failwith( - client, - 0, - 'bootstrap1', - 'guestbook', - ['--arg', '"Recoucou ?"', '--burn-cap', '10'], - ) - - -@pytest.mark.slow -@pytest.mark.contract -class TestBigmap: - """Tests on the big_map_mem contract.""" - - def test_bigmap(self, client: Client): - contract = path.join(MACROS_CONTRACT_PATH, 'big_map_mem.tz') - - init_with_transfer( - client, - contract, - '(Pair { Elt 1 Unit ; Elt 2 Unit ; Elt 3 Unit } Unit)', - 100, - 'bootstrap1', - ) - - client.transfer( - 1, - 'bootstrap1', - 'big_map_mem', - ['-arg', '(Pair 0 False)', '--burn-cap', '10'], - ) - bake(client) - - assert_transfer_failwith( - client, - 0, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 0 True)', '--burn-cap', '10'], - ) - - client.transfer( - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 0 False)', '--burn-cap', '10'], - ) - bake(client) - assert_transfer_failwith( - client, - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 0 True)', '--burn-cap', '10'], - ) - client.transfer( - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 1 True)', '--burn-cap', '10'], - ) - bake(client) - assert_transfer_failwith( - client, - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 1 False)', '--burn-cap', '10'], - ) - client.transfer( - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 2 True)', '--burn-cap', '10'], - ) - bake(client) - assert_transfer_failwith( - client, - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 2 False)', '--burn-cap', '10'], - ) - client.transfer( - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 3 True)', '--burn-cap', '10'], - ) - bake(client) - assert_transfer_failwith( - client, - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 3 False)', '--burn-cap', '10'], - ) - client.transfer( - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 4 False)', '--burn-cap', '10'], - ) - bake(client) - assert_transfer_failwith( - client, - 1, - 'bootstrap1', - 'big_map_mem', - ['--arg', '(Pair 4 True)', '--burn-cap', '10'], - ) - - -@pytest.mark.slow -@pytest.mark.contract -class TestBigmapGetAdd: - """Tests on the big_map_get_add contract.""" - - def test_bigmap(self, client: Client): - contract = path.join(MACROS_CONTRACT_PATH, 'big_map_get_add.tz') - - init_with_transfer( - client, - contract, - '(Pair { Elt 0 1 ; Elt 1 2 ; Elt 2 3 } Unit)', - 100, - 'bootstrap1', - ) - - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 200 (Some 2)) (Pair 200 (Some 2)))', - '--burn-cap', - '10', - ], - ) - bake(client) - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 200 None) (Pair 200 None))', - '--burn-cap', - '10', - ], - ) - bake(client) - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 200 None) (Pair 300 None))', - '--burn-cap', - '10', - ], - ) - bake(client) - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 1 None) (Pair 200 None))', - '--burn-cap', - '10', - ], - ) - bake(client) - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 1 (Some 2)) (Pair 0 (Some 1)))', - '--burn-cap', - '10', - ], - ) - bake(client) - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 400 (Some 1232)) (Pair 400 (Some 1232)))', - '--burn-cap', - '10', - ], - ) - bake(client) - client.transfer( - 1, - 'bootstrap1', - 'big_map_get_add', - [ - '--arg', - '(Pair (Pair 401 (Some 0)) (Pair 400 (Some 1232)))', - '--burn-cap', - '10', - ], - ) - bake(client) - - -@pytest.mark.regression -class TestMacroExpansion: - """Test expanding macros""" - - @pytest.mark.parametrize("contract", all_contracts(['macros'])) - def test_macro_expansion( - self, client_regtest: ClientRegression, contract: str - ): - """This test expands macros in all macro test contracts, with - regression detection enabled. This test should fail if the definition - of any macros change. - """ - client_regtest.expand_macros(path.join(CONTRACT_PATH, contract)) diff --git a/tests_python/tests_008/test_contract_onchain_opcodes.py b/tests_python/tests_008/test_contract_onchain_opcodes.py deleted file mode 100644 index 26fa6b61feab..000000000000 --- a/tests_python/tests_008/test_contract_onchain_opcodes.py +++ /dev/null @@ -1,1309 +0,0 @@ -from os import path - -import pytest -from tools.client_regression import ClientRegression -from tools import paths -from tools.utils import ( - assert_run_failure, - assert_storage_contains, - bake, - init_with_transfer, - assert_balance, -) -from tools.constants import IDENTITIES -from .contract_paths import OPCODES_CONTRACT_PATH, MINI_SCENARIOS_CONTRACT_PATH - -KEY1 = 'foo' -KEY2 = 'bar' - - -@pytest.mark.incremental -@pytest.mark.slow -@pytest.mark.contract -@pytest.mark.regression -class TestContractOnchainOpcodes: - """Tests for individual opcodes that requires origination.""" - - def test_gen_keys(self, client_regtest_scrubbed: ClientRegression): - """Add keys used by later tests.""" - client = client_regtest_scrubbed - client.gen_key(KEY1) - client.gen_key(KEY2) - - def test_store_input(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - client.transfer(1000, "bootstrap1", KEY1, ['--burn-cap', '0.257']) - bake(client) - - client.transfer(2000, "bootstrap1", KEY2, ['--burn-cap', '0.257']) - bake(client) - - assert_balance(client, KEY1, 1000) - assert_balance(client, KEY2, 2000) - - # Create a contract and transfer 100 ꜩ to it - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'store_input.tz'), - '""', - 100, - 'bootstrap1', - ) - - client.transfer( - 100, - "bootstrap1", - "store_input", - ["-arg", '"abcdefg"', '--burn-cap', '10'], - ) - bake(client) - - assert_balance(client, "store_input", 200) - - assert_storage_contains(client, "store_input", '"abcdefg"') - - client.transfer( - 100, - "bootstrap1", - "store_input", - ["-arg", '"xyz"', '--burn-cap', '10'], - ) - bake(client) - - assert_storage_contains(client, "store_input", '"xyz"') - - def test_transfer_amount(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'transfer_amount.tz'), - '0', - 100, - 'bootstrap1', - ) - - client.transfer( - 500, - "bootstrap1", - 'transfer_amount', - ['-arg', 'Unit', '--burn-cap', '10'], - ) - - bake(client) - - assert_storage_contains(client, "transfer_amount", '500000000') - - def test_now(self, client_regtest_scrubbed: ClientRegression): - # Regtest is disabled for this test, since one would need to - # scrub storage for this one as it changes (the timestamp) - # on every run. - client = client_regtest_scrubbed - client.set_regtest(None) - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'store_now.tz'), - '"2017-07-13T09:19:01Z"', - 100, - 'bootstrap1', - ) - - client.transfer( - 500, "bootstrap1", 'store_now', ['-arg', 'Unit', '--burn-cap', '10'] - ) - bake(client) - - assert_storage_contains(client, 'store_now', f'"{client.get_now()}"') - - def test_transfer_tokens(self, client_regtest_scrubbed: ClientRegression): - """Tests TRANSFER_TOKENS.""" - client = client_regtest_scrubbed - client.originate( - 'test_transfer_account1', - 100, - 'bootstrap1', - path.join(OPCODES_CONTRACT_PATH, 'noop.tz'), - ['--burn-cap', '10'], - ) - bake(client) - - client.originate( - 'test_transfer_account2', - 20, - 'bootstrap1', - path.join(OPCODES_CONTRACT_PATH, 'noop.tz'), - ['--burn-cap', '10'], - ) - bake(client) - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'transfer_tokens.tz'), - 'Unit', - 1000, - 'bootstrap1', - ) - - assert_balance(client, 'test_transfer_account1', 100) - - account1_addr = client.get_contract_address('test_transfer_account1') - client.transfer( - 100, - 'bootstrap1', - 'transfer_tokens', - ['-arg', f'"{account1_addr}"', '--burn-cap', '10'], - ) - bake(client) - - # Why isn't this 200 ꜩ? Baking fee? - assert_balance(client, 'test_transfer_account1', 200) - - account2_addr = client.get_contract_address('test_transfer_account2') - client.transfer( - 100, - 'bootstrap1', - 'transfer_tokens', - ['-arg', f'"{account2_addr}"', '--burn-cap', '10'], - ) - bake(client) - - assert_balance(client, 'test_transfer_account2', 120) - - def test_self(self, client_regtest_scrubbed: ClientRegression): - # Regtest is disabled for this test, since one would need to - # scrub storage for this one as it changes (the contract - # address) on every run. - client = client_regtest_scrubbed - client.set_regtest(None) - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'self.tz'), - '"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"', - 1000, - 'bootstrap1', - ) - - client.transfer(0, 'bootstrap1', 'self', ['--burn-cap', '10']) - bake(client) - - self_addr = client.get_contract_address('self') - assert_storage_contains(client, 'self', f'"{self_addr}"') - - def test_contract_fails(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - client.set_regtest(None) - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'contract.tz'), - 'Unit', - 1000, - 'bootstrap1', - ) - - client.transfer(0, 'bootstrap1', 'self', ['--burn-cap', '10']) - bake(client) - addr = client.get_contract_address('contract') - - with assert_run_failure(r'script reached FAILWITH instruction'): - client.transfer( - 0, - 'bootstrap1', - 'contract', - ['-arg', f'"{addr}"', '--burn-cap', '10'], - ) - - def test_init_proxy(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'proxy.tz'), - 'Unit', - 1000, - 'bootstrap1', - ) - - def test_source(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_store = IDENTITIES['bootstrap4']['identity'] - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'source.tz'), - f'"{init_store}"', - 1000, - 'bootstrap1', - ) - - # direct transfer to the contract - client.transfer(0, 'bootstrap2', 'source', ['--burn-cap', '10']) - bake(client) - - source_addr = IDENTITIES['bootstrap2']['identity'] - assert_storage_contains(client, 'source', f'"{source_addr}"') - - # indirect transfer to the contract through proxy - contract_addr = client.get_contract_address('source') - client.transfer( - 0, - 'bootstrap2', - 'proxy', - ['--burn-cap', '10', '--arg', f'"{contract_addr}"'], - ) - bake(client) - assert_storage_contains(client, 'source', f'"{source_addr}"') - - def test_sender(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - client.set_regtest(None) - - init_store = IDENTITIES['bootstrap4']['identity'] - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'sender.tz'), - f'"{init_store}"', - 1000, - 'bootstrap1', - ) - - # direct transfer to the contract - client.transfer(0, 'bootstrap2', 'sender', ['--burn-cap', '10']) - bake(client) - - sender_addr = IDENTITIES['bootstrap2']['identity'] - assert_storage_contains(client, 'sender', f'"{sender_addr}"') - - # indirect transfer to the contract through proxy - contract_addr = client.get_contract_address('sender') - proxy_addr = client.get_contract_address('proxy') - client.transfer( - 0, - 'bootstrap2', - 'proxy', - ['--burn-cap', '10', '--arg', f'"{contract_addr}"'], - ) - bake(client) - assert_storage_contains(client, 'sender', f'"{proxy_addr}"') - - def test_slice(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'slices.tz'), - '"sppk7dBPqMPjDjXgKbb5f7V3PuKUrA4Zuwc3c3H7XqQerqPUWbK7Hna"', - 1000, - 'bootstrap1', - ) - - @pytest.mark.parametrize( - 'contract_arg', - [ - line.rstrip('\n') - for line in open( - f'{paths.TEZOS_HOME}' - + '/tests_python/tests_008/' - + 'test_slice_fails_params.txt' - ) - ], - ) - def test_slice_fails( - self, client_regtest_scrubbed: ClientRegression, contract_arg: str - ): - client = client_regtest_scrubbed - - with assert_run_failure(r'script reached FAILWITH instruction'): - client.transfer( - 0, - 'bootstrap1', - 'slices', - ['-arg', contract_arg, '--burn-cap', '10'], - ) - # bake(client) - - @pytest.mark.parametrize( - 'contract_arg', - [ - line.rstrip('\n') - for line in open( - f'{paths.TEZOS_HOME}' - + '/tests_python/tests_008/' - + 'test_slice_success_params.txt' - ) - ], - ) - def test_slice_success( - self, client_regtest_scrubbed: ClientRegression, contract_arg: str - ): - client = client_regtest_scrubbed - client.transfer( - 0, - 'bootstrap1', - 'slices', - ['-arg', contract_arg, '--burn-cap', '10'], - ) - bake(client) - - def test_split_string(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'split_string.tz'), - '{}', - 1000, - 'bootstrap1', - ) - - client.transfer( - 0, - 'bootstrap1', - 'split_string', - ['-arg', '"abc"', '--burn-cap', '10'], - ) - bake(client) - assert_storage_contains(client, 'split_string', '{ "a" ; "b" ; "c" }') - - client.transfer( - 0, - 'bootstrap1', - 'split_string', - ['-arg', '"def"', '--burn-cap', '10'], - ) - bake(client) - assert_storage_contains( - client, 'split_string', '{ "a" ; "b" ; "c" ; "d" ; "e" ; "f" }' - ) - - def test_split_bytes(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'split_bytes.tz'), - '{}', - 1000, - 'bootstrap1', - ) - - client.transfer( - 0, - 'bootstrap1', - 'split_bytes', - ['-arg', '0xaabbcc', '--burn-cap', '10'], - ) - bake(client) - assert_storage_contains(client, 'split_bytes', '{ 0xaa ; 0xbb ; 0xcc }') - - client.transfer( - 0, - 'bootstrap1', - 'split_bytes', - ['-arg', '0xddeeff', '--burn-cap', '10'], - ) - bake(client) - assert_storage_contains( - client, 'split_bytes', '{ 0xaa ; 0xbb ; 0xcc ; 0xdd ; 0xee ; 0xff }' - ) - - def test_set_delegate(self, client_regtest_scrubbed: ClientRegression): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'set_delegate.tz'), - 'Unit', - 1000, - 'bootstrap1', - ) - bake(client) - - assert client.get_delegate('set_delegate').delegate is None - - addr = IDENTITIES['bootstrap5']['identity'] - client.transfer( - 0, 'bootstrap1', 'set_delegate', ['-arg', f'(Some "{addr}")'] - ) - bake(client) - - assert client.get_delegate('set_delegate').delegate == addr - - client.transfer(0, 'bootstrap1', 'set_delegate', ['-arg', 'None']) - bake(client) - - assert client.get_delegate('set_delegate').delegate is None - - @pytest.mark.parametrize( - 'contract', - [ - 'compare_big_type.tz', - 'compare_big_type2.tz', - ], - ) - def test_trace_origination(self, client_regtest_scrubbed, contract): - client = client_regtest_scrubbed - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, contract), - 'Unit', - 1000, - 'bootstrap1', - ) - bake(client) - - -@pytest.mark.incremental -class TestTickets: - """Tests for tickets.""" - - def test_ticket_user_forge(self, client): - bake(client) - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_store-2.tz'), - 'None', - 100, - 'bootstrap1', - 'storer', - ) - - # Create parameter by hand with a ticket type but no ticket in it - client.transfer( - 100, 'bootstrap1', 'storer', ['-arg', 'None', '--burn-cap', '10'] - ) - - with assert_run_failure(r'Unexpected forged value'): - # Create parameter by hand with a ticket in it - client.transfer( - 100, - 'bootstrap1', - 'storer', - ['-arg', 'Some 1', '--burn-cap', '10'], - ) - - with assert_run_failure(r'Unexpected forged value'): - # Create storage by hand with a ticket in it - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_bad.tz'), - '1', - 100, - 'bootstrap1', - 'ticket_bad', - ) - - def test_ticket_user_big_forge(self, client): - bake(client) - contract_name = 'big_storer' - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_big_store.tz'), - '{}', - 100, - 'bootstrap1', - contract_name, - ) - bake(client) - client.transfer( - 100, 'bootstrap1', contract_name, ['-arg', '42', '--burn-cap', '10'] - ) - bake(client) - storage = client.get_storage(contract_name) - - with assert_run_failure(r'Unexpected forged value'): - # Create a storage with the ID of a big map that has tickets in it - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_big_store.tz'), - storage, - 100, - 'bootstrap1', - 'thief', - ) - - with assert_run_failure(r'Unexpected forged value'): - # Create a storage with the ID of a big map that has tickets in it - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_big_store.tz'), - '(Pair ' + storage + ' {})', - 100, - 'bootstrap1', - 'thief', - ) - - def test_ticket_read(self, client): - """Test TICKETS""" - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticketer.tz'), - '42', - 100, - 'bootstrap1', - 'ticketer_read', - ) - bake(client) - ticketer_addr = client.get_contract_address('ticketer_read') - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_read.tz'), - '"' + ticketer_addr + '"', - 100, - 'bootstrap1', - 'reader', - ) - bake(client) - reader_addr = client.get_contract_address('reader') - client.transfer( - 100, - 'bootstrap1', - 'ticketer_read', - ['-arg', '"' + reader_addr + '"', '--burn-cap', '10'], - ) - bake(client) - assert_storage_contains(client, "reader", '"' + ticketer_addr + '"') - - def test_bad_ticket(self, client): - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticketer.tz'), - '42', - 100, - 'bootstrap1', - 'ticketer_bad', - ) - bake(client) - ticketer_addr = client.get_contract_address('ticketer_bad') - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_read.tz'), - '"' + ticketer_addr + '"', - 100, - 'bootstrap1', - 'reader_bad', - ) - bake(client) - with assert_run_failure(r'Unexpected forged value'): - client.transfer( - 100, - 'bootstrap1', - 'reader_bad', - ['-arg', '1', '--burn-cap', '10'], - ) - bake(client) - - def test_ticket_utxo(self, client): - """Test UTXOs""" - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'utxor.tz'), - '42', - 100, - 'bootstrap1', - ) - bake(client) - utxor_addr = client.get_contract_address('utxor') - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'utxo_read.tz'), - '"' + utxor_addr + '"', - 100, - 'bootstrap1', - "reader_a", - ) - bake(client) - reader_a_addr = client.get_contract_address('reader_a') - utxor_addr = client.get_contract_address('utxor') - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'utxo_read.tz'), - '"' + utxor_addr + '"', - 100, - 'bootstrap1', - "reader_b", - ) - bake(client) - reader_b_addr = client.get_contract_address('reader_b') - client.transfer( - 100, - 'bootstrap1', - 'utxor', - [ - '-arg', - '(Pair "' + reader_a_addr + '" "' + reader_b_addr + '")', - '--burn-cap', - '10', - ], - ) - bake(client) - - def test_ticket_split(self, client): - def ticket(target_addr, param, utxo_amount): - param = ( - '(Pair (Pair "' - + target_addr - + '" ' - + str(param) - + ') ' - + str(utxo_amount) - + ')' - ) - client.transfer( - 100, - 'bootstrap1', - 'ticketer', - ['-arg', param, '--burn-cap', '10'], - ) - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticketer-2.tz'), - 'Unit', - 100, - 'bootstrap1', - 'ticketer', - ) - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_split.tz'), - 'Unit', - 100, - 'bootstrap1', - 'splitter', - ) - bake(client) - splitter_addr = client.get_contract_address('splitter') - ticket(splitter_addr, 42, 3) - with assert_run_failure(r'script reached FAILWITH instruction'): - # Wrong Split Amount - ticket(splitter_addr, 42, 4) - bake(client) - - def test_ticket_join(self, client): - """Test JOIN""" - - def params(target_addr, utxo_amount, param): - return ( - '(Pair (Pair "' - + target_addr - + '" ' - + str(param) - + ') ' - + str(utxo_amount) - + ')' - ) - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticketer-2.tz'), - 'Unit', - 100, - 'bootstrap1', - 'ticketer_a', - ) - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticketer-2.tz'), - 'Unit', - 100, - 'bootstrap1', - 'ticketer_b', - ) - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'ticket_join.tz'), - 'None', - 100, - 'bootstrap1', - 'joiner', - ) - bake(client) - joiner_addr = client.get_contract_address('joiner') - client.transfer( - 100, - 'bootstrap1', - 'ticketer_a', - ['-arg', params(joiner_addr, 42, 1), '--burn-cap', '10'], - ) - bake(client) - client.transfer( - 100, - 'bootstrap1', - 'ticketer_a', - ['-arg', params(joiner_addr, 144, 1), '--burn-cap', '10'], - ) - bake(client) - with assert_run_failure(r'script reached FAILWITH instruction'): - # Different Ticketer - client.transfer( - 100, - 'bootstrap1', - 'ticketer_b', - ['-arg', params(joiner_addr, 23, 1), '--burn-cap', '10'], - ) - with assert_run_failure(r'script reached FAILWITH instruction'): - # Different Content - client.transfer( - 100, - 'bootstrap1', - 'ticketer_a', - ['-arg', params(joiner_addr, 21, 23), '--burn-cap', '10'], - ) - - def test_ticket_fungible_originations(self, client, session): - """Test the origination of builder and wallet contracts for fungible - tokens implemented using tickets.""" - - builder_path = path.join( - MINI_SCENARIOS_CONTRACT_PATH, 'ticket_builder_fungible.tz' - ) - - wallet_path = path.join( - MINI_SCENARIOS_CONTRACT_PATH, 'ticket_wallet_fungible.tz' - ) - - manager_address = IDENTITIES['bootstrap1']['identity'] - - builders = {} - wallets = {} - - # Helper functions - def originate_builder(name): - """Create a fungible token contract managed by bootstrap1.""" - origination = client.originate( - contract_name=f'builder_{name}', - amount="0", - sender='bootstrap1', - contract=builder_path, - args=['--init', f'"{manager_address}"', '--burn-cap', "10"], - ) - builders[name] = origination.contract - bake(client) - - def originate_wallet(name): - """Create a fungible token wallet managed by bootstrap1.""" - origination = client.originate( - contract_name=f'wallet_{name}', - amount="0", - sender='bootstrap1', - contract=wallet_path, - args=[ - '--init', - f'Pair "{manager_address}" {{}}', - '--burn-cap', - "10", - ], - ) - wallets[name] = origination.contract - bake(client) - - # Create 3 token contracts "A", "B", and "C". - originate_builder("A") - originate_builder("B") - originate_builder("C") - - # Create 2 wallets "Alice" and "Bob". - originate_wallet("Alice") - originate_wallet("Bob") - - session['fungible_builders'] = builders - session['fungible_wallets'] = wallets - - def test_ticket_fungible_transfers(self, client, session): - """Test the life cycle of fungible tokens implemented using tickets.""" - - manager_address = IDENTITIES['bootstrap1']['identity'] - - builders = session['fungible_builders'] - wallets = session['fungible_wallets'] - - def mint(builder, wallet, amount): - """Mint fungible tokens.""" - wallet_address = wallets[wallet] - parameter = f'(Pair "{wallet_address}%receive" {amount})' - client.transfer( - amount=0, - giver=manager_address, - receiver=f'builder_{builder}', - args=[ - '--burn-cap', - '2', - '--entrypoint', - 'mint', - '--arg', - parameter, - ], - ) - bake(client) - - def burn(builder, wallet, amount): - """Burn fungible tokens.""" - builder_addr = builders[builder] - parameter = f'Pair "{builder_addr}%burn" {amount} "{builder_addr}"' - client.transfer( - amount=0, - giver=manager_address, - receiver=f'wallet_{wallet}', - args=[ - '--burn-cap', - '2', - '--entrypoint', - 'send', - '--arg', - parameter, - ], - ) - bake(client) - - def transfer(builder, source_wallet, destination_wallet, amount): - """Transfer fungible tokens.""" - builder_addr = builders[builder] - dest_addr = wallets[destination_wallet] - parameter = f'Pair "{dest_addr}%receive" {amount} "{builder_addr}"' - client.transfer( - amount=0, - giver=manager_address, - receiver=f'wallet_{source_wallet}', - args=[ - '--burn-cap', - '2', - '--entrypoint', - 'send', - '--arg', - parameter, - ], - ) - bake(client) - - # 100A --> Alice - mint(builder="A", wallet="Alice", amount=100) - # 100B --> Alice - mint(builder="B", wallet="Alice", amount=100) - - # Fail: Alice --1C--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="C", - source_wallet="Alice", - destination_wallet="Bob", - amount=1, - ) - - # Fail: Alice --0C--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="C", - source_wallet="Alice", - destination_wallet="Bob", - amount=0, - ) - - # Fail: Alice --150A--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - amount=150, - ) - - # Fail: Bob --50A--> Alice - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Bob", - destination_wallet="Alice", - amount=50, - ) - - # Alice --50A--> Bob - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - amount=50, - ) - - # Alice --50A--> Bob - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - amount=50, - ) - - # Alice --0A--> Bob - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - amount=0, - ) - - # Fail: Alice --1A--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - amount=1, - ) - - # Bob --100A--> Bob - transfer( - builder="A", - source_wallet="Bob", - destination_wallet="Bob", - amount=100, - ) - - # Fail: Bob --150A--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Bob", - destination_wallet="Bob", - amount=150, - ) - - # Bob --100A--> - burn(builder="A", wallet="Bob", amount=100) - - # Bob --0A--> - burn(builder="A", wallet="Bob", amount=0) - - # Fail: Bob --1A--> - with assert_run_failure(r'script reached FAILWITH instruction'): - burn(builder="A", wallet="Bob", amount=1) - - def test_ticket_non_fungible_originations(self, client, session): - """Test the origination of builder and wallet contracts for - non-fungible tokens implemented using tickets.""" - - builder_path = path.join( - MINI_SCENARIOS_CONTRACT_PATH, 'ticket_builder_non_fungible.tz' - ) - - wallet_path = path.join( - MINI_SCENARIOS_CONTRACT_PATH, 'ticket_wallet_non_fungible.tz' - ) - - manager_address = IDENTITIES['bootstrap1']['identity'] - - builders = {} - wallets = {} - - # Helper functions - def originate_builder(name): - """Create a non-fungible token contract managed by bootstrap1.""" - storage = f'(Pair "{manager_address}" 0)' - origination = client.originate( - contract_name=f'nft_builder_{name}', - amount="0", - sender='bootstrap1', - contract=builder_path, - args=['--init', storage, '--burn-cap', "10"], - ) - builders[name] = origination.contract - bake(client) - - def originate_wallet(name): - """Create a non-fungible token wallet managed by bootstrap1.""" - origination = client.originate( - contract_name=f'nft_wallet_{name}', - amount="0", - sender='bootstrap1', - contract=wallet_path, - args=[ - '--init', - f'Pair "{manager_address}" {{}}', - '--burn-cap', - "10", - ], - ) - wallets[name] = origination.contract - bake(client) - - # Create 3 token contracts "A", "B", and "C". - originate_builder("A") - originate_builder("B") - originate_builder("C") - - # Create 2 wallets "Alice" and "Bob". - originate_wallet("Alice") - originate_wallet("Bob") - - session['non_fungible_builders'] = builders - session['non_fungible_wallets'] = wallets - - def test_ticket_non_fungible_transfers(self, client, session): - """Test the life cycle of non-fungible tokens implemented using - tickets.""" - - manager_address = IDENTITIES['bootstrap1']['identity'] - - builders = session['non_fungible_builders'] - wallets = session['non_fungible_wallets'] - - def mint(builder, wallet, token_id): - """Mint a non-fungible token and assert that it has the expected - id.""" - builder_alias = f'nft_builder_{builder}' - expected_builder_storage = f'Pair "{manager_address}" {token_id}' - actual_builder_storage = client.get_storage(builder_alias) - assert expected_builder_storage == actual_builder_storage - - wallet_address = wallets[wallet] - parameter = f'"{wallet_address}%receive"' - client.transfer( - amount=0, - giver=manager_address, - receiver=builder_alias, - args=[ - '--burn-cap', - '2', - '--entrypoint', - 'mint_destination', - '--arg', - parameter, - ], - ) - bake(client) - - def burn(builder, wallet, token_id): - """Burn a non-fungible token.""" - builder_addr = builders[builder] - parameter = ( - f'Pair "{builder_addr}%burn" "{builder_addr}" {token_id}' - ) - client.transfer( - amount=0, - giver=manager_address, - receiver=f'nft_wallet_{wallet}', - args=[ - '--burn-cap', - '2', - '--entrypoint', - 'send', - '--arg', - parameter, - ], - ) - bake(client) - - def transfer(builder, source_wallet, destination_wallet, token_id): - """Transfer fungible tokens.""" - builder_addr = builders[builder] - dest_addr = wallets[destination_wallet] - parameter = ( - f'Pair "{dest_addr}%receive" "{builder_addr}" {token_id}' - ) - client.transfer( - amount=0, - giver=manager_address, - receiver=f'nft_wallet_{source_wallet}', - args=[ - '--burn-cap', - '2', - '--entrypoint', - 'send', - '--arg', - parameter, - ], - ) - bake(client) - - # A0 --> Alice - mint(builder="A", wallet="Alice", token_id=0) - # A1 --> Alice - mint(builder="A", wallet="Alice", token_id=1) - # B0 --> Alice - mint(builder="B", wallet="Alice", token_id=0) - - # Fail: Alice --C0--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="C", - source_wallet="Alice", - destination_wallet="Bob", - token_id=0, - ) - - # Fail: Alice --A2--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - token_id=2, - ) - - # Fail: Bob --A0--> Alice - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Bob", - destination_wallet="Alice", - token_id=0, - ) - - # Fail: Bob --A1--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Bob", - destination_wallet="Bob", - token_id=1, - ) - - # Alice --A1--> Bob - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - token_id=1, - ) - - # Alice --A0--> Bob - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - token_id=0, - ) - - # Fail: Alice --A1--> Bob - with assert_run_failure(r'script reached FAILWITH instruction'): - transfer( - builder="A", - source_wallet="Alice", - destination_wallet="Bob", - token_id=1, - ) - - # Bob --A0--> Bob - transfer( - builder="A", - source_wallet="Bob", - destination_wallet="Bob", - token_id=0, - ) - - # Bob --A0--> - burn(builder="A", wallet="Bob", token_id=0) - - # Bob --A1--> - burn(builder="A", wallet="Bob", token_id=1) - - # Fail: Bob --B0--> - with assert_run_failure(r'script reached FAILWITH instruction'): - burn(builder="B", wallet="Bob", token_id=0) - - # Alice --B0--> - burn(builder="B", wallet="Alice", token_id=0) - - -ORIGINATE_BIG_MAP_FILE = path.join( - OPCODES_CONTRACT_PATH, 'originate_big_map.tz' -) - - -@pytest.mark.incremental -@pytest.mark.contract -@pytest.mark.regression -class TestContractBigMapOrigination: - def test_big_map_origination_literal(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - # originate a first version of the contract from a literal so - # that a big_map with id 0 exists - init_with_transfer( - client, - ORIGINATE_BIG_MAP_FILE, - '{Elt 0 0}', - 1000, - 'bootstrap1', - contract_name='originate_big_map_literal', - ) - - def test_big_map_origination_id(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - # originate again the same script from the big-map id 0 - with assert_run_failure(r'Unexpected forged value'): - init_with_transfer( - client, - ORIGINATE_BIG_MAP_FILE, - '0', - 1000, - 'bootstrap1', - contract_name='originate_big_map_id', - ) - - def test_big_map_origination_diff(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - - # originate again the same script from a big-diff - with assert_run_failure(r'Unexpected forged value'): - init_with_transfer( - client, - ORIGINATE_BIG_MAP_FILE, - 'Pair 0 {Elt 1 (Some 4)}', - 1000, - 'bootstrap1', - contract_name='originate_big_map_diff', - ) - - def test_big_map_transfer_id(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - # call the first contract, passing an id as parameter - with assert_run_failure(r'Unexpected forged value'): - client.call( - source='bootstrap1', - destination='originate_big_map_literal', - args=['--arg', '0'], - ) - - def test_big_map_transfer_diff(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - # call the first contract, passing a diff as parameter - with assert_run_failure(r'Unexpected forged value'): - client.call( - source='bootstrap1', - destination='originate_big_map_literal', - args=['--arg', 'Pair 0 {Elt 1 (Some 4)}'], - ) - - -@pytest.mark.incremental -@pytest.mark.slow -@pytest.mark.contract -@pytest.mark.regression -class TestContractOnchainLevel: - """Onchain tests for LEVEL.""" - - # This test needs to be in a separate class to not depend on the number - # of operations happening before - - def test_level(self, client_regtest_scrubbed): - client = client_regtest_scrubbed - - init_with_transfer( - client, - path.join(OPCODES_CONTRACT_PATH, 'level.tz'), - '9999999', - 100, - 'bootstrap1', - ) - bake(client) - client.transfer( - 500, "bootstrap1", 'level', ['-arg', 'Unit', '--burn-cap', '10'] - ) - bake(client) - level = client.get_level() - slevel = str(level) - assert_storage_contains(client, 'level', slevel) - bake(client) - bake(client) - # checks the storage hasn't changed even though the current level has - assert_storage_contains(client, 'level', slevel) - # Run again to check the storage gets updated - client.transfer( - 500, "bootstrap1", 'level', ['-arg', 'Unit', '--burn-cap', '10'] - ) - bake(client) - assert_storage_contains(client, 'level', str(level + 3)) diff --git a/tests_python/tests_008/test_contract_opcodes.py b/tests_python/tests_008/test_contract_opcodes.py deleted file mode 100644 index cd38691fe921..000000000000 --- a/tests_python/tests_008/test_contract_opcodes.py +++ /dev/null @@ -1,1905 +0,0 @@ -from os import path - -import pytest - -from tools.client_regression import ClientRegression -from tools.constants import IDENTITIES -from tools.utils import ( - assert_run_failure, - assert_run_script_failwith, - assert_run_script_success, -) -from .contract_paths import MINI_SCENARIOS_CONTRACT_PATH, OPCODES_CONTRACT_PATH - - -PUBLIC_KEY = IDENTITIES['bootstrap1']['public'] - - -@pytest.mark.slow -@pytest.mark.contract -@pytest.mark.regression -class TestContractOpcodes: - """Tests for individual opcodes that do not require origination.""" - - @pytest.mark.parametrize( - "contract,param,storage,expected", - [ # FORMAT: assert_output contract_file storage input expected_result - # TODO add tests for map_car.tz, subset.tz - # NB: noop.tz is tested in test_basic.sh - ('cons.tz', '{}', '10', '{ 10 }'), - ('cons.tz', '{ 10 }', '-5', '{ -5 ; 10 }'), - ('cons.tz', '{ -5 ; 10 }', '99', '{ 99 ; -5 ; 10 }'), - # Tests on Options - ('none.tz', 'Some 10', 'Unit', 'None'), - ('ret_int.tz', 'None', 'Unit', '(Some 300)'), - # Map block on lists - ('list_map_block.tz', '{0}', '{}', '{}'), - ( - 'list_map_block.tz', - '{0}', - '{ 1 ; 1 ; 1 ; 1 }', - '{ 1 ; 2 ; 3 ; 4 }', - ), - ( - 'list_map_block.tz', - '{0}', - '{ 1 ; 2 ; 3 ; 0 }', - '{ 1 ; 3 ; 5 ; 3 }', - ), - # Reverse a list - ('reverse.tz', '{""}', '{}', '{}'), - ( - 'reverse.tz', - '{""}', - '{ "c" ; "b" ; "a" }', - '{ "a" ; "b" ; "c" }', - ), - # Reverse using LOOP_LEFT - ('loop_left.tz', '{""}', '{}', '{}'), - ( - 'loop_left.tz', - '{""}', - '{ "c" ; "b" ; "a" }', - '{ "a" ; "b" ; "c" }', - ), - # Identity on strings - ('str_id.tz', 'None', '"Hello"', '(Some "Hello")'), - ('str_id.tz', 'None', '"abcd"', '(Some "abcd")'), - # Slice strings - ('slice.tz', 'None', 'Pair 0 0', 'None'), - ('slice.tz', 'Some "Foo"', 'Pair 10 5', 'None'), - ('slice.tz', 'Some "Foo"', 'Pair 0 0', '(Some "")'), - ('slice.tz', 'Some "Foo"', 'Pair 0 10', 'None'), - ('slice.tz', 'Some "Foo"', 'Pair 0 2', '(Some "Fo")'), - ('slice.tz', 'Some "Foo"', 'Pair 1 3', 'None'), - ('slice.tz', 'Some "Foo"', 'Pair 1 1', '(Some "o")'), - # Stress-test the failure case of slice for a - # non-trivial gas consumption - ( - 'slice.tz', - 'Some' + '"' + 'Foo' * 2000 + '"', - 'Pair 1 10000', - 'None', - ), - # Slice bytes - ('slice_bytes.tz', 'None', 'Pair 0 1', 'None'), - ('slice_bytes.tz', 'Some 0xaabbcc', 'Pair 0 0', '(Some 0x)'), - ('slice_bytes.tz', 'Some 0xaabbcc', 'Pair 0 1', '(Some 0xaa)'), - ('slice_bytes.tz', 'Some 0xaabbcc', 'Pair 1 1', '(Some 0xbb)'), - ('slice_bytes.tz', 'Some 0xaabbcc', 'Pair 1 2', '(Some 0xbbcc)'), - ('slice_bytes.tz', 'Some 0xaabbcc', 'Pair 1 3', 'None'), - ('slice_bytes.tz', 'Some 0xaabbcc', 'Pair 1 1', '(Some 0xbb)'), - # Stress-test the failure case of slice for a - # non-trivial gas consumption - ( - 'slice_bytes.tz', - 'Some 0x' + 'aabbcc' * 2000, - 'Pair 1 10000', - 'None', - ), - # Identity on pairs - ( - 'pair_id.tz', - 'None', - '(Pair True False)', - '(Some (Pair True False))', - ), - ( - 'pair_id.tz', - 'None', - '(Pair False True)', - '(Some (Pair False True))', - ), - ( - 'pair_id.tz', - 'None', - '(Pair True True)', - '(Some (Pair True True))', - ), - ( - 'pair_id.tz', - 'None', - '(Pair False False)', - '(Some (Pair False False))', - ), - # Tests CAR and CDR instructions - ('car.tz', '0', '(Pair 34 17)', '34'), - ('cdr.tz', '0', '(Pair 34 17)', '17'), - # Logical not - ('not.tz', 'None', 'True', '(Some False)'), - ('not.tz', 'None', 'False', '(Some True)'), - # Logical and - ('and.tz', 'None', '(Pair False False)', '(Some False)'), - ('and.tz', 'None', '(Pair False True)', '(Some False)'), - ('and.tz', 'None', '(Pair True False)', '(Some False)'), - ('and.tz', 'None', '(Pair True True)', '(Some True)'), - # Logical or - ('or.tz', 'None', '(Pair False False)', '(Some False)'), - ('or.tz', 'None', '(Pair False True)', '(Some True)'), - ('or.tz', 'None', '(Pair True False)', '(Some True)'), - ('or.tz', 'None', '(Pair True True)', '(Some True)'), - # Logical and - ('and_logical_1.tz', 'False', "(Pair False False)", 'False'), - ('and_logical_1.tz', 'False', "(Pair False True)", 'False'), - ('and_logical_1.tz', 'False', "(Pair True False)", 'False'), - ('and_logical_1.tz', 'False', "(Pair True True)", 'True'), - # Binary and - ('and_binary.tz', 'Unit', 'Unit', 'Unit'), - # Binary or - ('or_binary.tz', 'None', '(Pair 4 8)', '(Some 12)'), - ('or_binary.tz', 'None', '(Pair 0 8)', '(Some 8)'), - ('or_binary.tz', 'None', '(Pair 8 0)', '(Some 8)'), - ('or_binary.tz', 'None', '(Pair 15 4)', '(Some 15)'), - ('or_binary.tz', 'None', '(Pair 14 1)', '(Some 15)'), - ('or_binary.tz', 'None', '(Pair 7 7)', '(Some 7)'), - # Binary not - ('not_binary.tz', 'None', '(Left 0)', '(Some -1)'), - ('not_binary.tz', 'None', '(Left 8)', '(Some -9)'), - ('not_binary.tz', 'None', '(Left 7)', '(Some -8)'), - ('not_binary.tz', 'None', '(Left -9)', '(Some 8)'), - ('not_binary.tz', 'None', '(Left -8)', '(Some 7)'), - ('not_binary.tz', 'None', '(Right 0)', '(Some -1)'), - ('not_binary.tz', 'None', '(Right 8)', '(Some -9)'), - ('not_binary.tz', 'None', '(Right 7)', '(Some -8)'), - # XOR - ( - 'xor.tz', - 'None', - 'Left (Pair False False)', - '(Some (Left False))', - ), - ('xor.tz', 'None', 'Left (Pair False True)', '(Some (Left True))'), - ('xor.tz', 'None', 'Left (Pair True False)', '(Some (Left True))'), - ('xor.tz', 'None', 'Left (Pair True True)', '(Some (Left False))'), - ('xor.tz', 'None', 'Right (Pair 0 0)', '(Some (Right 0))'), - ('xor.tz', 'None', 'Right (Pair 0 1)', '(Some (Right 1))'), - ('xor.tz', 'None', 'Right (Pair 1 0)', '(Some (Right 1))'), - ('xor.tz', 'None', 'Right (Pair 1 1)', '(Some (Right 0))'), - ('xor.tz', 'None', 'Right (Pair 42 21)', '(Some (Right 63))'), - ('xor.tz', 'None', 'Right (Pair 42 63)', '(Some (Right 21))'), - # test shifts: LSL & LSR - ('shifts.tz', 'None', '(Left (Pair 8 1))', '(Some 16)'), - ('shifts.tz', 'None', '(Left (Pair 0 0))', '(Some 0)'), - ('shifts.tz', 'None', '(Left (Pair 0 1))', '(Some 0)'), - ('shifts.tz', 'None', '(Left (Pair 1 2))', '(Some 4)'), - ('shifts.tz', 'None', '(Left (Pair 15 2))', '(Some 60)'), - ('shifts.tz', 'None', '(Right (Pair 8 1))', '(Some 4)'), - ('shifts.tz', 'None', '(Right (Pair 0 0))', '(Some 0)'), - ('shifts.tz', 'None', '(Right (Pair 0 1))', '(Some 0)'), - ('shifts.tz', 'None', '(Right (Pair 1 2))', '(Some 0)'), - ('shifts.tz', 'None', '(Right (Pair 15 2))', '(Some 3)'), - # Concatenate all strings of a list into one string - ('concat_list.tz', '""', '{ "a" ; "b" ; "c" }', '"abc"'), - ('concat_list.tz', '""', '{}', '""'), - ( - 'concat_list.tz', - '""', - '{ "Hello" ; " " ; "World" ; "!" }', - '"Hello World!"', - ), - # Concatenate the bytes in storage with all bytes in the given list - ('concat_hello_bytes.tz', '{}', '{ 0xcd }', '{ 0xffcd }'), - ('concat_hello_bytes.tz', '{}', '{}', '{}'), - ( - 'concat_hello_bytes.tz', - '{}', - '{ 0xab ; 0xcd }', - '{ 0xffab ; 0xffcd }', - ), - # Identity on lists - ( - 'list_id.tz', - '{""}', - '{ "1" ; "2" ; "3" }', - '{ "1" ; "2" ; "3" }', - ), - ('list_id.tz', '{""}', '{}', '{}'), - ( - 'list_id.tz', - '{""}', - '{ "a" ; "b" ; "c" }', - '{ "a" ; "b" ; "c" }', - ), - ( - 'list_id_map.tz', - '{""}', - '{ "1" ; "2" ; "3" }', - '{ "1" ; "2" ; "3" }', - ), - ('list_id_map.tz', '{""}', '{}', '{}'), - ( - 'list_id_map.tz', - '{""}', - '{ "a" ; "b" ; "c" }', - '{ "a" ; "b" ; "c" }', - ), - # Identity on maps - ('map_id.tz', '{}', '{ Elt 0 1 }', '{ Elt 0 1 }'), - ('map_id.tz', '{}', '{ Elt 0 0 }', '{ Elt 0 0 }'), - ( - 'map_id.tz', - '{}', - '{ Elt 0 0 ; Elt 3 4 }', - '{ Elt 0 0 ; Elt 3 4 }', - ), - # Memberships in maps - ( - 'map_mem_nat.tz', - '(Pair { Elt 0 1 } None)', - '1', - '(Pair { Elt 0 1 } (Some False))', - ), - ('map_mem_nat.tz', '(Pair {} None)', '1', '(Pair {} (Some False))'), - ( - 'map_mem_nat.tz', - '(Pair { Elt 1 0 } None)', - '1', - '(Pair { Elt 1 0 } (Some True))', - ), - ( - 'map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '1', - '(Pair { Elt 1 4 ; Elt 2 11 } (Some True))', - ), - ( - 'map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '2', - '(Pair { Elt 1 4 ; Elt 2 11 } (Some True))', - ), - ( - 'map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '3', - '(Pair { Elt 1 4 ; Elt 2 11 } (Some False))', - ), - ( - 'map_mem_string.tz', - '(Pair { Elt "foo" 1 } None)', - '"bar"', - '(Pair { Elt "foo" 1 } (Some False))', - ), - ( - 'map_mem_string.tz', - '(Pair {} None)', - '"bar"', - '(Pair {} (Some False))', - ), - ( - 'map_mem_string.tz', - '(Pair { Elt "foo" 0 } None)', - '"foo"', - '(Pair { Elt "foo" 0 } (Some True))', - ), - ( - 'map_mem_string.tz', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)', - '"foo"', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True))', - ), - ( - 'map_mem_string.tz', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)', - '"bar"', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True))', - ), - ( - 'map_mem_string.tz', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)', - '"baz"', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False))', - ), - # Mapping over maps - ('map_map.tz', '{}', '10', '{}'), - ('map_map.tz', '{ Elt "foo" 1 }', '10', '{ Elt "foo" 11 }'), - ( - 'map_map.tz', - '{ Elt "bar" 5 ; Elt "foo" 1 }', - '15', - '{ Elt "bar" 20 ; Elt "foo" 16 }', - ), - # Memberships in big maps - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 0 1 } None)', - '1', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair {} None)', - '1', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 0 } None)', - '1', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '1', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '2', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '3', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_string.tz', - '(Pair { Elt "foo" 1 } None)', - '"bar"', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_string.tz', - '(Pair {} None)', - '"bar"', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_string.tz', - '(Pair { Elt "foo" 0 } None)', - '"foo"', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_string.tz', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)', - '"foo"', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_string.tz', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)', - '"bar"', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_string.tz', - '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)', - '"baz"', - '(Pair 0 (Some False))', - ), - # Memberships in big maps - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 0 1 } None)', - '1', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair {} None)', - '1', - '(Pair 0 (Some False))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 0 } None)', - '1', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '1', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '2', - '(Pair 0 (Some True))', - ), - ( - 'big_map_mem_nat.tz', - '(Pair { Elt 1 4 ; Elt 2 11 } None)', - '3', - '(Pair 0 (Some False))', - ), - # Identity on sets - ('set_id.tz', '{}', '{ "a" ; "b" ; "c" }', '{ "a" ; "b" ; "c" }'), - ('set_id.tz', '{}', '{}', '{}'), - ('set_id.tz', '{}', '{ "asdf" ; "bcde" }', '{ "asdf" ; "bcde" }'), - # List concat - ('list_concat.tz', '"abc"', '{ "d" ; "e" ; "f" }', '"abcdef"'), - ('list_concat.tz', '"abc"', '{}', '"abc"'), - ( - 'list_concat_bytes.tz', - '0x00ab', - '{ 0xcd ; 0xef ; 0x00 }', - '0x00abcdef00', - ), - ( - 'list_concat_bytes.tz', - '0x', - '{ 0x00 ; 0x11 ; 0x00 }', - '0x001100', - ), - ('list_concat_bytes.tz', '0xabcd', '{}', '0xabcd'), - ('list_concat_bytes.tz', '0x', '{}', '0x'), - # List iter - ('list_iter.tz', '0', '{ 10 ; 2 ; 1 }', '20'), - ('list_iter.tz', '0', '{ 3 ; 6 ; 9 }', '162'), - # List size - ('list_size.tz', '111', '{}', '0'), - ('list_size.tz', '111', '{ 1 }', '1'), - ('list_size.tz', '111', '{ 1 ; 2 ; 3 }', '3'), - ('list_size.tz', '111', '{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }', '6'), - # Set member -- set is in storage - ( - 'set_member.tz', - '(Pair {} None)', - '"Hi"', - '(Pair {} (Some False))', - ), - ( - 'set_member.tz', - '(Pair { "Hi" } None)', - '"Hi"', - '(Pair { "Hi" } (Some True))', - ), - ( - 'set_member.tz', - '(Pair { "Hello" ; "World" } None)', - '""', - '(Pair { "Hello" ; "World" } (Some False))', - ), - # Set size - ('set_size.tz', '111', '{}', '0'), - ('set_size.tz', '111', '{ 1 }', '1'), - ('set_size.tz', '111', '{ 1 ; 2 ; 3 }', '3'), - ('set_size.tz', '111', '{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }', '6'), - # Set iter - ('set_iter.tz', '111', '{}', '0'), - ('set_iter.tz', '111', '{ 1 }', '1'), - ('set_iter.tz', '111', '{ -100 ; 1 ; 2 ; 3 }', '-94'), - # Map size - ('map_size.tz', '111', '{}', '0'), - ('map_size.tz', '111', '{ Elt "a" 1 }', '1'), - ( - 'map_size.tz', - '111', - '{ Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 }', - '3', - ), - ( - 'map_size.tz', - '111', - '{ Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; \ - Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 }', - '6', - ), - # Contains all elements -- does the second list contain - # all of the same elements as the first one? I'm ignoring - # element multiplicity - ('contains_all.tz', 'None', '(Pair {} {})', '(Some True)'), - ( - 'contains_all.tz', - 'None', - '(Pair { "c" } { "B" })', - '(Some False)', - ), - ( - 'contains_all.tz', - 'None', - '(Pair { "A" } { "B" })', - '(Some False)', - ), - ( - 'contains_all.tz', - 'None', - '(Pair { "B" } { "B" })', - '(Some True)', - ), - ( - 'contains_all.tz', - 'None', - '(Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" })', - '(Some True)', - ), - ( - 'contains_all.tz', - 'None', - '(Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" })', - '(Some True)', - ), - # Concatenate the string in storage with all strings in - # the given list - ('concat_hello.tz', '{}', '{ "World!" }', '{ "Hello World!" }'), - ('concat_hello.tz', '{}', '{}', '{}'), - ( - 'concat_hello.tz', - '{}', - '{ "test1" ; "test2" }', - '{ "Hello test1" ; "Hello test2" }', - ), - # Create an empty map and add a string to it - ('empty_map.tz', '{}', 'Unit', '{ Elt "hello" "world" }'), - # Get the value stored at the given key in the map - ( - 'get_map_value.tz', - '(Pair None { Elt "hello" "hi" })', - '"hello"', - '(Pair (Some "hi") { Elt "hello" "hi" })', - ), - ( - 'get_map_value.tz', - '(Pair None { Elt "hello" "hi" })', - '""', - '(Pair None { Elt "hello" "hi" })', - ), - ( - 'get_map_value.tz', - '(Pair None { Elt "1" "one" ; \ - Elt "2" "two" })', - '"1"', - '(Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" })', - ), - # Get and update the value stored at the given key in the map - ( - 'get_and_update_map.tz', - '(Pair None {})', - '"hello"', - '(Pair None {})', - ), - ( - 'get_and_update_map.tz', - '(Pair (Some 4) {})', - '"hello"', - '(Pair None { Elt "hello" 4 })', - ), - ( - 'get_and_update_map.tz', - '(Pair None { Elt "hello" 4 })', - '"hello"', - '(Pair (Some 4) {})', - ), - ( - 'get_and_update_map.tz', - '(Pair (Some 5) { Elt "hello" 4 })', - '"hello"', - '(Pair (Some 4) { Elt "hello" 5 })', - ), - ( - 'get_and_update_map.tz', - '(Pair (Some 5) { Elt "hello" 4 })', - '"hi"', - '(Pair None { Elt "hello" 4 ; Elt "hi" 5 })', - ), - ( - 'get_and_update_map.tz', - '(Pair None { Elt "1" 1 ; \ - Elt "2" 2 })', - '"1"', - '(Pair (Some 1) { Elt "2" 2 })', - ), - ( - 'get_and_update_map.tz', - '(Pair None { Elt "1" 1 ; \ - Elt "2" 2 })', - '"1"', - '(Pair (Some 1) { Elt "2" 2 })', - ), - # Map iter - ( - 'map_iter.tz', - '(Pair 0 0)', - '{ Elt 0 100 ; Elt 2 100 }', - '(Pair 2 200)', - ), - ( - 'map_iter.tz', - '(Pair 0 0)', - '{ Elt 1 1 ; Elt 2 100 }', - '(Pair 3 101)', - ), - # Return True if True branch of if was taken and False otherwise - ('if.tz', 'None', 'True', '(Some True)'), - ('if.tz', 'None', 'False', '(Some False)'), - # Generate a pair of or types - ('left_right.tz', '(Left "X")', '(Left True)', '(Right True)'), - ('left_right.tz', '(Left "X")', '(Right "a")', '(Left "a")'), - # Reverse a list - ('reverse_loop.tz', '{""}', '{}', '{}'), - ( - 'reverse_loop.tz', - '{""}', - '{ "c" ; "b" ; "a" }', - '{ "a" ; "b" ; "c" }', - ), - # Exec concat contract - ('exec_concat.tz', '"?"', '""', '"_abc"'), - ('exec_concat.tz', '"?"', '"test"', '"test_abc"'), - # Get the current balance of the contract - ('balance.tz', '111', 'Unit', '4000000000000'), - # Get the current level of the block - # Test the produced variable annotation - ('level.tz', '111', 'Unit', '1'), - # Test addition and subtraction on tez - ( - 'tez_add_sub.tz', - 'None', - '(Pair 2000000 1000000)', - '(Some (Pair 3000000 1000000))', - ), - ( - 'tez_add_sub.tz', - 'None', - '(Pair 2310000 1010000)', - '(Some (Pair 3320000 1300000))', - ), - # Test various additions - ('add.tz', 'Unit', 'Unit', 'Unit'), - # Test ABS - ('abs.tz', 'Unit', '12039123919239192312931', 'Unit'), - ('abs.tz', 'Unit', '0', 'Unit'), - ('abs.tz', 'Unit', '948', 'Unit'), - # Test INT - ('int.tz', 'None', '0', '(Some 0)'), - ('int.tz', 'None', '1', '(Some 1)'), - ('int.tz', 'None', '9999', '(Some 9999)'), - # Test DIP - ('dip.tz', '(Pair 0 0)', '(Pair 15 9)', '(Pair 15 24)'), - ('dip.tz', '(Pair 0 0)', '(Pair 1 1)', '(Pair 1 2)'), - # Test get first element of list - ('first.tz', '111', '{ 1 ; 2 ; 3 ; 4 }', '1'), - ('first.tz', '111', '{ 4 }', '4'), - # Hash input string - # Test assumed to be correct -- hash is based on encoding of AST - ( - 'hash_string.tz', - '0x00', - '"abcdefg"', - '0x46fdbcb4ea4eadad5615c' - + 'daa17d67f783e01e21149ce2b27de497600b4cd8f4e', - ), - ( - 'hash_string.tz', - '0x00', - '"12345"', - '0xb4c26c20de52a4eaf0d8a34' - + '0db47ad8cb1e74049570859c9a9a3952b204c772f', - ), - # IF_SOME - ('if_some.tz', '"?"', '(Some "hello")', '"hello"'), - ('if_some.tz', '"?"', 'None', '""'), - # Tests the SET_CAR and SET_CDR instructions - ('set_car.tz', '(Pair "hello" 0)', '"world"', '(Pair "world" 0)'), - ('set_car.tz', '(Pair "hello" 0)', '"abc"', '(Pair "abc" 0)'), - ('set_car.tz', '(Pair "hello" 0)', '""', '(Pair "" 0)'), - ('set_cdr.tz', '(Pair "hello" 0)', '1', '(Pair "hello" 1)'), - ('set_cdr.tz', '(Pair "hello" 500)', '3', '(Pair "hello" 3)'), - ('set_cdr.tz', '(Pair "hello" 7)', '100', '(Pair "hello" 100)'), - # Convert a public key to a public key hash - ( - 'hash_key.tz', - 'None', - '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"', - '(Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")', - ), - ( - 'hash_key.tz', - 'None', - '"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES"', - '(Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")', - ), - # Test timestamp operations - ( - 'add_timestamp_delta.tz', - 'None', - '(Pair 100 100)', - '(Some "1970-01-01T00:03:20Z")', - ), - ( - 'add_timestamp_delta.tz', - 'None', - '(Pair 100 -100)', - '(Some "1970-01-01T00:00:00Z")', - ), - ( - 'add_timestamp_delta.tz', - 'None', - '(Pair "1970-01-01T00:00:00Z" 0)', - '(Some "1970-01-01T00:00:00Z")', - ), - ( - 'add_delta_timestamp.tz', - 'None', - '(Pair 100 100)', - '(Some "1970-01-01T00:03:20Z")', - ), - ( - 'add_delta_timestamp.tz', - 'None', - '(Pair -100 100)', - '(Some "1970-01-01T00:00:00Z")', - ), - ( - 'add_delta_timestamp.tz', - 'None', - '(Pair 0 "1970-01-01T00:00:00Z")', - '(Some "1970-01-01T00:00:00Z")', - ), - ( - 'sub_timestamp_delta.tz', - '111', - '(Pair 100 100)', - '"1970-01-01T00:00:00Z"', - ), - ( - 'sub_timestamp_delta.tz', - '111', - '(Pair 100 -100)', - '"1970-01-01T00:03:20Z"', - ), - ( - 'sub_timestamp_delta.tz', - '111', - '(Pair 100 2000000000000000000)', - '-1999999999999999900', - ), - ('diff_timestamps.tz', '111', '(Pair 0 0)', '0'), - ('diff_timestamps.tz', '111', '(Pair 0 1)', '-1'), - ('diff_timestamps.tz', '111', '(Pair 1 0)', '1'), - ( - 'diff_timestamps.tz', - '111', - '(Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z")', - '200', - ), - # Test pack/unpack - ( - 'packunpack_rev.tz', - 'Unit', - '(Pair -1 (Pair 1 (Pair "foobar" (Pair 0x00AABBCC (Pair 1000 ' - + '(Pair False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ' - + '(Pair "2019-09-09T08:35:33Z" ' - + '"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"))))))))', - 'Unit', - ), - ( - 'packunpack_rev.tz', - 'Unit', - '(Pair -1 (Pair 1 (Pair "foobar" (Pair 0x00AABBCC (Pair 1000 ' - + '(Pair False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ' - + '(Pair "2019-09-09T08:35:33Z" ' - + '"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"))))))))', - 'Unit', - ), - ( - 'packunpack_rev_cty.tz', - 'Unit', - '(Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9' - + 'sDVC9yav" (Pair Unit (Pair "edsigthTzJ8X7MPmNeEwybRAv' - + 'dxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8' - + 'V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmN' - + 'eEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5' - + 'CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } (Pair' - + ' { True } (Pair (Pair 19 10) (Pair (Left "tz1cxcwwnz' - + 'ENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; El' - + 't 1 "bar" } { PACK } )))))))))', - 'Unit', - ), - ( - 'packunpack_rev_cty.tz', - 'Unit', - '(Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9' - + 'sDVC9yav" (Pair Unit (Pair "edsigthTzJ8X7MPmNeEwybRAv' - + 'dxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8' - + 'V2w8ayB5dMJzrYCHhD8C7" (Pair None (Pair { } (Pair {' - + ' } (Pair (Pair 40 -10) (Pair (Right "2019-09-09T08:' - + '35:33Z") (Pair { } { DUP ; DROP ; PACK } )))))))))', - 'Unit', - ), - # Test EDIV on nat and int - ( - 'ediv.tz', - '(Pair None None None None)', - '(Pair 10 -3)', - '(Pair (Some (Pair -3 1)) (Some (Pair 3 1)) ' - + '(Some (Pair -3 1)) (Some (Pair 3 1)))', - ), - ( - 'ediv.tz', - '(Pair None None None None)', - '(Pair 10 0)', - '(Pair None None None None)', - ), - ( - 'ediv.tz', - '(Pair None None None None)', - '(Pair -8 2)', - '(Pair (Some (Pair -4 0)) (Some (Pair -4 0)) ' - + '(Some (Pair 4 0)) (Some (Pair 4 0)))', - ), - # Test EDIV on mutez - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 10 (Left 10))', - '(Left (Some (Pair 1 0)))', - ), - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 10 (Left 3))', - '(Left (Some (Pair 3 1)))', - ), - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 10 (Left 0))', - '(Left None)', - ), - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 10 (Right 10))', - '(Right (Some (Pair 1 0)))', - ), - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 10 (Right 3))', - '(Right (Some (Pair 3 1)))', - ), - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 10 (Right 0))', - '(Right None)', - ), - ( - 'ediv_mutez.tz', - '(Left None)', - '(Pair 5 (Right 10))', - '(Right (Some (Pair 0 5)))', - ), - # Test compare - ('compare.tz', 'Unit', 'Unit', 'Unit'), - # Test comparison combinators: - # GT, GE, LT, LE, NEQ, EQ - ( - 'comparisons.tz', - '{}', - '{ -9999999; -1 ; 0 ; 1 ; 9999999 }', - '{ ' + '{ False ; False ; False ; True ; True } ;' - "\n" - ' { False ; False ; True ; True ; True } ;' - "\n" - ' { True ; True ; False ; False ; False } ;' - "\n" - ' { True ; True ; True ; False ; False } ;' - "\n" - ' { True ; True ; False ; True ; True } ;' - "\n" - ' { False ; False ; True ; False ; False }' - ' }', - ), - # Test ADDRESS - ( - 'address.tz', - 'None', - '"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"', - '(Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")', - ), - # Test (CONTRACT unit) - ( - 'contract.tz', - 'Unit', - '"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"', - 'Unit', - ), - # Test create_contract - ( - 'create_contract.tz', - 'None', - 'Unit', - '(Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")', - ), - # Test multiplication - success case (no overflow) - # Failure case is tested in m̀ul_overflow.tz - ('mul.tz', 'Unit', 'Unit', 'Unit'), - # Test NEG - ('neg.tz', '0', '(Left 2)', '-2'), - ('neg.tz', '0', '(Right 2)', '-2'), - ('neg.tz', '0', '(Left 0)', '0'), - ('neg.tz', '0', '(Right 0)', '0'), - ('neg.tz', '0', '(Left -2)', '2'), - # Test DIGN, DUGN, DROPN, DIPN - ('dign.tz', '0', '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)', '5'), - ('dugn.tz', '0', '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)', '1'), - ('dropn.tz', '0', '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)', '5'), - ('dipn.tz', '0', '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)', '6'), - # Test DIGN 17 times. - ( - 'dig_eq.tz', - 'Unit', - '(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pair 13 (Pair 12' - + ' (Pair 11 (Pair 10 (Pair 9 (Pair 8 (Pair 7 (Pair 6 (P' - + 'air 5 (Pair 4 (Pair 3 (Pair 2 1))))))))))))))))', - 'Unit', - ), - ( - 'dig_eq.tz', - 'Unit', - '(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair 10 (Pair 14 (' - + 'Pair 19 (Pair 9 (Pair 18 (Pair 6 (Pair 8 (Pair 11 (Pa' - + 'ir 4 (Pair 13 (Pair 15 (Pair 5 1))))))))))))))))', - 'Unit', - ), - # Test Partial Exec - ('pexec.tz', '14', '38', '52'), - ('pexec_2.tz', "{ 0 ; 1 ; 2 ; 3}", '4', "{ 0 ; 7 ; 14 ; 21 }"), - # Test CHAIN_ID - ('chain_id_store.tz', 'None', 'Unit', '(Some "NetXdQprcVkpaWU")'), - ( - 'chain_id_store.tz', - '(Some 0x7a06a770)', - 'Unit', - '(Some "NetXdQprcVkpaWU")', - ), - ( - 'chain_id_store.tz', - '(Some "NetXdQprcVkpaWU")', - 'Unit', - '(Some "NetXdQprcVkpaWU")', - ), - # Test SELF - ('self_with_entrypoint.tz', 'Unit', 'Left (Left 0)', 'Unit'), - ('self_with_default_entrypoint.tz', 'Unit', 'Unit', 'Unit'), - # Test SELF_ADDRESS - ('self_address.tz', 'Unit', 'Unit', 'Unit'), - # Test UNPAIR - ('unpair.tz', 'Unit', 'Unit', 'Unit'), - # Test VOTING_POWER - ( - 'voting_power.tz', - '(Pair 0 0)', - f'"{PUBLIC_KEY}"', - '(Pair 500 2500)', - ), - # Test KECCAK - ( - 'keccak.tz', - 'None', - f'0x{b"Hello, world!".hex()}', - '(Some 0xb6e16d27ac5ab427a7f68900ac5559ce2' - + '72dc6c37c82b3e052246c82244c50e4)', - ), - # Test SHA3 - ( - 'sha3.tz', - 'None', - f'0x{b"Hello, world!".hex()}', - '(Some 0xf345a219da005ebe9c1a1eaad97bbf38' - + 'a10c8473e41d0af7fb617caa0c6aa722)', - ), - # Test COMBs - ('comb.tz', '(Pair 0 0 0)', 'Unit', '(Pair 1 2 3)'), - ('uncomb.tz', '0', '(Pair 1 4 2)', '142'), - ('comb-get.tz', 'Unit', '(Pair 1 4 2 Unit)', 'Unit'), - ('comb-set.tz', '(Pair 1 4 2 Unit)', 'Unit', '(Pair 2 12 8 Unit)'), - ( - 'comb-set-2.tz', - 'None', - '(Pair 1 4 2 Unit)', - '(Some (Pair 2 4 "toto" 0x01))', - ), - # Test DUP n - ('dup-n.tz', 'Unit', 'Unit', 'Unit'), - # Test Sapling - ('sapling_empty_state.tz', '{}', 'Unit', '0'), - # Test building Fr element from nat. - # The initial storage is dropped then any value is valid. - # Random values can be generated using the following OCaml program. - # let r = Bls12_381.Fr.(random ()) in - # let x = Bls12_381.Fr.random () in - # Printf.printf "Param = (Pair %s 0x%s). Result = 0x%s" - # (Bls12_381.Fr.to_string r) - # (Hex.(show (of_bytes (Bls12_381.Fr.to_bytes x)))) - # (Hex.(show (of_bytes (Bls12_381.Fr.(to_bytes (mul r x)))))) - ( - 'bls12_381_fr_z_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '0', - '0x00000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '1', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - # The natural is 1 in Fr. - ( - 'bls12_381_fr_z_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '524358751751261904794477405081859658376905525005276378226036' - '58699938581184514', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '2', - '0x02000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_nat.tz', - '0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c' - + '5401f', - '3364491663033484423912034843462646864953418677080980279259699' - + '6408934105684394', - '0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca91' - + '8a221', - ), - ( - 'bls12_381_fr_z_nat.tz', - '0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfc' - + 'dbe3f', - '2262028481792278490256467246991799299632821112798447289749169' - + '8543785655336309', - '0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe6' - + '77c62', - ), - ( - 'bls12_381_fr_z_nat.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '1718009307279455880617703583439793220591757728848373965251048' - + '2486858834123369', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - # Same than previous one, but we added the order to the natural to - # verify the modulo is computed correctly and the multiplication - # computation does not fail. - ( - 'bls12_381_fr_z_nat.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '69615968247920749285624776342583898043608129789011377475114141' - + '186797415307882', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - # Test with (positive and negative) integers. - ( - 'bls12_381_fr_z_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '0', - '0x00000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '1', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '524358751751261904794477405081859658376905525005276378226036' - '58699938581184514', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '2', - '0x02000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c' - + '5401f', - '3364491663033484423912034843462646864953418677080980279259699' - + '6408934105684394', - '0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca91' - + '8a221', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfc' - + 'dbe3f', - '2262028481792278490256467246991799299632821112798447289749169' - + '8543785655336309', - '0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe6' - + '77c62', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '1718009307279455880617703583439793220591757728848373965251048' - + '2486858834123369', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - # Same than previous one, but we added the order to the natural to - # verify the modulo is computed correctly and the multiplication - # computation does not fail. - ( - 'bls12_381_fr_z_int.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '69615968247920749285624776342583898043608129789011377475114141' - + '186797415307882', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '-1', - '0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953' - + 'a7ed73', - ), - ( - 'bls12_381_fr_z_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '-42', - '0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a' - + '7ed73', - ), - # Test building Fr element from nat. - # The initial storage is dropped then any value is valid. - # Random values can be generated using the following OCaml program. - # let r = Bls12_381.Fr.(random ()) in - # let x = Bls12_381.Fr.random () in - # Printf.printf "Param = (Pair %s 0x%s). Result = 0x%s" - # (Bls12_381.Fr.to_string r) - # (Hex.(show (of_bytes (Bls12_381.Fr.to_bytes x)))) - # (Hex.(show (of_bytes (Bls12_381.Fr.(to_bytes (mul r x)))))) - ( - 'bls12_381_z_fr_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '0', - '0x00000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '1', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - # The natural is 1 in Fr. - ( - 'bls12_381_z_fr_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '524358751751261904794477405081859658376905525005276378226036' - '58699938581184514', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_nat.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '2', - '0x02000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_nat.tz', - '0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c' - + '5401f', - '3364491663033484423912034843462646864953418677080980279259699' - + '6408934105684394', - '0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca91' - + '8a221', - ), - ( - 'bls12_381_z_fr_nat.tz', - '0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfc' - + 'dbe3f', - '2262028481792278490256467246991799299632821112798447289749169' - + '8543785655336309', - '0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe6' - + '77c62', - ), - ( - 'bls12_381_z_fr_nat.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '1718009307279455880617703583439793220591757728848373965251048' - + '2486858834123369', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - # Same than previous one, but we added the order to the natural to - # verify the modulo is computed correctly and the multiplication - # computation does not fail. - ( - 'bls12_381_z_fr_nat.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '69615968247920749285624776342583898043608129789011377475114141' - + '186797415307882', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - # Test with (positive and negative) integers. - ( - 'bls12_381_z_fr_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '0', - '0x00000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '1', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '524358751751261904794477405081859658376905525005276378226036' - '58699938581184514', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '2', - '0x02000000000000000000000000000000000000000000000000000000000' - + '00000', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c' - + '5401f', - '3364491663033484423912034843462646864953418677080980279259699' - + '6408934105684394', - '0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca91' - + '8a221', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfc' - + 'dbe3f', - '2262028481792278490256467246991799299632821112798447289749169' - + '8543785655336309', - '0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe6' - + '77c62', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '1718009307279455880617703583439793220591757728848373965251048' - + '2486858834123369', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '-1', - '0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953' - + 'a7ed73', - ), - ( - 'bls12_381_z_fr_int.tz', - '0x01000000000000000000000000000000000000000000000000000000000' - + '00000', - '-42', - '0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a' - + '7ed73', - ), - # Same than previous one, but we added the order to the natural to - # verify the modulo is computed correctly and the multiplication - # computation does not fail. - ( - 'bls12_381_z_fr_int.tz', - '0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7' - + 'fcf2d', - '69615968247920749285624776342583898043608129789011377475114141' - + '186797415307882', - '0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddec' - + 'bf221', - ), - # Test Fr bytes can be pushed without being padded - ( - 'add_bls12_381_fr.tz', - 'None', - 'Pair 0x00 0x00', - '(Some 0x000000000000000000000000000000000000000000000000000000' - + '0000000000)', - ), - ( - 'add_bls12_381_fr.tz', - 'None', - 'Pair 0x01 0x00', - '(Some 0x010000000000000000000000000000000000000000000000000000' - + '0000000000)', - ), - ( - 'add_bls12_381_fr.tz', - 'None', - 'Pair 0x010000 0x00', - '(Some 0x010000000000000000000000000000000000000000000000000000' - + '0000000000)', - ), - ( - 'add_bls12_381_fr.tz', - 'None', - 'Pair 0x010000 0x010000', - '(Some 0x020000000000000000000000000000000000000000000000000000' - + '0000000000)', - ), - ( - 'bls12_381_fr_push_bytes_not_padded.tz', - 'None', - 'Unit', - '(Some 0x000000000000000000000000000000000000000000000000000000' - + '0000000000)', - ), - ( - 'bls12_381_fr_push_nat.tz', - 'None', - 'Unit', - '(Some 0x100000000000000000000000000000000000000000000000000000' - + '0000000000)', - ), - ('bls12_381_fr_to_int.tz', '0', '0x00', '0'), - ('bls12_381_fr_to_int.tz', '0', '0x01', '1'), - # Generated using - # let r = Bls12_381.Fr.(random ()) in - # Printf.printf "%s = 0x%s" - # (Bls12_381.Fr.to_string r) - # (Hex.(show (of_bytes (Bls12_381.Fr.to_bytes r)))) - ( - 'bls12_381_fr_to_int.tz', - '0', - '0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9' - + 'af16c27', - '1783268807701357777652478449446472851821391321341286660405373' - + '5695200962927400', - ), - ( - 'bls12_381_fr_to_int.tz', - '0', - '0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c' - + '0b0719', - '1132026582925658583078152196614952946047676740821044523890286' - + '9222031333517497', - ), - # Mutez -> Fr - ( - 'mutez_to_bls12_381_fr.tz', - '0x02', - '16', - '0x100000000000000000000000000000000000000000000000000000000' - + '0000000', - ), - # # would fail if trying to PACK mutez and UNPACK to Fr - ( - 'mutez_to_bls12_381_fr.tz', - '0x00', - '257', - '0x010100000000000000000000000000000000000000000000000000000' - + '0000000', - ), - # Fr -> Mutez - ('bls12_381_fr_to_mutez.tz', '0', '0x10', '16'), - ], - ) - def test_contract_input_output( - self, - client_regtest: ClientRegression, - contract: str, - param: str, - storage: str, - expected: str, - ): - client = client_regtest - assert contract.endswith( - '.tz' - ), "test contract should have .tz extension" - contract = path.join(OPCODES_CONTRACT_PATH, contract) - run_script_res = client.run_script( - contract, param, storage, trace_stack=True - ) - assert run_script_res.storage == expected - - @pytest.mark.parametrize("balance", [0, 0.000001, 0.5, 1, 5, 1000, 8e12]) - def test_balance(self, client_regtest: ClientRegression, balance: float): - client = client_regtest - contract = 'balance.tz' - contract = path.join(OPCODES_CONTRACT_PATH, contract) - run_script_res = client.run_script( - contract, '0', 'Unit', balance=balance, trace_stack=True - ) - assert run_script_res.storage == str(int(1000000 * balance)) - - @pytest.mark.parametrize( - "contract,param,storage,expected,big_map_diff", - [ # FORMAT: assert_output contract_file storage input expected_result - # expected_diffs - # Get the value stored at the given key in the big map - ( - 'get_big_map_value.tz', - '(Pair { Elt "hello" "hi" } None)', - '"hello"', - '(Pair 0 (Some "hi"))', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["hello"] to "hi"'], - ], - ), - ( - 'get_big_map_value.tz', - '(Pair { Elt "hello" "hi" } None)', - '""', - '(Pair 0 None)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["hello"] to "hi"'], - ], - ), - ( - 'get_big_map_value.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } None)', - '"1"', - '(Pair 0 (Some "one"))', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "one"'], - ['Set map(0)["2"] to "two"'], - ], - ), - # Test updating big maps - ( - 'update_big_map.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)', - '{}', - '(Pair 0 Unit)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "one"'], - ['Set map(0)["2"] to "two"'], - ], - ), - ( - 'update_big_map.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)', - '{ Elt "1" (Some "two") }', - '(Pair 0 Unit)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "two"'], - ['Set map(0)["2"] to "two"'], - ], - ), - ( - 'update_big_map.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)', - '{ Elt "3" (Some "three") }', - '(Pair 0 Unit)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "one"'], - ['Set map(0)["2"] to "two"'], - ['Set map(0)["3"] to "three"'], - ], - ), - ( - 'update_big_map.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)', - '{ Elt "3" None }', - '(Pair 0 Unit)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "one"'], - ['Set map(0)["2"] to "two"'], - ['Unset map(0)["3"]'], - ], - ), - ( - 'update_big_map.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)', - '{ Elt "2" None }', - '(Pair 0 Unit)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "one"'], - ['Unset map(0)["2"]'], - ], - ), - ( - 'update_big_map.tz', - '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)', - '{ Elt "1" (Some "two") }', - '(Pair 0 Unit)', - [ - ["New map(0) of type (big_map string string)"], - ['Set map(0)["1"] to "two"'], - ['Set map(0)["2"] to "two"'], - ], - ), - # test the GET_AND_UPDATE instruction on big maps - # Get and update the value stored at the given key in the map - ( - 'get_and_update_big_map.tz', - '(Pair None {})', - '"hello"', - '(Pair None 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Unset map(0)["hello"]'], - ], - ), - ( - 'get_and_update_big_map.tz', - '(Pair (Some 4) {})', - '"hello"', - '(Pair None 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Set map(0)["hello"] to 4'], - ], - ), - ( - 'get_and_update_big_map.tz', - '(Pair None { Elt "hello" 4 })', - '"hello"', - '(Pair (Some 4) 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Unset map(0)["hello"]'], - ], - ), - ( - 'get_and_update_big_map.tz', - '(Pair (Some 5) { Elt "hello" 4 })', - '"hello"', - '(Pair (Some 4) 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Set map(0)["hello"] to 5'], - ], - ), - ( - 'get_and_update_big_map.tz', - '(Pair (Some 5) { Elt "hello" 4 })', - '"hi"', - '(Pair None 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Set map(0)["hello"] to 4'], - ['Set map(0)["hi"] to 5'], - ], - ), - ( - 'get_and_update_big_map.tz', - '(Pair None { Elt "1" 1 ; \ - Elt "2" 2 })', - '"1"', - '(Pair (Some 1) 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Unset map(0)["1"]'], - ['Set map(0)["2"] to 2'], - ], - ), - ( - 'get_and_update_big_map.tz', - '(Pair None { Elt "1" 1 ; \ - Elt "2" 2 })', - '"1"', - '(Pair (Some 1) 0)', - [ - ["New map(0) of type (big_map string nat)"], - ['Unset map(0)["1"]'], - ['Set map(0)["2"] to 2'], - ], - ), - ], - ) - def test__big_map_contract_io( - self, - client_regtest: ClientRegression, - contract: str, - param: str, - storage: str, - expected: str, - big_map_diff: str, - ): - client = client_regtest - contract = path.join(OPCODES_CONTRACT_PATH, contract) - run_script_res = client.run_script( - contract, param, storage, trace_stack=True - ) - assert run_script_res.storage == expected - assert run_script_res.big_map_diff == big_map_diff - - @pytest.mark.parametrize( - "storage,param,expected,big_map_diff", - [ # test swap - ( - '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))', - '(Left Unit)', - '(Left (Pair 0 1))', - [ - ['New map(1) of type (big_map string string)'], - ['Set map(1)["1"] to "one"'], - ['New map(0) of type (big_map string string)'], - ['Set map(0)["2"] to "two"'], - ], - ), - # test reset with new map - ( - '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))', - '(Right (Left (Left (Pair { Elt "3" "three" } ' - + '{ Elt "4" "four" }))))', - '(Left (Pair 0 1))', - [ - ['New map(1) of type (big_map string string)'], - ['Set map(1)["4"] to "four"'], - ['New map(0) of type (big_map string string)'], - ['Set map(0)["3"] to "three"'], - ], - ), - # test reset to unit - ( - '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))', - '(Right (Left (Right Unit)))', - '(Right Unit)', - [], - ), - # test import to big_map - ( - '(Right Unit)', - '(Right (Right (Left (Pair { Pair "foo" "bar" } ' - + '{ Pair "gaz" "baz" }) )))', - '(Left (Pair 0 1))', - [ - ['New map(1) of type (big_map string string)'], - ['Set map(1)["gaz"] to "baz"'], - ['New map(0) of type (big_map string string)'], - ['Set map(0)["foo"] to "bar"'], - ], - ), - # test add to big_map - ( - '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }) )', - '(Right (Right (Right (Left { Pair "3" "three" }))))', - '(Left (Pair 0 1))', - [ - ['New map(1) of type (big_map string string)'], - ['Set map(1)["2"] to "two"'], - ['New map(0) of type (big_map string string)'], - ['Set map(0)["1"] to "one"'], - ['Set map(0)["3"] to "three"'], - ], - ), - # test remove from big_map - ( - '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))', - '(Right (Right (Right (Right { "1" }))))', - '(Left (Pair 0 1))', - [ - ['New map(1) of type (big_map string string)'], - ['Set map(1)["2"] to "two"'], - ['New map(0) of type (big_map string string)'], - ['Unset map(0)["1"]'], - ], - ), - ], - ) - def test_big_map_magic( - self, - client_regtest: ClientRegression, - storage: str, - param: str, - expected: str, - big_map_diff: str, - ): - client = client_regtest - contract = path.join(MINI_SCENARIOS_CONTRACT_PATH, 'big_map_magic.tz') - run_script_res = client.run_script( - contract, storage, param, trace_stack=True - ) - assert run_script_res.storage == expected - assert run_script_res.big_map_diff == big_map_diff - - def test_packunpack(self, client_regtest: ClientRegression): - """Test PACK/UNPACK and binary format.""" - client = client_regtest - assert_run_script_success( - client, - path.join(OPCODES_CONTRACT_PATH, 'packunpack.tz'), - 'Unit', - '(Pair (Pair (Pair "toto" {3;7;9;1}) {1;2;3}) ' - + '0x05070707070100000004746f746f020000000800030' - + '007000900010200000006000100020003)', - ) - assert_run_script_failwith( - client, - path.join(OPCODES_CONTRACT_PATH, 'packunpack.tz'), - 'Unit', - '(Pair (Pair (Pair "toto" {3;7;9;1}) {1;2;3}) ' - + '0x05070707070100000004746f746f020000000800030' - + '0070009000102000000060001000200030004)', - ) - - def test_check_signature(self, client_regtest: ClientRegression): - client = client_regtest - sig = ( - 'edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt' - + '9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF' - ) - assert_run_script_success( - client, - path.join(OPCODES_CONTRACT_PATH, 'check_signature.tz'), - f'(Pair "{sig}" "hello")', - '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"', - ) - assert_run_script_failwith( - client, - path.join(OPCODES_CONTRACT_PATH, 'check_signature.tz'), - f'(Pair "{sig}" "abcd")', - '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"', - ) - - def test_hash_consistency_michelson_cli( - self, client_regtest: ClientRegression - ): - client = client_regtest - hash_result = client.hash( - '(Pair 22220000000 (Pair "2017-12-13T04:49:00Z" 034))', - '(pair mutez (pair timestamp int))', - ).blake2b - hash_contract = path.join( - OPCODES_CONTRACT_PATH, 'hash_consistency_checker.tz' - ) - run_script_res = client.run_script( - hash_contract, - '0x00', - '(Pair 22220000000 (Pair "2017-12-13T04:49:00Z" 034))', - ) - assert run_script_res.storage == hash_result - run_script_res = client.run_script( - hash_contract, - '0x00', - '(Pair 22220000000 (Pair "2017-12-13T04:49:00Z" 034))', - ) - assert run_script_res.storage == hash_result - - @pytest.mark.parametrize( - "contract,param,storage", - [ # FORMAT: assert_output contract_file storage input - # Test overflow in shift - ('shifts.tz', 'None', '(Left (Pair 1 257))'), - ('shifts.tz', 'None', '(Left (Pair 123 257))'), - ('shifts.tz', 'None', '(Right (Pair 1 257))'), - ('shifts.tz', 'None', '(Right (Pair 123 257))'), - ('mul_overflow.tz', 'Unit', 'Left Unit'), - ('mul_overflow.tz', 'Unit', 'Right Unit'), - ], - ) - def test_arithmetic_overflow( - self, - client_regtest_scrubbed: ClientRegression, - contract: str, - param: str, - storage: str, - ): - client = client_regtest_scrubbed - contract = path.join(OPCODES_CONTRACT_PATH, contract) - - with assert_run_failure(r'unexpected arithmetic overflow'): - client.run_script(contract, param, storage) - - @pytest.mark.skip(reason="Bug in annotation system") - def test_fails_annotated_set_car_cdr( - self, client_regtest: ClientRegression - ): - """Tests the SET_CAR and SET_CDR instructions.""" - client = client_regtest - - with assert_run_failure(r'The two annotations do not match'): - client.run_script( - path.join(OPCODES_CONTRACT_PATH, 'set_car.tz'), - '(Pair %wrong %field "hello" 0)', - '""', - ) - - @pytest.mark.parametrize( - "contract,storage,param,expected", - [ # FORMAT: assert_output contract_file storage input expected_result - # Mapping over maps - ('map_map_sideeffect.tz', '(Pair {} 0)', '10', '(Pair {} 0)'), - ( - 'map_map_sideeffect.tz', - '(Pair { Elt "foo" 1 } 1)', - '10', - '(Pair { Elt "foo" 11 } 11)', - ), - ( - 'map_map_sideeffect.tz', - '(Pair { Elt "bar" 5 ; Elt "foo" 1 } 6)', - '15', - '(Pair { Elt "bar" 20 ; Elt "foo" 16 } 36)', - ), - ], - ) - def test_map_map_sideeffect( - self, - client_regtest: ClientRegression, - contract: str, - param: str, - storage: str, - expected: str, - ): - client = client_regtest - contract = path.join(OPCODES_CONTRACT_PATH, contract) - run_script_res = client.run_script(contract, storage, param) - assert run_script_res.storage == expected diff --git a/tests_python/tests_008/test_cors.py b/tests_python/tests_008/test_cors.py deleted file mode 100644 index 80b064285d86..000000000000 --- a/tests_python/tests_008/test_cors.py +++ /dev/null @@ -1,47 +0,0 @@ -import pytest -from daemons.node import Node -from launchers.sandbox import Sandbox -from tools import utils - - -@pytest.fixture(scope="class") -def node(sandbox: Sandbox): - """Launches one node in sandbox mode (genesis)""" - sandbox.add_node(0, params=['--cors-origin', '*']) - yield sandbox.node(0) - - -class TestCors: - def test_preflight(self, node: Node): - origin = 'localhost' - port = node.rpc_port - headers = { - 'Origin': origin, - 'Access-Control-Request-Method': 'GET', - 'Access-Control-Request-Headers': 'Content-Type', - } - res = utils.rpc( - origin, - port, - 'options', - '/chains/main/blocks/head/header/shell', - headers=headers, - ) - print(res.headers) - assert res.headers["access-control-allow-origin"] == '*' - assert res.headers["access-control-allow-methods"] == 'GET' - assert res.headers["access-control-allow-headers"] == 'Content-Type' - - def test_request(self, node: Node): - origin = 'localhost' - port = node.rpc_port - headers = {'Origin': origin, 'Content-Type': 'application/json'} - res = utils.rpc( - origin, - port, - 'get', - '/chains/main/blocks/head/header/shell', - headers=headers, - ) - print(res.headers) - assert res.headers["access-control-allow-origin"] == '*' diff --git a/tests_python/tests_008/test_crypto.py b/tests_python/tests_008/test_crypto.py deleted file mode 100644 index 995b48fdf617..000000000000 --- a/tests_python/tests_008/test_crypto.py +++ /dev/null @@ -1,47 +0,0 @@ -from random import getrandbits - -from os import path - -import pytest - -from Crypto.Hash import keccak, SHA3_256 - -from .contract_paths import OPCODES_CONTRACT_PATH - -RANDOM_ITERATIONS = 50 - -HASH_FUNCTIONS = { - "keccak": lambda bytes_to_hash: keccak.new(digest_bits=256) - .update(bytes_to_hash) - .hexdigest(), - "sha3": lambda bytes_to_hash: SHA3_256.new() - .update(bytes_to_hash) - .hexdigest(), -} - - -@pytest.fixture(params=HASH_FUNCTIONS.keys()) -def hash_fun(request): - return request.param - - -@pytest.mark.contract -class TestHash: - @pytest.mark.parametrize( - "bytes_to_hash", - [b"", b"a"] - + [ - getrandbits(bytes_length * 8).to_bytes( - bytes_length, byteorder="little" - ) - for bytes_length in [32] - for _ in range(RANDOM_ITERATIONS) - ], - ) - def test_hash(self, client, hash_fun, bytes_to_hash): - contract = path.join(OPCODES_CONTRACT_PATH, f"{hash_fun}.tz") - - hashed = HASH_FUNCTIONS[hash_fun](bytes_to_hash) - arg = f"0x{bytes_to_hash.hex()}" - result = client.run_script(contract, "None", arg) - assert result.storage == f"(Some 0x{hashed})" diff --git a/tests_python/tests_008/test_double_endorsement.py b/tests_python/tests_008/test_double_endorsement.py deleted file mode 100644 index 1a430975b9a2..000000000000 --- a/tests_python/tests_008/test_double_endorsement.py +++ /dev/null @@ -1,120 +0,0 @@ -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - - -NUM_NODES = 3 - - -@pytest.mark.multinode -@pytest.mark.incremental -class TestDoubleEndorsement: - """Constructs a double endorsement, and build evidence.""" - - def test_init(self, sandbox: Sandbox): - for i in range(NUM_NODES): - sandbox.add_node(i, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), activate_in_the_past=True) - utils.bake(sandbox.client(0)) - - def test_level(self, sandbox: Sandbox): - level = 2 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_terminate_nodes_1_and_2(self, sandbox: Sandbox): - sandbox.node(1).terminate() - sandbox.node(2).terminate() - - def test_bake_node_0(self, sandbox: Sandbox): - """Client 0 bakes block A at level 3, not communicated to 1 and 2 - Inject an endorsement to ensure a different hash""" - sandbox.client(0).endorse('bootstrap1') - utils.bake(sandbox.client(0)) - - def test_endorse_node_0(self, sandbox: Sandbox, session: dict): - """bootstrap1 builds an endorsement for block A""" - client = sandbox.client(0) - client.endorse('bootstrap1') - mempool = client.get_mempool() - endorsement = mempool['applied'][0] - session['endorsement1'] = endorsement - - def test_terminate_node_0(self, sandbox: Sandbox): - sandbox.node(0).terminate() - - def test_restart_node_2(self, sandbox: Sandbox): - sandbox.node(2).run() - assert sandbox.client(2).check_node_listening() - - def test_bake_node_2(self, sandbox: Sandbox): - """Client 2 bakes block B at level 3, not communicated to 0 and 1""" - utils.bake(sandbox.client(2)) - - def test_endorse_node_2(self, sandbox: Sandbox, session: dict): - """bootstrap1 builds an endorsement for block B""" - client = sandbox.client(2) - client.endorse('bootstrap1') - mempool = client.get_mempool() - endorsement = mempool['applied'][0] - session['endorsement2'] = endorsement - sandbox.client(2).endorse('bootstrap2') - - def test_restart_all(self, sandbox: Sandbox): - sandbox.node(0).run() - sandbox.node(1).run() - sandbox.client(0).check_node_listening() - sandbox.client(1).check_node_listening() - - def test_check_level(self, sandbox: Sandbox): - """All nodes are at level 3, head is either block A or B""" - level = 3 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_forge_accusation(self, sandbox: Sandbox, session: dict): - """Forge and inject a double endorsement evidence operation""" - client = sandbox.client(1) - head_hash = client.get_head()['hash'] - - def transform_endorsement(end): - return { - 'branch': end['branch'], - 'operations': end['contents'][0], - 'signature': end['signature'], - } - - endorsement1 = transform_endorsement(session['endorsement1']) - endorsement2 = transform_endorsement(session['endorsement2']) - operation = { - 'branch': head_hash, - 'contents': [ - { - 'kind': 'double_endorsement_evidence', - 'op1': endorsement1, - 'op2': endorsement2, - } - ], - } - - path_forge_operation = ( - '/chains/main/blocks/head/helpers/forge/operations' - ) - operation_hex_string = client.rpc( - 'post', path_forge_operation, data=operation - ) - assert isinstance(operation_hex_string, str) - sender_sk_long = constants.IDENTITIES['bootstrap1']['secret'] - sender_sk = sender_sk_long[len('unencrypted:') :] - signed_op = utils.sign_operation(operation_hex_string, sender_sk) - op_hash = client.rpc('post', 'injection/operation', signed_op) - assert isinstance(op_hash, str) - session['operation'] = op_hash - - def test_operation_applied(self, sandbox: Sandbox, session: dict): - """Check operation is in mempool""" - client = sandbox.client(1) - assert utils.check_mempool_contains_operations( - client, [session['operation']] - ) diff --git a/tests_python/tests_008/test_fa12.py b/tests_python/tests_008/test_fa12.py deleted file mode 100644 index cb004ccb22f4..000000000000 --- a/tests_python/tests_008/test_fa12.py +++ /dev/null @@ -1,352 +0,0 @@ -"""This file tests the tezos-client commands offering support for the -FA1.2 standard. Several implementations of the standard are tested.""" - -import json -import os -import pytest -from tools import utils -from tools.constants import IDENTITIES -from client.client import Client -from .contract_paths import CONTRACT_PATH - -BAKE_ARGS = ['--max-priority', '512', '--minimal-timestamp'] -BURN_CAP_ARGS = ['--burn-cap', '1.0'] - - -def reset_viewer(client: Client, contract: str): - args = ['--arg', '0'] - client.transfer(0.0, 'bootstrap2', contract, args) - client.bake('bootstrap5', BAKE_ARGS) - - -def check_expected_balance(client, token_contract, addr, expected): - bal = client.fa12_get_balance_offchain(token_contract, addr, []) - return bal.amount == expected - - -def check_expected_allowance(client, token_contract, src, dst, expected): - alw = client.fa12_get_allowance_offchain(token_contract, src, dst, []) - return alw.amount == expected - - -@pytest.fixture( - scope="class", - ids=[ - 'fa12_reference', - 'lqt_fa12', - ], - params=[ - ( - 'fa12_reference', - 'fa12_reference.tz', - lambda key: f'Pair {{}} (Pair "{key}" (Pair False 0))', - ), - ( - 'lqt_fa12', - 'lqt_fa12.mligo.tz', - lambda key: f'Pair {{}} {{}} "{key}" 0', - ), - ], -) -def token_contract(client: Client, session: dict, request): - (contract_alias, contract_path, init_fun) = request.param - - path = os.path.join(CONTRACT_PATH, 'mini_scenarios', contract_path) - identity = IDENTITIES['bootstrap2']['identity'] - init = init_fun(identity) - - utils.originate(client, session, path, init, 0, contract_alias) - - if contract_alias == 'fa12_reference': - identity = IDENTITIES['bootstrap2']['identity'] - param = f'(Pair "{identity}" 20000)' - args = [ - '--entrypoint', - 'mint', - '--arg', - param, - '--burn-cap', - '0.078', - ] - client.transfer(0, 'bootstrap2', contract_alias, args) - client.bake('bootstrap5', BAKE_ARGS) - elif contract_alias == 'lqt_fa12': - identity = IDENTITIES['bootstrap2']['identity'] - param = f'(Pair 20000 "{identity}")' - args = [ - '--entrypoint', - 'mintOrBurn', - '--arg', - param, - '--burn-cap', - '0.078', - ] - client.transfer(0, 'bootstrap2', contract_alias, args) - client.bake('bootstrap5', BAKE_ARGS) - - return contract_alias - - -@pytest.fixture(scope="class") -def view(client: Client, session: dict): - # Only deploy once, it can be used by any fa1.2 contract - contract_alias = 'nat-viewer' - args = ['--init', '0', '--burn-cap', '0.08'] - viewer = "parameter nat; storage nat; code { CAR; NIL operation; PAIR; }" - - origination = client.originate( - contract_alias, 0, 'bootstrap1', viewer, args - ) - session['contract'] = origination.contract - client.bake('bootstrap5', BAKE_ARGS) - return contract_alias - - -class TestFA12Basic: - def test_check_contract(self, client: Client, token_contract: str): - assert client.fa12_check(token_contract).check - - # NOTE: this test does not depend on the token_contract - # fixture (nor should it) - def test_check_contract_fail(self, client: Client, session: dict): - path = os.path.join(CONTRACT_PATH, 'entrypoints', 'manager.tz') - identity = IDENTITIES['bootstrap2']['identity'] - init = f'"{identity}"' - token_contract = 'manager-fail' - utils.originate(client, session, path, init, 0, token_contract) - - assert not client.fa12_check(token_contract).check - - def test_get_balance_offchain(self, client: Client, token_contract: str): - res = client.fa12_get_balance_offchain(token_contract, 'bootstrap2', []) - assert res.amount == 20000 - - def test_get_allowance_offchain(self, client: Client, token_contract: str): - res = client.fa12_get_allowance_offchain( - token_contract, 'bootstrap2', 'bootstrap3', [] - ) - assert res.amount == 0 - - def test_get_total_supply_offchain( - self, client: Client, token_contract: str - ): - res = client.fa12_get_total_supply_offchain(token_contract, []) - expected = 20000 - assert res.amount == expected - - def test_get_balance_callback( - self, client: Client, token_contract: str, view - ): - reset_viewer(client, view) - client.fa12_get_balance_callback( - token_contract, 'bootstrap2', view, BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - utils.assert_storage_contains(client, view, '20000') - - def test_get_allowance_callback( - self, client: Client, token_contract: str, view - ): - reset_viewer(client, view) - client.fa12_get_allowance_callback( - token_contract, 'bootstrap2', 'bootstrap3', view, BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - utils.assert_storage_contains(client, view, '0') - - def test_get_total_supply_callback( - self, client: Client, token_contract: str, view - ): - reset_viewer(client, view) - client.fa12_get_total_supply_callback( - token_contract, 'bootstrap2', view, BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - expected = '20000' - utils.assert_storage_contains(client, view, expected) - - -@pytest.mark.incremental -class TestFA12Incremental: - def test_transfer(self, client: Client, token_contract: str): - client.fa12_transfer( - token_contract, 100, 'bootstrap2', 'bootstrap3', BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - - assert check_expected_balance( - client, token_contract, 'bootstrap2', 19900 - ) and check_expected_balance(client, token_contract, 'bootstrap3', 100) - - def test_transfer_not_enough_balance( - self, client: Client, token_contract: str - ): - if token_contract == 'fa12_reference': - error_pattern = r'Not enough balance' - else: - error_pattern = '' - with utils.assert_run_failure(error_pattern): - client.fa12_transfer( - token_contract, 200, 'bootstrap3', 'bootstrap2', BURN_CAP_ARGS - ) - - def test_approve(self, client: Client, token_contract: str): - client.fa12_approve( - token_contract, 20, 'bootstrap2', 'bootstrap3', BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - - assert check_expected_allowance( - client, token_contract, 'bootstrap2', 'bootstrap3', 20 - ) - - def test_approve_unsafe_allowance_change( - self, client: Client, token_contract - ): - if token_contract == 'fa12_reference': - error_pattern = r'Unsafe allowance change' - else: - error_pattern = '' - with utils.assert_run_failure(error_pattern): - client.fa12_approve( - token_contract, 30, 'bootstrap2', 'bootstrap3', BURN_CAP_ARGS - ) - - def test_transfer_as(self, client: Client, token_contract: str): - client.fa12_transfer_as( - token_contract, - 10, - 'bootstrap2', - 'bootstrap3', - 'bootstrap3', - BURN_CAP_ARGS, - ) - client.bake('bootstrap5', BAKE_ARGS) - - assert ( - check_expected_balance(client, token_contract, 'bootstrap2', 19890) - and check_expected_balance( - client, token_contract, 'bootstrap3', 110 - ) - and check_expected_allowance( - client, token_contract, 'bootstrap2', 'bootstrap3', 10 - ) - ) - - def test_transfer_as_not_enough_allowance( - self, client: Client, token_contract - ): - if token_contract == 'fa12_reference': - error_pattern = r'Not enough allowance' - else: - error_pattern = '' - with utils.assert_run_failure(error_pattern): - client.fa12_transfer_as( - token_contract, - 20, - 'bootstrap2', - 'bootstrap3', - 'bootstrap3', - BURN_CAP_ARGS, - ) - - def test_multiple_transfers(self, client: Client, token_contract: str): - op1 = client.fa12_mk_batch_transfer('bootstrap4', token_contract, 100) - op2 = client.fa12_mk_batch_transfer('bootstrap5', token_contract, 10) - json_ops = json.dumps(op1 + op2, separators=(',', ':')) - client.fa12_multiple_tokens_transfers( - 'bootstrap2', json_ops, BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - - assert ( - check_expected_balance(client, token_contract, 'bootstrap2', 19780) - and check_expected_balance( - client, token_contract, 'bootstrap4', 100 - ) - and check_expected_balance(client, token_contract, 'bootstrap5', 10) - and check_expected_allowance( - client, token_contract, 'bootstrap2', 'bootstrap3', 10 - ) - ) - - def test_multiple_transfers_fail(self, client: Client, token_contract: str): - op1 = client.fa12_mk_batch_transfer('bootstrap4', token_contract, 100) - op2 = client.fa12_mk_batch_transfer( - 'bootstrap5', token_contract, 100000 - ) - json_ops = json.dumps(op1 + op2, separators=(',', ':')) - - bal_sender_before = client.fa12_get_balance_offchain( - token_contract, 'bootstrap2', [] - ) - bal_receiver1_before = client.fa12_get_balance_offchain( - token_contract, 'bootstrap4', [] - ) - bal_receiver2_before = client.fa12_get_balance_offchain( - token_contract, 'bootstrap5', [] - ) - - error_pattern = r'multiple transfers simulation failed' - with utils.assert_run_failure(error_pattern): - client.fa12_multiple_tokens_transfers( - 'bootstrap2', json_ops, BURN_CAP_ARGS - ) - - client.bake('bootstrap5', BAKE_ARGS) - - assert ( - check_expected_balance( - client, - token_contract, - 'bootstrap2', - bal_sender_before.amount, - ) - and check_expected_balance( - client, - token_contract, - 'bootstrap4', - bal_receiver1_before.amount, - ) - and check_expected_balance( - client, - token_contract, - 'bootstrap5', - bal_receiver2_before.amount, - ) - ) - - def test_multiple_transfers_as(self, client: Client, token_contract: str): - client.fa12_approve( - token_contract, 0, 'bootstrap2', 'bootstrap3', BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - - client.fa12_approve( - token_contract, 30, 'bootstrap2', 'bootstrap3', BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - check_allowance_before = check_expected_allowance( - client, token_contract, 'bootstrap2', 'bootstrap3', 30 - ) - - op1 = client.fa12_mk_batch_transfer('bootstrap4', token_contract, 10) - op2 = client.fa12_mk_batch_transfer('bootstrap5', token_contract, 20) - json_ops = json.dumps(op1 + op2, separators=(',', ':')) - - client.fa12_multiple_tokens_transfers_as( - 'bootstrap2', 'bootstrap3', json_ops, BURN_CAP_ARGS - ) - client.bake('bootstrap5', BAKE_ARGS) - - assert ( - check_expected_balance(client, token_contract, 'bootstrap2', 19750) - and check_expected_balance( - client, token_contract, 'bootstrap4', 110 - ) - and check_expected_balance(client, token_contract, 'bootstrap5', 30) - and check_allowance_before - and check_expected_allowance( - client, token_contract, 'bootstrap2', 'bootstrap3', 0 - ) - ) diff --git a/tests_python/tests_008/test_forge_block.py b/tests_python/tests_008/test_forge_block.py deleted file mode 100755 index b931cf986537..000000000000 --- a/tests_python/tests_008/test_forge_block.py +++ /dev/null @@ -1,46 +0,0 @@ -import datetime -import pytest -from tools import constants -from tools.constants import PROTO_DEMO_NOOPS -from launchers.sandbox import Sandbox - - -@pytest.mark.slow -@pytest.mark.incremental -class TestForgeBlock: - """ Check that a block more than 5 seconds in the future is rejected """ - - def test_setup_network(self, sandbox: Sandbox): - sandbox.add_node(1, params=constants.NODE_PARAMS) - - def test_protocol_exists(self, sandbox: Sandbox): - client = sandbox.client(1) - protocols = client.list_protocols() - assert PROTO_DEMO_NOOPS in protocols - - def test_activate_proto_demo_time_shifted_ok(self, sandbox: Sandbox): - parameters = {} # type: dict - delta = datetime.timedelta(seconds=5) - sandbox.client(1).activate_protocol_json( - PROTO_DEMO_NOOPS, - parameters, - key='activator', - timestamp=(datetime.datetime.utcnow() + delta).strftime( - "%Y-%m-%dT%H:%M:%SZ" - ), - fitness='1', - ) - - @pytest.mark.xfail - def test_activate_proto_demo_time_shifted_ko(self, sandbox: Sandbox): - parameters = {} # type: dict - delta = datetime.timedelta(seconds=30) - sandbox.client(1).activate_protocol_json( - PROTO_DEMO_NOOPS, - parameters, - key='activator', - timestamp=(datetime.datetime.utcnow() + delta).strftime( - "%Y-%m-%dT%H:%M:%SZ" - ), - fitness='1', - ) diff --git a/tests_python/tests_008/test_fork.py b/tests_python/tests_008/test_fork.py deleted file mode 100644 index 6e29a953793f..000000000000 --- a/tests_python/tests_008/test_fork.py +++ /dev/null @@ -1,85 +0,0 @@ -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - - -NUM_NODES = 3 - - -@pytest.mark.multinode -@pytest.mark.incremental -class TestFork: - """Constructs two independent branches on disconnected subsets of nodes, - one head has higher fitness. At reconnection, check the the highest - fitness head is the chosen one""" - - def test_init(self, sandbox: Sandbox): - for i in range(NUM_NODES): - sandbox.add_node(i, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0)) - - def test_level(self, sandbox: Sandbox): - level = 1 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_terminate_nodes_1_and_2(self, sandbox: Sandbox): - sandbox.node(1).terminate() - sandbox.node(2).terminate() - - def test_bake_node_0(self, sandbox: Sandbox): - """Client 0 bakes block A at level 2, not communicated to 1 and 2""" - utils.bake(sandbox.client(0)) - - def test_endorse_node_0(self, sandbox: Sandbox, session: dict): - """bootstrap1 builds an endorsement for block A""" - client = sandbox.client(0) - client.endorse('bootstrap1') - mempool = client.get_mempool() - endorsement = mempool['applied'][0] - session['endorsement1'] = endorsement - - def test_bake_node_0_again(self, sandbox: Sandbox): - """Client 0 bakes block A' at level 3, not communicated to 1 and 2""" - utils.bake(sandbox.client(0)) - - def test_first_branch(self, sandbox: Sandbox, session: dict): - head = sandbox.client(0).get_head() - assert head['header']['level'] == 3 - session['hash1'] = head['hash'] - assert len(head['operations'][0]) == 1 - - def test_terminate_node_0(self, sandbox: Sandbox): - sandbox.node(0).terminate() - - def test_restart_node_2(self, sandbox: Sandbox): - sandbox.node(2).run() - assert sandbox.client(2).check_node_listening() - - def test_bake_node_2(self, sandbox: Sandbox): - """Client 2 bakes block B at level 2, not communicated to 0 and 1""" - utils.bake(sandbox.client(2)) - - def test_bake_node_2_again(self, sandbox: Sandbox): - """Client 2 bakes block B' at level 3, not communicated to 0 and 1""" - utils.bake(sandbox.client(2)) - - def test_second_branch(self, sandbox: Sandbox, session: dict): - head = sandbox.client(2).get_head() - session['hash2'] = head['hash'] - assert head['header']['level'] == 3 - assert not head['operations'][0] - - def test_restart_all(self, sandbox: Sandbox): - sandbox.node(0).run() - sandbox.node(1).run() - assert sandbox.client(0).check_node_listening() - assert sandbox.client(1).check_node_listening() - - -# def test_check_head(self, sandbox: Sandbox, session: dict): -# """All nodes are at level 3, head should be hash1""" -# for client in sandbox.all_clients(): -# head = client.get_head() -# assert session['hash1'] == head['hash'] diff --git a/tests_python/tests_008/test_injection.py b/tests_python/tests_008/test_injection.py deleted file mode 100644 index 62261820c81b..000000000000 --- a/tests_python/tests_008/test_injection.py +++ /dev/null @@ -1,103 +0,0 @@ -import os -from typing import List -import subprocess -import pytest -from tools import utils, paths, constants -from tools.constants import PROTO_DEMO_NOOPS, PROTO_GENESIS -from client.client import Client - - -@pytest.fixture(scope="class") -def clients(sandbox): - """Launches 3 nodes in sandbox mode (genesis, doesn't activate alpha).""" - num_nodes = 3 - for i in range(num_nodes): - sandbox.add_node(i, params=constants.NODE_PARAMS) - yield sandbox.all_clients() - - -PROTO = f'{paths.TEZOS_HOME}/src/bin_client/test/proto_test_injection' -COMPILER = ( - f'{paths.TEZOS_HOME}/_build/default/src/lib_protocol_compiler/' - 'main_native.exe' -) -PARAMS = ['-p', PROTO_GENESIS] - - -@pytest.mark.incremental -class TestInjectionAndActivation: - """Protocol injection and activation""" - - def test_check_resources(self): - assert os.path.isfile(COMPILER) - assert os.path.isdir(PROTO) - - def test_compute_hash(self, session: dict): - cmd = [COMPILER, '-hash-only', PROTO] - res = subprocess.run( - cmd, universal_newlines=True, check=True, stdout=subprocess.PIPE - ) - proto_hash = res.stdout[:-1] - assert len(proto_hash) == 51 - session['proto_hash'] = proto_hash - - def test_injection(self, clients: List[Client]): - clients[0].inject_protocol(PROTO) - - def test_check_injected(self, clients: List[Client], session: dict): - proto = session['proto_hash'] - protos = clients[0].list_protocols() - assert proto in protos - - def test_environment_version(self, clients: List[Client], session: dict): - proto = session['proto_hash'] - assert clients[0].environment_protocol(proto) == "V1" - - def test_activation(self, clients: List[Client], session: dict): - proto = session['proto_hash'] - parameters = {} # type: dict - res = clients[0].activate_protocol_json( - proto, parameters, key='activator', fitness='1' - ) - assert res.block_hash - - def test_check_protocol(self, clients: List[Client], session: dict): - proto = session['proto_hash'] - for client in clients: - assert utils.check_protocol(client, proto, params=PARAMS) - - -@pytest.fixture(scope="class") -def client(sandbox): - """One node in sandbox mode (genesis, doesn't activate alpha).""" - sandbox.add_node(0) - client = sandbox.client(0) - yield client - - -@pytest.mark.incremental -class TestActivation: - """ Protocol activation (protocol already linked to the node) """ - - def test_proto_known(self, client: Client): - res = client.list_protocols() - assert PROTO_DEMO_NOOPS in res - - def test_first_protocol(self, client: Client): - proto = 'PrihK96nBAFSxVL1GLJTVhu9YnzkMFiBeuJRPA8NwuZVZCE1L6i' - assert client.get_protocol() == proto - - def test_activate_demo(self, client: Client): - proto = PROTO_DEMO_NOOPS - parameters = {} # type: dict - res = client.activate_protocol_json( - proto, parameters, key='activator', fitness='1' - ) - assert res.block_hash - - def test_level1(self, client: Client): - assert client.get_level(params=PARAMS) == 1 - - def test_protocol_genesis(self, client: Client): - proto = PROTO_GENESIS - assert client.get_protocol(params=PARAMS) == proto diff --git a/tests_python/tests_008/test_many_bakers.py b/tests_python/tests_008/test_many_bakers.py deleted file mode 100644 index 8038c6cf8067..000000000000 --- a/tests_python/tests_008/test_many_bakers.py +++ /dev/null @@ -1,40 +0,0 @@ -import time -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - - -# TODO parameterize test - - -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.slow -@pytest.mark.incremental -class TestManyBakers: - """Run 5 bakers and num nodes, wait and check logs""" - - def test_init(self, sandbox: Sandbox): - for i in range(10): - sandbox.add_node(i, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0)) - for i in range(5): - sandbox.add_baker(i, f'bootstrap{i + 1}', proto=protocol.DAEMON) - - def test_wait(self): - time.sleep(10) - - def test_progress(self, sandbox: Sandbox): - min_level = min( - [client.get_level() for client in sandbox.all_clients()] - ) - assert min_level >= 3 - - @pytest.mark.xfail - def test_check_logs(self, sandbox: Sandbox): - if not sandbox.log_dir: - pytest.skip() - assert sandbox.logs - error_pattern = r"canceled|crashed" - assert utils.check_logs(sandbox.logs, error_pattern) diff --git a/tests_python/tests_008/test_many_nodes.py b/tests_python/tests_008/test_many_nodes.py deleted file mode 100644 index 816350aa1256..000000000000 --- a/tests_python/tests_008/test_many_nodes.py +++ /dev/null @@ -1,63 +0,0 @@ -import random -import time -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - -NUM_NODES = 2 -NEW_NODES = 2 -REPLACE = False -ERROR_PATTERN = r"Uncaught|registered" - - -@pytest.mark.baker -@pytest.mark.multinode -@pytest.mark.slow -@pytest.mark.incremental -class TestManyNodesBootstrap: - """Run many nodes, wait a while, run more nodes, check logs""" - - def test_init(self, sandbox: Sandbox): - sandbox.add_node(0, params=constants.NODE_PARAMS) - parameters = dict(protocol.PARAMETERS) - parameters["time_between_blocks"] = ["1", "0"] - protocol.activate(sandbox.client(0), parameters) - sandbox.add_baker(0, 'bootstrap1', proto=protocol.DAEMON) - sandbox.add_node(1, params=constants.NODE_PARAMS) - sandbox.add_baker(1, 'bootstrap2', proto=protocol.DAEMON) - - def test_add_nodes(self, sandbox: Sandbox): - for i in range(2, NUM_NODES): - sandbox.add_node(i, params=constants.NODE_PARAMS) - - def test_sleep_10s(self): - time.sleep(10) - - def test_add_more_nodes(self, sandbox: Sandbox): - new_node = NUM_NODES - for i in range(NEW_NODES): - if REPLACE: - running_nodes = list(sandbox.nodes.keys()) - running_nodes.remove(0) - running_nodes.remove(1) - sandbox.rm_node(random.choice(running_nodes)) - sandbox.add_node(new_node + i, params=constants.NODE_PARAMS) - - def test_kill_baker(self, sandbox: Sandbox): - assert utils.check_logs(sandbox.logs, ERROR_PATTERN) - sandbox.rm_baker(0, proto=protocol.DAEMON) - sandbox.rm_baker(1, proto=protocol.DAEMON) - - def test_synchronize(self, sandbox: Sandbox): - utils.synchronize(sandbox.all_clients()) - - def test_progress(self, sandbox: Sandbox): - level = sandbox.client(0).get_level() - assert level >= 5 - - def test_check_logs(self, sandbox: Sandbox): - if not sandbox.log_dir: - pytest.skip() - assert sandbox.logs - assert utils.check_logs(sandbox.logs, ERROR_PATTERN) diff --git a/tests_python/tests_008/test_mempool.py b/tests_python/tests_008/test_mempool.py deleted file mode 100644 index 11d9a459c2d7..000000000000 --- a/tests_python/tests_008/test_mempool.py +++ /dev/null @@ -1,66 +0,0 @@ -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox - -from . import protocol - - -@pytest.mark.mempool -@pytest.mark.multinode -@pytest.mark.slow -@pytest.mark.incremental -class TestMempool: - " Tests mempool" - - def test_init(self, sandbox: Sandbox): - sandbox.add_node(1, params=constants.NODE_PARAMS) - sandbox.add_node(2, params=constants.NODE_PARAMS) - sandbox.add_node( - 3, params=constants.NODE_PARAMS + ['--disable-mempool'] - ) - protocol.activate(sandbox.client(1), activate_in_the_past=True) - - def test_level1(self, sandbox: Sandbox): - level = 1 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_running_prevalidators(self, sandbox: Sandbox): - assert sandbox.client(1).get_prevalidator() - assert sandbox.client(2).get_prevalidator() - assert not sandbox.client(3).get_prevalidator() - - def test_mempool_empty(self, sandbox: Sandbox): - for i in range(1, 4): - assert sandbox.client(i).mempool_is_empty() - - def test_transfer(self, sandbox: Sandbox, session: dict): - client = sandbox.client(1) - session['trsfr_hash'] = client.transfer( - 1.000, 'bootstrap1', 'bootstrap2' - ).operation_hash - - def test_mempool_include_transfer(self, sandbox: Sandbox, session: dict): - assert utils.check_mempool_contains_operations( - sandbox.client(1), [session['trsfr_hash']] - ) - assert utils.check_mempool_contains_operations( - sandbox.client(2), [session['trsfr_hash']] - ) - assert sandbox.client(3).mempool_is_empty() - - def test_bake_for1(self, sandbox: Sandbox): - utils.bake(sandbox.client(1)) - - def test_level2(self, sandbox: Sandbox): - level = 2 - for client in sandbox.all_clients(): - assert utils.check_level(client, level) - - def test_mempools_are_empty(self, sandbox: Sandbox): - for i in range(1, 4): - assert sandbox.client(i).mempool_is_empty() - - def test_injection_fails_on_mempool_disabled_node(self, sandbox: Sandbox): - with pytest.raises(Exception): - sandbox.client(3).transfer(2.000, 'bootstrap2', 'bootstrap3') diff --git a/tests_python/tests_008/test_mockup.py b/tests_python/tests_008/test_mockup.py deleted file mode 100644 index caf581d6fe27..000000000000 --- a/tests_python/tests_008/test_mockup.py +++ /dev/null @@ -1,714 +0,0 @@ -""" This file tests the mockup mode (tezos-client --mode mockup). - In this mode the client does not need a node running. - - Make sure to either use the fixture mockup_client or - to mimick it if you want a mockup with custom parameters. - - Care is taken not to leave any base_dir dangling after - tests are finished. Please continue doing this. -""" -import json -import os -import re -import shutil -import tempfile -from pathlib import Path -from typing import Any, List, Optional, Tuple -import pytest -from launchers.sandbox import Sandbox -from client.client import Client -from client.client_output import CreateMockupResult - -from . import protocol - -_BA_FLAG = "bootstrap-accounts" -_PC_FLAG = "protocol-constants" - - -@pytest.mark.client -def test_list_mockup_protocols(sandbox: Sandbox): - """Executes `tezos-client list mockup protocols` - The call must succeed and return a non empty list. - """ - try: - client = sandbox.create_client() - protocols = client.list_mockup_protocols().mockup_protocols - assert protocols - finally: - shutil.rmtree(client.base_dir) - - -@pytest.mark.client -def test_create_mockup_dir_exists_nonempty(sandbox: Sandbox): - """Executes `tezos-client --base-dir /tmp/mdir create mockup` - when /tmp/mdir is a non empty directory which is NOT a mockup - directory. The call must fail. - """ - with tempfile.TemporaryDirectory(prefix='tezos-client.') as base_dir: - # Make the directory not empty - with open(os.path.join(base_dir, "whatever"), "w") as handle: - handle.write("") - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup( - protocol=protocol.HASH, check=False - ).create_mockup_result - assert res == CreateMockupResult.DIR_NOT_EMPTY - - -@pytest.mark.client -def test_retrieve_addresses(mockup_client: Client): - """Retrieves known addresses of a fresh mockup. - The call must succeed. - """ - addresses = mockup_client.get_known_addresses().wallet - assert addresses == { - 'bootstrap1': 'tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx', - 'bootstrap2': 'tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN', - 'bootstrap3': 'tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU', - 'bootstrap4': 'tz1b7tUupMgCNw2cCLpKTkSD1NZzB5TkP2sv', - 'bootstrap5': 'tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv', - } - - -@pytest.mark.client -def test_create_mockup_already_initialized(mockup_client: Client): - """Executes `tezos-client --base-dir /tmp/mdir create mockup` - when /tmp/mdir is not fresh. - The call must fail. - """ - # mockup was created already by fixture, try to create it second time: - res = mockup_client.create_mockup( - protocol=protocol.HASH, check=False - ).create_mockup_result - # it should fail: - assert res == CreateMockupResult.ALREADY_INITIALIZED - - -@pytest.mark.client -def test_transfer(mockup_client: Client): - """Executes `tezos-client --base-dir /tmp/mdir -M mockup - transfer 1 from bootstrap1 to bootstrap2` - in a valid mockup environment. - The call must succeed and the balances must be updated correctly. - """ - giver = "bootstrap1" - receiver = "bootstrap2" - transferred = 1.0 - - giver_balance_before = mockup_client.get_balance(giver) - receiver_balance_before = mockup_client.get_balance(receiver) - mockup_client.transfer(transferred, giver, receiver) - giver_balance_after = mockup_client.get_balance(giver) - receiver_balance_after = mockup_client.get_balance(receiver) - - assert giver_balance_after < giver_balance_before - transferred - assert receiver_balance_after == receiver_balance_before + transferred - - -# It's impossible to guess values of chain_id, these ones have been -# obtained by looking at the output of `compute chain id from seed` -@pytest.mark.parametrize( - 'chain_id', - [ - "NetXcqTGZX74DxG", - "NetXaFDF7xZQCpR", - "NetXkKbtqncJcAz", - "NetXjjE5cZUeWPy", - "NetXi7C1pyLhQNe", - ], -) -@pytest.mark.parametrize( - 'initial_timestamp', ["2020-07-21T17:11:10+02:00", "1970-01-01T00:00:00Z"] -) -@pytest.mark.client -def test_create_mockup_custom_constants( - sandbox: Sandbox, chain_id: str, initial_timestamp: str -): - """Tests `tezos-client create mockup` --protocols-constants argument - The call must succeed. - - Args: - mockup_client: the client to use - chain_id (str): the string to pass for field `chain_id` - initial_timestamp(str): an ISO-8601 formatted date string - """ - # Use another directory so that the constants change takes effect - with tempfile.TemporaryDirectory( - prefix='tezos-client.' - ) as base_dir, tempfile.NamedTemporaryFile( - prefix='tezos-custom-constants', mode='w+t' - ) as json_file: - json_data = { - "hard_gas_limit_per_operation": "400000", - "chain_id": chain_id, - "initial_timestamp": initial_timestamp, - } - json.dump(json_data, json_file) - json_file.flush() - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup( - protocol=protocol.HASH, protocol_constants_file=json_file.name - ).create_mockup_result - assert res == CreateMockupResult.OK - - -def _create_accounts_list(): - """ - Returns a list of dictionary with 3 entries, that are - valid for being translated to json and passed - to `--bootstrap-accounts` - """ - accounts_list = [] - - def add_account(name: str, sk_uri: str, amount: str): - entry = { - "name": name, - "sk_uri": "unencrypted:" + sk_uri, - "amount": amount, - } - accounts_list.append(entry) - - # Took json structure from - # https://gitlab.com/tezos/tezos/-/merge_requests/1720 - add_account( - "bootstrap0", - "edsk2uqQB9AY4FvioK2YMdfmyMrer5R8mGFyuaLLFfSRo8EoyNdht3", - "2000000000000", - ) - add_account( - "bootstrap1", - "edsk3gUfUPyBSfrS9CCgmCiQsTCHGkviBDusMxDJstFtojtc1zcpsh", - "1000000000000", - ) - - return accounts_list - - -@pytest.mark.client -def test_create_mockup_custom_bootstrap_accounts(sandbox: Sandbox): - """Tests `tezos-client create mockup` --bootstrap-accounts argument - The call must succeed. - """ - accounts_list = _create_accounts_list() - - # Use another directory so that the constants change takes effect - with tempfile.TemporaryDirectory( - prefix='tezos-client.' - ) as base_dir, tempfile.NamedTemporaryFile( - prefix='tezos-bootstrap-accounts', mode='w+t' - ) as json_file: - json.dump(accounts_list, json_file) - json_file.flush() - # Follow pattern of mockup_client fixture: - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup( - protocol=protocol.HASH, bootstrap_accounts_file=json_file.name - ).create_mockup_result - assert res == CreateMockupResult.OK - mock_client = sandbox.create_client(base_dir=base_dir, mode="mockup") - addresses_result = mock_client.get_known_addresses() - names_sent = sorted([account["name"] for account in accounts_list]) - names_witnessed = sorted(list(addresses_result.wallet.keys())) - assert names_sent == names_witnessed - - -@pytest.mark.client -def test_transfer_bad_base_dir(sandbox: Sandbox): - """Executes `tezos-client --base-dir /tmp/mdir create mockup` - when /tmp/mdir looks like a dubious base directory. - Checks that a warning is printed. - """ - try: - unmanaged_client = sandbox.create_client() - res = unmanaged_client.create_mockup( - protocol=protocol.HASH - ).create_mockup_result - assert res == CreateMockupResult.OK - base_dir = unmanaged_client.base_dir - mockup_dir = os.path.join(base_dir, "mockup") - - # A valid mockup has a directory named "mockup", in its directory: - assert os.path.isdir(mockup_dir) - mock_client = sandbox.create_client(base_dir=base_dir, mode="mockup") - # Delete this directory: - shutil.rmtree(mockup_dir) - # And put a file instead: - Path(os.path.join(mockup_dir)).touch() - - # Now execute a command - cmd = ["transfer", "1", "from", "bootstrap1", "to", "bootstrap2"] - (_, err_output, _) = mock_client.run_generic(cmd, check=False) - # See - # https://gitlab.com/tezos/tezos/-/merge_requests/1760#note_329071488 - # for the content being matched - searched = "Some commands .* might not work correctly." - # Witness that warning is printed: - assert re.search( - searched, err_output - ), f"'{searched}' not matched in error output" - finally: - shutil.rmtree(base_dir) - - -@pytest.mark.client -def test_config_show_mockup(mockup_client: Client): - """Executes `tezos-client --mode mockup config show` in - a state where it should succeed. - """ - mockup_client.run_generic(["--protocol", protocol.HASH, "config", "show"]) - - -@pytest.mark.client -def test_config_show_mockup_fail(mockup_client: Client): - """Executes `tezos-client --mode mockup config show` when - base dir is NOT a mockup. It should fail as this is dangerous - (the default base directory could contain sensitive data, - such as private keys) - """ - shutil.rmtree(mockup_client.base_dir) # See test_config_init_mockup_fail - # for a variant of how to make the base dir invalid for the mockup mode - _, _, return_code = mockup_client.run_generic( - ["config", "show"], check=False - ) - - # recreate directory: the cleanup later on expects its existence - os.mkdir(mockup_client.base_dir) - assert return_code != 0 - - -@pytest.mark.client -def test_config_init_mockup(mockup_client: Client): - """Executes `tezos-client config init mockup` in - a state where it should succeed. - """ - # We cannot use NamedTemporaryFile because `config init mockup` - # does not overwrite files. Because NamedTemporaryFile creates the file - # it would make the test fail. - ba_json_file = tempfile.mktemp(prefix='tezos-bootstrap-accounts') - pc_json_file = tempfile.mktemp(prefix='tezos-proto-consts') - # 1/ call `config init mockup` - mockup_client.run( - [ - "--protocol", - protocol.HASH, - "config", - "init", - f"--{_BA_FLAG}", - ba_json_file, - f"--{_PC_FLAG}", - pc_json_file, - ] - ) - - # 2/ Try loading the files, to check they are valid json - with open(ba_json_file) as handle: - json.load(handle) - with open(pc_json_file) as handle: - json.load(handle) - - # Cleanup - os.remove(ba_json_file) - os.remove(pc_json_file) - - -@pytest.mark.client -def test_config_init_mockup_fail(mockup_client: Client): - """Executes `tezos-client config init mockup` when - base dir is NOT a mockup. It should fail as this is dangerous - (the default base directory could contain sensitive data, - such as private keys) - """ - ba_json_file = tempfile.mktemp(prefix='tezos-bootstrap-accounts') - pc_json_file = tempfile.mktemp(prefix='tezos-proto-consts') - cmd = [ - "--protocol", - protocol.HASH, - "config", - "init", - f"--{_BA_FLAG}", - ba_json_file, - f"--{_PC_FLAG}", - pc_json_file, - ] - - # A valid mockup has a directory named "mockup" in its base_dir: - mockup_dir = os.path.join(mockup_client.base_dir, "mockup") - assert os.path.isdir(mockup_dir) - # Delete this directory, so that the base_dir is not a valid mockup - # base dir anymore: - shutil.rmtree(mockup_dir) # See test_config_show_mockup_fail above - # for a variant of how to make the base_dir invalid for the mockup mode - - _, _, return_code = mockup_client.run_generic(cmd, check=False) - assert return_code != 0 - # Check the test doesn't leak directories: - assert not os.path.exists(ba_json_file) - assert not os.path.exists(pc_json_file) - - -def _try_json_loads(flag: str, string: str) -> Any: - """ Converts the given string to a json object """ - try: - return json.loads(string) - except json.JSONDecodeError: - pytest.fail( - f"""Write back of {flag} value is not valid json: -{string}""" - ) - # Added to get rid of pylint warning inconsistent-return-statements. - # pytest.fail has no return value (NoReturn). - return None - - -def _get_state_using_config_init_mockup( - mock_client: Client, -) -> Tuple[str, str]: - """ - Calls `config init mockup` on a mockup client and returns - the strings of the bootstrap accounts and the protocol - constants - - Note that because this a mockup specific operation, the `mock_client` - parameter must be in mockup mode; do not give a vanilla client. - """ - ba_json_file = tempfile.mktemp(prefix='tezos-bootstrap-accounts') - pc_json_file = tempfile.mktemp(prefix='tezos-proto-consts') - - mock_client.run( - [ - "--protocol", - protocol.HASH, - "config", - "init", - f"--{_BA_FLAG}", - ba_json_file, - f"--{_PC_FLAG}", - pc_json_file, - ] - ) - - with open(ba_json_file) as handle: - ba_str = handle.read() - with open(pc_json_file) as handle: - pc_str = handle.read() - - # Cleanup of tempfile.mktemp - os.remove(ba_json_file) - os.remove(pc_json_file) - - return (ba_str, pc_str) - - -def _get_state_using_config_show_mockup( - mock_client: Client, -) -> Tuple[str, str]: - """ - Calls `--mode mockup config show` on a mockup client and returns - the strings of the bootstrap accounts and the protocol - constants, by parsing standard output. - - Note that because this a mockup specific operation, the `mock_client` - parameter must be in mockup mode; do not give a vanilla client. - """ - - def _find_line_starting_with(strings, searched) -> int: - i = 0 - for string in strings: - if string.startswith(searched): - return i - i += 1 - return -1 - - def _parse_config_init_output(string: str) -> Tuple[str, str]: - """Parses the output of `--mode mockup config init` - and return the json of the bootstrap accounts - and the protocol constants - """ - tagline1 = f"Default value of --{_BA_FLAG}:" - bootstrap_accounts_index = string.find(tagline1) - assert bootstrap_accounts_index >= 0, f"{_BA_FLAG} line not found" - - tagline2 = f"Default value of --{_PC_FLAG}:" - proto_constants_index = string.find(tagline2) - assert proto_constants_index > 0, f"{_PC_FLAG} line not found" - - bc_json = string[ - bootstrap_accounts_index + len(tagline1) : proto_constants_index - 1 - ] - - pc_json = string[proto_constants_index + len(tagline2) + 1 :] - return (bc_json, pc_json) - - stdout = mock_client.run(["--protocol", protocol.HASH, "config", "show"]) - return _parse_config_init_output(stdout) - - -def _test_create_mockup_init_show_roundtrip( - sandbox: Sandbox, - read_initial_state, - read_final_state, - bootstrap_json: Optional[str] = None, - protocol_constants_json: Optional[str] = None, -): - """1/ Creates a mockup, using possibly custom bootstrap_accounts - (as specified by `bootstrap_json`) - 2/ Then execute either `--mode mockup config show` or - `--mode mockup config init` to obtain the mockup's parameters - (parse stdout if `show` is called, - read the files generated by `init` otherwise) - - This is done by executing `read_initial_state` - 3/ Recreate a mockup using the output gathered in 2/ and call - `--mode mockup config show`/`--mode mockup config init` - (this is done by executing `read_final_state`) to check that output - received is similar to output seen in 2. - - This is a roundtrip test. - """ - - ba_file = None - pc_file = None - try: - if protocol_constants_json is not None: - pc_file = tempfile.mktemp(prefix='tezos-proto-consts') - with open(pc_file, 'w') as handle: - handle.write(protocol_constants_json) - - if bootstrap_json is not None: - ba_file = tempfile.mktemp(prefix='tezos-bootstrap-accounts') - with open(ba_file, 'w') as handle: - handle.write(bootstrap_json) - - with tempfile.TemporaryDirectory(prefix='tezos-client.') as base_dir: - # Follow pattern of mockup_client fixture: - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup( - protocol=protocol.HASH, - bootstrap_accounts_file=ba_file, - protocol_constants_file=pc_file, - ).create_mockup_result - assert res == CreateMockupResult.OK - mock_client = sandbox.create_client( - base_dir=base_dir, mode="mockup" - ) - (ba_str, pc_str) = read_initial_state(mock_client) - finally: - if pc_file is not None: - os.remove(pc_file) - if ba_file is not None: - os.remove(ba_file) - - # 2/ Check the json obtained is valid by building json objects - ba_sent = _try_json_loads(_BA_FLAG, ba_str) - pc_sent = _try_json_loads(_PC_FLAG, pc_str) - - # Test that the initial mockup call honored the values it received. If - # it didn't, all calls would return the default values all along, and - # everything would seem fine; but it wouldn't be. This was witnessed in - # https://gitlab.com/tezos/tezos/-/issues/938 - if bootstrap_json: - ba_input = json.loads(bootstrap_json) - assert ba_sent == ba_input - if protocol_constants_json: - pc_input = json.loads(protocol_constants_json) - assert pc_sent == pc_input - - # 3/ Pass obtained json to a new mockup instance, to check json - # is valid w.r.t. ocaml encoding - - # Use another directory so that the constants change takes effect - with tempfile.TemporaryDirectory( - prefix='tezos-client.' - ) as base_dir, tempfile.NamedTemporaryFile( - prefix='tezos-bootstrap-accounts', mode='w+t' - ) as ba_json_file, tempfile.NamedTemporaryFile( - prefix='tezos-proto-consts', mode='w+t' - ) as pc_json_file, tempfile.TemporaryDirectory( - prefix='tezos-client.' - ) as base_dir: - - ba_json_file.write(ba_str) - ba_json_file.flush() - pc_json_file.write(pc_str) - pc_json_file.flush() - - with tempfile.TemporaryDirectory(prefix='tezos-client.') as base_dir: - # Follow pattern of mockup_client fixture: - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup( - protocol=protocol.HASH, - protocol_constants_file=pc_json_file.name, - bootstrap_accounts_file=ba_json_file.name, - ).create_mockup_result - assert res == CreateMockupResult.OK - mock_client = sandbox.create_client( - base_dir=base_dir, mode="mockup" - ) - # 4/ Retrieve state again - (ba_received_str, pc_received_str) = read_final_state(mock_client) - - # Convert it to json objects (check that json is valid) - ba_received = _try_json_loads(_BA_FLAG, ba_received_str) - pc_received = _try_json_loads(_PC_FLAG, pc_received_str) - - def _gen_assert_msg(flag, sent, received): - result = f"Json sent with --{flag} differs from" - result += " json received" - result += f"\nJson sent is:\n{sent}" - result += f"\nwhile json received is:\n{received}" - - # and finally check that json objects received are the same - # as the ones that were given as input - assert ba_sent == ba_received, _gen_assert_msg( - _BA_FLAG, ba_sent, ba_received - ) - assert pc_sent == pc_received, _gen_assert_msg( - _PC_FLAG, pc_sent, pc_received - ) - - -@pytest.mark.client -@pytest.mark.parametrize( - 'initial_bootstrap_accounts', [None, json.dumps(_create_accounts_list())] -) -@pytest.mark.parametrize( - 'protocol_constants', - [ - None, - json.dumps( - { - "initial_timestamp": "2021-02-03T12:34:56Z", - "chain_id": "NetXaFDF7xZQCpR", - "delay_per_missing_endorsement": "2", - "initial_endorsers": 2, - "min_proposal_quorum": 501, - "quorum_max": 7001, - "quorum_min": 2001, - "hard_storage_limit_per_operation": "60001", - "cost_per_byte": "251", - "test_chain_duration": "1228801", - "endorsement_reward": ["1250001", "833334"], - "baking_reward_per_endorsement": ["1250001", "187501"], - "endorsement_security_deposit": "64000001", - "block_security_deposit": "512000001", - "origination_size": 258, - "seed_nonce_revelation_tip": "125001", - "michelson_maximum_type_size": 1001, - "tokens_per_roll": "8000000001", - "proof_of_work_threshold": "-2", - "hard_gas_limit_per_block": "10400001", - "hard_gas_limit_per_operation": "1040001", - "endorsers_per_block": 33, - "time_between_blocks": ["2", "1"], - "blocks_per_voting_period": 65, - "blocks_per_roll_snapshot": 5, - "blocks_per_commitment": 5, - "blocks_per_cycle": 9, - "preserved_cycles": 3, - } - ), - ], -) -@pytest.mark.parametrize( - 'read_initial_state', - [_get_state_using_config_show_mockup, _get_state_using_config_init_mockup], -) -@pytest.mark.parametrize( - 'read_final_state', - [_get_state_using_config_show_mockup, _get_state_using_config_init_mockup], -) -def test_create_mockup_config_show_init_roundtrip( - sandbox: Sandbox, - initial_bootstrap_accounts, - protocol_constants, - read_initial_state, - read_final_state, -): - """1/ Create a mockup, using possibly custom bootstrap_accounts - (as specified by `initial_bootstrap_json`). - 2/ Then execute either `--mode mockup config show` - or `--mode mockup config init` to obtain the mockup's parameters, - as specified by `read_initial_state`. - 3/ Recreate a mockup using the output gathered in 2/ and call - `read_final_state` to check that output - received is similar to output seen in 2. - - This is a roundtrip test using a matrix. - """ - _test_create_mockup_init_show_roundtrip( - sandbox, - read_initial_state, - read_final_state, - initial_bootstrap_accounts, - protocol_constants, - ) - - -def test_transfer_rpc(mockup_client: Client): - """Variant of test_transfer that uses RPCs to get the balances.""" - giver = "bootstrap1" - receiver = "bootstrap2" - transferred = 1.0 - transferred_mutz = transferred * 1000000 - - def get_balance(tz1): - res = mockup_client.rpc( - 'get', - f'chains/main/blocks/head/' f'context/contracts/{tz1}/balance', - ) - return float(res) - - addresses = mockup_client.get_known_addresses() - giver_tz1 = addresses.wallet[giver] - recvr_tz1 = addresses.wallet[receiver] - giver_balance_before = get_balance(giver_tz1) - receiver_balance_before = get_balance(recvr_tz1) - mockup_client.transfer(transferred, giver, receiver) - giver_balance_after = get_balance(giver_tz1) - receiver_balance_after = get_balance(recvr_tz1) - - assert giver_balance_after < giver_balance_before - transferred_mutz - assert receiver_balance_after == receiver_balance_before + transferred_mutz - - -@pytest.mark.parametrize( - 'protos', - [(protocol.HASH, proto2) for proto2 in [protocol.HASH, ""]], -) -@pytest.mark.parametrize( - 'command', - [ - ["config", "show"], - ["config", "init"], - ["list", "known", "addresses"], - ["get", "balance", "for", "bootstrap1"], - ], -) -def test_proto_mix( - sandbox: Sandbox, protos: Tuple[str, str], command: List[str] -): - """ - This test covers 3 cases: - - 1/ When proto's second element equals the first member: - it tests that the command works. - 2/ When proto's second element is empty: - it tests that the correct mockup implementation is picked - (i.e. the one of the first element) and that the command works. - 3/ When protos' second element is not empty and differs from - the first member: it tests - that creating a mockup with a protocol and using it with another - protocol fails. - """ - proto1 = protos[0] - proto2 = protos[1] - with tempfile.TemporaryDirectory(prefix='tezos-client.') as base_dir: - # Follow pattern of mockup_client fixture: - unmanaged_client = sandbox.create_client(base_dir=base_dir) - res = unmanaged_client.create_mockup(protocol=proto1) - assert res.create_mockup_result == CreateMockupResult.OK - mock_client = sandbox.create_client(base_dir=base_dir, mode="mockup") - cmd = (["--protocol", proto2] if proto2 else []) + command - success = (proto2 == proto1) or (not proto2) - (_, _, return_code) = mock_client.run_generic(cmd, check=False) - assert (return_code == 0) == success diff --git a/tests_python/tests_008/test_multinode.py b/tests_python/tests_008/test_multinode.py deleted file mode 100644 index b1d3e1759af0..000000000000 --- a/tests_python/tests_008/test_multinode.py +++ /dev/null @@ -1,84 +0,0 @@ -from typing import List -import pytest -from tools import utils, constants -from client.client import Client -from . import protocol - - -TRANSFER_AMOUNT = 500 - - -# TODO test doesn't pass with n=2 (--bootstrap-treshold?) -@pytest.mark.multinode -@pytest.mark.parametrize("clients", [3], indirect=True) -@pytest.mark.incremental -class TestManualBaking: - """ - For n nodes in sandboxed mode, tests: - . injection of protocol alpha - . check inclusion of transfer and endorsement operations - """ - - def test_level(self, clients: List[Client]): - level = 1 - for client in clients: - assert utils.check_level(client, level) - - def test_bake_and_check_level(self, clients: List[Client]): - level = 2 - for i in range(1, 6): - account = f'bootstrap{i}' - client_i = level % len(clients) - utils.bake(clients[client_i], account) - for client in clients: - assert utils.check_level(client, level) - level += 1 - - def test_endorse(self, clients: List[Client], session: dict): - endorse = clients[2 % len(clients)].endorse('bootstrap3') - session["endorse_hash"] = endorse.operation_hash - - def test_transfer(self, clients: List[Client], session: dict): - client_id = 3 % len(clients) - transfer = clients[client_id].transfer( - TRANSFER_AMOUNT, 'bootstrap1', 'bootstrap3' - ) - session["transfer_hash"] = transfer.operation_hash - session["transfer_fees"] = transfer.fees - - def test_mempool_contains_endorse_and_transfer( - self, clients: List[Client], session - ): - endorse_hash = session["endorse_hash"] - transfer_hash = session["transfer_hash"] - operation_hashes = [endorse_hash, transfer_hash] - for client in clients: - assert utils.check_mempool_contains_operations( - client, operation_hashes - ) - - def test_bake(self, clients: List[Client]): - utils.bake(clients[3 % len(clients)], 'bootstrap4') - - def test_block_contains_endorse_and_transfer( - self, clients: List[Client], session - ): - endorse_hash = session["endorse_hash"] - transfer_hash = session["transfer_hash"] - operation_hashes = [endorse_hash, transfer_hash] - for client in clients: - assert utils.check_block_contains_operations( - client, operation_hashes - ) - - def test_balance(self, clients: List[Client], session): - baker_id = constants.IDENTITIES['bootstrap1']['identity'] - bal = clients[0].get_balance(baker_id) - parameters = protocol.PARAMETERS - initial_amount = int(parameters["bootstrap_accounts"][0][1]) - deposit = int(parameters["block_security_deposit"]) - tx_fee = session['transfer_fees'] - assert ( - bal - == (initial_amount - deposit) / 1000000 - tx_fee - TRANSFER_AMOUNT - ) diff --git a/tests_python/tests_008/test_multinode_snapshot.py b/tests_python/tests_008/test_multinode_snapshot.py deleted file mode 100644 index 8cd3c6a43b6e..000000000000 --- a/tests_python/tests_008/test_multinode_snapshot.py +++ /dev/null @@ -1,714 +0,0 @@ -import tempfile -import shutil -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol - -PARAMS = constants.NODE_PARAMS - -BATCH_1 = 48 -BATCH_2 = 48 # not enough bakes to drag the savepoint after snapshot import -BATCH_3 = 32 # enough bakes to drag the savepoint -GROUP1 = [0, 1, 2] -GROUP2 = [0, 1, 2, 3, 4, 5] -GROUP_FULL = [1, 3] -GROUP_ROLLING = [2, 4, 5] -SNAPSHOT_DIR = tempfile.mkdtemp(prefix='tezos-snapshots.') - - -def clean(node): - shutil.rmtree(node.node_dir) - - -# Restart node. Side effect: clean store caches -def restart(sandbox, node_id): - sandbox.node(node_id).terminate_or_kill() - sandbox.node(node_id).run() - assert sandbox.client(node_id).check_node_listening() - - -@pytest.mark.multinode -@pytest.mark.incremental -@pytest.mark.snapshot -@pytest.mark.slow -class TestMultiNodeSnapshot: - # Tests both the snapshot mechanism and the store's behaviour - # TL;DR, how it works: - # - bake few blocks using all history modes - # - export all kinds of snapshots - # - import all kinds of snapshots - # - check consistency (the snapshot's window includes genesis) - # - bake a few blocks - # - check consistency (the checkpoints should not move yet) - # - bake a few blocks - # - check consistency (the checkpoints should have moved) - # - export all kinds of snapshots - # - import all kinds of snapshots - # - check consistency (checkpoints should be still valid) - # - bake a few blocks - # - check consistency (the checkpoints should have moved) - - def test_init(self, sandbox: Sandbox): - # Node 0: archive baker - sandbox.add_node(0, params=PARAMS + ['--history-mode', 'archive']) - # Node 1: full - sandbox.add_node(1, params=PARAMS + ['--history-mode', 'full']) - # Node 2: rolling - sandbox.add_node(2, params=PARAMS + ['--history-mode', 'rolling']) - protocol.activate(sandbox.client(GROUP1[0]), activate_in_the_past=True) - - def test_bake_batch_1(self, sandbox, session): - for _ in range(BATCH_1): - utils.bake(sandbox.client(0)) - sandbox.client(0).endorse('bootstrap2') - session['head_hash'] = sandbox.client(0).get_head()['hash'] - session['head_level'] = sandbox.client(0).get_head()['header']['level'] - session['snapshot_level'] = session['head_level'] - - def test_group1_batch_1(self, sandbox, session): - for i in GROUP1: - assert utils.check_level(sandbox.client(i), session['head_level']) - - ########################################################################### - # Export all kinds of snapshots - def test_archive_export_full_1(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node0_batch_1.full' - export_level = session['snapshot_level'] - sandbox.node(0).snapshot_export( - file, params=['--block', f'{export_level}'] - ) - - def test_archive_export_rolling_1(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node0_batch_1.rolling' - export_level = session['snapshot_level'] - sandbox.node(0).snapshot_export( - file, params=['--block', f'{export_level}', '--rolling'] - ) - - def test_full_export_full_1(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node1_batch_1.full' - export_level = session['snapshot_level'] - sandbox.node(1).snapshot_export( - file, params=['--block', f'{export_level}'] - ) - - def test_full_export_rolling_1(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node1_batch_1.rolling' - export_level = session['snapshot_level'] - sandbox.node(1).snapshot_export( - file, params=['--block', f'{export_level}', '--rolling'] - ) - - def test_rolling_export_rolling_1(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node2_batch_1.rolling' - export_level = session['snapshot_level'] - sandbox.node(2).snapshot_export( - file, params=['--block', f'{export_level}', '--rolling'] - ) - - ########################################################################### - # Import all kinds of snapshots - # New node: 3 - def test_run_full_node_from_archive_1(self, sandbox): - file = f'{SNAPSHOT_DIR}/node0_batch_1.full' - sandbox.add_node(3, snapshot=file, params=PARAMS) - - # New node: 4 - def test_run_rolling_node_from_archive_1(self, sandbox): - file = f'{SNAPSHOT_DIR}/node0_batch_1.rolling' - sandbox.add_node(4, snapshot=file, params=PARAMS) - - # Reset node 1 - def test_reset_full_node_from_full_1(self, sandbox): - file = f'{SNAPSHOT_DIR}/node1_batch_1.full' - sandbox.rm_node(1) - sandbox.add_node(1, snapshot=file, params=PARAMS) - - # New node: 5 - def test_run_rolling_node_from_full_1(self, sandbox): - file = f'{SNAPSHOT_DIR}/node1_batch_1.rolling' - sandbox.add_node(5, snapshot=file, params=PARAMS) - - # Reset node 2 - def test_reset_rolling_node_from_rolling_1(self, sandbox): - file = f'{SNAPSHOT_DIR}/node2_batch_1.rolling' - sandbox.rm_node(2) - sandbox.add_node(2, snapshot=file, params=PARAMS) - - ########################################################################### - # Check consistency of imported snapshots - # Do not factorize calls to ease debugging - # For the full nodes - def test_node_1_consistency_1(self, sandbox, session): - node_id = 1 - restart(sandbox, node_id) - expected_level = session['snapshot_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - def test_node_3_consistency_1(self, sandbox, session): - node_id = 3 - restart(sandbox, node_id) - expected_level = session['snapshot_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - # For the rolling nodes - def test_node_2_consistency_1(self, sandbox, session): - node_id = 2 - restart(sandbox, node_id) - expected_level = session['snapshot_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_4_consistency_1(self, sandbox, session): - node_id = 4 - restart(sandbox, node_id) - expected_level = session['snapshot_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_5_consistency_1(self, sandbox, session): - node_id = 5 - restart(sandbox, node_id) - expected_level = session['snapshot_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - ########################################################################### - # Bake a few blocks - def test_bake_batch_2(self, sandbox, session): - for _ in range(BATCH_2): - utils.bake(sandbox.client(0)) - sandbox.client(0).endorse('bootstrap2') - session['head_hash'] = sandbox.client(0).get_head()['hash'] - session['head_level'] = sandbox.client(0).get_head()['header']['level'] - for i in GROUP2: - assert utils.check_level(sandbox.client(i), session['head_level']) - - ########################################################################### - # Check consistency of imported snapshots after > 5 baked cycles - # The savepoints of full and rolling nodes **have not** been dragged yet - - # For the full nodes - def test_node_1_consistency_2(self, sandbox, session): - node_id = 1 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - savepoint_when_imported = session['snapshot_level'] - expected_savepoint = savepoint_when_imported - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - def test_node_3_consistency_2(self, sandbox, session): - node_id = 3 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - savepoint_when_imported = session['snapshot_level'] - expected_savepoint = savepoint_when_imported - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - # For the rolling nodes - # The caboose of rolling mode were no dragged yet as - # (checkpoint - max_op_ttl(head)) < savepoint - def test_node_2_consistency_2(self, sandbox, session): - node_id = 2 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - savepoint_when_imported = session['snapshot_level'] - expected_savepoint = savepoint_when_imported - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_caboose = expected_checkpoint - max_op_ttl - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_4_consistency_2(self, sandbox, session): - node_id = 4 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - savepoint_when_imported = session['snapshot_level'] - expected_savepoint = savepoint_when_imported - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_caboose = expected_checkpoint - max_op_ttl - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_5_consistency_2(self, sandbox, session): - node_id = 5 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - savepoint_when_imported = session['snapshot_level'] - expected_savepoint = savepoint_when_imported - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_caboose = expected_checkpoint - max_op_ttl - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - ########################################################################### - # Bake a few blocks - def test_bake_batch_3(self, sandbox, session): - for _ in range(BATCH_3): - utils.bake(sandbox.client(0)) - sandbox.client(0).endorse('bootstrap2') - session['head_hash'] = sandbox.client(0).get_head()['hash'] - session['head_level'] = sandbox.client(0).get_head()['header']['level'] - session['snapshot_level'] = session['head_level'] - for i in GROUP2: - assert utils.check_level(sandbox.client(i), session['head_level']) - - ########################################################################### - # Check consistency of imported snapshots after > 5 baked cycles - # The savepoints of full and rolling nodes **have** been dragged yet - - # For the full nodes - def test_node_1_consistency_3(self, sandbox, session): - node_id = 1 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - max_op_ttl - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - def test_node_3_consistency_3(self, sandbox, session): - node_id = 3 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - max_op_ttl - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - # For the rolling nodes - def test_node_2_consistency_3(self, sandbox, session): - node_id = 2 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - max_op_ttl - expected_caboose = expected_savepoint - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_4_consistency_3(self, sandbox, session): - node_id = 4 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - max_op_ttl - expected_caboose = expected_savepoint - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_5_consistency_3(self, sandbox, session): - node_id = 5 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - 2 * 8 # lafl(head) - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - max_op_ttl - expected_caboose = expected_savepoint - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - ########################################################################### - # Re-export all kinds of snapshots - def test_archive_export_full_2(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node0_batch_3.full' - export_level = session['snapshot_level'] - sandbox.node(0).snapshot_export( - file, params=['--block', f'{export_level}'] - ) - - def test_archive_export_rolling_2(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node0_batch_3.rolling' - export_level = session['snapshot_level'] - sandbox.node(0).snapshot_export( - file, params=['--block', f'{export_level}', '--rolling'] - ) - - def test_full_export_full_2(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node1_batch_3.full' - export_level = session['snapshot_level'] - sandbox.node(1).snapshot_export( - file, params=['--block', f'{export_level}'] - ) - - def test_full_export_rolling_2(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node1_batch_3.rolling' - export_level = session['snapshot_level'] - sandbox.node(1).snapshot_export( - file, params=['--block', f'{export_level}', '--rolling'] - ) - - def test_rolling_export_rolling_2(self, sandbox, session): - file = f'{SNAPSHOT_DIR}/node2_batch_3.rolling' - export_level = session['snapshot_level'] - sandbox.node(2).snapshot_export( - file, params=['--block', f'{export_level}', '--rolling'] - ) - - ########################################################################### - # Import all kinds of snapshots - # Reset node: 3 - def test_run_full_node_from_archive_2(self, sandbox): - file = f'{SNAPSHOT_DIR}/node0_batch_3.full' - sandbox.rm_node(3) - sandbox.add_node(3, snapshot=file, params=PARAMS) - - # Reset node: 4 - def test_run_rolling_node_from_archive_2(self, sandbox): - file = f'{SNAPSHOT_DIR}/node0_batch_3.rolling' - sandbox.rm_node(4) - sandbox.add_node(4, snapshot=file, params=PARAMS) - - # Reset node 1 - def test_reset_full_node_from_full_2(self, sandbox): - file = f'{SNAPSHOT_DIR}/node1_batch_3.full' - sandbox.rm_node(1) - sandbox.add_node(1, snapshot=file, params=PARAMS) - - # Reset node: 5 - def test_run_rolling_node_from_full_2(self, sandbox): - file = f'{SNAPSHOT_DIR}/node1_batch_3.rolling' - sandbox.rm_node(5) - sandbox.add_node(5, snapshot=file, params=PARAMS) - - # Reset node 2 - def test_reset_rolling_node_from_rolling_2(self, sandbox): - file = f'{SNAPSHOT_DIR}/node2_batch_3.rolling' - sandbox.rm_node(2) - sandbox.add_node(2, snapshot=file, params=PARAMS) - - ########################################################################### - # Check consistency of imported snapshots with > 5 cycles - - # For the full nodes - def test_node_1_consistency_4(self, sandbox, session): - node_id = 1 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - def test_node_3_consistency_4(self, sandbox, session): - node_id = 3 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - expected_savepoint = expected_checkpoint - expected_caboose = 0 - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.full_node_blocks_availability( - node_id, sandbox, expected_savepoint, expected_level - ) - - # For the rolling nodes - def test_node_2_consistency_4(self, sandbox, session): - node_id = 2 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - expected_caboose = expected_checkpoint - max_op_ttl - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_4_consistency_4(self, sandbox, session): - node_id = 4 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - expected_caboose = expected_checkpoint - max_op_ttl - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - def test_node_5_consistency_4(self, sandbox, session): - node_id = 5 - restart(sandbox, node_id) - expected_level = session['head_level'] - expected_checkpoint = expected_level - head = sandbox.client(node_id).get_head() - max_op_ttl = head['metadata']['max_operations_ttl'] - expected_savepoint = expected_checkpoint - expected_caboose = expected_checkpoint - max_op_ttl - utils.node_consistency_after_import( - node_id, - sandbox, - expected_level, - expected_checkpoint, - expected_savepoint, - expected_caboose, - ) - utils.rolling_node_blocks_availability( - node_id, - sandbox, - expected_savepoint, - expected_caboose, - expected_level, - ) - - ########################################################################### - # Clean exported snapshots - - def test_clean_files(self): - shutil.rmtree(SNAPSHOT_DIR) diff --git a/tests_python/tests_008/test_multinode_storage_reconstruction.py b/tests_python/tests_008/test_multinode_storage_reconstruction.py deleted file mode 100644 index ae22b631f071..000000000000 --- a/tests_python/tests_008/test_multinode_storage_reconstruction.py +++ /dev/null @@ -1,176 +0,0 @@ -import pytest -from tools import utils -from launchers.sandbox import Sandbox -from . import protocol - -PARAMS = ['--bootstrap-threshold', '0'] -# 2*cycle_size - (protocol_activation) -CEMENTED_LIMIT = 2 * 8 - 1 -# The whole store is cemented -BATCH_1 = 48 -# 2 cycles are pruned in full 5 mode -BATCH_2 = 96 - -SNAPSHOT_1 = f'snapshot_block_{BATCH_1}.full' -SNAPSHOT_2 = f'snapshot_block_{BATCH_2}.full' - -EXPECTED_BLOCK_ERROR = 'Unable to find block' -EXPECTED_COMMAND_ERROR = 'Command failed: Unable to find block' - - -def clear_cache(sandbox, node_id): - # Restart node to clear the store's cache - sandbox.node(node_id).terminate_or_kill() - sandbox.node(node_id).run() - assert sandbox.client(node_id).check_node_listening() - - -@pytest.mark.multinode -@pytest.mark.incremental -@pytest.mark.snapshot -@pytest.mark.slow -class TestMultiNodeStorageReconstruction: - def test_init(self, sandbox: Sandbox): - sandbox.add_node(0, params=PARAMS) - protocol.activate(sandbox.client(0), activate_in_the_past=True) - # Keep node 3 in the dance - # History mode by default (full) - sandbox.add_node(3, params=PARAMS) - - # Node 0 bakes a few blocks - def test_bake_node0_level_a(self, sandbox: Sandbox, session: dict): - for _ in range(BATCH_1): - utils.bake(sandbox.client(0)) - session['head_hash'] = sandbox.client(0).get_head()['hash'] - session['head_level'] = sandbox.client(0).get_head()['header']['level'] - - # Node 3 tries to reconstruct its storage after the first batch. - # Reconstruct is expected to fail: nothing to reconstruct - def test_reconstruct_on_bootstrapped_node(self, sandbox: Sandbox): - # Stop, reconstruct the storage and restart the node - sandbox.node(3).terminate_or_kill() - pattern = 'nothing to reconstruct.' - with utils.assert_run_failure(pattern): - sandbox.node(3).reconstruct() - sandbox.node(3).run() - assert sandbox.client(3).check_node_listening() - - # Node 0 exports a snapshot - def test_export_snapshot_batch1(self, sandbox: Sandbox, session: dict): - node_export = sandbox.node(0) - session['snapshot_1_head_hash'] = session['head_hash'] - session['snapshot_1_head_level'] = session['head_level'] - file = f'{sandbox.node(0).node_dir}/{SNAPSHOT_1}' - export_level = session['head_level'] - assert export_level == (BATCH_1 + 1) - node_export.snapshot_export(file, params=['--block', f'{export_level}']) - - # Node 1 import and reconstruct (using the `--reconstruct` - # flag of the `snapshot import` command) - def test_node1_import_and_reconstruct( - self, sandbox: Sandbox, session: dict - ): - n0_tmpdir = sandbox.node(0).node_dir - file = f'{n0_tmpdir}/{SNAPSHOT_1}' - sandbox.add_node( - 1, - snapshot=file, - reconstruct=True, - params=PARAMS + ['--history-mode', 'archive'], - ) - assert utils.check_level(sandbox.client(1), session['head_level']) - clear_cache(sandbox, 1) - - # Test that all the reconstructed blocks can be requested - # with their metadata - def test_node1_request_all_blocks_with_metadata( - self, sandbox: Sandbox, session: dict - ): - for i in range(session['head_level']): - assert utils.get_block_at_level(sandbox.client(1), i) - - # Node 2 import and then reconstruct using the dedicated command. - def test_import_before_reconstruct(self, sandbox: Sandbox, session: dict): - n0_tmpdir = sandbox.node(0).node_dir - file = f'{n0_tmpdir}/{SNAPSHOT_1}' - sandbox.add_node(2, snapshot=file) - assert utils.check_level(sandbox.client(2), session['head_level']) - - # Checking node's 2 storage - def test_unavailable_blocks_node2(self, sandbox: Sandbox, session: dict): - # We must fail while requesting those pruned blocks - for i in range(1, session['snapshot_1_head_level'] - 1): - with utils.assert_run_failure(EXPECTED_COMMAND_ERROR): - utils.get_block_metadata_at_level(sandbox.client(2), i) - - # Call the reconstruct command on Node 2 - def test_reconstruct_after_snapshot_import(self, sandbox: Sandbox): - # Stop, reconstruct the storage and restart the node - sandbox.node(2).terminate_or_kill() - sandbox.node(2).reconstruct() - sandbox.node(2).run() - assert sandbox.client(2).check_node_listening() - - # Test that all the reconstructed blocks can be requested - # with their metadata - def test_available_blocks_node_2(self, sandbox: Sandbox, session: dict): - # We should now success requesting those reconstructed blocks - for i in range(session['head_level']): - assert utils.get_block_at_level(sandbox.client(2), i) - - # Second batch - - # Bake a few blocks - def test_bake_node0_level_b(self, sandbox: Sandbox, session: dict): - for _ in range(BATCH_2 - BATCH_1): - utils.bake(sandbox.client(0)) - session['head_hash'] = sandbox.client(0).get_head()['hash'] - session['head_level'] = sandbox.client(0).get_head()['header']['level'] - assert utils.check_level(sandbox.client(0), session['head_level']) - assert utils.check_level(sandbox.client(1), session['head_level']) - assert utils.check_level(sandbox.client(2), session['head_level']) - - # Node 0 exports a snapshot (with no floating to reconstruct) - def test_export_snapshot_batch2(self, sandbox: Sandbox, session: dict): - node_export = sandbox.node(0) - # to export on a cemented cycle - export_block_level = 64 - export_block = utils.get_block_at_level( - sandbox.client(0), export_block_level - ) - export_block_hash = export_block['hash'] - session['snapshot_2_head_hash'] = export_block_hash - session['snapshot_2_head_level'] = export_block_level - file = f'{sandbox.node(0).node_dir}/{SNAPSHOT_2}' - node_export.snapshot_export( - file, params=['--block', f'{export_block_level}'] - ) - - # Check that node 3 (full bootstrapped) can be reconstructed - def test_sync_node3(self, sandbox: Sandbox, session: dict): - assert utils.check_level(sandbox.client(3), session['head_level']) - clear_cache(sandbox, 3) - - # Checking node's 3 storage - def test_unavailable_blocks_node3(self, sandbox: Sandbox): - savepoint = int(sandbox.client(3).get_savepoint()) - assert utils.get_block_at_level(sandbox.client(3), savepoint) - # We must fail while requesting blocks before savepoint - for i in range(1, savepoint): - with utils.assert_run_failure(EXPECTED_COMMAND_ERROR): - utils.get_block_metadata_at_level(sandbox.client(3), i) - - def test_reconstruct_command_after_bootstrap(self, sandbox: Sandbox): - # Stop, reconstruct the storage and restart the node - sandbox.node(3).terminate_or_kill() - sandbox.node(3).reconstruct() - # History mode is now archive - sandbox.node(3).run() - assert sandbox.client(3).check_node_listening() - - def test_available_blocks_node3(self, sandbox: Sandbox, session: dict): - assert sandbox.client(3).get_savepoint() == 0 - assert sandbox.client(3).get_caboose() == 0 - # We should now success requesting those reconstructed blocks - for i in range(session['head_level']): - assert utils.get_block_at_level(sandbox.client(3), i) diff --git a/tests_python/tests_008/test_multiple_transfers.py b/tests_python/tests_008/test_multiple_transfers.py deleted file mode 100644 index 468147f64c20..000000000000 --- a/tests_python/tests_008/test_multiple_transfers.py +++ /dev/null @@ -1,133 +0,0 @@ -"""Test the multiple transfer feature of tezos-client""" -import os -import json -import pytest - -from client.client import Client -from tools import utils -from tools.constants import IDENTITIES -from .contract_paths import CONTRACT_PATH - - -def manager(client: Client) -> str: - """Originate and return the alias of a manager contract""" - alias = 'manager' - path = os.path.join(CONTRACT_PATH, 'entrypoints', alias + '.tz') - pubkey = IDENTITIES['bootstrap2']['identity'] - utils.init_with_transfer( - client, path, f'"{pubkey}"', 1000, sender='bootstrap1' - ) - return alias - - -@pytest.fixture(scope="class") -def big_map_entrypoints(client: Client) -> str: - """Originate and return the alias of a big_map_entrypoints contract""" - alias = 'big_map_entrypoints' - path = os.path.join(CONTRACT_PATH, 'entrypoints', alias + '.tz') - utils.init_with_transfer( - client, path, 'Pair {} {Elt "Hello" 42}', 1000, sender='bootstrap1' - ) - return alias - - -@pytest.fixture -def source(client: Client, request) -> str: - """A contract alias that will be used as source for a multiple transfers - command. - - This fixture is indirectly instantiated: the argument specifies - whether the alias of an originated manager contract should be - returned (if argument equals 'manager'). Otherwise, the alias is - assumed to already exist in the client's wallet and is returned - unmodified. - """ - alias = request.param - return manager(client) if alias == 'manager' else alias - - -@pytest.mark.contract -@pytest.mark.incremental -class TestMultipleTransfers: - def test_empty(self, client: Client): - with utils.assert_run_failure(r'Empty operation list'): - json_obj = '[]' - client.run(client.cmd_batch('bootstrap1', json_obj)) - - @pytest.mark.parametrize( - "payer, source", - [('bootstrap2', 'manager'), ('bootstrap4', 'bootstrap4')], - indirect=["source"], - ) - def test_transfer_json_to_entrypoint_with_args( - self, big_map_entrypoints: str, client: Client, payer: str, source: str - ): - """Test the multiple transfers command with a single transfer - to a contract's entrypoint, with implicit accounts or a manager - contract as source as per parametrization. - """ - balance_source = client.get_mutez_balance(source) - balance_payer = client.get_mutez_balance(payer) - fee = 0.0123 - fee_mutez = utils.mutez_of_tez(fee) - json_obj = [ - { - "destination": big_map_entrypoints, - "amount": "0", - "fee": str(fee), - "gas-limit": "65942", - "storage-limit": "1024", - "arg": '"Hello"', - "entrypoint": "mem_right", - } - ] - json_ops = json.dumps(json_obj, separators=(',', ':')) - client.run(client.cmd_batch(source, json_ops)) - utils.bake(client, 'bootstrap5') - new_balance_source = client.get_mutez_balance(source) - new_balance_payer = client.get_mutez_balance(payer) - - if payer != source: - assert balance_source == new_balance_source - - assert balance_payer - fee_mutez == new_balance_payer - - @pytest.mark.parametrize( - "payer, source", - [('bootstrap2', 'manager'), ('bootstrap4', 'bootstrap4')], - ) - def test_multiple_transfers(self, client: Client, payer: str, source: str): - """Test a multiple transfers to implicit accounts, with implicit - accounts or a manager contract as source as per parametrization. - """ - balance_source = client.get_mutez_balance(source) - balance_bootstrap1 = client.get_mutez_balance('bootstrap1') - balance_bootstrap3 = client.get_mutez_balance('bootstrap3') - amount_1 = 10.1 - amount_mutez_1 = utils.mutez_of_tez(amount_1) - amount_3 = 11.01 - amount_mutez_3 = utils.mutez_of_tez(amount_3) - json_obj = [ - {"destination": "bootstrap1", "amount": str(amount_1)}, - {"destination": "bootstrap3", "amount": str(amount_3)}, - ] - json_ops = json.dumps(json_obj, separators=(',', ':')) - client.run(client.cmd_batch(source, json_ops)) - utils.bake(client, 'bootstrap5') - new_balance_source = client.get_mutez_balance(source) - new_balance_bootstrap1 = client.get_mutez_balance('bootstrap1') - new_balance_bootstrap3 = client.get_mutez_balance('bootstrap3') - - if payer == source: - fee_first_transfer = 404 - fee_second_transfer = 308 - source_fee_mutez = fee_first_transfer + fee_second_transfer - else: - source_fee_mutez = 0 - - assert ( - balance_source - amount_mutez_1 - amount_mutez_3 - source_fee_mutez - == new_balance_source - ) - assert balance_bootstrap1 + amount_mutez_1 == new_balance_bootstrap1 - assert balance_bootstrap3 + amount_mutez_3 == new_balance_bootstrap3 diff --git a/tests_python/tests_008/test_multisig.py b/tests_python/tests_008/test_multisig.py deleted file mode 100644 index 06108327a82c..000000000000 --- a/tests_python/tests_008/test_multisig.py +++ /dev/null @@ -1,620 +0,0 @@ -# tezos-client has builtin support for multisig smart contracts. See -# docs/user/multisig.rst for more details about it. - -# This file tests the client multisig support; more precisely it tests -# that both the generic and the legacy versions of the multisig smart -# contract behave as intended. For all commands, we check that we can -# interact with the multisig contract when invoking it by its address -# or by its alias. - -import os -import re -from typing import List -import pytest -from tools import utils, constants -from client.client import Client -from .contract_paths import MINI_SCENARIOS_CONTRACT_PATH, ATTIC_CONTRACT_PATH - - -def get_keys(client): - """Generate 3 pairs of keys using various schemes and return the list - of aliases.""" - keys = ['foo', 'bar', 'boo'] - sigs = [None, 'secp256k1', 'ed25519'] - for key, sig in zip(keys, sigs): - args = [] if sig is None else ['--sig', sig] - client.gen_key(key, args) - return keys - - -@pytest.fixture(scope="class") -def keys(client): - return get_keys(client) - - -def msig_path(msig_version: str) -> str: - return os.path.join( - MINI_SCENARIOS_CONTRACT_PATH, f'{msig_version}_multisig.tz' - ) - - -MSIG_PARAMS = [ - {'by_address': by_address, 'msig_version': msig_version} - for msig_version in ['generic', 'legacy'] - for by_address in [True, False] -] - - -def parse_msig_storage(storage: str): - """Parse the storage of a multisig contract to get its counter (as a - number), threshold (as a number), and the keys of the signers (as - Micheline sequence in a string).""" - # put everything on a single line - storage = ' '.join(storage.split('\n')) - storage_regexp = r'Pair\s+?([0-9]+)\s+?([0-9]+)\s+?(.*)\s*' - match = re.search(storage_regexp, storage) - assert match is not None - return { - 'counter': int(match[1]), - 'threshold': int(match[2]), - 'keys': match[3], - } - - -def resolve_key_alias(client: Client, alias: str) -> str: - """Convert a key alias into a public key that can be understood in - Michelson.""" - ret = client.show_address(alias).public_key - assert ret is not None - return ret - - -def build_michelson_key_list(client: Client, keys: List[str]): - """From a list of key aliases, build a Michelson list of public keys.""" - keys = [resolve_key_alias(client, k) for k in keys] - return '{"' + '"; "'.join(keys) + '"}' - - -def build_msig_storage( - client: Client, counter: int, threshold: int, keys: List[str] -): - """Build a multisig storage from its components: a counter, a - threshold and the list of signer public keys.""" - keys = build_michelson_key_list(client, keys) - return f'Pair {counter} {threshold} {keys}' - - -def assert_michelson_eq(client, data1, data2, typ): - """Check that two Michelson expressions of the same type are equal by - normalizing them.""" - normalized1 = client.normalize(data=data1, typ=typ) - normalized2 = client.normalize(data=data2, typ=typ) - assert normalized1 == normalized2 - - -def assert_msig_storage_eq(client, data1, data2): - """Check that two multisig storages are equal.""" - assert_michelson_eq(client, data1, data2, 'pair nat nat (list key)') - - -def assert_msig_counter_incr(current_storage, new_storage): - """Check that [new_storage] is the same multisig storage than - [current_storage] except that it uses the next counter.""" - current_storage = parse_msig_storage(current_storage) - new_storage = parse_msig_storage(new_storage) - assert new_storage['counter'] == 1 + current_storage['counter'] - assert new_storage['threshold'] == current_storage['threshold'] - assert new_storage['keys'] == current_storage['keys'] - - -@pytest.fixture(scope="class", params=MSIG_PARAMS) -def msig(client: Client, keys, request): - """This fixture originates a multisig contract with a threshold of 2 - and the keys given as parameter. The version of the script is given by - the msig_version parameter, it can be either 'generic' or - 'legacy'. This fixture returns a dictionary containing: - - - a [handle] that can be used to interact with the contract: - either the address of the script or an alias, depending on the - [by_address] parameter - - - the list of [keys] that are stored in the contract which is a - copy of the [keys] parameter - - - the [version], which is a copy of the [msig_version] parameter - - """ - - # We use the same alias for all multisig originations, this makes - # testing simpler but requires using the '--force' option. - msig_alias = 'msig' - msig_version = request.param['msig_version'] - by_address = request.param['by_address'] - initial_storage = build_msig_storage( - client=client, counter=0, threshold=2, keys=keys - ) - deployment = client.originate( - msig_alias, - 100, - 'bootstrap1', - msig_path(msig_version), - # Initialize with empty key list and null threshold - ['--init', initial_storage, '--burn-cap', '100', '--force'], - ) - utils.bake(client) - handle = deployment.contract if by_address else msig_alias - return {'handle': handle, 'keys': keys, 'version': msig_version} - - -@pytest.mark.incremental -class TestMultisig: - def test_deploy_multisig(self, msig, client: Client): - """Test that: - - the script originated by the "deploy multisig" command, - - the generic_multisig.tz script found in the mini_scenarios - directory, and - - the script printed by the "show multisig script" - are the same.""" - keys = msig['keys'] - - # The command cannot originate the legacy contract so there is - # nothing to test in the legacy case. - if msig['version'] == 'generic': - client.deploy_msig( - 'dummy_msig', - 100, - 'bootstrap1', - 2, - keys, - ['--burn-cap', '100', '--force'], - ) - utils.bake(client) - expected_hash = ( - 'exprub9UzpxmhedNQnsv1J1DazWGJnj1dLhtG1fxkUoWSdFLBGLqJ4' - ) - assert expected_hash in client.run( - ['show', 'supported', 'multisig', 'hashes'] - ) - assert client.get_script_hash(msig['handle']) == expected_hash - assert client.get_script_hash('dummy_msig') == expected_hash - assert client.hash_script( - [client.run(['show', 'multisig', 'script'])] - ) == [(expected_hash, None)] - assert client.get_balance('dummy_msig') == 100 - - def test_transfer(self, msig, client: Client, session: dict): - """Test the client command for signing a multisig transfer from key - number 0 and store the signature in the session.""" - keys = msig['keys'] - key = keys[0] - session['sig0'] = client.msig_sign_transfer( - msig['handle'], 10, 'bootstrap2', key - ) - - def test_prepare_msig_transfer(self, msig, client: Client): - """Test the client command for preparing a transfer. The result of the - command is ignored in this test, we only test that the command - succeeds.""" - client.msig_prepare_transfer(msig['handle'], 10, 'bootstrap2') - - def test_prepare_msig_sign(self, msig, client: Client, session: dict): - """Produce signatures for keys number 1 and 2 using the the - preparation command together with the sign_bytes client command. The - signatures are stored in the session.""" - to_sign = client.msig_prepare_transfer( - msig['handle'], 10, 'bootstrap2', ['--bytes-only'] - ) - session['sig1'] = client.sign_bytes_of_string(to_sign, msig['keys'][1]) - session['sig2'] = client.sign_bytes_of_string(to_sign, msig['keys'][2]) - - def test_transfer_failure(self, msig, client: Client, session: dict): - """Test transfer failure when there are too few signatures.""" - error_pattern = ( - r"Not enough signatures: " - + r"only 1 signatures were given " - + r"but the threshold is currently 2" - ) - - with utils.assert_run_failure(error_pattern): - client.msig_transfer( - msig['handle'], - 10, - 'bootstrap2', - 'bootstrap1', - [session['sig2']], - ) - - def test_transfer_success(self, msig, client: Client, session: dict): - """Test a successful transfer using signatures obtained by different - methods. The signatures are taken from the session.""" - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - - client.msig_transfer( - msig['handle'], - 10, - 'bootstrap2', - 'bootstrap1', - [session['sig0'], session['sig2']], - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - assert_msig_counter_incr(current_storage, new_storage) - new_balance = client.get_balance(msig['handle']) - assert new_balance == current_balance - 10 - - def test_default_entrypoint(self, msig, client): - """The generic multisig contract features an unauthorized default - entrypoint to receive donations but the legacy one does not.""" - - def cmd(): - client.transfer( - amount=100, giver='bootstrap1', receiver=msig['handle'] - ) - - if msig['version'] == 'legacy': - error_pattern = r'Invalid argument passed to contract' - with utils.assert_run_failure(error_pattern): - cmd() - else: - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - cmd() - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - new_balance = client.get_balance(msig['handle']) - assert new_storage == current_storage - assert new_balance == current_balance + 100 - - def test_transfer_with_entrypoint(self, msig, client: Client): - """Both versions of the contract can call arbitrary entrypoints of - type unit. This test uses the two possible methods to produce the - signatures.""" - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - contract = ( - 'parameter (or (unit %a) (string %b)); ' - 'storage unit; ' - 'code {CDR; NIL operation; PAIR}' - ) - client.originate( - 'dest_entrypoint', - 0, - 'bootstrap1', - contract, - args=['--burn-cap', '10.0', '--force'], - ) - args = ['--entrypoint', 'a'] - utils.bake(client) - to_sign = client.msig_prepare_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest_entrypoint', - args=args + ['--bytes-only'], - ) - sig0 = client.sign_bytes_of_string(to_sign, msig['keys'][0]) - sig2 = client.msig_sign_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest_entrypoint', - secret_key=msig['keys'][2], - args=args, - ) - client.msig_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest_entrypoint', - src='bootstrap1', - signatures=[sig0, sig2], - args=args, - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - new_balance = client.get_balance(msig['handle']) - assert_msig_counter_incr(current_storage, new_storage) - assert new_balance == current_balance - 10 - - def test_transfer_with_arg(self, msig, client: Client): - """The generic multisig contract can call other contracts with - arbitrary parameters but the legacy one can only send Unit.""" - contract = ( - 'parameter (or (int %a) (string %b)); ' - 'storage unit; ' - 'code {CDR; NIL operation; PAIR}' - ) - client.originate( - 'dest', - 0, - 'bootstrap1', - contract, - args=['--burn-cap', '10.0', '--force'], - ) - args = ['--entrypoint', 'a', '--arg', '42'] - utils.bake(client) - - def cmd(): - return client.msig_prepare_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest', - args=args + ['--bytes-only'], - ) - - if msig['version'] == 'legacy': - error_pattern = ( - r'This multisig contract can only transfer tokens to' - ' contracts of type unit; calling a contract with argument 42' - ' is not supported.' - ) - with utils.assert_run_failure(error_pattern): - cmd() - else: - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - to_sign = cmd() - utils.bake(client) - sig0 = client.sign_bytes_of_string(to_sign, msig['keys'][0]) - sig2 = client.msig_sign_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest', - secret_key=msig['keys'][2], - args=args, - ) - client.msig_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest', - src='bootstrap1', - signatures=[sig0, sig2], - args=args, - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - new_balance = client.get_balance(msig['handle']) - assert_msig_counter_incr(current_storage, new_storage) - assert new_balance == current_balance - 10 - - def test_transfer_ill_typed(self, msig, client: Client): - """Test that the multisig transfer preparation command type checks the - parameter.""" - error_pattern = ( - ( - r'The entrypoint b of contract .* ' - 'called from a multisig contract is of type string; ' - 'the provided parameter 42 is ill-typed.' - ) - if msig['version'] == 'generic' - else ( - r'This multisig contract can only transfer tokens to' - ' contracts of type unit; calling a contract with argument 42' - ' is not supported.' - ) - ) - - args = ['--entrypoint', 'b', '--arg', '42'] - - def cmd(): - client.msig_prepare_transfer( - msig_name=msig['handle'], - amount=10, - dest='dest', - args=args + ['--bytes-only'], - ) - - with utils.assert_run_failure(error_pattern): - cmd() - - def test_transfer_too_high(self, msig, client: Client): - """Test that the multisig transfer preparation command checks the - balance.""" - expected_warning = ( - 'Transferred amount is bigger than current multisig balance' - ) - - client.msig_prepare_transfer( - msig_name=msig['handle'], - amount=1000, - dest='bootstrap1', - args=['--bytes-only'], - expected_warning=expected_warning, - ) - - def test_multiple_operations(self, msig, client: Client): - """The generic multisig client can run lambdas, this can be used to - atomically run several operations.""" - bootstrap1_address = constants.IDENTITIES['bootstrap1']['identity'] - bootstrap2_address = constants.IDENTITIES['bootstrap2']['identity'] - bootstrap3_address = constants.IDENTITIES['bootstrap3']['identity'] - lam = ( - '{ DROP; NIL operation; ' - f'PUSH key_hash "{bootstrap1_address}"; IMPLICIT_ACCOUNT; ' - 'PUSH mutez 1000000; UNIT; TRANSFER_TOKENS; CONS; ' - f'PUSH key_hash "{bootstrap2_address}"; IMPLICIT_ACCOUNT; ' - 'PUSH mutez 2000000; UNIT; TRANSFER_TOKENS; CONS; ' - f'PUSH key_hash "{bootstrap3_address}"; SOME; ' - 'SET_DELEGATE; CONS}' - ) - lam = client.normalize( - lam, typ='lambda unit (list operation)', mode='Optimized' - ) - - def cmd(): - return client.msig_prepare_lambda( - msig_name=msig['handle'], lam=lam, args=['--bytes-only'] - ) - - if msig['version'] == 'legacy': - error_pattern = 'This multisig contract has a fixed set of actions' - with utils.assert_run_failure(error_pattern): - cmd() - else: - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - to_sign = cmd() - sig0 = client.sign_bytes_of_string(to_sign, msig['keys'][0]) - sig2 = client.msig_sign_lambda( - msig_name=msig['handle'], lam=lam, secret_key=msig['keys'][2] - ) - client.msig_run_lambda( - msig_name=msig['handle'], - lam=lam, - src='bootstrap1', - signatures=[sig0, sig2], - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - new_balance = client.get_balance(msig['handle']) - assert_msig_counter_incr(current_storage, new_storage) - assert new_balance == current_balance - 3 - # TODO: check the delegate change - - def test_multiple_operations_failure(self, msig, client: Client): - """Test for the error message for ill-typed lambdas.""" - lam = '{ DROP }' - - def cmd(): - client.msig_prepare_lambda( - msig_name=msig['handle'], lam=lam, args=['--bytes-only'] - ) - - error_pattern = ( - ( - r'The provided lambda .* for multisig contract' - r' is ill-typed; .* is expected.' - ) - if msig['version'] == 'generic' - else 'This multisig contract has a fixed set of actions' - ) - - with utils.assert_run_failure(error_pattern): - cmd() - - def test_delegate_change(self, msig, client: Client): - """Test the multisig command for changing delegate.""" - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - sig0 = client.msig_sign_set_delegate( - msig['handle'], 'bootstrap5', msig['keys'][0] - ) - to_sign = client.msig_prepare_set_delegate( - msig['handle'], 'bootstrap5', ['--bytes-only'] - ) - sig2 = client.sign_bytes_of_string(to_sign, msig['keys'][2]) - client.msig_set_delegate( - msig['handle'], 'bootstrap5', 'bootstrap1', [sig0, sig2] - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - new_balance = client.get_balance(msig['handle']) - assert_msig_counter_incr(current_storage, new_storage) - assert new_balance == current_balance - - def test_delegate_withdraw(self, msig, client: Client): - """Test the multisig command for removing delegation.""" - current_storage = client.get_storage(msig['handle']) - current_balance = client.get_balance(msig['handle']) - sig0 = client.msig_sign_withdrawing_delegate( - msig['handle'], msig['keys'][0] - ) - to_sign = client.msig_prepare_withdrawing_delegate( - msig['handle'], ['--bytes-only'] - ) - - sig1 = client.sign_bytes_of_string(to_sign, msig['keys'][1]) - client.msig_withdrawing_delegate( - msig['handle'], 'bootstrap1', [sig0, sig1] - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - new_balance = client.get_balance(msig['handle']) - assert_msig_counter_incr(current_storage, new_storage) - assert new_balance == current_balance - - def test_run_transaction_change_keys_and_threshold( - self, msig, client: Client - ): - """Test changing the keys and threshold with the `run transaction` - command.""" - current_storage = client.get_storage(msig['handle']) - current_counter = parse_msig_storage(storage=current_storage)['counter'] - current_balance = client.get_balance(msig['handle']) - keys = msig['keys'] - sig0 = client.msig_sign_setting_threshold( - msig['handle'], keys[0], 2, [keys[0], keys[2]] - ) - to_sign = client.msig_prepare_setting_threshold( - msig['handle'], 2, [keys[0], keys[2]], ['--bytes-only'] - ) - sig2 = client.sign_bytes_of_string(to_sign, msig['keys'][2]) - client.msig_run_transaction( - msig['handle'], to_sign, 'bootstrap1', [sig0, sig2] - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - expected_counter = 1 + current_counter - expected_storage = build_msig_storage( - client=client, - counter=expected_counter, - threshold=2, - keys=[keys[0], keys[2]], - ) - assert_msig_storage_eq(client, new_storage, expected_storage) - new_balance = client.get_balance(msig['handle']) - assert new_balance == current_balance - - def test_change_keys_and_threshold(self, msig, client: Client): - """Test changing the keys and threshold with `set threshold of - multisig` command.""" - current_storage = client.get_storage(msig['handle']) - current_counter = parse_msig_storage(storage=current_storage)['counter'] - current_balance = client.get_balance(msig['handle']) - keys = msig['keys'] - new_keys = [keys[0], keys[2]] - sig0 = client.msig_sign_setting_threshold( - msig['handle'], keys[0], 2, new_keys - ) - to_sign = client.msig_prepare_setting_threshold( - msig['handle'], 2, new_keys, ['--bytes-only'] - ) - sig2 = client.sign_bytes_of_string(to_sign, msig['keys'][2]) - client.msig_set_threshold( - msig['handle'], 2, new_keys, 'bootstrap1', [sig0, sig2] - ) - utils.bake(client) - new_storage = client.get_storage(msig['handle']) - expected_counter = 1 + current_counter - expected_storage = build_msig_storage( - client=client, - counter=expected_counter, - threshold=2, - keys=[keys[0], keys[2]], - ) - assert_msig_storage_eq(client, new_storage, expected_storage) - new_balance = client.get_balance(msig['handle']) - assert new_balance == current_balance - - -class TestUnsupportedMultisig: - """Verify that non-multisig contracts are rejected""" - - def test_deploy_nonmultisig(self, client: Client): - contract = os.path.join(ATTIC_CONTRACT_PATH, 'id.tz') - client.originate( - 'id', - 0, - 'bootstrap1', - contract, - args=['--burn-cap', '10.0', '--force', '--init', '""'], - ) - utils.bake(client) - - error_pattern = ( - 'The hash of this script is ' - 'exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL, ' - 'it was not found among in the list of known multisig ' - 'script hashes.' - ) - - with utils.assert_run_failure(error_pattern): - client.msig_transfer('id', 10, 'bootstrap2', 'bootstrap1', []) diff --git a/tests_python/tests_008/test_openapi.py b/tests_python/tests_008/test_openapi.py deleted file mode 100644 index 9348d2302b31..000000000000 --- a/tests_python/tests_008/test_openapi.py +++ /dev/null @@ -1,73 +0,0 @@ -""" Tests generating the implementation of openapi/swagger: - https://swagger.io/ - - This script launches a sandbox node, activates folder specific - protocol, gets the RPC descriptions as JSON, and converts this JSON - into an OpenAPI specification. - - This test mimicks src/openapi/generate.sh. -""" - -import json -import subprocess -from pathlib import Path -import requests -import openapi_spec_validator -import pytest - -from launchers.sandbox import Sandbox -from tools.constants import NODE_PARAMS -from . import protocol - - -def _get_tezos_node_version() -> str: - cmd = ["ocaml", "../scripts/print_version.ml"] - process_ret = subprocess.run( - cmd, check=True, capture_output=True, text=True - ) - version = process_ret.stdout.strip() - assert version, "version should not be empty" - return version - - -class TestOpenAPI: - @pytest.fixture(scope="class") - def sandbox(self, sandbox: Sandbox): - sandbox.add_node(0, params=NODE_PARAMS) - client = sandbox.client(0) - protocol.activate(client) - return sandbox - - @pytest.mark.parametrize( - "rpc_path", ["describe", "describe/chains/main/blocks/head/"] - ) - def test_validity(self, sandbox: Sandbox, rpc_path: str, tmp_path: Path): - """ - Mimicks the script src/openapi/generate.sh. Generates the API - and check it generates a valid OpenAPI specification. - """ - node = sandbox.node(0) - addr = f"http://localhost:{node.rpc_port}/{rpc_path}?recurse=yes" - json_path = tmp_path / "result.json" - with open(json_path, "w") as o_file: - json_res = requests.get(addr).json() - json.dump(json_res, o_file) - - # If you need to debug, insert time.sleep(15) in there, - # to give you time to inspect generated files before the - # enclosing 'with' block finishes or to execute the dune - # command manually while the temporary files are still there. - version = _get_tezos_node_version() - cmd = [ - "dune", - "exec", - "../src/bin_openapi/rpc_openapi.exe", - "--", - version, - str(json_path.absolute()), - ] - process_ret = subprocess.run( - cmd, check=True, capture_output=True, text=True - ) - res = json.loads(process_ret.stdout) - openapi_spec_validator.validate_spec(res) diff --git a/tests_python/tests_008/test_p2p.py b/tests_python/tests_008/test_p2p.py deleted file mode 100644 index ff21a0821a88..000000000000 --- a/tests_python/tests_008/test_p2p.py +++ /dev/null @@ -1,81 +0,0 @@ -import time -import pytest -from tools import constants -from launchers.sandbox import Sandbox - - -NUM_NODES = 5 -NUM_RETRIES = 20 # empirical values for testing a liveness property -POLLING_TIME = 10 # NUM_RETRY * POLLING_TIME = 200s, should be conservative - - -@pytest.mark.multinode -@pytest.mark.incremental -class TestTrustedRing: - """This test sets up a network of public peers (running the default - p2p protocol), with no initial bootstrap peers. It initializes a - trusted ring relationship, and checks that points are advertised - correctly to the whole network.""" - - def test_init(self, sandbox: Sandbox): - for i in range(NUM_NODES): - sandbox.add_node( - i, - private=False, - peers=[], - params=constants.NODE_PARAMS, - config_client=False, - ) - - def test_no_peers(self, sandbox: Sandbox): - """ Initially, nobody knows other peers. """ - for client in sandbox.all_clients(): - res = client.p2p_stat() - assert not res.peers - - def test_add_peers(self, sandbox: Sandbox): - """ Set up a trusted ring topology. """ - base_p2p = sandbox.p2p - for i in range(NUM_NODES): - client = sandbox.client(i) - client.trust_peer(base_p2p + ((i + 1) % NUM_NODES)) - - def test_check_clique(self, sandbox: Sandbox): - """Everyone should be connected to everyone else. This is a - liveness property. Its realization depends on the timing of the - p2p maintenance process. The check is repeated up to NUM_RETRIES - times with a POLLING_TIME seconds wait.""" - for i in range(NUM_NODES): - client = sandbox.client(i) - for _ in range(NUM_RETRIES): - points = client.p2p_stat().points.values() - num_connected = len( - [point for point in points if point.is_connected] - ) - if num_connected == NUM_NODES - 1: - break - time.sleep(POLLING_TIME) - assert num_connected == NUM_NODES - 1 - - def test_check_tables(self, sandbox: Sandbox): - """Test various assumptions on the point/peer tables. - Each peer has exactly one trusted neighbor. Tables don't - contain their own peer/point id and contain exactly NUM_NODES - 1 - values. - - The previous test should guarantee that maintenance has been - performed when this test is run.""" - base_p2p = sandbox.p2p - for i in range(NUM_NODES): - client = sandbox.client(i) - point_id = f'127.0.0.1:{base_p2p + i}' - peer_id = client.rpc('get', '/network/self') - res = client.p2p_stat() - assert peer_id not in res.peers - assert point_id not in res.points - num_trusted = 0 - for point_id, point in res.points.items(): - num_trusted += point.is_trusted - assert num_trusted == 1 - assert len(res.peers) == NUM_NODES - 1 - assert len(res.points) == NUM_NODES - 1 diff --git a/tests_python/tests_008/test_programs.py b/tests_python/tests_008/test_programs.py deleted file mode 100644 index 184f8a17c817..000000000000 --- a/tests_python/tests_008/test_programs.py +++ /dev/null @@ -1,97 +0,0 @@ -import itertools -from client.client import Client - -CONVERT_INPUT_FORMATS = ["michelson", "json", "binary"] -CONVERT_OUTPUT_FORMATS = ["michelson", "json", "binary", "ocaml"] -CONVERT_SCRIPT = { - "michelson": """{ parameter unit ; - storage unit ; - code { CDR ; - NIL operation ; - SELF ; - PUSH mutez 0 ; - UNIT ; - TRANSFER_TOKENS ; - DUP ; - DIP { CONS } ; - CONS ; - PAIR } }""", - "json": """[ { "prim": "parameter", "args": [ { "prim": "unit" } ] }, - { "prim": "storage", "args": [ { "prim": "unit" } ] }, - { "prim": "code", - "args": - [ [ { "prim": "CDR" }, - { "prim": "NIL", "args": [ { "prim": "operation" } ] }, - { "prim": "SELF" }, - { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, - { "prim": "UNIT" }, { "prim": "TRANSFER_TOKENS" }, - { "prim": "DUP" }, - { "prim": "DIP", "args": [ [ { "prim": "CONS" } ] ] }, - { "prim": "CONS" }, { "prim": "PAIR" } ] ] } ]""", - "binary": "0x02000000300500036c0501036c050202000000210317053d036d03490743036a0000034f034d0321051f0200000002031b031b0342", # pylint: disable=line-too-long # noqa: E501 - "ocaml": "Seq (0, [Prim (1, K_parameter, [Prim (2, T_unit, [], [])], []); Prim (3, K_storage, [Prim (4, T_unit, [], [])], []); Prim (5, K_code, [Seq (6, [Prim (7, I_CDR, [], []); Prim (8, I_NIL, [Prim (9, T_operation, [], [])], []); Prim (10, I_SELF, [], []); Prim (11, I_PUSH, [Prim (12, T_mutez, [], []); Int (13, Z.zero)], []); Prim (14, I_UNIT, [], []); Prim (15, I_TRANSFER_TOKENS, [], []); Prim (16, I_DUP, [], []); Prim (17, I_DIP, [Seq (18, [Prim (19, I_CONS, [], [])])], []); Prim (20, I_CONS, [], []); Prim (21, I_PAIR, [], [])])], [])])", # pylint: disable=line-too-long # noqa: E501 -} -CONVERT_DATA = { - "michelson": """{ DROP ; - PUSH address "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU" ; - CONTRACT unit ; - { IF_NONE { { UNIT ; FAILWITH } } {} } ; - PUSH mutez 1 ; - UNIT ; - TRANSFER_TOKENS ; - DIP { NIL operation } ; - CONS }""", - "json": """[ { "prim": "DROP" }, - { "prim": "PUSH", - "args": - [ { "prim": "address" }, - { "string": "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU" } ] }, - { "prim": "CONTRACT", "args": [ { "prim": "unit" } ] }, - [ { "prim": "IF_NONE", - "args": [ [ [ { "prim": "UNIT" }, { "prim": "FAILWITH" } ] ], [] ] } ], - { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "1" } ] }, - { "prim": "UNIT" }, { "prim": "TRANSFER_TOKENS" }, - { "prim": "DIP", - "args": [ [ { "prim": "NIL", "args": [ { "prim": "operation" } ] } ] ] }, - { "prim": "CONS" } ]""", - "binary": "0x020000006403200743036e0100000024747a31666173774354446369527a45346f4a396a6e32566d3264766a6579413966557a550555036c0200000015072f02000000090200000004034f032702000000000743036a0001034f034d051f0200000004053d036d031b", # pylint: disable=line-too-long # noqa: E501 - "ocaml": "Seq (0, [Prim (1, I_DROP, [], []); Prim (2, I_PUSH, [Prim (3, T_address, [], []); String (4, \"tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU\")], []); Prim (5, I_CONTRACT, [Prim (6, T_unit, [], [])], []); Seq (7, [Prim (8, I_IF_NONE, [Seq (9, [Seq (10, [Prim (11, I_UNIT, [], []); Prim (12, I_FAILWITH, [], [])])]); Seq (13, [])], [])]); Prim (14, I_PUSH, [Prim (15, T_mutez, [], []); Int (16, Z.one)], []); Prim (17, I_UNIT, [], []); Prim (18, I_TRANSFER_TOKENS, [], []); Prim (19, I_DIP, [Seq (20, [Prim (21, I_NIL, [Prim (22, T_operation, [], [])], [])])], []); Prim (23, I_CONS, [], [])])", # pylint: disable=line-too-long # noqa: E501 - "type": "lambda unit (list operation)", -} - - -class TestProgramsCommands: - def test_convert_script(self, client: Client): - for (input_, output) in itertools.product( - CONVERT_INPUT_FORMATS, CONVERT_OUTPUT_FORMATS - ): - result = client.run( - [ - "convert", - "script", - CONVERT_SCRIPT[input_], - "from", - input_, - "to", - output, - ] - ) - assert result.strip() == f"{CONVERT_SCRIPT[output]}" - - def test_convert_data(self, client: Client): - for (input_, output, typecheck) in itertools.product( - CONVERT_INPUT_FORMATS, CONVERT_OUTPUT_FORMATS, [True, False] - ): - args = [ - "convert", - "data", - CONVERT_DATA[input_], - "from", - input_, - "to", - output, - ] - if typecheck: - args += ["--type", CONVERT_DATA["type"]] - result = client.run(args) - assert result.strip() == f"{CONVERT_DATA[output]}" diff --git a/tests_python/tests_008/test_proto_demo_counter.py b/tests_python/tests_008/test_proto_demo_counter.py deleted file mode 100644 index 2a9b162db30c..000000000000 --- a/tests_python/tests_008/test_proto_demo_counter.py +++ /dev/null @@ -1,88 +0,0 @@ -import time -import pytest -from client.client import Client -from tools import constants -from tools.constants import PROTO_DEMO_COUNTER, PROTO_GENESIS - -PARAMS = ['-p', PROTO_GENESIS] - - -@pytest.fixture(scope="class") -def client(sandbox): - """One node with genesis.""" - sandbox.add_node(0, params=constants.NODE_PARAMS) - client = sandbox.client(0) - yield client - - -@pytest.mark.incremental -class TestProtoDemo: - """Activate protocol demo_counter, inject operations and bake block. - - This test relies on the fixture client which launches a single - sandboxed node. - """ - - def test_proto_known(self, client: Client): - res = client.list_protocols() - assert PROTO_DEMO_COUNTER in res - - def test_proto_client_known(self, client: Client): - res = client.list_understood_protocols() - assert PROTO_DEMO_COUNTER[:12] in res - - def test_first_protocol(self, client: Client): - proto = 'PrihK96nBAFSxVL1GLJTVhu9YnzkMFiBeuJRPA8NwuZVZCE1L6i' - assert client.get_protocol() == proto - - def test_activate_proto(self, client: Client): - parameters = {'init_a': 100, 'init_b': 100} - res = client.activate_protocol_json( - PROTO_DEMO_COUNTER, parameters, key='activator', fitness='1' - ) - assert res.block_hash - - def test_level1(self, client: Client): - assert client.get_level() == 1 - - def test_protocol_genesis(self, client: Client): - assert client.get_protocol() == PROTO_GENESIS - - def test_bake_command(self, client: Client): - time.sleep(1) - client.run(['bake', 'This is block 2']) - - def test_level2(self, client: Client): - head = client.rpc('get', '/chains/main/blocks/head/') - assert head['header']['level'] == 2 - - def test_inject_operations(self, client: Client): - client.run(['increment', 'a']) - client.run(['increment', 'b']) - client.run(['transfer', '10']) - - def test_mempool(self, client: Client): - ops = client.get_mempool() - assert len(ops['applied']) == 3 - - def test_bake_command_2(self, client: Client): - time.sleep(1) - client.run(['bake', 'This is block 3']) - - def test_level3(self, client: Client): - head = client.rpc('get', '/chains/main/blocks/head/') - assert head['header']['level'] == 3 - - def test_rpc_counter_a(self, client: Client): - head = client.rpc('get', '/chains/main/blocks/head/counter/a') - assert head == 91 - - def test_rpc_counter_b(self, client: Client): - head = client.rpc('get', '/chains/main/blocks/head/counter/b') - assert head == 111 - - def test_get_counter_commands(self, client: Client): - message_a = client.run(['get', 'a']) - assert message_a == "The counter value is 91\n" - message_b = client.run(['get', 'b']) - assert message_b == "The counter value is 111\n" diff --git a/tests_python/tests_008/test_proto_demo_noops_manual_bake.py b/tests_python/tests_008/test_proto_demo_noops_manual_bake.py deleted file mode 100644 index 215f2ed99f1e..000000000000 --- a/tests_python/tests_008/test_proto_demo_noops_manual_bake.py +++ /dev/null @@ -1,97 +0,0 @@ -import time -import pytest -from tools.constants import PROTO_DEMO_NOOPS, PROTO_GENESIS -from client.client import Client - -PARAMS = ['-p', PROTO_GENESIS] - - -@pytest.fixture(scope="class") -def client(sandbox): - """One node with genesis.""" - sandbox.add_node(0) - client = sandbox.client(0) - yield client - - -def forge_block_header_data(protocol_data): - """ - Returns a binary encoding for a dict of the form - `{'block_header_data: string}`, as expected by the protocol. - - This corresponds to the encoding given by - `data_encoding.(obj1 (req "block_header_data" string))`. See - `lib_data_encoding/data_encoding.mli` for the spec. - """ - assert len(protocol_data) == 1 and 'block_header_data' in protocol_data - string = protocol_data['block_header_data'] - tag = '0000' - padded_hex_len = f'{len(string):#06x}'[2:] - return tag + padded_hex_len + bytes(string, 'utf-8').hex() - - -@pytest.mark.incremental -class TestProtoDemo: - """Activate protocol demo_noops, injection some operations and bake block. - - This test relies on the fixture client which launches a single - sandboxed node. - """ - - def test_proto_known(self, client: Client): - res = client.list_protocols() - assert PROTO_DEMO_NOOPS in res - - def test_first_protocol(self, client: Client): - proto = 'PrihK96nBAFSxVL1GLJTVhu9YnzkMFiBeuJRPA8NwuZVZCE1L6i' - assert client.get_protocol() == proto - - def test_activate_proto(self, client: Client): - parameters = {} # type: dict - res = client.activate_protocol_json( - PROTO_DEMO_NOOPS, parameters, key='activator', fitness='1' - ) - assert res.block_hash - - def test_level1(self, client: Client): - assert client.get_level(params=PARAMS) == 1 - - def test_protocol_genesis(self, client: Client): - assert client.get_protocol(params=PARAMS) == PROTO_GENESIS - - def test_manual_bake(self, client: Client): - time.sleep(1) - message = "hello world" - - data = { - "protocol_data": { - "protocol": PROTO_DEMO_NOOPS, - "block_header_data": message, - }, - "operations": [], - } - block = client.rpc( - 'post', - '/chains/main/blocks/head/helpers/preapply/block', - data=data, - params=PARAMS, - ) - - protocol_data = {'block_header_data': message} - encoded = forge_block_header_data(protocol_data) - - shell_header = block['shell_header'] - shell_header['protocol_data'] = encoded - encoded = client.rpc( - 'post', - '/chains/main/blocks/head/helpers/forge_block_header', - data=shell_header, - params=PARAMS, - ) - - inject = {'data': encoded['block'], 'operations': []} - client.rpc('post', '/injection/block', data=inject, params=PARAMS) - - def test_level2(self, client: Client): - head = client.rpc('get', '/chains/main/blocks/head/', params=PARAMS) - assert head['header']['level'] == 2 diff --git a/tests_python/tests_008/test_rpc.py b/tests_python/tests_008/test_rpc.py deleted file mode 100644 index 6a6002b2c31c..000000000000 --- a/tests_python/tests_008/test_rpc.py +++ /dev/null @@ -1,661 +0,0 @@ -import os -import time -import pytest -from tools import utils, constants -from launchers.sandbox import Sandbox -from . import protocol -from . import contract_paths - -CHAIN_ID = "main" -BLOCK_ID = "head" -PKH = "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" -PROTOCOL_HASH = protocol.HASH -BLOCK_LEVEL = "3" -LIST_OFFSET = "0" -OPERATION_OFFSET = "0" - - -@pytest.fixture(scope="class") -def session(): - session = dict() - session["implicit_accounts"] = [ - "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv", - "tz1b7tUupMgCNw2cCLpKTkSD1NZzB5TkP2sv", - "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU", - "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", - ] - session["originated_accounts"] = [] - return session - - -@pytest.fixture(scope="class") -def contract_name(): - return "contract_identity" - - -@pytest.fixture(scope="class") -def sandbox(sandbox: Sandbox, contract_name, session: dict): - """Adds two nodes to sandbox. Using the first node, originates the - identity contract `id.tz` with the name contract_name and makes it - address available under session['originated_accounts']. - """ - sandbox.add_node(1, params=constants.NODE_PARAMS) - sandbox.add_node(2, params=constants.NODE_PARAMS) - client = sandbox.client(1) - protocol.activate(sandbox.client(1), activate_in_the_past=True) - utils.bake(client) - time.sleep(2) - # Deploy a contract - contract = os.path.join(contract_paths.CONTRACT_PATH, 'attic', 'id.tz') - args = ['--init', "\"tezos\"", '--burn-cap', '10.0'] - origination = client.originate( - contract_name, 10.0, "bootstrap1", contract, args - ) - session['originated_accounts'].append(origination.contract) - utils.bake(client) - assert utils.check_block_contains_operations( - client, [origination.operation_hash] - ) - return sandbox - - -@pytest.mark.incremental -@pytest.mark.mempool -@pytest.mark.multinode -@pytest.mark.slow -class TestRPCsExistence: - """ - Tests the existence of RPCs. It does not check the output! - Existence relying on the storage are tested using bootstrap - accounts/originated contracts. - """ - - block_hash = "" - - def test_config_file(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/config') - - def test_network_self(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/self') - - def test_constants(self, sandbox: Sandbox): - sandbox.client(2).rpc('get', '/network/self') - utils.bake(sandbox.client(1)) - time.sleep(3) - - def test_chain_blocks(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/chains/{CHAIN_ID}/blocks') - - def test_chain_chain_id(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/chains/{CHAIN_ID}/chain_id') - - def test_chain_invalid_blocks(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/chains/{CHAIN_ID}/invalid_blocks') - - def test_errors(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/errors') - - def test_fetch_protocol_protocol_hash(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/fetch_protocol/{PROTOCOL_HASH}') - - def test_network_connections(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/connections') - - def test_network_connections_peer_id(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/connections/{peer_id}') - - def test_network_greylist_clear(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/greylist/clear') - - def test_network_peers(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/peers') - - def test_network_peers_peer_id(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/peers/{peer_id}') - - def test_network_peers_peer_id_ban(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/peers/{peer_id}/ban') - - def test_network_peers_peer_id_banned(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/peers/{peer_id}/banned') - - def test_network_peers_peer_id_unban(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/peers/{peer_id}/unban') - - def test_network_peers_peer_id_untrust(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/peers/{peer_id}/untrust') - - def test_network_peers_peer_id_trust(self, sandbox: Sandbox): - peer_id = sandbox.client(2).rpc('get', '/network/self') - sandbox.client(1).rpc('get', f'/network/peers/{peer_id}/trust') - - def test_network_points(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/points') - - def test_network_points_point(self, sandbox: Sandbox): - points = sandbox.client(1).rpc('get', '/network/points') - point = points[-1][0] - sandbox.client(1).rpc('get', f'/network/points/{point}') - - def test_network_points_point_ban(self, sandbox: Sandbox): - points = sandbox.client(1).rpc('get', '/network/points') - point = points[-1][0] - sandbox.client(1).rpc('get', f'/network/points/{point}/ban') - - def test_network_points_point_banned(self, sandbox: Sandbox): - points = sandbox.client(1).rpc('get', '/network/points') - point = points[-1][0] - sandbox.client(1).rpc('get', f'/network/points/{point}/banned') - - def test_network_points_point_trust(self, sandbox: Sandbox): - points = sandbox.client(1).rpc('get', '/network/points') - point = points[-1][0] - sandbox.client(1).rpc('get', f'/network/points/{point}/trust') - - def test_network_points_point_unban(self, sandbox: Sandbox): - points = sandbox.client(1).rpc('get', '/network/points') - point = points[-1][0] - sandbox.client(1).rpc('get', f'/network/points/{point}/unban') - - def test_network_points_point_untrust(self, sandbox: Sandbox): - points = sandbox.client(1).rpc('get', '/network/points') - point = points[-1][0] - sandbox.client(1).rpc('get', f'/network/points/{point}/untrust') - - def test_network_stat(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/stat') - - def test_network_version(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/version') - - def test_network_versions(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/network/versions') - - def test_protocols(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/protocols') - - def test_protocols_protocol_hash(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/protocols/{PROTOCOL_HASH}') - - def test_workers_block_validator(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/workers/block_validator') - - def test_workers_chain_validators(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/workers/chain_validators') - - def test_workers_chain_validator(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/workers/chain_validators/{CHAIN_ID}') - - def test_workers_chain_validator_ddb(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/workers/chain_validators/{CHAIN_ID}/ddb' - ) - - def test_workers_chain_validator_peers_validators(self, sandbox): - sandbox.client(1).rpc( - 'get', f'/workers/chain_validators/{CHAIN_ID}/' 'peers_validators' - ) - - def test_workers_prevalidators(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', '/workers/prevalidators') - - def test_workers_prevalidators_chain_id(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/workers/prevalidators/{CHAIN_ID}') - - def test_chain_block(self, sandbox: Sandbox): - sandbox.client(1).rpc('get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}') - - def test_chain_block_context_constants(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'context/constants' - ) - - def test_chain_block_context_constants_errors(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'context/constants/errors', - ) - - def test_chain_block_context_contracts(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'context/contracts' - ) - - def test_chain_block_context_contract_id( - self, sandbox: Sandbox, session: dict - ): - accounts = session["originated_accounts"] + session["implicit_accounts"] - for contract_id in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}', - ) - - def test_chain_block_context_contract_balance( - self, sandbox: Sandbox, session: dict - ): - accounts = session["originated_accounts"] + session["implicit_accounts"] - for contract_id in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/balance', - ) - - def test_chain_block_context_contract_counter( - self, sandbox: Sandbox, session: dict - ): - # only implicit contracts, see - # proto_alpha/lib_protocol/contract_repr.ml - for contract_id in session["implicit_accounts"]: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/counter', - ) - - def test_chain_block_context_contract_delegate( - self, sandbox: Sandbox, session: dict - ): - for contract_id in session["implicit_accounts"]: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/delegate', - ) - - def test_chain_block_context_contract_script_originated( - self, sandbox: Sandbox, session: dict - ): - # only originated contracts - accounts = session["originated_accounts"] - for contract_id in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/script', - ) - - def test_chain_block_context_contract_script_implicit( - self, sandbox: Sandbox, session: dict - ): - accounts = session["implicit_accounts"] - for contract_id in accounts: - with utils.assert_run_failure('No service found at this URL'): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/' - 'script', - ) - - def test_chain_block_context_contract_storage_originated( - self, sandbox: Sandbox, session: dict - ): - # only originated contracts - accounts = session["originated_accounts"] - for contract_id in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/storage', - ) - - def test_chain_block_context_contract_storage_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit contracts - accounts = session["implicit_accounts"] - for contract_id in accounts: - with utils.assert_run_failure('No service found at this URL'): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/' - 'storage', - ) - - def test_chain_block_context_delegates(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'context/delegates' - ) - - def test_chain_block_context_delegate_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}', - ) - - def test_chain_block_context_delegate_balance_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/balance', - ) - - def test_chain_block_context_delegate_deactivated_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/deactivated', - ) - - def test_chain_block_context_delegate_delegated_balance_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/delegated_balance', - ) - - def test_chain_block_context_delegate_delegated_contracts_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/' - 'delegated_contracts', - ) - - def test_chain_block_context_delegate_frozen_balance_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/frozen_balance', - ) - - def test_chain_block_context_delegate_frozen_balance_by_cycle_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/' - 'frozen_balance_by_cycle', - ) - - def test_chain_block_context_delegate_grace_period_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/grace_period', - ) - - def test_chain_block_context_delegate_staking_balance_implicit( - self, sandbox: Sandbox, session: dict - ): - # only implicit accounts - accounts = session["implicit_accounts"] - for pkh in accounts: - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/delegates/{pkh}/staking_balance', - ) - - def test_chain_block_context_nonces_block_level(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/nonces/{BLOCK_LEVEL}', - ) - - def test_chain_block_context_raw_bytes(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'context/raw/bytes' - ) - - def test_chain_block_hash(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/hash' - ) - - def test_chain_block_header(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'header' - ) - - def test_chain_block_header_protocol_data(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'header/protocol_data', - ) - - def test_chain_block_header_protocol_data_raw(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'header/protocol_data/raw', - ) - - def test_chain_block_header_raw(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'header/raw' - ) - - def test_chain_block_header_shell(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'header/shell' - ) - - def test_chain_block_helpers_baking_rights(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'helpers/baking_rights', - ) - - def test_chain_block_helpers_complete_prefix1(self, sandbox: Sandbox): - prefix = PKH[:10] - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'helpers/complete/{prefix}', - ) - - def test_chain_block_helpers_complete_prefix2(self, sandbox: Sandbox): - res = utils.bake(sandbox.client(1)) - prefix = res.block_hash[:5] - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'helpers/complete/{prefix}', - ) - - def test_chain_block_helpers_current_level(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'helpers/current_level', - ) - - def test_chain_block_helpers_endorsing_rights(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'helpers/endorsing_rights', - ) - - def test_chain_block_helpers_levels_in_current_cycle( - self, sandbox: Sandbox - ): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - 'helpers/levels_in_current_cycle', - ) - - def test_chain_block_live_blocks(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'live_blocks' - ) - - def test_chain_block_metadata(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'metadata' - ) - - def test_chain_block_operation_hashes(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'operation_hashes' - ) - - def test_add_transactions(self, sandbox: Sandbox): - sandbox.client(1).transfer(1.000, 'bootstrap1', 'bootstrap2') - sandbox.client(2).transfer(1.000, 'bootstrap3', 'bootstrap4') - sandbox.client(1).endorse('bootstrap1') - utils.bake(sandbox.client(1)) - time.sleep(3) - - def test_chain_block_operation_hashes_list_offset(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'operation_hashes/{LIST_OFFSET}', - ) - - def test_chain_block_operation_hashes_list_operation( - self, sandbox: Sandbox - ): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'operation_hashes/{LIST_OFFSET}/' - f'{OPERATION_OFFSET}', - ) - - def test_chain_block_operations(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'operations' - ) - - def test_chain_block_operations_list(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'operations/{LIST_OFFSET}', - ) - - def test_chain_block_operations_list_operation(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'operations/{LIST_OFFSET}/' - f'{OPERATION_OFFSET}', - ) - - def test_chain_block_votes_ballot_list(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' f'votes/ballot_list', - ) - - def test_chain_block_votes_ballots(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'votes/ballots' - ) - - def test_chain_block_votes_current_period(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'votes/current_period', - ) - - def test_chain_block_votes_current_proposal(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'votes/current_proposal', - ) - - def test_chain_block_votes_current_quorum(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'votes/current_quorum', - ) - - def test_chain_block_votes_listings(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'votes/listings' - ) - - def test_chain_block_votes_proposals(self, sandbox: Sandbox): - sandbox.client(1).rpc( - 'get', f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' 'votes/proposals' - ) - - def test_stat_gc(self, sandbox: Sandbox): - assert sandbox.client(1).rpc('get', "/stats/gc") - - def test_stat_memory(self, sandbox: Sandbox): - assert sandbox.client(1).rpc('get', "/stats/memory") - - def test_chain_is_bootstrapped(self, sandbox: Sandbox): - assert sandbox.client(1).rpc('get', "/chains/main/is_bootstrapped") - - -class TestDeprecatedRPCs: - def test_chain_block_context_contract_delegatable( - self, sandbox: Sandbox, session: dict - ): - for contract_id in session["implicit_accounts"]: - with utils.assert_run_failure(r"Did not find service"): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/' - f'{BLOCK_ID}/context/contracts/' - f'{contract_id}/delegatable', - ) - - def test_chain_block_context_contract_spendable( - self, sandbox: Sandbox, session: dict - ): - accounts = session["originated_accounts"] + session["implicit_accounts"] - for contract_id in accounts: - with utils.assert_run_failure(r"Did not find service"): - sandbox.client(1).rpc( - 'get', - f'/chains/{CHAIN_ID}/blocks/{BLOCK_ID}/' - f'context/contracts/{contract_id}/' - 'spendable', - ) diff --git a/tests_python/tests_008/test_sapling.py b/tests_python/tests_008/test_sapling.py deleted file mode 100644 index c0b0523c8140..000000000000 --- a/tests_python/tests_008/test_sapling.py +++ /dev/null @@ -1,946 +0,0 @@ -import json -import re -from os import path -import pytest -from tools import utils, paths, constants -from tools.utils import assert_run_failure -from . import contract_paths -from . import protocol - -CONTRACT_PATH = path.join( - paths.TEZOS_HOME, 'src', protocol.FOLDER, 'lib_protocol', 'test' -) -TX_AMOUNT = 100.0 - - -# TODO: Use a random valid memo size for shielded-tez and others -@pytest.fixture -def contract_path(): - return CONTRACT_PATH - - -@pytest.fixture(scope="class") -def sandbox(sandbox): - sandbox.add_node(0, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), activate_in_the_past=True) - return sandbox - - -@pytest.fixture(scope="class") -def node(sandbox): - return sandbox.node(0) - - -@pytest.fixture(scope="class") -def client(sandbox, node): - client = sandbox.get_new_client(node) - return client - - -@pytest.fixture -def mnemonic(): - return [ - "morning", - "dinosaur", - "estate", - "youth", - "sausage", - "feature", - "apology", - "bullet", - "square", - "type", - "zoo", - "coyote", - "extra", - "fabric", - "grain", - "phone", - "pipe", - "despair", - "razor", - "ranch", - "blouse", - "debris", - "urge", - "evidence", - ] - - -@pytest.fixture -def non_originated_contract_address(): - return "KT1MXuZJJFg4EVpLQeLeuHvznTRiNefh3yCs" - - -@pytest.fixture -def non_originated_contract_name(): - return "fake-contract" - - -@pytest.fixture -def key_name(): - return "test_key_name" - - -# here baker 'account' has baked a block and has sent 'tx_amount' -def check_baker_balance(client, account, tx_amount): - parameters = dict(protocol.PARAMETERS) - initial_amount = float(parameters["bootstrap_accounts"][0][1]) - deposit = float(parameters["block_security_deposit"]) - # sender's balance without fees - expected_baker_balance = (initial_amount - deposit) / 1000000 - tx_amount - baker_balance = client.get_balance(account) - # the fees are assumed to be at most 1 tez - assert expected_baker_balance - 1 <= baker_balance <= expected_baker_balance - - -@pytest.mark.client -class TestSaplingWalletImportKey: - @pytest.fixture - def client( - self, - sandbox, - node, - non_originated_contract_name, - non_originated_contract_address, - ): - """ - A client with a pre-registered contract to link the wallet with. - """ - client = sandbox.get_new_client(node) - client.remember_contract( - non_originated_contract_name, non_originated_contract_address - ) - return client - - def test_import_key_no_force(self, client, mnemonic, key_name): - """ - Import key without forcing and without pre-existing alias - """ - client.sapling_import_key(key_name, mnemonic, force=False) - - def test_import_key_force_and_non_previously_saved( - self, - client, - mnemonic, - key_name, - ): - """ - Import key with forcing and without pre-existing alias - """ - client.sapling_import_key(key_name, mnemonic, force=True) - - def test_import_key_force_and_previously_saved( - self, - client, - mnemonic, - key_name, - ): - """ - Import key with forcing and with pre-existing alias - """ - client.sapling_import_key(key_name, mnemonic, force=False) - client.sapling_import_key(key_name, mnemonic, force=True) - - -class TestSaplingWalletAddressGeneration: - @pytest.fixture - def client(self, sandbox, node, key_name, mnemonic): - """ - A client with a sapling wallet - """ - client = sandbox.get_new_client(node) - client.sapling_import_key(key_name, mnemonic, force=False) - return client - - @pytest.mark.parametrize( - "expected_address,expected_index", - [ - ( - "zet13XtyU5Bkasoj1b19sy4DJc7U13XydbxLHqLUdf8Y5tarGb" - "HgFLgDrT6J6FYJoHGL3", - 0, - ) - ], - ) - def test_generate_first_address_of_key( - self, client, key_name, expected_address, expected_index - ): - result = client.sapling_gen_address(key_name) - assert result.index == expected_index - assert result.address == expected_address - - @pytest.mark.parametrize( - "requested_index,expected_address,expected_index", - [ - ( - 0, - "zet13XtyU5Bkasoj1b19sy4DJc7U13XydbxLHqLUdf8Y5tarGb" - "HgFLgDrT6J6FYJoHGL3", - 0, - ), - ( - 1, - "zet13mN26QV67FgPzMSzrigXjKZNMMtCubhi9L3kUePnFYdXqEj" - "c8pmjw1h2wC6NLZf5F", - 1, - ), - ( - 2, - "zet12hzbYRRKbWwKPY61FkjLg7CRWTcjooqeH7VH18fA6Vxnwy7" - "WyTrAEqBXmEdHp9woU", - 4, - ), - ( - 3, - "zet12hzbYRRKbWwKPY61FkjLg7CRWTcjooqeH7VH18fA6Vxnwy7" - "WyTrAEqBXmEdHp9woU", - 4, - ), - ( - 4, - "zet12hzbYRRKbWwKPY61FkjLg7CRWTcjooqeH7VH18fA6Vxnwy7" - "WyTrAEqBXmEdHp9woU", - 4, - ), - ( - 100, - "zet14LmgdAzVrTtQKpeuD3f2y7wFSjXTMEexNNuiEWhGimm25en" - "xkqmwmbdFsC4y6YmYx", - 100, - ), - ( - 143534, - "zet14EWNxZYoHJASHFpcCYSfTfQokWSMzdJeV5SfaGEPDtiYiDC" - "X5jz8QkMF5jZaK5F4k", - 143536, - ), - ( - 42, - "zet143WVQUmNodhSe4ytHL6gvtdXYhRp7bywDWASUFYUCMGAS71" - "juXT6AyWY89fjg3eZn", - 42, - ), - ( - 90870987456348, - "zet13CiUqFsVEr2LdMnyyUQNL3Nh74sa4LdU6V3oD3YfcizbwuF" - "tftPRYvRrB2zsVaEw1", - 90870987456348, - ), - ], - ) - def test_generate_address_with_address_index( - self, - client, - key_name, - expected_address, - expected_index, - requested_index, - ): - result = client.sapling_gen_address(key_name, index=requested_index) - assert result.index == expected_index - assert result.address == expected_address - - -@pytest.mark.client -@pytest.mark.contract -@pytest.mark.incremental -class TestSaplingShieldedTez: - """ - Tests involving sapling key management and shielded transactions using - the shielded tez example contract. - """ - - @pytest.fixture - def contract_path(self): - return path.join(CONTRACT_PATH, 'contracts', 'sapling_contract.tz') - - @pytest.fixture - def contract_name(self): - return "sapling" - - @pytest.fixture(scope="session") - def tmpdir(self, tmpdir_factory): - """ - Temporary directory. Forged transactions will be saved - in this directory. - FIXME/IMPROVEME: tmpdir_factory is a fixture provided by pytest. It is - session-scoped, then the fixture tmpdir must be session-scoped. - Would be nice to have a class-scoped fixture. - """ - tmpdir = tmpdir_factory.mktemp("sapling_transactions_shielded_tez") - return tmpdir - - def test_originate_sapling_contract( - self, contract_path, client, session, contract_name - ): - sender = "bootstrap1" - origination = client.originate( - contract_name=contract_name, - amount=0, - sender=sender, - contract=contract_path, - args=["--init", "{ }", "--burn-cap", "3.0"], - ) - session["contract_address"] = origination.contract - utils.bake(client, sender) - assert utils.check_block_contains_operations( - client, - [origination.operation_hash], - ) - - def test_generate_bob(self, client, session, contract_name): - key_name = "bob" - result = client.sapling_gen_key(key_name=key_name) - client.sapling_use_key_for_contract( - key_name, contract_name, memo_size=8 - ) - session['bob_mnemonic'] = result.mnemonic - - def test_list_keys_bob(self, client): - keys = client.sapling_list_keys() - assert keys == ["bob"] - - def test_list_keys_with_alice_and_bob(self, client, contract_name): - """ - NB: another key (ali) is generated in the test, but the mnemonic - is not saved. - We add this test to verify the list keys command orders alphabetically - """ - key_name = "ali" - client.sapling_gen_key(key_name=key_name) - client.sapling_use_key_for_contract( - key_name=key_name, contract_name=contract_name - ) - keys = client.sapling_list_keys() - assert keys == ["ali", "bob"] - - def test_generate_bob_address_0(self, client, session): - result = client.sapling_gen_address( - key_name="bob", - ) - session['last_address_index'] = result.index - session['bob_address_0'] = result.address - - def test_generate_bob_address_1(self, client, session): - result = client.sapling_gen_address( - key_name="bob", - ) - assert result.index > session['last_address_index'] - session['bob_address_1'] = result.address - - def test_check_bob_balance(self, client, contract_name): - result = client.sapling_get_balance( - key_name="bob", - contract_name=contract_name, - ) - assert result.balance == 0 - - def test_shield_bob_address_0(self, client, session, contract_name): - client.sapling_shield( - amount=TX_AMOUNT, - src="bootstrap2", - dest=session['bob_address_0'], - contract=contract_name, - args=["--burn-cap", "3.0"], - ) - utils.bake(client, "bootstrap2") - check_baker_balance(client, "bootstrap2", TX_AMOUNT) - bob_balance = client.sapling_get_balance( - key_name="bob", contract_name=contract_name - ).balance - assert bob_balance == TX_AMOUNT - - def test_check_contract_balance_after_shielding( - self, client, contract_name - ): - assert client.get_balance(contract_name) == TX_AMOUNT - - def test_regenerate_bob_from_mnemonic(self, client, session): - # Overwrite the old 'bob' key with one restored from the mnemonic. - key_name = "bob" - client.sapling_import_key( - key_name=key_name, - mnemonic=session['bob_mnemonic'], - force=True, - ) - - def test_derive_alice(self, client, contract_name): - result = client.sapling_derive_key( - source_key_name='bob', - target_key_name='alice', - contract_name=contract_name, - index='0', - ) - assert result.path == '0/0' - - def test_derive_yves(self, client, contract_name): - result = client.sapling_derive_key( - source_key_name='bob', - target_key_name='yves', - contract_name=contract_name, - index='1', - ) - assert result.path == '0/1' - - def test_generate_alice_address_0(self, client, session): - result = client.sapling_gen_address( - key_name="alice", - ) - session['alice_address_0'] = result.address - - def test_alice_shields_money_insufficient_funds( - self, client, session, contract_name - ): - with assert_run_failure(r'too low \(4000000\) to spend 2100000000'): - client.sapling_shield( - amount=2100000000.0, - src="bootstrap3", - dest=session['alice_address_0'], - contract=contract_name, - args=["--burn-cap", "3.0"], - ) - - def test_alice_shields_money(self, client, session, contract_name): - client.sapling_shield( - amount=TX_AMOUNT, - src="bootstrap3", - dest=session['alice_address_0'], - contract=contract_name, - args=[ - "--burn-cap", - "3.0", - ], - ) - utils.bake(client, "bootstrap3") - check_baker_balance(client, "bootstrap3", TX_AMOUNT) - alice_balance = client.sapling_get_balance( - key_name="alice", contract_name=contract_name - ).balance - assert alice_balance == TX_AMOUNT - - @pytest.mark.parametrize( - "transaction_file,use_json", - [ - ("sapling_transaction.bin", False), - ("sapling_transaction.json", True), - ], - ) - def test_forge_alice_to_bob_insufficient_funds( - self, - client, - tmpdir, - contract_name, - session, - transaction_file, - use_json, - ): - transaction_file = f'{tmpdir}/{transaction_file}' - amount = 2100000000.0 - account = 'alice' - additional_args = [] - if use_json: - additional_args += ["--json"] - - with assert_run_failure( - r"Balance too low \({}\) to spend {}".format(100, int(amount)) - ): - client.sapling_forge_transaction( - amount=amount, - src=account, - dest=session['bob_address_1'], - contract=contract_name, - file=transaction_file, - args=additional_args, - ) - - def test_forge_alice_to_bob_address_0( - self, tmpdir, session, client, contract_name - ): - transaction_file = f'{tmpdir}/sapling_transaction0.bin' - client.sapling_forge_transaction( - amount=TX_AMOUNT, - src='alice', - dest=session['bob_address_0'], - contract=contract_name, - file=transaction_file, - ) - - def test_forge_alice_to_bob_address_1_binary_format( - self, tmpdir, session, client, contract_name - ): - transaction_file = f'{tmpdir}/sapling_transaction1.bin' - client.sapling_forge_transaction( - amount=50.0, - src='alice', - dest=session['bob_address_1'], - contract=contract_name, - file=transaction_file, - ) - - @pytest.mark.parametrize( - "key_name,expected_balance", [("alice", TX_AMOUNT), ("bob", TX_AMOUNT)] - ) - def test_check_sapling_balances_post_forge_binary_format( - self, client, contract_name, key_name, expected_balance - ): - result = client.sapling_get_balance( - key_name=key_name, - contract_name=contract_name, - ) - assert result.balance == expected_balance - - def test_submit_alice_to_bob_address_1_binary_format( - self, client, tmpdir, contract_name - ): - transaction_file = f'{tmpdir}/sapling_transaction1.bin' - additional_args = ["--burn-cap", "3.0"] - client.sapling_submit( - file=transaction_file, - fee_payer='bootstrap2', - contract=contract_name, - args=additional_args, - ) - utils.bake(client, "bootstrap2") - - @pytest.mark.parametrize( - "key_name,expected_balance", [("alice", 50.0), ("bob", 150.0)] - ) - def test_check_sapling_balances_after_successfull_transaction_in_binary( - self, client, contract_name, key_name, expected_balance - ): - balance = client.sapling_get_balance( - key_name=key_name, contract_name=contract_name - ).balance - assert balance == expected_balance - - def test_forge_alice_to_bob_address_1_json_format( - self, tmpdir, session, client, contract_name - ): - transaction_file = f'{tmpdir}/sapling_transaction1.json' - client.sapling_forge_transaction( - amount=50.0, - src='alice', - dest=session['bob_address_1'], - contract=contract_name, - file=transaction_file, - args=['--json'], - ) - # Try to load the file as JSON. Must not fail. - with open(transaction_file, "r") as file_descriptor: - json.load(file_descriptor) - - @pytest.mark.parametrize( - "key_name,expected_balance", [("alice", 50.0), ("bob", 150.0)] - ) - def test_check_sapling_balances_post_forge_json_format( - self, client, contract_name, key_name, expected_balance - ): - result = client.sapling_get_balance( - key_name=key_name, - contract_name=contract_name, - ) - assert result.balance == expected_balance - - def test_submit_alice_to_bob_address_1_json_format( - self, client, tmpdir, contract_name - ): - transaction_file = f'{tmpdir}/sapling_transaction1.json' - additional_args = ["--burn-cap", "3.0", "--json"] - client.sapling_submit( - file=transaction_file, - fee_payer='bootstrap2', - contract=contract_name, - args=additional_args, - ) - utils.bake(client, "bootstrap2") - - @pytest.mark.parametrize( - "key_name,expected_balance", [("alice", 0.0), ("bob", 200.0)] - ) - def test_check_sapling_balances_after_successfull_transaction_in_json( - self, client, contract_name, key_name, expected_balance - ): - balance = client.sapling_get_balance( - key_name=key_name, contract_name=contract_name - ).balance - assert balance == expected_balance - - @pytest.mark.parametrize( - "transaction_file,use_json", - [ - ("sapling_transaction0.bin", False), - # ("sapling_transaction0.json", True), - ], - ) - def test_submit_alice_to_bob0( - self, client, transaction_file, use_json, tmpdir, contract_name - ): - transaction_file = f'{tmpdir}/{transaction_file}' - additional_args = ["--burn-cap", "3.0"] - if use_json: - additional_args.append("--json") - - with assert_run_failure(r'transfer simulation failed'): - client.sapling_submit( - file=transaction_file, - fee_payer='bootstrap2', - contract=contract_name, - args=additional_args, - ) - - @pytest.mark.parametrize( - "requested_token,real_balance,key_name", - [ - (2100000000, 200, "bob"), - (300, 200, "bob"), - (2100000000, 0, "alice"), - (100, 0, "alice"), - ], - ) - def test_unshields_money_insufficient_funds( - self, client, contract_name, requested_token, real_balance, key_name - ): - with assert_run_failure( - r'Balance too low \({}\) to spend {}'.format( - real_balance, requested_token - ) - ): - client.sapling_unshield( - amount=requested_token, - src=key_name, - dest="bootstrap4", - contract=contract_name, - args=["--burn-cap", "3.0"], - ) - - def test_bob_unshields_money(self, client, contract_name): - bootstrap4_prev_balance = client.get_balance('bootstrap4') - amount = 90.0 - client.sapling_unshield( - amount=amount, - src="bob", - dest="bootstrap4", - contract=contract_name, - args=["--burn-cap", "3.0"], - ) - utils.bake(client, "bootstrap2") - bob_balance = client.sapling_get_balance( - key_name="bob", contract_name=contract_name - ).balance - assert bob_balance == 200.0 - amount - bootstrap4_balance = client.get_balance("bootstrap4") - # The receiver pays fees by default so it will not get the full amount, - # but still, it should have more than before - assert bootstrap4_balance >= bootstrap4_prev_balance - assert bootstrap4_balance <= bootstrap4_prev_balance + amount - - def test_check_state_with_another_client( - self, sandbox, node, contract_name, session - ): - client = sandbox.get_new_client(node) - client.remember_contract(contract_name, session["contract_address"]) - key_name = "bob" - # Restore bob's key from mnemonic: - client.sapling_import_key( - key_name=key_name, - mnemonic=session['bob_mnemonic'], - ) - client.sapling_use_key_for_contract( - key_name, contract_name, memo_size=8 - ) - # Check Bob's balance again, it should be the same: - bob_balance = client.sapling_get_balance( - key_name=key_name, contract_name=contract_name - ).balance - assert bob_balance == 110.0 - - @pytest.mark.parametrize( - "transparent_signer,baker", [("bootstrap4", "bootstrap2")] - ) - def test_shielded_transfer_using_non_sapling_transfer_method( - self, client, contract_name, session, transparent_signer, baker, tmpdir - ): - transaction_filename = f'{tmpdir}/sapling_transaction_2.bin' - client.sapling_forge_transaction( - amount=10.0, - src='bob', - dest=session['bob_address_1'], - contract=contract_name, - file=transaction_filename, - args=[], - ) - with open(transaction_filename, "r") as file_descriptor: - content = re.sub(r'\s+', ' ', file_descriptor.read()) - client.transfer( - 0, - giver=transparent_signer, - receiver=contract_name, - args=[ - "--arg", - '{Pair %s None }' % content, - "--burn-cap", - "3.0", - ], - ) - utils.bake(client, baker) - - @pytest.mark.parametrize( - "key_name,expected_balance", [("alice", 0.0), ("bob", 110.0)] - ) - def test_check_sapling_balances_after_calling_smart_contract( - self, client, contract_name, key_name, expected_balance - ): - balance = client.sapling_get_balance( - key_name=key_name, contract_name=contract_name - ).balance - assert balance == expected_balance - - -class TestSaplingMemoSize: - @pytest.fixture(scope="class") - def contract_name(self): - return "sapling_memo_size" - - @pytest.fixture(scope="class") - def contract_generator(self): - def generator(memo_size): - return ''' -parameter unit; -storage (sapling_state %s); -code { - DROP; - SAPLING_EMPTY_STATE %s; - NIL operation; - PAIR; - } -''' % ( - memo_size, - memo_size, - ) - - return generator - - @pytest.mark.parametrize("memo_size", [0, 1, 10, 42, 100, 65535]) - def test_originate_with_valid_size_and_update_with_valid_size( - self, client, memo_size, contract_name, tmpdir, contract_generator - ): - contract_path = tmpdir.join("c.tz") - contract_path.write(contract_generator(memo_size)) - sender = "bootstrap1" - client.originate( - contract_name=contract_name, - amount=0, - sender=sender, - contract=str(contract_path), - args=["--init", '{ }', "--burn-cap", "3.0", "--force"], - ) - utils.bake(client) - client.transfer( - 0, - giver="bootstrap1", - receiver=contract_name, - args=["--arg", "Unit", "--burn-cap", "3.0"], - ) - utils.bake(client) - - @pytest.mark.parametrize("memo_size", [-1, 65536, 65598909, 908923434]) - def test_originate_with_invalid_size( - self, - client, - memo_size, - contract_path, - contract_name, - contract_generator, - tmpdir, - ): - contract_path = tmpdir.join("c.tz") - contract_path.write(contract_generator(memo_size)) - sender = "bootstrap1" - err = r"expected a positive 16-bit integer" - with assert_run_failure(err): - client.originate( - contract_name=contract_name, - amount=0, - sender=sender, - contract=str(contract_path), - args=["--init", "{ }", "--burn-cap", "3.0", "--force"], - ) - - -@pytest.mark.incremental -class TestSaplingStateCorruption: - @pytest.fixture(scope="session") - def tmpdir(self, tmpdir_factory): - """ - Temporary directory. Forged transactions will be saved - in this directory. - FIXME/IMPROVEME: tmpdir_factory is a fixture provided by pytest. It is - session-scoped, then the fixture tmpdir must be session-scoped. - Would be nice to have a class-scoped fixture. - """ - tmpdir = tmpdir_factory.mktemp("sapling_transactions_shielded_tez") - return tmpdir - - def test_push_sapling_state_with_id_is_forbidden( - self, client, contract_path - ): - contract_name = ( - f"{contract_path}/contracts/sapling_push_sapling_state.tz" - ) - sender = "bootstrap1" - msg = r"big_map or sapling_state type not expected here" - with assert_run_failure(msg): - client.originate( - contract_name="push_sapling_state", - amount=0, - sender=sender, - contract=contract_name, - args=["--init", "Unit", "--burn-cap", "3.0"], - ) - - def test_originate_with_empty(self, client): - """ - Makes sure sapling state with id 0 exists - """ - contract = path.join( - contract_paths.OPCODES_CONTRACT_PATH, "sapling_empty_state.tz" - ) - client.originate( - amount=0, - sender="bootstrap1", - contract=contract, - contract_name="sapling_empty_state", - args=["--init", "{}", "--burn-cap", "3.0"], - ) - client.bake("bootstrap1") - - def test_originate_with_id_is_forbidden(self, client): - contract = path.join( - contract_paths.OPCODES_CONTRACT_PATH, "sapling_empty_state.tz" - ) - with assert_run_failure(r'Unexpected forged value'): - client.originate( - amount=0, - sender="bootstrap1", - contract=contract, - contract_name="sapling_empty_state2", - args=["--init", "0", "--burn-cap", "3.0"], - ) - - -class TestSaplingDifferentMemosize: - """ - Deploy a sapling contract using a sapling state with a memo size N and - create transactions with a memo size of M - """ - - @pytest.fixture - def contract_path(self): - return f'{CONTRACT_PATH}/contracts/sapling_contract.tz' - - def test_shield_with_different_memo_size(self, contract_path, client): - contract_name = "sapling_memo_size_different" - implicit_account = "bootstrap1" - contract_address = client.originate( - contract_name=contract_name, - amount=0, - sender=implicit_account, - contract=contract_path, - args=["--init", "{ }", "--burn-cap", "3.0"], - ).contract - utils.bake(client, implicit_account) - client.sapling_gen_key(key_name='alice') - client.sapling_use_key_for_contract( - 'alice', contract_name, memo_size=16 - ) - address = client.sapling_gen_address(key_name='alice').address - # Key was registered with a memo_size of 16, it should fail - with assert_run_failure(r"Memo sizes of two sapling states"): - client.sapling_shield( - amount=TX_AMOUNT, - src=implicit_account, - dest=address, - contract=contract_address, - args=["--burn-cap", "3.0"], - ) - - -class TestSaplingRightMemosize: - """ - Deploy a sapling contract using a sapling state with a memo size N and - create transactions with a memo size of N and diverse messages - """ - - @pytest.fixture - def contract_path(self): - return f'{CONTRACT_PATH}/contracts/sapling_contract.tz' - - def test_shield_with_same_memo_size(self, contract_path, client): - contract_name = "sapling_memo_size_same" - implicit_account = "bootstrap1" - contract_address = client.originate( - contract_name=contract_name, - amount=0, - sender=implicit_account, - contract=contract_path, - args=["--init", "{ }", "--burn-cap", "3.0"], - ).contract - utils.bake(client, implicit_account) - client.sapling_gen_key(key_name='alice') - client.sapling_use_key_for_contract('alice', contract_name, memo_size=8) - address = client.sapling_gen_address(key_name='alice').address - # Should pass since memo-sizes are equal and message is - # filled with 0's - client.sapling_shield( - amount=TX_AMOUNT, - src=implicit_account, - dest=address, - contract=contract_address, - args=["--burn-cap", "3.0"], - ) - utils.bake(client, "bootstrap2") - # Deriving a new key should work as well since - # the memo-size is kept - client.sapling_derive_key( - source_key_name='alice', - target_key_name='bob', - contract_name=contract_name, - index=10, - ) - address_derived = client.sapling_gen_address(key_name='bob').address - client.sapling_shield( - amount=TX_AMOUNT, - src=implicit_account, - dest=address_derived, - contract=contract_address, - args=["--burn-cap", "3.0"], - ) - utils.bake(client, "bootstrap2") - # Now with a too short message - client.sapling_shield( - amount=TX_AMOUNT, - src=implicit_account, - dest=address, - contract=contract_address, - args=["--burn-cap", "3.0", "--message", "aB"], - ) - utils.bake(client, "bootstrap2") - # Now with a right length message - client.sapling_shield( - amount=TX_AMOUNT, - src=implicit_account, - dest=address, - contract=contract_address, - args=["--burn-cap", "3.0", "--message", "aBbf19F00a"], - ) - utils.bake(client, "bootstrap2") - # Now with a too long message - client.sapling_shield( - amount=TX_AMOUNT, - src=implicit_account, - dest=address, - contract=contract_address, - args=["--burn-cap", "3.0", "--message", "aBbf19F00aaBbf19F00aC"], - ) - utils.bake(client, "bootstrap2") diff --git a/tests_python/tests_008/test_slice_fails_params.txt b/tests_python/tests_008/test_slice_fails_params.txt deleted file mode 100644 index 7241bd22aff3..000000000000 --- a/tests_python/tests_008/test_slice_fails_params.txt +++ /dev/null @@ -1,5 +0,0 @@ -(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "p2sigsceCzcDw2AeYDzUonj4JT341WC9Px4wdhHBxbZcG1FhfqFVuG7f2fGCzrEHSAZgrsrQWpxduDPk9qZRgrpzwJnSHC3gZJ") -(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") -(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2deaad01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") -(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150733eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") -(Pair 0xe009ab79e8b84ef0 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") diff --git a/tests_python/tests_008/test_slice_success_params.txt b/tests_python/tests_008/test_slice_success_params.txt deleted file mode 100644 index 8c0d89bd8142..000000000000 --- a/tests_python/tests_008/test_slice_success_params.txt +++ /dev/null @@ -1 +0,0 @@ -(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") diff --git a/tests_python/tests_008/test_tls.py b/tests_python/tests_008/test_tls.py deleted file mode 100755 index 475d786823bb..000000000000 --- a/tests_python/tests_008/test_tls.py +++ /dev/null @@ -1,23 +0,0 @@ -import pytest -from tools import constants -from client.client import Client - - -@pytest.fixture(scope="class") -def client(sandbox): - sandbox.add_node( - 0, - use_tls=(constants.TEZOS_CRT, constants.TEZOS_KEY), - params=constants.NODE_PARAMS, - ) - yield sandbox.client(0) - - -@pytest.mark.vote -@pytest.mark.incremental -@pytest.mark.skip(reason="requires to install a custom CA") -class TestTLS: - """Test voting protocol with manual baking, 4 blocks per voting period.""" - - def test_bootstrapped(self, client: Client): - assert client.bootstrapped() diff --git a/tests_python/tests_008/test_voting.py b/tests_python/tests_008/test_voting.py deleted file mode 100644 index 4d4d52195f05..000000000000 --- a/tests_python/tests_008/test_voting.py +++ /dev/null @@ -1,287 +0,0 @@ -import shutil - -import pytest - -from client.client import Client -from tools import constants, paths, utils - -from . import protocol - - -@pytest.fixture(scope="class") -def client(sandbox): - """One node, 4 blocks per voting period.""" - parameters = dict(protocol.PARAMETERS) - parameters["time_between_blocks"] = ["1", "0"] - parameters["blocks_per_voting_period"] = 4 - sandbox.add_node(0, params=constants.NODE_PARAMS) - protocol.activate(sandbox.client(0), parameters, activate_in_the_past=True) - yield sandbox.client(0) - - -@pytest.mark.vote -@pytest.mark.incremental -class TestManualBaking: - """Test voting protocol with manual baking, 4 blocks per voting period.""" - - def test_current_period(self, client: Client): - period_info = client.get_current_period() - level = client.get_current_level() - assert level["level_position"] == 0 - assert period_info["voting_period"]["index"] == 0 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 0 - assert period_info["position"] == 0 - assert period_info["remaining"] == 3 - - def test_succ_period(self, client: Client): - period_info = client.get_succ_period() - assert period_info["voting_period"]["index"] == 0 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 0 - assert period_info["position"] == 1 - assert period_info["remaining"] == 2 - - def test_level_info_period_offset(self, client: Client): - level = client.get_current_level(offset=1) - assert level["level_position"] == 1 - assert level["voting_period"] == 0 - assert level["voting_period_position"] == 1 - level = client.get_current_level(offset=4) - assert level["level_position"] == 4 - assert level["voting_period"] == 1 - assert level["voting_period_position"] == 0 - level = client.get_current_level(offset=10) - assert level["level_position"] == 10 - assert level["voting_period"] == 2 - assert level["voting_period_position"] == 2 - - def test_bake_two_blocks(self, client: Client): - utils.bake(client) - utils.bake(client) - period_info = client.get_current_period() - level = client.get_current_level() - assert level["level_position"] == 2 - assert period_info["voting_period"]["index"] == 0 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 0 - assert period_info["position"] == 2 - assert period_info["remaining"] == 1 - - def test_last_block_of_proposal_period(self, client: Client): - # last block of voting period 0 - utils.bake(client) - period_info = client.get_current_period() - assert period_info["voting_period"]["index"] == 0 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 0 - assert period_info["position"] == 3 - assert period_info["remaining"] == 0 - - def test_listing_is_not_empty(self, client: Client): - assert client.get_listings() != [] - - def test_inject_proto1(self, client: Client, tmpdir): - proto_fp = ( - f'{paths.TEZOS_HOME}/src/' f'bin_client/test/proto_test_injection' - ) - for i in range(1, 4): - proto = f'{tmpdir}/proto{i}' - shutil.copytree(proto_fp, proto) - main = f'{proto}/main.ml' - print(main) - with open(main, "a") as file: - file.write(f'(* {i} *)') - client.inject_protocol(proto) - - # this is maybe useless because the protocol already knows more than 4 - # protocol - def test_known_protocol(self, client: Client, session: dict): - protos = client.list_protocols() - assert len(protos) >= 4 - session['protos'] = protos[:4] - - def test_proposals_is_empty(self, client: Client): - assert client.get_proposals() == [] - - def test_show_voting_period2(self, client: Client): - client.show_voting_period() - - def test_bake_first_block_of_proposal_period(self, client: Client): - # using the client it's not possible to add voting operation on the - # first block of a voting period. This is to be fixed in a future - # protocol - utils.bake(client) - period_info = client.get_current_period() - assert period_info["voting_period"]["index"] == 1 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 4 - assert period_info["position"] == 0 - assert period_info["remaining"] == 3 - - def test_submit_proposals(self, client: Client, session: dict): - protos = session['protos'] - client.submit_proposals('bootstrap1', [protos[0]]) - client.submit_proposals('bootstrap2', [protos[0], protos[1]]) - client.submit_proposals('bootstrap3', [protos[1]]) - client.submit_proposals('bootstrap4', [protos[2]]) - - def test_bake_one_block(self, client: Client): - utils.bake(client) - period_info = client.get_current_period() - assert period_info["voting_period"]["index"] == 1 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 4 - assert period_info["position"] == 1 - assert period_info["remaining"] == 2 - - def test_proposals_is_not_empty(self, client: Client): - assert client.get_proposals() != [] - - def test_bake_until_prev_last_block_of_voting_period(self, client: Client): - utils.bake(client) - period_info = client.get_current_period() - assert period_info["position"] == 2 - assert period_info["remaining"] == 1 - - def test_break_proposal_tie(self, client: Client, session: dict): - protos = session['protos'] - client.submit_proposals('bootstrap4', [protos[1]]) - - def test_bake_last_block_of_proposal_period(self, client: Client): - utils.bake(client) - period_info = client.get_current_period() - metadata = client.get_metadata() - meta_level = metadata["level"] - level_info = metadata["level_info"] - meta_period_info = metadata["voting_period_info"] - expected_commitment = meta_level["expected_commitment"] - deprecated_period_kind = metadata["voting_period_kind"] - period_index = metadata["level"]["voting_period"] - period_position = metadata["level"]["voting_period_position"] - level = client.get_current_level() - # check if metadata has the same value as the level and voting period, - # see inline comment in alpha apply.ml. This is tested here because the - # level of metadata and current level use the compatibility encoding - # that contains the voting period information - assert meta_level == level - assert level["level"] == level_info["level"] - assert level["level_position"] == level_info["level_position"] - assert level["cycle"] == level_info["cycle"] - assert level["cycle_position"] == level_info["cycle_position"] - assert expected_commitment == level_info["expected_commitment"] - assert period_index == period_info["voting_period"]["index"] - assert deprecated_period_kind == "testing_vote" - assert period_position == period_info["position"] - assert level["level_position"] == 7 - assert period_info["voting_period"]["index"] == 1 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 4 - assert period_info["position"] == 3 - assert period_info["remaining"] == 0 - assert meta_period_info == period_info - - def test_listing_is_not_empty2(self, client: Client): - assert client.get_listings() != [] - - def test_current_proposal(self, client: Client, session: dict): - expected = session['protos'][1] - assert expected == client.get_current_proposal() - - def test_bake_first_block_of_testing_vote_period(self, client: Client): - # using the client it's not possible to add voting operation on the - # first block of a voting period. This is to be fixed in a future - # protocol - utils.bake(client) - period_info = client.get_current_period() - assert period_info["voting_period"]["index"] == 2 - assert period_info["voting_period"]["kind"] == "testing_vote" - assert period_info["voting_period"]["start_position"] == 8 - assert period_info["position"] == 0 - assert period_info["remaining"] == 3 - - def test_submit_ballot(self, client: Client, session: dict): - # next block is going to be of 'testing_vote' kind - proto = session['protos'][1] - for i in range(1, 4): - client.submit_ballot(f'bootstrap{i}', proto, 'yay') - - def test_bake_until_prev_last_block_of_voting_period2(self, client: Client): - utils.bake(client) - utils.bake(client) - period_info = client.get_current_period() - level = client.get_current_level() - assert level["level_position"] == 10 - assert period_info["voting_period"]["index"] == 2 - assert period_info["voting_period"]["kind"] == "testing_vote" - assert period_info["voting_period"]["start_position"] == 8 - assert period_info["position"] == 2 - assert period_info["remaining"] == 1 - - def test_submit_failing_ballot(self, client: Client, session: dict): - proto = session['protos'][1] - client.submit_ballot(f'bootstrap{4}', proto, 'nay') - - def test_level_info_period_offset2(self, client: Client): - level = client.get_current_level(offset=-1) - assert level["level_position"] == 9 - assert level["voting_period"] == 2 - assert level["voting_period_position"] == 1 - level = client.get_current_level(offset=-4) - assert level["level_position"] == 6 - assert level["voting_period"] == 1 - assert level["voting_period_position"] == 2 - level = client.get_current_level(offset=-10) - assert level["level_position"] == 0 - assert level["voting_period"] == 0 - assert level["voting_period_position"] == 0 - - def test_bake_first_block_of_new_proposal_period(self, client: Client): - utils.bake(client) - # Because of the current hack in proposal here we make sure we get the - # correct value - period_info = client.get_current_period() - metadata = client.get_metadata() - meta_level = metadata["level"] - level_info = metadata["level_info"] - meta_period_info = metadata["voting_period_info"] - expected_commitment = meta_level["expected_commitment"] - period_kind = metadata["voting_period_kind"] - period_index = metadata["level"]["voting_period"] - period_position = metadata["level"]["voting_period_position"] - level = client.get_current_level() - deprecated_kind = client.get_current_period_kind() - # check if metadata has the same value as the level and voting period, - # see inline comment in alpha apply.ml. This is tested here because the - # level of metadata and current level use the compatibility encoding - # that contains the voting period information - assert meta_level == level - assert level["level"] == level_info["level"] - assert level["level_position"] == level_info["level_position"] - assert level["cycle"] == level_info["cycle"] - assert level["cycle_position"] == level_info["cycle_position"] - assert expected_commitment == level_info["expected_commitment"] - assert period_index == period_info["voting_period"]["index"] - assert period_kind == "proposal" - assert period_kind == deprecated_kind - assert period_position == period_info["position"] - assert level["level_position"] == 11 - assert period_info["voting_period"]["index"] == 2 - assert period_info["voting_period"]["kind"] == "testing_vote" - assert period_info["voting_period"]["start_position"] == 8 - assert period_info["position"] == 3 - assert period_info["remaining"] == 0 - assert meta_period_info == period_info - utils.bake(client) - period_info = client.get_current_period() - level = client.get_current_level() - assert level["level_position"] == 12 - assert period_info["voting_period"]["index"] == 3 - assert period_info["voting_period"]["kind"] == "proposal" - assert period_info["voting_period"]["start_position"] == 12 - assert period_info["position"] == 0 - assert period_info["remaining"] == 3 - assert client.get_listings() != '[]' - # strange behavior here, RPC returns 'null' on stderr - assert client.get_current_proposal() is None - assert client.get_ballot_list() == [] -- GitLab From fe316a4c12273c1dc25cb705ea099e84c4ac8029 Mon Sep 17 00:00:00 2001 From: Pietro Date: Tue, 29 Jun 2021 17:09:50 +0200 Subject: [PATCH 04/12] Edo freeze: remove lib_delegate --- .../lib_delegate/.ocamlformat | 17 - .../lib_delegate/client_baking_blocks.ml | 205 --- .../lib_delegate/client_baking_blocks.mli | 71 - .../client_baking_denunciation.ml | 382 ---- .../client_baking_denunciation.mli | 30 - .../lib_delegate/client_baking_endorsement.ml | 313 ---- .../client_baking_endorsement.mli | 48 - .../lib_delegate/client_baking_files.ml | 52 - .../lib_delegate/client_baking_files.mli | 36 - .../lib_delegate/client_baking_forge.ml | 1608 ----------------- .../lib_delegate/client_baking_forge.mli | 106 -- .../client_baking_highwatermarks.ml | 115 -- .../client_baking_highwatermarks.mli | 63 - .../lib_delegate/client_baking_lib.ml | 160 -- .../lib_delegate/client_baking_lib.mli | 71 - .../lib_delegate/client_baking_nonces.ml | 180 -- .../lib_delegate/client_baking_nonces.mli | 81 - .../lib_delegate/client_baking_pow.ml | 82 - .../lib_delegate/client_baking_pow.mli | 42 - .../lib_delegate/client_baking_revelation.ml | 69 - .../lib_delegate/client_baking_revelation.mli | 35 - .../lib_delegate/client_baking_scheduling.ml | 160 -- .../lib_delegate/client_baking_scheduling.mli | 56 - .../lib_delegate/client_baking_simulator.ml | 111 -- .../lib_delegate/client_baking_simulator.mli | 59 - .../lib_delegate/client_daemon.ml | 202 --- .../lib_delegate/client_daemon.mli | 60 - .../lib_delegate/delegate_commands.ml | 347 ---- .../lib_delegate/delegate_commands.mli | 32 - .../delegate_commands_registration.ml | 29 - src/proto_008_PtEdo2Zk/lib_delegate/dune | 84 - .../lib_delegate/dune-project | 3 - .../lib_delegate/logging.ml | 153 -- .../lib_delegate/logging.mli | 80 - .../tezos-accuser-008-PtEdo2Zk-commands.opam | 23 - .../tezos-baking-008-PtEdo2Zk-commands.opam | 24 - .../tezos-baking-008-PtEdo2Zk.opam | 26 - .../tezos-endorser-008-PtEdo2Zk-commands.opam | 23 - 38 files changed, 5238 deletions(-) delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/.ocamlformat delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands_registration.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/dune delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/dune-project delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/logging.ml delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/logging.mli delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/tezos-accuser-008-PtEdo2Zk-commands.opam delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk-commands.opam delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk.opam delete mode 100644 src/proto_008_PtEdo2Zk/lib_delegate/tezos-endorser-008-PtEdo2Zk-commands.opam diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/.ocamlformat b/src/proto_008_PtEdo2Zk/lib_delegate/.ocamlformat deleted file mode 100644 index 5e1158919e85..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/.ocamlformat +++ /dev/null @@ -1,17 +0,0 @@ -version=0.18.0 -wrap-fun-args=false -let-binding-spacing=compact -field-space=loose -break-separators=after -space-around-arrays=false -space-around-lists=false -space-around-records=false -space-around-variants=false -dock-collection-brackets=true -space-around-records=false -sequence-style=separator -doc-comments=before -margin=80 -module-item-spacing=sparse -parens-tuple=always -parens-tuple-patterns=always diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.ml deleted file mode 100644 index e87d912a21b3..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.ml +++ /dev/null @@ -1,205 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type block_info = { - hash : Block_hash.t; - chain_id : Chain_id.t; - predecessor : Block_hash.t; - fitness : Bytes.t list; - timestamp : Time.Protocol.t; - protocol : Protocol_hash.t; - next_protocol : Protocol_hash.t; - proto_level : int; - level : Raw_level.t; - context : Context_hash.t; - predecessor_block_metadata_hash : Block_metadata_hash.t option; - predecessor_operations_metadata_hash : - Operation_metadata_list_list_hash.t option; -} - -let raw_info cctxt ?(chain = `Main) hash shell_header = - let block = `Hash (hash, 0) in - Shell_services.Chain.chain_id cctxt ~chain () >>=? fun chain_id -> - Shell_services.Blocks.protocols cctxt ~chain ~block () - >>=? fun {current_protocol = protocol; next_protocol} -> - (Shell_services.Blocks.metadata_hash cctxt ~chain ~block () >>= function - | Ok predecessor_block_metadata_hash -> - return_some predecessor_block_metadata_hash - | Error _ -> return_none) - >>=? fun predecessor_block_metadata_hash -> - (Shell_services.Blocks.Operation_metadata_hashes.root cctxt ~chain ~block () - >>= function - | Ok predecessor_operations_metadata_hash -> - return_some predecessor_operations_metadata_hash - | Error _ -> return_none) - >>=? fun predecessor_operations_metadata_hash -> - let { - Tezos_base.Block_header.predecessor; - fitness; - timestamp; - level; - context; - proto_level; - _; - } = - shell_header - in - match Raw_level.of_int32 level with - | Ok level -> - return - { - hash; - chain_id; - predecessor; - fitness; - timestamp; - protocol; - next_protocol; - proto_level; - level; - context; - predecessor_block_metadata_hash; - predecessor_operations_metadata_hash; - } - | Error _ -> failwith "Cannot convert level into int32" - -let info cctxt ?(chain = `Main) block = - Shell_services.Blocks.hash cctxt ~chain ~block () >>=? fun hash -> - Shell_services.Blocks.Header.shell_header cctxt ~chain ~block () - >>=? fun shell_header -> raw_info cctxt ~chain hash shell_header - -module Block_seen_event = struct - type t = { - hash : Block_hash.t; - header : Tezos_base.Block_header.t; - occurrence : [`Valid_blocks of Chain_id.t | `Heads]; - } - - let make hash header occurrence () = {hash; header; occurrence} - - module Definition = struct - let section = None - - let name = "block-seen-" ^ Protocol.name - - type nonrec t = t - - let encoding = - let open Data_encoding in - let v0_encoding = - conv - (function {hash; header; occurrence} -> (hash, occurrence, header)) - (fun (b, o, h) -> make b h o ()) - (obj3 - (req "hash" Block_hash.encoding) - (* Occurrence has to come before header, because: - (Invalid_argument - "Cannot merge two objects when the left element is of - variable length and the right one of dynamic - length. You should use the reverse order, or wrap the - second one with Data_encoding.dynamic_size.") *) - (req - "occurrence" - (union - [ - case - ~title:"heads" - (Tag 0) - (obj1 (req "occurrence-kind" (constant "heads"))) - (function `Heads -> Some () | _ -> None) - (fun () -> `Heads); - case - ~title:"valid-blocks" - (Tag 1) - (obj2 - (req "occurrence-kind" (constant "valid-blocks")) - (req "chain-id" Chain_id.encoding)) - (function - | `Valid_blocks ch -> Some ((), ch) | _ -> None) - (fun ((), ch) -> `Valid_blocks ch); - ])) - (req "header" Tezos_base.Block_header.encoding)) - in - With_version.(encoding ~name (first_version v0_encoding)) - - let pp ~short:_ ppf {hash; _} = - Format.fprintf ppf "Saw block %a" Block_hash.pp_short hash - - let doc = "Block observed while monitoring a blockchain." - - let level _ = Internal_event.Info - end - - module Event = Internal_event.Make (Definition) -end - -let monitor_valid_blocks cctxt ?chains ?protocols ~next_protocols () = - Monitor_services.valid_blocks cctxt ?chains ?protocols ?next_protocols () - >>=? fun (block_stream, _stop) -> - return - (Lwt_stream.map_s - (fun ((chain, block), header) -> - Block_seen_event.(Event.emit (make block header (`Valid_blocks chain))) - >>=? fun () -> - raw_info - cctxt - ~chain:(`Hash chain) - block - header.Tezos_base.Block_header.shell) - block_stream) - -let monitor_heads cctxt ~next_protocols chain = - Monitor_services.heads cctxt ?next_protocols chain - >>=? fun (block_stream, _stop) -> - return - (Lwt_stream.map_s - (fun (block, ({Tezos_base.Block_header.shell; _} as header)) -> - Block_seen_event.(Event.emit (make block header `Heads)) >>=? fun () -> - raw_info cctxt ~chain block shell) - block_stream) - -let blocks_from_current_cycle cctxt ?(chain = `Main) block ?(offset = 0l) () = - Shell_services.Blocks.hash cctxt ~chain ~block () >>=? fun hash -> - Shell_services.Blocks.Header.shell_header cctxt ~chain ~block () - >>=? fun {level; _} -> - Alpha_services.Helpers.levels_in_current_cycle cctxt ~offset (chain, block) - >>= function - | Error (RPC_context.Not_found _ :: _) -> return_nil - | Error _ as err -> Lwt.return err - | Ok (first, last) -> - let length = Int32.to_int (Int32.sub level (Raw_level.to_int32 first)) in - Shell_services.Blocks.list cctxt ~chain ~heads:[hash] ~length () - >>=? fun blocks -> - let blocks = - List.remove - (length - Int32.to_int (Raw_level.diff last first)) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.hd blocks) - in - if Int32.equal level (Raw_level.to_int32 last) then - return (hash :: blocks) - else return blocks diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.mli deleted file mode 100644 index 4167be75ce1b..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_blocks.mli +++ /dev/null @@ -1,71 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type block_info = { - hash : Block_hash.t; - chain_id : Chain_id.t; - predecessor : Block_hash.t; - fitness : Bytes.t list; - timestamp : Time.Protocol.t; - protocol : Protocol_hash.t; - next_protocol : Protocol_hash.t; - proto_level : int; - level : Raw_level.t; - context : Context_hash.t; - predecessor_block_metadata_hash : Block_metadata_hash.t option; - predecessor_operations_metadata_hash : - Operation_metadata_list_list_hash.t option; -} - -val info : - #Protocol_client_context.rpc_context -> - ?chain:Chain_services.chain -> - Block_services.block -> - block_info tzresult Lwt.t - -val monitor_valid_blocks : - #Protocol_client_context.rpc_context -> - ?chains:Chain_services.chain list -> - ?protocols:Protocol_hash.t list -> - next_protocols:Protocol_hash.t list option -> - unit -> - block_info tzresult Lwt_stream.t tzresult Lwt.t - -val monitor_heads : - #Protocol_client_context.rpc_context -> - next_protocols:Protocol_hash.t list option -> - Chain_services.chain -> - block_info tzresult Lwt_stream.t tzresult Lwt.t - -val blocks_from_current_cycle : - #Protocol_client_context.rpc_context -> - ?chain:Chain_services.chain -> - Block_services.block -> - ?offset:int32 -> - unit -> - Block_hash.t list tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.ml deleted file mode 100644 index 6f8485789cf8..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.ml +++ /dev/null @@ -1,382 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -include Internal_event.Legacy_logging.Make_semantic (struct - let name = Protocol.name ^ ".baking.denunciation" -end) - -open Protocol -open Alpha_context -open Protocol_client_context -open Client_baking_blocks -open Logging - -module HLevel = Hashtbl.Make (struct - type t = Chain_id.t * Raw_level.t - - let equal (c, l) (c', l') = Chain_id.equal c c' && Raw_level.equal l l' - - let hash (c, lvl) = Hashtbl.hash (c, lvl) -end) - -module Delegate_Map = Map.Make (Signature.Public_key_hash) - -type state = { - (* Endorsements seen so far *) - endorsements_table : Kind.endorsement operation Delegate_Map.t HLevel.t; - (* Blocks received so far *) - blocks_table : Block_hash.t Delegate_Map.t HLevel.t; - (* Maximum delta of level to register *) - preserved_levels : int; - (* Highest level seen in a block *) - mutable highest_level_encountered : Raw_level.t; -} - -let create_state ~preserved_levels = - Lwt.return - { - endorsements_table = HLevel.create preserved_levels; - blocks_table = HLevel.create preserved_levels; - preserved_levels; - highest_level_encountered = Raw_level.root (* 0l *); - } - -(* We choose a previous offset (5 blocks from head) to ensure that the - injected operation is branched from a valid predecessor. *) -let get_block_offset level = - match Environment.wrap_error (Raw_level.of_int32 5l) with - | Ok min_level -> - Lwt.return (if Raw_level.(level < min_level) then `Head 0 else `Head 5) - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Invalid level conversion : %a" - -% t event "invalid_level_conversion" - -% a errs_tag errs) - >>= fun () -> Lwt.return (`Head 0) - -let process_endorsements (cctxt : #Protocol_client_context.full) state - (endorsements : Alpha_block_services.operation list) level = - List.iter_es - (fun {Alpha_block_services.shell; chain_id; receipt; hash; protocol_data; _} -> - let chain = `Hash chain_id in - match (protocol_data, receipt) with - | ( Operation_data - ({contents = Single (Endorsement _); _} as protocol_data), - Some - Apply_results.( - Operation_metadata - {contents = Single_result (Endorsement_result {delegate; _})}) - ) -> ( - let new_endorsement : Kind.endorsement Alpha_context.operation = - {shell; protocol_data} - in - let map = - Option.value ~default:Delegate_Map.empty - @@ HLevel.find state.endorsements_table (chain_id, level) - in - (* If a previous endorsement made by this pkh is found for - the same level we inject a double_endorsement *) - match Delegate_Map.find delegate map with - | None -> - return - @@ HLevel.add - state.endorsements_table - (chain_id, level) - (Delegate_Map.add delegate new_endorsement map) - | Some existing_endorsement - when Block_hash.( - existing_endorsement.shell.branch - <> new_endorsement.shell.branch) -> - get_block_offset level >>= fun block -> - Alpha_block_services.hash cctxt ~chain ~block () - >>=? fun block_hash -> - Alpha_services.Forge.double_endorsement_evidence - cctxt - (`Hash chain_id, block) - ~branch:block_hash - ~op1:existing_endorsement - ~op2:new_endorsement - () - >>=? fun bytes -> - let bytes = Signature.concat bytes Signature.zero in - lwt_log_notice - Tag.DSL.( - fun f -> - f "Double endorsement detected" - -% t event "double_endorsement_detected" - -% t - conflicting_endorsements_tag - (existing_endorsement, new_endorsement)) - >>= fun () -> - (* A denunciation may have already occurred *) - Shell_services.Injection.operation cctxt ~chain bytes - >>=? fun op_hash -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Double endorsement evidence injected %a" - -% t event "double_endorsement_denounced" - -% t signed_operation_tag bytes - -% a Operation_hash.Logging.tag op_hash) - >>= fun () -> - return - @@ HLevel.replace - state.endorsements_table - (chain_id, level) - (Delegate_Map.add delegate new_endorsement map) - | Some _ -> - (* This endorsement is already present in another - block but endorse the same predecessor *) - return_unit) - | _ -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Inconsistent endorsement found %a" - -% t event "inconsistent_endorsement" - -% a Operation_hash.Logging.tag hash) - >>= fun () -> return_unit) - endorsements - >>=? fun () -> return_unit - -let process_block (cctxt : #Protocol_client_context.full) state - (header : Alpha_block_services.block_info) = - match header with - | {hash; metadata = None; _} -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Unexpected pruned block: %a" - -% t event "unexpected_pruned_block" - -% a Block_hash.Logging.tag hash) - >>= fun () -> return_unit - | { - Alpha_block_services.chain_id; - hash; - metadata = Some {protocol_data = {baker; level = {level; _}; _}; _}; - _; - } -> ( - let chain = `Hash chain_id in - let map = - match HLevel.find state.blocks_table (chain_id, level) with - | None -> Delegate_Map.empty - | Some x -> x - in - match Delegate_Map.find baker map with - | None -> - return - @@ HLevel.add - state.blocks_table - (chain_id, level) - (Delegate_Map.add baker hash map) - | Some existing_hash when Block_hash.( = ) existing_hash hash -> - (* This case should never happen *) - lwt_debug - Tag.DSL.( - fun f -> - f - "Double baking detected but block hashes are equivalent. \ - Skipping..." - -% t event "double_baking_but_not") - >>= fun () -> - return - @@ HLevel.replace - state.blocks_table - (chain_id, level) - (Delegate_Map.add baker hash map) - | Some existing_hash -> - (* If a previous endorsement made by this pkh is found for - the same level we inject a double_endorsement *) - Alpha_block_services.header - cctxt - ~chain - ~block:(`Hash (existing_hash, 0)) - () - >>=? fun ({shell; protocol_data; _} : - Alpha_block_services.block_header) -> - let bh1 = {Alpha_context.Block_header.shell; protocol_data} in - Alpha_block_services.header cctxt ~chain ~block:(`Hash (hash, 0)) () - >>=? fun ({shell; protocol_data; _} : - Alpha_block_services.block_header) -> - let bh2 = {Alpha_context.Block_header.shell; protocol_data} in - (* If the blocks are on different chains then skip it *) - get_block_offset level >>= fun block -> - Alpha_block_services.hash cctxt ~chain ~block () - >>=? fun block_hash -> - Alpha_services.Forge.double_baking_evidence - cctxt - (chain, block) - ~branch:block_hash - ~bh1 - ~bh2 - () - >>=? fun bytes -> - let bytes = Signature.concat bytes Signature.zero in - lwt_log_notice - Tag.DSL.( - fun f -> - f "Double baking detected" -% t event "double_baking_detected") - >>= fun () -> - (* A denunciation may have already occurred *) - Shell_services.Injection.operation cctxt ~chain bytes - >>=? fun op_hash -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Double baking evidence injected %a" - -% t event "double_baking_denounced" - -% t signed_operation_tag bytes - -% a Operation_hash.Logging.tag op_hash) - >>= fun () -> - return - @@ HLevel.replace - state.blocks_table - (chain_id, level) - (Delegate_Map.add baker hash map)) - -(* Remove levels that are lower than the [highest_level_encountered] minus [preserved_levels] *) -let cleanup_old_operations state = - let highest_level_encountered = - Int32.to_int (Raw_level.to_int32 state.highest_level_encountered) - in - let diff = highest_level_encountered - state.preserved_levels in - let threshold = - if diff < 0 then Raw_level.root - else - Raw_level.of_int32 (Int32.of_int diff) |> function - | Ok threshold -> threshold - | Error _ -> Raw_level.root - in - let filter hmap = - HLevel.filter_map_inplace - (fun (_, level) x -> - if Raw_level.(level < threshold) then None else Some x) - hmap - in - filter state.endorsements_table ; - filter state.blocks_table ; - () - -let endorsements_index = 0 - -(* Each new block is processed : - - Checking that every endorser operated only once at this level - - Checking that every baker injected only once at this level -*) -let process_new_block (cctxt : #Protocol_client_context.full) state - {hash; chain_id; level; protocol; next_protocol; _} = - if Protocol_hash.(protocol <> next_protocol) then - lwt_log_error - Tag.DSL.( - fun f -> - f "Protocol changing detected. Skipping the block." - -% t event "protocol_change_detected" - (* TODO which protocols -- in tag *)) - >>= fun () -> return_unit - else - lwt_debug - Tag.DSL.( - fun f -> - f "Block level : %a" - -% t event "accuser_saw_block" - -% a level_tag level - -% t Block_hash.Logging.tag hash) - >>= fun () -> - let chain = `Hash chain_id in - let block = `Hash (hash, 0) in - state.highest_level_encountered <- - Raw_level.max level state.highest_level_encountered ; - (* Processing blocks *) - (Alpha_block_services.info cctxt ~chain ~block () >>= function - | Ok block_info -> process_block cctxt state block_info - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error while fetching operations in block %a@\n%a" - -% t event "fetch_operations_error" - -% a Block_hash.Logging.tag hash - -% a errs_tag errs) - >>= fun () -> return_unit) - >>=? fun () -> - (* Processing endorsements *) - (Alpha_block_services.Operations.operations cctxt ~chain ~block () - >>= function - | Ok operations -> - if List.length operations > endorsements_index then - let endorsements = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth operations endorsements_index - in - process_endorsements cctxt state endorsements level - else return_unit - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error while fetching operations in block %a@\n%a" - -% t event "fetch_operations_error" - -% a Block_hash.Logging.tag hash - -% a errs_tag errs) - >>= fun () -> return_unit) - >>=? fun () -> - cleanup_old_operations state ; - return_unit - -let create (cctxt : #Protocol_client_context.full) ~preserved_levels - valid_blocks_stream = - let process_block cctxt state bi = - process_new_block cctxt state bi >>= function - | Ok () -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Block %a registered" - -% t event "accuser_processed_block" - -% a Block_hash.Logging.tag bi.Client_baking_blocks.hash) - >>= return - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error while processing block %a@\n%a" - -% t event "accuser_block_error" - -% a Block_hash.Logging.tag bi.hash - -% a errs_tag errs) - >>= return - in - let state_maker _ = create_state ~preserved_levels >>= return in - Client_baking_scheduling.main - ~name:"accuser" - ~cctxt - ~stream:valid_blocks_stream - ~state_maker - ~pre_loop:(fun _ _ _ -> return_unit) - ~compute_timeout:(fun _ -> Lwt_utils.never_ending ()) - ~timeout_k:(fun _ _ () -> return_unit) - ~event_k:process_block - ~finalizer:(fun _ -> Lwt.return_unit) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.mli deleted file mode 100644 index 963ff969f83c..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_denunciation.mli +++ /dev/null @@ -1,30 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -val create : - #Protocol_client_context.full -> - preserved_levels:int -> - Client_baking_blocks.block_info tzresult Lwt_stream.t -> - unit tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.ml deleted file mode 100644 index 8f8ce1a5cb5c..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.ml +++ /dev/null @@ -1,313 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Protocol_client_context - -include Internal_event.Legacy_logging.Make_semantic (struct - let name = Protocol.name ^ ".baking.endorsement" -end) - -open Logging - -let get_signing_slots cctxt ~chain ~block delegate level = - Alpha_services.Delegate.Endorsing_rights.get - cctxt - ~levels:[level] - ~delegates:[delegate] - (chain, block) - >>=? function - | [{slots; _}] -> return_some slots - | _ -> return_none - -let inject_endorsement (cctxt : #Protocol_client_context.full) ?async ~chain - ~block hash level delegate_sk delegate_pkh = - Alpha_services.Forge.endorsement cctxt (chain, block) ~branch:hash ~level () - >>=? fun bytes -> - let wallet = (cctxt :> Client_context.wallet) in - (* Double-check the right to inject an endorsement *) - let open Client_baking_highwatermarks in - wallet#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain `Endorsement - >>=? fun endorsement_location -> - may_inject_endorsement - cctxt - endorsement_location - ~delegate:delegate_pkh - level - >>=? function - | true -> - record_endorsement - cctxt - endorsement_location - ~delegate:delegate_pkh - level - >>=? fun () -> return_true - | false -> return_false) - >>=? fun is_allowed_to_endorse -> - if is_allowed_to_endorse then - Chain_services.chain_id cctxt ~chain () >>=? fun chain_id -> - Client_keys.append cctxt delegate_sk ~watermark:(Endorsement chain_id) bytes - >>=? fun signed_bytes -> - Shell_services.Injection.operation cctxt ?async ~chain signed_bytes - >>=? fun oph -> return oph - else - lwt_log_error - Tag.DSL.( - fun f -> - f "Level %a : previously endorsed." - -% t event "double_endorsement_near_miss" - -% a level_tag level) - >>= fun () -> fail (Level_previously_endorsed level) - -let forge_endorsement (cctxt : #Protocol_client_context.full) ?async ~chain - ~block ~src_sk src_pk = - let src_pkh = Signature.Public_key.hash src_pk in - Alpha_block_services.metadata cctxt ~chain ~block () - >>=? fun {protocol_data = {level = {level; _}; _}; _} -> - Shell_services.Blocks.hash cctxt ~chain ~block () >>=? fun hash -> - inject_endorsement cctxt ?async ~chain ~block hash level src_sk src_pkh - >>=? fun oph -> - Client_keys.get_key cctxt src_pkh >>=? fun (name, _pk, _sk) -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Injected endorsement for block '%a' (level %a, contract %s) '%a'" - -% t event "injected_endorsement" - -% a Block_hash.Logging.tag hash - -% a level_tag level - -% s Client_keys.Logging.tag name - -% t Signature.Public_key_hash.Logging.tag src_pkh - -% a Operation_hash.Logging.tag oph) - >>= fun () -> return oph - -(** Worker *) - -(* because of delegates *) -[@@@ocaml.warning "-30"] - -type state = { - delegates : public_key_hash list; - delay : int64; - mutable pending : endorsements option; -} - -and endorsements = { - time : Time.Protocol.t; - delegates : public_key_hash list; - block : Client_baking_blocks.block_info; -} - -[@@@ocaml.warning "+30"] - -let create_state delegates delay = {delegates; delay; pending = None} - -let get_delegates cctxt state = - match state.delegates with - | [] -> - Client_keys.get_keys cctxt >>=? fun keys -> - let delegates = List.map (fun (_, pkh, _, _) -> pkh) keys in - return Signature.Public_key_hash.Set.(delegates |> of_list |> elements) - | _ :: _ as delegates -> return delegates - -let endorse_for_delegate cctxt block delegate_pkh = - let {Client_baking_blocks.hash; level; chain_id; _} = block in - Client_keys.get_key cctxt delegate_pkh >>=? fun (name, _pk, delegate_sk) -> - lwt_debug - Tag.DSL.( - fun f -> - f "Endorsing %a for %s (level %a)!" - -% t event "endorsing" - -% a Block_hash.Logging.tag hash - -% s Client_keys.Logging.tag name - -% a level_tag level) - >>= fun () -> - let chain = `Hash chain_id in - let block = `Hash (hash, 0) in - inject_endorsement cctxt ~chain ~block hash level delegate_sk delegate_pkh - >>=? fun oph -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Injected endorsement for block '%a' (level %a, contract %s) '%a'" - -% t event "injected_endorsement" - -% a Block_hash.Logging.tag hash - -% a level_tag level - -% s Client_keys.Logging.tag name - -% t Signature.Public_key_hash.Logging.tag delegate_pkh - -% a Operation_hash.Logging.tag oph) - >>= fun () -> return_unit - -let allowed_to_endorse cctxt bi delegate = - Client_keys.Public_key_hash.name cctxt delegate >>=? fun name -> - lwt_debug - Tag.DSL.( - fun f -> - f "Checking if allowed to endorse block %a for %s" - -% t event "check_endorsement_ok" - -% a Block_hash.Logging.tag bi.Client_baking_blocks.hash - -% s Client_keys.Logging.tag name) - >>= fun () -> - let chain = `Hash bi.chain_id in - let block = `Hash (bi.hash, 0) in - let level = bi.level in - get_signing_slots cctxt ~chain ~block delegate level >>=? function - | None | Some [] -> - lwt_debug - Tag.DSL.( - fun f -> - f "No slot found for %a/%s" - -% t event "endorsement_no_slots_found" - -% a Block_hash.Logging.tag bi.hash - -% s Client_keys.Logging.tag name) - >>= fun () -> return_false - | Some (_ :: _ as slots) -> ( - lwt_debug - Tag.DSL.( - fun f -> - f "Found slots for %a/%s (%a)" - -% t event "endorsement_slots_found" - -% a Block_hash.Logging.tag bi.hash - -% s Client_keys.Logging.tag name - -% a endorsement_slots_tag slots) - >>= fun () -> - cctxt#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain `Endorsement - >>=? fun endorsement_location -> - Client_baking_highwatermarks.may_inject_endorsement - cctxt - endorsement_location - ~delegate - level) - >>=? function - | false -> - lwt_debug - Tag.DSL.( - fun f -> - f "Level %a (or higher) previously endorsed: do not endorse." - -% t event "previously_endorsed" - -% a level_tag level) - >>= fun () -> return_false - | true -> return_true) - -let prepare_endorsement ~(max_past : int64) () - (cctxt : #Protocol_client_context.full) state bi = - let past = - Time.Protocol.diff - (Time.System.to_protocol (Systime_os.now ())) - bi.Client_baking_blocks.timestamp - in - if past > max_past then - lwt_log_info - Tag.DSL.( - fun f -> - f "Ignore block %a: forged too far the past" - -% t event "endorsement_stale_block" - -% a Block_hash.Logging.tag bi.hash) - >>= fun () -> return_unit - else - lwt_log_info - Tag.DSL.( - fun f -> - f "Received new block %a" - -% t event "endorsement_got_block" - -% a Block_hash.Logging.tag bi.hash) - >>= fun () -> - let time = - Time.Protocol.add - (Time.System.to_protocol (Systime_os.now ())) - state.delay - in - get_delegates cctxt state >>=? fun delegates -> - List.filter_ep (allowed_to_endorse cctxt bi) delegates >>=? fun delegates -> - state.pending <- Some {time; block = bi; delegates} ; - return_unit - -let compute_timeout state = - match state.pending with - | None -> Lwt_utils.never_ending () - | Some {time; block; delegates} -> ( - match Client_baking_scheduling.sleep_until time with - | None -> Lwt.return (block, delegates) - | Some timeout -> - let timespan = - let timespan = - Ptime.diff (Time.System.of_protocol_exn time) (Systime_os.now ()) - in - if Ptime.Span.compare timespan Ptime.Span.zero > 0 then timespan - else Ptime.Span.zero - in - lwt_log_info - Tag.DSL.( - fun f -> - f "Waiting until %a (%a) to inject endorsements" - -% t event "wait_before_injecting" - -% a timestamp_tag (Time.System.of_protocol_exn time) - -% a timespan_tag timespan) - >>= fun () -> - timeout >>= fun () -> Lwt.return (block, delegates)) - -let create (cctxt : #Protocol_client_context.full) ?(max_past = 110L) ~delay - delegates block_stream = - let state_maker _ = - let state = create_state delegates (Int64.of_int delay) in - return state - in - let timeout_k cctxt state (block, delegates) = - state.pending <- None ; - List.iter_es - (fun delegate -> - endorse_for_delegate cctxt block delegate >>= function - | Ok () -> return_unit - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f - "@[Error while injecting endorsement for delegate %a \ - : @[%a@]@]@." - -% t event "error_while_endorsing" - -% a Signature.Public_key_hash.Logging.tag delegate - -% a errs_tag errs) - >>= fun () -> - (* We continue anyway *) - return_unit) - delegates - in - let event_k cctxt state bi = - state.pending <- None ; - prepare_endorsement ~max_past () cctxt state bi - in - Client_baking_scheduling.main - ~name:"endorser" - ~cctxt - ~stream:block_stream - ~state_maker - ~pre_loop:(prepare_endorsement ~max_past ()) - ~compute_timeout - ~timeout_k - ~event_k - ~finalizer:(fun _ -> Lwt.return_unit) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.mli deleted file mode 100644 index c03d37c2048e..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_endorsement.mli +++ /dev/null @@ -1,48 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* Copyright (c) 2018 Nomadic Labs, *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -open Protocol -open Alpha_context - -(** [forge_endorsement cctxt blk ~src_sk src_pk] emits an endorsement - operation for the block [blk] -*) -val forge_endorsement : - #Protocol_client_context.full -> - ?async:bool -> - chain:Chain_services.chain -> - block:Block_services.block -> - src_sk:Client_keys.sk_uri -> - public_key -> - Operation_hash.t tzresult Lwt.t - -val create : - #Protocol_client_context.full -> - ?max_past:int64 (* number of seconds *) -> - delay:int -> - public_key_hash list -> - Client_baking_blocks.block_info tzresult Lwt_stream.t -> - unit tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.ml deleted file mode 100644 index 115babdd156d..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.ml +++ /dev/null @@ -1,52 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -type _ location = {filename : string; chain : Chain_services.chain} - -let resolve_location (cctxt : #Client_context.full) ~chain (kind : 'a) : - 'a location tzresult Lwt.t = - let basename = - match kind with - | `Block -> "block" - | `Endorsement -> "endorsement" - | `Nonce -> "nonce" - in - let test_filename chain_id = - Format.kasprintf return "test_%a_%s" Chain_id.pp_short chain_id basename - in - (match chain with - | `Main -> return basename - | `Test -> - Chain_services.chain_id cctxt ~chain:`Test () >>=? fun chain_id -> - test_filename chain_id - | `Hash chain_id -> - Chain_services.chain_id cctxt ~chain:`Main () >>=? fun main_chain_id -> - if Chain_id.(chain_id = main_chain_id) then return basename - else test_filename chain_id) - >>=? fun filename -> return {filename; chain} - -let filename {filename; _} = filename - -let chain {chain; _} = chain diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.mli deleted file mode 100644 index a01f0b6a775c..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_files.mli +++ /dev/null @@ -1,36 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -type _ location - -val resolve_location : - #Client_context.full -> - chain:Chain_services.chain -> - ([< `Block | `Endorsement | `Nonce] as 'kind) -> - 'kind location tzresult Lwt.t - -val filename : _ location -> string - -val chain : _ location -> Chain_services.chain diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.ml deleted file mode 100644 index 86937d679097..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.ml +++ /dev/null @@ -1,1608 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context -open Protocol_client_context - -include Internal_event.Legacy_logging.Make_semantic (struct - let name = Protocol.name ^ ".baking.forge" -end) - -open Logging - -(* The index of the different components of the protocol's validation passes *) -(* TODO: ideally, we would like this to be more abstract and possibly part of - the protocol, while retaining the generality of lists *) -(* Hypothesis : we suppose [List.length Protocol.Main.validation_passes = 4] *) -let endorsements_index = 0 - -let votes_index = 1 - -let anonymous_index = 2 - -let managers_index = 3 - -let default_max_priority = 64 - -let default_minimal_fees = - match Tez.of_mutez 100L with None -> assert false | Some t -> t - -let default_minimal_nanotez_per_gas_unit = Q.of_int 100 - -let default_minimal_nanotez_per_byte = Q.of_int 1000 - -let default_retry_counter = 5 - -type slot = - Time.Protocol.t * (Client_baking_blocks.block_info * int * public_key_hash) - -type state = { - context_path : string; - mutable index : Context.index; - (* Nonces file location *) - nonces_location : [`Nonce] Client_baking_files.location; - (* see [get_delegates] below to find delegates when the list is empty *) - delegates : public_key_hash list; - (* lazy-initialisation with retry-on-error *) - constants : Constants.t; - (* Minimal operation fee required to include an operation in a block *) - minimal_fees : Tez.t; - (* Minimal operation fee per gas required to include an operation in a block *) - minimal_nanotez_per_gas_unit : Q.t; - (* Minimal operation fee per byte required to include an operation in a block *) - minimal_nanotez_per_byte : Q.t; - (* truly mutable *) - mutable best_slot : slot option; - mutable retry_counter : int; -} - -let create_state ?(minimal_fees = default_minimal_fees) - ?(minimal_nanotez_per_gas_unit = default_minimal_nanotez_per_gas_unit) - ?(minimal_nanotez_per_byte = default_minimal_nanotez_per_byte) - ?(retry_counter = default_retry_counter) context_path index nonces_location - delegates constants = - { - context_path; - index; - nonces_location; - delegates; - constants; - minimal_fees; - minimal_nanotez_per_gas_unit; - minimal_nanotez_per_byte; - best_slot = None; - retry_counter; - } - -let get_delegates cctxt state = - match state.delegates with - | [] -> - Client_keys.get_keys cctxt >>=? fun keys -> - return (List.map (fun (_, pkh, _, _) -> pkh) keys) - | _ -> return state.delegates - -let generate_seed_nonce () = - match Nonce.of_bytes (Rand.generate Constants.nonce_length) with - | Error _errs -> assert false - | Ok nonce -> nonce - -let forge_block_header (cctxt : #Protocol_client_context.full) ~chain block - delegate_sk shell priority seed_nonce_hash = - Client_baking_pow.mine cctxt chain block shell (fun proof_of_work_nonce -> - {Block_header.priority; seed_nonce_hash; proof_of_work_nonce}) - >>=? fun contents -> - let unsigned_header = - Data_encoding.Binary.to_bytes_exn - Alpha_context.Block_header.unsigned_encoding - (shell, contents) - in - Shell_services.Chain.chain_id cctxt ~chain () >>=? fun chain_id -> - Client_keys.append - cctxt - delegate_sk - ~watermark:(Block_header chain_id) - unsigned_header - -let forge_faked_protocol_data ~priority ~seed_nonce_hash = - Alpha_context.Block_header. - { - contents = - { - priority; - seed_nonce_hash; - proof_of_work_nonce = Client_baking_pow.empty_proof_of_work_nonce; - }; - signature = Signature.zero; - } - -let assert_valid_operations_hash shell_header operations = - let operations_hash = - Operation_list_list_hash.compute - (List.map - Operation_list_hash.compute - (List.map (List.map Tezos_base.Operation.hash) operations)) - in - fail_unless - (Operation_list_list_hash.equal - operations_hash - shell_header.Tezos_base.Block_header.operations_hash) - (failure "Client_baking_forge.inject_block: inconsistent header.") - -let compute_endorsing_power cctxt ~chain ~block operations = - Shell_services.Chain.chain_id cctxt ~chain () >>=? fun chain_id -> - List.fold_left_es - (fun sum -> function - | { - Alpha_context.protocol_data = - Operation_data {contents = Single (Endorsement _); _}; - _; - } as op -> ( - Delegate_services.Endorsing_power.get cctxt (chain, block) op chain_id - >>= function - | Error _ -> - (* Filters invalid endorsements *) - return sum - | Ok power -> return (sum + power)) - | _ -> return sum) - 0 - operations - -let inject_block cctxt ?(force = false) ?seed_nonce_hash ~chain ~shell_header - ~priority ~delegate_pkh ~delegate_sk ~level operations = - assert_valid_operations_hash shell_header operations >>=? fun () -> - let block = `Hash (shell_header.Tezos_base.Block_header.predecessor, 0) in - forge_block_header - cctxt - ~chain - block - delegate_sk - shell_header - priority - seed_nonce_hash - >>=? fun signed_header -> - (* Record baked blocks to prevent double baking *) - let open Client_baking_highwatermarks in - cctxt#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain `Block - >>=? fun block_location -> - may_inject_block cctxt block_location ~delegate:delegate_pkh level - >>=? function - | true -> - record_block cctxt block_location ~delegate:delegate_pkh level - >>=? fun () -> return_true - | false -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Level %a : previously baked" - -% t event "double_bake_near_miss" - -% a level_tag level) - >>= fun () -> return force) - >>=? function - | false -> fail (Level_previously_baked level) - | true -> - Shell_services.Injection.block - cctxt - ~force - ~chain - signed_header - operations - >>=? fun block_hash -> - lwt_log_info - Tag.DSL.( - fun f -> - f "Client_baking_forge.inject_block: inject %a" - -% t event "inject_baked_block" - -% a Block_hash.Logging.tag block_hash - -% t signed_header_tag signed_header - -% t operations_tag operations) - >>= fun () -> return block_hash - -type error += Failed_to_preapply of Tezos_base.Operation.t * error list - -type error += Forking_test_chain - -let () = - register_error_kind - `Permanent - ~id:"Client_baking_forge.failed_to_preapply" - ~title:"Fail to preapply an operation" - ~description:"" - ~pp:(fun ppf (op, err) -> - let h = Tezos_base.Operation.hash op in - Format.fprintf - ppf - "@[Failed to preapply %a:@ @[%a@]@]" - Operation_hash.pp_short - h - pp_print_error - err) - Data_encoding.( - obj2 - (req "operation" (dynamic_size Tezos_base.Operation.encoding)) - (req "error" RPC_error.encoding)) - (function Failed_to_preapply (hash, err) -> Some (hash, err) | _ -> None) - (fun (hash, err) -> Failed_to_preapply (hash, err)) - -type manager_content = { - total_fee : Tez.t; - total_gas : Fixed_point_repr.integral_tag Gas.Arith.t; - source : public_key_hash; - counter : counter; -} - -let get_manager_content op = - let {protocol_data = Operation_data {contents; _}; _} = op in - let open Operation in - let l = to_list (Contents_list contents) in - List.fold_left_e - (fun ((first_source, first_counter, total_fee, total_gas) as acc) -> - function - | Contents (Manager_operation {source; counter; fee; gas_limit; _}) -> - (Environment.wrap_error @@ Tez.(total_fee +? fee)) - >>? fun total_fee -> - (* There is only one unique source per packed transaction *) - let first_source = Option.value ~default:source first_source in - (* We only care about the first counter *) - let first_counter = Option.value ~default:counter first_counter in - ok - ( Some first_source, - Some first_counter, - total_fee, - Gas.Arith.add total_gas gas_limit ) - | _ -> ok acc) - (None, None, Tez.zero, Gas.Arith.zero) - l - |> function - | Ok (Some source, Some counter, total_fee, total_gas) -> - Some {total_fee; total_gas; source; counter} - | _ -> None - -(* Sort operation considering potential gas and storage usage. - Weight = fee / (max ( (size/size_total), (gas/gas_total))) *) -let sort_manager_operations ~max_size ~hard_gas_limit_per_block ~minimal_fees - ~minimal_nanotez_per_gas_unit ~minimal_nanotez_per_byte - (operations : packed_operation list) = - let compute_weight op (fee, gas) = - let size = Data_encoding.Binary.length Operation.encoding op in - let size_f = Q.of_int size in - let gas_f = Q.of_bigint (Gas.Arith.integral_to_z gas) in - let fee_f = Q.of_int64 (Tez.to_mutez fee) in - let size_ratio = Q.(size_f / Q.of_int max_size) in - let gas_ratio = - Q.(gas_f / Q.of_bigint (Gas.Arith.integral_to_z hard_gas_limit_per_block)) - in - (size, gas, Q.(fee_f / max size_ratio gas_ratio)) - in - List.filter_map - (fun op -> - match get_manager_content op with - | None -> None - | Some {total_fee; total_gas; source; counter} -> - if Tez.(total_fee < minimal_fees) then None - else - let (size, gas, weight_ratio) = - compute_weight op (total_fee, total_gas) - in - let fees_in_nanotez = - Q.mul (Q.of_int64 (Tez.to_mutez total_fee)) (Q.of_int 1000) - in - let enough_fees_for_gas = - let minimal_fees_in_nanotez = - Q.mul - minimal_nanotez_per_gas_unit - (Q.of_bigint @@ Gas.Arith.integral_to_z gas) - in - Q.compare minimal_fees_in_nanotez fees_in_nanotez <= 0 - in - let enough_fees_for_size = - let minimal_fees_in_nanotez = - Q.mul minimal_nanotez_per_byte (Q.of_int size) - in - Q.compare minimal_fees_in_nanotez fees_in_nanotez <= 0 - in - if enough_fees_for_size && enough_fees_for_gas then - Some (op, weight_ratio, source, counter) - else None) - operations - |> fun operations -> - (* We order the operations by their weights except if they belong - to the same manager, if they do, we order them by their - counter. *) - let compare (_op, weight_ratio, source, counter) - (_op', weight_ratio', source', counter') = - (* Be careful with the [compare]s *) - if Signature.Public_key_hash.equal source source' then - (* we want the smallest counter first *) - Z.compare counter counter' - else - (* We want the biggest weight first *) - Q.compare weight_ratio' weight_ratio - in - List.sort compare operations |> List.map (fun (op, _, _, _) -> op) - -let retain_operations_up_to_quota operations quota = - let {Tezos_protocol_environment.max_op; max_size} = quota in - let operations = - match max_op with Some n -> List.sub operations n | None -> operations - in - let exception Full of packed_operation list in - let operations = - try - List.fold_left - (fun (ops, size) op -> - let operation_size = - Data_encoding.Binary.length Alpha_context.Operation.encoding op - in - let new_size = size + operation_size in - if new_size > max_size then raise (Full ops) else (op :: ops, new_size)) - ([], 0) - operations - |> fst - with Full ops -> ops - in - List.rev operations - -let trim_manager_operations ~max_size ~hard_gas_limit_per_block - manager_operations = - let manager_operations = - List.filter_map - (fun op -> - match get_manager_content op with - | Some {total_gas; _} -> - let size = Data_encoding.Binary.length Operation.encoding op in - Some (op, (size, total_gas)) - | None -> None) - manager_operations - in - List.fold_left - (fun (total_size, total_gas, (good_ops, bad_ops)) (op, (size, gas)) -> - let new_size = total_size + size in - let new_gas = Gas.Arith.(add total_gas gas) in - if new_size > max_size || Gas.Arith.(new_gas > hard_gas_limit_per_block) - then (total_size, total_gas, (good_ops, op :: bad_ops)) - else (new_size, new_gas, (op :: good_ops, bad_ops))) - (0, Gas.Arith.zero, ([], [])) - manager_operations - |> fun (_, _, (good_ops, bad_ops)) -> - (* We keep the overflowing operations, it may be used for client-side validation *) - (List.rev good_ops, List.rev bad_ops) - -(* We classify operations, sort managers operation by interest and add bad ones at the end *) -(* Hypothesis : we suppose that the received manager operations have a valid gas_limit *) - -(** [classify_operations] classify the operation in 4 lists indexed as such : - - 0 -> Endorsements - - 1 -> Votes and proposals - - 2 -> Anonymous operations - - 3 -> High-priority manager operations. - Returns two list : - - A desired set of operations to be included - - Potentially overflowing operations *) -let classify_operations (cctxt : #Protocol_client_context.full) ~chain ~block - ~hard_gas_limit_per_block ~minimal_fees ~minimal_nanotez_per_gas_unit - ~minimal_nanotez_per_byte (ops : packed_operation list) = - Alpha_block_services.live_blocks cctxt ~chain ~block () - >>=? fun live_blocks -> - let t = - (* Remove operations that are too old *) - let ops = - List.filter - (fun {shell = {branch; _}; _} -> Block_hash.Set.mem branch live_blocks) - ops - in - let validation_passes_len = List.length Main.validation_passes in - let t = Array.make validation_passes_len [] in - List.iter - (fun (op : packed_operation) -> - List.iter - (fun pass -> t.(pass) <- op :: t.(pass)) - (Main.acceptable_passes op)) - ops ; - Array.map List.rev t - in - let overflowing_manager_operations = - (* Retrieve the optimist maximum paying manager operations *) - let manager_operations = t.(managers_index) in - let {Environment.Updater.max_size; _} = - WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth Main.validation_passes managers_index - in - let ordered_operations = - sort_manager_operations - ~max_size - ~hard_gas_limit_per_block - ~minimal_fees - ~minimal_nanotez_per_gas_unit - ~minimal_nanotez_per_byte - manager_operations - in - (* Greedy heuristic *) - let (desired_manager_operations, overflowing_manager_operations) = - trim_manager_operations - ~max_size - ~hard_gas_limit_per_block - ordered_operations - in - t.(managers_index) <- desired_manager_operations ; - ok overflowing_manager_operations - in - Lwt.return - ( overflowing_manager_operations >>? fun overflowing_manager_operations -> - ok (Array.to_list t, overflowing_manager_operations) ) - -let forge (op : Operation.packed) : Operation.raw = - { - shell = op.shell; - proto = - Data_encoding.Binary.to_bytes_exn - Alpha_context.Operation.protocol_data_encoding - op.protocol_data; - } - -let ops_of_mempool (ops : Alpha_block_services.Mempool.t) = - (* We only retain the applied, unprocessed and delayed operations *) - List.rev - (Operation_hash.Map.fold (fun _ op acc -> op :: acc) ops.unprocessed - @@ Operation_hash.Map.fold - (fun _ (op, _) acc -> op :: acc) - ops.branch_delayed - @@ List.rev_map (fun (_, op) -> op) ops.applied) - -let unopt_operations cctxt chain mempool = function - | None -> ( - match mempool with - | None -> - Alpha_block_services.Mempool.pending_operations cctxt ~chain () - >>=? fun mpool -> - let ops = ops_of_mempool mpool in - return ops - | Some file -> - Tezos_stdlib_unix.Lwt_utils_unix.Json.read_file file >>=? fun json -> - let mpool = - Data_encoding.Json.destruct - Alpha_block_services.S.Mempool.encoding - json - in - let ops = ops_of_mempool mpool in - return ops) - | Some operations -> return operations - -let all_ops_valid (results : error Preapply_result.t list) = - let open Operation_hash.Map in - List.for_all - (fun (result : error Preapply_result.t) -> - is_empty result.refused - && is_empty result.branch_refused - && is_empty result.branch_delayed) - results - -let decode_priority cctxt chain block ~priority ~endorsing_power = - match priority with - | `Set priority -> - Alpha_services.Delegate.Minimal_valid_time.get - cctxt - (chain, block) - priority - endorsing_power - >>=? fun minimal_timestamp -> return (priority, minimal_timestamp) - | `Auto (src_pkh, max_priority) -> ( - Alpha_services.Helpers.current_level cctxt ~offset:1l (chain, block) - >>=? fun {level; _} -> - Alpha_services.Delegate.Baking_rights.get - cctxt - ?max_priority - ~levels:[level] - ~delegates:[src_pkh] - (chain, block) - >>=? fun possibilities -> - match - List.find - (fun p -> p.Alpha_services.Delegate.Baking_rights.level = level) - possibilities - with - | None -> failwith "No slot found at level %a" Raw_level.pp level - | Some {Alpha_services.Delegate.Baking_rights.priority = prio; _} -> - Alpha_services.Delegate.Minimal_valid_time.get - cctxt - (chain, block) - prio - endorsing_power - >>=? fun minimal_timestamp -> return (prio, minimal_timestamp)) - -let unopt_timestamp ?(force = false) timestamp minimal_timestamp = - let timestamp = - match timestamp with - | None -> minimal_timestamp - | Some timestamp -> timestamp - in - if (not force) && timestamp < minimal_timestamp then - failwith - "Proposed timestamp %a is earlier than minimal timestamp %a" - Time.Protocol.pp_hum - timestamp - Time.Protocol.pp_hum - minimal_timestamp - else return timestamp - -let merge_preapps (old : error Preapply_result.t) - (neu : error Preapply_result.t) = - let merge _ a b = - (* merge ops *) - match (a, b) with - | (None, None) -> None - | (Some x, None) -> Some x - | (_, Some y) -> Some y - in - let merge = Operation_hash.Map.merge merge in - (* merge op maps *) - (* merge preapplies *) - { - Preapply_result.applied = []; - refused = merge old.refused neu.refused; - branch_refused = merge old.branch_refused neu.branch_refused; - branch_delayed = merge old.branch_delayed neu.branch_delayed; - } - -let error_of_op (result : error Preapply_result.t) op = - let op = forge op in - let h = Tezos_base.Operation.hash op in - match Operation_hash.Map.find h result.refused with - | Some (_, trace) -> Some (Failed_to_preapply (op, trace)) - | None -> ( - match Operation_hash.Map.find h result.branch_refused with - | Some (_, trace) -> Some (Failed_to_preapply (op, trace)) - | None -> ( - match Operation_hash.Map.find h result.branch_delayed with - | Some (_, trace) -> Some (Failed_to_preapply (op, trace)) - | None -> None)) - -let filter_and_apply_operations cctxt state ~chain ~block block_info ~priority - ?protocol_data - ((operations : packed_operation list list), _overflowing_operations) = - (* Retrieve the minimal valid time for when the block can be baked with 0 endorsements *) - Delegate_services.Minimal_valid_time.get cctxt (chain, block) priority 0 - >>=? fun min_valid_timestamp -> - let open Client_baking_simulator in - lwt_debug - Tag.DSL.( - fun f -> - f "starting client-side validation after %a" - -% t event "baking_local_validation_start" - -% a Block_hash.Logging.tag block_info.Client_baking_blocks.hash) - >>= fun () -> - let quota : Environment.Updater.quota list = Main.validation_passes in - let endorsements = - retain_operations_up_to_quota - (WithExceptions.Option.get - ~loc:__LOC__ - (List.nth operations endorsements_index)) - (WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth quota endorsements_index) - in - let votes = - retain_operations_up_to_quota - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth operations votes_index) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth quota votes_index) - in - let anonymous = - retain_operations_up_to_quota - (WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth operations anonymous_index) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth quota anonymous_index) - in - let managers = - (* Managers are already trimmed *) - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth operations managers_index - in - (begin_construction - ~timestamp:min_valid_timestamp - ?protocol_data - state.index - block_info - >>= function - | Ok inc -> return inc - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error while fetching current context : %a" - -% t event "context_fetch_error" - -% a errs_tag errs) - >>= fun () -> - lwt_log_notice - Tag.DSL.( - fun f -> f "Retrying to open the context" -% t event "reopen_context") - >>= fun () -> - Client_baking_simulator.load_context ~context_path:state.context_path - >>= fun index -> - begin_construction - ~timestamp:min_valid_timestamp - ?protocol_data - index - block_info - >>=? fun inc -> - state.index <- index ; - return inc) - >>=? fun initial_inc -> - let validate_operation inc op = - protect (fun () -> add_operation inc op) >>= function - | Error errs -> - lwt_debug - Tag.DSL.( - fun f -> - f - "@[Client-side validation: filtered invalid operation %a@\n\ - %a@]" - -% t event "baking_rejected_invalid_operation" - -% a Operation_hash.Logging.tag (Operation.hash_packed op) - -% a errs_tag errs) - >>= fun () -> Lwt.return_none - | Ok (resulting_state, receipt) -> ( - try - (* Check that the metadata are serializable/deserializable *) - let _ = - Data_encoding.Binary.( - of_bytes_exn - Protocol.operation_receipt_encoding - (to_bytes_exn Protocol.operation_receipt_encoding receipt)) - in - Lwt.return_some resulting_state - with exn -> - lwt_debug - Tag.DSL.( - fun f -> - f "Client-side validation: filtered invalid operation %a" - -% t event "baking_rejected_invalid_operation" - -% a - errs_tag - [ - Validation_errors.Cannot_serialize_operation_metadata; - Exn exn; - ]) - >>= fun () -> Lwt.return_none) - in - let filter_valid_operations inc ops = - List.fold_left_s - (fun (inc, acc) op -> - validate_operation inc op >>= function - | None -> Lwt.return (inc, acc) - | Some inc' -> Lwt.return (inc', op :: acc)) - (inc, []) - ops - >>= fun (inc, ops) -> Lwt.return (inc, List.rev ops) - in - (* Apply operations and filter the invalid ones *) - filter_valid_operations initial_inc endorsements - >>= fun (inc, endorsements) -> - filter_valid_operations inc votes >>= fun (inc, votes) -> - filter_valid_operations inc anonymous >>= fun (manager_inc, anonymous) -> - filter_valid_operations manager_inc managers >>= fun (inc, managers) -> - finalize_construction inc >>=? fun _ -> - let operations = [endorsements; votes; anonymous; managers] in - (* Rebuild the block with the set of valid operations and the - final timestamp *) - compute_endorsing_power cctxt ~chain ~block endorsements - >>=? fun current_endorsing_power -> - Delegate_services.Minimal_valid_time.get - cctxt - (chain, block) - priority - current_endorsing_power - >>=? fun expected_validity -> - begin_construction - ~timestamp:expected_validity - ?protocol_data - state.index - block_info - >>=? fun inc -> - List.fold_left_es - (fun inc op -> add_operation inc op >>=? fun (inc, _receipt) -> return inc) - inc - (List.flatten operations) - >>=? fun final_inc -> - finalize_construction final_inc >>=? fun (validation_result, metadata) -> - return - (final_inc, (validation_result, metadata), operations, expected_validity) - -(* Build the block header : mimics node prevalidation *) -let finalize_block_header shell_header ~timestamp validation_result operations - predecessor_block_metadata_hash predecessor_ops_metadata_hash = - let {Tezos_protocol_environment.context; fitness; message; _} = - validation_result - in - let validation_passes = List.length Main.validation_passes in - let operations_hash : Operation_list_list_hash.t = - Operation_list_list_hash.compute - (List.map - (fun sl -> - Operation_list_hash.compute (List.map Operation.hash_packed sl)) - operations) - in - let context = Shell_context.unwrap_disk_context context in - (Context.get_test_chain context >>= function - | Not_running -> return context - | Running {expiration; _} -> - if Time.Protocol.(expiration <= timestamp) then - Context.add_test_chain context Not_running >>= return - else return context - | Forking _ -> fail Forking_test_chain) - >>=? fun context -> - (match predecessor_block_metadata_hash with - | Some predecessor_block_metadata_hash -> - Context.add_predecessor_block_metadata_hash - context - predecessor_block_metadata_hash - | None -> Lwt.return context) - >>= fun context -> - (match predecessor_ops_metadata_hash with - | Some predecessor_ops_metadata_hash -> - Context.add_predecessor_ops_metadata_hash - context - predecessor_ops_metadata_hash - | None -> Lwt.return context) - >>= fun context -> - let context = Context.hash ~time:timestamp ?message context in - let header = - Tezos_base.Block_header. - { - shell_header with - level = Int32.succ shell_header.level; - validation_passes; - operations_hash; - fitness; - context; - } - in - return header - -let forge_block cctxt ?force ?operations ?(best_effort = operations = None) - ?(sort = best_effort) ?(minimal_fees = default_minimal_fees) - ?(minimal_nanotez_per_gas_unit = default_minimal_nanotez_per_gas_unit) - ?(minimal_nanotez_per_byte = default_minimal_nanotez_per_byte) ?timestamp - ?mempool ?context_path ?seed_nonce_hash ~chain ~priority ~delegate_pkh - ~delegate_sk block = - (* making the arguments usable *) - unopt_operations cctxt chain mempool operations >>=? fun operations_arg -> - compute_endorsing_power cctxt ~chain ~block operations_arg - >>=? fun endorsing_power -> - decode_priority cctxt chain block ~priority ~endorsing_power - >>=? fun (priority, minimal_timestamp) -> - unopt_timestamp ?force timestamp minimal_timestamp >>=? fun timestamp -> - (* get basic building blocks *) - let protocol_data = forge_faked_protocol_data ~priority ~seed_nonce_hash in - Alpha_services.Constants.all cctxt (chain, block) - >>=? fun Constants. - { - parametric = {hard_gas_limit_per_block; endorsers_per_block; _}; - _; - } -> - classify_operations - cctxt - ~chain - ~hard_gas_limit_per_block - ~block - ~minimal_fees - ~minimal_nanotez_per_gas_unit - ~minimal_nanotez_per_byte - operations_arg - >>=? fun (operations, overflowing_ops) -> - (* Ensure that we retain operations up to the quota *) - let quota : Environment.Updater.quota list = Main.validation_passes in - let endorsements = - List.sub - (WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth operations endorsements_index) - endorsers_per_block - in - let votes = - retain_operations_up_to_quota - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth operations votes_index) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth quota votes_index) - in - let anonymous = - retain_operations_up_to_quota - (WithExceptions.Option.get ~loc:__LOC__ - @@ List.nth operations anonymous_index) - (WithExceptions.Option.get ~loc:__LOC__ @@ List.nth quota anonymous_index) - in - (* Size/Gas check already occurred in classify operations *) - let managers = - WithExceptions.Option.get ~loc:__LOC__ @@ List.nth operations managers_index - in - let operations = [endorsements; votes; anonymous; managers] in - (match context_path with - | None -> - Alpha_block_services.Helpers.Preapply.block - cctxt - ~chain - ~block - ~timestamp - ~sort - ~protocol_data - operations - >>=? fun (shell_header, result) -> - let operations = - List.map (fun l -> List.map snd l.Preapply_result.applied) result - in - (* everything went well (or we don't care about errors): GO! *) - if best_effort || all_ops_valid result then - return (shell_header, operations) - (* some errors (and we care about them) *) - else - let result = - List.fold_left merge_preapps Preapply_result.empty result - in - Lwt.return_error @@ List.filter_map (error_of_op result) operations_arg - | Some context_path -> - assert sort ; - assert best_effort ; - Context.init ~readonly:true context_path >>= fun index -> - Client_baking_blocks.info cctxt ~chain block >>=? fun bi -> - Alpha_services.Constants.all cctxt (chain, `Head 0) >>=? fun constants -> - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - let state = - { - context_path; - index; - nonces_location; - constants; - delegates = []; - best_slot = None; - minimal_fees = default_minimal_fees; - minimal_nanotez_per_gas_unit = default_minimal_nanotez_per_gas_unit; - minimal_nanotez_per_byte = default_minimal_nanotez_per_byte; - retry_counter = default_retry_counter; - } - in - filter_and_apply_operations - cctxt - state - ~chain - ~block - ~priority - ~protocol_data - bi - (operations, overflowing_ops) - >>=? fun ( final_context, - (validation_result, _), - operations, - min_valid_timestamp ) -> - let current_protocol = bi.next_protocol in - let context = - Shell_context.unwrap_disk_context validation_result.context - in - Context.get_protocol context >>= fun next_protocol -> - if Protocol_hash.equal current_protocol next_protocol then - finalize_block_header - final_context.header - ~timestamp:min_valid_timestamp - validation_result - operations - bi.predecessor_block_metadata_hash - bi.predecessor_operations_metadata_hash - >>= function - | Error (Forking_test_chain :: _) -> - Alpha_block_services.Helpers.Preapply.block - cctxt - ~chain - ~block - ~timestamp:min_valid_timestamp - ~sort - ~protocol_data - operations - >>=? fun (shell_header, _result) -> - return (shell_header, List.map (List.map forge) operations) - | Error _ as errs -> Lwt.return errs - | Ok shell_header -> - return (shell_header, List.map (List.map forge) operations) - else - lwt_log_notice - Tag.DSL.( - fun f -> - f "New protocol detected: using shell validation" - -% t event "shell_prevalidation_notice") - >>= fun () -> - Alpha_block_services.Helpers.Preapply.block - cctxt - ~chain - ~block - ~timestamp:min_valid_timestamp - ~sort - ~protocol_data - operations - >>=? fun (shell_header, _result) -> - return (shell_header, List.map (List.map forge) operations)) - >>=? fun (shell_header, operations) -> - (* Now for some logging *) - let total_op_count = List.length operations_arg in - let valid_op_count = List.length (List.concat operations) in - lwt_log_notice - Tag.DSL.( - fun f -> - f "found %d valid operations (%d refused) for timestamp %a (fitness %a)" - -% t event "found_valid_operations" - -% s valid_ops valid_op_count - -% s refused_ops (total_op_count - valid_op_count) - -% a timestamp_tag (Time.System.of_protocol_exn timestamp) - -% a fitness_tag shell_header.fitness) - >>= fun () -> - (match Environment.wrap_error (Raw_level.of_int32 shell_header.level) with - | Ok level -> return level - | Error errs as err -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error on raw_level conversion : %a" - -% t event "block_injection_failed" - -% a errs_tag errs) - >>= fun () -> Lwt.return err) - >>=? fun level -> - inject_block - cctxt - ?force - ~chain - ~shell_header - ~priority - ?seed_nonce_hash - ~delegate_pkh - ~delegate_sk - ~level - operations - >>= function - | Ok hash -> return hash - | Error errs as error -> - lwt_log_error - Tag.DSL.( - fun f -> - f - "@[Error while injecting block@ @[Included operations : \ - %a@]@ %a@]" - -% t event "block_injection_failed" - -% a raw_operations_tag (List.concat operations) - -% a errs_tag errs) - >>= fun () -> Lwt.return error - -let shell_prevalidation (cctxt : #Protocol_client_context.full) ~chain ~block - ~timestamp seed_nonce_hash operations - ((_, (bi, priority, delegate)) as _slot) = - let protocol_data = forge_faked_protocol_data ~priority ~seed_nonce_hash in - Alpha_block_services.Helpers.Preapply.block - cctxt - ~chain - ~block - ~timestamp - ~sort:true - ~protocol_data - operations - >>= function - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f - "Shell-side validation: error while prevalidating operations:@\n\ - %a" - -% t event "built_invalid_block_error" - -% a errs_tag errs) - >>= fun () -> return_none - | Ok (shell_header, operations) -> - let raw_ops = - List.map (fun l -> List.map snd l.Preapply_result.applied) operations - in - return_some - (bi, priority, shell_header, raw_ops, delegate, seed_nonce_hash) - -let remove_hash_and_filter_outdated_endorsements expected_level ops = - List.filter_map - (function - | ( ( _, - ({ - Alpha_context.protocol_data = - Operation_data {contents = Single (Endorsement {level}); _}; - _; - } as op) ), - _ ) -> - if Raw_level.equal expected_level level then Some op else None - | ((_, op), _) -> Some op) - ops - -(** [fetch_operations] retrieve the operations present in the - mempool. If no endorsements are present in the initial set, it - waits until it's able to build a valid block. *) -let fetch_operations (cctxt : #Protocol_client_context.full) ~chain - (_, (head, priority, _delegate)) = - Alpha_block_services.Mempool.monitor_operations - cctxt - ~chain - ~applied:true - ~branch_delayed:false - ~refused:false - ~branch_refused:false - () - >>=? fun (operation_stream, _stop) -> - (* Hypothesis : the first call to the stream returns instantly, even if the mempool is empty. *) - Lwt_stream.get operation_stream >>= function - | None -> - (* New head received : aborting block construction *) - return_none - | Some current_mempool -> - let block = `Hash (head.Client_baking_blocks.hash, 0) in - let operations = - ref - (remove_hash_and_filter_outdated_endorsements - head.level - current_mempool) - in - (* Actively request our peers' for missing operations *) - Shell_services.Mempool.request_operations cctxt ~chain () >>=? fun () -> - let compute_minimal_valid_time () = - compute_endorsing_power cctxt ~chain ~block !operations - >>=? fun current_endorsing_power -> - Delegate_services.Minimal_valid_time.get - cctxt - (chain, block) - priority - current_endorsing_power - in - let compute_timeout () = - compute_minimal_valid_time () >>=? fun expected_validity -> - match Client_baking_scheduling.sleep_until expected_validity with - | None -> return_unit - | Some timeout -> timeout >>= fun () -> return_unit - in - let last_get_event = ref None in - let get_event () = - match !last_get_event with - | None -> - let t = Lwt_stream.get operation_stream in - last_get_event := Some t ; - t - | Some t -> t - in - let rec loop () = - Lwt.choose - [ - (compute_timeout () >|= fun _ -> `Timeout); - (get_event () >|= fun e -> `Event e); - ] - >>= function - | `Event (Some op_list) -> - last_get_event := None ; - let op_list = - remove_hash_and_filter_outdated_endorsements head.level op_list - in - operations := op_list @ !operations ; - loop () - | `Timeout -> - (* Retrieve the remaining operations present in the stream - before block construction *) - let remaining_operations = - remove_hash_and_filter_outdated_endorsements - head.level - (List.flatten (Lwt_stream.get_available operation_stream)) - in - operations := remaining_operations @ !operations ; - compute_minimal_valid_time () >>=? fun expected_validity -> - return_some (!operations, expected_validity) - | `Event None -> - (* Got new head while waiting: - - not enough endorsements received ; - - late at baking *) - return_none - in - loop () - -(** Given a delegate baking slot [build_block] constructs a full block - with consistent operations that went through the client-side - validation *) -let build_block cctxt ~user_activated_upgrades state seed_nonce_hash - ((slot_timestamp, (bi, priority, delegate)) as slot) = - let chain = `Hash bi.Client_baking_blocks.chain_id in - let block = `Hash (bi.hash, 0) in - Alpha_services.Helpers.current_level cctxt ~offset:1l (chain, block) - >>=? fun next_level -> - let seed_nonce_hash = - if next_level.expected_commitment then Some seed_nonce_hash else None - in - Client_keys.Public_key_hash.name cctxt delegate >>=? fun name -> - lwt_debug - Tag.DSL.( - fun f -> - f "Try baking after %a (slot %d) for %s (%a)" - -% t event "try_baking" - -% a Block_hash.Logging.tag bi.hash - -% s bake_priority_tag priority - -% s Client_keys.Logging.tag name - -% a timestamp_tag (Time.System.of_protocol_exn slot_timestamp)) - >>= fun () -> - fetch_operations cctxt ~chain slot >>=? function - | None -> - lwt_log_notice - Tag.DSL.( - fun f -> - f - "Received a new head while waiting for operations. Aborting this \ - block." - -% t event "new_head_received") - >>= fun () -> return_none - | Some (operations, timestamp) -> ( - classify_operations - cctxt - ~chain - ~hard_gas_limit_per_block: - state.constants.parametric.hard_gas_limit_per_block - ~minimal_fees:state.minimal_fees - ~minimal_nanotez_per_gas_unit:state.minimal_nanotez_per_gas_unit - ~minimal_nanotez_per_byte:state.minimal_nanotez_per_byte - ~block - operations - >>=? fun (operations, overflowing_ops) -> - let next_version = - match - Tezos_base.Block_header.get_forced_protocol_upgrade - ~user_activated_upgrades - ~level:(Raw_level.to_int32 next_level.level) - with - | None -> bi.next_protocol - | Some hash -> hash - in - if Protocol_hash.(Protocol.hash <> next_version) then - (* Let the shell validate this *) - shell_prevalidation - cctxt - ~chain - ~block - ~timestamp - seed_nonce_hash - operations - slot - else - let protocol_data = - forge_faked_protocol_data ~priority ~seed_nonce_hash - in - filter_and_apply_operations - cctxt - state - ~chain - ~block - ~priority - ~protocol_data - bi - (operations, overflowing_ops) - >>= function - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f - "Client-side validation: error while filtering invalid \ - operations :@\n\ - @[%a@]" - -% t event "client_side_validation_error" - -% a errs_tag errs) - >>= fun () -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Building a block using shell validation" - -% t event "shell_prevalidation_notice") - >>= fun () -> - shell_prevalidation - cctxt - ~chain - ~block - ~timestamp - seed_nonce_hash - operations - slot - | Ok (final_context, (validation_result, _), operations, valid_timestamp) - -> - (if - Time.System.(Systime_os.now () < of_protocol_exn valid_timestamp) - then - lwt_log_notice - Tag.DSL.( - fun f -> - f "[%a] not ready to inject yet, waiting until %a" - -% a timestamp_tag (Systime_os.now ()) - -% a - timestamp_tag - (Time.System.of_protocol_exn valid_timestamp) - -% t event "waiting_before_injection") - >>= fun () -> - match Client_baking_scheduling.sleep_until valid_timestamp with - | None -> Lwt.return_unit - | Some timeout -> timeout - else Lwt.return_unit) - >>= fun () -> - lwt_debug - Tag.DSL.( - fun f -> - f - "Try forging locally the block header for %a (slot %d) for \ - %s (%a)" - -% t event "try_forging" - -% a Block_hash.Logging.tag bi.hash - -% s bake_priority_tag priority - -% s Client_keys.Logging.tag name - -% a timestamp_tag (Time.System.of_protocol_exn timestamp)) - >>= fun () -> - let current_protocol = bi.next_protocol in - let context = - Shell_context.unwrap_disk_context validation_result.context - in - Context.get_protocol context >>= fun next_protocol -> - if Protocol_hash.equal current_protocol next_protocol then - finalize_block_header - final_context.header - ~timestamp:valid_timestamp - validation_result - operations - bi.predecessor_block_metadata_hash - bi.predecessor_operations_metadata_hash - >>= function - | Error (Forking_test_chain :: _) -> - shell_prevalidation - cctxt - ~chain - ~block - ~timestamp - seed_nonce_hash - operations - slot - | Error _ as errs -> Lwt.return errs - | Ok shell_header -> - let raw_ops = List.map (List.map forge) operations in - return_some - ( bi, - priority, - shell_header, - raw_ops, - delegate, - seed_nonce_hash ) - else - lwt_log_notice - Tag.DSL.( - fun f -> - f "New protocol detected: using shell validation" - -% t event "shell_prevalidation_notice") - >>= fun () -> - shell_prevalidation - cctxt - ~chain - ~block - ~timestamp - seed_nonce_hash - operations - slot) - -(** [bake cctxt state] create a single block when woken up to do - so. All the necessary information is available in the - [state.best_slot]. *) -let bake (cctxt : #Protocol_client_context.full) ~user_activated_upgrades ~chain - state = - (match state.best_slot with - | None -> assert false (* unreachable *) - | Some slot -> return slot) - >>=? fun slot -> - let seed_nonce = generate_seed_nonce () in - let seed_nonce_hash = Nonce.hash seed_nonce in - build_block cctxt ~user_activated_upgrades state seed_nonce_hash slot - >>=? function - | Some (head, priority, shell_header, operations, delegate, seed_nonce_hash) - -> ( - let level = Raw_level.succ head.level in - Client_keys.Public_key_hash.name cctxt delegate >>=? fun name -> - lwt_log_info - Tag.DSL.( - fun f -> - f "Injecting block (priority %d, fitness %a) for %s after %a..." - -% t event "start_injecting_block" - -% s bake_priority_tag priority - -% a fitness_tag shell_header.fitness - -% s Client_keys.Logging.tag name - -% a Block_hash.Logging.predecessor_tag shell_header.predecessor - -% t Signature.Public_key_hash.Logging.tag delegate) - >>= fun () -> - Client_keys.get_key cctxt delegate >>=? fun (_, _, delegate_sk) -> - inject_block - cctxt - ~chain - ~force:false - ~shell_header - ~priority - ?seed_nonce_hash - ~delegate_pkh:delegate - ~delegate_sk - ~level - operations - >>= function - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f - "@[Error while injecting block@ @[Included operations : \ - %a@]@ %a@]" - -% t event "block_injection_failed" - -% a raw_operations_tag (List.concat operations) - -% a errs_tag errs) - >>= fun () -> return_unit - | Ok block_hash -> - lwt_log_notice - Tag.DSL.( - fun f -> - f - "Injected block %a for %s after %a (level %a, priority %d, \ - fitness %a, operations %a)." - -% t event "injected_block" - -% a Block_hash.Logging.tag block_hash - -% s Client_keys.Logging.tag name - -% a Block_hash.Logging.tag shell_header.predecessor - -% a level_tag level - -% s bake_priority_tag priority - -% a fitness_tag shell_header.fitness - -% a operations_tag operations) - >>= fun () -> - (if seed_nonce_hash <> None then - cctxt#with_lock (fun () -> - let open Client_baking_nonces in - load cctxt state.nonces_location >>=? fun nonces -> - let nonces = add nonces block_hash seed_nonce in - save cctxt state.nonces_location nonces) - |> trace_exn (Failure "Error while recording nonce") - else return_unit) - >>=? fun () -> return_unit) - | None -> return_unit - -(** [get_baking_slots] calls the node via RPC to retrieve the potential - slots for the given delegates within a given range of priority *) -let get_baking_slots cctxt ?(max_priority = default_max_priority) new_head - delegates = - let chain = `Hash new_head.Client_baking_blocks.chain_id in - let block = `Hash (new_head.hash, 0) in - let level = Raw_level.succ new_head.level in - Alpha_services.Delegate.Baking_rights.get - cctxt - ~max_priority - ~levels:[level] - ~delegates - (chain, block) - >>= function - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error while fetching baking possibilities:\n%a" - -% t event "baking_slot_fetch_errors" - -% a errs_tag errs) - >>= fun () -> Lwt.return_nil - | Ok [] -> Lwt.return_nil - | Ok slots -> - let slots = - List.filter_map - (function - | {Alpha_services.Delegate.Baking_rights.timestamp = None; _} -> - None - | {timestamp = Some timestamp; priority; delegate; _} -> - Some (timestamp, (new_head, priority, delegate))) - slots - in - Lwt.return slots - -(** [compute_best_slot_on_current_level] retrieves, among the given - delegates, the highest priority slot for the current level. Then, - it registers this slot in the state so the timeout knows when to - wake up. *) -let compute_best_slot_on_current_level ?max_priority - (cctxt : #Protocol_client_context.full) state new_head = - get_delegates cctxt state >>=? fun delegates -> - let level = Raw_level.succ new_head.Client_baking_blocks.level in - get_baking_slots cctxt ?max_priority new_head delegates >>= function - | [] -> - lwt_log_notice - Tag.DSL.( - fun f -> - let max_priority = - Option.value ~default:default_max_priority max_priority - in - f "No slot found at level %a (max_priority = %d)" - -% t event "no_slot_found" -% a level_tag level - -% s bake_priority_tag max_priority) - >>= fun () -> return_none - (* No slot found *) - | h :: t -> - (* One or more slot found, fetching the best (lowest) priority. - We do not suppose that the received slots are sorted. *) - let ((timestamp, (_, priority, delegate)) as best_slot) = - List.fold_left - (fun ((_, (_, priority, _)) as acc) ((_, (_, priority', _)) as slot) -> - if priority < priority' then acc else slot) - h - t - in - Client_keys.Public_key_hash.name cctxt delegate >>=? fun name -> - lwt_log_notice - Tag.DSL.( - fun f -> - f - "New baking slot found (level %a, priority %d) at %a for %s \ - after %a." - -% t event "have_baking_slot" -% a level_tag level - -% s bake_priority_tag priority - -% a timestamp_tag (Time.System.of_protocol_exn timestamp) - -% s Client_keys.Logging.tag name - -% a Block_hash.Logging.tag new_head.hash - -% t Signature.Public_key_hash.Logging.tag delegate) - >>= fun () -> - (* Found at least a slot *) - return_some best_slot - -(** [reveal_potential_nonces] reveal registered nonces *) -let reveal_potential_nonces (cctxt : #Client_context.full) constants ~chain - ~block = - cctxt#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - Client_baking_nonces.load cctxt nonces_location >>= function - | Error err -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Cannot read nonces: %a" -% t event "read_nonce_fail" - -% a errs_tag err) - >>= fun () -> return_unit - | Ok nonces -> ( - Client_baking_nonces.get_unrevealed_nonces - cctxt - nonces_location - nonces - >>= function - | Error err -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Cannot retrieve unrevealed nonces: %a" - -% t event "nonce_retrieval_fail" - -% a errs_tag err) - >>= fun () -> return_unit - | Ok [] -> return_unit - | Ok nonces_to_reveal -> ( - Client_baking_revelation.inject_seed_nonce_revelation - cctxt - ~chain - ~block - nonces_to_reveal - >>= function - | Error err -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Cannot inject nonces: %a" - -% t event "nonce_injection_fail" - -% a errs_tag err) - >>= fun () -> return_unit - | Ok () -> - (* If some nonces are to be revealed it means: - - We entered a new cycle and we can clear old nonces ; - - A revelation was not included yet in the cycle beginning. - So, it is safe to only filter outdated_nonces there *) - Client_baking_nonces.filter_outdated_nonces - cctxt - ~constants - nonces_location - nonces - >>=? fun live_nonces -> - Client_baking_nonces.save cctxt nonces_location live_nonces - >>=? fun () -> return_unit))) - -(** [create] starts the main loop of the baker. The loop monitors new blocks and - starts individual baking operations when baking-slots are available to any of - the [delegates] *) -let create (cctxt : #Protocol_client_context.full) ~user_activated_upgrades - ?minimal_fees ?minimal_nanotez_per_gas_unit ?minimal_nanotez_per_byte - ?max_priority ~chain ~context_path delegates block_stream = - let state_maker bi = - Alpha_services.Constants.all cctxt (chain, `Head 0) >>=? fun constants -> - Client_baking_simulator.load_context ~context_path >>= fun index -> - Client_baking_simulator.check_context_consistency - index - bi.Client_baking_blocks.context - >>=? fun () -> - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - let state = - create_state - ?minimal_fees - ?minimal_nanotez_per_gas_unit - ?minimal_nanotez_per_byte - context_path - index - nonces_location - delegates - constants - in - return state - in - let event_k cctxt state new_head = - reveal_potential_nonces - cctxt - state.constants - ~chain - ~block:(`Hash (new_head.Client_baking_blocks.hash, 0)) - >>= fun _ignore_nonce_err -> - compute_best_slot_on_current_level ?max_priority cctxt state new_head - >>=? fun slot -> - state.best_slot <- slot ; - return_unit - in - let compute_timeout state = - match state.best_slot with - | None -> - (* No slot, just wait for new blocks which will give more info *) - Lwt_utils.never_ending () - | Some (timestamp, _) -> ( - match Client_baking_scheduling.sleep_until timestamp with - | None -> Lwt.return_unit - | Some timeout -> timeout) - in - let timeout_k cctxt state () = - bake cctxt ~user_activated_upgrades ~chain state >>= function - | Error err -> - if state.retry_counter = 0 then ( - (* Stop the timeout and wait for the next block *) - state.best_slot <- None ; - state.retry_counter <- default_retry_counter ; - Lwt.return (Error err)) - else - lwt_log_error - Tag.DSL.( - fun f -> - f "Retrying after baking error %a" - -% t event "retrying_on_error" - -% a errs_tag err) - >>= fun () -> - state.retry_counter <- pred state.retry_counter ; - return_unit - | Ok () -> - (* Stop the timeout and wait for the next block *) - state.best_slot <- None ; - state.retry_counter <- default_retry_counter ; - return_unit - in - let finalizer state = Context.close state.index in - Client_baking_scheduling.main - ~name:"baker" - ~cctxt - ~stream:block_stream - ~state_maker - ~pre_loop:event_k - ~compute_timeout - ~timeout_k - ~event_k - ~finalizer diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.mli deleted file mode 100644 index 508e06a270e7..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_forge.mli +++ /dev/null @@ -1,106 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -(** [generate_seed_nonce ()] is a random nonce that is typically used - in block headers. When baking, bakers generate random nonces whose - hash is committed in the block they bake. They will typically - reveal the aforementioned nonce during the next cycle. *) -val generate_seed_nonce : unit -> Nonce.t - -(** [inject_block cctxt blk ?force ~priority ~timestamp ~fitness - ~seed_nonce ~src_sk ops] tries to inject a block in the node. If - [?force] is set, the fitness check will be bypassed. [priority] - will be used to compute the baking slot (level is - precomputed). [src_sk] is used to sign the block header. *) -val inject_block : - #Protocol_client_context.full -> - ?force:bool -> - ?seed_nonce_hash:Nonce_hash.t -> - chain:Chain_services.chain -> - shell_header:Block_header.shell_header -> - priority:int -> - delegate_pkh:Signature.Public_key_hash.t -> - delegate_sk:Client_keys.sk_uri -> - level:Raw_level.t -> - Operation.raw list list -> - Block_hash.t tzresult Lwt.t - -type error += Failed_to_preapply of Tezos_base.Operation.t * error list - -(** [forge_block cctxt ?fee_threshold ?force ?operations ?best_effort - ?sort ?timestamp ?max_priority ?priority ~seed_nonce ~src_sk - pk_hash parent_blk] injects a block in the node. In addition of inject_block, - it will: - - * Operations: If [?operations] is [None], it will get pending - operations and add them to the block. Otherwise, provided - operations will be used. In both cases, they will be validated. - - * Baking priority: If [`Auto] is used, it will be computed from - the public key hash of the specified contract, optionally capped - to a maximum value, and optionally restricting for free baking slot. - - * Timestamp: If [?timestamp] is set, and is compatible with the - computed baking priority, it will be used. Otherwise, it will be - set at the best baking priority. - - * Fee Threshold: If [?fee_threshold] is given, operations with fees lower than it - are not added to the block. -*) -val forge_block : - #Protocol_client_context.full -> - ?force:bool -> - ?operations:Operation.packed list -> - ?best_effort:bool -> - ?sort:bool -> - ?minimal_fees:Tez.t -> - ?minimal_nanotez_per_gas_unit:Q.t -> - ?minimal_nanotez_per_byte:Q.t -> - ?timestamp:Time.Protocol.t -> - ?mempool:string -> - ?context_path:string -> - ?seed_nonce_hash:Nonce_hash.t -> - chain:Chain_services.chain -> - priority:[`Set of int | `Auto of public_key_hash * int option] -> - delegate_pkh:Signature.Public_key_hash.t -> - delegate_sk:Client_keys.sk_uri -> - Block_services.block -> - Block_hash.t tzresult Lwt.t - -val create : - #Protocol_client_context.full -> - user_activated_upgrades:User_activated.upgrades -> - ?minimal_fees:Tez.t -> - ?minimal_nanotez_per_gas_unit:Q.t -> - ?minimal_nanotez_per_byte:Q.t -> - ?max_priority:int -> - chain:Chain_services.chain -> - context_path:string -> - public_key_hash list -> - Client_baking_blocks.block_info tzresult Lwt_stream.t -> - unit tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.ml deleted file mode 100644 index b3cf8a68e17f..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.ml +++ /dev/null @@ -1,115 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol_client_context -open Protocol -open Alpha_context - -type error += Level_previously_endorsed of Raw_level.t - -type error += Level_previously_baked of Raw_level.t - -let () = - let open Data_encoding in - register_error_kind - `Permanent - ~id:"highwatermarks.block_already_baked" - ~title:"Block already baked" - ~description:"Trying to bake a block for a level that was previously done" - ~pp:(fun ppf level -> - Format.fprintf ppf "Level %a previously baked " Raw_level.pp level) - (obj1 (req "level" Raw_level.encoding)) - (function Level_previously_baked level -> Some level | _ -> None) - (fun level -> Level_previously_baked level) ; - register_error_kind - `Permanent - ~id:"highwatermarks.block_already_endorsed" - ~title:"Fail to preapply an operation" - ~description: - "Trying to endorse a block for a level that was previously done" - ~pp:(fun ppf level -> - Format.fprintf ppf "Level %a previously endorsed " Raw_level.pp level) - (obj1 (req "level" Raw_level.encoding)) - (function Level_previously_endorsed level -> Some level | _ -> None) - (fun level -> Level_previously_endorsed level) - -type t = (string * Raw_level.t) list - -let encoding = - let open Data_encoding in - def "highwatermarks" @@ assoc Raw_level.encoding - -let empty = [] - -(* We do not lock these functions. The caller will be already locked. *) -let load_highwatermarks (cctxt : #Protocol_client_context.full) filename : - t tzresult Lwt.t = - cctxt#load filename encoding ~default:empty - -let save_highwatermarks (cctxt : #Protocol_client_context.full) filename - highwatermarks : unit tzresult Lwt.t = - cctxt#write filename highwatermarks encoding - -let retrieve_highwatermark cctxt filename = load_highwatermarks cctxt filename - -let may_inject (cctxt : #Protocol_client_context.full) location ~delegate level - = - retrieve_highwatermark cctxt (Client_baking_files.filename location) - >>=? fun highwatermark -> - let delegate = Signature.Public_key_hash.to_short_b58check delegate in - List.find_opt - (fun (delegate', _) -> String.compare delegate delegate' = 0) - highwatermark - |> function - | None -> return_true - | Some (_, past_level) -> return Raw_level.(past_level < level) - -let may_inject_block = may_inject - -let may_inject_endorsement = may_inject - -let record (cctxt : #Protocol_client_context.full) location ~delegate level = - let filename = Client_baking_files.filename location in - let delegate = Signature.Public_key_hash.to_short_b58check delegate in - load_highwatermarks cctxt filename >>=? fun highwatermarks -> - let level = - match List.assoc_opt ~equal:String.equal delegate highwatermarks with - | None -> level - | Some lower_prev_level when level >= lower_prev_level -> level - | Some higher_prev_level -> higher_prev_level - (* should only happen in `forced` mode *) - in - save_highwatermarks - cctxt - filename - ((delegate, level) - :: - List.filter - (fun (delegate', _) -> String.compare delegate delegate' <> 0) - highwatermarks) - -let record_block = record - -let record_endorsement = record diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.mli deleted file mode 100644 index 2dd35c1ff777..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_highwatermarks.mli +++ /dev/null @@ -1,63 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type error += Level_previously_endorsed of Raw_level.t - -type error += Level_previously_baked of Raw_level.t - -type t - -val encoding : t Data_encoding.t - -val may_inject_block : - #Protocol_client_context.full -> - [`Block] Client_baking_files.location -> - delegate:Signature.public_key_hash -> - Raw_level.t -> - bool tzresult Lwt.t - -val may_inject_endorsement : - #Protocol_client_context.full -> - [`Endorsement] Client_baking_files.location -> - delegate:Signature.public_key_hash -> - Raw_level.t -> - bool tzresult Lwt.t - -val record_block : - #Protocol_client_context.full -> - [`Block] Client_baking_files.location -> - delegate:Signature.public_key_hash -> - Raw_level.t -> - unit tzresult Lwt.t - -val record_endorsement : - #Protocol_client_context.full -> - [`Endorsement] Client_baking_files.location -> - delegate:Signature.public_key_hash -> - Raw_level.t -> - unit tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.ml deleted file mode 100644 index 4bef3afa0c40..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.ml +++ /dev/null @@ -1,160 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -let bake_block (cctxt : #Protocol_client_context.full) ?minimal_fees - ?minimal_nanotez_per_gas_unit ?minimal_nanotez_per_byte ?force ?max_priority - ?(minimal_timestamp = false) ?mempool ?context_path ?src_sk ~chain ~head - delegate = - (match src_sk with - | None -> - Client_keys.get_key cctxt delegate >>=? fun (_, _, src_sk) -> - return src_sk - | Some sk -> return sk) - >>=? fun src_sk -> - Alpha_services.Helpers.current_level cctxt ~offset:1l (chain, head) - >>=? fun level -> - let (seed_nonce, seed_nonce_hash) = - if level.expected_commitment then - let seed_nonce = Client_baking_forge.generate_seed_nonce () in - let seed_nonce_hash = Nonce.hash seed_nonce in - (Some seed_nonce, Some seed_nonce_hash) - else (None, None) - in - let timestamp = - if minimal_timestamp then None - else Some Time.System.(to_protocol (Systime_os.now ())) - in - Client_baking_forge.forge_block - cctxt - ?force - ?minimal_fees - ?minimal_nanotez_per_gas_unit - ?minimal_nanotez_per_byte - ?timestamp - ?seed_nonce_hash - ?mempool - ?context_path - ~chain - ~priority:(`Auto (delegate, max_priority)) - ~delegate_pkh:delegate - ~delegate_sk:src_sk - head - >>=? fun block_hash -> - (match seed_nonce with - | None -> return_unit - | Some seed_nonce -> - cctxt#with_lock (fun () -> - let open Client_baking_nonces in - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - load cctxt nonces_location >>=? fun nonces -> - let nonces = add nonces block_hash seed_nonce in - save cctxt nonces_location nonces) - |> trace_exn (Failure "Error while recording block")) - >>=? fun () -> - cctxt#message "Injected block %a" Block_hash.pp_short block_hash >>= fun () -> - return_unit - -let endorse_block cctxt ~chain delegate = - Client_keys.get_key cctxt delegate >>=? fun (_src_name, src_pk, src_sk) -> - Client_baking_endorsement.forge_endorsement - cctxt - ~chain - ~block:cctxt#block - ~src_sk - src_pk - >>=? fun oph -> - cctxt#answer "Operation successfully injected in the node." >>= fun () -> - cctxt#answer "Operation hash is '%a'." Operation_hash.pp oph >>= fun () -> - return_unit - -let get_predecessor_cycle (cctxt : #Client_context.printer) cycle = - match Cycle.pred cycle with - | None -> - if Cycle.(cycle = root) then - cctxt#error "No predecessor for the first cycle" - else - cctxt#error "Cannot compute the predecessor of cycle %a" Cycle.pp cycle - | Some cycle -> Lwt.return cycle - -let do_reveal cctxt ~chain ~block nonces = - Client_baking_revelation.inject_seed_nonce_revelation - cctxt - ~chain - ~block - nonces - >>=? fun () -> return_unit - -let reveal_block_nonces (cctxt : #Protocol_client_context.full) ~chain ~block - block_hashes = - cctxt#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - Client_baking_nonces.load cctxt nonces_location) - >>=? fun nonces -> - List.filter_map_p - (fun hash -> - Lwt.catch - (fun () -> - Client_baking_blocks.info cctxt (`Hash (hash, 0)) >>= function - | Ok bi -> Lwt.return_some bi - | Error _ -> Lwt.fail Not_found) - (fun _ -> - cctxt#warning - "Cannot find block %a in the chain. (ignoring)@." - Block_hash.pp_short - hash - >>= fun () -> Lwt.return_none)) - block_hashes - >>= fun block_infos -> - List.filter_map_es - (fun (bi : Client_baking_blocks.block_info) -> - match Client_baking_nonces.find_opt nonces bi.hash with - | None -> - cctxt#warning - "Cannot find nonces for block %a (ignoring)@." - Block_hash.pp_short - bi.hash - >>= fun () -> return_none - | Some nonce -> return_some (bi.hash, (bi.level, nonce))) - block_infos - >>=? fun nonces -> - let nonces = List.map snd nonces in - do_reveal cctxt ~chain ~block nonces - -let reveal_nonces (cctxt : #Protocol_client_context.full) ~chain ~block () = - let open Client_baking_nonces in - cctxt#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - load cctxt nonces_location >>=? fun nonces -> - get_unrevealed_nonces cctxt nonces_location nonces - >>=? fun nonces_to_reveal -> - do_reveal cctxt ~chain ~block nonces_to_reveal >>=? fun () -> - filter_outdated_nonces cctxt nonces_location nonces >>=? fun nonces -> - save cctxt nonces_location nonces >>=? fun () -> return_unit) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.mli deleted file mode 100644 index dd8e00bf3565..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_lib.mli +++ /dev/null @@ -1,71 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -(** Mine a block *) -val bake_block : - #Protocol_client_context.full -> - ?minimal_fees:Tez.t -> - ?minimal_nanotez_per_gas_unit:Q.t -> - ?minimal_nanotez_per_byte:Q.t -> - ?force:bool -> - ?max_priority:int -> - ?minimal_timestamp:bool -> - ?mempool:string -> - ?context_path:string -> - ?src_sk:Client_keys.sk_uri -> - chain:Chain_services.chain -> - head:Block_services.block -> - public_key_hash -> - unit tzresult Lwt.t - -(** Endorse a block *) -val endorse_block : - #Protocol_client_context.full -> - chain:Chain_services.chain -> - Client_keys.Public_key_hash.t -> - unit Error_monad.tzresult Lwt.t - -(** Get the previous cycle of the given cycle *) -val get_predecessor_cycle : - #Protocol_client_context.full -> Cycle.t -> Cycle.t Lwt.t - -(** Reveal the nonces used to bake each block in the given list *) -val reveal_block_nonces : - #Protocol_client_context.full -> - chain:Chain_services.chain -> - block:Block_services.block -> - Block_hash.t list -> - unit Error_monad.tzresult Lwt.t - -(** Reveal all unrevealed nonces *) -val reveal_nonces : - #Protocol_client_context.full -> - chain:Chain_services.chain -> - block:Block_services.block -> - unit -> - unit Error_monad.tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.ml deleted file mode 100644 index 0bd234a60218..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.ml +++ /dev/null @@ -1,180 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -include Internal_event.Legacy_logging.Make_semantic (struct - let name = Protocol.name ^ ".baking.nonces" -end) - -type t = Nonce.t Block_hash.Map.t - -let empty = Block_hash.Map.empty - -let encoding = - let open Data_encoding in - def "seed_nonce" - @@ conv - (fun m -> - Block_hash.Map.fold (fun hash nonce acc -> (hash, nonce) :: acc) m []) - (fun l -> - List.fold_left - (fun map (hash, nonce) -> Block_hash.Map.add hash nonce map) - Block_hash.Map.empty - l) - @@ list (obj2 (req "block" Block_hash.encoding) (req "nonce" Nonce.encoding)) - -let load (wallet : #Client_context.wallet) location = - wallet#load (Client_baking_files.filename location) ~default:empty encoding - -let save (wallet : #Client_context.wallet) location nonces = - wallet#write (Client_baking_files.filename location) nonces encoding - -let mem nonces hash = Block_hash.Map.mem hash nonces - -let find_opt nonces hash = Block_hash.Map.find hash nonces - -let add nonces hash nonce = Block_hash.Map.add hash nonce nonces - -let add_all nonces nonces_to_add = - Block_hash.Map.fold - (fun hash nonce acc -> add acc hash nonce) - nonces_to_add - nonces - -let remove nonces hash = Block_hash.Map.remove hash nonces - -let remove_all nonces nonces_to_remove = - Block_hash.Map.fold - (fun hash _ acc -> remove acc hash) - nonces_to_remove - nonces - -let get_block_level_opt cctxt ~chain ~block = - Shell_services.Blocks.Header.shell_header cctxt ~chain ~block () >>= function - | Ok {level; _} -> Lwt.return_some level - | Error errs -> - lwt_warn - Tag.DSL.( - fun f -> - f - "@[Cannot retrieve block %a header associated to nonce:@ \ - @[%a@]@]@." - -% t event "cannot_retrieve_block_header" - -% a Logging.block_tag block -% a errs_tag errs) - >>= fun () -> Lwt.return_none - -let get_outdated_nonces cctxt ?constants ~chain nonces = - (match constants with - | None -> Alpha_services.Constants.all cctxt (chain, `Head 0) - | Some constants -> return constants) - >>=? fun {Constants.parametric = {blocks_per_cycle; preserved_cycles; _}; _} - -> - get_block_level_opt cctxt ~chain ~block:(`Head 0) >>= function - | None -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Cannot fetch chain's head level. Aborting nonces filtering." - -% t event "cannot_retrieve_head_level") - >>= fun () -> return (empty, empty) - | Some current_level -> - let current_cycle = Int32.(div current_level blocks_per_cycle) in - let is_older_than_preserved_cycles block_level = - let block_cycle = Int32.(div block_level blocks_per_cycle) in - Int32.sub current_cycle block_cycle > Int32.of_int preserved_cycles - in - Block_hash.Map.fold - (fun hash nonce acc -> - acc >>=? fun (orphans, outdated) -> - get_block_level_opt cctxt ~chain ~block:(`Hash (hash, 0)) >>= function - | Some level -> - if is_older_than_preserved_cycles level then - return (orphans, add outdated hash nonce) - else acc - | None -> return (add orphans hash nonce, outdated)) - nonces - (return (empty, empty)) - -let filter_outdated_nonces cctxt ?constants location nonces = - let chain = Client_baking_files.chain location in - get_outdated_nonces cctxt ?constants ~chain nonces - >>=? fun (orphans, outdated_nonces) -> - (if Block_hash.Map.cardinal orphans >= 50 then - lwt_warn - Tag.DSL.( - fun f -> - f - "Found too many nonces associated to blocks unknown by the node in \ - '$TEZOS_CLIENT/%s'. After checking that these blocks were never \ - included in the chain (e.g. via a block explorer), consider using \ - `tezos-client filter orphan nonces` to clear them." - -% s Logging.filename_tag (Client_baking_files.filename location ^ "s") - -% t event "too_many_orphans") - >>= fun () -> Lwt.return_unit - else Lwt.return_unit) - >>= fun () -> return (remove_all nonces outdated_nonces) - -let get_unrevealed_nonces cctxt location nonces = - let chain = Client_baking_files.chain location in - Client_baking_blocks.blocks_from_current_cycle - cctxt - ~chain - (`Head 0) - ~offset:(-1l) - () - >>=? fun blocks -> - List.filter_map_es - (fun hash -> - match find_opt nonces hash with - | None -> return_none - | Some nonce -> ( - get_block_level_opt cctxt ~chain ~block:(`Hash (hash, 0)) >>= function - | Some level -> ( - Lwt.return (Environment.wrap_error (Raw_level.of_int32 level)) - >>=? fun level -> - Alpha_services.Nonce.get cctxt (chain, `Head 0) level - >>=? function - | Missing nonce_hash when Nonce.check_hash nonce nonce_hash -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Found nonce to reveal for %a (level: %a)" - -% t event "found_nonce" - -% a Block_hash.Logging.tag hash - -% a Logging.level_tag level) - >>= fun () -> return_some (level, nonce) - | Missing _nonce_hash -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Incoherent nonce for level %a" - -% t event "bad_nonce" -% a Logging.level_tag level) - >>= fun () -> return_none - | Forgotten -> return_none - | Revealed _ -> return_none) - | None -> return_none)) - blocks diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.mli deleted file mode 100644 index b5c18d3b6a68..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_nonces.mli +++ /dev/null @@ -1,81 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type t = Nonce.t Block_hash.Map.t - -val encoding : t Data_encoding.t - -val empty : t - -val load : - #Client_context.wallet -> - [`Nonce] Client_baking_files.location -> - t tzresult Lwt.t - -val save : - #Client_context.wallet -> - [`Nonce] Client_baking_files.location -> - t -> - unit tzresult Lwt.t - -val mem : t -> Block_hash.t -> bool - -val find_opt : t -> Block_hash.t -> Nonce.t option - -val add : t -> Block_hash.t -> Nonce.t -> t - -val add_all : t -> t -> t - -val remove : t -> Block_hash.t -> t - -val remove_all : t -> t -> t - -(** [get_outdated_nonces] returns the nonces that cannot be associated - to blocks (orphans) and the nonces that are older than 5 cycles. *) -val get_outdated_nonces : - #Protocol_client_context.full -> - ?constants:Constants.t -> - chain:Block_services.chain -> - t -> - (t * t) tzresult Lwt.t - -(** [filter_outdated_nonces] filters nonces older than 5 cycles in the - nonce file. *) -val filter_outdated_nonces : - #Protocol_client_context.full -> - ?constants:Constants.t -> - [`Nonce] Client_baking_files.location -> - t -> - t tzresult Lwt.t - -(** [get_unrevealed_nonces] retrieve registered nonces *) -val get_unrevealed_nonces : - #Protocol_client_context.full -> - [`Nonce] Client_baking_files.location -> - t -> - (Raw_level.t * Nonce.t) list tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.ml deleted file mode 100644 index fd7c820402d3..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.ml +++ /dev/null @@ -1,82 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -let default_constant = "\x00\x00\x00\x05" - -let is_updated_constant = - let commit_hash = - if TzString.is_hex Tezos_version.Current_git_info.commit_hash then - Hex.to_string (`Hex Tezos_version.Current_git_info.commit_hash) - else Tezos_version.Current_git_info.commit_hash - in - if String.length commit_hash >= 4 then String.sub commit_hash 0 4 - else default_constant - -let is_updated_constant_len = String.length is_updated_constant - -(* add a version to the pow *) -let init_proof_of_work_nonce () = - let buf = - Bytes.make Alpha_context.Constants.proof_of_work_nonce_size '\000' - in - Bytes.blit_string is_updated_constant 0 buf 0 is_updated_constant_len ; - let max_z_len = - Alpha_context.Constants.proof_of_work_nonce_size - is_updated_constant_len - in - let rec aux z = - let z_len = (Z.numbits z + 7) / 8 in - if z_len > max_z_len then Seq.Nil - else ( - Bytes.blit_string (Z.to_bits z) 0 buf is_updated_constant_len z_len ; - Seq.Cons (buf, fun () -> aux (Z.succ z))) - in - aux Z.zero - -(* This was used before November 2018 *) -(* (\* Random proof of work *\) - * let generate_proof_of_work_nonce () = - * Rand.generate Alpha_context.Constants.proof_of_work_nonce_size *) - -let empty_proof_of_work_nonce = - Bytes.make Constants_repr.proof_of_work_nonce_size '\000' - -let mine cctxt chain block shell builder = - Alpha_services.Constants.all cctxt (chain, block) >>=? fun constants -> - let threshold = constants.parametric.proof_of_work_threshold in - let rec loop nonce_seq = - match nonce_seq with - | Seq.Nil -> - failwith - "Client_baking_pow.mine: couldn't find nonce for required proof of \ - work" - | Seq.Cons (nonce, seq) -> - let block = builder nonce in - if Baking.check_header_proof_of_work_stamp shell block threshold then - return block - else loop (seq ()) - in - loop (init_proof_of_work_nonce ()) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.mli deleted file mode 100644 index f61d37970ba2..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_pow.mli +++ /dev/null @@ -1,42 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -(** A null proof-of-work nonce. This should only be used to nonsensical blocks - of the correct size and shape. *) -val empty_proof_of_work_nonce : Bytes.t - -(** [mine cctxt chain block header builder] returns a block with a valid - proof-of-work nonce. The function [builder], provided by the caller, is used - to make the block. All the internal logic of generating nonces and checking - for the proof-of-work threshold is handled by [mine]. *) -val mine : - #Protocol_client_context.full -> - Shell_services.chain -> - Block_services.block -> - Block_header.shell_header -> - (Bytes.t -> Alpha_context.Block_header.contents) -> - Alpha_context.Block_header.contents tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.ml deleted file mode 100644 index 8d63b33f1004..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.ml +++ /dev/null @@ -1,69 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol - -include Internal_event.Legacy_logging.Make_semantic (struct - let name = Protocol.name ^ ".baking.nonce_revelation" -end) - -let inject_seed_nonce_revelation (cctxt : #Protocol_client_context.full) ~chain - ~block ?async nonces = - Shell_services.Blocks.hash cctxt ~chain ~block () >>=? fun hash -> - match nonces with - | [] -> - lwt_log_notice - Tag.DSL.( - fun f -> - f "Nothing to reveal for block %a" - -% t event "no_nonce_reveal" - -% a Block_hash.Logging.tag hash) - >>= fun () -> return_unit - | _ -> - List.iter_es - (fun (level, nonce) -> - Alpha_services.Forge.seed_nonce_revelation - cctxt - (chain, block) - ~branch:hash - ~level - ~nonce - () - >>=? fun bytes -> - let bytes = Signature.concat bytes Signature.zero in - Shell_services.Injection.operation cctxt ?async ~chain bytes - >>=? fun oph -> - lwt_log_notice - Tag.DSL.( - fun f -> - f - "Revealing nonce %a from level %a for chain %a, block %a \ - with operation %a" - -% t event "reveal_nonce" -% a Logging.nonce_tag nonce - -% a Logging.level_tag level -% a Logging.chain_tag chain - -% a Logging.block_tag block - -% a Operation_hash.Logging.tag oph) - >>= fun () -> return_unit) - nonces diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.mli deleted file mode 100644 index f13532831a9a..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_revelation.mli +++ /dev/null @@ -1,35 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -val inject_seed_nonce_revelation : - #Protocol_client_context.full -> - chain:Chain_services.chain -> - block:Block_services.block -> - ?async:bool -> - (Raw_level.t * Nonce.t) list -> - unit tzresult Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.ml deleted file mode 100644 index 1080d7748dd4..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.ml +++ /dev/null @@ -1,160 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -include Internal_event.Legacy_logging.Make_semantic (struct - let name = Protocol.name ^ ".baking.scheduling" -end) - -open Logging -open Protocol_client_context - -type error += Node_connection_lost - -let () = - register_error_kind - `Temporary - ~id:"client_baking_scheduling.node_connection_lost" - ~title:"Node connection lost" - ~description:"The connection with the node was lost." - ~pp:(fun fmt () -> Format.fprintf fmt "Lost connection with the node") - Data_encoding.empty - (function Node_connection_lost -> Some () | _ -> None) - (fun () -> Node_connection_lost) - -let sleep_until time = - (* Sleeping is a system op, baking is a protocol op, this is where we convert *) - let time = Time.System.of_protocol_exn time in - let delay = Ptime.diff time (Tezos_stdlib_unix.Systime_os.now ()) in - if Ptime.Span.compare delay Ptime.Span.zero < 0 then None - else Some (Lwt_unix.sleep (Ptime.Span.to_float_s delay)) - -let rec wait_for_first_event ~name stream = - Lwt_stream.get stream >>= function - | None | Some (Error _) -> - lwt_log_info - Tag.DSL.( - fun f -> - f "Can't fetch the current event. Waiting for new event." - -% t event "cannot_fetch_event" - -% t worker_tag name) - >>= fun () -> - (* NOTE: this is not a tight loop because of Lwt_stream.get *) - wait_for_first_event ~name stream - | Some (Ok bi) -> Lwt.return bi - -let log_errors_and_continue ~name p = - p >>= function - | Ok () -> Lwt.return_unit - | Error errs -> - lwt_log_error - Tag.DSL.( - fun f -> - f "Error while baking:@\n%a" - -% t event "daemon_error" -% t worker_tag name -% a errs_tag errs) - -let main ~(name : string) ~(cctxt : #Protocol_client_context.full) - ~(stream : 'event tzresult Lwt_stream.t) - ~(state_maker : 'event -> 'state tzresult Lwt.t) - ~(pre_loop : - #Protocol_client_context.full -> 'state -> 'event -> unit tzresult Lwt.t) - ~(compute_timeout : 'state -> 'timesup Lwt.t) - ~(timeout_k : - #Protocol_client_context.full -> - 'state -> - 'timesup -> - unit tzresult Lwt.t) - ~(event_k : - #Protocol_client_context.full -> 'state -> 'event -> unit tzresult Lwt.t) - ~finalizer = - lwt_log_info - Tag.DSL.( - fun f -> - f "Setting up before the %s can start." - -% t event "daemon_setup" -% s worker_tag name) - >>= fun () -> - wait_for_first_event ~name stream >>= fun first_event -> - (* statefulness *) - let last_get_event = ref None in - let get_event () = - match !last_get_event with - | None -> - let t = Lwt_stream.get stream in - last_get_event := Some t ; - t - | Some t -> t - in - state_maker first_event >>=? fun state -> - (* main loop *) - let rec worker_loop () = - (* event construction *) - let timeout = compute_timeout state in - Lwt.choose - [ - (Lwt_exit.clean_up_starts >|= fun _ -> `Termination); - (timeout >|= fun timesup -> `Timeout timesup); - (get_event () >|= fun e -> `Event e); - ] - >>= function - (* event matching *) - | `Termination -> return_unit - | `Event (None | Some (Error _)) -> - (* exit when the node is unavailable *) - last_get_event := None ; - lwt_log_error - Tag.DSL.( - fun f -> - f "Connection to node lost, %s exiting." - -% t event "daemon_connection_lost" - -% s worker_tag name) - >>= fun () -> fail Node_connection_lost - | `Event (Some (Ok event)) -> - (* new event: cancel everything and execute callback *) - last_get_event := None ; - (* TODO: pretty-print events (requires passing a pp as argument) *) - log_errors_and_continue ~name @@ event_k cctxt state event >>= fun () -> - worker_loop () - | `Timeout timesup -> - (* main event: it's time *) - lwt_debug - Tag.DSL.( - fun f -> - f "Waking up for %s." -% t event "daemon_wakeup" - -% s worker_tag name) - >>= fun () -> - (* core functionality *) - log_errors_and_continue ~name @@ timeout_k cctxt state timesup - >>= fun () -> worker_loop () - in - (* ignition *) - lwt_log_info - Tag.DSL.( - fun f -> - f "Starting %s daemon" -% t event "daemon_start" -% s worker_tag name) - >>= fun () -> - Lwt.finalize - (fun () -> - log_errors_and_continue ~name @@ pre_loop cctxt state first_event - >>= fun () -> worker_loop ()) - (fun () -> finalizer state) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.mli deleted file mode 100644 index ba8494f2d135..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_scheduling.mli +++ /dev/null @@ -1,56 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -type error += Node_connection_lost - -val sleep_until : Time.Protocol.t -> unit Lwt.t option - -val wait_for_first_event : - name:string -> 'event tzresult Lwt_stream.t -> 'event Lwt.t - -val main : - name:string -> - cctxt:(#Protocol_client_context.full as 'a) -> - stream:'event tzresult Lwt_stream.t -> - state_maker:('event -> 'state tzresult Lwt.t) -> - pre_loop:('a -> 'state -> 'event -> unit tzresult Lwt.t) -> - compute_timeout:('state -> 'timesup Lwt.t) -> - timeout_k:('a -> 'state -> 'timesup -> unit tzresult Lwt.t) -> - event_k:('a -> 'state -> 'event -> unit tzresult Lwt.t) -> - finalizer:('state -> unit Lwt.t) -> - unit tzresult Lwt.t - -(** [main ~name ~cctxt ~stream ~state_maker ~pre_loop ~timeout_maker ~timeout_k - ~event_k] is an infinitely running loop that - monitors new events arriving on [stream]. The loop exits when the - [stream] gives an error. - - The function [pre_loop] is called before the loop starts. - - The loop maintains a state (of type ['state]) initialized by [state_maker] - and passed to the callbacks [timeout_maker] (used to set up waking-up - timeouts), [timeout_k] (when a computed timeout happens), and [event_k] - (when a new event arrives on the stream). -*) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.ml deleted file mode 100644 index 28bd37ddc549..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.ml +++ /dev/null @@ -1,111 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol_client_context -open Protocol -open Alpha_context - -type error += Failed_to_checkout_context - -type error += Invalid_context - -let ( >>=?? ) x k = x >>= fun x -> Lwt.return (Environment.wrap_error x) >>=? k - -let () = - register_error_kind - `Permanent - ~id:"Client_baking_simulator.failed_to_checkout_context" - ~title:"Failed to checkout context" - ~description:"The given context hash does not exists in the context." - ~pp:(fun ppf () -> Format.fprintf ppf "Failed to checkout the context") - Data_encoding.unit - (function Failed_to_checkout_context -> Some () | _ -> None) - (fun () -> Failed_to_checkout_context) ; - register_error_kind - `Permanent - ~id:"Client_baking_simulator.invalid_context" - ~title:"Invalid context" - ~description:"Occurs when the context is inconsistent." - ~pp:(fun ppf () -> Format.fprintf ppf "The given context is invalid.") - Data_encoding.unit - (function Invalid_context -> Some () | _ -> None) - (fun () -> Invalid_context) - -type incremental = { - predecessor : Client_baking_blocks.block_info; - context : Tezos_protocol_environment.Context.t; - state : Protocol.validation_state; - rev_operations : Operation.packed list; - header : Tezos_base.Block_header.shell_header; -} - -let load_context ~context_path = Context.init ~readonly:true context_path - -let check_context_consistency index context_hash = - (* Hypothesis : the version key exists *) - let version_key = ["version"] in - Context.checkout index context_hash >>= function - | None -> fail Failed_to_checkout_context - | Some context -> ( - Context.mem context version_key >>= function - | true -> return_unit - | false -> fail Invalid_context) - -let begin_construction ~timestamp ?protocol_data index predecessor = - let {Client_baking_blocks.context; _} = predecessor in - Shell_context.checkout index context >>= function - | None -> fail Failed_to_checkout_context - | Some context -> - let header : Tezos_base.Block_header.shell_header = - Tezos_base.Block_header. - { - predecessor = predecessor.hash; - proto_level = predecessor.proto_level; - validation_passes = 0; - fitness = predecessor.fitness; - timestamp; - level = Raw_level.to_int32 predecessor.level; - context = Context_hash.zero; - operations_hash = Operation_list_list_hash.zero; - } - in - Protocol.begin_construction - ~chain_id:predecessor.chain_id - ~predecessor_context:context - ~predecessor_timestamp:predecessor.timestamp - ~predecessor_fitness:predecessor.fitness - ~predecessor_level:(Raw_level.to_int32 predecessor.level) - ~predecessor:predecessor.hash - ?protocol_data - ~timestamp - () - >>=?? fun state -> - return {predecessor; context; state; rev_operations = []; header} - -let add_operation st (op : Operation.packed) = - Protocol.apply_operation st.state op >>=?? fun (state, receipt) -> - return ({st with state; rev_operations = op :: st.rev_operations}, receipt) - -let finalize_construction inc = Protocol.finalize_block inc.state >>=?? return diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.mli deleted file mode 100644 index 912adb99f9d0..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_baking_simulator.mli +++ /dev/null @@ -1,59 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -type incremental = { - predecessor : Client_baking_blocks.block_info; - context : Tezos_protocol_environment.Context.t; - state : validation_state; - rev_operations : Operation.packed list; - header : Tezos_base.Block_header.shell_header; -} - -val load_context : context_path:string -> Context.index Lwt.t - -(** Make sure that the given context is consistent by trying to read in it *) -val check_context_consistency : - Context.index -> Context_hash.t -> unit tzresult Lwt.t - -val begin_construction : - timestamp:Time.Protocol.t -> - ?protocol_data:block_header_data -> - Context.index -> - Client_baking_blocks.block_info -> - incremental tzresult Lwt.t - -val add_operation : - incremental -> - Operation.packed -> - (incremental * operation_receipt) tzresult Lwt.t - -val finalize_construction : - incremental -> - (Tezos_protocol_environment.validation_result * block_header_metadata) - tzresult - Lwt.t diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.ml b/src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.ml deleted file mode 100644 index 917faba69bff..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.ml +++ /dev/null @@ -1,202 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -let rec retry (cctxt : #Protocol_client_context.full) ?max_delay ~delay ~factor - ~tries f x = - f x >>= function - | Ok _ as r -> Lwt.return r - | Error - (RPC_client_errors.Request_failed {error = Connection_failed _; _} :: _) - as err - when tries > 0 -> ( - cctxt#message "Connection refused, retrying in %.2f seconds..." delay - >>= fun () -> - Lwt.pick - [ - (Lwt_unix.sleep delay >|= fun () -> `Continue); - (Lwt_exit.clean_up_starts >|= fun _ -> `Killed); - ] - >>= function - | `Killed -> Lwt.return err - | `Continue -> - let next_delay = delay *. factor in - let delay = - Option.fold - ~none:next_delay - ~some:(fun max_delay -> Float.min next_delay max_delay) - max_delay - in - retry cctxt ?max_delay ~delay ~factor ~tries:(tries - 1) f x) - | Error _ as err -> Lwt.return err - -let rec retry_on_disconnection (cctxt : #Protocol_client_context.full) f = - f () >>= function - | Ok () -> return_unit - | Error (Client_baking_scheduling.Node_connection_lost :: _) -> - cctxt#warning - "Lost connection with the node. Retrying to establish connection..." - >>= fun () -> - (* Wait forever when the node stops responding... *) - Client_confirmations.wait_for_bootstrapped - ~retry:(retry cctxt ~max_delay:10. ~delay:1. ~factor:1.5 ~tries:max_int) - cctxt - >>=? fun () -> retry_on_disconnection cctxt f - | Error err -> - cctxt#error "Unexpected error: %a. Exiting..." pp_print_error err - -let monitor_fork_testchain (cctxt : #Protocol_client_context.full) - ~cleanup_nonces = - (* Waiting for the node to be synchronized *) - cctxt#message "Waiting for the test chain to be forked..." >>= fun () -> - Shell_services.Monitor.active_chains cctxt >>=? fun (stream, _) -> - let rec loop () = - Lwt_stream.next stream >>= fun l -> - let testchain = - List.find_opt - (function Shell_services.Monitor.Active_test _ -> true | _ -> false) - l - in - match testchain with - | Some (Active_test {protocol; expiration_date; _}) - when Protocol_hash.equal Protocol.hash protocol -> - let abort_daemon () = - cctxt#message - "Test chain's expiration date reached (%a)... Stopping the daemon." - Time.Protocol.pp_hum - expiration_date - >>= fun () -> - if cleanup_nonces then - (* Clean-up existing nonces *) - cctxt#with_lock (fun () -> - Client_baking_files.resolve_location cctxt ~chain:`Test `Nonce - >>=? fun nonces_location -> - Client_baking_nonces.(save cctxt nonces_location empty)) - else return_unit >>=? fun () -> exit 0 - in - let canceler = Lwt_canceler.create () in - Lwt_canceler.on_cancel canceler (fun () -> - abort_daemon () >>= function _ -> Lwt.return_unit) ; - let now = Time.System.(to_protocol (Systime_os.now ())) in - let delay = Int64.to_int (Time.Protocol.diff expiration_date now) in - if delay <= 0 then (* Testchain already expired... Retrying. *) - loop () - else - let timeout = - Lwt_timeout.create delay (fun () -> - Lwt_canceler.cancel canceler |> ignore) - in - Lwt_timeout.start timeout ; - return_unit - | None -> loop () - | Some _ -> loop () - (* Got a testchain for a different protocol, skipping *) - in - Lwt.pick - [(Lwt_exit.clean_up_starts >>= fun _ -> failwith "Interrupted..."); loop ()] - >>=? fun () -> - cctxt#message "Test chain forked." >>= fun () -> return_unit - -module Endorser = struct - let run (cctxt : #Protocol_client_context.full) ~chain ~delay ~keep_alive - delegates = - let process () = - (if chain = `Test then monitor_fork_testchain cctxt ~cleanup_nonces:false - else return_unit) - >>=? fun () -> - Client_baking_blocks.monitor_heads - ~next_protocols:(Some [Protocol.hash]) - cctxt - chain - >>=? fun block_stream -> - cctxt#message "Endorser started." >>= fun () -> - Client_baking_endorsement.create cctxt ~delay delegates block_stream - in - Client_confirmations.wait_for_bootstrapped - ~retry:(retry cctxt ~delay:1. ~factor:1.5 ~tries:5) - cctxt - >>=? fun () -> - if keep_alive then retry_on_disconnection cctxt process else process () -end - -module Baker = struct - let run (cctxt : #Protocol_client_context.full) ?minimal_fees - ?minimal_nanotez_per_gas_unit ?minimal_nanotez_per_byte ?max_priority - ~chain ~context_path ~keep_alive delegates = - let process () = - Config_services.user_activated_upgrades cctxt - >>=? fun user_activated_upgrades -> - (if chain = `Test then monitor_fork_testchain cctxt ~cleanup_nonces:true - else return_unit) - >>=? fun () -> - Client_baking_blocks.monitor_heads - ~next_protocols:(Some [Protocol.hash]) - cctxt - chain - >>=? fun block_stream -> - cctxt#message "Baker started." >>= fun () -> - Client_baking_forge.create - cctxt - ~user_activated_upgrades - ?minimal_fees - ?minimal_nanotez_per_gas_unit - ?minimal_nanotez_per_byte - ?max_priority - ~chain - ~context_path - delegates - block_stream - in - Client_confirmations.wait_for_bootstrapped - ~retry:(retry cctxt ~delay:1. ~factor:1.5 ~tries:5) - cctxt - >>=? fun () -> - if keep_alive then retry_on_disconnection cctxt process else process () -end - -module Accuser = struct - let run (cctxt : #Protocol_client_context.full) ~chain ~preserved_levels - ~keep_alive = - let process () = - (if chain = `Test then monitor_fork_testchain cctxt ~cleanup_nonces:true - else return_unit) - >>=? fun () -> - Client_baking_blocks.monitor_valid_blocks - ~next_protocols:(Some [Protocol.hash]) - cctxt - ~chains:[chain] - () - >>=? fun valid_blocks_stream -> - cctxt#message "Accuser started." >>= fun () -> - Client_baking_denunciation.create - cctxt - ~preserved_levels - valid_blocks_stream - in - Client_confirmations.wait_for_bootstrapped - ~retry:(retry cctxt ~delay:1. ~factor:1.5 ~tries:5) - cctxt - >>=? fun () -> - if keep_alive then retry_on_disconnection cctxt process else process () -end diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.mli b/src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.mli deleted file mode 100644 index 410e71670ec9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/client_daemon.mli +++ /dev/null @@ -1,60 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -module Endorser : sig - val run : - #Protocol_client_context.full -> - chain:Chain_services.chain -> - delay:int -> - keep_alive:bool -> - public_key_hash list -> - unit tzresult Lwt.t -end - -module Baker : sig - val run : - #Protocol_client_context.full -> - ?minimal_fees:Tez.t -> - ?minimal_nanotez_per_gas_unit:Q.t -> - ?minimal_nanotez_per_byte:Q.t -> - ?max_priority:int -> - chain:Chain_services.chain -> - context_path:string -> - keep_alive:bool -> - public_key_hash list -> - unit tzresult Lwt.t -end - -module Accuser : sig - val run : - #Protocol_client_context.full -> - chain:Chain_services.chain -> - preserved_levels:int -> - keep_alive:bool -> - unit tzresult Lwt.t -end diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.ml b/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.ml deleted file mode 100644 index 566cf79f9772..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.ml +++ /dev/null @@ -1,347 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Client_proto_args -open Client_baking_lib - -let group = - {Clic.name = "delegate"; title = "Commands related to delegate operations."} - -let directory_parameter = - Clic.parameter (fun _ p -> - if not (Sys.file_exists p && Sys.is_directory p) then - failwith "Directory doesn't exist: '%s'" p - else return p) - -let mempool_arg = - Clic.arg - ~long:"mempool" - ~placeholder:"file" - ~doc: - "When used the client will read the mempool in the provided file instead \ - of querying the node through an RPC (useful for debugging only)." - string_parameter - -let context_path_arg = - Clic.arg - ~long:"context" - ~placeholder:"path" - ~doc: - "When use the client will read in the local context at the provided path \ - in order to build the block, instead of relying on the 'preapply' RPC." - string_parameter - -let pidfile_arg = - Clic.arg - ~doc:"write process id in file" - ~short:'P' - ~long:"pidfile" - ~placeholder:"filename" - (Clic.parameter (fun _ s -> return s)) - -let may_lock_pidfile pidfile_opt f = - match pidfile_opt with - | None -> f () - | Some pidfile -> - Lwt_lock_file.try_with_lock - ~when_locked:(fun () -> - failwith "Failed to create the pidfile: %s" pidfile) - ~filename:pidfile - f - -let block_param t = - Clic.param - ~name:"block" - ~desc:"commitment blocks whose nonce should be revealed" - (Clic.parameter (fun _ str -> Lwt.return (Block_hash.of_b58check str))) - t - -let keep_alive_arg = - Clic.switch - ~doc: - "Keep the daemon process alive: when the connection with the node is \ - lost, the daemon periodically tries to reach it." - ~short:'K' - ~long:"keep-alive" - () - -let delegate_commands () = - let open Clic in - [ - command - ~group - ~desc:"Forge and inject block using the delegate rights." - (args8 - max_priority_arg - minimal_fees_arg - minimal_nanotez_per_gas_unit_arg - minimal_nanotez_per_byte_arg - force_switch - minimal_timestamp_switch - mempool_arg - context_path_arg) - (prefixes ["bake"; "for"] - @@ Client_keys.Public_key_hash.source_param - ~name:"baker" - ~desc:"name of the delegate owning the baking right" - @@ stop) - (fun ( max_priority, - minimal_fees, - minimal_nanotez_per_gas_unit, - minimal_nanotez_per_byte, - force, - minimal_timestamp, - mempool, - context_path ) - delegate - cctxt -> - bake_block - cctxt - ~minimal_fees - ~minimal_nanotez_per_gas_unit - ~minimal_nanotez_per_byte - ~force - ?max_priority - ~minimal_timestamp - ?mempool - ?context_path - ~chain:cctxt#chain - ~head:cctxt#block - delegate); - command - ~group - ~desc:"Forge and inject a seed-nonce revelation operation." - no_options - (prefixes ["reveal"; "nonce"; "for"] @@ seq_of_param block_param) - (fun () block_hashes cctxt -> - reveal_block_nonces - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - block_hashes); - command - ~group - ~desc: - "Forge and inject all the possible seed-nonce revelation operations." - no_options - (prefixes ["reveal"; "nonces"] @@ stop) - (fun () cctxt -> - reveal_nonces ~chain:cctxt#chain ~block:cctxt#block cctxt ()); - command - ~group - ~desc:"Forge and inject an endorsement operation." - no_options - (prefixes ["endorse"; "for"] - @@ Client_keys.Public_key_hash.source_param - ~name:"baker" - ~desc:"name of the delegate owning the endorsement right" - @@ stop) - (fun () delegate cctxt -> endorse_block cctxt ~chain:cctxt#chain delegate); - command - ~group - ~desc: - "Clear the nonces file by removing the nonces which blocks cannot be \ - found on the chain." - no_options - (prefixes ["filter"; "orphan"; "nonces"] @@ stop) - (fun () (cctxt : #Protocol_client_context.full) -> - cctxt#with_lock (fun () -> - let chain = cctxt#chain in - Client_baking_files.resolve_location cctxt ~chain `Nonce - >>=? fun nonces_location -> - let open Client_baking_nonces in - (* Filtering orphan nonces *) - load cctxt nonces_location >>=? fun nonces -> - Block_hash.Map.fold - (fun block nonce acc -> - acc >>= fun acc -> - Shell_services.Blocks.Header.shell_header - cctxt - ~chain - ~block:(`Hash (block, 0)) - () - >>= function - | Ok _ -> Lwt.return acc - | Error _ -> Lwt.return (Block_hash.Map.add block nonce acc)) - nonces - (Lwt.return empty) - >>= fun orphans -> - if Block_hash.Map.cardinal orphans = 0 then - cctxt#message "No orphan nonces found." >>= fun () -> return_unit - else - (* "Backup-ing" orphan nonces *) - let orphan_nonces_file = "orphan_nonce" in - cctxt#load orphan_nonces_file ~default:empty encoding - >>=? fun orphan_nonces -> - let orphan_nonces = add_all orphan_nonces orphans in - cctxt#write orphan_nonces_file orphan_nonces encoding - >>=? fun () -> - (* Don't forget the 's'. *) - let orphan_nonces_file = orphan_nonces_file ^ "s" in - cctxt#message - "Successfully filtered %d orphan nonces and moved them to \ - '$TEZOS_CLIENT/%s'." - (Block_hash.Map.cardinal orphans) - orphan_nonces_file - >>= fun () -> - let filtered_nonces = - Client_baking_nonces.remove_all nonces orphans - in - save cctxt nonces_location filtered_nonces >>=? fun () -> - return_unit)); - command - ~group - ~desc:"List orphan nonces." - no_options - (prefixes ["list"; "orphan"; "nonces"] @@ stop) - (fun () (cctxt : #Protocol_client_context.full) -> - cctxt#with_lock (fun () -> - let open Client_baking_nonces in - let orphan_nonces_file = "orphan_nonce" in - cctxt#load orphan_nonces_file ~default:empty encoding - >>=? fun orphan_nonces -> - let block_hashes = - List.map fst (Block_hash.Map.bindings orphan_nonces) - in - cctxt#message - "@[Found %d orphan nonces associated to the potentially \ - unknown following blocks:@ %a@]" - (Block_hash.Map.cardinal orphan_nonces) - (Format.pp_print_list ~pp_sep:Format.pp_print_cut Block_hash.pp) - block_hashes - >>= fun () -> return_unit)); - ] - -let baker_commands () = - let open Clic in - let group = - { - Clic.name = "delegate.baker"; - title = "Commands related to the baker daemon."; - } - in - [ - command - ~group - ~desc:"Launch the baker daemon." - (args6 - pidfile_arg - max_priority_arg - minimal_fees_arg - minimal_nanotez_per_gas_unit_arg - minimal_nanotez_per_byte_arg - keep_alive_arg) - (prefixes ["run"; "with"; "local"; "node"] - @@ param - ~name:"context_path" - ~desc:"Path to the node data directory (e.g. $HOME/.tezos-node)" - directory_parameter - @@ seq_of_param Client_keys.Public_key_hash.alias_param) - (fun ( pidfile, - max_priority, - minimal_fees, - minimal_nanotez_per_gas_unit, - minimal_nanotez_per_byte, - keep_alive ) - node_path - delegates - cctxt -> - may_lock_pidfile pidfile @@ fun () -> - Tezos_signer_backends.Encrypted.decrypt_list - cctxt - (List.map fst delegates) - >>=? fun () -> - Client_daemon.Baker.run - cctxt - ~chain:cctxt#chain - ~minimal_fees - ~minimal_nanotez_per_gas_unit - ~minimal_nanotez_per_byte - ?max_priority - ~context_path:(Filename.concat node_path "context") - ~keep_alive - (List.map snd delegates)); - ] - -let endorser_commands () = - let open Clic in - let group = - { - Clic.name = "delegate.endorser"; - title = "Commands related to endorser daemon."; - } - in - [ - command - ~group - ~desc:"Launch the endorser daemon" - (args3 pidfile_arg endorsement_delay_arg keep_alive_arg) - (prefixes ["run"] @@ seq_of_param Client_keys.Public_key_hash.alias_param) - (fun (pidfile, endorsement_delay, keep_alive) delegates cctxt -> - may_lock_pidfile pidfile @@ fun () -> - Tezos_signer_backends.Encrypted.decrypt_list - cctxt - (List.map fst delegates) - >>=? fun () -> - let delegates = List.map snd delegates in - let delegates_no_duplicates = - Signature.Public_key_hash.Set.(delegates |> of_list |> elements) - in - (if List.length delegates <> List.length delegates_no_duplicates then - cctxt#message - "Warning: the list of public key hash aliases contains duplicate \ - hashes, which are ignored" - else Lwt.return ()) - >>= fun () -> - Client_daemon.Endorser.run - cctxt - ~chain:cctxt#chain - ~delay:endorsement_delay - ~keep_alive - delegates_no_duplicates); - ] - -let accuser_commands () = - let open Clic in - let group = - { - Clic.name = "delegate.accuser"; - title = "Commands related to the accuser daemon."; - } - in - [ - command - ~group - ~desc:"Launch the accuser daemon" - (args3 pidfile_arg preserved_levels_arg keep_alive_arg) - (prefixes ["run"] @@ stop) - (fun (pidfile, preserved_levels, keep_alive) cctxt -> - may_lock_pidfile pidfile @@ fun () -> - Client_daemon.Accuser.run - cctxt - ~chain:cctxt#chain - ~preserved_levels - ~keep_alive); - ] diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.mli b/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.mli deleted file mode 100644 index 0bf46215dce0..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands.mli +++ /dev/null @@ -1,32 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* Permission is hereby granted, free of charge, to any person obtaining a *) -(* copy of this software and associated documentation files (the "Software"),*) -(* to deal in the Software without restriction, including without limitation *) -(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) -(* and/or sell copies of the Software, and to permit persons to whom the *) -(* Software is furnished to do so, subject to the following conditions: *) -(* *) -(* The above copyright notice and this permission notice shall be included *) -(* in all copies or substantial portions of the Software. *) -(* *) -(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) -(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) -(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) -(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) -(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) -(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) -(* DEALINGS IN THE SOFTWARE. *) -(* *) -(*****************************************************************************) - -val delegate_commands : unit -> Protocol_client_context.full Clic.command list - -val baker_commands : unit -> Protocol_client_context.full Clic.command list - -val endorser_commands : unit -> Protocol_client_context.full Clic.command list - -val accuser_commands : unit -> Protocol_client_context.full Clic.command list diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands_registration.ml b/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands_registration.ml deleted file mode 100644 index 35216b207afc..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/delegate_commands_registration.ml +++ /dev/null @@ -1,29 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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. *) -(* *) -(*****************************************************************************) - -let () = - Client_commands.register Protocol.hash @@ fun _network -> - List.map (Clic.map_command (new Protocol_client_context.wrap_full)) - @@ Delegate_commands.delegate_commands () diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/dune b/src/proto_008_PtEdo2Zk/lib_delegate/dune deleted file mode 100644 index 4bed769a7faf..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/dune +++ /dev/null @@ -1,84 +0,0 @@ -(library - (name tezos_baking_008_PtEdo2Zk) - (instrumentation (backend bisect_ppx)) - (public_name tezos-baking-008-PtEdo2Zk) - (libraries tezos-base - tezos-version - tezos-protocol-008-PtEdo2Zk - tezos-protocol-environment - tezos-shell-context - tezos-shell-services - tezos-client-base - tezos-client-008-PtEdo2Zk - tezos-client-commands - tezos-stdlib-unix - tezos-context - tezos-rpc-http - tezos-rpc - lwt-canceler - lwt-exit) - (library_flags (:standard -linkall)) - (modules (:standard \ - delegate_commands - delegate_commands_registration)) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_shell_services - -open Tezos_client_base - -open Tezos_client_008_PtEdo2Zk - -open Tezos_client_commands - -open Tezos_stdlib_unix - -open Tezos_shell_context - -open Tezos_context - -open Tezos_rpc - -open Tezos_rpc_http))) - -(library - (name tezos_baking_008_PtEdo2Zk_commands) - (instrumentation (backend bisect_ppx)) - (public_name tezos-baking-008-PtEdo2Zk-commands) - (libraries tezos-base - tezos-protocol-008-PtEdo2Zk - tezos-protocol-environment - tezos-shell-services - tezos-client-base - tezos-client-008-PtEdo2Zk - tezos-client-commands - tezos-baking-008-PtEdo2Zk) - (library_flags (:standard -linkall)) - (modules delegate_commands) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_stdlib_unix - -open Tezos_shell_services - -open Tezos_client_base - -open Tezos_client_008_PtEdo2Zk - -open Tezos_client_commands - -open Tezos_baking_008_PtEdo2Zk - -open Tezos_rpc))) - -(library - (name tezos_baking_008_PtEdo2Zk_commands_registration) - (instrumentation (backend bisect_ppx)) - (public_name tezos-baking-008-PtEdo2Zk-commands.registration) - (libraries tezos-base - tezos-protocol-008-PtEdo2Zk - tezos-protocol-environment - tezos-shell-services - tezos-client-base - tezos-client-008-PtEdo2Zk - tezos-client-commands - tezos-baking-008-PtEdo2Zk - tezos-baking-008-PtEdo2Zk-commands - tezos-rpc) - (library_flags (:standard -linkall)) - (modules delegate_commands_registration) - (flags (:standard -open Tezos_base__TzPervasives - -open Tezos_protocol_008_PtEdo2Zk - -open Tezos_shell_services - -open Tezos_client_base - -open Tezos_client_008_PtEdo2Zk - -open Tezos_client_commands - -open Tezos_baking_008_PtEdo2Zk - -open Tezos_baking_008_PtEdo2Zk_commands - -open Tezos_rpc))) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/dune-project b/src/proto_008_PtEdo2Zk/lib_delegate/dune-project deleted file mode 100644 index bd82a425eaba..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/dune-project +++ /dev/null @@ -1,3 +0,0 @@ -(lang dune 2.7) -(formatting (enabled_for ocaml)) -(name tezos-accuser-alpha-commands) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/logging.ml b/src/proto_008_PtEdo2Zk/lib_delegate/logging.ml deleted file mode 100644 index 219300fa68d9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/logging.ml +++ /dev/null @@ -1,153 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -let timestamp_tag = - Tag.def ~doc:"Timestamp when event occurred" "timestamp" Time.System.pp_hum - -let valid_ops = Tag.def ~doc:"Valid Operations" "valid_ops" Format.pp_print_int - -let op_count = - Tag.def ~doc:"Number of operations" "op_count" Format.pp_print_int - -let refused_ops = - Tag.def ~doc:"Refused Operations" "refused_ops" Format.pp_print_int - -let bake_priority_tag = - Tag.def ~doc:"Baking priority" "bake_priority" Format.pp_print_int - -let fitness_tag = Tag.def ~doc:"Fitness" "fitness" Fitness.pp - -let current_slots_tag = - Tag.def - ~doc:"Number of baking slots that can be baked at this time" - "current_slots" - Format.pp_print_int - -let future_slots_tag = - Tag.def - ~doc:"Number of baking slots in the foreseeable future but not yet bakeable" - "future_slots" - Format.pp_print_int - -let timespan_tag = Tag.def ~doc:"Timespan in seconds" "timespan" Ptime.Span.pp - -let filename_tag = Tag.def ~doc:"Filename" "filename" Format.pp_print_text - -let signed_header_tag = - Tag.def ~doc:"Signed header" "signed_header" (fun fmt x -> - Hex.pp fmt (Hex.of_bytes x)) - -let signed_operation_tag = - Tag.def ~doc:"Signed operation" "signed_operation" (fun fmt x -> - Hex.pp fmt (Hex.of_bytes x)) - -let operations_tag = - Tag.def - ~doc:"Block Operations" - "operations" - (Format.pp_print_list - ~pp_sep:(fun ppf () -> Format.fprintf ppf "+") - (fun ppf operations -> Format.fprintf ppf "%d" (List.length operations))) - -let raw_operations_tag = - Tag.def ~doc:"Raw operations" "raw_operations" (fun fmt raw_ops -> - let pp_op fmt op = - let json = Data_encoding.Json.construct Operation.raw_encoding op in - Format.fprintf fmt "%a" Data_encoding.Json.pp json - in - Format.fprintf - fmt - "@[%a@]" - (Format.pp_print_list ~pp_sep:Format.pp_print_cut pp_op) - raw_ops) - -let bake_op_count_tag = - Tag.def ~doc:"Bake Operation Count" "operation_count" Format.pp_print_int - -let endorsement_slot_tag = - Tag.def ~doc:"Endorsement Slot" "endorsement_slot" Format.pp_print_int - -let endorsement_slots_tag = - Tag.def - ~doc:"Endorsement Slots" - "endorsement_slots" - Format.(fun ppf v -> pp_print_int ppf (List.length v)) - -let denounced_endorsements_slots_tag = - Tag.def - ~doc:"Endorsement Slots" - "denounced_endorsement_slots" - Format.(pp_print_list pp_print_int) - -let denouncement_source_tag = - Tag.def ~doc:"Denounce Source" "source" Format.pp_print_text - -let level_tag = Tag.def ~doc:"Level" "level" Raw_level.pp - -let nonce_tag = - Tag.def - ~doc:"Nonce" - "nonce" - Data_encoding.Json.( - fun ppf nonce -> pp ppf (construct Nonce.encoding nonce)) - -let chain_tag = - Tag.def - ~doc:"Chain selector" - "chain" - Format.( - fun ppf chain -> - pp_print_string ppf @@ Block_services.chain_to_string chain) - -let block_tag = - Tag.def - ~doc:"Block selector" - "block" - Format.( - fun ppf block -> pp_print_string ppf @@ Block_services.to_string block) - -let worker_tag = - Tag.def ~doc:"Worker in which event occurred" "worker" Format.pp_print_text - -let block_header_tag = - Tag.def ~doc:"Raw block header" "block_header" (fun ppf _ -> - Format.fprintf ppf "[raw block header]") - -let conflicting_endorsements_tag = - Tag.def - ~doc:"Two conflicting endorsements signed by the same key" - "conflicting_endorsements" - Format.( - fun ppf (a, b) -> - fprintf - ppf - "%a / %a" - Operation_hash.pp - (Operation.hash a) - Operation_hash.pp - (Operation.hash b)) diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/logging.mli b/src/proto_008_PtEdo2Zk/lib_delegate/logging.mli deleted file mode 100644 index 544b2ef25007..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/logging.mli +++ /dev/null @@ -1,80 +0,0 @@ -(*****************************************************************************) -(* *) -(* Open Source License *) -(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) -(* *) -(* 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 Protocol -open Alpha_context - -val timestamp_tag : Time.System.t Tag.def - -val valid_ops : int Tag.def - -val op_count : int Tag.def - -val refused_ops : int Tag.def - -val bake_priority_tag : int Tag.def - -val fitness_tag : Fitness.t Tag.def - -val current_slots_tag : int Tag.def - -val future_slots_tag : int Tag.def - -val timespan_tag : Time.System.Span.t Tag.def - -val filename_tag : string Tag.def - -val signed_header_tag : Bytes.t Tag.def - -val signed_operation_tag : Bytes.t Tag.def - -val operations_tag : Tezos_base.Operation.t list list Tag.def - -val raw_operations_tag : Operation.raw list Tag.def - -val bake_op_count_tag : int Tag.def - -val endorsement_slot_tag : int Tag.def - -val endorsement_slots_tag : int list Tag.def - -val denounced_endorsements_slots_tag : int list Tag.def - -val denouncement_source_tag : string Tag.def - -val level_tag : Raw_level.t Tag.def - -val nonce_tag : Nonce.t Tag.def - -val chain_tag : Block_services.chain Tag.def - -val block_tag : Block_services.block Tag.def - -val worker_tag : string Tag.def - -val block_header_tag : Block_header.t Tag.def - -val conflicting_endorsements_tag : - (Kind.endorsement operation * Kind.endorsement operation) Tag.def diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-accuser-008-PtEdo2Zk-commands.opam b/src/proto_008_PtEdo2Zk/lib_delegate/tezos-accuser-008-PtEdo2Zk-commands.opam deleted file mode 100644 index 5cf9c0b4c3f9..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-accuser-008-PtEdo2Zk-commands.opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-008-PtEdo2Zk" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-008-PtEdo2Zk" - "tezos-baking-008-PtEdo2Zk" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: protocol-specific commands for `tezos-accuser`" diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk-commands.opam b/src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk-commands.opam deleted file mode 100644 index 59e38fee82f3..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk-commands.opam +++ /dev/null @@ -1,24 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-008-PtEdo2Zk" - "tezos-shell-services" - "tezos-shell-context" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-008-PtEdo2Zk" - "tezos-baking-008-PtEdo2Zk" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: protocol-specific commands for baking" diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk.opam b/src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk.opam deleted file mode 100644 index de9909705067..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-baking-008-PtEdo2Zk.opam +++ /dev/null @@ -1,26 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-version" - "tezos-protocol-environment" - "tezos-protocol-008-PtEdo2Zk" - "tezos-shell-context" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-008-PtEdo2Zk" - "lwt-canceler" { >= "0.3" & < "0.4" } - "lwt-exit" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: base library for `tezos-baker/endorser/accuser`" diff --git a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-endorser-008-PtEdo2Zk-commands.opam b/src/proto_008_PtEdo2Zk/lib_delegate/tezos-endorser-008-PtEdo2Zk-commands.opam deleted file mode 100644 index 212754cc8957..000000000000 --- a/src/proto_008_PtEdo2Zk/lib_delegate/tezos-endorser-008-PtEdo2Zk-commands.opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" { >= "2.0" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-008-PtEdo2Zk" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-008-PtEdo2Zk" - "tezos-baking-008-PtEdo2Zk" -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -synopsis: "Tezos/Protocol: protocol-specific commands for `tezos-endorser`" -- GitLab From 95a12ceed206da2158a53ca90c2859562685399c Mon Sep 17 00:00:00 2001 From: Pietro Date: Thu, 1 Jul 2021 10:03:46 +0200 Subject: [PATCH 05/12] Edo Freeze: remove baking commands from bin_client --- src/bin_client/tezos-client.opam | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bin_client/tezos-client.opam b/src/bin_client/tezos-client.opam index 72a928fcae72..f6b8415ea409 100644 --- a/src/bin_client/tezos-client.opam +++ b/src/bin_client/tezos-client.opam @@ -40,7 +40,6 @@ depends: [ "tezos-client-010-PtGRANAD-commands-registration" "tezos-baking-alpha-commands" - "tezos-baking-008-PtEdo2Zk-commands" "tezos-baking-009-PsFLoren-commands" "tezos-baking-010-PtGRANAD-commands" -- GitLab From 05a5b4f6428bc5a5b68897f26d34418aee02b229 Mon Sep 17 00:00:00 2001 From: Pietro Date: Fri, 10 Sep 2021 14:51:14 +0200 Subject: [PATCH 06/12] Edo Freeze: remove Edo from tezt --- tezt/lib_tezos/protocol.ml | 12 +++--------- tezt/lib_tezos/protocol.mli | 2 +- tezt/manual_tests/migration_voting.ml | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/tezt/lib_tezos/protocol.ml b/tezt/lib_tezos/protocol.ml index ff51c74ff8d6..268430ad84ec 100644 --- a/tezt/lib_tezos/protocol.ml +++ b/tezt/lib_tezos/protocol.ml @@ -25,13 +25,12 @@ (*****************************************************************************) (* Declaration order must respect the version order. *) -type t = Edo | Florence | Granada | Alpha +type t = Florence | Granada | Alpha type constants = Constants_sandbox | Constants_mainnet | Constants_test let name = function | Alpha -> "Alpha" - | Edo -> "Edo" | Florence -> "Florence" | Granada -> "Granada" @@ -40,7 +39,6 @@ let tag protocol = String.lowercase_ascii (name protocol) let hash = function | Alpha -> "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK" - | Edo -> "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA" | Florence -> "PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i" | Granada -> "PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV" @@ -56,7 +54,6 @@ let parameter_file ?(constants = default_constants) protocol = let directory = match protocol with | Alpha -> "proto_alpha" - | Edo -> "proto_008_PtEdo2Zk" | Florence -> "proto_009_PsFLoren" | Granada -> "proto_010_PtGRANAD" in @@ -64,7 +61,6 @@ let parameter_file ?(constants = default_constants) protocol = let daemon_name = function | Alpha -> "alpha" - | Edo -> "008-PtEdo2Zk" | Florence -> "009-PsFLoren" | Granada -> "010-PtGRANAD" @@ -99,17 +95,15 @@ let write_parameter_file : protocol:t -> parameter_overrides -> string Lwt.t = let next_protocol = function | Granada -> Some Alpha - | Edo -> Some Florence | Florence -> Some Granada | Alpha -> None let previous_protocol = function | Alpha -> Some Granada | Granada -> Some Florence - | Florence -> Some Edo - | Edo -> None + | Florence -> None -let all = [Alpha; Edo; Florence; Granada] +let all = [Alpha; Florence; Granada] let current_mainnet = Granada diff --git a/tezt/lib_tezos/protocol.mli b/tezt/lib_tezos/protocol.mli index 4dd5f6e8ebb0..5daafa1f3564 100644 --- a/tezt/lib_tezos/protocol.mli +++ b/tezt/lib_tezos/protocol.mli @@ -24,7 +24,7 @@ (*****************************************************************************) (** Protocols we may want to test with. *) -type t = Edo | Florence | Granada | Alpha +type t = Florence | Granada | Alpha (** Protocol parameters. diff --git a/tezt/manual_tests/migration_voting.ml b/tezt/manual_tests/migration_voting.ml index 44a84e8ee03f..fb3046c2eefe 100644 --- a/tezt/manual_tests/migration_voting.ml +++ b/tezt/manual_tests/migration_voting.ml @@ -313,7 +313,7 @@ let migration ?yes_node_path ?yes_wallet context protocol levels_till_migration in let parameters_edo = JSON.parse_file - @@ Protocol.parameter_file ~constants:Constants_mainnet Protocol.Edo + @@ Protocol.parameter_file ~constants:Constants_mainnet Protocol.Florence in let blocks_per_cycle_edo = JSON.(parameters_edo |-> "blocks_per_cycle" |> as_int) -- GitLab From dab3be2f934db9f11da6ba9e9dadbf0ece05eb27 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 8 Sep 2021 16:54:38 +0200 Subject: [PATCH 07/12] Edo freeze: remove edonet from tezos-docker-manager.sh --- scripts/tezos-docker-manager.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/tezos-docker-manager.sh b/scripts/tezos-docker-manager.sh index c1b64c11dae0..2fe847541542 100755 --- a/scripts/tezos-docker-manager.sh +++ b/scripts/tezos-docker-manager.sh @@ -709,13 +709,6 @@ case $(basename "$0") in default_port=9732 network=florencenet ;; - edo2net.sh) - docker_base_dir="$HOME/.tezos-edo2net" - docker_image=tezos/tezos:master - docker_compose_base_name=edo2net - default_port=9732 - network=edo2net - ;; *) docker_base_dir="$HOME/.tezos-mainnet" docker_image=tezos/tezos:master -- GitLab From 5d50f3e297ddcb3c28744123b842dfe8b6366c17 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 8 Sep 2021 17:00:28 +0200 Subject: [PATCH 08/12] Edo freeze: remove edonet from bin_node --- src/bin_node/node_config_file.ml | 36 -------------------------------- src/bin_node/tezos-node.opam | 1 - 2 files changed, 37 deletions(-) diff --git a/src/bin_node/node_config_file.ml b/src/bin_node/node_config_file.ml index d630ccdbe559..09f200a572d0 100644 --- a/src/bin_node/node_config_file.ml +++ b/src/bin_node/node_config_file.ml @@ -122,41 +122,6 @@ let blockchain_network_mainnet = ] ~default_bootstrap_peers:["boot.tzbeta.net"; giganode_1; giganode_2] -let blockchain_network_edo2net = - make_blockchain_network - ~alias:"edo2net" - { - time = Time.Protocol.of_notation_exn "2021-02-11T14:00:00Z"; - block = - Block_hash.of_b58check_exn - "BLockGenesisGenesisGenesisGenesisGenesisdae8bZxCCxh"; - protocol = - Protocol_hash.of_b58check_exn - "PtYuensgYBb3G3x1hLLbCmcav8ue8Kyd2khADcL5LsT5R1hcXex"; - } - ~genesis_parameters: - { - context_key = "sandbox_parameter"; - values = - `O - [ - ( "genesis_pubkey", - `String "edpkugeDwmwuwyyD3Q5enapgEYDxZLtEUFFSrvVwXASQMVEqsvTqWu" - ); - ]; - } - ~chain_name:"TEZOS_EDO2NET_2021-02-11T14:00:00Z" - ~sandboxed_chain_name:"SANDBOXED_TEZOS" - ~default_bootstrap_peers: - [ - "edonet.tezos.co.il"; - "188.40.128.216:29732"; - "51.79.165.131"; - "edo2net.kaml.fr"; - "edonet2.smartpy.io"; - "edonetb.boot.tezostaquito.io"; - ] - let blockchain_network_florencenet = make_blockchain_network ~alias:"florencenet" @@ -324,7 +289,6 @@ let builtin_blockchain_networks_with_tags = [ (1, blockchain_network_sandbox); (4, blockchain_network_mainnet); - (12, blockchain_network_edo2net); (13, blockchain_network_florencenet); (* 14 was Florencenet with Baking Accounts. *) (15, blockchain_network_granadanet); diff --git a/src/bin_node/tezos-node.opam b/src/bin_node/tezos-node.opam index 96a27c8154e2..f67c65ba75b0 100644 --- a/src/bin_node/tezos-node.opam +++ b/src/bin_node/tezos-node.opam @@ -33,7 +33,6 @@ depends: [ "tezos-embedded-protocol-008-PtEdo2Zk" "tezos-embedded-protocol-009-PsFLoren" "tezos-embedded-protocol-010-PtGRANAD" - "tezos-protocol-plugin-008-PtEdo2Zk-registerer" "tezos-protocol-plugin-009-PsFLoren-registerer" "tezos-protocol-plugin-010-PtGRANAD-registerer" "tezos-protocol-plugin-alpha-registerer" -- GitLab From e78a371bea85b9cd0a2c7badeb23f1d3f61fe787 Mon Sep 17 00:00:00 2001 From: Pietro Date: Wed, 8 Sep 2021 17:05:12 +0200 Subject: [PATCH 09/12] Edo freeze: remove edo from 009 python tests --- .gitlab/ci/integration.yml | 6 - tests_python/tests_009/protocol.py | 4 - tests_python/tests_009/test_migration.py | 205 --------------------- tests_python/tests_009/test_mockup.py | 6 +- tests_python/tests_009/test_voting_full.py | 175 ------------------ 5 files changed, 1 insertion(+), 395 deletions(-) delete mode 100644 tests_python/tests_009/test_migration.py delete mode 100644 tests_python/tests_009/test_voting_full.py diff --git a/.gitlab/ci/integration.yml b/.gitlab/ci/integration.yml index 9603feb8682a..2e8811ec9c46 100644 --- a/.gitlab/ci/integration.yml +++ b/.gitlab/ci/integration.yml @@ -242,12 +242,6 @@ integration:009_rpc: - poetry run pytest "tests_009/test_rpc.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/009_rpc.xml" 2>&1 | tee "tmp/009_rpc.out" | tail stage: test -integration:009_voting_full: - extends: .integration_python_template - script: - - poetry run pytest "tests_009/test_voting_full.py" --exitfirst -m "slow" -s --log-dir=tmp "--junitxml=reports/009_voting_full.xml" 2>&1 | tee "tmp/009_voting_full.out" | tail - stage: test - integration:010_batch: extends: .integration_python_template script: diff --git a/tests_python/tests_009/protocol.py b/tests_python/tests_009/protocol.py index 3e18a816e488..c2aa8f9ec2f1 100644 --- a/tests_python/tests_009/protocol.py +++ b/tests_python/tests_009/protocol.py @@ -5,10 +5,6 @@ DAEMON = constants.FLORENCE_DAEMON PARAMETERS = constants.FLORENCE_PARAMETERS FOLDER = constants.FLORENCE_FOLDER -PREV_HASH = constants.EDO -PREV_DAEMON = constants.EDO_DAEMON -PREV_PARAMETERS = constants.EDO_PARAMETERS - def activate( client, diff --git a/tests_python/tests_009/test_migration.py b/tests_python/tests_009/test_migration.py deleted file mode 100644 index 490bc134a5de..000000000000 --- a/tests_python/tests_009/test_migration.py +++ /dev/null @@ -1,205 +0,0 @@ -import time - -import pytest - -from launchers.sandbox import Sandbox -from tools import constants, utils -from tools.constants import PROTO_GENESIS -from . import protocol - -MIGRATION_LEVEL = 3 -BAKER = 'bootstrap1' -BAKER_PKH = constants.IDENTITIES[BAKER]['identity'] -DEPOSIT = protocol.PARAMETERS["block_security_deposit"] - -PREV_DEPOSIT_RECEIPTS = [ - {"kind": "contract", "contract": BAKER_PKH, "change": "-" + DEPOSIT}, - { - "kind": "freezer", - "category": "deposits", - "delegate": BAKER_PKH, - "cycle": 0, - "change": DEPOSIT, - }, -] -# in protocol 009, the "origin" field is added -DEPOSIT_RECEIPTS = [ - { - "kind": "contract", - "contract": BAKER_PKH, - "change": "-" + DEPOSIT, - "origin": "block", - }, - { - "kind": "freezer", - "category": "deposits", - "delegate": BAKER_PKH, - "cycle": 0, - "change": DEPOSIT, - "origin": "block", - }, -] - - -MIGRATION_RECEIPTS = [ - { - "kind": "contract", - "contract": 'tz1abmz7jiCV2GH2u81LRrGgAFFgvQgiDiaf', - "change": "100000000", - "origin": "migration", - }, -] - - -# configure user-activate-upgrade at MIGRATION_LEVEL to test migration -NODE_CONFIG = { - 'network': { - 'genesis': { - 'timestamp': '2018-06-30T16:07:32Z', - 'block': 'BLockGenesisGenesisGenesisGenesisGenesisf79b5d1CoW2', - 'protocol': PROTO_GENESIS, - }, - 'genesis_parameters': { - 'values': {'genesis_pubkey': constants.GENESIS_PK} - }, - 'chain_name': 'TEZOS', - 'sandboxed_chain_name': 'SANDBOXED_TEZOS', - 'user_activated_upgrades': [ - {'level': MIGRATION_LEVEL, 'replacement_protocol': protocol.HASH} - ], - } -} - - -@pytest.fixture(scope="class") -def client(sandbox): - sandbox.add_node(0, node_config=NODE_CONFIG) - protocol.activate( - sandbox.client(0), - proto=protocol.PREV_HASH, - parameters=protocol.PREV_PARAMETERS, - activate_in_the_past=True, - ) - yield sandbox.client(0) - - -@pytest.mark.incremental -class TestMigration: - """Test migration from PROTO_A (the previous protocol) to PROTO_B (the - current protocol). - - After migration, test snapshots: - - node0: activate PROTO_A, migrate to PROTO_B, bake, export - a snapshot in full and rolling modes, and terminate - - node1: import full, bake - - node2: import rolling, sync, bake - - node3: reconstruct full, sync, bake - - all 4 are synced - """ - - def test_init(self, client): - # 1: genesis block - client.get_head() - client.rpc('get', '/config/network/user_activated_upgrades') - - def test_activate(self, client, sandbox): - # 2: activated PROTO_A - utils.bake(client, BAKER) - assert client.get_protocol() == protocol.PREV_HASH - assert sandbox.client(0).get_head()['header']['proto'] == 1 - metadata = client.get_metadata() - assert metadata['balance_updates'] == PREV_DEPOSIT_RECEIPTS - # PROTO_A is using env. V1, metadata hashes should be present - _ops_metadata_hash = client.get_operations_metadata_hash() - _block_metadata_hash = client.get_block_metadata_hash() - - def test_migration(self, client, sandbox): - # 3: last block of PROTO_A, runs migration code (MIGRATION_LEVEL) - utils.bake(client, BAKER) - metadata = client.get_metadata() - assert metadata['next_protocol'] == protocol.HASH - assert metadata['balance_updates'] == PREV_DEPOSIT_RECEIPTS - # PROTO_B is using env. V1, metadata hashes should be present - _ops_metadata_hash = client.get_operations_metadata_hash() - _block_metadata_hash = client.get_block_metadata_hash() - assert sandbox.client(0).get_head()['header']['proto'] == 2 - - def test_new_proto(self, client, sandbox): - # 4: first block of PROTO_B - utils.bake(client, BAKER) - assert client.get_protocol() == protocol.HASH - assert sandbox.client(0).get_head()['header']['proto'] == 2 - - # check that migration balance update appears in receipts - metadata = client.get_metadata() - assert metadata['balance_updates'] == ( - MIGRATION_RECEIPTS + DEPOSIT_RECEIPTS - ) - _ops_metadata_hash = client.get_operations_metadata_hash() - _block_metadata_hash = client.get_block_metadata_hash() - - def test_new_proto_second(self, client): - # 5: second block of PROTO_B - utils.bake(client, BAKER) - metadata = client.get_metadata() - assert metadata['balance_updates'] == DEPOSIT_RECEIPTS - - def test_terminate_node0(self, client, sandbox: Sandbox, session: dict): - # to export rolling snapshot, we need to be at level > 60 - # (see `max_operations_ttl`) - level = client.get_head()['header']['level'] - for _ in range(60 - level + 1): - utils.bake(client, BAKER) - assert client.get_head()['header']['level'] == 61 - - # terminate node0 - session['head_hash'] = sandbox.client(0).get_head()['hash'] - sandbox.node(0).terminate() - time.sleep(1) - - def test_export_snapshots(self, sandbox, tmpdir, session: dict): - node_export = sandbox.node(0) - file_full = f'{tmpdir}/FILE.full' - file_rolling = f'{tmpdir}/FILE.rolling' - head_hash = session['head_hash'] - session['snapshot_full'] = file_full - session['snapshot_rolling'] = file_rolling - node_export.snapshot_export(file_full, params=['--block', head_hash]) - node_export.snapshot_export( - file_rolling, params=['--block', head_hash, '--rolling'] - ) - - def test_import_full_snapshot_node1(self, sandbox, session): - sandbox.add_node( - 1, snapshot=session['snapshot_full'], node_config=NODE_CONFIG - ) - client = sandbox.client(1) - utils.bake(client, BAKER) - - def test_import_rolling_snapshot_node2(self, sandbox, session): - sandbox.add_node( - 2, snapshot=session['snapshot_rolling'], node_config=NODE_CONFIG - ) - client = sandbox.client(2) - utils.synchronize([sandbox.client(1), client], max_diff=0) - utils.bake(client, BAKER) - - def test_reconstruct_full_node3(self, sandbox, session): - sandbox.add_node( - 3, snapshot=session['snapshot_full'], node_config=NODE_CONFIG - ) - sandbox.node(3).terminate() - time.sleep(3) - sandbox.node(3).reconstruct() - sandbox.node(3).run() - client = sandbox.client(3) - assert client.check_node_listening() - utils.synchronize( - [sandbox.client(1), sandbox.client(2), client], max_diff=0 - ) - utils.bake(client, BAKER) - - def test_rerun_node0(self, sandbox): - sandbox.node(0).run() - sandbox.client(0).check_node_listening() - utils.synchronize(sandbox.all_clients(), max_diff=0) diff --git a/tests_python/tests_009/test_mockup.py b/tests_python/tests_009/test_mockup.py index 9b50d7824c06..3e43d561d722 100644 --- a/tests_python/tests_009/test_mockup.py +++ b/tests_python/tests_009/test_mockup.py @@ -673,11 +673,7 @@ def test_transfer_rpc(mockup_client: Client): @pytest.mark.parametrize( 'protos', - [ - (proto1, proto2) - for proto1 in [protocol.HASH, protocol.PREV_HASH] - for proto2 in [protocol.HASH, protocol.PREV_HASH, ""] - ], + [(protocol.HASH, proto2) for proto2 in [protocol.HASH, ""]], ) @pytest.mark.parametrize( 'command', diff --git a/tests_python/tests_009/test_voting_full.py b/tests_python/tests_009/test_voting_full.py deleted file mode 100644 index 38a8a0124c38..000000000000 --- a/tests_python/tests_009/test_voting_full.py +++ /dev/null @@ -1,175 +0,0 @@ -import time - -import pytest - -from launchers.sandbox import Sandbox -from client.client import Client -from tools import utils, constants -from . import protocol - -BLOCKS_PER_VOTING_PERIOD = 8 -OFFSET = int(BLOCKS_PER_VOTING_PERIOD / 2) -POLLING_TIME = 5 -NUM_NODES = 3 -BAKER = "bootstrap1" -ERROR_PATTERN = r"Uncaught|registered|error" - -PROTO_A = protocol.PREV_HASH -PROTO_A_DAEMON = protocol.PREV_DAEMON -PROTO_A_PATH = f"proto_{PROTO_A_DAEMON.replace('-','_')}" -PROTO_B = protocol.HASH -PROTO_B_DAEMON = protocol.DAEMON - - -def client_get_current_period_kind(client) -> dict: - res = client.get_current_period() - return res['voting_period']['kind'] - - -def bake_n_blocks(client: Client, baker: str, n_blocks: int): - for _ in range(n_blocks): - utils.bake(client, baker) - - -def bake_until_next_voting_period(client: Client, baker: str, offset: int = 0): - period_info = client.get_current_period() - remaining_blocks = period_info["remaining"] - # if offset is the constant OFFSET, it will take us to - # the middle of the next voting period - bake_n_blocks(client, baker, 1 + remaining_blocks + offset) - - -@pytest.mark.timeout(10) -def wait_until_level(clients, level): - for client in clients: - while client.get_level() < level: - time.sleep(1) - - -def assert_all_clients_in_period(clients, period): - for client in clients: - assert client_get_current_period_kind(client) == period - - -@pytest.mark.vote -@pytest.mark.slow -@pytest.mark.baker -@pytest.mark.incremental -class TestVotingFull: - """This tests the migration from PROTO_A to PROTO_B using the voting - procedure. PROTO_A and PROTO_B are the previous and - respectively the current protocol as given by the 'protocol' - module. - - This test advances through all the periods of the voting procedure - until the last one (adoption), by manually baking the right number - of blocks. Once the adoption period is reached, a baker takes over - to bake the remaining blocks of the period. From there the baker - for the next protocol, which was started at the beginning of the - test, takes over. (Bakers are used to make the test more - realistic. However, to be sure that proposals and ballots are - injected at the right moment, manual baking is used instead.) - - This test differs in the following aspects from test_voting.py: - - it uses more nodes, not just one - - it goes through all voting periods, not just the first two - - it uses bakers - - it uses already registered protocols, instead of injecting a - new dummy protocol - """ - - def test_add_initial_nodes(self, sandbox: Sandbox): - for i in range(NUM_NODES): - sandbox.add_node(i, params=constants.NODE_PARAMS) - parameters = dict(protocol.PREV_PARAMETERS) - parameters["blocks_per_voting_period"] = BLOCKS_PER_VOTING_PERIOD - utils.activate_protocol( - sandbox.client(0), PROTO_A, parameters, activate_in_the_past=True - ) - - def test_add_baker(self, sandbox: Sandbox): - sandbox.add_baker(0, BAKER, proto=PROTO_B_DAEMON) - - def test_client_knows_proto_b(self, sandbox: Sandbox): - client = sandbox.client(0) - protos = client.list_protocols() - assert PROTO_B in protos - - def test_proposal_period(self, sandbox: Sandbox): - assert_all_clients_in_period(sandbox.all_clients(), 'proposal') - - def test_submit_proto_b_proposal(self, sandbox): - client = sandbox.client(0) - proposals = client.submit_proposals(BAKER, [PROTO_B]) - # bake a block for the submit proposal to be included - bake_n_blocks(client, BAKER, 1) - client.wait_for_inclusion(proposals.operation_hash, check_previous=1) - - def test_check_proto_b_proposed(self, sandbox: Sandbox): - clients = sandbox.all_clients() - wait_until_level(clients, sandbox.client(0).get_level()) - for client in clients: - proposals = client.get_proposals() - assert PROTO_B in [proto for (proto, _) in proposals] - - def test_wait_for_testing_vote_period(self, sandbox: Sandbox): - client = sandbox.client(0) - bake_until_next_voting_period(client, BAKER, OFFSET) - clients = sandbox.all_clients() - wait_until_level(clients, client.get_level()) - assert_all_clients_in_period(clients, 'testing_vote') - - def test_delegates_vote_proto_b(self, sandbox: Sandbox): - client = sandbox.client(0) - listings = client.get_listings() - # submit ballot for all bakers with listings - for listing in listings: - client.submit_ballot(listing["pkh"], PROTO_B, 'yay') - - def test_wait_for_cooldown(self, sandbox: Sandbox): - client = sandbox.client(0) - bake_until_next_voting_period(client, BAKER, OFFSET) - clients = sandbox.all_clients() - wait_until_level(clients, client.get_level()) - assert_all_clients_in_period(clients, 'testing') - - def test_wait_for_promotion_vote_period(self, sandbox: Sandbox): - client = sandbox.client(0) - bake_until_next_voting_period(client, BAKER, OFFSET) - clients = sandbox.all_clients() - wait_until_level(clients, client.get_level()) - assert_all_clients_in_period(clients, 'promotion_vote') - - def test_vote_in_promotion_phase(self, sandbox: Sandbox): - client = sandbox.client(0) - listings = client.get_listings() - for listing in listings: - client.submit_ballot(listing["pkh"], PROTO_B, 'yay') - - def test_wait_for_adoption(self, sandbox: Sandbox): - client = sandbox.client(0) - bake_until_next_voting_period(client, BAKER) - clients = sandbox.all_clients() - wait_until_level(clients, client.get_level()) - assert_all_clients_in_period(clients, 'adoption') - - @pytest.mark.timeout(60) - def test_all_nodes_run_proto_b(self, sandbox: Sandbox): - # we let a PROTO_A baker bake the last blocks of PROTO_A - sandbox.add_baker(0, BAKER, proto=PROTO_A_DAEMON) - clients = sandbox.all_clients() - all_have_proto = False - while not all_have_proto: - all_have_proto = all( - client.get_protocol() == PROTO_B for client in clients - ) - time.sleep(POLLING_TIME) - - def test_new_chain_progress(self, sandbox: Sandbox): - client = sandbox.client(0) - level_before = client.get_level() - assert utils.check_level_greater_than(client, level_before + 1) - - @pytest.mark.xfail - def test_check_logs(self, sandbox: Sandbox): - assert utils.check_logs(sandbox.logs, ERROR_PATTERN) -- GitLab From 247721a7af26f79bcbd7dff80a4ca5f5720bd658 Mon Sep 17 00:00:00 2001 From: Pietro Date: Fri, 10 Sep 2021 14:50:59 +0200 Subject: [PATCH 10/12] Edo Freeze: split commands in ro/rw components --- .../client_proto_context_commands.ml | 935 +++++++++--------- 1 file changed, 467 insertions(+), 468 deletions(-) diff --git a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml index 467fb57759fa..3e28ddd4837e 100644 --- a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml +++ b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml @@ -249,7 +249,82 @@ let prepare_batch_operation cctxt ?arg ?fee ?gas_limit ?storage_limit destination)) >>=? fun operation -> return (Injection.Annotated_manager_operation operation) -let commands network () = +let commands_network network () = + let open Clic in + match network with + | Some `Mainnet -> + [ + command + ~group + ~desc:"Activate a fundraiser account." + (args1 dry_run_switch) + (prefixes ["activate"; "fundraiser"; "account"] + @@ Public_key_hash.alias_param + @@ prefixes ["with"] + @@ param + ~name:"code" + (Clic.parameter (fun _ctx code -> + protect (fun () -> + return + (Blinded_public_key_hash.activation_code_of_hex code)))) + ~desc:"Activation code obtained from the Tezos foundation." + @@ stop) + (fun dry_run (name, _pkh) code cctxt -> + activate_existing_account + cctxt + ~chain:cctxt#chain + ~block:cctxt#block + ?confirmations:cctxt#confirmations + ~dry_run + name + code + >>=? fun _res -> return_unit); + ] + | Some `Testnet | None -> + [ + command + ~group + ~desc:"Register and activate an Alphanet/Zeronet faucet account." + (args2 (Secret_key.force_switch ()) encrypted_switch) + (prefixes ["activate"; "account"] + @@ Secret_key.fresh_alias_param + @@ prefixes ["with"] + @@ param + ~name:"activation_key" + ~desc: + "Activate an Alphanet/Zeronet faucet account from the JSON \ + (file or directly inlined)." + json_file_or_text_parameter + @@ stop) + (fun (force, encrypted) name activation_json cctxt -> + Secret_key.of_fresh cctxt force name >>=? fun name -> + match + Data_encoding.Json.destruct + Client_proto_context.activation_key_encoding + activation_json + with + | exception (Data_encoding.Json.Cannot_destruct _ as exn) -> + Format.kasprintf + (fun s -> failwith "%s" s) + "Invalid activation file: %a %a" + (fun ppf -> Data_encoding.Json.print_error ppf) + exn + Data_encoding.Json.pp + activation_json + | key -> + activate_account + cctxt + ~chain:cctxt#chain + ~block:cctxt#block + ?confirmations:cctxt#confirmations + ~encrypted + ~force + key + name + >>=? fun _res -> return_unit); + ] + +let commands_ro () = let open Clic in [ command @@ -495,6 +570,35 @@ let commands network () = m (match mn with None -> "unknown" | Some n -> "known as " ^ n) >>= fun () -> return_unit); + command + ~group:binary_description + ~desc:"Describe unsigned block header" + no_options + (fixed ["describe"; "unsigned"; "block"; "header"]) + (fun () (cctxt : Protocol_client_context.full) -> + cctxt#message + "%a" + Data_encoding.Binary_schema.pp + (Data_encoding.Binary.describe + Alpha_context.Block_header.unsigned_encoding) + >>= fun () -> return_unit); + command + ~group:binary_description + ~desc:"Describe unsigned operation" + no_options + (fixed ["describe"; "unsigned"; "operation"]) + (fun () (cctxt : Protocol_client_context.full) -> + cctxt#message + "%a" + Data_encoding.Binary_schema.pp + (Data_encoding.Binary.describe + Alpha_context.Operation.unsigned_encoding) + >>= fun () -> return_unit); + ] + +let commands_rw () = + let open Clic in + [ command ~group ~desc:"Set the delegate of a contract." @@ -1170,473 +1274,368 @@ let commands network () = cctxt#message "Delegate already activated." >>= fun () -> return_unit | Error el -> Lwt.return_error el); - ] - @ (match network with - | Some `Mainnet -> [] - | Some `Testnet | None -> - [ - command - ~group - ~desc:"Register and activate an Alphanet/Zeronet faucet account." - (args2 (Secret_key.force_switch ()) encrypted_switch) - (prefixes ["activate"; "account"] - @@ Secret_key.fresh_alias_param - @@ prefixes ["with"] - @@ param - ~name:"activation_key" - ~desc: - "Activate an Alphanet/Zeronet faucet account from the JSON \ - (file or directly inlined)." - json_file_or_text_parameter - @@ stop) - (fun (force, encrypted) name activation_json cctxt -> - Secret_key.of_fresh cctxt force name >>=? fun name -> - match - Data_encoding.Json.destruct - Client_proto_context.activation_key_encoding - activation_json - with - | exception (Data_encoding.Json.Cannot_destruct _ as exn) -> - Format.kasprintf - (fun s -> failwith "%s" s) - "Invalid activation file: %a %a" - (fun ppf -> Data_encoding.Json.print_error ppf) - exn - Data_encoding.Json.pp - activation_json - | key -> - activate_account - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~encrypted - ~force - key - name - >>=? fun _res -> return_unit); - ]) - @ (match network with - | Some `Testnet | None -> [] - | Some `Mainnet -> - [ - command - ~group - ~desc:"Activate a fundraiser account." - (args1 dry_run_switch) - (prefixes ["activate"; "fundraiser"; "account"] - @@ Public_key_hash.alias_param - @@ prefixes ["with"] - @@ param - ~name:"code" - (Clic.parameter (fun _ctx code -> - protect (fun () -> - return - (Blinded_public_key_hash.activation_code_of_hex - code)))) - ~desc:"Activation code obtained from the Tezos foundation." - @@ stop) - (fun dry_run (name, _pkh) code cctxt -> - activate_existing_account - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - name - code - >>=? fun _res -> return_unit); - ]) - @ [ - command - ~desc:"Wait until an operation is included in a block" - (args3 - (default_arg - ~long:"confirmations" - ~placeholder:"num_blocks" - ~doc: - "wait until 'N' additional blocks after the operation appears \ - in the considered chain" - ~default:"0" - non_negative_param) - (default_arg - ~long:"check-previous" - ~placeholder:"num_blocks" - ~doc:"number of previous blocks to check" - ~default:"10" - non_negative_param) - (arg - ~long:"branch" - ~placeholder:"block_hash" - ~doc: - "hash of the oldest block where we should look for the \ - operation" - block_hash_param)) - (prefixes ["wait"; "for"] - @@ param - ~name:"operation" - ~desc:"Operation to be included" - (parameter (fun _ x -> - match Operation_hash.of_b58check_opt x with - | None -> - Error_monad.failwith "Invalid operation hash: '%s'" x - | Some hash -> return hash)) - @@ prefixes ["to"; "be"; "included"] - @@ stop) - (fun (confirmations, predecessors, branch) - operation_hash - (ctxt : Protocol_client_context.full) -> - Client_confirmations.wait_for_operation_inclusion - ctxt - ~chain:ctxt#chain - ~confirmations - ~predecessors - ?branch - operation_hash - >>=? fun _ -> return_unit); - command - ~desc:"Get receipt for past operation" - (args1 - (default_arg - ~long:"check-previous" - ~placeholder:"num_blocks" - ~doc:"number of previous blocks to check" - ~default:"10" - non_negative_param)) - (prefixes ["get"; "receipt"; "for"] - @@ param - ~name:"operation" - ~desc:"Operation to be looked up" - (parameter (fun _ x -> - match Operation_hash.of_b58check_opt x with - | None -> - Error_monad.failwith "Invalid operation hash: '%s'" x - | Some hash -> return hash)) - @@ stop) - (fun predecessors operation_hash (ctxt : Protocol_client_context.full) -> - display_receipt_for_operation - ctxt - ~chain:ctxt#chain - ~predecessors - operation_hash - >>=? fun _ -> return_unit); - command - ~group:binary_description - ~desc:"Describe unsigned block header" - no_options - (fixed ["describe"; "unsigned"; "block"; "header"]) - (fun () (cctxt : Protocol_client_context.full) -> - cctxt#message - "%a" - Data_encoding.Binary_schema.pp - (Data_encoding.Binary.describe - Alpha_context.Block_header.unsigned_encoding) - >>= fun () -> return_unit); - command - ~group:binary_description - ~desc:"Describe unsigned operation" - no_options - (fixed ["describe"; "unsigned"; "operation"]) - (fun () (cctxt : Protocol_client_context.full) -> - cctxt#message - "%a" - Data_encoding.Binary_schema.pp - (Data_encoding.Binary.describe - Alpha_context.Operation.unsigned_encoding) - >>= fun () -> return_unit); - command - ~group - ~desc:"Submit protocol proposals" - (args3 - dry_run_switch - verbose_signing_switch - (switch - ~doc: - "Do not fail when the checks that try to prevent the user from \ - shooting themselves in the foot do." - ~long:"force" - ())) - (prefixes ["submit"; "proposals"; "for"] - @@ ContractAlias.destination_param - ~name:"delegate" - ~desc:"the delegate who makes the proposal" - @@ seq_of_param - (param - ~name:"proposal" - ~desc:"the protocol hash proposal to be submitted" - (parameter (fun _ x -> - match Protocol_hash.of_b58check_opt x with - | None -> - Error_monad.failwith "Invalid proposal hash: '%s'" x - | Some hash -> return hash)))) - (fun (dry_run, verbose_signing, force) - (_name, source) - proposals - (cctxt : Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> failwith "only implicit accounts can submit proposals" - | Some src_pkh -> ( - Client_keys.get_key cctxt src_pkh - >>=? fun (src_name, _src_pk, src_sk) -> - get_period_info - (* Find period info of the successor, because the operation will - be injected on the next block at the earliest *) - ~successor:true - ~chain:cctxt#chain - ~block:cctxt#block - cctxt - >>=? fun info -> - (match info.current_period_kind with - | Proposal -> return_unit - | _ -> cctxt#error "Not in a proposal period") - >>=? fun () -> - Shell_services.Protocol.list cctxt >>=? fun known_protos -> - get_proposals ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun known_proposals -> - Alpha_services.Voting.listings cctxt (cctxt#chain, cctxt#block) - >>=? fun listings -> - (* for a proposal to be valid it must either a protocol that was already - proposed by somebody else or a protocol known by the node, because - the user is the first proposer and just injected it with - tezos-admin-client *) - let check_proposals proposals : bool tzresult Lwt.t = - let n = List.length proposals in - let errors = ref [] in - let error ppf = - Format.kasprintf (fun s -> errors := s :: !errors) ppf - in - if n = 0 then error "Empty proposal list." ; - if n > Constants.fixed.max_proposals_per_delegate then - error - "Too many proposals: %d > %d." - n - Constants.fixed.max_proposals_per_delegate ; - (match - Base.List.find_all_dups - ~compare:Protocol_hash.compare - proposals - with - | [] -> () - | dups -> - error - "There %s: %a." - (if List.length dups = 1 then "is a duplicate proposal" - else "are duplicate proposals") - Format.( - pp_print_list - ~pp_sep:(fun ppf () -> pp_print_string ppf ", ") - Protocol_hash.pp) - dups) ; - List.iter - (fun (p : Protocol_hash.t) -> - if - List.mem ~equal:Protocol_hash.equal p known_protos - || Environment.Protocol_hash.Map.mem p known_proposals - then () - else - error - "Protocol %a is not a known proposal." - Protocol_hash.pp - p) - proposals ; - if - not - (List.exists - (fun (pkh, _) -> - Signature.Public_key_hash.equal pkh src_pkh) - listings) - then + command + ~desc:"Wait until an operation is included in a block" + (args3 + (default_arg + ~long:"confirmations" + ~placeholder:"num_blocks" + ~doc: + "wait until 'N' additional blocks after the operation appears in \ + the considered chain" + ~default:"0" + non_negative_param) + (default_arg + ~long:"check-previous" + ~placeholder:"num_blocks" + ~doc:"number of previous blocks to check" + ~default:"10" + non_negative_param) + (arg + ~long:"branch" + ~placeholder:"block_hash" + ~doc: + "hash of the oldest block where we should look for the operation" + block_hash_param)) + (prefixes ["wait"; "for"] + @@ param + ~name:"operation" + ~desc:"Operation to be included" + (parameter (fun _ x -> + match Operation_hash.of_b58check_opt x with + | None -> Error_monad.failwith "Invalid operation hash: '%s'" x + | Some hash -> return hash)) + @@ prefixes ["to"; "be"; "included"] + @@ stop) + (fun (confirmations, predecessors, branch) + operation_hash + (ctxt : Protocol_client_context.full) -> + Client_confirmations.wait_for_operation_inclusion + ctxt + ~chain:ctxt#chain + ~confirmations + ~predecessors + ?branch + operation_hash + >>=? fun _ -> return_unit); + command + ~desc:"Get receipt for past operation" + (args1 + (default_arg + ~long:"check-previous" + ~placeholder:"num_blocks" + ~doc:"number of previous blocks to check" + ~default:"10" + non_negative_param)) + (prefixes ["get"; "receipt"; "for"] + @@ param + ~name:"operation" + ~desc:"Operation to be looked up" + (parameter (fun _ x -> + match Operation_hash.of_b58check_opt x with + | None -> Error_monad.failwith "Invalid operation hash: '%s'" x + | Some hash -> return hash)) + @@ stop) + (fun predecessors operation_hash (ctxt : Protocol_client_context.full) -> + display_receipt_for_operation + ctxt + ~chain:ctxt#chain + ~predecessors + operation_hash + >>=? fun _ -> return_unit); + command + ~group + ~desc:"Submit protocol proposals" + (args3 + dry_run_switch + verbose_signing_switch + (switch + ~doc: + "Do not fail when the checks that try to prevent the user from \ + shooting themselves in the foot do." + ~long:"force" + ())) + (prefixes ["submit"; "proposals"; "for"] + @@ ContractAlias.destination_param + ~name:"delegate" + ~desc:"the delegate who makes the proposal" + @@ seq_of_param + (param + ~name:"proposal" + ~desc:"the protocol hash proposal to be submitted" + (parameter (fun _ x -> + match Protocol_hash.of_b58check_opt x with + | None -> + Error_monad.failwith "Invalid proposal hash: '%s'" x + | Some hash -> return hash)))) + (fun (dry_run, verbose_signing, force) + (_name, source) + proposals + (cctxt : Protocol_client_context.full) -> + match Contract.is_implicit source with + | None -> failwith "only implicit accounts can submit proposals" + | Some src_pkh -> ( + Client_keys.get_key cctxt src_pkh + >>=? fun (src_name, _src_pk, src_sk) -> + get_period_info + (* Find period info of the successor, because the operation will + be injected on the next block at the earliest *) + ~successor:true + ~chain:cctxt#chain + ~block:cctxt#block + cctxt + >>=? fun info -> + (match info.current_period_kind with + | Proposal -> return_unit + | _ -> cctxt#error "Not in a proposal period") + >>=? fun () -> + Shell_services.Protocol.list cctxt >>=? fun known_protos -> + get_proposals ~chain:cctxt#chain ~block:cctxt#block cctxt + >>=? fun known_proposals -> + Alpha_services.Voting.listings cctxt (cctxt#chain, cctxt#block) + >>=? fun listings -> + (* for a proposal to be valid it must either a protocol that was already + proposed by somebody else or a protocol known by the node, because + the user is the first proposer and just injected it with + tezos-admin-client *) + let check_proposals proposals : bool tzresult Lwt.t = + let n = List.length proposals in + let errors = ref [] in + let error ppf = + Format.kasprintf (fun s -> errors := s :: !errors) ppf + in + if n = 0 then error "Empty proposal list." ; + if n > Constants.fixed.max_proposals_per_delegate then + error + "Too many proposals: %d > %d." + n + Constants.fixed.max_proposals_per_delegate ; + (match + Base.List.find_all_dups + ~compare:Protocol_hash.compare + proposals + with + | [] -> () + | dups -> error - "Public-key-hash `%a` from account `%s` does not appear to \ - have voting rights." - Signature.Public_key_hash.pp - src_pkh - src_name ; - if !errors <> [] then - cctxt#message - "There %s with the submission:%t" - (if List.length !errors = 1 then "is an issue" - else "are issues") + "There %s: %a." + (if List.length dups = 1 then "is a duplicate proposal" + else "are duplicate proposals") Format.( - fun ppf -> - pp_print_cut ppf () ; - pp_open_vbox ppf 0 ; - List.iter - (fun msg -> - pp_open_hovbox ppf 2 ; - pp_print_string ppf "* " ; - pp_print_text ppf msg ; - pp_close_box ppf () ; - pp_print_cut ppf ()) - !errors ; - pp_close_box ppf ()) - >>= fun () -> return_false - else return_true - in - check_proposals proposals >>=? fun all_valid -> - (if all_valid then cctxt#message "All proposals are valid." - else if force then + pp_print_list + ~pp_sep:(fun ppf () -> pp_print_string ppf ", ") + Protocol_hash.pp) + dups) ; + List.iter + (fun (p : Protocol_hash.t) -> + if + List.mem ~equal:Protocol_hash.equal p known_protos + || Environment.Protocol_hash.Map.mem p known_proposals + then () + else + error + "Protocol %a is not a known proposal." + Protocol_hash.pp + p) + proposals ; + if + not + (List.exists + (fun (pkh, _) -> + Signature.Public_key_hash.equal pkh src_pkh) + listings) + then + error + "Public-key-hash `%a` from account `%s` does not appear to \ + have voting rights." + Signature.Public_key_hash.pp + src_pkh + src_name ; + if !errors <> [] then cctxt#message - "Some proposals are not valid, but `--force` was used." - else cctxt#error "Submission failed because of invalid proposals.") - >>= fun () -> - submit_proposals - ~dry_run - ~verbose_signing - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~src_sk - src_pkh - proposals - >>= function - | Ok _res -> return_unit - | Error errs -> - (match errs with - | [ - Unregistered_error - (`O [("kind", `String "generic"); ("error", `String msg)]); - ] -> - cctxt#message - "Error:@[@.%a@]" - Format.pp_print_text - (String.split_on_char ' ' msg - |> List.filter (function - | "" | "\n" -> false - | _ -> true) - |> String.concat " " - |> String.map (function '\n' | '\t' -> ' ' | c -> c)) - | el -> cctxt#message "Error:@ %a" pp_print_error el) - >>= fun () -> failwith "Failed to submit proposals")); - command - ~group - ~desc:"Submit a ballot" - (args2 verbose_signing_switch dry_run_switch) - (prefixes ["submit"; "ballot"; "for"] - @@ ContractAlias.destination_param - ~name:"delegate" - ~desc:"the delegate who votes" - @@ param - ~name:"proposal" - ~desc:"the protocol hash proposal to vote for" - (parameter (fun _ x -> - match Protocol_hash.of_b58check_opt x with - | None -> failwith "Invalid proposal hash: '%s'" x - | Some hash -> return hash)) - @@ param - ~name:"ballot" - ~desc:"the ballot value (yea/yay, nay, or pass)" - (parameter - ~autocomplete:(fun _ -> return ["yea"; "nay"; "pass"]) - (fun _ s -> - (* We should have [Vote.of_string]. *) - match String.lowercase_ascii s with - | "yay" | "yea" -> return Vote.Yay - | "nay" -> return Vote.Nay - | "pass" -> return Vote.Pass - | s -> failwith "Invalid ballot: '%s'" s)) - @@ stop) - (fun (verbose_signing, dry_run) - (_name, source) - proposal - ballot - (cctxt : Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> failwith "only implicit accounts can submit ballot" - | Some src_pkh -> - Client_keys.get_key cctxt src_pkh - >>=? fun (_src_name, _src_pk, src_sk) -> - get_period_info - (* Find period info of the successor, because the operation will - be injected on the next block at the earliest *) - ~successor:true - ~chain:cctxt#chain - ~block:cctxt#block - cctxt - >>=? fun info -> - (match info.current_period_kind with - | Testing_vote | Promotion_vote -> return_unit - | _ -> - cctxt#error "Not in a Testing_vote or Promotion_vote period") - >>=? fun () -> - submit_ballot - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~src_sk - src_pkh - ~verbose_signing - ~dry_run - proposal - ballot - >>=? fun _res -> return_unit); - command - ~group - ~desc:"Summarize the current voting period" - no_options - (fixed ["show"; "voting"; "period"]) - (fun () (cctxt : Protocol_client_context.full) -> - get_period_info ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun info -> - cctxt#message - "Current period: %a\nBlocks remaining until end of period: %ld" - Data_encoding.Json.pp - (Data_encoding.Json.construct - Alpha_context.Voting_period.kind_encoding - info.current_period_kind) - info.remaining - >>= fun () -> - Shell_services.Protocol.list cctxt >>=? fun known_protos -> - get_proposals ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun props -> - let ranks = - Environment.Protocol_hash.Map.bindings props - |> List.sort (fun (_, v1) (_, v2) -> Int32.(compare v2 v1)) - in - let print_proposal = function - | None -> assert false (* not called during proposal phase *) - | Some proposal -> - cctxt#message "Current proposal: %a" Protocol_hash.pp proposal - in - match info.current_period_kind with - | Proposal -> - cctxt#answer - "Current proposals:%t" - Format.( - fun ppf -> - pp_print_cut ppf () ; - pp_open_vbox ppf 0 ; - List.iter - (fun (p, w) -> - fprintf - ppf - "* %a %ld (%sknown by the node)@." - Protocol_hash.pp - p - w - (if List.mem ~equal:Protocol_hash.equal p known_protos - then "" - else "not ")) - ranks ; - pp_close_box ppf ()) - >>= fun () -> return_unit - | Testing_vote | Promotion_vote -> - print_proposal info.current_proposal >>= fun () -> - get_ballots_info ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun ballots_info -> - cctxt#answer - "Ballots: %a@,\ - Current participation %.2f%%, necessary quorum %.2f%%@,\ - Current in favor %ld, needed supermajority %ld" - Data_encoding.Json.pp - (Data_encoding.Json.construct - Vote.ballots_encoding - ballots_info.ballots) - (Int32.to_float ballots_info.participation /. 100.) - (Int32.to_float ballots_info.current_quorum /. 100.) - ballots_info.ballots.yay - ballots_info.supermajority - >>= fun () -> return_unit - | Testing | Adoption -> - print_proposal info.current_proposal >>= fun () -> return_unit); - ] + "There %s with the submission:%t" + (if List.length !errors = 1 then "is an issue" + else "are issues") + Format.( + fun ppf -> + pp_print_cut ppf () ; + pp_open_vbox ppf 0 ; + List.iter + (fun msg -> + pp_open_hovbox ppf 2 ; + pp_print_string ppf "* " ; + pp_print_text ppf msg ; + pp_close_box ppf () ; + pp_print_cut ppf ()) + !errors ; + pp_close_box ppf ()) + >>= fun () -> return_false + else return_true + in + check_proposals proposals >>=? fun all_valid -> + (if all_valid then cctxt#message "All proposals are valid." + else if force then + cctxt#message + "Some proposals are not valid, but `--force` was used." + else cctxt#error "Submission failed because of invalid proposals.") + >>= fun () -> + submit_proposals + ~dry_run + ~verbose_signing + cctxt + ~chain:cctxt#chain + ~block:cctxt#block + ~src_sk + src_pkh + proposals + >>= function + | Ok _res -> return_unit + | Error errs -> + (match errs with + | [ + Unregistered_error + (`O [("kind", `String "generic"); ("error", `String msg)]); + ] -> + cctxt#message + "Error:@[@.%a@]" + Format.pp_print_text + (String.split_on_char ' ' msg + |> List.filter (function "" | "\n" -> false | _ -> true) + |> String.concat " " + |> String.map (function '\n' | '\t' -> ' ' | c -> c)) + | el -> cctxt#message "Error:@ %a" pp_print_error el) + >>= fun () -> failwith "Failed to submit proposals")); + command + ~group + ~desc:"Submit a ballot" + (args2 verbose_signing_switch dry_run_switch) + (prefixes ["submit"; "ballot"; "for"] + @@ ContractAlias.destination_param + ~name:"delegate" + ~desc:"the delegate who votes" + @@ param + ~name:"proposal" + ~desc:"the protocol hash proposal to vote for" + (parameter (fun _ x -> + match Protocol_hash.of_b58check_opt x with + | None -> failwith "Invalid proposal hash: '%s'" x + | Some hash -> return hash)) + @@ param + ~name:"ballot" + ~desc:"the ballot value (yea/yay, nay, or pass)" + (parameter + ~autocomplete:(fun _ -> return ["yea"; "nay"; "pass"]) + (fun _ s -> + (* We should have [Vote.of_string]. *) + match String.lowercase_ascii s with + | "yay" | "yea" -> return Vote.Yay + | "nay" -> return Vote.Nay + | "pass" -> return Vote.Pass + | s -> failwith "Invalid ballot: '%s'" s)) + @@ stop) + (fun (verbose_signing, dry_run) + (_name, source) + proposal + ballot + (cctxt : Protocol_client_context.full) -> + match Contract.is_implicit source with + | None -> failwith "only implicit accounts can submit ballot" + | Some src_pkh -> + Client_keys.get_key cctxt src_pkh + >>=? fun (_src_name, _src_pk, src_sk) -> + get_period_info + (* Find period info of the successor, because the operation will + be injected on the next block at the earliest *) + ~successor:true + ~chain:cctxt#chain + ~block:cctxt#block + cctxt + >>=? fun info -> + (match info.current_period_kind with + | Testing_vote | Promotion_vote -> return_unit + | _ -> cctxt#error "Not in a Testing_vote or Promotion_vote period") + >>=? fun () -> + submit_ballot + cctxt + ~chain:cctxt#chain + ~block:cctxt#block + ~src_sk + src_pkh + ~verbose_signing + ~dry_run + proposal + ballot + >>=? fun _res -> return_unit); + command + ~group + ~desc:"Summarize the current voting period" + no_options + (fixed ["show"; "voting"; "period"]) + (fun () (cctxt : Protocol_client_context.full) -> + get_period_info ~chain:cctxt#chain ~block:cctxt#block cctxt + >>=? fun info -> + cctxt#message + "Current period: %a\nBlocks remaining until end of period: %ld" + Data_encoding.Json.pp + (Data_encoding.Json.construct + Alpha_context.Voting_period.kind_encoding + info.current_period_kind) + info.remaining + >>= fun () -> + Shell_services.Protocol.list cctxt >>=? fun known_protos -> + get_proposals ~chain:cctxt#chain ~block:cctxt#block cctxt + >>=? fun props -> + let ranks = + Environment.Protocol_hash.Map.bindings props + |> List.sort (fun (_, v1) (_, v2) -> Int32.(compare v2 v1)) + in + let print_proposal = function + | None -> assert false (* not called during proposal phase *) + | Some proposal -> + cctxt#message "Current proposal: %a" Protocol_hash.pp proposal + in + match info.current_period_kind with + | Proposal -> + cctxt#answer + "Current proposals:%t" + Format.( + fun ppf -> + pp_print_cut ppf () ; + pp_open_vbox ppf 0 ; + List.iter + (fun (p, w) -> + fprintf + ppf + "* %a %ld (%sknown by the node)@." + Protocol_hash.pp + p + w + (if List.mem ~equal:Protocol_hash.equal p known_protos + then "" + else "not ")) + ranks ; + pp_close_box ppf ()) + >>= fun () -> return_unit + | Testing_vote | Promotion_vote -> + print_proposal info.current_proposal >>= fun () -> + get_ballots_info ~chain:cctxt#chain ~block:cctxt#block cctxt + >>=? fun ballots_info -> + cctxt#answer + "Ballots: %a@,\ + Current participation %.2f%%, necessary quorum %.2f%%@,\ + Current in favor %ld, needed supermajority %ld" + Data_encoding.Json.pp + (Data_encoding.Json.construct + Vote.ballots_encoding + ballots_info.ballots) + (Int32.to_float ballots_info.participation /. 100.) + (Int32.to_float ballots_info.current_quorum /. 100.) + ballots_info.ballots.yay + ballots_info.supermajority + >>= fun () -> return_unit + | Testing | Adoption -> + print_proposal info.current_proposal >>= fun () -> return_unit); + ] + +let commands network () = + commands_rw () @ commands_ro () @ commands_network network () -- GitLab From 97e7f32a9aeee08217a0df73c489a589ea6e784d Mon Sep 17 00:00:00 2001 From: Pietro Date: Mon, 13 Sep 2021 14:45:56 +0200 Subject: [PATCH 11/12] Edo Freeze: remove RW commands from lib_client_commands --- .../client_proto_context_commands.ml | 1069 +---------------- .../client_proto_fa12_commands.ml | 16 +- .../client_proto_multisig_commands.ml | 833 ------------- .../client_sapling_commands.ml | 6 + 4 files changed, 18 insertions(+), 1906 deletions(-) diff --git a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml index 3e28ddd4837e..d3cd52fe5cfe 100644 --- a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml +++ b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_context_commands.ml @@ -29,7 +29,6 @@ open Alpha_context open Tezos_micheline open Client_proto_context open Client_proto_contracts -open Client_proto_programs open Client_keys open Client_proto_args @@ -43,19 +42,6 @@ let dry_run_switch = ~doc:"don't inject the operation, just display it" () -let verbose_signing_switch = - Clic.switch - ~long:"verbose-signing" - ~doc:"display extra information before signing the operation" - () - -let simulate_switch = - Clic.switch - ~long:"simulation" - ~doc: - "Simulate the execution of the command, without needing any signatures." - () - let report_michelson_errors ?(no_print_source = false) ~msg (cctxt : #Client_context.printer) = function | Error errs -> @@ -88,17 +74,6 @@ let data_parameter = (Micheline_parser.no_parsing_error @@ Michelson_v1_parser.parse_expression data)) -let non_negative_param = - Clic.parameter (fun _ s -> - match int_of_string_opt s with - | Some i when i >= 0 -> return i - | _ -> failwith "Parameter should be a non-negative integer literal") - -let block_hash_param = - Clic.parameter (fun _ s -> - try return (Block_hash.of_b58check_exn s) - with _ -> failwith "Parameter '%s' is an invalid block hash" s) - let group = { Clic.name = "context"; @@ -596,1046 +571,4 @@ let commands_ro () = >>= fun () -> return_unit); ] -let commands_rw () = - let open Clic in - [ - command - ~group - ~desc:"Set the delegate of a contract." - (args10 - fee_arg - dry_run_switch - verbose_signing_switch - simulate_switch - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg) - (prefixes ["set"; "delegate"; "for"] - @@ ContractAlias.destination_param ~name:"src" ~desc:"source contract" - @@ prefix "to" - @@ Public_key_hash.source_param - ~name:"dlgt" - ~desc:"new delegate of the contract" - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - simulation, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, contract) - delegate - (cctxt : Protocol_client_context.full) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - match Contract.is_implicit contract with - | None -> - Managed_contract.get_contract_manager cctxt contract - >>=? fun source -> - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - Managed_contract.set_delegate - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~simulation - ~fee_parameter - ?fee - ~source - ~src_pk - ~src_sk - contract - (Some delegate) - >>= fun errors -> - report_michelson_errors - ~no_print_source:true - ~msg:"Setting delegate through entrypoints failed." - cctxt - errors - >>= fun _ -> return_unit - | Some mgr -> - Client_keys.get_key cctxt mgr >>=? fun (_, src_pk, manager_sk) -> - set_delegate - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~simulation - ~fee_parameter - ?fee - mgr - (Some delegate) - ~src_pk - ~manager_sk - >>=? fun _ -> return_unit); - command - ~group - ~desc:"Withdraw the delegate from a contract." - (args9 - fee_arg - dry_run_switch - verbose_signing_switch - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg) - (prefixes ["withdraw"; "delegate"; "from"] - @@ ContractAlias.destination_param ~name:"src" ~desc:"source contract" - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, contract) - (cctxt : Protocol_client_context.full) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - match Contract.is_implicit contract with - | None -> - Managed_contract.get_contract_manager cctxt contract - >>=? fun source -> - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - Managed_contract.set_delegate - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ?fee - ~source - ~src_pk - ~src_sk - contract - None - >>= fun errors -> - report_michelson_errors - ~no_print_source:true - ~msg:"Withdrawing delegate through entrypoints failed." - cctxt - errors - >>= fun _ -> return_unit - | Some mgr -> - Client_keys.get_key cctxt mgr >>=? fun (_, src_pk, manager_sk) -> - set_delegate - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - mgr - None - ?fee - ~src_pk - ~manager_sk - >>= fun _ -> return_unit); - command - ~group - ~desc:"Launch a smart contract on the blockchain." - (args15 - fee_arg - dry_run_switch - verbose_signing_switch - gas_limit_arg - storage_limit_arg - delegate_arg - (Client_keys.force_switch ()) - init_arg - no_print_source_flag - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg) - (prefixes ["originate"; "contract"] - @@ RawContractAlias.fresh_alias_param - ~name:"new" - ~desc:"name of the new contract" - @@ prefix "transferring" - @@ tez_param ~name:"qty" ~desc:"amount taken from source" - @@ prefix "from" - @@ ContractAlias.destination_param - ~name:"src" - ~desc:"name of the source contract" - @@ prefix "running" - @@ Program.source_param - ~name:"prg" - ~desc: - "script of the account\n\ - Combine with -init if the storage type is not unit." - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - delegate, - force, - initial_storage, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - alias_name - balance - (_, source) - program - (cctxt : Protocol_client_context.full) -> - RawContractAlias.of_fresh cctxt force alias_name >>=? fun alias_name -> - Lwt.return (Micheline_parser.no_parsing_error program) - >>=? fun {expanded = code; _} -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of an origination" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - originate_contract - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ?fee - ?gas_limit - ?storage_limit - ~delegate - ~initial_storage - ~balance - ~source - ~src_pk - ~src_sk - ~code - ~fee_parameter - () - >>= fun errors -> - report_michelson_errors - ~no_print_source - ~msg:"origination simulation failed" - cctxt - errors - >>= function - | None -> return_unit - | Some (_res, contract) -> - if dry_run then return_unit - else - save_contract ~force cctxt alias_name contract >>=? fun () -> - return_unit)); - command - ~group - ~desc: - "Execute multiple transfers from a single source account.\n\ - If one of the transfers fails, none of them get executed." - (args16 - default_fee_arg - dry_run_switch - verbose_signing_switch - simulate_switch - default_gas_limit_arg - default_storage_limit_arg - counter_arg - default_arg_arg - no_print_source_flag - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg - default_entrypoint_arg) - (prefixes ["multiple"; "transfers"; "from"] - @@ ContractAlias.destination_param - ~name:"src" - ~desc:"name of the source contract" - @@ prefix "using" - @@ param - ~name:"transfers.json" - ~desc: - "List of operations originating from the source contract in JSON \ - format (from a file or directly inlined). The input JSON must be \ - an array of objects of the form: '[ {\"destination\": dst, \ - \"amount\": qty (, : ...) } (, ...) ]', where an \ - optional can either be \"fee\", \"gas-limit\", \ - \"storage-limit\", \"arg\", or \"entrypoint\"." - json_file_or_text_parameter - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - simulation, - gas_limit, - storage_limit, - counter, - arg, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap, - entrypoint ) - (_, source) - operations_json - cctxt -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - let prepare i = - prepare_batch_operation - cctxt - ?arg - ?fee - ?gas_limit - ?storage_limit - ?entrypoint - source - i - in - match - Data_encoding.Json.destruct - (Data_encoding.list - Client_proto_context.batch_transfer_operation_encoding) - operations_json - with - | [] -> failwith "Empty operation list" - | operations -> - (match Contract.is_implicit source with - | None -> - Managed_contract.get_contract_manager cctxt source - >>=? fun source -> - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - return (source, src_pk, src_sk) - | Some source -> - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - return (source, src_pk, src_sk)) - >>=? fun (source, src_pk, src_sk) -> - List.mapi_ep prepare operations >>=? fun contents -> - let (Manager_list contents) = Injection.manager_of_list contents in - Injection.inject_manager_operation - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~simulation - ~source - ?fee - ?gas_limit - ?storage_limit - ?counter - ~src_pk - ~src_sk - ~fee_parameter - contents - >>= report_michelson_errors - ~no_print_source - ~msg:"multiple transfers simulation failed" - cctxt - >>= fun _ -> return_unit - | exception (Data_encoding.Json.Cannot_destruct (path, exn2) as exn) - -> ( - match (path, operations_json) with - | ([`Index n], `A lj) -> ( - match List.nth_opt lj n with - | Some j -> - failwith - "Invalid transfer at index %i: %a %a" - n - (fun ppf -> Data_encoding.Json.print_error ppf) - exn2 - Data_encoding.Json.pp - j - | _ -> - failwith - "Invalid transfer at index %i: %a" - n - (fun ppf -> Data_encoding.Json.print_error ppf) - exn2) - | _ -> - failwith - "Invalid transfer file: %a %a" - (fun ppf -> Data_encoding.Json.print_error ppf) - exn - Data_encoding.Json.pp - operations_json)); - command - ~group - ~desc:"Transfer tokens / call a smart contract." - (args16 - fee_arg - dry_run_switch - verbose_signing_switch - simulate_switch - gas_limit_arg - storage_limit_arg - counter_arg - arg_arg - no_print_source_flag - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg - entrypoint_arg) - (prefixes ["transfer"] - @@ tez_param ~name:"qty" ~desc:"amount taken from source" - @@ prefix "from" - @@ ContractAlias.destination_param - ~name:"src" - ~desc:"name of the source contract" - @@ prefix "to" - @@ ContractAlias.destination_param - ~name:"dst" - ~desc:"name/literal of the destination contract" - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - simulation, - gas_limit, - storage_limit, - counter, - arg, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap, - entrypoint ) - amount - (_, source) - (_, destination) - cctxt -> - transfer_command - amount - source - destination - cctxt - ( fee, - dry_run, - verbose_signing, - simulation, - gas_limit, - storage_limit, - counter, - arg, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap, - entrypoint )); - command - ~group - ~desc:"Call a smart contract (same as 'transfer 0')." - (args16 - fee_arg - dry_run_switch - verbose_signing_switch - simulate_switch - gas_limit_arg - storage_limit_arg - counter_arg - arg_arg - no_print_source_flag - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg - entrypoint_arg) - (prefixes ["call"] - @@ ContractAlias.destination_param - ~name:"dst" - ~desc:"name/literal of the destination contract" - @@ prefix "from" - @@ ContractAlias.destination_param - ~name:"src" - ~desc:"name of the source contract" - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - simulation, - gas_limit, - storage_limit, - counter, - arg, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap, - entrypoint ) - (_, destination) - (_, source) - cctxt -> - let amount = Tez.zero in - transfer_command - amount - source - destination - cctxt - ( fee, - dry_run, - verbose_signing, - simulation, - gas_limit, - storage_limit, - counter, - arg, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap, - entrypoint )); - command - ~group - ~desc:"Reveal the public key of the contract manager." - (args9 - fee_arg - dry_run_switch - verbose_signing_switch - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg) - (prefixes ["reveal"; "key"; "for"] - @@ ContractAlias.alias_param - ~name:"src" - ~desc:"name of the source contract" - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, source) - cctxt -> - match Contract.is_implicit source with - | None -> failwith "only implicit accounts can be revealed" - | Some source -> - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - reveal - cctxt - ~dry_run - ~verbose_signing - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~source - ?fee - ~src_pk - ~src_sk - ~fee_parameter - () - >>=? fun _res -> return_unit); - command - ~group - ~desc:"Register the public key hash as a delegate." - (args9 - fee_arg - dry_run_switch - verbose_signing_switch - minimal_fees_arg - minimal_nanotez_per_byte_arg - minimal_nanotez_per_gas_unit_arg - force_low_fee_arg - fee_cap_arg - burn_cap_arg) - (prefixes ["register"; "key"] - @@ Public_key_hash.source_param ~name:"mgr" ~desc:"the delegate key" - @@ prefixes ["as"; "delegate"] - @@ stop) - (fun ( fee, - dry_run, - verbose_signing, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - src_pkh - cctxt -> - Client_keys.get_key cctxt src_pkh >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - register_as_delegate - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~fee_parameter - ~verbose_signing - ?fee - ~manager_sk:src_sk - src_pk - >>= function - | Ok _ -> return_unit - | Error [Environment.Ecoproto_error Delegate_storage.Active_delegate] -> - cctxt#message "Delegate already activated." >>= fun () -> - return_unit - | Error el -> Lwt.return_error el); - command - ~desc:"Wait until an operation is included in a block" - (args3 - (default_arg - ~long:"confirmations" - ~placeholder:"num_blocks" - ~doc: - "wait until 'N' additional blocks after the operation appears in \ - the considered chain" - ~default:"0" - non_negative_param) - (default_arg - ~long:"check-previous" - ~placeholder:"num_blocks" - ~doc:"number of previous blocks to check" - ~default:"10" - non_negative_param) - (arg - ~long:"branch" - ~placeholder:"block_hash" - ~doc: - "hash of the oldest block where we should look for the operation" - block_hash_param)) - (prefixes ["wait"; "for"] - @@ param - ~name:"operation" - ~desc:"Operation to be included" - (parameter (fun _ x -> - match Operation_hash.of_b58check_opt x with - | None -> Error_monad.failwith "Invalid operation hash: '%s'" x - | Some hash -> return hash)) - @@ prefixes ["to"; "be"; "included"] - @@ stop) - (fun (confirmations, predecessors, branch) - operation_hash - (ctxt : Protocol_client_context.full) -> - Client_confirmations.wait_for_operation_inclusion - ctxt - ~chain:ctxt#chain - ~confirmations - ~predecessors - ?branch - operation_hash - >>=? fun _ -> return_unit); - command - ~desc:"Get receipt for past operation" - (args1 - (default_arg - ~long:"check-previous" - ~placeholder:"num_blocks" - ~doc:"number of previous blocks to check" - ~default:"10" - non_negative_param)) - (prefixes ["get"; "receipt"; "for"] - @@ param - ~name:"operation" - ~desc:"Operation to be looked up" - (parameter (fun _ x -> - match Operation_hash.of_b58check_opt x with - | None -> Error_monad.failwith "Invalid operation hash: '%s'" x - | Some hash -> return hash)) - @@ stop) - (fun predecessors operation_hash (ctxt : Protocol_client_context.full) -> - display_receipt_for_operation - ctxt - ~chain:ctxt#chain - ~predecessors - operation_hash - >>=? fun _ -> return_unit); - command - ~group - ~desc:"Submit protocol proposals" - (args3 - dry_run_switch - verbose_signing_switch - (switch - ~doc: - "Do not fail when the checks that try to prevent the user from \ - shooting themselves in the foot do." - ~long:"force" - ())) - (prefixes ["submit"; "proposals"; "for"] - @@ ContractAlias.destination_param - ~name:"delegate" - ~desc:"the delegate who makes the proposal" - @@ seq_of_param - (param - ~name:"proposal" - ~desc:"the protocol hash proposal to be submitted" - (parameter (fun _ x -> - match Protocol_hash.of_b58check_opt x with - | None -> - Error_monad.failwith "Invalid proposal hash: '%s'" x - | Some hash -> return hash)))) - (fun (dry_run, verbose_signing, force) - (_name, source) - proposals - (cctxt : Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> failwith "only implicit accounts can submit proposals" - | Some src_pkh -> ( - Client_keys.get_key cctxt src_pkh - >>=? fun (src_name, _src_pk, src_sk) -> - get_period_info - (* Find period info of the successor, because the operation will - be injected on the next block at the earliest *) - ~successor:true - ~chain:cctxt#chain - ~block:cctxt#block - cctxt - >>=? fun info -> - (match info.current_period_kind with - | Proposal -> return_unit - | _ -> cctxt#error "Not in a proposal period") - >>=? fun () -> - Shell_services.Protocol.list cctxt >>=? fun known_protos -> - get_proposals ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun known_proposals -> - Alpha_services.Voting.listings cctxt (cctxt#chain, cctxt#block) - >>=? fun listings -> - (* for a proposal to be valid it must either a protocol that was already - proposed by somebody else or a protocol known by the node, because - the user is the first proposer and just injected it with - tezos-admin-client *) - let check_proposals proposals : bool tzresult Lwt.t = - let n = List.length proposals in - let errors = ref [] in - let error ppf = - Format.kasprintf (fun s -> errors := s :: !errors) ppf - in - if n = 0 then error "Empty proposal list." ; - if n > Constants.fixed.max_proposals_per_delegate then - error - "Too many proposals: %d > %d." - n - Constants.fixed.max_proposals_per_delegate ; - (match - Base.List.find_all_dups - ~compare:Protocol_hash.compare - proposals - with - | [] -> () - | dups -> - error - "There %s: %a." - (if List.length dups = 1 then "is a duplicate proposal" - else "are duplicate proposals") - Format.( - pp_print_list - ~pp_sep:(fun ppf () -> pp_print_string ppf ", ") - Protocol_hash.pp) - dups) ; - List.iter - (fun (p : Protocol_hash.t) -> - if - List.mem ~equal:Protocol_hash.equal p known_protos - || Environment.Protocol_hash.Map.mem p known_proposals - then () - else - error - "Protocol %a is not a known proposal." - Protocol_hash.pp - p) - proposals ; - if - not - (List.exists - (fun (pkh, _) -> - Signature.Public_key_hash.equal pkh src_pkh) - listings) - then - error - "Public-key-hash `%a` from account `%s` does not appear to \ - have voting rights." - Signature.Public_key_hash.pp - src_pkh - src_name ; - if !errors <> [] then - cctxt#message - "There %s with the submission:%t" - (if List.length !errors = 1 then "is an issue" - else "are issues") - Format.( - fun ppf -> - pp_print_cut ppf () ; - pp_open_vbox ppf 0 ; - List.iter - (fun msg -> - pp_open_hovbox ppf 2 ; - pp_print_string ppf "* " ; - pp_print_text ppf msg ; - pp_close_box ppf () ; - pp_print_cut ppf ()) - !errors ; - pp_close_box ppf ()) - >>= fun () -> return_false - else return_true - in - check_proposals proposals >>=? fun all_valid -> - (if all_valid then cctxt#message "All proposals are valid." - else if force then - cctxt#message - "Some proposals are not valid, but `--force` was used." - else cctxt#error "Submission failed because of invalid proposals.") - >>= fun () -> - submit_proposals - ~dry_run - ~verbose_signing - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~src_sk - src_pkh - proposals - >>= function - | Ok _res -> return_unit - | Error errs -> - (match errs with - | [ - Unregistered_error - (`O [("kind", `String "generic"); ("error", `String msg)]); - ] -> - cctxt#message - "Error:@[@.%a@]" - Format.pp_print_text - (String.split_on_char ' ' msg - |> List.filter (function "" | "\n" -> false | _ -> true) - |> String.concat " " - |> String.map (function '\n' | '\t' -> ' ' | c -> c)) - | el -> cctxt#message "Error:@ %a" pp_print_error el) - >>= fun () -> failwith "Failed to submit proposals")); - command - ~group - ~desc:"Submit a ballot" - (args2 verbose_signing_switch dry_run_switch) - (prefixes ["submit"; "ballot"; "for"] - @@ ContractAlias.destination_param - ~name:"delegate" - ~desc:"the delegate who votes" - @@ param - ~name:"proposal" - ~desc:"the protocol hash proposal to vote for" - (parameter (fun _ x -> - match Protocol_hash.of_b58check_opt x with - | None -> failwith "Invalid proposal hash: '%s'" x - | Some hash -> return hash)) - @@ param - ~name:"ballot" - ~desc:"the ballot value (yea/yay, nay, or pass)" - (parameter - ~autocomplete:(fun _ -> return ["yea"; "nay"; "pass"]) - (fun _ s -> - (* We should have [Vote.of_string]. *) - match String.lowercase_ascii s with - | "yay" | "yea" -> return Vote.Yay - | "nay" -> return Vote.Nay - | "pass" -> return Vote.Pass - | s -> failwith "Invalid ballot: '%s'" s)) - @@ stop) - (fun (verbose_signing, dry_run) - (_name, source) - proposal - ballot - (cctxt : Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> failwith "only implicit accounts can submit ballot" - | Some src_pkh -> - Client_keys.get_key cctxt src_pkh - >>=? fun (_src_name, _src_pk, src_sk) -> - get_period_info - (* Find period info of the successor, because the operation will - be injected on the next block at the earliest *) - ~successor:true - ~chain:cctxt#chain - ~block:cctxt#block - cctxt - >>=? fun info -> - (match info.current_period_kind with - | Testing_vote | Promotion_vote -> return_unit - | _ -> cctxt#error "Not in a Testing_vote or Promotion_vote period") - >>=? fun () -> - submit_ballot - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~src_sk - src_pkh - ~verbose_signing - ~dry_run - proposal - ballot - >>=? fun _res -> return_unit); - command - ~group - ~desc:"Summarize the current voting period" - no_options - (fixed ["show"; "voting"; "period"]) - (fun () (cctxt : Protocol_client_context.full) -> - get_period_info ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun info -> - cctxt#message - "Current period: %a\nBlocks remaining until end of period: %ld" - Data_encoding.Json.pp - (Data_encoding.Json.construct - Alpha_context.Voting_period.kind_encoding - info.current_period_kind) - info.remaining - >>= fun () -> - Shell_services.Protocol.list cctxt >>=? fun known_protos -> - get_proposals ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun props -> - let ranks = - Environment.Protocol_hash.Map.bindings props - |> List.sort (fun (_, v1) (_, v2) -> Int32.(compare v2 v1)) - in - let print_proposal = function - | None -> assert false (* not called during proposal phase *) - | Some proposal -> - cctxt#message "Current proposal: %a" Protocol_hash.pp proposal - in - match info.current_period_kind with - | Proposal -> - cctxt#answer - "Current proposals:%t" - Format.( - fun ppf -> - pp_print_cut ppf () ; - pp_open_vbox ppf 0 ; - List.iter - (fun (p, w) -> - fprintf - ppf - "* %a %ld (%sknown by the node)@." - Protocol_hash.pp - p - w - (if List.mem ~equal:Protocol_hash.equal p known_protos - then "" - else "not ")) - ranks ; - pp_close_box ppf ()) - >>= fun () -> return_unit - | Testing_vote | Promotion_vote -> - print_proposal info.current_proposal >>= fun () -> - get_ballots_info ~chain:cctxt#chain ~block:cctxt#block cctxt - >>=? fun ballots_info -> - cctxt#answer - "Ballots: %a@,\ - Current participation %.2f%%, necessary quorum %.2f%%@,\ - Current in favor %ld, needed supermajority %ld" - Data_encoding.Json.pp - (Data_encoding.Json.construct - Vote.ballots_encoding - ballots_info.ballots) - (Int32.to_float ballots_info.participation /. 100.) - (Int32.to_float ballots_info.current_quorum /. 100.) - ballots_info.ballots.yay - ballots_info.supermajority - >>= fun () -> return_unit - | Testing | Adoption -> - print_proposal info.current_proposal >>= fun () -> return_unit); - ] - -let commands network () = - commands_rw () @ commands_ro () @ commands_network network () +let commands network () = commands_ro () @ commands_network network () diff --git a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_fa12_commands.ml b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_fa12_commands.ml index 235b937fd12f..3ba32b4d4431 100644 --- a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_fa12_commands.ml +++ b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_fa12_commands.ml @@ -33,6 +33,12 @@ let group = title = "Commands for managing FA1.2-compatible smart contracts"; } +let verbose_signing_switch = + Clic.switch + ~long:"verbose-signing" + ~doc:"display extra information before signing the operation" + () + let alias_param = Client_proto_contracts.ContractAlias.destination_param let token_contract_param () = @@ -96,7 +102,7 @@ let contract_call_options = tez_amount_arg fee_arg Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch + verbose_signing_switch gas_limit_arg storage_limit_arg counter_arg @@ -114,7 +120,7 @@ let contract_view_options = tez_amount_arg fee_arg Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch + verbose_signing_switch gas_limit_arg storage_limit_arg counter_arg @@ -131,7 +137,7 @@ let originate_options = tez_amount_arg fee_arg Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch + verbose_signing_switch gas_limit_arg storage_limit_arg delegate_arg @@ -191,7 +197,7 @@ let commands () : #Protocol_client_context.full Clic.command list = tez_amount_arg fee_arg Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch + verbose_signing_switch gas_limit_arg storage_limit_arg counter_arg @@ -665,7 +671,7 @@ let commands () : #Protocol_client_context.full Clic.command list = default_fee_arg as_arg Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch + verbose_signing_switch default_gas_limit_arg default_storage_limit_arg counter_arg diff --git a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_multisig_commands.ml b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_multisig_commands.ml index 2ec9ea5bec9d..342ed62a46b7 100644 --- a/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_multisig_commands.ml +++ b/src/proto_008_PtEdo2Zk/lib_client_commands/client_proto_multisig_commands.ml @@ -45,19 +45,6 @@ let public_key_param () = ~name:"key" ~desc:"Each signer of the multisig contract" -let secret_key_param () = - Client_keys.Secret_key.source_param - ~name:"key" - ~desc: - "Secret key corresponding to one of the public keys stored on the \ - multisig contract" - -let signature_param () = - Clic.param - ~name:"signature" - ~desc:"Each signer of the multisig contract" - Client_proto_args.signature_parameter - let lambda_param () = Clic.param ~name:"lambda" @@ -70,43 +57,6 @@ let bytes_only_switch = ~doc:"return only the byte sequence to be signed" () -let bytes_param ~name ~desc = - Clic.param ~name ~desc Client_proto_args.bytes_parameter - -let transfer_options = - Clic.args15 - Client_proto_args.fee_arg - Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch - Client_proto_args.gas_limit_arg - Client_proto_args.storage_limit_arg - Client_proto_args.counter_arg - Client_proto_args.arg_arg - Client_proto_args.no_print_source_flag - Client_proto_args.minimal_fees_arg - Client_proto_args.minimal_nanotez_per_byte_arg - Client_proto_args.minimal_nanotez_per_gas_unit_arg - Client_proto_args.force_low_fee_arg - Client_proto_args.fee_cap_arg - Client_proto_args.burn_cap_arg - Client_proto_args.entrypoint_arg - -let non_transfer_options = - Clic.args13 - Client_proto_args.fee_arg - Client_proto_context_commands.dry_run_switch - Client_proto_context_commands.verbose_signing_switch - Client_proto_args.gas_limit_arg - Client_proto_args.storage_limit_arg - Client_proto_args.counter_arg - Client_proto_args.no_print_source_flag - Client_proto_args.minimal_fees_arg - Client_proto_args.minimal_nanotez_per_byte_arg - Client_proto_args.minimal_nanotez_per_gas_unit_arg - Client_proto_args.force_low_fee_arg - Client_proto_args.fee_cap_arg - Client_proto_args.burn_cap_arg - let prepare_command_display prepared_command bytes_only = if bytes_only then Format.printf @@ -165,121 +115,6 @@ let get_parameter_type (cctxt : #Protocol_client_context.full) ~destination let commands () : #Protocol_client_context.full Clic.command list = Clic. [ - command - ~group - ~desc:"Originate a new multisig contract." - (args14 - Client_proto_args.fee_arg - Client_proto_context_commands.dry_run_switch - Client_proto_args.gas_limit_arg - Client_proto_args.storage_limit_arg - Client_proto_args.delegate_arg - (Client_keys.force_switch ()) - Client_proto_args.no_print_source_flag - Client_proto_args.minimal_fees_arg - Client_proto_args.minimal_nanotez_per_byte_arg - Client_proto_args.minimal_nanotez_per_gas_unit_arg - Client_proto_args.force_low_fee_arg - Client_proto_args.fee_cap_arg - Client_proto_context_commands.verbose_signing_switch - Client_proto_args.burn_cap_arg) - (prefixes ["deploy"; "multisig"] - @@ Client_proto_contracts.RawContractAlias.fresh_alias_param - ~name:"new_multisig" - ~desc:"name of the new multisig contract" - @@ prefix "transferring" - @@ Client_proto_args.tez_param - ~name:"qty" - ~desc:"amount taken from source" - @@ prefix "from" - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"name of the source contract" - @@ prefixes ["with"; "threshold"] - @@ threshold_param () - @@ prefixes ["on"; "public"; "keys"] - @@ seq_of_param (public_key_param ())) - (fun ( fee, - dry_run, - gas_limit, - storage_limit, - delegate, - force, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - verbose_signing, - burn_cap ) - alias_name - balance - (_, source) - threshold - keys - (cctxt : #Protocol_client_context.full) -> - Client_proto_contracts.RawContractAlias.of_fresh - cctxt - force - alias_name - >>=? fun alias_name -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of an origination" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - List.map_es - (fun (pk_uri, _) -> Client_keys.public_key pk_uri) - keys - >>=? fun keys -> - Client_proto_multisig.originate_multisig - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ?fee - ?gas_limit - ?storage_limit - ~verbose_signing - ~delegate - ~threshold:(Z.of_int threshold) - ~keys - ~balance - ~source - ~src_pk - ~src_sk - ~fee_parameter - () - >>= fun errors -> - Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"multisig origination simulation failed" - cctxt - errors - >>= function - | None -> return_unit - | Some (_res, contract) -> - if dry_run then return_unit - else - Client_proto_context.save_contract - ~force - cctxt - alias_name - contract - >>=? fun () -> return_unit)); command ~group ~desc: @@ -435,674 +270,6 @@ let commands () : #Protocol_client_context.full Clic.command list = () >>=? fun prepared_command -> return @@ prepare_command_display prepared_command bytes_only); - command - ~group - ~desc:"Sign a transaction for a multisig contract." - (args2 arg_arg entrypoint_arg) - (prefixes ["sign"; "multisig"; "transaction"; "on"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefix "transferring" - @@ Client_proto_args.tez_param - ~name:"qty" - ~desc:"amount taken from source" - @@ prefix "to" - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"dst" - ~desc:"name/literal of the destination contract" - @@ prefixes ["using"; "secret"; "key"] - @@ secret_key_param () @@ stop) - (fun (parameter, entrypoint) - (_, multisig_contract) - amount - (_, destination) - sk - (cctxt : #Protocol_client_context.full) -> - let entrypoint = Option.value ~default:"default" entrypoint in - let parameter = Option.value ~default:"Unit" parameter in - Lwt.return @@ Micheline_parser.no_parsing_error - @@ Michelson_v1_parser.parse_expression parameter - >>=? fun {expanded = parameter; _} -> - get_parameter_type cctxt ~destination ~entrypoint - >>=? fun parameter_type -> - Client_proto_multisig.prepare_multisig_transaction - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~multisig_contract - ~action: - (Client_proto_multisig.Transfer - {amount; destination; entrypoint; parameter_type; parameter}) - () - >>=? fun prepared_command -> - Client_keys.sign cctxt sk prepared_command.bytes >>=? fun signature -> - return @@ Format.printf "%a@." Signature.pp signature); - command - ~group - ~desc:"Sign a lambda for a generic multisig contract." - no_options - (prefixes ["sign"; "multisig"; "transaction"; "on"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["running"; "lambda"] - @@ lambda_param () - @@ prefixes ["using"; "secret"; "key"] - @@ secret_key_param () @@ stop) - (fun () - (_, multisig_contract) - lambda - sk - (cctxt : #Protocol_client_context.full) -> - Lwt.return @@ Micheline_parser.no_parsing_error - @@ Michelson_v1_parser.parse_expression lambda - >>=? fun {expanded = lambda; _} -> - Client_proto_multisig.prepare_multisig_transaction - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~multisig_contract - ~action:(Lambda lambda) - () - >>=? fun prepared_command -> - Client_keys.sign cctxt sk prepared_command.bytes >>=? fun signature -> - return @@ Format.printf "%a@." Signature.pp signature); - command - ~group - ~desc:"Sign a delegate change for a multisig contract." - no_options - (prefixes ["sign"; "multisig"; "transaction"; "on"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["setting"; "delegate"; "to"] - @@ Client_keys.Public_key_hash.source_param - ~name:"dlgt" - ~desc:"new delegate of the new multisig contract" - @@ prefixes ["using"; "secret"; "key"] - @@ secret_key_param () @@ stop) - (fun () - (_, multisig_contract) - delegate - sk - (cctxt : #Protocol_client_context.full) -> - Client_proto_multisig.prepare_multisig_transaction - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~multisig_contract - ~action:(Client_proto_multisig.Change_delegate (Some delegate)) - () - >>=? fun prepared_command -> - Client_keys.sign cctxt sk prepared_command.bytes >>=? fun signature -> - return @@ Format.printf "%a@." Signature.pp signature); - command - ~group - ~desc:"Sign a delegate withdraw for a multisig contract." - no_options - (prefixes ["sign"; "multisig"; "transaction"; "on"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["withdrawing"; "delegate"] - @@ prefixes ["using"; "secret"; "key"] - @@ secret_key_param () @@ stop) - (fun () - (_, multisig_contract) - sk - (cctxt : #Protocol_client_context.full) -> - Client_proto_multisig.prepare_multisig_transaction - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~multisig_contract - ~action:(Client_proto_multisig.Change_delegate None) - () - >>=? fun prepared_command -> - Client_keys.sign cctxt sk prepared_command.bytes >>=? fun signature -> - return @@ Format.printf "%a@." Signature.pp signature); - command - ~group - ~desc: - "Sign a change of public keys and threshold for a multisig contract." - no_options - (prefixes ["sign"; "multisig"; "transaction"; "on"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["using"; "secret"; "key"] - @@ secret_key_param () - @@ prefixes ["setting"; "threshold"; "to"] - @@ threshold_param () - @@ prefixes ["and"; "public"; "keys"; "to"] - @@ seq_of_param (public_key_param ())) - (fun () - (_, multisig_contract) - sk - new_threshold - new_keys - (cctxt : #Protocol_client_context.full) -> - List.map_es - (fun (pk_uri, _) -> Client_keys.public_key pk_uri) - new_keys - >>=? fun keys -> - Client_proto_multisig.prepare_multisig_transaction - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ~multisig_contract - ~action: - (Client_proto_multisig.Change_keys (Z.of_int new_threshold, keys)) - () - >>=? fun prepared_command -> - Client_keys.sign cctxt sk prepared_command.bytes >>=? fun signature -> - return @@ Format.printf "%a@." Signature.pp signature); - command - ~group - ~desc:"Transfer tokens using a multisig contract." - transfer_options - (prefixes ["from"; "multisig"; "contract"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name/literal of the multisig contract" - @@ prefix "transfer" - @@ Client_proto_args.tez_param - ~name:"qty" - ~desc:"amount taken from the multisig contract" - @@ prefix "to" - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"dst" - ~desc:"name/literal of the destination contract" - @@ prefixes ["on"; "behalf"; "of"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"source calling the multisig contract" - @@ prefixes ["with"; "signatures"] - @@ seq_of_param (signature_param ())) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - counter, - parameter, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap, - entrypoint ) - (_, multisig_contract) - amount - (_, destination) - (_, source) - signatures - (cctxt : #Protocol_client_context.full) -> - let entrypoint = Option.value ~default:"default" entrypoint in - let parameter = Option.value ~default:"Unit" parameter in - Lwt.return @@ Micheline_parser.no_parsing_error - @@ Michelson_v1_parser.parse_expression parameter - >>=? fun {expanded = parameter; _} -> - get_parameter_type cctxt ~destination ~entrypoint - >>=? fun parameter_type -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of a contract call" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - Client_proto_multisig.call_multisig - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ~source - ?fee - ~src_pk - ~src_sk - ~multisig_contract - ~action: - (Client_proto_multisig.Transfer - { - amount; - destination; - entrypoint; - parameter_type; - parameter; - }) - ~signatures - ~amount:Tez.zero - ?gas_limit - ?storage_limit - ?counter - () - >>= Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"transfer simulation failed" - cctxt - >>= function - | None -> return_unit - | Some (_res, _contracts) -> return_unit)); - command - ~group - ~desc:"Run a lambda on a generic multisig contract." - non_transfer_options - (prefixes ["from"; "multisig"; "contract"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name/literal of the multisig contract" - @@ prefixes ["run"; "lambda"] - @@ lambda_param () - @@ prefixes ["on"; "behalf"; "of"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"source calling the multisig contract" - @@ prefixes ["with"; "signatures"] - @@ seq_of_param (signature_param ())) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - counter, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, multisig_contract) - lambda - (_, source) - signatures - (cctxt : #Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of a contract call" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - Lwt.return @@ Micheline_parser.no_parsing_error - @@ Michelson_v1_parser.parse_expression lambda - >>=? fun {expanded = lambda; _} -> - Client_proto_multisig.call_multisig - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ~source - ?fee - ~src_pk - ~src_sk - ~multisig_contract - ~action:(Client_proto_multisig.Lambda lambda) - ~signatures - ~amount:Tez.zero - ?gas_limit - ?storage_limit - ?counter - () - >>= Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"transfer simulation failed" - cctxt - >>= function - | None -> return_unit - | Some (_res, _contracts) -> return_unit)); - command - ~group - ~desc:"Change the delegate of a multisig contract." - non_transfer_options - (prefixes ["set"; "delegate"; "of"; "multisig"; "contract"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefix "to" - @@ Client_keys.Public_key_hash.source_param - ~name:"dlgt" - ~desc:"new delegate of the new multisig contract" - @@ prefixes ["on"; "behalf"; "of"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"source calling the multisig contract" - @@ prefixes ["with"; "signatures"] - @@ seq_of_param (signature_param ())) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - counter, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, multisig_contract) - delegate - (_, source) - signatures - (cctxt : #Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of a contract call" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - Client_proto_multisig.call_multisig - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ~source - ?fee - ~src_pk - ~src_sk - ~multisig_contract - ~action:(Client_proto_multisig.Change_delegate (Some delegate)) - ~signatures - ~amount:Tez.zero - ?gas_limit - ?storage_limit - ?counter - () - >>= Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"transfer simulation failed" - cctxt - >>= function - | None -> return_unit - | Some (_res, _contracts) -> return_unit)); - command - ~group - ~desc:"Withdraw the delegate of a multisig contract." - non_transfer_options - (prefixes ["withdraw"; "delegate"; "of"; "multisig"; "contract"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["on"; "behalf"; "of"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"source calling the multisig contract" - @@ prefixes ["with"; "signatures"] - @@ seq_of_param (signature_param ())) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - counter, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, multisig_contract) - (_, source) - signatures - (cctxt : #Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of a contract call" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - Client_proto_multisig.call_multisig - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ~source - ?fee - ~src_pk - ~src_sk - ~multisig_contract - ~action:(Client_proto_multisig.Change_delegate None) - ~signatures - ~amount:Tez.zero - ?gas_limit - ?storage_limit - ?counter - () - >>= Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"transfer simulation failed" - cctxt - >>= function - | None -> return_unit - | Some (_res, _contracts) -> return_unit)); - command - ~group - ~desc:"Change public keys and threshold for a multisig contract." - non_transfer_options - (prefixes ["set"; "threshold"; "of"; "multisig"; "contract"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["to"] - @@ threshold_param () - @@ prefixes ["and"; "public"; "keys"; "to"] - @@ non_terminal_seq (public_key_param ()) ~suffix:["on"; "behalf"; "of"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"source calling the multisig contract" - @@ prefixes ["with"; "signatures"] - @@ seq_of_param (signature_param ())) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - counter, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - (_, multisig_contract) - new_threshold - new_keys - (_, source) - signatures - (cctxt : #Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of a contract call" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - List.map_es - (fun (pk_uri, _) -> Client_keys.public_key pk_uri) - new_keys - >>=? fun keys -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - Client_proto_multisig.call_multisig - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ~source - ?fee - ~src_pk - ~src_sk - ~multisig_contract - ~action: - (Client_proto_multisig.Change_keys - (Z.of_int new_threshold, keys)) - ~signatures - ~amount:Tez.zero - ?gas_limit - ?storage_limit - ?counter - () - >>= Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"transfer simulation failed" - cctxt - >>= function - | None -> return_unit - | Some (_res, _contracts) -> return_unit)); - (* This command is no longer necessary as Clic now supports non terminal - lists of parameters, however, it is kept for compatibility. *) - command - ~group - ~desc: - "Run a transaction described by a sequence of bytes on a multisig \ - contract." - non_transfer_options - (prefixes ["run"; "transaction"] - @@ bytes_param - ~name:"bytes" - ~desc: - "the sequence of bytes to deserialize as a multisig action, can \ - be obtained by one of the \"prepare multisig transaction\" \ - commands" - @@ prefixes ["on"; "multisig"; "contract"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"multisig" - ~desc:"name or address of the originated multisig contract" - @@ prefixes ["on"; "behalf"; "of"] - @@ Client_proto_contracts.ContractAlias.destination_param - ~name:"src" - ~desc:"source calling the multisig contract" - @@ prefixes ["with"; "signatures"] - @@ seq_of_param (signature_param ())) - (fun ( fee, - dry_run, - verbose_signing, - gas_limit, - storage_limit, - counter, - no_print_source, - minimal_fees, - minimal_nanotez_per_byte, - minimal_nanotez_per_gas_unit, - force_low_fee, - fee_cap, - burn_cap ) - bytes - (_, multisig_contract) - (_, source) - signatures - (cctxt : #Protocol_client_context.full) -> - match Contract.is_implicit source with - | None -> - failwith - "only implicit accounts can be the source of a contract call" - | Some source -> ( - Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - let fee_parameter = - { - Injection.minimal_fees; - minimal_nanotez_per_byte; - minimal_nanotez_per_gas_unit; - force_low_fee; - fee_cap; - burn_cap; - } - in - Client_proto_multisig.call_multisig_on_bytes - cctxt - ~chain:cctxt#chain - ~block:cctxt#block - ?confirmations:cctxt#confirmations - ~dry_run - ~verbose_signing - ~fee_parameter - ~source - ?fee - ~src_pk - ~src_sk - ~multisig_contract - ~bytes - ~signatures - ~amount:Tez.zero - ?gas_limit - ?storage_limit - ?counter - () - >>= Client_proto_context_commands.report_michelson_errors - ~no_print_source - ~msg:"transfer simulation failed" - cctxt - >>= function - | None -> return_unit - | Some (_res, _contracts) -> return_unit)); command ~group ~desc:"Show the hashes of the supported multisig contracts." diff --git a/src/proto_008_PtEdo2Zk/lib_client_sapling/client_sapling_commands.ml b/src/proto_008_PtEdo2Zk/lib_client_sapling/client_sapling_commands.ml index 42898457821d..fb71d3a19f62 100644 --- a/src/proto_008_PtEdo2Zk/lib_client_sapling/client_sapling_commands.ml +++ b/src/proto_008_PtEdo2Zk/lib_client_sapling/client_sapling_commands.ml @@ -24,6 +24,12 @@ open Clic open Client_keys open Tezos_sapling.Core.Client +let verbose_signing_switch = + Clic.switch + ~long:"verbose-signing" + ~doc:"display extra information before signing the operation" + () + let json_switch = switch ~long:"json" ~doc:"Use JSON format" () let save_json_to_file json file = -- GitLab From 4ce808e5041e6bd779ace31afd9c6f88f3c59285 Mon Sep 17 00:00:00 2001 From: Pietro Date: Mon, 13 Sep 2021 14:47:57 +0200 Subject: [PATCH 12/12] Docs: Add proto freeze todo list --- docs/developer/FreezeTodo.rst | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 docs/developer/FreezeTodo.rst diff --git a/docs/developer/FreezeTodo.rst b/docs/developer/FreezeTodo.rst new file mode 100644 index 000000000000..b4f952b28265 --- /dev/null +++ b/docs/developer/FreezeTodo.rst @@ -0,0 +1,68 @@ +# Freeze TODO + +After each protocol activation, old protocol are kept frozen in the codebase. +However large part of the code developed for an old protocol can now be removed +to avoid accumulating dead code in th repository. This code is composed by all +daemons, tests associated to and old protocol, and RW commands available to the +client. + +In this document we will refer as `protocol` to the protocol that we want to +freeze, say 008 and current protocol as the next protocol (009) + +## Remove accuser,baker,endorser + +All these three daemons are no longer needed. The code can be safely removed +and the Makefile should be modified accordingly. + +# Remove protocol tests + +All tests developed for the protocol can be removed. + +These are defined in +- lib_client/test +- lib_protocol/test +- tests_python/tests_XXX + +All opam tests should be removed from `.gitlab/ci/opam.yml` using the script +`scripts/update_opam_test.sh` . + +All integration tests should be removed from `.gitlab/ci/integration.yml` using +the script `scripts/update_integration_test.sh` + +# Remove lib_delegate + +This code is no longer needed and can be safely removed. + +# Remove protocol tests from tezt + +The code of Tezt must be updated by hand removing the protocol from the type +`Protocol.t` and adapting the test accordingly. + +# Remove testnets from tezos-docker-manager.sh + +Mention of the protocol testnest should be removed from the script +`tezos-docker-manager.sh`. + +# Remove remove testnest from bin_node + +Mention of the protocol testnest should be removed from node binary code. In +particular the file `src/bin_node/node_config_file.ml` should be amended. + +The protocol registration plugin module should be removed from +`src/bin_node/tezos-node.opam` + +## Remove protocol from the current protocol python tests + +The code for the tests `test_voting_full.py` and `test_migration.py` from the +current protocol should be removed. Any mention of the protocol in +`tests_python/tests_XXX/protocol.py` should also be removed. + +These changes remove the migration testing code of the current protocol that is +no longer necessary to test. + +Integration tests should be amended accordingly. + +# Remove all the RW commands from `lib_client_commands` + +The module `lib_client_commands` defines RO and RW commands. The RW commands +can be now safely removed as no longer needed. -- GitLab