Skip to main content

xmtp_proto/
lib.rs

1#[allow(clippy::all)]
2#[allow(warnings)]
3mod generated {
4    //! Module structure of Protos for XMTP
5    //!
6    //! Edit the 'build.rs' file and uncomment '.include_file' to generate this file
7    //! from the beginning. Generating this file anew will remove all ".serde.rs" includes,
8    //! since pbjson does not integrate with prost/tonic build
9    include!("gen/mod.rs");
10    pub const FILE_DESCRIPTOR_SET: &'static [u8] = include_bytes!("gen/proto_descriptor.bin");
11}
12
13pub mod api_client;
14pub mod codec;
15mod convert;
16mod error;
17mod impls;
18mod traits;
19pub mod types;
20
21pub use error::*;
22pub use generated::*;
23pub use impls::update_dedupe::GroupUpdateDeduper;
24pub use traits::short_hex::ShortHex;
25
26pub mod api {
27    pub use super::traits::combinators::*;
28    pub use super::traits::stream::*;
29    pub use super::traits::*;
30}
31
32#[cfg(test)]
33pub mod test {
34    xmtp_common::if_native! {
35        #[cfg(test)]
36        #[ctor::ctor]
37        fn _setup() {
38            xmtp_common::logger()
39        }
40    }
41}
42
43pub mod prelude {
44    pub use super::FILE_DESCRIPTOR_SET;
45    xmtp_common::if_test! {
46        pub use super::api_client::XmtpTestClient;
47    }
48    pub use super::api_client::{
49        ApiBuilder, ArcedXmtpApi, BoxedXmtpApi, NetConnectConfig, XmtpIdentityClient,
50        XmtpMlsClient, XmtpMlsStreams,
51    };
52    pub use super::traits::{ApiClientError, BytesStream, Client, Endpoint, Query, QueryStream};
53}
54
55pub mod identity_v1 {
56    pub use super::xmtp::identity::api::v1::*;
57}
58
59pub mod mls_v1 {
60    pub use super::xmtp::mls::api::v1::*;
61}