penumbra_sdk_proto/gen/
penumbra.core.keys.v1.rs

1// This file is @generated by prost-build.
2/// A Penumbra address. An address in Penumbra is a Bech32m-encoded
3/// string, with the human-readable prefix (HRP) `penumbrav2t`.
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Address {
6    /// The bytes of the address. Must be represented as a series of
7    /// `uint8` (i.e. values 0 through 255), with a length of 80 elements.
8    #[prost(bytes = "vec", tag = "1")]
9    pub inner: ::prost::alloc::vec::Vec<u8>,
10    /// Alternatively, a Bech32m-encoded string representation of the `inner`
11    /// bytes.
12    ///
13    /// NOTE: implementations are not required to support parsing this field.
14    /// Implementations should prefer to encode the bytes in all messages they
15    /// produce. Implementations must not accept messages with both `inner` and
16    /// `alt_bech32m` set.
17    #[prost(string, tag = "2")]
18    pub alt_bech32m: ::prost::alloc::string::String,
19}
20impl ::prost::Name for Address {
21    const NAME: &'static str = "Address";
22    const PACKAGE: &'static str = "penumbra.core.keys.v1";
23    fn full_name() -> ::prost::alloc::string::String {
24        "penumbra.core.keys.v1.Address".into()
25    }
26    fn type_url() -> ::prost::alloc::string::String {
27        "/penumbra.core.keys.v1.Address".into()
28    }
29}
30#[derive(Clone, PartialEq, ::prost::Message)]
31pub struct AddressView {
32    #[prost(oneof = "address_view::AddressView", tags = "1, 2")]
33    pub address_view: ::core::option::Option<address_view::AddressView>,
34}
35/// Nested message and enum types in `AddressView`.
36pub mod address_view {
37    /// A decoded address, with information about the address index and wallet ID visible.
38    #[derive(Clone, PartialEq, ::prost::Message)]
39    pub struct Decoded {
40        #[prost(message, optional, tag = "1")]
41        pub address: ::core::option::Option<super::Address>,
42        #[prost(message, optional, tag = "2")]
43        pub index: ::core::option::Option<super::AddressIndex>,
44        #[prost(message, optional, tag = "3")]
45        pub wallet_id: ::core::option::Option<super::WalletId>,
46    }
47    impl ::prost::Name for Decoded {
48        const NAME: &'static str = "Decoded";
49        const PACKAGE: &'static str = "penumbra.core.keys.v1";
50        fn full_name() -> ::prost::alloc::string::String {
51            "penumbra.core.keys.v1.AddressView.Decoded".into()
52        }
53        fn type_url() -> ::prost::alloc::string::String {
54            "/penumbra.core.keys.v1.AddressView.Decoded".into()
55        }
56    }
57    /// An opaque address, with no information about the address index or wallet ID visible.
58    #[derive(Clone, PartialEq, ::prost::Message)]
59    pub struct Opaque {
60        #[prost(message, optional, tag = "1")]
61        pub address: ::core::option::Option<super::Address>,
62    }
63    impl ::prost::Name for Opaque {
64        const NAME: &'static str = "Opaque";
65        const PACKAGE: &'static str = "penumbra.core.keys.v1";
66        fn full_name() -> ::prost::alloc::string::String {
67            "penumbra.core.keys.v1.AddressView.Opaque".into()
68        }
69        fn type_url() -> ::prost::alloc::string::String {
70            "/penumbra.core.keys.v1.AddressView.Opaque".into()
71        }
72    }
73    #[derive(Clone, PartialEq, ::prost::Oneof)]
74    pub enum AddressView {
75        #[prost(message, tag = "1")]
76        Decoded(Decoded),
77        #[prost(message, tag = "2")]
78        Opaque(Opaque),
79    }
80}
81impl ::prost::Name for AddressView {
82    const NAME: &'static str = "AddressView";
83    const PACKAGE: &'static str = "penumbra.core.keys.v1";
84    fn full_name() -> ::prost::alloc::string::String {
85        "penumbra.core.keys.v1.AddressView".into()
86    }
87    fn type_url() -> ::prost::alloc::string::String {
88        "/penumbra.core.keys.v1.AddressView".into()
89    }
90}
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct PayloadKey {
93    #[prost(bytes = "vec", tag = "1")]
94    pub inner: ::prost::alloc::vec::Vec<u8>,
95}
96impl ::prost::Name for PayloadKey {
97    const NAME: &'static str = "PayloadKey";
98    const PACKAGE: &'static str = "penumbra.core.keys.v1";
99    fn full_name() -> ::prost::alloc::string::String {
100        "penumbra.core.keys.v1.PayloadKey".into()
101    }
102    fn type_url() -> ::prost::alloc::string::String {
103        "/penumbra.core.keys.v1.PayloadKey".into()
104    }
105}
106#[derive(Clone, PartialEq, ::prost::Message)]
107pub struct SpendKey {
108    #[prost(bytes = "vec", tag = "1")]
109    pub inner: ::prost::alloc::vec::Vec<u8>,
110}
111impl ::prost::Name for SpendKey {
112    const NAME: &'static str = "SpendKey";
113    const PACKAGE: &'static str = "penumbra.core.keys.v1";
114    fn full_name() -> ::prost::alloc::string::String {
115        "penumbra.core.keys.v1.SpendKey".into()
116    }
117    fn type_url() -> ::prost::alloc::string::String {
118        "/penumbra.core.keys.v1.SpendKey".into()
119    }
120}
121#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct FullViewingKey {
123    #[prost(bytes = "vec", tag = "1")]
124    pub inner: ::prost::alloc::vec::Vec<u8>,
125}
126impl ::prost::Name for FullViewingKey {
127    const NAME: &'static str = "FullViewingKey";
128    const PACKAGE: &'static str = "penumbra.core.keys.v1";
129    fn full_name() -> ::prost::alloc::string::String {
130        "penumbra.core.keys.v1.FullViewingKey".into()
131    }
132    fn type_url() -> ::prost::alloc::string::String {
133        "/penumbra.core.keys.v1.FullViewingKey".into()
134    }
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct WalletId {
138    #[prost(bytes = "vec", tag = "1")]
139    pub inner: ::prost::alloc::vec::Vec<u8>,
140}
141impl ::prost::Name for WalletId {
142    const NAME: &'static str = "WalletId";
143    const PACKAGE: &'static str = "penumbra.core.keys.v1";
144    fn full_name() -> ::prost::alloc::string::String {
145        "penumbra.core.keys.v1.WalletId".into()
146    }
147    fn type_url() -> ::prost::alloc::string::String {
148        "/penumbra.core.keys.v1.WalletId".into()
149    }
150}
151#[derive(Clone, PartialEq, ::prost::Message)]
152pub struct Diversifier {
153    #[prost(bytes = "vec", tag = "1")]
154    pub inner: ::prost::alloc::vec::Vec<u8>,
155}
156impl ::prost::Name for Diversifier {
157    const NAME: &'static str = "Diversifier";
158    const PACKAGE: &'static str = "penumbra.core.keys.v1";
159    fn full_name() -> ::prost::alloc::string::String {
160        "penumbra.core.keys.v1.Diversifier".into()
161    }
162    fn type_url() -> ::prost::alloc::string::String {
163        "/penumbra.core.keys.v1.Diversifier".into()
164    }
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct AddressIndex {
168    #[prost(uint32, tag = "2")]
169    pub account: u32,
170    #[prost(bytes = "vec", tag = "3")]
171    pub randomizer: ::prost::alloc::vec::Vec<u8>,
172}
173impl ::prost::Name for AddressIndex {
174    const NAME: &'static str = "AddressIndex";
175    const PACKAGE: &'static str = "penumbra.core.keys.v1";
176    fn full_name() -> ::prost::alloc::string::String {
177        "penumbra.core.keys.v1.AddressIndex".into()
178    }
179    fn type_url() -> ::prost::alloc::string::String {
180        "/penumbra.core.keys.v1.AddressIndex".into()
181    }
182}
183/// A validator's identity key (decaf377-rdsa spendauth verification key).
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct IdentityKey {
186    #[prost(bytes = "vec", tag = "1")]
187    pub ik: ::prost::alloc::vec::Vec<u8>,
188}
189impl ::prost::Name for IdentityKey {
190    const NAME: &'static str = "IdentityKey";
191    const PACKAGE: &'static str = "penumbra.core.keys.v1";
192    fn full_name() -> ::prost::alloc::string::String {
193        "penumbra.core.keys.v1.IdentityKey".into()
194    }
195    fn type_url() -> ::prost::alloc::string::String {
196        "/penumbra.core.keys.v1.IdentityKey".into()
197    }
198}
199/// A validator's governance key (decaf377-rdsa spendauth verification key).
200#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct GovernanceKey {
202    #[prost(bytes = "vec", tag = "1")]
203    pub gk: ::prost::alloc::vec::Vec<u8>,
204}
205impl ::prost::Name for GovernanceKey {
206    const NAME: &'static str = "GovernanceKey";
207    const PACKAGE: &'static str = "penumbra.core.keys.v1";
208    fn full_name() -> ::prost::alloc::string::String {
209        "penumbra.core.keys.v1.GovernanceKey".into()
210    }
211    fn type_url() -> ::prost::alloc::string::String {
212        "/penumbra.core.keys.v1.GovernanceKey".into()
213    }
214}
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct ConsensusKey {
217    #[prost(bytes = "vec", tag = "1")]
218    pub inner: ::prost::alloc::vec::Vec<u8>,
219}
220impl ::prost::Name for ConsensusKey {
221    const NAME: &'static str = "ConsensusKey";
222    const PACKAGE: &'static str = "penumbra.core.keys.v1";
223    fn full_name() -> ::prost::alloc::string::String {
224        "penumbra.core.keys.v1.ConsensusKey".into()
225    }
226    fn type_url() -> ::prost::alloc::string::String {
227        "/penumbra.core.keys.v1.ConsensusKey".into()
228    }
229}