1#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct VerificationKey {
7 #[prost(bytes = "vec", tag = "1")]
8 pub inner: ::prost::alloc::vec::Vec<u8>,
9}
10impl ::prost::Name for VerificationKey {
11 const NAME: &'static str = "VerificationKey";
12 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
13 fn full_name() -> ::prost::alloc::string::String {
14 "penumbra.custody.threshold.v1.VerificationKey".into()
15 }
16 fn type_url() -> ::prost::alloc::string::String {
17 "/penumbra.custody.threshold.v1.VerificationKey".into()
18 }
19}
20#[derive(Clone, PartialEq, ::prost::Message)]
22pub struct Signature {
23 #[prost(bytes = "vec", tag = "1")]
24 pub inner: ::prost::alloc::vec::Vec<u8>,
25}
26impl ::prost::Name for Signature {
27 const NAME: &'static str = "Signature";
28 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
29 fn full_name() -> ::prost::alloc::string::String {
30 "penumbra.custody.threshold.v1.Signature".into()
31 }
32 fn type_url() -> ::prost::alloc::string::String {
33 "/penumbra.custody.threshold.v1.Signature".into()
34 }
35}
36#[derive(Clone, PartialEq, ::prost::Message)]
38pub struct CoordinatorRound1 {
39 #[prost(oneof = "coordinator_round1::Request", tags = "1, 2, 3")]
40 pub request: ::core::option::Option<coordinator_round1::Request>,
41}
42pub mod coordinator_round1 {
44 #[derive(Clone, PartialEq, ::prost::Oneof)]
45 pub enum Request {
46 #[prost(message, tag = "1")]
48 Plan(super::super::super::super::core::transaction::v1::TransactionPlan),
49 #[prost(message, tag = "2")]
51 ValidatorDefinition(
52 super::super::super::super::core::component::stake::v1::Validator,
53 ),
54 #[prost(message, tag = "3")]
56 ValidatorVote(
57 super::super::super::super::core::component::governance::v1::ValidatorVoteBody,
58 ),
59 }
60}
61impl ::prost::Name for CoordinatorRound1 {
62 const NAME: &'static str = "CoordinatorRound1";
63 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
64 fn full_name() -> ::prost::alloc::string::String {
65 "penumbra.custody.threshold.v1.CoordinatorRound1".into()
66 }
67 fn type_url() -> ::prost::alloc::string::String {
68 "/penumbra.custody.threshold.v1.CoordinatorRound1".into()
69 }
70}
71#[derive(Clone, PartialEq, ::prost::Message)]
73pub struct CoordinatorRound2 {
74 #[prost(message, repeated, tag = "1")]
76 pub signing_packages: ::prost::alloc::vec::Vec<
77 coordinator_round2::PartialSigningPackage,
78 >,
79}
80pub mod coordinator_round2 {
82 #[derive(Clone, PartialEq, ::prost::Message)]
84 pub struct IdentifiedCommitments {
85 #[prost(bytes = "vec", tag = "1")]
87 pub identifier: ::prost::alloc::vec::Vec<u8>,
88 #[prost(message, optional, tag = "2")]
90 pub commitments: ::core::option::Option<
91 super::super::super::super::crypto::decaf377_frost::v1::SigningCommitments,
92 >,
93 }
94 impl ::prost::Name for IdentifiedCommitments {
95 const NAME: &'static str = "IdentifiedCommitments";
96 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
97 fn full_name() -> ::prost::alloc::string::String {
98 "penumbra.custody.threshold.v1.CoordinatorRound2.IdentifiedCommitments"
99 .into()
100 }
101 fn type_url() -> ::prost::alloc::string::String {
102 "/penumbra.custody.threshold.v1.CoordinatorRound2.IdentifiedCommitments"
103 .into()
104 }
105 }
106 #[derive(Clone, PartialEq, ::prost::Message)]
112 pub struct PartialSigningPackage {
113 #[prost(message, repeated, tag = "1")]
114 pub all_commitments: ::prost::alloc::vec::Vec<IdentifiedCommitments>,
115 }
116 impl ::prost::Name for PartialSigningPackage {
117 const NAME: &'static str = "PartialSigningPackage";
118 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
119 fn full_name() -> ::prost::alloc::string::String {
120 "penumbra.custody.threshold.v1.CoordinatorRound2.PartialSigningPackage"
121 .into()
122 }
123 fn type_url() -> ::prost::alloc::string::String {
124 "/penumbra.custody.threshold.v1.CoordinatorRound2.PartialSigningPackage"
125 .into()
126 }
127 }
128}
129impl ::prost::Name for CoordinatorRound2 {
130 const NAME: &'static str = "CoordinatorRound2";
131 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
132 fn full_name() -> ::prost::alloc::string::String {
133 "penumbra.custody.threshold.v1.CoordinatorRound2".into()
134 }
135 fn type_url() -> ::prost::alloc::string::String {
136 "/penumbra.custody.threshold.v1.CoordinatorRound2".into()
137 }
138}
139#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct FollowerRound1 {
142 #[prost(message, optional, tag = "1")]
143 pub inner: ::core::option::Option<follower_round1::Inner>,
144 #[prost(message, optional, tag = "2")]
146 pub pk: ::core::option::Option<VerificationKey>,
147 #[prost(message, optional, tag = "3")]
149 pub sig: ::core::option::Option<Signature>,
150}
151pub mod follower_round1 {
153 #[derive(Clone, PartialEq, ::prost::Message)]
155 pub struct Inner {
156 #[prost(message, repeated, tag = "1")]
158 pub commitments: ::prost::alloc::vec::Vec<
159 super::super::super::super::crypto::decaf377_frost::v1::SigningCommitments,
160 >,
161 }
162 impl ::prost::Name for Inner {
163 const NAME: &'static str = "Inner";
164 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
165 fn full_name() -> ::prost::alloc::string::String {
166 "penumbra.custody.threshold.v1.FollowerRound1.Inner".into()
167 }
168 fn type_url() -> ::prost::alloc::string::String {
169 "/penumbra.custody.threshold.v1.FollowerRound1.Inner".into()
170 }
171 }
172}
173impl ::prost::Name for FollowerRound1 {
174 const NAME: &'static str = "FollowerRound1";
175 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
176 fn full_name() -> ::prost::alloc::string::String {
177 "penumbra.custody.threshold.v1.FollowerRound1".into()
178 }
179 fn type_url() -> ::prost::alloc::string::String {
180 "/penumbra.custody.threshold.v1.FollowerRound1".into()
181 }
182}
183#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct FollowerRound2 {
186 #[prost(message, optional, tag = "1")]
187 pub inner: ::core::option::Option<follower_round2::Inner>,
188 #[prost(message, optional, tag = "2")]
190 pub pk: ::core::option::Option<VerificationKey>,
191 #[prost(message, optional, tag = "3")]
193 pub sig: ::core::option::Option<Signature>,
194}
195pub mod follower_round2 {
197 #[derive(Clone, PartialEq, ::prost::Message)]
199 pub struct Inner {
200 #[prost(message, repeated, tag = "1")]
202 pub shares: ::prost::alloc::vec::Vec<
203 super::super::super::super::crypto::decaf377_frost::v1::SignatureShare,
204 >,
205 }
206 impl ::prost::Name for Inner {
207 const NAME: &'static str = "Inner";
208 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
209 fn full_name() -> ::prost::alloc::string::String {
210 "penumbra.custody.threshold.v1.FollowerRound2.Inner".into()
211 }
212 fn type_url() -> ::prost::alloc::string::String {
213 "/penumbra.custody.threshold.v1.FollowerRound2.Inner".into()
214 }
215 }
216}
217impl ::prost::Name for FollowerRound2 {
218 const NAME: &'static str = "FollowerRound2";
219 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
220 fn full_name() -> ::prost::alloc::string::String {
221 "penumbra.custody.threshold.v1.FollowerRound2".into()
222 }
223 fn type_url() -> ::prost::alloc::string::String {
224 "/penumbra.custody.threshold.v1.FollowerRound2".into()
225 }
226}
227#[derive(Clone, PartialEq, ::prost::Message)]
229pub struct DkgRound1 {
230 #[prost(message, optional, tag = "1")]
232 pub pkg: ::core::option::Option<
233 super::super::super::crypto::decaf377_frost::v1::DkgRound1Package,
234 >,
235 #[prost(bytes = "vec", tag = "2")]
237 pub nullifier_commitment: ::prost::alloc::vec::Vec<u8>,
238 #[prost(bytes = "vec", tag = "3")]
240 pub epk: ::prost::alloc::vec::Vec<u8>,
241 #[prost(bytes = "vec", tag = "4")]
243 pub vk: ::prost::alloc::vec::Vec<u8>,
244}
245impl ::prost::Name for DkgRound1 {
246 const NAME: &'static str = "DKGRound1";
247 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
248 fn full_name() -> ::prost::alloc::string::String {
249 "penumbra.custody.threshold.v1.DKGRound1".into()
250 }
251 fn type_url() -> ::prost::alloc::string::String {
252 "/penumbra.custody.threshold.v1.DKGRound1".into()
253 }
254}
255#[derive(Clone, PartialEq, ::prost::Message)]
257pub struct DkgRound2 {
258 #[prost(message, optional, tag = "1")]
259 pub inner: ::core::option::Option<dkg_round2::Inner>,
260 #[prost(bytes = "vec", tag = "2")]
262 pub vk: ::prost::alloc::vec::Vec<u8>,
263 #[prost(bytes = "vec", tag = "3")]
265 pub sig: ::prost::alloc::vec::Vec<u8>,
266}
267pub mod dkg_round2 {
269 #[derive(Clone, PartialEq, ::prost::Message)]
271 pub struct TargetedPackage {
272 #[prost(bytes = "vec", tag = "1")]
274 pub vk: ::prost::alloc::vec::Vec<u8>,
275 #[prost(bytes = "vec", tag = "2")]
277 pub encrypted_package: ::prost::alloc::vec::Vec<u8>,
278 }
279 impl ::prost::Name for TargetedPackage {
280 const NAME: &'static str = "TargetedPackage";
281 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
282 fn full_name() -> ::prost::alloc::string::String {
283 "penumbra.custody.threshold.v1.DKGRound2.TargetedPackage".into()
284 }
285 fn type_url() -> ::prost::alloc::string::String {
286 "/penumbra.custody.threshold.v1.DKGRound2.TargetedPackage".into()
287 }
288 }
289 #[derive(Clone, PartialEq, ::prost::Message)]
291 pub struct Inner {
292 #[prost(message, repeated, tag = "1")]
294 pub encrypted_packages: ::prost::alloc::vec::Vec<TargetedPackage>,
295 #[prost(bytes = "vec", tag = "2")]
297 pub nullifier: ::prost::alloc::vec::Vec<u8>,
298 }
299 impl ::prost::Name for Inner {
300 const NAME: &'static str = "Inner";
301 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
302 fn full_name() -> ::prost::alloc::string::String {
303 "penumbra.custody.threshold.v1.DKGRound2.Inner".into()
304 }
305 fn type_url() -> ::prost::alloc::string::String {
306 "/penumbra.custody.threshold.v1.DKGRound2.Inner".into()
307 }
308 }
309}
310impl ::prost::Name for DkgRound2 {
311 const NAME: &'static str = "DKGRound2";
312 const PACKAGE: &'static str = "penumbra.custody.threshold.v1";
313 fn full_name() -> ::prost::alloc::string::String {
314 "penumbra.custody.threshold.v1.DKGRound2".into()
315 }
316 fn type_url() -> ::prost::alloc::string::String {
317 "/penumbra.custody.threshold.v1.DKGRound2".into()
318 }
319}