From e25129930ec48425be46f9141420263797c97564 Mon Sep 17 00:00:00 2001 From: Emma Turner Date: Mon, 6 Mar 2023 18:40:34 +0000 Subject: [PATCH] Tezt: add SCORU installer client --- .gitlab/ci/jobs/build/kernels.yml | 3 +- kernels.mk | 2 +- src/kernel_evm/Makefile | 2 + src/kernel_sdk/Cargo.lock | 2 + src/kernel_sdk/Makefile | 17 ++++-- src/kernel_sdk/installer_client/Cargo.toml | 4 ++ src/kernel_sdk/installer_kernel/Cargo.toml | 4 ++ .../test/integration/wasm_kernel/README.md | 23 -------- .../wasm_kernel/reveal_installer.wasm | Bin 18426 -> 0 bytes tezt/lib_tezos/sc_rollup_helpers.ml | 49 +++++++++--------- tezt/lib_tezos/sc_rollup_helpers.mli | 21 ++++++-- tezt/tests/evm_rollup.ml | 26 +++------- ... tx kernel should run e2e (kernel_e2e).out | 34 ------------ tezt/tests/tx_sc_rollup.ml | 27 +++------- 14 files changed, 86 insertions(+), 128 deletions(-) delete mode 100755 src/proto_alpha/lib_protocol/test/integration/wasm_kernel/reveal_installer.wasm diff --git a/.gitlab/ci/jobs/build/kernels.yml b/.gitlab/ci/jobs/build/kernels.yml index c480560d5354..f3e0d33958ae 100644 --- a/.gitlab/ci/jobs/build/kernels.yml +++ b/.gitlab/ci/jobs/build/kernels.yml @@ -6,7 +6,7 @@ build_kernels: needs: [trigger] script: - make -f kernels.mk build-deps - - make -f kernels.mk build-kernels + - CC=clang make -f kernels.mk build-kernels variables: CARGO_HOME: $CI_PROJECT_DIR/cargo cache: @@ -16,5 +16,6 @@ build_kernels: name: "build-kernels-$CI_COMMIT_REF_SLUG" paths: - evm_kernel.wasm + - smart-rollup-installer expire_in: 1 day when: on_success diff --git a/kernels.mk b/kernels.mk index ca0fea8e187e..3b4f28696212 100644 --- a/kernels.mk +++ b/kernels.mk @@ -2,7 +2,7 @@ KERNELS = kernel_sdk evm_kernel.wasm kernel_sdk: @make -C src/kernel_sdk - @cp src/kernel_sdk/target/release/smart-rollup-installer . + @cp src/kernel_sdk/target/x86_64-unknown-linux-musl/release/smart-rollup-installer . evm_kernel.wasm:: @make -C src/kernel_evm diff --git a/src/kernel_evm/Makefile b/src/kernel_evm/Makefile index ee02a8c86650..1cde756918cf 100644 --- a/src/kernel_evm/Makefile +++ b/src/kernel_evm/Makefile @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: MIT +CC=$(which clang) + .PHONY: all all: build test diff --git a/src/kernel_sdk/Cargo.lock b/src/kernel_sdk/Cargo.lock index 34c9a4e696f3..e4500f1d4a08 100644 --- a/src/kernel_sdk/Cargo.lock +++ b/src/kernel_sdk/Cargo.lock @@ -432,6 +432,7 @@ dependencies = [ name = "installer_kernel" version = "0.1.0" dependencies = [ + "blst", "host", "kernel", "tezos_rollup_encoding", @@ -1110,6 +1111,7 @@ dependencies = [ name = "tezos_smart_rollup_installer" version = "0.1.0" dependencies = [ + "blst", "clap", "hex", "tezos_rollup_encoding", diff --git a/src/kernel_sdk/Makefile b/src/kernel_sdk/Makefile index e31e8b8041aa..a84c10622c56 100644 --- a/src/kernel_sdk/Makefile +++ b/src/kernel_sdk/Makefile @@ -3,16 +3,26 @@ # # SPDX-License-Identifier: MIT -CC=$(which clang) +# The SDK contains some executables, that may be used by tezt. +# Since the tezt tests run on a different container to the one +# used for `make build-kernels`, we compile executables using the +# musl toolchain, to make them fully statically-linked - allowing +# them to run in the tezt container. + +CC=clang all: build test doc -build: +check: @cargo fmt --check @cargo clippy --all-targets --all-features -- --deny warnings @cargo check --no-default-features @cargo check --target wasm32-unknown-unknown - @cargo build -p tezos_smart_rollup_installer --release + +build: check installer.wasm + @cargo build -p tezos_smart_rollup_installer \ + --release \ + --target x86_64-unknown-linux-musl installer.wasm: @cargo build -p installer_kernel \ @@ -32,6 +42,7 @@ doc: build-deps: @rustup target add wasm32-unknown-unknown + @rustup target add x86_64-unknown-linux-musl @rustup component add rustfmt clippy clean: diff --git a/src/kernel_sdk/installer_client/Cargo.toml b/src/kernel_sdk/installer_client/Cargo.toml index b306fc118018..a2893181df27 100644 --- a/src/kernel_sdk/installer_client/Cargo.toml +++ b/src/kernel_sdk/installer_client/Cargo.toml @@ -17,6 +17,10 @@ include = [ name = "smart-rollup-installer" path = "src/main.rs" +[dependencies.blst] +version = "0.3.10" +features = ["portable"] + [dependencies.tezos_rollup_encoding] git = "https://gitlab.com/tezos/kernel" diff --git a/src/kernel_sdk/installer_kernel/Cargo.toml b/src/kernel_sdk/installer_kernel/Cargo.toml index afd72e5138ec..9ec410936bf9 100644 --- a/src/kernel_sdk/installer_kernel/Cargo.toml +++ b/src/kernel_sdk/installer_kernel/Cargo.toml @@ -16,6 +16,10 @@ default = ["std"] std = [] entrypoint = [] +[dependencies.blst] +version = "0.3.10" +features = ["portable"] + [dependencies.tezos_smart_rollup_core] path = "../tezos_smart_rollup_core" diff --git a/src/proto_alpha/lib_protocol/test/integration/wasm_kernel/README.md b/src/proto_alpha/lib_protocol/test/integration/wasm_kernel/README.md index 31ee6c88983e..62f2267ad645 100644 --- a/src/proto_alpha/lib_protocol/test/integration/wasm_kernel/README.md +++ b/src/proto_alpha/lib_protocol/test/integration/wasm_kernel/README.md @@ -55,27 +55,6 @@ This simple kernel writes the external messages it receives in its outbox. To achieve that, it needs to take the encoding of the inputs into account to extract the payload to push into the outbox. -# reveal_installer - -The `reveal_installer` is a kernel that can be used to originate a rollup, and install a larger kernel leveraging the *DAC* mechanism. - -To build, run the following from the checked-out `tezos/kernel` repo: -```shell -git checkout 69f69144764dcd59dcc1fd144bf6e8f707f0431e - -# Load the required rust toolchain dockerfile -source scripts/cargo-docker.sh - -cargo make wasm-preimage-installer - -cp target/wasm32-unknown-unknown/release/tezos_rollup_installer_kernel.wasm reveal_installer.wasm -wasm-strip reveal_installer.wasm -``` - -You then need to replace the value `1acaa995ef84bc24cc8bb545dd986082fbbec071ed1c3e9954abea5edc441ccd3a` in the installer binary, with the root reveal hash, of the kernel you'd like to install. - -See `prepare_installer_kernel` in [sc_rollup.ml](../../../../../../tezt/tests/sc_rollup.ml) for an example installation of a kernel. - # tx-kernel.wasm The `tx-kernel` is a TORU-like program for transacting in a wasm rollup. @@ -92,5 +71,3 @@ cp target/wasm32-unknown-unknown/release/kernel_core.wasm tx-kernel.wasm wasm-strip tx-kernel.wasm ``` - -This can be installed using the *reveal_installer* described above. diff --git a/src/proto_alpha/lib_protocol/test/integration/wasm_kernel/reveal_installer.wasm b/src/proto_alpha/lib_protocol/test/integration/wasm_kernel/reveal_installer.wasm deleted file mode 100755 index a4c803d28b964925827f520ad5e47d23188391ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18426 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 diff --git a/tezt/lib_tezos/sc_rollup_helpers.ml b/tezt/lib_tezos/sc_rollup_helpers.ml index bdf0455e55b5..f365ef2064de 100644 --- a/tezt/lib_tezos/sc_rollup_helpers.ml +++ b/tezt/lib_tezos/sc_rollup_helpers.ml @@ -2,7 +2,7 @@ (* *) (* Open Source License *) (* Copyright (c) 2023 Nomadic Labs *) -(* Copyright (c) 2022 TriliTech *) +(* Copyright (c) 2022-2023 TriliTech *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) (* copy of this software and associated documentation files (the "Software"),*) @@ -65,32 +65,33 @@ let read_kernel ?base name : string = When a kernel is too large to be originated directly, we can install it by using the 'reveal_installer' kernel. This leverages the reveal preimage+DAC mechanism to install the tx kernel. - - We then deposit a ticket into the tx kernel, and verify that we are - able to withdraw. *) -let prepare_installer_kernel +let prepare_installer_kernel ?runner ?(base_installee = - "src/proto_alpha/lib_protocol/test/integration/wasm_kernel") ~dac_node - installee = - let installer_dummy_hash = - "1acaa995ef84bc24cc8bb545dd986082fbbec071ed1c3e9954abea5edc441ccd3a" - in - let installer = load_kernel_file "reveal_installer.wasm" in - let installee = load_kernel_file ~base:base_installee (installee ^ ".wasm") in - let* root_hash, _ = - RPC.call - dac_node - (Rollup.Dac.RPC.dac_store_preimage - ~payload:installee - ~pagination_scheme:"Merkle_tree_V0") - in - (* Ensure reveal hash is correct length for installer. *) - assert (String.length root_hash = 66) ; - let installer = - replace_string (rex installer_dummy_hash) ~by:root_hash installer + "src/proto_alpha/lib_protocol/test/integration/wasm_kernel") + ~preimages_dir installee = + let open Tezt.Base in + let open Lwt.Syntax in + let installer = installee ^ "-installer.hex" in + let output = Temp.file installer in + let installee = (project_root // base_installee // installee) ^ ".wasm" in + let process = + Process.spawn + ?runner + ~name:installer + (project_root // "smart-rollup-installer") + [ + "get-reveal-installer"; + "--upgrade-to"; + installee; + "--output"; + output; + "--preimages-dir"; + preimages_dir; + ] in - return installer + let+ _ = Runnable.run @@ Runnable.{value = process; run = Process.check} in + read_file output let default_boot_sector_of ~kind = match kind with diff --git a/tezt/lib_tezos/sc_rollup_helpers.mli b/tezt/lib_tezos/sc_rollup_helpers.mli index 9bd271f84ae4..8be84fd4a3df 100644 --- a/tezt/lib_tezos/sc_rollup_helpers.mli +++ b/tezt/lib_tezos/sc_rollup_helpers.mli @@ -38,12 +38,23 @@ val hex_encode : string -> string *) val read_kernel : ?base:string -> string -> string -(** [prepare_installer_kernel ~base_installee ~dac_node installee] feeds the - [dac_node] with a kernel ([installee]), and returns the boot sector of the - corresponding to the installer for this specific kernel. [installee] is read - from [base_installee] on the disk. *) +(** [prepare_installer_kernel ~base_installee ~preimages_dir installee] feeds the + [smart-rollup-installer] with a kernel ([installee]), and returns the boot + sector corresponding to the installer for this specific kernel. [installee] is read + from [base_installee] on the disk. + + The preimages of the [installee] are saved to [preimages_dir]. This should be the + reveal data directory of the rollup node. + + The returned installer is hex-encoded and may be passed to [originate_sc_rollup] + directly. +*) val prepare_installer_kernel : - ?base_installee:string -> dac_node:Dac_node.t -> string -> string Lwt.t + ?runner:Runner.t -> + ?base_installee:string -> + preimages_dir:string -> + string -> + string Lwt.t (** [setup_l1 protocol] initializes a protocol with the given parameters, and returns the L1 node and client. *) diff --git a/tezt/tests/evm_rollup.ml b/tezt/tests/evm_rollup.ml index 681b08822516..56a42ae01539 100644 --- a/tezt/tests/evm_rollup.ml +++ b/tezt/tests/evm_rollup.ml @@ -2,7 +2,7 @@ (* *) (* Open Source License *) (* Copyright (c) 2023 Nomadic Labs *) -(* Copyright (c) 2023 TriliTech *) +(* Copyright (c) 2023 TriliTech *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) (* copy of this software and associated documentation files (the "Software"),*) @@ -28,6 +28,7 @@ ------- Component: Smart Optimistic Rollups: EVM Kernel Requirement: make -f kernels.mk build-kernels + npm install eth-cli Invocation: dune exec tezt/tests/main.exe -- --file evm_rollup.ml *) @@ -41,7 +42,6 @@ type full_evm_setup = { sc_rollup_node : Sc_rollup_node.t; sc_rollup_client : Sc_rollup_client.t; sc_rollup_address : string; - dac_node : Dac_node.t; originator_key : string; rollup_operator_key : string; evm_proxy_server : Evm_proxy_server.t; @@ -147,23 +147,14 @@ let setup_evm_kernel ?(originator_key = Constant.bootstrap1.public_key_hash) ~base_dir:(Client.base_dir client) ~default_operator:rollup_operator_key in - let with_dac_node node client f = - Dac.with_legacy_dac_node - ~sc_rollup_node - node - client - f - ~pvm_name:pvm_kind - ~threshold:0 - ~dac_members:0 - in - with_dac_node node client @@ fun dac_node _dac_members -> (* Start a rollup node *) - (* Prepare DAL/DAC: put reveal data in rollup node directory. *) - let* installer_kernel = - prepare_installer_kernel ~base_installee:"./" ~dac_node "evm_kernel" + let* boot_sector = + prepare_installer_kernel + ~base_installee:"./" + ~preimages_dir: + (Filename.concat (Sc_rollup_node.data_dir sc_rollup_node) "wasm_2_0_0") + "evm_kernel" in - let boot_sector = hex_encode installer_kernel in let* sc_rollup_address = originate_sc_rollup ~kind:pvm_kind @@ -193,7 +184,6 @@ let setup_evm_kernel ?(originator_key = Constant.bootstrap1.public_key_hash) sc_rollup_node; sc_rollup_client; sc_rollup_address; - dac_node; originator_key; rollup_operator_key; evm_proxy_server; diff --git a/tezt/tests/expected/tx_sc_rollup.ml/Alpha- wasm_2_0_0 - tx kernel should run e2e (kernel_e2e).out b/tezt/tests/expected/tx_sc_rollup.ml/Alpha- wasm_2_0_0 - tx kernel should run e2e (kernel_e2e).out index 20e00bc0fe33..aa02b3adce93 100644 --- a/tezt/tests/expected/tx_sc_rollup.ml/Alpha- wasm_2_0_0 - tx kernel should run e2e (kernel_e2e).out +++ b/tezt/tests/expected/tx_sc_rollup.ml/Alpha- wasm_2_0_0 - tx kernel should run e2e (kernel_e2e).out @@ -1,38 +1,4 @@ -./octez-client --wait none originate smart rollup from '[PUBLIC_KEY_HASH]' of kind wasm_2_0_0 of type 'pair string (ticket string)' with kernel 0061736d01000000016a0f60037f7f7f017f60027f7f017f60027f7f0060057f7f7f7f7f017f60047f7f7f7f017f60017f0060087f7f7f7f7f7f7f7f0060000060037f7f7f0060057f7f7f7f7f0060067f7f7f7f7f7f017f60017f017e60017f017f60077f7f7f7f7f7f7f017f60037e7f7f017f02a2010511736d6172745f726f6c6c75705f636f72650b77726974655f6465627567000211736d6172745f726f6c6c75705f636f72650973746f72655f686173000111736d6172745f726f6c6c75705f636f72650b73746f72655f7772697465000311736d6172745f726f6c6c75705f636f72650a73746f72655f6d6f7665000411736d6172745f726f6c6c75705f636f72650f72657665616c5f707265696d6167650004033a3905060700050809080802020702000a03030b0b02010508080800080801020001010b080c0d0101090009000a0101000101010401010e0100000405017001121205030100110619037f01418080c0000b7f0041bba0c0000b7f0041c0a0c0000b073204066d656d6f727902000a6b65726e656c5f72756e00070a5f5f646174615f656e6403010b5f5f686561705f6261736503020917010041010b11053921192b2a24381a262d31323334353b0ae66b3902000bd00303017f017e027f23808080800041306b22082480808080000240024020022006490d0041e080c080002102412b21060c010b0240200120034121200420051095808080001096808080002209a7450d00418b81c080002102411b21060c010b024002402009422088a7220a20054b0d00200841186a2004200a108d80808000024020082d00180d00200841246a2802002103200841206a280200210b02400240200828021c0d00200820012007280200200b2003108b80808000200828020022020d010c040b200820033602142008200b360210200841186a200841106a108f80808000200828021c210302402008280228220b4121470d002005200a6b210b2004200a6a2104200241016a210a20082802182105034020034121490d05200841086a2001200a20052004200b200620071086808080002003415f6a2103200541216a210520082802082202450d000b200828020c21060c050b2003200b490d03418080c080004117200841186a41e081c0800041c080c0800010ac80808000000b200828020421060c030b4137210641a681c0800021020c020b41f081c08000412341d080c08000109f80808000000b410021020b2000200636020420002002360200200841306a2480808080000b7801037f23808080800041106b22002480808080001090808080002000200041086a419382c08000108a808080000240024020002802002201450d002000280204210241e682c080004114109180808000200120021091808080000c010b41d582c0800041111091808080000b200041106a2480808080000bde0102037f017e23808080800041306b2203248080808000200341286a200110988080800020032802282104200341206a20011098808080004175210502402000200420032802241092808080001097808080002206428080808010540d002006a70d00200341186a200110988080800020032802182105200341106a200110988080800020032802142101200341086a20021098808080002003280208210420032002109880808000200020052001200420032802041094808080001096808080002206422088a741002006a71b21050b200341306a24808080800020050b170041fa82c08000410e41a483c08000109f80808000000b8e0402057f017e23808080800041e080016b2203248080808000200341f0006a41003a0000200341e8006a4200370300200341e0006a4200370300200341d8006a420037030020034200370350200341d0006a21044101210502400240024002400340200341d080016a200220056a2206417f6a2d00002005417f6a108c8080800020032d00d080010d0120032d00d180012107200341d080016a20062d00002005108c8080800020032d00d080010d01200420032d00d180012007410474723a0000200441016a2104200541026a220541c300470d000b200341c6006a2205200341d0006a41196a290000370100200341c0006a2204200341d0006a41136a290000370300200341186a20032d00523a0000200341166a41136a2004290300370000200341166a41196a2005290100370000200320032f01503b01162003200329005b22083703382003200837002120032003290053370019200341d0006a41004180800110bc808080001a200341003602d080012003200341d080016a360238200341086a20014100200341166a200341d0006a418080014104200341386a108680808000200328020822050d01200141f883c08000419484c08000108880808000450d0241272104419c84c0800021050c030b4125210441f784c0800021050c020b200328020c21040c010b410021050b2000200436020420002005360200200341e080016a2480808080000bbb0202067f017e23808080800041206b22052480808080002005200436021c20052003360218200541106a200541186a108e80808000024002400240024020052802142206450d0020052802102107410021030340200620036b22044180102004418010491b220420036a22082004490d03200820064b0d0420022802002109200541086a41f883c080001098808080002005280208210a200541f883c0800010988080800002402001200a20052802042009200720036a2004109380808000109680808000220b428080808010540d00200ba7450d0041d484c0800021030c030b2002200920046a36020020082103200620084b0d000b0b410021030b2000412336020420002003360200200541206a2480808080000f0b2003200841c484c0800010a080808000000b2008200641c484c08000109d80808000000b850101017f0240024002400240200141bf7f6a41ff01714106490d002001419f7f6a41ff01714106490d01200141506a220341ff0171410a490d02200041086a2002360200200041046a200141ff0171360200200041013a00000f0b2000200141496a3a00010c020b2000200141a97f6a3a00010c010b200020033a00010b200041003a00000be90201037f02400240024020020d000c010b0240024002400240024020012d000022030e020001050b2002417f6a22034104490d02200128000122024118742002410874418080fc07717220024108764180fe037120024118767272220241046a220420034b0d022002417c490d014104200441bc85c0800010a080808000000b02402002417f6a22034104490d00200128000122024118742002410874418080fc07717220024108764180fe03712002411876727222024121702104200241046a220520034b0d0020040d002002417c4f0d032000410c6a2002360200200041086a200141056a360200200041046a4101360200200041003a00000f0b200041023a00010c040b2000410c6a2002360200200041086a200141056a360200200041046a4100360200200041003a00000f0b200041023a00010c020b4104200541cc85c0800010a080808000000b200041026a20033a0000200020024100473a00010b200041013a00000b0c00200020012902003703000b4101027f200041213602102000200128020022023602002000410c6a2001280204220141217022033602002000200120036b22013602042000200220016a3602080b02000b0c00200020011080808080000b0c00200120021081808080000b1200200120022003200420051082808080000b100020012002200320041083808080000b100020012002200320041084808080000b170020004178200041764a1bad4220862000411f76ad840bc60101027e4280808080807f2101420021020240024002400240024002400240024002400240024002400240200041096a0e0d0708060503040201000c090a0b080b42808080807021010c070b42808080806021010c060b42808080805021010c050b4280808080b07f21010c040b42808080804021010c030b4280808080a07f21010c020b4280808080907f21010c010b4280808080f07e21010b42012001840f0b4200428080808010840f0b4200428080808020840f0b42808080803021020b42002002840b0c00200020012902003703000b0d0020002802001a037f0c000b0b02000b810101017f23808080800041306b220324808080800020032001360204200320003602002003411c6a41023602002003412c6a4183808080003602002003420237020c200341d886c0800036020820034183808080003602242003200341206a360218200320033602282003200341046a360220200341086a200210a280808000000b810101017f23808080800041306b220324808080800020032001360204200320003602002003411c6a41023602002003412c6a4183808080003602002003420237020c200341d88ac0800036020820034183808080003602242003200341206a3602182003200341046a36022820032003360220200341086a200210a280808000000b810101017f23808080800041306b220324808080800020032001360204200320003602002003411c6a41023602002003412c6a4183808080003602002003420237020c200341f88ac0800036020820034183808080003602242003200341206a3602182003200341046a36022820032003360220200341086a200210a280808000000bd80701067f20002802102103024002400240024002400240200028020822044101460d0020034101470d010b20034101470d03200120026a2105200041146a28020022060d0141002107200121080c020b2000280218200120022000411c6a28020028020c1180808080000021030c030b41002107200121080340200822032005460d020240024020032c00002208417f4c0d00200341016a21080c010b0240200841604f0d00200341026a21080c010b0240200841704f0d00200341036a21080c010b20032d0002413f7141067420032d0001413f71410c747220032d0003413f7172200841ff0171411274418080f0007172418080c400460d03200341046a21080b200720036b20086a21072006417f6a22060d000b0b20082005460d00024020082c00002203417f4a0d0020034160490d0020034170490d0020082d0002413f7141067420082d0001413f71410c747220082d0003413f7172200341ff0171411274418080f0007172418080c400460d010b02400240024020070d00410021080c010b024020072002490d00410021032002210820072002460d010c020b4100210320072108200120076a2c00004140480d010b20082107200121030b2007200220031b21022003200120031b21010b024020040d002000280218200120022000411c6a28020028020c118080808000000f0b2000410c6a28020021050240024020024110490d002001200210b68080800021080c010b024020020d00410021080c010b20024103712107024002402002417f6a41034f0d0041002108200121030c010b2002417c71210641002108200121030340200820032c000041bf7f4a6a200341016a2c000041bf7f4a6a200341026a2c000041bf7f4a6a200341036a2c000041bf7f4a6a2108200341046a21032006417c6a22060d000b0b2007450d000340200820032c000041bf7f4a6a2108200341016a21032007417f6a22070d000b0b0240200520084d0d0041002103200520086b22072106024002400240410020002d0020220820084103461b4103710e03020001020b41002106200721030c010b20074101762103200741016a41017621060b200341016a21032000411c6a28020021072000280204210820002802182100024003402003417f6a2203450d0120002008200728021011818080800000450d000b41010f0b410121032008418080c400460d01200020012002200728020c118080808000000d01410021030340024020062003470d0020062006490f0b200341016a210320002008200728021011818080800000450d000b2003417f6a2006490f0b2000280218200120022000411c6a28020028020c118080808000000f0b20030b5401017f23808080800041206b2203248080808000200341146a4100360200200341dc85c08000360210200342013702042003200136021c200320003602182003200341186a3602002003200210a280808000000b810101017f23808080800041306b220324808080800020032001360204200320003602002003411c6a41023602002003412c6a4183808080003602002003420237020c200341ac8bc0800036020820034183808080003602242003200341206a3602182003200341046a36022820032003360220200341086a200210a280808000000b110020003502004101200110ba808080000b4c01017f23808080800041206b2202248080808000200241013a001820022001360214200220003602102002419486c0800036020c200241dc85c08000360208200241086a108980808000000bbd05010a7f23808080800041306b2203248080808000200341246a2001360200200341033a0028200342808080808004370308200320003602204100210420034100360218200341003602100240024002400240200228020822050d00200241146a2802002206450d0120022802002101200228021021002006417f6a41ffffffff017141016a2204210603400240200141046a2802002207450d00200328022020012802002007200328022428020c118080808000000d040b2000280200200341086a200041046a280200118180808000000d03200041086a2100200141086a21012006417f6a22060d000c020b0b2002410c6a2802002200450d00200041057421082000417f6a41ffffff3f7141016a2104200228020021014100210603400240200141046a2802002200450d00200328022020012802002000200328022428020c118080808000000d030b2003200520066a2200411c6a2d00003a00282003200041046a290200422089370308200041186a28020021092002280210210a4100210b41002107024002400240200041146a2802000e03010002010b2009410374210c41002107200a200c6a220c280204418480808000470d01200c28020028020021090b410121070b2003200936021420032007360210200041106a28020021070240024002402000410c6a2802000e03010002010b20074103742109200a20096a2209280204418480808000470d01200928020028020021070b4101210b0b2003200736021c2003200b360218200a20002802004103746a2200280200200341086a2000280204118180808000000d02200141086a21012008200641206a2206470d000b0b4100210020042002280204492201450d012003280220200228020020044103746a410020011b22012802002001280204200328022428020c11808080800000450d010b410121000b200341306a24808080800020000b8d0101047f23808080800041206b22022480808080004101210302402000200110a5808080000d002001411c6a2802002104200128021821052002411c6a4100360200200241dc85c080003602182002420137020c200241e085c0800036020820052004200241086a10a3808080000d00200041046a200110a58080800021030b200241206a24808080800020030bec0201037f2380808080004180016b220224808080800002400240024002400240200128020022034110710d0020034120710d0120003502004101200110ba8080800021000c040b20002802002100410021030340200220036a41ff006a413041d7002000410f712204410a491b20046a3a00002003417f6a21032000410f4b21042000410476210020040d000b20034180016a22004181014f0d0120014101418c88c080004102200220036a4180016a410020036b10b08080800021000c030b20002802002100410021030340200220036a41ff006a413041372000410f712204410a491b20046a3a00002003417f6a21032000410f4b21042000410476210020040d000b20034180016a22004181014f0d0120014101418c88c080004102200220036a4180016a410020036b10b08080800021000c020b200041800141fc87c08000109c80808000000b200041800141fc87c08000109c80808000000b20024180016a24808080800020000b0c004281b8aa93f5f3e5ec140bd10302027f017e41f400210341022104024002400240024002400240024002400240200141776a0e1f08020505010505050505050505050505050505050505050505030505050504000b41dc002103200141dc00460d050c040b41f20021030c040b41ee0021030c030b20024180800471450d01412221030c020b200241800271450d00412721030c010b02402002410171450d00200110a880808000450d00200141017267410276410773ad4280808080d0008421050c020b0240024002400240200141808004490d002001418080084f0d01200141af93c08000412a418394c0800041c00141c395c0800041b60310a9808080000d030c020b200141908ec08000412841e08ec0800041a002418091c0800041af0210a980808000450d010c020b200141e0ffff007141e0cd0a460d00200141c091756a41784b0d00200141feffff0071419ef00a460d00200141d0e2746a41714b0d002001418090746a41e0674b0d002001418080746a419d744b0d0020014180fe476a41caa4544b0d00200141f08338490d010b200141017267410276410773ad4280808080d0008421050c020b41012104200121030b0c010b41032104200121030b2000200336020420002004360200200041086a20053702000b810301057f2000410b74210141002102412021034120210402400240034002400240200341017620026a220341027441f899c080006a280200410b7422052001490d0020052001460d03200321040c010b200341016a21020b200420026b2103200420024b0d000c020b0b200341016a21020b0240024002402002411f4b0d002002410274210341c305210402402002411f460d00200341fc99c080006a28020041157621040b4100210102402002417f6a220520024b0d00200541204f0d02200541027441f899c080006a28020041ffffff007121010b02402004200341f899c080006a2802004115762202417f736a450d00200020016b2101200241c305200241c3054b1b21032004417f6a210541002104034020032002460d042004200241f89ac080006a2d00006a220420014b0d012005200241016a2202470d000b200521020b20024101710f0b2002412041a499c08000109b80808000000b2005412041c499c08000109b80808000000b200341c30541b499c08000109b80808000000b880301077f41012107024002402002450d00200120024101746a210820004180fe037141087621094100210a200041ff0171210b02400340200141026a210c200a20012d000122026a210d024020012d000022012009460d00200120094b0d03200d210a200c2101200c2008470d010c030b0240200d200a490d00200d20044b0d022003200a6a2101024003402002450d012002417f6a210220012d0000210a200141016a2101200a200b470d000b410021070c050b200d210a200c2101200c2008470d010c030b0b200a200d41f08dc0800010a080808000000b200d200441f08dc08000109d80808000000b2006450d00200520066a210b200041ffff037121014101210702400340200541016a210a0240024020052d00002202411874411875220d4100480d00200a21050c010b200a200b460d02200d41ff007141087420052d0001722102200541026a21050b200120026b22014100480d02200741017321072005200b470d000c020b0b41e885c08000412b41808ec08000109f80808000000b20074101710b1400200120002802002000280204109e808080000b180020002802002001200028020428020c118180808000000b930101017f23808080800041c0006b22052480808080002005200136020c2005200036020820052003360214200520023602102005412c6a41023602002005413c6a4185808080003602002005420237021c200541ec86c0800036021820054186808080003602342005200541306a3602282005200541106a3602382005200541086a360230200541186a200410a280808000000b890601097f024002402002450d002000280204210320002802002104200028020821050340024020052d0000450d002004419487c080004104200328020c11808080800000450d0041010f0b410021062002210702400240024002400340200120066a21080240024002400240024020074108490d000240200841036a417c7120086b22000d00200741786a2109410021000c030b20072000200020074b1b21004100210a03402008200a6a2d0000410a460d052000200a41016a220a460d020c000b0b2007450d054100210a20082d0000410a460d0320074101460d054101210a20082d0001410a460d0320074102460d054102210a20082d0002410a460d0320074103460d054103210a20082d0003410a460d0320074104460d054104210a20082d0004410a460d0320074105460d054105210a20082d0005410a460d0320074106460d054106210a20082d0006410a470d050c030b2000200741786a22094b0d010b02400340200820006a220a280200220b417f73200b418a94a8d0007341fffdfb776a71200a41046a280200220a417f73200a418a94a8d0007341fffdfb776a7172418081828478710d01200041086a220020094d0d000b0b200020074d0d002000200741948ac08000109c80808000000b20002007460d02200020076b210b200820006a21084100210a024003402008200a6a2d0000410a460d01200b200a41016a220a6a0d000c040b0b2000200a6a210a0b0240200a20066a220041016a22062000490d0020022006490d00200120006a2d0000410a470d00200541013a0000200220064d0d0320062100200120066a2c000041bf7f4c0d040c050b200220066b2107200220064f0d000b0b200541003a0000200221060b2002210020022006460d010b200120024100200641b887c0800010ae80808000000b0240200420012000200328020c11808080800000450d0041010f0b02400240200220004b0d0020022000460d010c040b200120006a2c000041bf7f4c0d030b200120006a2101200220006b22020d000b0b41000f0b200120022000200241c887c0800010ae80808000000ba80a01057f23808080800041f0006b22052480808080002005200336020c20052002360208024002400240024002400240024002402001418102490d004180022106024020002c00800241bf7f4a0d0041ff01210620002c00ff0141bf7f4a0d0041fe01210620002c00fe0141bf7f4a0d0041fd0121060b20062001490d0120062001470d030b20052001360214200520003602104100210641dc85c0800021070c010b20052006360214200520003602104105210641bc8bc0800021070b2005200636021c20052007360218200220014b22060d01200320014b0d010240200220034b0d00024002402002450d00024020022001490d0020012002460d010c020b200020026a2c00004140480d010b200321020b20052002360220200121030240200220014f0d00200241016a220641002002417d6a2203200320024b1b2203490d04024020032006460d00200020066a200020036a22086b21060240200020026a22092c000041bf7f4c0d002006417f6a21070c010b20032002460d0002402009417f6a22022c000041bf7f4c0d002006417e6a21070c010b20082002460d0002402009417e6a22022c000041bf7f4c0d002006417d6a21070c010b20082002460d0002402009417d6a22022c000041bf7f4c0d002006417c6a21070c010b20082002460d002006417b6a21070b200720036a21030b02402003450d00024020032001490d0020032001460d010c070b200020036a2c000041bf7f4c0d060b20032001460d040240024002400240200020036a22022c00002201417f4a0d0020022d0001413f7121002001411f7121062001415f4b0d01200641067420007221020c020b2005200141ff0171360224410121010c020b200041067420022d0002413f717221000240200141704f0d0020002006410c747221020c010b200041067420022d0003413f71722006411274418080f00071722202418080c400460d060b20052002360224410121012002418001490d00410221012002418010490d0041034104200241808004491b21010b200520033602282005200120036a36022c200541306a41146a4105360200200541ec006a418680808000360200200541e4006a418680808000360200200541c8006a41146a418780808000360200200541d4006a41888080800036020020054205370234200541f48cc08000360230200541838080800036024c2005200541c8006a3602402005200541186a3602682005200541106a3602602005200541286a3602582005200541246a3602502005200541206a360248200541306a200410a280808000000b200541e4006a418680808000360200200541c8006a41146a418680808000360200200541d4006a418380808000360200200541306a41146a410436020020054204370234200541a08cc08000360230200541838080800036024c2005200541c8006a3602402005200541186a3602602005200541106a36025820052005410c6a3602502005200541086a360248200541306a200410a280808000000b2000200141002006200410ae80808000000b20052002200320061b360228200541306a41146a4103360200200541c8006a41146a418680808000360200200541d4006a41868080800036020020054203370234200541e48bc08000360230200541838080800036024c2005200541c8006a3602402005200541186a3602582005200541106a3602502005200541286a360248200541306a200410a280808000000b2003200641b88dc0800010a080808000000b41e885c08000412b2004109f80808000000b2000200120032001200410ae80808000000b950302057f027e23808080800041c0006b22032480808080000240024020002d0008450d0020002802042104410121050c010b2000280204210402402000280200220628020022074104710d0041012105200628021841da87c0800041de87c0800020041b4102410120041b2006411c6a28020028020c118080808000000d0120012006200228020c1181808080000021050c010b024020040d000240200628021841dc87c0800041022006411c6a28020028020c11808080800000450d0041012105410021040c020b200628020021070b41012105200341013a0017200341346a41fc86c08000360200200341106a200341176a36020020032007360218200320062902183703082006290208210820062902102109200320062d00203a00382003200628020436021c20032009370328200320083703202003200341086a3602302001200341186a200228020c118180808000000d00200328023041d887c080004102200328023428020c1180808080000021050b200020053a00082000200441016a360204200341c0006a24808080800020000b840801077f024002402001450d00412b418080c4002000280200220141017122061b2107200620056a21080c010b200541016a210820002802002101412d21070b0240024020014104710d00410021020c010b0240024020034110490d002002200310b68080800021060c010b024020030d00410021060c010b20034103712109024002402003417f6a41034f0d0041002106200221010c010b2003417c71210a41002106200221010340200620012c000041bf7f4a6a200141016a2c000041bf7f4a6a200141026a2c000041bf7f4a6a200141036a2c000041bf7f4a6a2106200141046a2101200a417c6a220a0d000b0b2009450d000340200620012c000041bf7f4a6a2106200141016a21012009417f6a22090d000b0b200620086a21080b0240024020002802080d0041012101200020072002200310b7808080000d012000280218200420052000411c6a28020028020c118080808000000f0b024002400240024002402000410c6a280200220620084d0d0020002d00004108710d0441002101200620086b22092108410120002d0020220620064103461b4103710e03030102030b41012101200020072002200310b7808080000d042000280218200420052000411c6a28020028020c118080808000000f0b41002108200921010c010b20094101762101200941016a41017621080b200141016a21012000411c6a2802002109200028020421062000280218210a024003402001417f6a2201450d01200a2006200928021011818080800000450d000b41010f0b410121012006418080c400460d01200020072002200310b7808080000d01200028021820042005200028021c28020c118080808000000d01200028021c2109200028021821004100210102400340024020082001470d00200821010c020b200141016a210120002006200928021011818080800000450d000b2001417f6a21010b200120084921010c010b2000280204210b2000413036020420002d0020210c41012101200041013a0020200020072002200310b7808080000d0041002101200620086b22092103024002400240410120002d0020220620064103461b4103710e03020001020b41002103200921010c010b20094101762101200941016a41017621030b200141016a21012000411c6a2802002109200028020421062000280218210a024003402001417f6a2201450d01200a2006200928021011818080800000450d000b41010f0b410121012006418080c400460d00200028021820042005200028021c28020c118080808000000d00200028021c21012000280218210a410021090240034020032009460d01200941016a2109200a2006200128021011818080800000450d000b410121012009417f6a2003490d010b2000200c3a00202000200b36020441000f0b20010b830201017f23808080800041106b22022480808080002002410036020c02400240024002402001418001490d002001418010490d012001418080044f0d0220022001413f71418001723a000e20022001410c7641e001723a000c20022001410676413f71418001723a000d410321010c030b200220013a000c410121010c020b20022001413f71418001723a000d2002200141067641c001723a000c410221010c010b20022001413f71418001723a000f2002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421010b20002002410c6a200110ad808080002101200241106a24808080800020010b7101017f23808080800041206b220224808080800020022000360204200241086a41106a200141106a290200370300200241086a41086a200141086a29020037030020022001290200370308200241046a41d889c08000200241086a10a3808080002101200241206a24808080800020010b110020002802002001200210ad808080000b8a0201017f23808080800041106b2202248080808000200028020021002002410036020c02400240024002402001418001490d002001418010490d012001418080044f0d0220022001413f71418001723a000e20022001410c7641e001723a000c20022001410676413f71418001723a000d410321010c030b200220013a000c410121010c020b20022001413f71418001723a000d2002200141067641c001723a000c410221010c010b20022001413f71418001723a000f2002200141127641f001723a000c20022001410676413f71418001723a000e20022001410c76413f71418001723a000d410421010b20002002410c6a200110ad808080002101200241106a24808080800020010b7401017f23808080800041206b220224808080800020022000280200360204200241086a41106a200141106a290200370300200241086a41086a200141086a29020037030020022001290200370308200241046a41d889c08000200241086a10a3808080002101200241206a24808080800020010ba30801097f02400240200041036a417c71220220006b220320014b0d00200341044b0d00200120036b22044104490d0020044103712105410021064100210102402003450d00200341037121070240024020022000417f736a41034f0d0041002101200021020c010b2003417c71210841002101200021020340200120022c000041bf7f4a6a200241016a2c000041bf7f4a6a200241026a2c000041bf7f4a6a200241036a2c000041bf7f4a6a2101200241046a21022008417c6a22080d000b0b2007450d000340200120022c000041bf7f4a6a2101200241016a21022007417f6a22070d000b0b200020036a210002402005450d0020002004417c716a22022c000041bf7f4a210620054101460d00200620022c000141bf7f4a6a210620054102460d00200620022c000241bf7f4a6a21060b20044102762103200620016a21080340200021062003450d02200341c001200341c001491b220441037121052004410274210902400240200441fc0171220a41027422000d00410021020c010b200620006a2107410021022006210003402000410c6a2802002201417f73410776200141067672418182840871200041086a2802002201417f73410776200141067672418182840871200041046a2802002201417f7341077620014106767241818284087120002802002201417f7341077620014106767241818284087120026a6a6a6a2102200041106a22002007470d000b0b200620096a2100200320046b2103200241087641ff81fc0771200241ff81fc07716a418180046c41107620086a21082005450d000b2006200a4102746a2100200541ffffffff036a220441ffffffff0371220241016a2201410371210302400240200241034f0d00410021020c010b200141fcffffff077121014100210203402000410c6a2802002207417f73410776200741067672418182840871200041086a2802002207417f73410776200741067672418182840871200041046a2802002207417f7341077620074106767241818284087120002802002207417f7341077620074106767241818284087120026a6a6a6a2102200041106a21002001417c6a22010d000b0b02402003450d00200441818080807c6a2101034020002802002207417f7341077620074106767241818284087120026a2102200041046a21002001417f6a22010d000b0b200241087641ff81fc0771200241ff81fc07716a418180046c41107620086a0f0b024020010d0041000f0b20014103712102024002402001417f6a41034f0d00410021080c010b2001417c712101410021080340200820002c000041bf7f4a6a200041016a2c000041bf7f4a6a200041026a2c000041bf7f4a6a200041036a2c000041bf7f4a6a2108200041046a21002001417c6a22010d000b0b2002450d000340200820002c000041bf7f4a6a2108200041016a21002002417f6a22020d000b0b20080b5c01017f0240024002402001418080c400460d0041012104200028021820012000411c6a280200280210118180808000000d010b20020d01410021040b20040f0b2000280218200220032000411c6a28020028020c118080808000000b870401077f23808080800041106b22022480808080004101210302402001280218220441272001411c6a2802002802102205118180808000000d002002200028020041810210a7808080002002410c6a2d00002106200241086a28020021072002280200210102400240024020022802042208418080c400460d0003402001210041dc00210341012101024002400240024020000e0407010300070b200641ff01712100410021064103210141fd00210302400240024020000e06090504000102090b4102210641fb0021030c040b4103210141f5002103410321060c030b4104210641dc0021030c020b41002101200821030c010b4102410120071b2106413041d7002008200741027476410f712203410a491b20036a21032007417f6a410020071b21070b20042003200511818080800000450d000c020b0b03402001210041dc002103410121010240024020000e0404040100040b200641ff01712100410021064103210141fd002103024002400240024020000e06070403020100070b4104210641dc0021030c030b4103210141f5002103410321060c020b4102210641fb0021030c010b4102410120071b2106418080c40020074102747641017141307221032007417f6a410020071b21070b20042003200511818080800000450d000b0b410121030c010b2004412720051181808080000021030b200241106a24808080800020030b8e0201027f23808080800041106b22022480808080002002200128021841e499c0800041112001411c6a28020028020c118080808000003a000820022001360200200241003a0009200241003602042002200036020c20022002410c6a41d499c0800010af808080001a20022d00082101024020022802042203450d00200141ff017121004101210120000d0020022802002100024020034101470d0020022d000941ff0171450d0020002d00004104710d0041012101200028021841df87c0800041012000411c6a28020028020c118080808000000d010b200028021841e087c0800041012000411c6a28020028020c1180808080000021010b200241106a248080808000200141ff01714100470be90203027f017e037f23808080800041306b2203248080808000412721040240024020004290ce005a0d00200021050c010b412721040340200341096a20046a2206417c6a200020004290ce008022054290ce007e7da7220741ffff037141e4006e2208410174418e88c080006a2f00003b00002006417e6a2007200841e4006c6b41ffff0371410174418e88c080006a2f00003b00002004417c6a2104200042ffc1d72f5621062005210020060d000b0b02402005a7220641e3004d0d00200341096a2004417e6a22046a2005a72206200641ffff037141e4006e220641e4006c6b41ffff0371410174418e88c080006a2f00003b00000b024002402006410a490d00200341096a2004417e6a22046a2006410174418e88c080006a2f00003b00000c010b200341096a2004417f6a22046a200641306a3a00000b2002200141dc85c080004100200341096a20046a412720046b10b0808080002104200341306a24808080800020040b1200200141f089c080004102109e808080000b0e0020002001200210bd808080000bb50101037f024002402002410f4b0d00200021030c010b2000410020006b41037122046a210502402004450d00200021030340200320013a0000200341016a22032005490d000b0b2005200220046b2204417c7122026a2103024020024101480d00200141ff017141818284086c2102034020052002360200200541046a22052003490d000b0b200441037121020b02402002450d00200320026a21050340200320013a0000200341016a22032005490d000b0b20000b0bc5200100418080c0000bbb2047756172616e7465656420746f2062652065786163742e2f7573722f7372632f74657a6f735f726f6c6c75705f656e636f64696e672f7372632f6461632e72731700100029000000f60000002b0000001700100029000000140100001f00000044414320707265696d616765207472656520636f6e7461696e7320746f6f206d616e79206c6576656c732e4661696c656420746f20726574726965766520707265696d616765556e61626c6520746f206465636f64652044414320706167653a204465636f646520696e746f20536c69636550616765206661696c656400000001000000000000000100000002000000617373657274696f6e206661696c65643a206d6964203c3d2073656c662e6c656e28293030613065396163383033343930333461616330333961336436666234653338616532613332343265323834613063346434646136383233643462653338313261614b65726e656c20696e7374616c6c65642e496e7374616c6c6174696f6e206661696c65643a6578706c696369742070616e6963696e7374616c6c65725f6b65726e656c2f7372632f6c69622e727300880110001b0000008a00000005000000696e7374616c6c65725f6b65726e656c2f7372632f72657665616c5f696e7374616c6c65722e72732f696e7374616c6c65722f6b65726e656c2f626f6f742e7761736d00dc0110001b0000002f6b65726e656c2f626f6f742e7761736d00000000021000110000004641494c454420746f20696e7374616c6c206b65726e656c20696e204b45524e454c5f5041544800b401100028000000490000001f0000004661696c656420746f207772697465206b65726e656c20636f6e74656e742070616765524f4f545f505245494d4147455f48415348206d7573742062652076616c6964204845582e74657a6f735f726f6c6c75705f656e636f64696e672f7372632f6461632e72739c02100020000000d9000000150000009c0210002000000008010000150000002e2e0000dc0210000200000063616c6c656420604f7074696f6e3a3a756e77726170282960206f6e206120604e6f6e65602076616c7565000900000000000000010000000a000000696e646578206f7574206f6620626f756e64733a20746865206c656e20697320206275742074686520696e64657820697320000024031000200000004403100012000000603a2000dc021000000000006903100002000000090000000c000000040000000b0000000c0000000d000000202020206c6962726172792f636f72652f7372632f666d742f6275696c646572732e727398031000200000002f00000021000000980310002000000030000000120000002c0a2c20280a282c296c6962726172792f636f72652f7372632f666d742f6e756d2e7273e10310001b00000065000000140000003078303030313032303330343035303630373038303931303131313231333134313531363137313831393230323132323233323432353236323732383239333033313332333333343335333633373338333934303431343234333434343534363437343834393530353135323533353435353536353735383539363036313632363336343635363636373638363937303731373237333734373537363737373837393830383138323833383438353836383738383839393039313932393339343935393639373938393900000900000004000000040000000e0000000f0000001000000028296c6962726172792f636f72652f7372632f736c6963652f6d656d6368722e72730000f2041000200000005b0000000500000072616e676520737461727420696e64657820206f7574206f662072616e676520666f7220736c696365206f66206c656e677468202405100012000000360510002200000072616e676520656e6420696e6465782068051000100000003605100022000000736c69636520696e64657820737461727473206174202062757420656e6473206174200088051000160000009e0510000d0000005b2e2e2e5d6279746520696e64657820206973206f7574206f6620626f756e6473206f6620600000c10510000b000000cc051000160000006803100001000000626567696e203c3d20656e642028203c3d2029207768656e20736c6963696e6720600000fc0510000e0000000a061000040000000e061000100000006803100001000000206973206e6f742061206368617220626f756e646172793b20697420697320696e7369646520202862797465732029206f662060c10510000b000000400610002600000066061000080000006e0610000600000068031000010000006c6962726172792f636f72652f7372632f7374722f6d6f642e7273009c0610001b000000f50000001d0000006c6962726172792f636f72652f7372632f756e69636f64652f7072696e7461626c652e7273000000c8061000250000000a0000001c000000c8061000250000001a0000003600000000010305050606020706080709110a1c0b190c1a0d100e0d0f0410031212130916011704180119031a071b011c021f1620032b032d0b2e01300331023201a702a902aa04ab08fa02fb05fd02fe03ff09ad78798b8da23057588b8c901cdd0e0f4b4cfbfc2e2f3f5c5d5fe2848d8e9192a9b1babbc5c6c9cadee4e5ff00041112293134373a3b3d494a5d848e92a9b1b4babbc6cacecfe4e500040d0e11122931343a3b4546494a5e646584919b9dc9cecf0d11293a3b4549575b5c5e5f64658d91a9b4babbc5c9dfe4e5f00d11454964658084b2bcbebfd5d7f0f183858ba4a6bebfc5c7cecfdadb4898bdcdc6cecf494e4f57595e5f898e8fb1b6b7bfc1c6c7d71116175b5cf6f7feff806d71dedf0e1f6e6f1c1d5f7d7eaeaf7fbbbc16171e1f46474e4f585a5c5e7e7fb5c5d4d5dcf0f1f572738f747596262e2fa7afb7bfc7cfd7df9a409798308f1fd2d4ceff4e4f5a5b07080f10272feeef6e6f373d3f42459091536775c8c9d0d1d8d9e7feff00205f2282df048244081b04061181ac0e80ab051f09811b03190801042f043404070301070607110a500f1207550703041c0a090308030703020303030c0405030b06010e15054e071b0757070206160d500443032d03010411060f0c3a041d255f206d046a2580c80582b0031a0682fd03590716091809140c140c6a060a061a0659072b05460a2c040c040103310b2c041a060b0380ac060a062f314d0380a4083c030f033c0738082b0582ff1118082f112d03210f210f808c048297190b158894052f053b07020e180980be22740c80d61a0c0580ff0580df0cf29d033709815c1480b80880cb050a183b030a06380846080c06740b1e035a0459098083181c0a16094c04808a06aba40c170431a10481da26070c050580a61081f50701202a064c04808d0480be031b030f0d000601010301040205070702080809020a050b020e041001110212051311140115021702190d1c051d0824016a046b02af03bc02cf02d102d40cd509d602d702da01e005e102e704e802ee20f004f802fa02fb010c273b3e4e4f8f9e9e9f7b8b9396a2b2ba86b1060709363d3e56f3d0d1041418363756577faaaeafbd35e01287898e9e040d0e11122931343a4546494a4e4f64655cb6b71b1c07080a0b141736393aa8a9d8d909379091a8070a3b3e66698f926f5fbfeeef5a62f4fcff9a9b2e2f2728559da0a1a3a4a7a8adbabcc4060b0c151d3a3f4551a6a7cccda007191a22253e3fe7ecefffc5c604202325262833383a484a4c50535556585a5c5e606365666b73787d7f8aa4aaafb0c0d0aeaf6e6f935e227b0503042d036603012f2e80821d03310f1c0424091e052b0544040e2a80aa06240424042808340b4e43813709160a08183b45390363080930160521031b05014038044b052f040a070907402027040c0936033a051a07040c07504937330d33072e080a8126524e28082a161a261c1417094e042409440d19070a0648082709750b3f412a063b050a0651060105100305808b621e48080a80a65e22450b0a060d133a060a362c041780b93c64530c48090a46451b4808530d498107460a1d03474937030e080a0639070a81361980b7010f320d839b66750b80c48a4c630d842f8fd18247a1b98239072a045c06260a460a28051382b05b654b0439071140050b020e97f80884d62a09a2e781332d03110408818c89046b050d0309071092604709743c80f60a7308701546809a140c570919808781470385420f1584501f80e12b80d52d031a040281401f113a050184e080f7294c040a04028311444c3d80c23c06010455051b3402810e2c04640c560a80ae381d0d2c040907020e06809a83d80510030d03740c59070c04010f0c0438080a062808224e81540c1503050307091d030b05060a0a060808070980cb250a84066c6962726172792f636f72652f7372632f756e69636f64652f756e69636f64655f646174612e7273000000790c1000280000004b00000028000000790c1000280000005700000016000000790c100028000000520000003e0000000900000004000000040000001100000054727946726f6d536c6963654572726f720000000003000083042000910560005d13a0001217201f0c20601fef2ca02b2a30202c6fa6e02c02a8602d1efb602e00fe20369eff6036fd01e136010a2137240de137ab0e61392f18a139301ce147f31e214cf06ae14f4f6f21509dbca15000cf615165d1a15100da215200e0e15330e16155aee2a156d0e8e15620006e57f001ff5700700007002d0101010201020101480b30151001650702060202010423011e1b5b0b3a09090118040109010301052b033c082a180120370101010408040103070a021d013a0101010204080109010a021a010202390104020402020303011e0203010b0239010405010204011402160601013a0101020104080107030a021e013b0101010c01090128010301370101030503010407020b021d013a01020102010301050207020b021c02390201010204080109010a021d0148010401020301010801510102070c08620102090b064a021b0101010101370e01050102050b0124090166040106010202021902040310040d01020206010f01000300031d021e021e02400201070801020b09012d030101750222017603040209010603db0202013a010107010101010208060a0201301f310430070101050128090c0220040202010338010102030101033a0802029803010d0107040106010302c6400001c32100038d016020000669020004010a200250020001030104011902050197021a120d012608190b2e0330010204020227014306020202020c0108012f01330101030202050201012a020801ee010201040100010010101000020001e201950500030102050428030401a50200040002990b31047b01360f290102020a033104020207013d03240501083e010c0234090a0402015f03020101020601a0010308150239020101010116010e070305c308020301011701510102060101020101020102eb010204060201021b025508020101026a0101010206010165030204010500090102f5010a0201010401900402020401200a280602040801090602032e0d010200070106010152160207010201027a060301010201070101480203010101000200053b0700013f0451010002002e0217000101030405080802071e0494030037043208010e011605010f00070111020701020105000700013d0400076d07006080f000 --burn-cap 9999999 -Node is bootstrapped. -Estimated gas: 2748.451 units (will add 100 for safety) -Estimated storage: 6558 bytes added (will add 20 for safety) -Operation successfully injected in the node. -Operation hash is '[OPERATION_HASH]' -NOT waiting for the operation to be included. -Use command - octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] -and/or an external block explorer to make sure that it has been included. -This sequence of operations was run: - Manager signed operations: - From: [PUBLIC_KEY_HASH] - Fee to the baker: ꜩ0.019077 - Expected counter: 1 - Gas limit: 2849 - Storage limit: 6578 bytes - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ0.019077 - payload fees(the block proposer) ....... +ꜩ0.019077 - Smart rollup origination: - Kind: wasm_2_0_0 - Parameter type: (pair string (ticket string)) - Kernel Blake2B hash: '1f1ec0db25f98f39d3932abb67a9ef15429d004da8751ffa18d8705864e3bf23' - This smart rollup origination was successfully applied - Consumed gas: 2748.451 - Storage size: 6558 bytes - Address: [SMART_ROLLUP_HASH] - Genesis commitment hash: [SC_ROLLUP_COMMITMENT_HASH] - Balance updates: - [PUBLIC_KEY_HASH] ... -ꜩ1.6395 - storage fees ........................... +ꜩ1.6395 - - ./octez-client rpc get '/chains/main/blocks/head/context/smart_rollups/smart_rollup/[SMART_ROLLUP_HASH]/genesis_info' { "level": 2, "commitment_hash": "[SC_ROLLUP_COMMITMENT_HASH]" } diff --git a/tezt/tests/tx_sc_rollup.ml b/tezt/tests/tx_sc_rollup.ml index 194b2939341e..2b5d5e7e2f2d 100644 --- a/tezt/tests/tx_sc_rollup.ml +++ b/tezt/tests/tx_sc_rollup.ml @@ -284,8 +284,8 @@ let test_deposit ~client ~sc_rollup_node ~sc_rollup_client ~sc_rollup_address let test_tx_kernel_e2e protocol = let commitment_period = 2 and challenge_window = 5 in - Dac.with_layer1 ~protocol ~commitment_period ~challenge_window - @@ fun node client bootstrap1_key -> + let* node, client = setup_l1 ~commitment_period ~challenge_window protocol in + let bootstrap1_key = Constant.bootstrap1.alias in let sc_rollup_node = Sc_rollup_node.create ~protocol @@ -294,26 +294,15 @@ let test_tx_kernel_e2e protocol = ~base_dir:(Client.base_dir client) ~default_operator:bootstrap1_key in - Dac.with_legacy_dac_node - ~threshold:0 - ~dac_members:1 - ~sc_rollup_node - ~pvm_name:"wasm_2_0_0" - node - client - @@ fun dac_node _dac_members -> - (* Start a rollup node *) - (* Prepare DAL/DAC: put reveal data in rollup node directory. *) - let* () = Dac_node.terminate dac_node in - let* () = Dac_node.run dac_node ~wait_ready:true in - let* _dir = Dac_node.init_config dac_node in - (* We can now produce our installer *) - let* installer_kernel = prepare_installer_kernel ~dac_node "tx-kernel" in - let boot_sector = hex_encode installer_kernel in + let* boot_sector = + prepare_installer_kernel + ~preimages_dir: + (Filename.concat (Sc_rollup_node.data_dir sc_rollup_node) "wasm_2_0_0") + "tx-kernel" + in (* Initialise the sc rollup *) let* sc_rollup_address = Client.Sc_rollup.originate - ~hooks ~burn_cap:Tez.(of_int 9999999) ~src:bootstrap1_key ~kind:"wasm_2_0_0" -- GitLab