From 139c82124095a719c274d1929d75c01721048e43 Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Mon, 1 Jul 2024 16:45:12 +0200 Subject: [PATCH 1/3] tezt/lib_tezos: remove use_legacy_name for consensus operations helpers --- tezt/lib_tezos/operation_core.ml | 66 +++++++++++-------------------- tezt/lib_tezos/operation_core.mli | 62 +++++++++-------------------- 2 files changed, 43 insertions(+), 85 deletions(-) diff --git a/tezt/lib_tezos/operation_core.ml b/tezt/lib_tezos/operation_core.ml index bc78db7876f6..55d14ec5e6ef 100644 --- a/tezt/lib_tezos/operation_core.ml +++ b/tezt/lib_tezos/operation_core.ml @@ -268,34 +268,28 @@ module Consensus = struct type dal_content = {attestation : bool array} type t = - | CPreattestation of {use_legacy_name : bool; consensus : consensus_content} - | CAttestation of { - use_legacy_name : bool; - consensus : consensus_content; - dal : dal_content option; - } + | CPreattestation of {consensus : consensus_content} + | CAttestation of {consensus : consensus_content; dal : dal_content option} - let consensus ~use_legacy_name ~kind ~slot ~level ~round ~block_payload_hash = + let consensus ~kind ~slot ~level ~round ~block_payload_hash = let consensus = {slot; level; round; block_payload_hash} in match kind with - | Preattestation -> CPreattestation {use_legacy_name; consensus} + | Preattestation -> CPreattestation {consensus} | Attestation {with_dal} -> assert (with_dal = false) ; - CAttestation {use_legacy_name; consensus; dal = None} + CAttestation {consensus; dal = None} - let attestation ~use_legacy_name ~slot ~level ~round ~block_payload_hash - ?dal_attestation () = + let attestation ~slot ~level ~round ~block_payload_hash ?dal_attestation () = let consensus = {slot; level; round; block_payload_hash} in CAttestation { - use_legacy_name; consensus; dal = Option.map (fun attestation -> {attestation}) dal_attestation; } - let preattestation ~use_legacy_name ~slot ~level ~round ~block_payload_hash = + let preattestation ~slot ~level ~round ~block_payload_hash = let consensus = {slot; level; round; block_payload_hash} in - CPreattestation {use_legacy_name; consensus} + CPreattestation {consensus} let string_of_bool_vector dal_attestation = let aux (acc, n) b = @@ -304,21 +298,18 @@ module Consensus = struct in Array.fold_left aux (0, 0) dal_attestation |> fst |> string_of_int - let kind_to_string kind ~use_legacy_name = - let name = function true -> "endorsement" | false -> "attestation" in + let kind_to_string kind = match kind with | Attestation {with_dal} -> - name use_legacy_name ^ if with_dal then "_with_dal" else "" - | Preattestation -> Format.sprintf "pre%s" (name use_legacy_name) + "attestation" ^ if with_dal then "_with_dal" else "" + | Preattestation -> Format.sprintf "preattestation" let json = function - | CAttestation {use_legacy_name; consensus; dal} -> + | CAttestation {consensus; dal} -> let with_dal = Option.is_some dal in `O ([ - ( "kind", - Ezjsonm.string - (kind_to_string (Attestation {with_dal}) ~use_legacy_name) ); + ("kind", Ezjsonm.string (kind_to_string (Attestation {with_dal}))); ("slot", Ezjsonm.int consensus.slot); ("level", Ezjsonm.int consensus.level); ("round", Ezjsonm.int consensus.round); @@ -332,11 +323,10 @@ module Consensus = struct ( "dal_attestation", Ezjsonm.string (string_of_bool_vector attestation) ); ]) - | CPreattestation {use_legacy_name; consensus} -> + | CPreattestation {consensus} -> `O [ - ( "kind", - Ezjsonm.string (kind_to_string Preattestation ~use_legacy_name) ); + ("kind", Ezjsonm.string (kind_to_string Preattestation)); ("slot", Ezjsonm.int consensus.slot); ("level", Ezjsonm.int consensus.level); ("round", Ezjsonm.int consensus.round); @@ -401,22 +391,21 @@ module Anonymous = struct type nonrec t = | Double_consensus_evidence of { kind : double_consensus_evidence_kind; - use_legacy_name : bool; op1 : t * Tezos_crypto.Signature.t; op2 : t * Tezos_crypto.Signature.t; } - let double_consensus_evidence ~kind ~use_legacy_name - (({kind = op1_kind; _}, _) as op1) (({kind = op2_kind; _}, _) as op2) = + let double_consensus_evidence ~kind (({kind = op1_kind; _}, _) as op1) + (({kind = op2_kind; _}, _) as op2) = match (kind, op1_kind, op2_kind) with | ( Double_attestation_evidence, Consensus {kind = Attestation {with_dal = false}; _}, Consensus {kind = Attestation {with_dal = false}; _} ) -> - Double_consensus_evidence {kind; use_legacy_name; op1; op2} + Double_consensus_evidence {kind; op1; op2} | ( Double_preattestation_evidence, Consensus {kind = Preattestation; _}, Consensus {kind = Preattestation; _} ) -> - Double_consensus_evidence {kind; use_legacy_name; op1; op2} + Double_consensus_evidence {kind; op1; op2} | _, _, _ -> Test.fail "Invalid arguments to create a double_consensus_evidence" @@ -426,14 +415,13 @@ module Anonymous = struct let double_preattestation_evidence = double_consensus_evidence ~kind:Double_preattestation_evidence - let kind_to_string kind ~use_legacy_name = + let kind_to_string kind = sf "double_%s_evidence" (Consensus.kind_to_string (match kind with | Double_attestation_evidence -> Attestation {with_dal = false} - | Double_preattestation_evidence -> Preattestation) - ~use_legacy_name) + | Double_preattestation_evidence -> Preattestation)) let denunced_op_json (op, signature) = `O @@ -444,12 +432,12 @@ module Anonymous = struct ] let json = function - | Double_consensus_evidence {kind; use_legacy_name; op1; op2} -> + | Double_consensus_evidence {kind; op1; op2} -> let op1 = denunced_op_json op1 in let op2 = denunced_op_json op2 in `O [ - ("kind", Ezjsonm.string (kind_to_string kind ~use_legacy_name)); + ("kind", Ezjsonm.string (kind_to_string kind)); ("op1", op1); ("op2", op2); ] @@ -494,7 +482,6 @@ module Anonymous = struct let consensus = Consensus.consensus ~kind:(as_consensus_kind kind) - ~use_legacy_name:false ~slot ~level:misbehaviour_level ~round:misbehaviour_round @@ -510,12 +497,7 @@ module Anonymous = struct if String.compare oph1 oph2 < 1 then (op1, op2) else (op2, op1) in let* op1_sign = sign op1 client and* op2_sign = sign op2 client in - return - (double_consensus_evidence - ~kind - ~use_legacy_name:false - (op1, op1_sign) - (op2, op2_sign)) + return (double_consensus_evidence ~kind (op1, op1_sign) (op2, op2_sign)) end module Voting = struct diff --git a/tezt/lib_tezos/operation_core.mli b/tezt/lib_tezos/operation_core.mli index 9f444f9deabc..2374fadedb8d 100644 --- a/tezt/lib_tezos/operation_core.mli +++ b/tezt/lib_tezos/operation_core.mli @@ -244,13 +244,10 @@ module Consensus : sig (** A representation of a consensus operation. *) type t - (** [consensus ~kind ~use_legacy_name ~level ~round ~slot ~block_payload_hash] + (** [consensus ~kind ~level ~round ~slot ~block_payload_hash] crafts a consensus operation with the [kind] at [level] on the [round] - with the [slot] and [block_payload_hash]. If [use_legacy_name] is set, the - [kind] field in the crafted JSON will be "(pre)endorsement" instead of - "(pre)attestation". *) + with the [slot] and [block_payload_hash]. *) val consensus : - use_legacy_name:bool -> kind:consensus_kind -> slot:int -> level:int -> @@ -258,27 +255,17 @@ module Consensus : sig block_payload_hash:string -> t - (** [preattestation ?use_legacy_name ~level ~round ~slot ~block_payload_hash] + (** [preattestation ~level ~round ~slot ~block_payload_hash] crafts a preattestation operation at [level] on the [round] with the - [slot] and [block_payload_hash]. If [use_legacy_name] is set, the [kind] - field in the crafted JSON will be "preendorsement" instead of - "preattestation". *) + [slot] and [block_payload_hash]. *) val preattestation : - use_legacy_name:bool -> - slot:int -> - level:int -> - round:int -> - block_payload_hash:string -> - t + slot:int -> level:int -> round:int -> block_payload_hash:string -> t - (** [attestation ?use_legacy_name ~level ~round ~slot ~block_payload_hash + (** [attestation ~level ~round ~slot ~block_payload_hash ?dal_attestation ()] crafts an attestation operation at the given [level] on the given [round] with the given [slot] and [block_payload_hash] and - optionally the given [dal_attestation]. If [use_legacy_name] is set, the - [kind] field in the crafted JSON will be "endorsement" instead of - "attestation". *) + optionally the given [dal_attestation]. *) val attestation : - use_legacy_name:bool -> slot:int -> level:int -> round:int -> @@ -287,10 +274,9 @@ module Consensus : sig unit -> t - (** [kind_to_string kind ~use_legacy_name] returns the name of the - [kind]. If [use_legacy_name] is set, the name corresponding to the [kind] - will be "(pre)endorsement" instead of "(pre)attestation". *) - val kind_to_string : consensus_kind -> use_legacy_name:bool -> string + (** [kind_to_string kind ] returns the name of the + [kind]. *) + val kind_to_string : consensus_kind -> string (** [operation] constructs an operation from a consensus operation. the [client] is used to fetch the branch and the @@ -342,44 +328,34 @@ module Anonymous : sig | Double_attestation_evidence | Double_preattestation_evidence - (** [double_consensus_evidence ~kind ~use_legacy_name op1 op2] crafts a double + (** [double_consensus_evidence ~kind op1 op2] crafts a double consensus evidence operation with the [kind], [op1] and [op2]. Both operations should be of the same kind and the same as the one expected by - [kind]. If [use_legacy_name] is set, the [kind] field in the crafted JSON - will be "(pre)endorsement" instead of "(pre)attestation". *) + [kind]. *) val double_consensus_evidence : kind:double_consensus_evidence_kind -> - use_legacy_name:bool -> operation * Tezos_crypto.Signature.t -> operation * Tezos_crypto.Signature.t -> t - (** [double_attestation_evidence ~use_legacy_name op1 op2] crafts a double + (** [double_attestation_evidence op1 op2] crafts a double attestation evidence operation with op1 and op2. Both operations should be - attestations. If [use_legacy_name] is set, the [kind] field in the crafted - JSON will be "endorsement" instead of "attestation". *) + attestations. *) val double_attestation_evidence : - use_legacy_name:bool -> operation * Tezos_crypto.Signature.t -> operation * Tezos_crypto.Signature.t -> t - (** [double_preattestation_evidence ~use_legacy_name op1 op2] crafts a double - attestation evidence operation with op1 and op2. Both operations should be - preattestations. If [use_legacy_name] is set, the [kind] field in the - crafted JSON will be "preendorsement" instead of "preattestation". *) + (** [double_preattestation_evidence op1 op2] crafts a double + preattestation evidence operation with op1 and op2. Both operations should be + preattestations. *) val double_preattestation_evidence : - use_legacy_name:bool -> operation * Tezos_crypto.Signature.t -> operation * Tezos_crypto.Signature.t -> t - (** [kind_to_string kind ~use_legacy_name] return the name of the [kind]. If - [use_legacy_name] is set, the name corresponding to the [kind] will be - "double_(pre)endorsement_evidence" instead of - "double_(pre)attestation_evidence". *) - val kind_to_string : - double_consensus_evidence_kind -> use_legacy_name:bool -> string + (** [kind_to_string kind] return the name of the [kind]. *) + val kind_to_string : double_consensus_evidence_kind -> string (** [operation] constructs an operation from an anonymous operation. the [client] is used to fetch the branch and the [chain_id]. *) -- GitLab From a05ed7f032a5a80e8cd0ddd28b7c64c82ace65db Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Mon, 1 Jul 2024 16:52:25 +0200 Subject: [PATCH 2/3] tezt/tests: remove use_legacy_name from tests --- tezt/tests/dal.ml | 1 - tezt/tests/double_consensus.ml | 19 +++---------------- tezt/tests/prevalidator.ml | 5 ----- 3 files changed, 3 insertions(+), 22 deletions(-) diff --git a/tezt/tests/dal.ml b/tezt/tests/dal.ml index 00a4ac606e07..87ce0d5edbca 100644 --- a/tezt/tests/dal.ml +++ b/tezt/tests/dal.ml @@ -603,7 +603,6 @@ let inject_dal_attestation ?level ?(round = 0) ?payload_level ?force ?error ?request ~signer (Operation.Consensus.attestation - ~use_legacy_name:false ~level ~round ~dal_attestation diff --git a/tezt/tests/double_consensus.ml b/tezt/tests/double_consensus.ml index 5c0ec74649bf..a95b6fec9fdb 100644 --- a/tezt/tests/double_consensus.ml +++ b/tezt/tests/double_consensus.ml @@ -142,19 +142,13 @@ let double_consensus_wrong_slot let attest_utils = ( Client.attest_for, (fun ~slot ~level ~round ~block_payload_hash -> - Operation.Consensus.attestation - ~use_legacy_name:false - ~slot - ~level - ~round - ~block_payload_hash - ()), + Operation.Consensus.attestation ~slot ~level ~round ~block_payload_hash ()), double_attestation_waiter, "attestation" ) let preattest_utils = ( Client.preattest_for, - Operation.Consensus.preattestation ~use_legacy_name:false, + Operation.Consensus.preattestation, double_preattestation_waiter, "preattestation" ) @@ -361,13 +355,7 @@ let operation_too_old = "Craft and inject an attestation 1 level in the past and wait for \ [consensus_operation_too_old.v0] event from the accuser." ; let op = - Operation.Consensus.attestation - ~use_legacy_name:false - ~slot - ~level - ~round:3 - ~block_payload_hash - () + Operation.Consensus.attestation ~slot ~level ~round:3 ~block_payload_hash () in let waiter = consensus_operation_too_old_waiter accuser in let* _ = @@ -440,7 +428,6 @@ let operation_too_far_in_future = [consensus_operation_too_far_in_future.v0] event from the accuser." ; let op = Operation.Consensus.attestation - ~use_legacy_name:false ~slot:(List.hd slots) ~level ~round:0 diff --git a/tezt/tests/prevalidator.ml b/tezt/tests/prevalidator.ml index 00c6d63a4c2b..93649c73b46e 100644 --- a/tezt/tests/prevalidator.ml +++ b/tezt/tests/prevalidator.ml @@ -1890,7 +1890,6 @@ module Revamped = struct let inject_attestation (delegate : Account.key) = Operation.Consensus.inject (Operation.Consensus.attestation - ~use_legacy_name:false ~slot:(Operation.Consensus.first_slot ~slots_json delegate) ~level ~round:0 @@ -2142,7 +2141,6 @@ module Revamped = struct let* op = Operation.Consensus.operation (Operation.Consensus.attestation - ~use_legacy_name:false ~slot:(Operation.Consensus.first_slot ~slots_json delegate) ~level ~round:0 @@ -2404,7 +2402,6 @@ module Revamped = struct let inject_attestation (account : Account.key) = Operation.Consensus.inject (Operation.Consensus.attestation - ~use_legacy_name:false ~slot:(Operation.Consensus.first_slot ~slots_json account) ~level ~round:0 @@ -2538,7 +2535,6 @@ module Revamped = struct let inject_attestation ~(account : Account.key) ~(signer : Account.key) = Operation.Consensus.inject (Operation.Consensus.attestation - ~use_legacy_name:false ~slot:(Operation.Consensus.first_slot ~slots_json account) ~level ~round:0 @@ -2747,7 +2743,6 @@ module Revamped = struct in let op = Operation.Consensus.attestation - ~use_legacy_name:false ~slot ~level ~round -- GitLab From f00a626ec222a0224540e3706e5f1e24303fea5f Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Mon, 1 Jul 2024 17:24:47 +0200 Subject: [PATCH 3/3] tezt/tests: clean rpc_versioning_attestation file --- tezt/tests/rpc_versioning_attestation.ml | 364 +++++------------------ 1 file changed, 75 insertions(+), 289 deletions(-) diff --git a/tezt/tests/rpc_versioning_attestation.ml b/tezt/tests/rpc_versioning_attestation.ml index c775949027ce..166b85a29af6 100644 --- a/tezt/tests/rpc_versioning_attestation.ml +++ b/tezt/tests/rpc_versioning_attestation.ml @@ -61,15 +61,8 @@ let get_consensus_info delegate client = let mk_consensus ?(slot = 1) ?(level = 1) ?(round = 0) ?(block_payload_hash = - "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG") kind - use_legacy_name = - Operation.Consensus.consensus - ~kind - ~use_legacy_name - ~slot - ~level - ~round - ~block_payload_hash + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG") kind = + Operation.Consensus.consensus ~kind ~slot ~level ~round ~block_payload_hash let check_kind json kind = let json_kind = @@ -78,9 +71,9 @@ let check_kind json kind = if not (String.equal json_kind kind) then Test.fail ~__LOC__ "Operation should have %s kind, got: %s" kind json_kind -let check_version ~version ~use_legacy_name ~check ~rpc ~get_name ~data client = +let check_version ~version ~check ~rpc ~get_name ~data client = let* t = Client.RPC.call client @@ rpc ~version data in - return (check ~use_legacy_name t (get_name ~use_legacy_name)) + return (check t get_name) let check_unknown_version ~version ~rpc ~data client = let*? p = Client.RPC.spawn client @@ rpc ~version data in @@ -92,28 +85,15 @@ let check_rpc_versions ?(new_ = "1") ?(unknown = "2") ~check ~rpc ~get_name Log.info "Call the rpc with the new version and check that the operations returned \ contain attestation kinds" ; - let* () = - check_version - ~version:new_ - ~use_legacy_name:false - ~check - ~rpc - ~get_name - ~data - client - in + let* () = check_version ~version:new_ ~check ~rpc ~get_name ~data client in Log.info "Call the rpc with an unknown version and check that the call fails" ; check_unknown_version ~version:unknown ~rpc ~data client -let create_consensus_op ?slot ?level ?round ?block_payload_hash ~use_legacy_name - ~signer ~kind client = - let consensus_name = - Operation.Consensus.kind_to_string kind ~use_legacy_name - in +let create_consensus_op ?slot ?level ?round ?block_payload_hash ~signer ~kind + client = + let consensus_name = Operation.Consensus.kind_to_string kind in Log.info "Create an %s operation" consensus_name ; - let consensus = - mk_consensus ?slot ?level ?round ?block_payload_hash kind use_legacy_name - in + let consensus = mk_consensus ?slot ?level ?round ?block_payload_hash kind in let* consensus_op = Operation.Consensus.operation ~signer consensus client in Log.info "Ensures that the generated JSON contains the %s kind" consensus_name ; @@ -123,18 +103,16 @@ let create_consensus_op ?slot ?level ?round ?block_payload_hash ~use_legacy_name check_kind consensus_json consensus_name ; Lwt.return consensus_op -let mk_double_consensus_evidence kind use_legacy_name op1 op2 client = +let mk_double_consensus_evidence kind op1 op2 client = let* op1_sign = Operation.sign op1 client in let* op2_sign = Operation.sign op2 client in return (Operation.Anonymous.double_consensus_evidence ~kind - ~use_legacy_name (op1, op1_sign) (op2, op2_sign)) -let create_double_consensus_evidence ~use_legacy_name ~double_evidence_kind - client = +let create_double_consensus_evidence ~double_evidence_kind client = let consensus_kind = match double_evidence_kind with | Operation.Anonymous.Double_attestation_evidence -> @@ -143,7 +121,7 @@ let create_double_consensus_evidence ~use_legacy_name ~double_evidence_kind Operation.Preattestation in let consensus_name = - Operation.Anonymous.kind_to_string double_evidence_kind ~use_legacy_name + Operation.Anonymous.kind_to_string double_evidence_kind in Log.info "Create an %s operation" consensus_name ; @@ -157,8 +135,8 @@ let create_double_consensus_evidence ~use_legacy_name ~double_evidence_kind ~block_payload_hash ~slot:(List.nth slots 1) consensus_kind - use_legacy_name in + let* op1 = Operation.Consensus.operation ~signer consensus1 client in let* (`OpHash oph1) = Operation.hash op1 client in let consensus2 = @@ -167,20 +145,15 @@ let create_double_consensus_evidence ~use_legacy_name ~double_evidence_kind ~block_payload_hash ~slot:(List.nth slots 2) consensus_kind - use_legacy_name in + let* op2 = Operation.Consensus.operation ~signer consensus2 client in let* (`OpHash oph2) = Operation.hash op2 client in let op1, op2 = if String.compare oph1 oph2 < 1 then (op1, op2) else (op2, op1) in let* double_consensus_evidence = - mk_double_consensus_evidence - double_evidence_kind - use_legacy_name - op1 - op2 - client + mk_double_consensus_evidence double_evidence_kind op1 op2 client in let* double_consensus_evidence_op = Operation.Anonymous.operation double_consensus_evidence client @@ -194,27 +167,16 @@ let create_double_consensus_evidence ~use_legacy_name ~double_evidence_kind Lwt.return double_consensus_evidence_op module Forge = struct - let check_hex_from_ops op1 op2 client = - Log.info - "Ensures that Bytes returned from calling the forge RPC on both \ - operations are identical" ; - let* (`Hex op1_raw) = Operation.hex op1 client in - let* (`Hex op2_raw) = Operation.hex op2 client in - if not (String.equal op1_raw op2_raw) then - Test.fail ~__LOC__ "Bytes are not equal, got: %s and: %s" op1_raw op2_raw - else unit + let check_hex_from_op op client = + Log.info "Ensures that the forge RPC succeed" ; + let* (`Hex _op_raw) = Operation.hex op client in + unit let test_consensus kind protocol = let* _node, client = Client.init_with_protocol ~protocol `Client () in let signer = Constant.bootstrap1 in - - let* legacy_consensus_op = - create_consensus_op ~use_legacy_name:true ~signer ~kind client - in - let* consensus_op = - create_consensus_op ~use_legacy_name:false ~signer ~kind client - in - check_hex_from_ops legacy_consensus_op consensus_op client + let* consensus_op = create_consensus_op ~signer ~kind client in + check_hex_from_op consensus_op client let test_forge_consensus = register_test @@ -232,23 +194,10 @@ module Forge = struct let test_double_consensus_evidence double_evidence_kind protocol = let* node, client = Client.init_with_protocol ~protocol `Client () in let* () = Client.bake_for_and_wait ~node client in - - let* legacy_double_consensus_evidence_op = - create_double_consensus_evidence - ~use_legacy_name:true - ~double_evidence_kind - client - in let* double_consensus_evidence_op = - create_double_consensus_evidence - ~use_legacy_name:false - ~double_evidence_kind - client + create_double_consensus_evidence ~double_evidence_kind client in - check_hex_from_ops - legacy_double_consensus_evidence_op - double_consensus_evidence_op - client + check_hex_from_op double_consensus_evidence_op client let test_forge_double_consensus_evidence = register_test @@ -270,99 +219,11 @@ module Forge = struct Operation.Anonymous.Double_preattestation_evidence protocol - let test_invalid_double_consensus_evidence double_evidence_kind protocol = - let* node, client = Client.init_with_protocol ~protocol `Client () in - let* () = Client.bake_for_and_wait ~node client in - - let create_double_consensus_evidence ~use_legacy_name = - let consensus_kind = - match double_evidence_kind with - | Operation.Anonymous.Double_attestation_evidence -> - Operation.Attestation {with_dal = false} - | Operation.Anonymous.Double_preattestation_evidence -> - Operation.Preattestation - in - let consensus_name = - Operation.Anonymous.kind_to_string double_evidence_kind ~use_legacy_name - in - Log.info "Create an %s operation" consensus_name ; - - let signer = Constant.bootstrap1 in - let consensus1 = mk_consensus consensus_kind use_legacy_name in - let* op1 = Operation.Consensus.operation ~signer consensus1 client in - let consensus2 = - mk_consensus ~slot:2 consensus_kind (not use_legacy_name) - in - let* op2 = Operation.Consensus.operation ~signer consensus2 client in - let* double_consensus_evidence = - mk_double_consensus_evidence - double_evidence_kind - use_legacy_name - op1 - op2 - client - in - let* double_consensus_evidence_op = - Operation.Anonymous.operation double_consensus_evidence client - in - - Log.info - "Ensures that the generated JSON contains the %s kind" - consensus_name ; - let consensus_json = Operation.json double_consensus_evidence_op in - let annotated_json = JSON.annotate ~origin:__LOC__ @@ consensus_json in - check_kind annotated_json consensus_name ; - - Log.info - "Ensures that the generated JSON cannot be parsed by the forge RPC" ; - let*? t = - Client.RPC.spawn client - @@ RPC.post_chain_block_helpers_forge_operations - ~data:(Data consensus_json) - () - in - let msg = rex "Failed to parse the request body: No case matched:" in - Process.check_error ~msg t - in - - let* () = create_double_consensus_evidence ~use_legacy_name:true in - create_double_consensus_evidence ~use_legacy_name:false - - let test_forge_invalid_double_consensus_evidence = - register_test - ~title:"Forge invalid double consensus evidence operations" - ~additionnal_tags: - ["forge"; "operations"; "consensus"; "double"; "evidence"; "invalid"] - @@ fun protocol -> - test_invalid_double_consensus_evidence - Operation.Anonymous.Double_attestation_evidence - protocol - - let test_forge_invalid_double_preconsensus_evidence = - register_test - ~title:"Forge invalid double pre-consensus evidence operations" - ~additionnal_tags: - [ - "forge"; - "operations"; - "consensus"; - "pre"; - "double"; - "evidence"; - "invalid"; - ] - @@ fun protocol -> - test_invalid_double_consensus_evidence - Operation.Anonymous.Double_preattestation_evidence - protocol - let register ~protocols = test_forge_consensus protocols ; test_forge_preconsensus protocols ; test_forge_double_consensus_evidence protocols ; - test_forge_double_preconsensus_evidence protocols ; - test_forge_invalid_double_consensus_evidence protocols ; - test_forge_invalid_double_preconsensus_evidence protocols + test_forge_double_preconsensus_evidence protocols end module Parse = struct @@ -371,7 +232,7 @@ module Parse = struct ~version (`A [JSON.unannotate raw]) - let check_parsed_kind ~use_legacy_name:_ json kind = + let check_parsed_kind json kind = check_kind JSON.(json |> as_list |> List.hd) kind let create_raw_op ~protocol op client = @@ -389,9 +250,7 @@ module Parse = struct let* _node, client = Client.init_with_protocol ~protocol `Client () in let signer = Constant.bootstrap1 in - let* consensus_op = - create_consensus_op ~use_legacy_name:false ~signer ~kind client - in + let* consensus_op = create_consensus_op ~signer ~kind client in let* raw = create_raw_op ~protocol consensus_op client in check_rpc_versions @@ -422,10 +281,7 @@ module Parse = struct let create_raw_double_consensus_evidence () = let* double_consensus_evidence_op = - create_double_consensus_evidence - ~use_legacy_name:false - ~double_evidence_kind - client + create_double_consensus_evidence ~double_evidence_kind client in create_raw_op ~protocol double_consensus_evidence_op client in @@ -474,14 +330,12 @@ module Mempool = struct let* _node, client = Client.init_with_protocol ~protocol `Client () in let signer = Constant.bootstrap1 in - let* consensus_op = - create_consensus_op ~use_legacy_name:true ~signer ~kind client - in + let* consensus_op = create_consensus_op ~signer ~kind client in let* (`OpHash _) = Operation.inject ~force:true ~request:`Inject consensus_op client in - let check ~use_legacy_name:_ json = + let check json = check_kind JSON.(json |-> "refused" |> as_list |> List.hd) in let get_name = Operation.Consensus.kind_to_string kind in @@ -516,21 +370,14 @@ module Mempool = struct let* () = Client.bake_for_and_wait ~node client in let* consensus_op = - create_double_consensus_evidence - ~use_legacy_name:true - ~double_evidence_kind - client + create_double_consensus_evidence ~double_evidence_kind client in let* (`OpHash _) = Operation.inject ~force:true ~request:`Inject consensus_op client in - let check ~use_legacy_name json = - check_kind - JSON.( - json - |-> (if use_legacy_name then "applied" else "validated") - |> as_list |> List.hd) + let check json = + check_kind JSON.(json |-> "validated" |> as_list |> List.hd) in let get_name = Operation.Anonymous.kind_to_string double_evidence_kind in check_rpc_versions @@ -617,19 +464,17 @@ module Mempool = struct let*? p = monitor_mempool node in - let* consensus_op = - create_consensus_op ~use_legacy_name:true ~signer ~kind client - in + let* consensus_op = create_consensus_op ~signer ~kind client in let* (`OpHash _) = Operation.inject ~force:true ~request:`Inject consensus_op client in let* () = Client.bake_for_and_wait ~node client in - let check_monitor_mempool p ~use_legacy_name = - let name = Operation.Consensus.kind_to_string kind ~use_legacy_name in + let check_monitor_mempool p = + let name = Operation.Consensus.kind_to_string kind in check_monitor_mempool p name in - let* () = check_monitor_mempool p ~use_legacy_name:false in + let* () = check_monitor_mempool p in check_invalid_monitor_mempool_version node let test_monitor_consensus = @@ -656,23 +501,18 @@ module Mempool = struct let*? p = monitor_mempool node in let* consensus_op = - create_double_consensus_evidence - ~use_legacy_name:true - ~double_evidence_kind - client + create_double_consensus_evidence ~double_evidence_kind client in let* (`OpHash _) = Operation.inject ~force:true ~request:`Inject consensus_op client in let* () = Client.bake_for_and_wait ~node client in - let check_monitor_mempool p ~use_legacy_name = - let name = - Operation.Anonymous.kind_to_string double_evidence_kind ~use_legacy_name - in + let check_monitor_mempool p = + let name = Operation.Anonymous.kind_to_string double_evidence_kind in check_monitor_mempool p name in - let* () = check_monitor_mempool p ~use_legacy_name:false in + let* () = check_monitor_mempool p in check_invalid_monitor_mempool_version node let test_monitor_double_consensus_evidence = @@ -747,20 +587,13 @@ module Run_Simulate = struct Process.check_error ~msg p in - let call_and_check_error ~use_legacy_name = - Log.info - "Create a %s operation, call %s and check that the call fail" - (Operation.Consensus.kind_to_string kind ~use_legacy_name) - (get_rpc_name rpc) ; - - let* consensus_op = - create_consensus_op ~use_legacy_name ~signer ~kind client - in - call_rpc_operation_and_check_error consensus_op - in + Log.info + "Create a %s operation, call %s and check that the call fail" + (Operation.Consensus.kind_to_string kind) + (get_rpc_name rpc) ; - let* () = call_and_check_error ~use_legacy_name:true in - call_and_check_error ~use_legacy_name:false + let* consensus_op = create_consensus_op ~signer ~kind client in + call_rpc_operation_and_check_error consensus_op let test_run_operation_consensus = register_test @@ -800,32 +633,23 @@ module Run_Simulate = struct let* node, client = Client.init_with_protocol ~protocol `Client () in let* () = Client.bake_for_and_wait ~node client in - let call_and_check_versions ~use_legacy_name_in_input = - Log.info - "Create a %s operation and call %s " - (Operation.Anonymous.kind_to_string - double_evidence_kind - ~use_legacy_name:use_legacy_name_in_input) - (get_rpc_name rpc) ; - - let* consensus_op = - create_double_consensus_evidence - ~use_legacy_name:use_legacy_name_in_input - ~double_evidence_kind - client - in - let* op_json = Operation.make_run_operation_input consensus_op client in + Log.info + "Create a %s operation and call %s " + (Operation.Anonymous.kind_to_string double_evidence_kind) + (get_rpc_name rpc) ; - let rpc ~version data = get_rpc rpc ~version data in - check_rpc_versions - ~check:(fun ~use_legacy_name:_ -> check_kind) - ~rpc - ~get_name:(Operation.Anonymous.kind_to_string double_evidence_kind) - ~data:op_json - client + let* consensus_op = + create_double_consensus_evidence ~double_evidence_kind client in - let* () = call_and_check_versions ~use_legacy_name_in_input:true in - call_and_check_versions ~use_legacy_name_in_input:false + let* op_json = Operation.make_run_operation_input consensus_op client in + + let rpc ~version data = get_rpc rpc ~version data in + check_rpc_versions + ~check:check_kind + ~rpc + ~get_name:(Operation.Anonymous.kind_to_string double_evidence_kind) + ~data:op_json + client let test_run_operation_double_consensus_evidence = register_test @@ -899,7 +723,6 @@ module Preapply = struct ~level ~slot:(List.hd slots) ~block_payload_hash - ~use_legacy_name:false ~signer ~kind client @@ -912,12 +735,9 @@ module Preapply = struct consensus_op in let get_name = Operation.Consensus.kind_to_string kind in - let check ~use_legacy_name:_ json = - check_kind JSON.(json |> as_list |> List.hd) - in + let check json = check_kind JSON.(json |> as_list |> List.hd) in check_version ~version:"1" - ~use_legacy_name:false ~check ~rpc ~get_name @@ -945,10 +765,7 @@ module Preapply = struct let preapply_op () = let* double_consensus_evidence_op = - create_double_consensus_evidence - ~use_legacy_name:false - ~double_evidence_kind - client + create_double_consensus_evidence ~double_evidence_kind client in let* signature = Operation.sign double_consensus_evidence_op client in let consensus_json = @@ -958,12 +775,9 @@ module Preapply = struct double_consensus_evidence_op in let get_name = Operation.Anonymous.kind_to_string double_evidence_kind in - let check ~use_legacy_name:_ json = - check_kind JSON.(json |> as_list |> List.hd) - in + let check json = check_kind JSON.(json |> as_list |> List.hd) in check_version ~version:"1" - ~use_legacy_name:false ~check ~rpc ~get_name @@ -983,7 +797,7 @@ module Preapply = struct let test_preapply_double_preconsensus_evidence = register_test - ~title:"Preapply operation with duoble preconsensus evidence operations" + ~title:"Preapply operation with double preconsensus evidence operations" ~additionnal_tags:["preapply"; "double"; "operations"; "pre"; "consensus"] @@ fun protocol -> test_double_consensus_evidence @@ -1002,8 +816,7 @@ module Block = struct Log.info "Check kind for operation rpc" ; check_version ~version:"1" - ~use_legacy_name:false - ~check:(fun ~use_legacy_name:_ -> check_kind) + ~check:check_kind ~get_name ~rpc:(fun ~version () -> RPC.get_chain_block_operations_validation_pass @@ -1017,10 +830,9 @@ module Block = struct let call_and_check_operations_validation_pass ~validation_pass get_name client = Log.info "Check kind for operations_validation_pass rpc" ; - let check ~use_legacy_name:_ json = check_kind JSON.(json |=> 0) in + let check json = check_kind JSON.(json |=> 0) in check_version ~version:"1" - ~use_legacy_name:false ~check ~get_name ~rpc:(fun ~version () -> @@ -1033,12 +845,9 @@ module Block = struct let call_and_check_operations ~validation_pass get_name client = Log.info "Check kind for operations rpc" ; - let check ~use_legacy_name:_ json = - check_kind JSON.(json |=> validation_pass |=> 0) - in + let check json = check_kind JSON.(json |=> validation_pass |=> 0) in check_version ~version:"1" - ~use_legacy_name:false ~check ~get_name ~rpc:(fun ~version () -> RPC.get_chain_block_operations ~version ()) @@ -1047,12 +856,11 @@ module Block = struct let call_and_check_block ~validation_pass get_name client = Log.info "Check kind for block rpc" ; - let check ~use_legacy_name:_ json = + let check json = check_kind JSON.(json |-> "operations" |=> validation_pass |=> 0) in check_version ~version:"1" - ~use_legacy_name:false ~check ~get_name ~rpc:(fun ~version () -> RPC.get_chain_block ~version ()) @@ -1074,7 +882,6 @@ module Block = struct ~slot:(List.hd slots) ~kind ~signer - ~use_legacy_name:false client in let* signature = Operation.sign consensus1 client in @@ -1103,12 +910,7 @@ module Block = struct let* node, client = Client.init_with_protocol ~protocol `Client () in let* () = Client.bake_for_and_wait ~node client in - let* op = - create_double_consensus_evidence - ~double_evidence_kind - ~use_legacy_name:false - client - in + let* op = create_double_consensus_evidence ~double_evidence_kind client in let* (`OpHash _) = Operation.inject ~request:`Inject op client in let* () = Client.bake_for_and_wait ~node client in @@ -1152,12 +954,10 @@ module Block = struct "Bake 7 blocks to reach the end of a cycle with the metadata containing \ consensus rewards" ; let* () = repeat 7 (fun () -> Client.bake_for_and_wait ~node client) in - let get_name ~use_legacy_name = - if use_legacy_name then "endorsing" else "attesting" - in + let get_name = "attesting" in Log.info "Check block info RPC" ; - let check ~use_legacy_name:_ json name = + let check json name = let balance_updates = JSON.(json |-> "metadata" |-> "balance_updates" |> as_list) in @@ -1179,18 +979,11 @@ module Block = struct in let rpc ~version _ = RPC.get_chain_block ~version () in let* () = - check_version - ~version:"1" - ~use_legacy_name:false - ~check - ~rpc - ~get_name - ~data:() - client + check_version ~version:"1" ~check ~rpc ~get_name ~data:() client in Log.info "Check the block metadata RPC" ; - let check ~use_legacy_name:_ (metadata : RPC.block_metadata) name = + let check (metadata : RPC.block_metadata) name = let check_category name = if not @@ -1211,14 +1004,7 @@ module Block = struct in let rpc ~version data = RPC.get_chain_block_metadata ~version data in let* () = - check_version - ~version:"1" - ~use_legacy_name:false - ~check - ~rpc - ~get_name - ~data:() - client + check_version ~version:"1" ~check ~rpc ~get_name ~data:() client in unit -- GitLab