1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct PayerReport {
5 #[prost(uint32, tag = "1")]
7 pub originator_node_id: u32,
8 #[prost(uint64, tag = "2")]
10 pub start_sequence_id: u64,
11 #[prost(uint64, tag = "3")]
13 pub end_sequence_id: u64,
14 #[prost(uint32, tag = "4")]
16 pub end_minute_since_epoch: u32,
17 #[prost(bytes = "vec", tag = "5")]
19 pub payers_merkle_root: ::prost::alloc::vec::Vec<u8>,
20 #[prost(uint32, repeated, tag = "6")]
22 pub active_node_ids: ::prost::alloc::vec::Vec<u32>,
23}
24impl ::prost::Name for PayerReport {
25 const NAME: &'static str = "PayerReport";
26 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
27 fn full_name() -> ::prost::alloc::string::String {
28 "xmtp.xmtpv4.envelopes.PayerReport".into()
29 }
30 fn type_url() -> ::prost::alloc::string::String {
31 "/xmtp.xmtpv4.envelopes.PayerReport".into()
32 }
33}
34#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
35pub struct NodeSignature {
36 #[prost(uint32, tag = "1")]
37 pub node_id: u32,
38 #[prost(message, optional, tag = "2")]
39 pub signature: ::core::option::Option<
40 super::super::identity::associations::RecoverableEcdsaSignature,
41 >,
42}
43impl ::prost::Name for NodeSignature {
44 const NAME: &'static str = "NodeSignature";
45 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
46 fn full_name() -> ::prost::alloc::string::String {
47 "xmtp.xmtpv4.envelopes.NodeSignature".into()
48 }
49 fn type_url() -> ::prost::alloc::string::String {
50 "/xmtp.xmtpv4.envelopes.NodeSignature".into()
51 }
52}
53#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
55pub struct PayerReportAttestation {
56 #[prost(bytes = "vec", tag = "1")]
58 pub report_id: ::prost::alloc::vec::Vec<u8>,
59 #[prost(message, optional, tag = "2")]
61 pub signature: ::core::option::Option<NodeSignature>,
62}
63impl ::prost::Name for PayerReportAttestation {
64 const NAME: &'static str = "PayerReportAttestation";
65 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
66 fn full_name() -> ::prost::alloc::string::String {
67 "xmtp.xmtpv4.envelopes.PayerReportAttestation".into()
68 }
69 fn type_url() -> ::prost::alloc::string::String {
70 "/xmtp.xmtpv4.envelopes.PayerReportAttestation".into()
71 }
72}
73#[derive(Clone, PartialEq, ::prost::Message)]
75pub struct Cursor {
76 #[prost(map = "uint32, uint64", tag = "1")]
77 pub node_id_to_sequence_id: ::std::collections::HashMap<u32, u64>,
78}
79impl ::prost::Name for Cursor {
80 const NAME: &'static str = "Cursor";
81 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
82 fn full_name() -> ::prost::alloc::string::String {
83 "xmtp.xmtpv4.envelopes.Cursor".into()
84 }
85 fn type_url() -> ::prost::alloc::string::String {
86 "/xmtp.xmtpv4.envelopes.Cursor".into()
87 }
88}
89#[derive(Clone, PartialEq, ::prost::Message)]
91pub struct AuthenticatedData {
92 #[prost(bytes = "vec", tag = "2")]
94 pub target_topic: ::prost::alloc::vec::Vec<u8>,
95 #[prost(message, optional, tag = "3")]
97 pub depends_on: ::core::option::Option<Cursor>,
98}
99impl ::prost::Name for AuthenticatedData {
100 const NAME: &'static str = "AuthenticatedData";
101 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
102 fn full_name() -> ::prost::alloc::string::String {
103 "xmtp.xmtpv4.envelopes.AuthenticatedData".into()
104 }
105 fn type_url() -> ::prost::alloc::string::String {
106 "/xmtp.xmtpv4.envelopes.AuthenticatedData".into()
107 }
108}
109#[derive(Clone, PartialEq, ::prost::Message)]
110pub struct ClientEnvelope {
111 #[prost(message, optional, tag = "1")]
112 pub aad: ::core::option::Option<AuthenticatedData>,
113 #[prost(oneof = "client_envelope::Payload", tags = "2, 3, 4, 5, 6, 7")]
114 pub payload: ::core::option::Option<client_envelope::Payload>,
115}
116pub mod client_envelope {
118 #[derive(Clone, PartialEq, ::prost::Oneof)]
119 pub enum Payload {
120 #[prost(message, tag = "2")]
121 GroupMessage(super::super::super::mls::api::v1::GroupMessageInput),
122 #[prost(message, tag = "3")]
123 WelcomeMessage(super::super::super::mls::api::v1::WelcomeMessageInput),
124 #[prost(message, tag = "4")]
125 UploadKeyPackage(super::super::super::mls::api::v1::UploadKeyPackageRequest),
126 #[prost(message, tag = "5")]
127 IdentityUpdate(super::super::super::identity::associations::IdentityUpdate),
128 #[prost(message, tag = "6")]
129 PayerReport(super::PayerReport),
130 #[prost(message, tag = "7")]
131 PayerReportAttestation(super::PayerReportAttestation),
132 }
133}
134impl ::prost::Name for ClientEnvelope {
135 const NAME: &'static str = "ClientEnvelope";
136 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
137 fn full_name() -> ::prost::alloc::string::String {
138 "xmtp.xmtpv4.envelopes.ClientEnvelope".into()
139 }
140 fn type_url() -> ::prost::alloc::string::String {
141 "/xmtp.xmtpv4.envelopes.ClientEnvelope".into()
142 }
143}
144#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
146pub struct PayerEnvelope {
147 #[prost(bytes = "vec", tag = "1")]
149 pub unsigned_client_envelope: ::prost::alloc::vec::Vec<u8>,
150 #[prost(message, optional, tag = "2")]
151 pub payer_signature: ::core::option::Option<
152 super::super::identity::associations::RecoverableEcdsaSignature,
153 >,
154 #[prost(uint32, tag = "3")]
155 pub target_originator: u32,
156 #[prost(uint32, tag = "4")]
157 pub message_retention_days: u32,
158}
159impl ::prost::Name for PayerEnvelope {
160 const NAME: &'static str = "PayerEnvelope";
161 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
162 fn full_name() -> ::prost::alloc::string::String {
163 "xmtp.xmtpv4.envelopes.PayerEnvelope".into()
164 }
165 fn type_url() -> ::prost::alloc::string::String {
166 "/xmtp.xmtpv4.envelopes.PayerEnvelope".into()
167 }
168}
169#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
171pub struct UnsignedOriginatorEnvelope {
172 #[prost(uint32, tag = "1")]
173 pub originator_node_id: u32,
174 #[prost(uint64, tag = "2")]
175 pub originator_sequence_id: u64,
176 #[prost(int64, tag = "3")]
177 pub originator_ns: i64,
178 #[prost(bytes = "vec", tag = "4")]
179 pub payer_envelope_bytes: ::prost::alloc::vec::Vec<u8>,
180 #[prost(uint64, tag = "5")]
182 pub base_fee_picodollars: u64,
183 #[prost(uint64, tag = "6")]
185 pub congestion_fee_picodollars: u64,
186 #[prost(uint64, tag = "7")]
187 pub expiry_unixtime: u64,
188}
189impl ::prost::Name for UnsignedOriginatorEnvelope {
190 const NAME: &'static str = "UnsignedOriginatorEnvelope";
191 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
192 fn full_name() -> ::prost::alloc::string::String {
193 "xmtp.xmtpv4.envelopes.UnsignedOriginatorEnvelope".into()
194 }
195 fn type_url() -> ::prost::alloc::string::String {
196 "/xmtp.xmtpv4.envelopes.UnsignedOriginatorEnvelope".into()
197 }
198}
199#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
201pub struct BlockchainProof {
202 #[prost(bytes = "vec", tag = "1")]
203 pub transaction_hash: ::prost::alloc::vec::Vec<u8>,
204}
205impl ::prost::Name for BlockchainProof {
206 const NAME: &'static str = "BlockchainProof";
207 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
208 fn full_name() -> ::prost::alloc::string::String {
209 "xmtp.xmtpv4.envelopes.BlockchainProof".into()
210 }
211 fn type_url() -> ::prost::alloc::string::String {
212 "/xmtp.xmtpv4.envelopes.BlockchainProof".into()
213 }
214}
215#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
217pub struct OriginatorEnvelope {
218 #[prost(bytes = "vec", tag = "1")]
220 pub unsigned_originator_envelope: ::prost::alloc::vec::Vec<u8>,
221 #[prost(oneof = "originator_envelope::Proof", tags = "2, 3")]
222 pub proof: ::core::option::Option<originator_envelope::Proof>,
223}
224pub mod originator_envelope {
226 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
227 pub enum Proof {
228 #[prost(message, tag = "2")]
229 OriginatorSignature(
230 super::super::super::identity::associations::RecoverableEcdsaSignature,
231 ),
232 #[prost(message, tag = "3")]
233 BlockchainProof(super::BlockchainProof),
234 }
235}
236impl ::prost::Name for OriginatorEnvelope {
237 const NAME: &'static str = "OriginatorEnvelope";
238 const PACKAGE: &'static str = "xmtp.xmtpv4.envelopes";
239 fn full_name() -> ::prost::alloc::string::String {
240 "xmtp.xmtpv4.envelopes.OriginatorEnvelope".into()
241 }
242 fn type_url() -> ::prost::alloc::string::String {
243 "/xmtp.xmtpv4.envelopes.OriginatorEnvelope".into()
244 }
245}