cml_cip36/
cbor_encodings.rs1use cml_core::serialization::{LenEncoding, StringEncoding};
5
6#[derive(Clone, Debug, Default)]
7pub struct CIP36DelegationEncoding {
8 pub len_encoding: LenEncoding,
9 pub voting_pub_key_encoding: StringEncoding,
10 pub weight_encoding: Option<cbor_event::Sz>,
11}
12
13#[derive(Clone, Debug, Default)]
14pub struct CIP36DeregistrationCborEncoding {
15 pub len_encoding: LenEncoding,
16 pub orig_deser_order: Vec<usize>,
17 pub key_deregistration_key_encoding: Option<cbor_event::Sz>,
18 pub deregistration_witness_key_encoding: Option<cbor_event::Sz>,
19}
20
21#[derive(Clone, Debug, Default)]
22pub struct CIP36DeregistrationWitnessEncoding {
23 pub len_encoding: LenEncoding,
24 pub orig_deser_order: Vec<usize>,
25 pub stake_witness_encoding: StringEncoding,
26 pub stake_witness_key_encoding: Option<cbor_event::Sz>,
27}
28
29#[derive(Clone, Debug, Default)]
30pub struct CIP36KeyDeregistrationEncoding {
31 pub len_encoding: LenEncoding,
32 pub orig_deser_order: Vec<usize>,
33 pub stake_credential_encoding: StringEncoding,
34 pub stake_credential_key_encoding: Option<cbor_event::Sz>,
35 pub nonce_encoding: Option<cbor_event::Sz>,
36 pub nonce_key_encoding: Option<cbor_event::Sz>,
37 pub voting_purpose_encoding: Option<cbor_event::Sz>,
38 pub voting_purpose_default_present: bool,
39 pub voting_purpose_key_encoding: Option<cbor_event::Sz>,
40}
41
42#[derive(Clone, Debug, Default)]
43pub struct CIP36KeyRegistrationEncoding {
44 pub len_encoding: LenEncoding,
45 pub orig_deser_order: Vec<usize>,
46 pub delegation_key_encoding: Option<cbor_event::Sz>,
47 pub stake_credential_encoding: StringEncoding,
48 pub stake_credential_key_encoding: Option<cbor_event::Sz>,
49 pub address_key_encoding: Option<cbor_event::Sz>,
50 pub nonce_encoding: Option<cbor_event::Sz>,
51 pub nonce_key_encoding: Option<cbor_event::Sz>,
52 pub voting_purpose_encoding: Option<cbor_event::Sz>,
53 pub voting_purpose_default_present: bool,
54 pub voting_purpose_key_encoding: Option<cbor_event::Sz>,
55}
56
57#[derive(Clone, Debug, Default)]
58pub struct CIP36RegistrationCborEncoding {
59 pub len_encoding: LenEncoding,
60 pub orig_deser_order: Vec<usize>,
61 pub key_registration_key_encoding: Option<cbor_event::Sz>,
62 pub registration_witness_key_encoding: Option<cbor_event::Sz>,
63}
64
65#[derive(Clone, Debug, Default)]
66pub struct CIP36RegistrationWitnessEncoding {
67 pub len_encoding: LenEncoding,
68 pub orig_deser_order: Vec<usize>,
69 pub stake_witness_encoding: StringEncoding,
70 pub stake_witness_key_encoding: Option<cbor_event::Sz>,
71}