From 907c4cd32fb1c1de6793e073cf34b374054a344d Mon Sep 17 00:00:00 2001 From: "iguerNL@Functori" Date: Thu, 5 Jan 2023 08:46:46 +0100 Subject: [PATCH 1/2] Dal: rename GET /slots/ to /commitments//slot --- src/bin_dal_node/RPC_server.ml | 12 +++++++----- src/bin_dal_node/slot_manager.ml | 2 +- src/bin_dal_node/slot_manager.mli | 4 ++-- src/lib_dal_node_services/services.ml | 5 +++-- src/lib_dal_node_services/services.mli | 2 +- tezt/lib_tezos/rollup.ml | 7 +++++-- tezt/lib_tezos/rollup.mli | 6 +++--- tezt/tests/dal.ml | 18 +++++++++++------- 8 files changed, 33 insertions(+), 23 deletions(-) diff --git a/src/bin_dal_node/RPC_server.ml b/src/bin_dal_node/RPC_server.ml index f494d41cb8fe..11fdea9ebc34 100644 --- a/src/bin_dal_node/RPC_server.ml +++ b/src/bin_dal_node/RPC_server.ml @@ -51,11 +51,11 @@ module Slots_handlers = struct match r with Ok () -> return_some () | Error `Not_found -> return_none) ctxt - let get_slot_content ctxt commitment () () = + let get_commitment_slot ctxt commitment () () = call_handler (fun store cryptobox -> let open Lwt_result_syntax in - let*! r = Slot_manager.find_slot store cryptobox commitment in + let*! r = Slot_manager.get_commitment_slot store cryptobox commitment in match r with Ok s -> return_some s | Error `Not_found -> return_none) ctxt @@ -65,7 +65,9 @@ module Slots_handlers = struct let open Lwt_result_syntax in (* This handler may be costly: We need to recompute the polynomial and then compute the proof. *) - let*! slot = Slot_manager.find_slot store cryptobox commitment in + let*! slot = + Slot_manager.get_commitment_slot store cryptobox commitment + in match slot with | Error `Not_found -> return_none | Ok slot -> ( @@ -134,8 +136,8 @@ let register_new : (Slots_handlers.patch_commitment ctxt) |> add_service Tezos_rpc.Directory.opt_register1 - Services.get_slot - (Slots_handlers.get_slot_content ctxt) + Services.get_commitment_slot + (Slots_handlers.get_commitment_slot ctxt) |> add_service Tezos_rpc.Directory.opt_register1 Services.get_slot_commitment_proof diff --git a/src/bin_dal_node/slot_manager.ml b/src/bin_dal_node/slot_manager.ml index 95f557fe58cb..66f835991f2c 100644 --- a/src/bin_dal_node/slot_manager.ml +++ b/src/bin_dal_node/slot_manager.ml @@ -88,7 +88,7 @@ let associate_slot_id_with_commitment node_store cryptobox commitment slot_id = in return_unit -let find_slot node_store cryptobox commitment = +let get_commitment_slot node_store cryptobox commitment = let open Lwt_result_syntax in let*! slot_opt = Store.Legacy.find_slot_by_commitment node_store cryptobox commitment diff --git a/src/bin_dal_node/slot_manager.mli b/src/bin_dal_node/slot_manager.mli index 3fb454f536c9..1fdce207b41f 100644 --- a/src/bin_dal_node/slot_manager.mli +++ b/src/bin_dal_node/slot_manager.mli @@ -57,11 +57,11 @@ val associate_slot_id_with_commitment : Services.Types.slot_id -> (unit, [> `Not_found]) result Lwt.t -(** [find_slot node_store cryptobox commitment] returns the slot +(** [get_commitment_slot node_store cryptobox commitment] returns the slot content associated with the given [commitment] in [node_store]. The function returns [Error `Not_found] if there is no slot content for [commitment] in [node_store]. *) -val find_slot : +val get_commitment_slot : Store.node_store -> Cryptobox.t -> Cryptobox.commitment -> diff --git a/src/lib_dal_node_services/services.ml b/src/lib_dal_node_services/services.ml index 17cbe1f2ae98..78cd9d9393b3 100644 --- a/src/lib_dal_node_services/services.ml +++ b/src/lib_dal_node_services/services.ml @@ -182,7 +182,7 @@ let patch_commitment : ~output:Data_encoding.unit Tezos_rpc.Path.(open_root / "commitments" /: Cryptobox.Commitment.rpc_arg) -let get_slot : +let get_commitment_slot : < meth : [`GET] ; input : unit ; output : Cryptobox.slot @@ -195,7 +195,8 @@ let get_slot : "Retrieve the content of the slot associated with the given commitment." ~query:Tezos_rpc.Query.empty ~output:Types.slot_encoding - Tezos_rpc.Path.(open_root / "slots" /: Cryptobox.Commitment.rpc_arg) + Tezos_rpc.Path.( + open_root / "commitments" /: Cryptobox.Commitment.rpc_arg / "slot") let get_slot_commitment_proof : < meth : [`GET] diff --git a/src/lib_dal_node_services/services.mli b/src/lib_dal_node_services/services.mli index 29ecbb0c2457..5d602a7caed6 100644 --- a/src/lib_dal_node_services/services.mli +++ b/src/lib_dal_node_services/services.mli @@ -114,7 +114,7 @@ val patch_commitment : service (** Retrieve the content of the slot associated with the given commitment. *) -val get_slot : +val get_commitment_slot : < meth : [`GET] ; input : unit ; output : Cryptobox.slot diff --git a/tezt/lib_tezos/rollup.ml b/tezt/lib_tezos/rollup.ml index e3761ce83a5b..17104efbbc83 100644 --- a/tezt/lib_tezos/rollup.ml +++ b/tezt/lib_tezos/rollup.ml @@ -727,8 +727,11 @@ module Dal = struct in make ~data PATCH ["commitments"; commitment] as_empty_object_or_fail - let get_slot commitment = - make GET ["slots"; commitment] get_bytes_from_json_string_node + let get_commitment_slot commitment = + make + GET + ["commitments"; commitment; "slot"] + get_bytes_from_json_string_node type commitment_proof = string diff --git a/tezt/lib_tezos/rollup.mli b/tezt/lib_tezos/rollup.mli index b14b4d7ee4c2..5d90892bc196 100644 --- a/tezt/lib_tezos/rollup.mli +++ b/tezt/lib_tezos/rollup.mli @@ -325,9 +325,9 @@ module Dal : sig slot_index:int -> (Dal_node.t, unit) RPC_core.t - (** Call RPC "GET /slots/" to retrieve the slot content associated with the - given commitment. *) - val get_slot : commitment -> (Dal_node.t, slot) RPC_core.t + (** Call RPC "GET /commitments//slot" to retrieve the slot + content associated with the given commitment. *) + val get_commitment_slot : commitment -> (Dal_node.t, slot) RPC_core.t type commitment_proof = string diff --git a/tezt/tests/dal.ml b/tezt/tests/dal.ml index 9a14d18be63a..6c5b5d08e938 100644 --- a/tezt/tests/dal.ml +++ b/tezt/tests/dal.ml @@ -1228,20 +1228,24 @@ let test_dal_node_test_patch_commitments _protocol parameters cryptobox _node let* () = patch_slot_rpc ~slot_level:0 ~slot_index:1 in patch_slot_rpc ~slot_level:(-4) ~slot_index:3 -let test_dal_node_test_get_slots _protocol parameters cryptobox _node client - dal_node = +let test_dal_node_test_get_commitment_slot _protocol parameters cryptobox _node + client dal_node = let size = parameters.Rollup.Dal.Parameters.cryptobox.slot_size in let* slot = Rollup.Dal.make_slot (generate_dummy_slot size) client in let commit = Cryptobox.Commitment.to_b58check @@ commitment_of_slot cryptobox slot in let* () = - let* response = RPC.call_raw dal_node @@ Rollup.Dal.RPC.get_slot commit in + let* response = + RPC.call_raw dal_node @@ Rollup.Dal.RPC.get_commitment_slot commit + in return @@ RPC.check_string_response ~code:404 response in let* _commitment = RPC.call dal_node (Rollup.Dal.RPC.post_commitment slot) in - (* commit = _commitment already test in /POST test. *) - let* got_slot = RPC.call dal_node (Rollup.Dal.RPC.get_slot commit) in + (* commit = _commitment already tested in /POST test. *) + let* got_slot = + RPC.call dal_node (Rollup.Dal.RPC.get_commitment_slot commit) + in Check.(Rollup.Dal.content_of_slot slot = Rollup.Dal.content_of_slot got_slot) Check.string ~error_msg: @@ -1918,8 +1922,8 @@ let register ~protocols = test_dal_node_test_patch_commitments protocols ; scenario_with_layer1_and_dal_nodes - "dal node GET /slots" - test_dal_node_test_get_slots + "dal node GET /commitments//slot" + test_dal_node_test_get_commitment_slot protocols ; scenario_with_layer1_and_dal_nodes "dal node GET /slot//proof" -- GitLab From 14bc6599cb2161742efdc2a7b60c949306525db3 Mon Sep 17 00:00:00 2001 From: "iguerNL@Functori" Date: Thu, 5 Jan 2023 09:22:52 +0100 Subject: [PATCH 2/2] Dal: rename GET /slots//proofs to /commitments/... --- src/bin_dal_node/RPC_server.ml | 6 +++--- src/lib_dal_node_services/services.ml | 4 ++-- src/lib_dal_node_services/services.mli | 2 +- tezt/lib_tezos/rollup.ml | 4 ++-- tezt/lib_tezos/rollup.mli | 5 +++-- tezt/tests/dal.ml | 10 ++++++---- 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/bin_dal_node/RPC_server.ml b/src/bin_dal_node/RPC_server.ml index 11fdea9ebc34..4180a77dc954 100644 --- a/src/bin_dal_node/RPC_server.ml +++ b/src/bin_dal_node/RPC_server.ml @@ -59,7 +59,7 @@ module Slots_handlers = struct match r with Ok s -> return_some s | Error `Not_found -> return_none) ctxt - let get_slot_commitment_proof ctxt commitment () () = + let get_commitment_proof ctxt commitment () () = call_handler (fun store cryptobox -> let open Lwt_result_syntax in @@ -140,8 +140,8 @@ let register_new : (Slots_handlers.get_commitment_slot ctxt) |> add_service Tezos_rpc.Directory.opt_register1 - Services.get_slot_commitment_proof - (Slots_handlers.get_slot_commitment_proof ctxt) + Services.get_commitment_proof + (Slots_handlers.get_commitment_proof ctxt) |> add_service Tezos_rpc.Directory.opt_register2 Services.get_commitment_by_published_level_and_index diff --git a/src/lib_dal_node_services/services.ml b/src/lib_dal_node_services/services.ml index 78cd9d9393b3..4def7b6ba451 100644 --- a/src/lib_dal_node_services/services.ml +++ b/src/lib_dal_node_services/services.ml @@ -198,7 +198,7 @@ let get_commitment_slot : Tezos_rpc.Path.( open_root / "commitments" /: Cryptobox.Commitment.rpc_arg / "slot") -let get_slot_commitment_proof : +let get_commitment_proof : < meth : [`GET] ; input : unit ; output : Cryptobox.commitment_proof @@ -211,7 +211,7 @@ let get_slot_commitment_proof : ~query:Tezos_rpc.Query.empty ~output:Cryptobox.Commitment_proof.encoding Tezos_rpc.Path.( - open_root / "slots" /: Cryptobox.Commitment.rpc_arg / "proof") + open_root / "commitments" /: Cryptobox.Commitment.rpc_arg / "proof") let get_commitment_by_published_level_and_index : < meth : [`GET] diff --git a/src/lib_dal_node_services/services.mli b/src/lib_dal_node_services/services.mli index 5d602a7caed6..414109a2ee14 100644 --- a/src/lib_dal_node_services/services.mli +++ b/src/lib_dal_node_services/services.mli @@ -124,7 +124,7 @@ val get_commitment_slot : service (** Compute the proof associated to a commitment. *) -val get_slot_commitment_proof : +val get_commitment_proof : < meth : [`GET] ; input : unit ; output : Cryptobox.commitment_proof diff --git a/tezt/lib_tezos/rollup.ml b/tezt/lib_tezos/rollup.ml index 17104efbbc83..908d8f1d6085 100644 --- a/tezt/lib_tezos/rollup.ml +++ b/tezt/lib_tezos/rollup.ml @@ -735,8 +735,8 @@ module Dal = struct type commitment_proof = string - let get_slot_proof commitment = - make GET ["slots"; commitment; "proof"] JSON.as_string + let get_commitment_proof commitment = + make GET ["commitments"; commitment; "proof"] JSON.as_string let get_level_index_commitment ~slot_level ~slot_index = make diff --git a/tezt/lib_tezos/rollup.mli b/tezt/lib_tezos/rollup.mli index 5d90892bc196..7aace7845467 100644 --- a/tezt/lib_tezos/rollup.mli +++ b/tezt/lib_tezos/rollup.mli @@ -331,9 +331,10 @@ module Dal : sig type commitment_proof = string - (** Call RPC "GET /slots//proof" to get the proof + (** Call RPC "GET /commitments//proof" to get the proof associated to a commitment. *) - val get_slot_proof : commitment -> (Dal_node.t, commitment_proof) RPC_core.t + val get_commitment_proof : + commitment -> (Dal_node.t, commitment_proof) RPC_core.t (** Call RPC "GET /levels//slot_indices//commitment" to get diff --git a/tezt/tests/dal.ml b/tezt/tests/dal.ml index 6c5b5d08e938..60ba46180bba 100644 --- a/tezt/tests/dal.ml +++ b/tezt/tests/dal.ml @@ -1253,12 +1253,14 @@ let test_dal_node_test_get_commitment_slot _protocol parameters cryptobox _node %L, got = %R)" ; unit -let test_dal_node_test_get_slot_proof _protocol parameters cryptobox _node +let test_dal_node_test_get_commitment_proof _protocol parameters cryptobox _node client dal_node = let size = parameters.Rollup.Dal.Parameters.cryptobox.slot_size in let* slot = Rollup.Dal.make_slot (generate_dummy_slot size) client in let* commitment = RPC.call dal_node (Rollup.Dal.RPC.post_commitment slot) in - let* proof = RPC.call dal_node (Rollup.Dal.RPC.get_slot_proof commitment) in + let* proof = + RPC.call dal_node (Rollup.Dal.RPC.get_commitment_proof commitment) + in let _, expected_proof = Rollup.Dal.Commitment.dummy_commitment cryptobox (generate_dummy_slot size) in @@ -1926,8 +1928,8 @@ let register ~protocols = test_dal_node_test_get_commitment_slot protocols ; scenario_with_layer1_and_dal_nodes - "dal node GET /slot//proof" - test_dal_node_test_get_slot_proof + "dal node GET /commitments//proof" + test_dal_node_test_get_commitment_proof protocols ; scenario_with_layer1_and_dal_nodes "dal node PATCH+GET /profiles" -- GitLab