cml_chain/block/
cbor_encodings.rs1use cml_core::serialization::{LenEncoding, StringEncoding};
5use std::collections::BTreeMap;
6
7#[derive(Clone, Debug, Default)]
8pub struct BlockEncoding {
9 pub len_encoding: LenEncoding,
10 pub transaction_bodies_encoding: LenEncoding,
11 pub transaction_witness_sets_encoding: LenEncoding,
12 pub auxiliary_data_set_encoding: LenEncoding,
13 pub auxiliary_data_set_key_encodings: BTreeMap<u16, Option<cbor_event::Sz>>,
14 pub invalid_transactions_encoding: LenEncoding,
15 pub invalid_transactions_elem_encodings: Vec<Option<cbor_event::Sz>>,
16}
17
18#[derive(Clone, Debug, Default)]
19pub struct HeaderBodyEncoding {
20 pub len_encoding: LenEncoding,
21 pub block_number_encoding: Option<cbor_event::Sz>,
22 pub slot_encoding: Option<cbor_event::Sz>,
23 pub prev_hash_encoding: StringEncoding,
24 pub issuer_vkey_encoding: StringEncoding,
25 pub vrf_vkey_encoding: StringEncoding,
26 pub block_body_size_encoding: Option<cbor_event::Sz>,
27 pub block_body_hash_encoding: StringEncoding,
28}
29
30#[derive(Clone, Debug, Default)]
31pub struct HeaderEncoding {
32 pub len_encoding: LenEncoding,
33}
34
35#[derive(Clone, Debug, Default)]
36pub struct OperationalCertEncoding {
37 pub len_encoding: LenEncoding,
38 pub hot_vkey_encoding: StringEncoding,
39 pub sequence_number_encoding: Option<cbor_event::Sz>,
40 pub kes_period_encoding: Option<cbor_event::Sz>,
41 pub sigma_encoding: StringEncoding,
42}
43
44#[derive(Clone, Debug, Default)]
45pub struct ProtocolVersionEncoding {
46 pub len_encoding: LenEncoding,
47 pub major_encoding: Option<cbor_event::Sz>,
48 pub minor_encoding: Option<cbor_event::Sz>,
49}