Skip to content

Commit

Permalink
Fix RPC format generation.
Browse files Browse the repository at this point in the history
  • Loading branch information
deuszx committed Feb 21, 2025
1 parent 03c41f0 commit 6979124
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 13 deletions.
14 changes: 13 additions & 1 deletion linera-rpc/tests/format.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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},
Expand All @@ -27,9 +28,20 @@ fn get_registry() -> Result<Registry> {
.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::<Round>(&samples)?;
tracer.trace_type::<OracleResponse>(&samples)?;
tracer.trace_type::<Recipient>(&samples)?;
Expand Down
33 changes: 21 additions & 12 deletions linera-rpc/tests/snapshots/format__format.yaml.snap
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ ChainInfoResponse:
TYPENAME: ChainInfo
- signature:
OPTION:
TYPENAME: Ed25519Signature
TYPENAME: Secp256k1Signature
ChainManagerInfo:
STRUCT:
- ownership:
Expand Down Expand Up @@ -340,7 +340,7 @@ Committee:
- validators:
MAP:
KEY:
TYPENAME: Ed25519PublicKey
TYPENAME: Secp256k1PublicKey
VALUE:
TYPENAME: ValidatorState
- policy:
Expand All @@ -354,8 +354,8 @@ ConfirmedBlockCertificate:
- signatures:
SEQ:
TUPLE:
- TYPENAME: Ed25519PublicKey
- TYPENAME: Ed25519Signature
- TYPENAME: Secp256k1PublicKey
- TYPENAME: Secp256k1Signature
CrateVersion:
STRUCT:
- major: U32
Expand Down Expand Up @@ -466,8 +466,8 @@ LiteCertificate:
- signatures:
SEQ:
TUPLE:
- TYPENAME: Ed25519PublicKey
- TYPENAME: Ed25519Signature
- TYPENAME: Secp256k1PublicKey
- TYPENAME: Secp256k1Signature
LiteValue:
STRUCT:
- value_hash:
Expand All @@ -483,9 +483,9 @@ LiteVote:
- round:
TYPENAME: Round
- public_key:
TYPENAME: Ed25519PublicKey
TYPENAME: Secp256k1PublicKey
- signature:
TYPENAME: Ed25519Signature
TYPENAME: Secp256k1Signature
LockingBlock:
ENUM:
0:
Expand Down Expand Up @@ -940,6 +940,13 @@ RpcMessage:
CrossChainRequest:
NEWTYPE:
TYPENAME: CrossChainRequest
Secp256k1PublicKey:
NEWTYPESTRUCT:
TUPLEARRAY:
CONTENT: U8
SIZE: 33
Secp256k1Signature:
NEWTYPESTRUCT: BYTES
StreamId:
STRUCT:
- application_id:
Expand Down Expand Up @@ -1133,8 +1140,8 @@ TimeoutCertificate:
- signatures:
SEQ:
TUPLE:
- TYPENAME: Ed25519PublicKey
- TYPENAME: Ed25519Signature
- TYPENAME: Secp256k1PublicKey
- TYPENAME: Secp256k1Signature
TimeoutConfig:
STRUCT:
- fast_round_duration:
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 6979124

Please sign in to comment.