From 6979124b5932362dac2ec36114d7a4f40da28c96 Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 21 Feb 2025 18:17:55 +0000 Subject: [PATCH] Fix RPC format generation. --- linera-rpc/tests/format.rs | 14 +++++++- .../tests/snapshots/format__format.yaml.snap | 33 ++++++++++++------- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/linera-rpc/tests/format.rs b/linera-rpc/tests/format.rs index 32dd1416f51e..fcfa28325be1 100644 --- a/linera-rpc/tests/format.rs +++ b/linera-rpc/tests/format.rs @@ -3,6 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 use linera_base::{ + crypto::TestString, data_types::{BlobContent, OracleResponse, Round}, hashed::Hashed, identifiers::{AccountOwner, BlobType, ChainDescription, Destination, GenericApplicationId}, @@ -27,9 +28,20 @@ fn get_registry() -> Result { .record_samples_for_newtype_structs(true) .record_samples_for_tuple_structs(true), ); - let samples = Samples::new(); + let mut samples = Samples::new(); // 1. Record samples for types with custom deserializers. // 2. Trace the main entry point(s) + every enum separately. + { + // Record sample values for Secp256k1PublicKey and Secp256k1Signature + // as the ones generated by serde-reflection are not valid and will fail. + let validator_keypair = linera_base::crypto::ValidatorKeypair::generate(); + let validator_signature = linera_base::crypto::ValidatorSignature::new( + &TestString::new("signature".to_string()), + &validator_keypair.secret_key, + ); + tracer.trace_value(&mut samples, &validator_keypair.public_key)?; + tracer.trace_value(&mut samples, &validator_signature)?; + } tracer.trace_type::(&samples)?; tracer.trace_type::(&samples)?; tracer.trace_type::(&samples)?; diff --git a/linera-rpc/tests/snapshots/format__format.yaml.snap b/linera-rpc/tests/snapshots/format__format.yaml.snap index 5dcb728d45ac..3f46e6005149 100644 --- a/linera-rpc/tests/snapshots/format__format.yaml.snap +++ b/linera-rpc/tests/snapshots/format__format.yaml.snap @@ -270,7 +270,7 @@ ChainInfoResponse: TYPENAME: ChainInfo - signature: OPTION: - TYPENAME: Ed25519Signature + TYPENAME: Secp256k1Signature ChainManagerInfo: STRUCT: - ownership: @@ -340,7 +340,7 @@ Committee: - validators: MAP: KEY: - TYPENAME: Ed25519PublicKey + TYPENAME: Secp256k1PublicKey VALUE: TYPENAME: ValidatorState - policy: @@ -354,8 +354,8 @@ ConfirmedBlockCertificate: - signatures: SEQ: TUPLE: - - TYPENAME: Ed25519PublicKey - - TYPENAME: Ed25519Signature + - TYPENAME: Secp256k1PublicKey + - TYPENAME: Secp256k1Signature CrateVersion: STRUCT: - major: U32 @@ -466,8 +466,8 @@ LiteCertificate: - signatures: SEQ: TUPLE: - - TYPENAME: Ed25519PublicKey - - TYPENAME: Ed25519Signature + - TYPENAME: Secp256k1PublicKey + - TYPENAME: Secp256k1Signature LiteValue: STRUCT: - value_hash: @@ -483,9 +483,9 @@ LiteVote: - round: TYPENAME: Round - public_key: - TYPENAME: Ed25519PublicKey + TYPENAME: Secp256k1PublicKey - signature: - TYPENAME: Ed25519Signature + TYPENAME: Secp256k1Signature LockingBlock: ENUM: 0: @@ -940,6 +940,13 @@ RpcMessage: CrossChainRequest: NEWTYPE: TYPENAME: CrossChainRequest +Secp256k1PublicKey: + NEWTYPESTRUCT: + TUPLEARRAY: + CONTENT: U8 + SIZE: 33 +Secp256k1Signature: + NEWTYPESTRUCT: BYTES StreamId: STRUCT: - application_id: @@ -1133,8 +1140,8 @@ TimeoutCertificate: - signatures: SEQ: TUPLE: - - TYPENAME: Ed25519PublicKey - - TYPENAME: Ed25519Signature + - TYPENAME: Secp256k1PublicKey + - TYPENAME: Secp256k1Signature TimeoutConfig: STRUCT: - fast_round_duration: @@ -1167,12 +1174,14 @@ ValidatedBlockCertificate: - signatures: SEQ: TUPLE: - - TYPENAME: Ed25519PublicKey - - TYPENAME: Ed25519Signature + - TYPENAME: Secp256k1PublicKey + - TYPENAME: Secp256k1Signature ValidatorState: STRUCT: - network_address: STR - votes: U64 + - account_public_key: + TYPENAME: Ed25519PublicKey VersionInfo: STRUCT: - crate_version: