From d3a4e723f972031d87cdde0d6366709b8ea4b83f Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Thu, 4 Jul 2024 14:41:06 +0200 Subject: [PATCH 1/5] protocol_environement: introduce environement_protocol_T_V13 --- .../environment_V0.ml | 2 +- .../environment_V1.ml | 2 +- .../environment_V2.ml | 2 +- .../environment_protocol_T.ml | 4 +- .../environment_protocol_T_V13.ml | 223 ++++++++++++++++++ 5 files changed, 228 insertions(+), 5 deletions(-) create mode 100644 src/lib_protocol_environment/environment_protocol_T_V13.ml diff --git a/src/lib_protocol_environment/environment_V0.ml b/src/lib_protocol_environment/environment_V0.ml index 67a697bb9b06..e3330ccf9c23 100644 --- a/src/lib_protocol_environment/environment_V0.ml +++ b/src/lib_protocol_environment/environment_V0.ml @@ -833,7 +833,7 @@ struct end module Lift (P : Updater.PROTOCOL) = struct - include IgnoreCaches (Environment_protocol_T.V0toV10 (LiftV0 (P))) + include IgnoreCaches (Environment_protocol_T.V0toV13 (LiftV0 (P))) let set_log_message_consumer _ = () diff --git a/src/lib_protocol_environment/environment_V1.ml b/src/lib_protocol_environment/environment_V1.ml index 8325d72e2a3b..e53ff1cc44dc 100644 --- a/src/lib_protocol_environment/environment_V1.ml +++ b/src/lib_protocol_environment/environment_V1.ml @@ -963,7 +963,7 @@ struct end module Lift (P : Updater.PROTOCOL) = struct - include IgnoreCaches (Environment_protocol_T.V0toV10 (LiftV1 (P))) + include IgnoreCaches (Environment_protocol_T.V0toV13 (LiftV1 (P))) let set_log_message_consumer _ = () diff --git a/src/lib_protocol_environment/environment_V2.ml b/src/lib_protocol_environment/environment_V2.ml index 63abd1a64dd9..1ccbcee9325e 100644 --- a/src/lib_protocol_environment/environment_V2.ml +++ b/src/lib_protocol_environment/environment_V2.ml @@ -958,7 +958,7 @@ struct end module Lift (P : Updater.PROTOCOL) = struct - include IgnoreCaches (Environment_protocol_T.V0toV10 (LiftV2 (P))) + include IgnoreCaches (Environment_protocol_T.V0toV13 (LiftV2 (P))) let set_log_message_consumer _ = () diff --git a/src/lib_protocol_environment/environment_protocol_T.ml b/src/lib_protocol_environment/environment_protocol_T.ml index c7ca0e0cd831..0f5d2b167a35 100644 --- a/src/lib_protocol_environment/environment_protocol_T.ml +++ b/src/lib_protocol_environment/environment_protocol_T.ml @@ -49,11 +49,11 @@ open Environment_context environment ([module type Vx_T]). If you want to mock this module type, see {!Environment_protocol_T_test}. *) -module type T = Environment_protocol_T_V10.T +module type T = Environment_protocol_T_V13.T (* Documentation for this interface may be found in module type [PROTOCOL] of [sigs/v6/updater.mli]. *) -module V0toV10 +module V0toV13 (E : Environment_protocol_T_V0.T with type context := Context.t and type quota := quota diff --git a/src/lib_protocol_environment/environment_protocol_T_V13.ml b/src/lib_protocol_environment/environment_protocol_T_V13.ml new file mode 100644 index 000000000000..10a4be680334 --- /dev/null +++ b/src/lib_protocol_environment/environment_protocol_T_V13.ml @@ -0,0 +1,223 @@ +(*****************************************************************************) +(* *) +(* Open Source License *) +(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) +(* Copyright (c) 2018 Nomadic Labs. *) +(* *) +(* Permission is hereby granted, free of charge, to any person obtaining a *) +(* copy of this software and associated documentation files (the "Software"),*) +(* to deal in the Software without restriction, including without limitation *) +(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) +(* and/or sell copies of the Software, and to permit persons to whom the *) +(* Software is furnished to do so, subject to the following conditions: *) +(* *) +(* The above copyright notice and this permission notice shall be included *) +(* in all copies or substantial portions of the Software. *) +(* *) +(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) +(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) +(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) +(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) +(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) +(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) +(* DEALINGS IN THE SOFTWARE. *) +(* *) +(*****************************************************************************) + +(* Documentation for this interface can be found in + module type [PROTOCOL] of [sigs/v13/updater.mli]. *) + +module type T = sig + type context + + type quota + + type validation_result + + type rpc_context + + type tztrace + + type 'a tzresult + + val max_block_length : int + + val max_operation_data_length : int + + val validation_passes : quota list + + type block_header_data + + val block_header_data_encoding : block_header_data Data_encoding.t + + type block_header = { + shell : Block_header.shell_header; + protocol_data : block_header_data; + } + + type block_header_metadata + + val block_header_metadata_encoding_with_legacy_attestation_name : + block_header_metadata Data_encoding.t + + val block_header_metadata_encoding : block_header_metadata Data_encoding.t + + type operation_data + + type operation_receipt + + type operation = { + shell : Operation.shell_header; + protocol_data : operation_data; + } + + val operation_data_encoding : operation_data Data_encoding.t + + val operation_data_encoding_with_legacy_attestation_name : + operation_data Data_encoding.t + + val operation_receipt_encoding : operation_receipt Data_encoding.t + + val operation_receipt_encoding_with_legacy_attestation_name : + operation_receipt Data_encoding.t + + val operation_data_and_receipt_encoding : + (operation_data * operation_receipt) Data_encoding.t + + val operation_data_and_receipt_encoding_with_legacy_attestation_name : + (operation_data * operation_receipt) Data_encoding.t + + val acceptable_pass : operation -> int option + + val compare_operations : + Tezos_crypto.Hashed.Operation_hash.t * operation -> + Tezos_crypto.Hashed.Operation_hash.t * operation -> + int + + type validation_state + + type application_state + + type mode = + | Application of block_header + | Partial_validation of block_header + | Construction of { + predecessor_hash : Tezos_crypto.Hashed.Block_hash.t; + timestamp : Time.Protocol.t; + block_header_data : block_header_data; + } + | Partial_construction of { + predecessor_hash : Tezos_crypto.Hashed.Block_hash.t; + timestamp : Time.Protocol.t; + } + + val begin_validation : + context -> + Tezos_crypto.Hashed.Chain_id.t -> + mode -> + predecessor:Block_header.shell_header -> + validation_state tzresult Lwt.t + + val validate_operation : + ?check_signature:bool -> + validation_state -> + Tezos_crypto.Hashed.Operation_hash.t -> + operation -> + validation_state tzresult Lwt.t + + val finalize_validation : validation_state -> unit tzresult Lwt.t + + val begin_application : + context -> + Tezos_crypto.Hashed.Chain_id.t -> + mode -> + predecessor:Block_header.shell_header -> + application_state tzresult Lwt.t + + val apply_operation : + application_state -> + Tezos_crypto.Hashed.Operation_hash.t -> + operation -> + (application_state * operation_receipt) tzresult Lwt.t + + val finalize_application : + application_state -> + Block_header.shell_header option -> + (validation_result * block_header_metadata) tzresult Lwt.t + + val rpc_services : rpc_context Tezos_rpc.Directory.t + + val init : + Tezos_crypto.Hashed.Chain_id.t -> + context -> + Block_header.shell_header -> + validation_result tzresult Lwt.t + + type cache_value + + type cache_key + + val value_of_key : + chain_id:Tezos_crypto.Hashed.Chain_id.t -> + predecessor_context:context -> + predecessor_timestamp:Time.Protocol.t -> + predecessor_level:Int32.t -> + predecessor_fitness:Fitness.t -> + predecessor:Tezos_crypto.Hashed.Block_hash.t -> + timestamp:Time.Protocol.t -> + (cache_key -> cache_value tzresult Lwt.t) tzresult Lwt.t + + module Mempool : sig + type t + + type validation_info + + type conflict_handler = + existing_operation:Tezos_crypto.Hashed.Operation_hash.t * operation -> + new_operation:Tezos_crypto.Hashed.Operation_hash.t * operation -> + [`Keep | `Replace] + + type operation_conflict = + | Operation_conflict of { + existing : Tezos_crypto.Hashed.Operation_hash.t; + new_operation : Tezos_crypto.Hashed.Operation_hash.t; + } + + type add_result = + | Added + | Replaced of {removed : Tezos_crypto.Hashed.Operation_hash.t} + | Unchanged + + type add_error = + | Validation_error of tztrace + | Add_conflict of operation_conflict + + type merge_error = + | Incompatible_mempool + | Merge_conflict of operation_conflict + + val init : + context -> + Tezos_crypto.Hashed.Chain_id.t -> + head_hash:Tezos_crypto.Hashed.Block_hash.t -> + head:Block_header.shell_header -> + (validation_info * t) tzresult Lwt.t + + val encoding : t Data_encoding.t + + val add_operation : + ?check_signature:bool -> + ?conflict_handler:conflict_handler -> + validation_info -> + t -> + Tezos_crypto.Hashed.Operation_hash.t * operation -> + (t * add_result, add_error) result Lwt.t + + val remove_operation : t -> Tezos_crypto.Hashed.Operation_hash.t -> t + + val merge : + ?conflict_handler:conflict_handler -> t -> t -> (t, merge_error) result + + val operations : t -> operation Tezos_crypto.Hashed.Operation_hash.Map.t + end +end -- GitLab From d4b3d27e85024e947a80d9e79581ccfa3dd7a612 Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Thu, 4 Jul 2024 14:54:57 +0200 Subject: [PATCH 2/5] octez: remove with_legacy_attestation_name encodings in the protocol environement --- src/lib_protocol_environment/environment_V3.ml | 12 ------------ src/lib_protocol_environment/environment_V4.ml | 12 ------------ src/lib_protocol_environment/environment_V5.ml | 12 ------------ src/lib_protocol_environment/environment_V6.ml | 12 ------------ src/lib_protocol_environment/environment_V7.ml | 12 ------------ src/lib_protocol_environment/environment_V8.ml | 12 ------------ src/lib_protocol_environment/environment_V9.ml | 12 ------------ .../environment_protocol_T_V13.ml | 12 ------------ .../environment_protocol_T_test.ml | 12 ------------ 9 files changed, 108 deletions(-) diff --git a/src/lib_protocol_environment/environment_V3.ml b/src/lib_protocol_environment/environment_V3.ml index 40d9899b6e96..14baa6efad1d 100644 --- a/src/lib_protocol_environment/environment_V3.ml +++ b/src/lib_protocol_environment/environment_V3.ml @@ -1044,18 +1044,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_V4.ml b/src/lib_protocol_environment/environment_V4.ml index 0627db62e94d..2e1375784bfc 100644 --- a/src/lib_protocol_environment/environment_V4.ml +++ b/src/lib_protocol_environment/environment_V4.ml @@ -1061,18 +1061,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_V5.ml b/src/lib_protocol_environment/environment_V5.ml index 296a46b19f11..e496b8bc6f6b 100644 --- a/src/lib_protocol_environment/environment_V5.ml +++ b/src/lib_protocol_environment/environment_V5.ml @@ -1038,18 +1038,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_V6.ml b/src/lib_protocol_environment/environment_V6.ml index 081a8bf70e49..f8b235bdb42c 100644 --- a/src/lib_protocol_environment/environment_V6.ml +++ b/src/lib_protocol_environment/environment_V6.ml @@ -1131,18 +1131,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_V7.ml b/src/lib_protocol_environment/environment_V7.ml index 9594346c47bf..5cf3114d9e5e 100644 --- a/src/lib_protocol_environment/environment_V7.ml +++ b/src/lib_protocol_environment/environment_V7.ml @@ -1113,18 +1113,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_V8.ml b/src/lib_protocol_environment/environment_V8.ml index 0d67854dd2c6..4a1cd9cd3606 100644 --- a/src/lib_protocol_environment/environment_V8.ml +++ b/src/lib_protocol_environment/environment_V8.ml @@ -1191,18 +1191,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_V9.ml b/src/lib_protocol_environment/environment_V9.ml index 8320b661c4f1..85955703fa3e 100644 --- a/src/lib_protocol_environment/environment_V9.ml +++ b/src/lib_protocol_environment/environment_V9.ml @@ -1191,18 +1191,6 @@ struct include P - let block_header_metadata_encoding_with_legacy_attestation_name = - block_header_metadata_encoding - - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let value_of_key ~chain_id ~predecessor_context ~predecessor_timestamp ~predecessor_level ~predecessor_fitness ~predecessor ~timestamp = let open Lwt_result_syntax in diff --git a/src/lib_protocol_environment/environment_protocol_T_V13.ml b/src/lib_protocol_environment/environment_protocol_T_V13.ml index 10a4be680334..422159a72f88 100644 --- a/src/lib_protocol_environment/environment_protocol_T_V13.ml +++ b/src/lib_protocol_environment/environment_protocol_T_V13.ml @@ -57,9 +57,6 @@ module type T = sig type block_header_metadata - val block_header_metadata_encoding_with_legacy_attestation_name : - block_header_metadata Data_encoding.t - val block_header_metadata_encoding : block_header_metadata Data_encoding.t type operation_data @@ -73,20 +70,11 @@ module type T = sig val operation_data_encoding : operation_data Data_encoding.t - val operation_data_encoding_with_legacy_attestation_name : - operation_data Data_encoding.t - val operation_receipt_encoding : operation_receipt Data_encoding.t - val operation_receipt_encoding_with_legacy_attestation_name : - operation_receipt Data_encoding.t - val operation_data_and_receipt_encoding : (operation_data * operation_receipt) Data_encoding.t - val operation_data_and_receipt_encoding_with_legacy_attestation_name : - (operation_data * operation_receipt) Data_encoding.t - val acceptable_pass : operation -> int option val compare_operations : diff --git a/src/lib_protocol_environment/environment_protocol_T_test.ml b/src/lib_protocol_environment/environment_protocol_T_test.ml index f71431a53de2..940e1b92bfd0 100644 --- a/src/lib_protocol_environment/environment_protocol_T_test.ml +++ b/src/lib_protocol_environment/environment_protocol_T_test.ml @@ -98,22 +98,10 @@ module Mock_all_unit : let operation_data_and_receipt_encoding = Data_encoding.conv (Fun.const ()) (Fun.const ((), ())) Data_encoding.unit - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let operation_receipt_encoding = Data_encoding.unit - let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - let operation_data_encoding = Data_encoding.unit - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - - let block_header_metadata_encoding_with_legacy_attestation_name = - Data_encoding.unit - let block_header_metadata_encoding = Data_encoding.unit let block_header_data_encoding = Data_encoding.unit -- GitLab From fa7415b1769941f11cff502a5225fab1eb90e0ce Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Thu, 4 Jul 2024 15:05:15 +0200 Subject: [PATCH 3/5] octez: remove with_legacy_attestation_name encodings in the protocol updater --- .../environment_V13.ml | 2 +- src/lib_protocol_environment/sigs/v13.ml | 20 ------------------- .../sigs/v13/updater.mli | 20 ------------------- src/proto_alpha/lib_protocol/main.ml | 12 ----------- src/proto_demo_counter/lib_protocol/main.ml | 12 ----------- src/proto_demo_noops/lib_protocol/main.ml | 12 ----------- 6 files changed, 1 insertion(+), 77 deletions(-) diff --git a/src/lib_protocol_environment/environment_V13.ml b/src/lib_protocol_environment/environment_V13.ml index 3ce00d153b6c..5ce404aeb98a 100644 --- a/src/lib_protocol_environment/environment_V13.ml +++ b/src/lib_protocol_environment/environment_V13.ml @@ -1085,7 +1085,7 @@ struct let activate = Context.set_protocol module type PROTOCOL = - Environment_protocol_T_V10.T + Environment_protocol_T_V13.T with type context := Context.t and type cache_value := Environment_context.Context.cache_value and type cache_key := Environment_context.Context.cache_key diff --git a/src/lib_protocol_environment/sigs/v13.ml b/src/lib_protocol_environment/sigs/v13.ml index a7de37257480..b26d6fb35a80 100644 --- a/src/lib_protocol_environment/sigs/v13.ml +++ b/src/lib_protocol_environment/sigs/v13.ml @@ -11427,11 +11427,6 @@ module type PROTOCOL = sig validation. *) type block_header_metadata - (** Encoding for economic protocol-specific block metadata. This encoding uses - the attestation legacy name: endorsement. *) - val block_header_metadata_encoding_with_legacy_attestation_name : - block_header_metadata Data_encoding.t - (** Encoding for economic protocol-specific block metadata. *) val block_header_metadata_encoding : block_header_metadata Data_encoding.t @@ -11452,28 +11447,13 @@ module type PROTOCOL = sig (** Encoding for protocol-specific operation data. *) val operation_data_encoding : operation_data Data_encoding.t - (** Encoding for protocol-specific operation data. This encoding uses the - attestation legacy name: endorsement. *) - val operation_data_encoding_with_legacy_attestation_name : - operation_data Data_encoding.t - (** Encoding for protocol-specific operation receipts. *) val operation_receipt_encoding : operation_receipt Data_encoding.t - (** Encoding for protocol-specific operation receipts. This encoding uses the - attestation legacy name: endorsement. *) - val operation_receipt_encoding_with_legacy_attestation_name : - operation_receipt Data_encoding.t - (** Encoding that mixes an operation data and its receipt. *) val operation_data_and_receipt_encoding : (operation_data * operation_receipt) Data_encoding.t - (** Encoding that mixes an operation data and its receipt. This encoding uses - the attestation legacy name: endorsement. *) - val operation_data_and_receipt_encoding_with_legacy_attestation_name : - (operation_data * operation_receipt) Data_encoding.t - (** [acceptable_pass op] gives the validation pass in which the input operation [op] can appear. For instance, it results in [Some 0] if [op] only belongs to the first pass. When [op] is diff --git a/src/lib_protocol_environment/sigs/v13/updater.mli b/src/lib_protocol_environment/sigs/v13/updater.mli index f0461c7a706c..587086b95e39 100644 --- a/src/lib_protocol_environment/sigs/v13/updater.mli +++ b/src/lib_protocol_environment/sigs/v13/updater.mli @@ -101,11 +101,6 @@ module type PROTOCOL = sig validation. *) type block_header_metadata - (** Encoding for economic protocol-specific block metadata. This encoding uses - the attestation legacy name: endorsement. *) - val block_header_metadata_encoding_with_legacy_attestation_name : - block_header_metadata Data_encoding.t - (** Encoding for economic protocol-specific block metadata. *) val block_header_metadata_encoding : block_header_metadata Data_encoding.t @@ -126,28 +121,13 @@ module type PROTOCOL = sig (** Encoding for protocol-specific operation data. *) val operation_data_encoding : operation_data Data_encoding.t - (** Encoding for protocol-specific operation data. This encoding uses the - attestation legacy name: endorsement. *) - val operation_data_encoding_with_legacy_attestation_name : - operation_data Data_encoding.t - (** Encoding for protocol-specific operation receipts. *) val operation_receipt_encoding : operation_receipt Data_encoding.t - (** Encoding for protocol-specific operation receipts. This encoding uses the - attestation legacy name: endorsement. *) - val operation_receipt_encoding_with_legacy_attestation_name : - operation_receipt Data_encoding.t - (** Encoding that mixes an operation data and its receipt. *) val operation_data_and_receipt_encoding : (operation_data * operation_receipt) Data_encoding.t - (** Encoding that mixes an operation data and its receipt. This encoding uses - the attestation legacy name: endorsement. *) - val operation_data_and_receipt_encoding_with_legacy_attestation_name : - (operation_data * operation_receipt) Data_encoding.t - (** [acceptable_pass op] gives the validation pass in which the input operation [op] can appear. For instance, it results in [Some 0] if [op] only belongs to the first pass. When [op] is diff --git a/src/proto_alpha/lib_protocol/main.ml b/src/proto_alpha/lib_protocol/main.ml index a024d1506633..573bb82d59e4 100644 --- a/src/proto_alpha/lib_protocol/main.ml +++ b/src/proto_alpha/lib_protocol/main.ml @@ -37,9 +37,6 @@ let block_header_data_encoding = type block_header_metadata = Apply_results.block_metadata -let block_header_metadata_encoding_with_legacy_attestation_name = - Apply_results.block_metadata_encoding - let block_header_metadata_encoding = Apply_results.block_metadata_encoding type operation_data = Alpha_context.packed_protocol_data = @@ -49,9 +46,6 @@ type operation_data = Alpha_context.packed_protocol_data = let operation_data_encoding = Alpha_context.Operation.protocol_data_encoding -let operation_data_encoding_with_legacy_attestation_name = - Alpha_context.Operation.protocol_data_encoding - type operation_receipt = Apply_results.packed_operation_metadata = | Operation_metadata : 'kind Apply_results.operation_metadata @@ -60,15 +54,9 @@ type operation_receipt = Apply_results.packed_operation_metadata = let operation_receipt_encoding = Apply_results.operation_metadata_encoding -let operation_receipt_encoding_with_legacy_attestation_name = - Apply_results.operation_metadata_encoding - let operation_data_and_receipt_encoding = Apply_results.operation_data_and_metadata_encoding -let operation_data_and_receipt_encoding_with_legacy_attestation_name = - Apply_results.operation_data_and_metadata_encoding - type operation = Alpha_context.packed_operation = { shell : Operation.shell_header; protocol_data : operation_data; diff --git a/src/proto_demo_counter/lib_protocol/main.ml b/src/proto_demo_counter/lib_protocol/main.ml index ea4a75c9a887..16c6db52b6f0 100644 --- a/src/proto_demo_counter/lib_protocol/main.ml +++ b/src/proto_demo_counter/lib_protocol/main.ml @@ -42,33 +42,21 @@ let block_header_data_encoding = Header.encoding type block_header_metadata = State.t -let block_header_metadata_encoding_with_legacy_attestation_name = - State.encoding - let block_header_metadata_encoding = State.encoding type operation_data = Proto_operation.t let operation_data_encoding = Proto_operation.encoding -let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - type operation_receipt = Receipt.t let operation_receipt_encoding = Receipt.encoding -let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - let operation_data_and_receipt_encoding = (* we could merge data and receipt encoding for a lighter json *) Data_encoding.( obj2 (req "data" Proto_operation.encoding) (req "receipt" Receipt.encoding)) -let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - type operation = { shell : Operation.shell_header; protocol_data : operation_data; diff --git a/src/proto_demo_noops/lib_protocol/main.ml b/src/proto_demo_noops/lib_protocol/main.ml index bf16332a4c27..654bf6db673c 100644 --- a/src/proto_demo_noops/lib_protocol/main.ml +++ b/src/proto_demo_noops/lib_protocol/main.ml @@ -43,34 +43,22 @@ type block_header = { type block_header_metadata = unit -let block_header_metadata_encoding_with_legacy_attestation_name = - Data_encoding.unit - let block_header_metadata_encoding = Data_encoding.unit type operation_data = unit let operation_data_encoding = Data_encoding.unit -let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - type operation_receipt = unit let operation_receipt_encoding = Data_encoding.unit -let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - let operation_data_and_receipt_encoding = Data_encoding.conv (function ((), ()) -> ()) (fun () -> ((), ())) Data_encoding.unit -let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - type operation = { shell : Operation.shell_header; protocol_data : operation_data; -- GitLab From d4541e8a0e3901d176b7f08bd4801ad6352bb5ab Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Thu, 4 Jul 2024 15:32:35 +0200 Subject: [PATCH 4/5] octez: remove usage of encoding_with_legacy_attestation_name in tests --- src/bin_client/test/proto_test_injection/main.ml | 12 ------------ src/lib_shell/test/test_prevalidator.ml | 6 ------ src/lib_shell/test/test_prevalidator_bounding.ml | 6 ------ 3 files changed, 24 deletions(-) diff --git a/src/bin_client/test/proto_test_injection/main.ml b/src/bin_client/test/proto_test_injection/main.ml index 048e13ed7827..0e45e96b57ce 100644 --- a/src/bin_client/test/proto_test_injection/main.ml +++ b/src/bin_client/test/proto_test_injection/main.ml @@ -37,32 +37,20 @@ type block_header_metadata = unit let block_header_metadata_encoding = Data_encoding.unit -let block_header_metadata_encoding_with_legacy_attestation_name = - Data_encoding.unit - type operation_data = unit let operation_data_encoding = Data_encoding.unit -let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - type operation_receipt = unit let operation_receipt_encoding = Data_encoding.unit -let operation_receipt_encoding_with_legacy_attestation_name = - operation_receipt_encoding - let operation_data_and_receipt_encoding = Data_encoding.conv (function (), () -> ()) (fun () -> ((), ())) Data_encoding.unit -let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - type operation = { shell : Operation.shell_header; protocol_data : operation_data; diff --git a/src/lib_shell/test/test_prevalidator.ml b/src/lib_shell/test/test_prevalidator.ml index 6777d48c5f18..097fb893668a 100644 --- a/src/lib_shell/test/test_prevalidator.ml +++ b/src/lib_shell/test/test_prevalidator.ml @@ -66,15 +66,9 @@ module Mock_protocol : (fun () -> Low); ] - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - let operation_data_and_receipt_encoding = Data_encoding.conv fst (fun n -> (n, ())) operation_data_encoding - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let acceptable_pass _ = assert false let compare_operations (oph1, {shell = _; protocol_data = n1}) diff --git a/src/lib_shell/test/test_prevalidator_bounding.ml b/src/lib_shell/test/test_prevalidator_bounding.ml index 905f2ac4db65..a240a3b30df7 100644 --- a/src/lib_shell/test/test_prevalidator_bounding.ml +++ b/src/lib_shell/test/test_prevalidator_bounding.ml @@ -60,15 +60,9 @@ module Mock_protocol : let operation_data_encoding = Data_encoding.int16 - let operation_data_encoding_with_legacy_attestation_name = - operation_data_encoding - let operation_data_and_receipt_encoding = Data_encoding.conv fst (fun n -> (n, ())) Data_encoding.int16 - let operation_data_and_receipt_encoding_with_legacy_attestation_name = - operation_data_and_receipt_encoding - let acceptable_pass _ = assert false let compare_operations (oph1, {shell = _; protocol_data = n1}) -- GitLab From 72075573d31f949b7741ba7e95bd1455e7c029c3 Mon Sep 17 00:00:00 2001 From: Albin Coquereau Date: Thu, 4 Jul 2024 15:06:50 +0200 Subject: [PATCH 5/5] changes: add an entry for the removal of with_legacy_attestation_name encodings from the protocol environment --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index a599a5d3fdcb..5ebdf651d6e4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -120,6 +120,9 @@ Protocol Compiler And Environment - Added a new version of the protocol environment (V13). (MR :gl:`!12966`) +- Remove with_legacy_attestation_name encodings from the protocol environment. + (MR :gl:`!14046`) + Codec ----- -- GitLab