diff --git a/manifest/main.ml b/manifest/main.ml index edb6d44c355425866e7e28d6402ab48928cbc29e..b895b0ffbe3efc5353338d403582795025085486 100644 --- a/manifest/main.ml +++ b/manifest/main.ml @@ -4497,6 +4497,7 @@ module Protocol = Protocol octez_rpc |> open_; octez_rpc_http; octez_rpc_http_server; + octez_dal_node_services; octez_shell_services |> open_; sc_rollup |> if_some |> open_; data_encoding; diff --git a/opam/tezos-sc-rollup-node-013-PtJakart.opam b/opam/tezos-sc-rollup-node-013-PtJakart.opam index e5254f46a7f575b377ee7e03d4b2d06d5bf54023..831b36c09c994555f8155345757ca32ababbf33a 100644 --- a/opam/tezos-sc-rollup-node-013-PtJakart.opam +++ b/opam/tezos-sc-rollup-node-013-PtJakart.opam @@ -21,6 +21,7 @@ depends: [ "tezos-rpc" "tezos-rpc-http" "tezos-rpc-http-server" + "tezos-dal-node-services" "tezos-shell-services" "tezos-sc-rollup-013-PtJakart" "data-encoding" { >= "0.6" & < "0.7" } diff --git a/opam/tezos-sc-rollup-node-014-PtKathma.opam b/opam/tezos-sc-rollup-node-014-PtKathma.opam index 6aa273d7bf3ca6c986e7fe16a3e52556327de8c2..acbb61d074e6bb73c0dee14573f6d38edc4ec6bc 100644 --- a/opam/tezos-sc-rollup-node-014-PtKathma.opam +++ b/opam/tezos-sc-rollup-node-014-PtKathma.opam @@ -21,6 +21,7 @@ depends: [ "tezos-rpc" "tezos-rpc-http" "tezos-rpc-http-server" + "tezos-dal-node-services" "tezos-shell-services" "tezos-sc-rollup-014-PtKathma" "data-encoding" { >= "0.6" & < "0.7" } diff --git a/opam/tezos-sc-rollup-node-alpha.opam b/opam/tezos-sc-rollup-node-alpha.opam index 689cfb3d4529f9946940b7ea558c39ebf18e16ec..e35d2004adc6ab78d891b61ea08350248d546343 100644 --- a/opam/tezos-sc-rollup-node-alpha.opam +++ b/opam/tezos-sc-rollup-node-alpha.opam @@ -21,6 +21,7 @@ depends: [ "tezos-rpc" "tezos-rpc-http" "tezos-rpc-http-server" + "tezos-dal-node-services" "tezos-shell-services" "tezos-sc-rollup-alpha" "data-encoding" { >= "0.6" & < "0.7" } diff --git a/src/lib_crypto_dal/cryptobox.mli b/src/lib_crypto_dal/cryptobox.mli index 90fdcb513fa5123f26e6a3bb5761853e82e0ca7d..0694fb1eac424ada15a093b558c1e03930d7e656 100644 --- a/src/lib_crypto_dal/cryptobox.mli +++ b/src/lib_crypto_dal/cryptobox.mli @@ -59,9 +59,16 @@ type t that both the [Verifier] and the [Builder] are instantiated with the same parameters and use the same trusted setup. *) -module Verifier : VERIFIER with type parameters = parameters +type commitment -include VERIFIER with type t := t and type parameters := parameters +module Verifier : + VERIFIER with type parameters = parameters and type commitment = commitment + +include + VERIFIER + with type t := t + and type parameters := parameters + and type commitment := commitment (** The primitives exposed in this modules require some preprocessing. This preprocessing generates data from an unknown diff --git a/src/lib_protocol_environment/environment_V7.ml b/src/lib_protocol_environment/environment_V7.ml index 4530ec20f80d1ee8cadfb82bfa3975987ac8b5a0..3104040d509a9b323ec8a63f177e80468e2c1866 100644 --- a/src/lib_protocol_environment/environment_V7.ml +++ b/src/lib_protocol_environment/environment_V7.ml @@ -100,6 +100,7 @@ module type T = sig Plonk.Main_protocol.verifier_public_parameters * Plonk.Main_protocol.transcript and type Dal.parameters = Tezos_crypto_dal.Cryptobox.Verifier.parameters + and type Dal.commitment = Tezos_crypto_dal.Cryptobox.commitment type error += Ecoproto_error of Error_monad.error diff --git a/src/lib_protocol_environment/environment_V7.mli b/src/lib_protocol_environment/environment_V7.mli index 2606546d63ffc9d24efcd2aea688c5044ce3059a..cb2e600b44d186d81e971668a6d0dd8ac29ec287 100644 --- a/src/lib_protocol_environment/environment_V7.mli +++ b/src/lib_protocol_environment/environment_V7.mli @@ -100,6 +100,7 @@ module type T = sig Plonk.Main_protocol.verifier_public_parameters * Plonk.Main_protocol.transcript and type Dal.parameters = Tezos_crypto_dal.Cryptobox.Verifier.parameters + and type Dal.commitment = Tezos_crypto_dal.Cryptobox.commitment (** An [Ecoproto_error e] is a shell error that carry a protocol error. diff --git a/src/proto_013_PtJakart/bin_sc_rollup_node/dune b/src/proto_013_PtJakart/bin_sc_rollup_node/dune index 5604e9d4a02c22d48bf2c176271a6c916a0c6f0c..f430811028093203940146d68ad8263ae1e56305 100644 --- a/src/proto_013_PtJakart/bin_sc_rollup_node/dune +++ b/src/proto_013_PtJakart/bin_sc_rollup_node/dune @@ -21,6 +21,7 @@ tezos-rpc tezos-rpc-http tezos-rpc-http-server + tezos_dal_node_services tezos-shell-services tezos-sc-rollup-013-PtJakart data-encoding diff --git a/src/proto_014_PtKathma/bin_sc_rollup_node/dune b/src/proto_014_PtKathma/bin_sc_rollup_node/dune index 8226a088f10fb25a8cea266f81686e3691aa4035..32b2d4c52b52d81183938d2e0f102052ce140da1 100644 --- a/src/proto_014_PtKathma/bin_sc_rollup_node/dune +++ b/src/proto_014_PtKathma/bin_sc_rollup_node/dune @@ -21,6 +21,7 @@ tezos-rpc tezos-rpc-http tezos-rpc-http-server + tezos_dal_node_services tezos-shell-services tezos-sc-rollup-014-PtKathma data-encoding diff --git a/src/proto_alpha/bin_sc_rollup_node/configuration.ml b/src/proto_alpha/bin_sc_rollup_node/configuration.ml index 0191e445fab1432740de9d588479607eff11dabb..8b0cc2cbadcddcc6661fe90a481c27d34c143265 100644 --- a/src/proto_alpha/bin_sc_rollup_node/configuration.ml +++ b/src/proto_alpha/bin_sc_rollup_node/configuration.ml @@ -50,6 +50,8 @@ type t = { fee_parameter : Injection.fee_parameter; mode : mode; loser_mode : Loser_mode.t; + dal_node_addr : string; + dal_node_port : int; } let default_data_dir = @@ -73,6 +75,10 @@ let default_rpc_port = 8932 let default_reconnection_delay = 2.0 (* seconds *) +let default_dal_node_addr = "127.0.0.1" + +let default_dal_node_port = 10732 + (* TODO: https://gitlab.com/tezos/tezos/-/issues/2794 the below default values have been copied from `src/proto_alpha/lib_client/client_proto_args.ml`, but @@ -309,25 +315,29 @@ let encoding : t Data_encoding.t = fee_parameter; mode; loser_mode; + dal_node_addr; + dal_node_port; } -> - ( data_dir, - sc_rollup_address, - sc_rollup_node_operators, - rpc_addr, - rpc_port, - reconnection_delay, - fee_parameter, - mode, - loser_mode )) - (fun ( data_dir, - sc_rollup_address, - sc_rollup_node_operators, - rpc_addr, - rpc_port, - reconnection_delay, - fee_parameter, - mode, - loser_mode ) -> + ( ( data_dir, + sc_rollup_address, + sc_rollup_node_operators, + rpc_addr, + rpc_port, + reconnection_delay, + fee_parameter, + mode, + loser_mode ), + (dal_node_addr, dal_node_port) )) + (fun ( ( data_dir, + sc_rollup_address, + sc_rollup_node_operators, + rpc_addr, + rpc_port, + reconnection_delay, + fee_parameter, + mode, + loser_mode ), + (dal_node_addr, dal_node_port) ) -> { data_dir; sc_rollup_address; @@ -338,43 +348,54 @@ let encoding : t Data_encoding.t = fee_parameter; mode; loser_mode; + dal_node_addr; + dal_node_port; }) - (obj9 - (dft - "data-dir" - ~description:"Location of the data dir" - string - default_data_dir) - (req - "sc-rollup-address" - ~description:"Smart contract rollup address" - Protocol.Alpha_context.Sc_rollup.Address.encoding) - (req - "sc-rollup-node-operator" - ~description: - "Operators that sign operations of the smart contract rollup, by \ - purpose" - operators_encoding) - (dft "rpc-addr" ~description:"RPC address" string default_rpc_addr) - (dft "rpc-port" ~description:"RPC port" int16 default_rpc_port) - (dft - ~description:"The reconnection (to the tezos node) delay in seconds" - "reconnection_delay" - float - default_reconnection_delay) - (dft - "fee-parameter" - ~description:"The fee parameter used when injecting operations in L1" - fee_parameter_encoding - default_fee_parameter) - (req ~description:"The mode for this rollup node" "mode" mode_encoding) - (dft - "loser-mode" - ~description: - "If enabled, the rollup node will issue wrong commitments (for \ - test only!)" - Loser_mode.encoding - Loser_mode.no_failures)) + (merge_objs + (obj9 + (dft + "data-dir" + ~description:"Location of the data dir" + string + default_data_dir) + (req + "sc-rollup-address" + ~description:"Smart contract rollup address" + Protocol.Alpha_context.Sc_rollup.Address.encoding) + (req + "sc-rollup-node-operator" + ~description: + "Operators that sign operations of the smart contract rollup, \ + by purpose" + operators_encoding) + (dft "rpc-addr" ~description:"RPC address" string default_rpc_addr) + (dft "rpc-port" ~description:"RPC port" int16 default_rpc_port) + (dft + ~description: + "The reconnection (to the tezos node) delay in seconds" + "reconnection_delay" + float + default_reconnection_delay) + (dft + "fee-parameter" + ~description: + "The fee parameter used when injecting operations in L1" + fee_parameter_encoding + default_fee_parameter) + (req + ~description:"The mode for this rollup node" + "mode" + mode_encoding) + (dft + "loser-mode" + ~description: + "If enabled, the rollup node will issue wrong commitments (for \ + test only!)" + Loser_mode.encoding + Loser_mode.no_failures)) + (obj2 + (dft "DAL node address" string default_dal_node_addr) + (dft "DAL node port" int16 default_dal_node_port))) let check_mode config = let open Result_syntax in diff --git a/src/proto_alpha/bin_sc_rollup_node/configuration.mli b/src/proto_alpha/bin_sc_rollup_node/configuration.mli index 9c94ea2dd9fa0396117952d605d497912bdc0924..a3cbc25d42e9e9f2140fb619a2d752426138f0cc 100644 --- a/src/proto_alpha/bin_sc_rollup_node/configuration.mli +++ b/src/proto_alpha/bin_sc_rollup_node/configuration.mli @@ -51,6 +51,12 @@ type t = { fee_parameter : Injection.fee_parameter; mode : mode; loser_mode : Loser_mode.t; + (*DAL/FIXME: https://gitlab.com/tezos/tezos/-/issues/3718 + Decide whether we want to handle connections to multiple + Dal nodes for different slot indexes. + *) + dal_node_addr : string; + dal_node_port : int; } (** [make_purpose_map ~default purposes] constructs a purpose map from a list of @@ -90,6 +96,12 @@ val default_reconnection_delay : float (** [default_fee_parameter] is the default value for [fee_parameter] *) val default_fee_parameter : Injection.fee_parameter +(** [default_dal_node_addr] is the default value for [dal_node_addr]. *) +val default_dal_node_addr : string + +(** [default_dal_node_port] is the default value for [dal_node_port]. *) +val default_dal_node_port : int + (** This is the list of available modes. *) val modes : mode list diff --git a/src/proto_alpha/bin_sc_rollup_node/daemon.ml b/src/proto_alpha/bin_sc_rollup_node/daemon.ml index 8a96bc9b0a736ebeb35d5c54a60c4dacfc7a17fc..520d512a624ab474151772a7e2b7b03626ab3030 100644 --- a/src/proto_alpha/bin_sc_rollup_node/daemon.ml +++ b/src/proto_alpha/bin_sc_rollup_node/daemon.ml @@ -434,6 +434,7 @@ let run ~data_dir (cctxt : Protocol_client_context.full) = Random.self_init () (* Initialize random state (for reconnection delays) *) ; let*! () = Event.starting_node () in let* configuration = Configuration.load ~data_dir in + let dal_cctxt = Dal_node_client.make_unix_cctxt configuration in let open Configuration in let* () = (* Check that the operators are valid keys. *) @@ -449,6 +450,7 @@ let run ~data_dir (cctxt : Protocol_client_context.full) = let* node_ctxt = Node_context.init cctxt + dal_cctxt l1_ctxt configuration.sc_rollup_address kind diff --git a/src/proto_alpha/bin_sc_rollup_node/dal_node_client.ml b/src/proto_alpha/bin_sc_rollup_node/dal_node_client.ml new file mode 100644 index 0000000000000000000000000000000000000000..7b3192e24f9fb35d76a72ae9ed407726cb72bfd2 --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/dal_node_client.ml @@ -0,0 +1,57 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Trili Tech *) +(* *) +(* 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 Tezos_dal_node_services + +class type cctxt = + object + inherit RPC_context.generic + end + +class unix_cctxt ~rpc_config : cctxt = + object + inherit + Tezos_rpc_http_client_unix.RPC_client_unix.http_ctxt + rpc_config + (Tezos_rpc_http.Media_type.Command_line.of_command_line + rpc_config.media_type) + end + +let make_unix_cctxt {Configuration.dal_node_addr; dal_node_port; _} = + let endpoint = + Uri.of_string ("http://" ^ dal_node_addr ^ ":" ^ string_of_int dal_node_port) + in + let rpc_config = + {Tezos_rpc_http_client_unix.RPC_client_unix.default_config with endpoint} + in + new unix_cctxt ~rpc_config + +let call (cctxt : #cctxt) = cctxt#call_service + +let get_slot cctxt ?(trim_slot = false) header = + call cctxt (Services.slot ()) ((), header) trim_slot () + +let get_shard cctxt header shard_index = + call cctxt (Services.shard ()) (((), header), shard_index) () () diff --git a/src/proto_alpha/bin_sc_rollup_node/dal_node_client.mli b/src/proto_alpha/bin_sc_rollup_node/dal_node_client.mli new file mode 100644 index 0000000000000000000000000000000000000000..15b832d4239a82834e0986c518ca69afccfbf0a6 --- /dev/null +++ b/src/proto_alpha/bin_sc_rollup_node/dal_node_client.mli @@ -0,0 +1,50 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2022 Trili Tech *) +(* *) +(* 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 Tezos_crypto_dal + +(** Instance of [Tezos_client_base.Client_context] that only handles IOs and + RPCs. Can be used for keys and RPCs related commands. *) +class type cctxt = + object + inherit RPC_context.generic + end + +(** Instance of [cctxt] for linux systems. Relies on + [Tezos_rpc_http_client_unix]. *) +class unix_cctxt : + rpc_config:Tezos_rpc_http_client_unix.RPC_client_unix.config -> cctxt + +(** [make_unix_client_context config] generates a cctxt from + the client configuration. *) +val make_unix_cctxt : Configuration.t -> cctxt + +val get_slot : + #cctxt -> ?trim_slot:bool -> Dal.Slot.header -> string tzresult Lwt.t + +val get_shard : + #cctxt -> Dal.Slot.header -> int -> Cryptobox.shard tzresult Lwt.t diff --git a/src/proto_alpha/bin_sc_rollup_node/dune b/src/proto_alpha/bin_sc_rollup_node/dune index f0d7fbdc4f4b8d505ed66a5fa7676dbb1ff4ba22..09ab2bdbf08f231d702c55e3db6cdcad32c2c7a9 100644 --- a/src/proto_alpha/bin_sc_rollup_node/dune +++ b/src/proto_alpha/bin_sc_rollup_node/dune @@ -21,6 +21,7 @@ tezos-rpc tezos-rpc-http tezos-rpc-http-server + tezos_dal_node_services tezos-shell-services tezos-sc-rollup-alpha data-encoding diff --git a/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml b/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml index ce332308bb75bccc04960dffe247f2cb5c91064c..37603a8c235597257b2cf1ae632768b3489ae568 100644 --- a/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml +++ b/src/proto_alpha/bin_sc_rollup_node/main_sc_rollup_node_alpha.ml @@ -111,6 +111,19 @@ let rpc_addr_arg = ~default Client_proto_args.string_parameter +let dal_node_addr_arg = + let default = Configuration.default_dal_node_addr in + Clic.default_arg + ~long:"dal-node-addr" + ~placeholder:"dal-node-address|ip" + ~doc: + (Format.sprintf + "The address of the dal node from which the smart-contract rollup \ + node downloads slots. Default value is %s" + default) + ~default + Client_proto_args.string_parameter + let rpc_port_arg = let default = Configuration.default_rpc_port |> string_of_int in Clic.default_arg @@ -124,6 +137,19 @@ let rpc_port_arg = ~default Client_proto_args.int_parameter +let dal_node_port_arg = + let default = Configuration.default_dal_node_port |> string_of_int in + Clic.default_arg + ~long:"dal-node-port" + ~placeholder:"dal-node-port" + ~doc: + (Format.sprintf + "The port of the dal node from which the smart-contract rollup node \ + downloads slots from. Default value is %s" + default) + ~default + Client_proto_args.int_parameter + let data_dir_arg = let default = Configuration.default_data_dir in Clic.default_arg @@ -262,7 +288,7 @@ let config_init_command = command ~group ~desc:"Configure the smart-contract rollup node." - (args11 + (args13 data_dir_arg rpc_addr_arg rpc_port_arg @@ -273,7 +299,9 @@ let config_init_command = fee_cap_arg burn_cap_arg loser_mode - reconnection_delay_arg) + reconnection_delay_arg + dal_node_addr_arg + dal_node_port_arg) (prefix "init" @@ mode_param @@ prefixes ["config"; "for"] @@ sc_rollup_address_param @@ -289,7 +317,9 @@ let config_init_command = fee_cap, burn_cap, loser_mode, - reconnection_delay ) + reconnection_delay, + dal_node_addr, + dal_node_port ) mode sc_rollup_address sc_rollup_node_operators @@ -321,6 +351,8 @@ let config_init_command = rpc_addr; rpc_port; reconnection_delay; + dal_node_addr; + dal_node_port; fee_parameter = { minimal_fees; diff --git a/src/proto_alpha/bin_sc_rollup_node/node_context.ml b/src/proto_alpha/bin_sc_rollup_node/node_context.ml index a13616d0d225a23a0667516d21c57ce1e674219e..3143de98547490b2ab3699d1fc075fab7c3dad02 100644 --- a/src/proto_alpha/bin_sc_rollup_node/node_context.ml +++ b/src/proto_alpha/bin_sc_rollup_node/node_context.ml @@ -28,6 +28,7 @@ open Alpha_context type t = { cctxt : Protocol_client_context.full; + dal_cctxt : Dal_node_client.cctxt; l1_ctxt : Layer1.t; rollup_address : Sc_rollup.t; operators : Configuration.operators; @@ -53,12 +54,13 @@ let get_operator node_ctxt purpose = let retrieve_constants cctxt = Protocol.Constants_services.all cctxt (cctxt#chain, cctxt#block) -let init (cctxt : Protocol_client_context.full) l1_ctxt rollup_address kind - operators fee_parameter ~loser_mode store context = +let init (cctxt : Protocol_client_context.full) dal_cctxt l1_ctxt rollup_address + kind operators fee_parameter ~loser_mode store context = let open Lwt_result_syntax in let+ protocol_constants = retrieve_constants cctxt in { cctxt; + dal_cctxt; l1_ctxt; rollup_address; operators; diff --git a/src/proto_alpha/bin_sc_rollup_node/node_context.mli b/src/proto_alpha/bin_sc_rollup_node/node_context.mli index 5dcf4fe201fece073928b9acf962cf9b2c711761..e442171c14b561910c9a44334d63e9cb29a7bc6e 100644 --- a/src/proto_alpha/bin_sc_rollup_node/node_context.mli +++ b/src/proto_alpha/bin_sc_rollup_node/node_context.mli @@ -31,6 +31,8 @@ open Alpha_context type t = { cctxt : Protocol_client_context.full; (** Client context used by the rollup node. *) + dal_cctxt : Dal_node_client.cctxt; + (** Client context to query the dal node. *) l1_ctxt : Layer1.t; (** Layer 1 context to fetch blocks and monitor heads, etc.*) rollup_address : Sc_rollup.t; @@ -59,13 +61,14 @@ type t = { val get_operator : t -> Configuration.purpose -> Signature.Public_key_hash.t option -(** [init cctxt l1_ctxt sc_rollup genesis_info kind operators fees +(** [init cctxt dal_cctxt l1_ctxt sc_rollup genesis_info kind operators fees ~loser_mode store context] initialises the rollup representation. The rollup origination level and kind are fetched via an RPC call to the layer1 node that [cctxt] uses for RPC requests. *) val init : Protocol_client_context.full -> + Dal_node_client.cctxt -> Layer1.t -> Sc_rollup.t -> Protocol.Alpha_context.Sc_rollup.Kind.t -> diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index 88edffccba01453023d3df99863235b839416bc8..2816cf47d67bb3e8feafeefe1bbaf2877db34d28 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -2799,7 +2799,7 @@ module Dal : sig end module Slot : sig - type header + type header = Dal.commitment type t = {level : Raw_level.t; index : Slot_index.t; header : header} diff --git a/src/proto_alpha/lib_protocol/dal_slot_repr.mli b/src/proto_alpha/lib_protocol/dal_slot_repr.mli index 9d8ce16eed6e0ef86d6ca635e158c8cb1302f0ef..7dd3e921990c75a6d88f7e299ae943a4cccb5574 100644 --- a/src/proto_alpha/lib_protocol/dal_slot_repr.mli +++ b/src/proto_alpha/lib_protocol/dal_slot_repr.mli @@ -47,7 +47,7 @@ portion of the initial slot. *) module Header : sig - type t + type t = Dal.commitment val encoding : t Data_encoding.t end