From b67407eac60a826ca057bba9f76ffcae478d9d9b Mon Sep 17 00:00:00 2001 From: Adam Allombert-Goget Date: Tue, 15 Oct 2024 10:49:12 +0200 Subject: [PATCH 1/2] proto: minor refactoring of attestation encodings --- .../lib_protocol/operation_repr.ml | 38 ++++--------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/src/proto_alpha/lib_protocol/operation_repr.ml b/src/proto_alpha/lib_protocol/operation_repr.ml index d71d138371de..2f556cb6d7e3 100644 --- a/src/proto_alpha/lib_protocol/operation_repr.ml +++ b/src/proto_alpha/lib_protocol/operation_repr.ml @@ -1061,13 +1061,6 @@ module Encoding = struct @@ union [make preattestation_case])) (varopt "signature" Signature.encoding))) - let consensus_content_encoding = - obj4 - (req "slot" Slot_repr.encoding) - (req "level" Raw_level_repr.encoding) - (req "round" Round_repr.encoding) - (req "block_payload_hash" Block_payload_hash.encoding) - let dal_content_encoding = obj1 (req "dal_attestation" Dal_attestation_repr.encoding) @@ -1077,37 +1070,20 @@ module Encoding = struct (* Precondition: [dal_content = None]. *) let attestation_encoding_proj (Attestation {consensus_content; dal_content = _}) = - ( consensus_content.slot, - consensus_content.level, - consensus_content.round, - consensus_content.block_payload_hash ) + consensus_content - let attestation_encoding_inj (slot, level, round, block_payload_hash) = - Attestation - { - consensus_content = {slot; level; round; block_payload_hash}; - dal_content = None; - } + let attestation_encoding_inj consensus_content = + Attestation {consensus_content; dal_content = None} (* Precondition: [dal_content <> None]. Check usage! *) let attestation_with_dal_encoding_proj (Attestation {consensus_content; dal_content}) = match dal_content with | None -> assert false - | Some dal_content -> - ( ( consensus_content.slot, - consensus_content.level, - consensus_content.round, - consensus_content.block_payload_hash ), - dal_content.attestation ) - - let attestation_with_dal_encoding_inj - ((slot, level, round, block_payload_hash), attestation) = - Attestation - { - consensus_content = {slot; level; round; block_payload_hash}; - dal_content = Some {attestation}; - } + | Some dal_content -> (consensus_content, dal_content.attestation) + + let attestation_with_dal_encoding_inj (consensus_content, attestation) = + Attestation {consensus_content; dal_content = Some {attestation}} let attestation_case = Case -- GitLab From c7155a193f7c62495d17069124e47915d6b22bbc Mon Sep 17 00:00:00 2001 From: Adam Allombert-Goget Date: Thu, 19 Dec 2024 14:35:14 +0100 Subject: [PATCH 2/2] proto: clean up unused parameter in consensus_result_encoding --- src/proto_alpha/lib_protocol/apply_results.ml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/proto_alpha/lib_protocol/apply_results.ml b/src/proto_alpha/lib_protocol/apply_results.ml index c142a53840cf..6de114e96383 100644 --- a/src/proto_alpha/lib_protocol/apply_results.ml +++ b/src/proto_alpha/lib_protocol/apply_results.ml @@ -1016,16 +1016,14 @@ let equal_manager_kind : | Kind.Zk_rollup_update_manager_kind, _ -> None module Encoding = struct - let consensus_result_encoding power_name = + let consensus_result_encoding = let open Data_encoding in obj4 (dft "balance_updates" Receipt.balance_updates_encoding []) (req "delegate" Signature.Public_key_hash.encoding) - (req (Format.asprintf "%s_power" power_name) int31) + (req "consensus_power" int31) (req "consensus_key" Signature.Public_key_hash.encoding) - let consensus_result_encoding = consensus_result_encoding "consensus" - type case = | Case : { op_case : 'kind Operation.Encoding.case; -- GitLab