ibc_data_types/
lib.rs

1//! Re-exports data structures of various specifications within the
2//! Inter-Blockchain Communication (IBC) protocol. Designed for universal
3//! application, enabling diverse projects across the IBC ecosystem to
4//! build using a shared language.
5#![no_std]
6#![forbid(unsafe_code)]
7#![cfg_attr(not(test), deny(clippy::unwrap_used))]
8#![cfg_attr(not(test), deny(clippy::disallowed_methods, clippy::disallowed_types,))]
9#![deny(
10    warnings,
11    trivial_numeric_casts,
12    unused_import_braces,
13    unused_qualifications,
14    rust_2018_idioms
15)]
16
17/// Re-exports IBC primitive types from the `ibc-primitives` crate
18pub mod primitives {
19    #[doc(inline)]
20    pub use ibc_primitives::*;
21}
22
23/// Re-exports data structures of all IBC core specifications
24pub mod core {
25    /// Re-exports ICS-02 client data structures from the
26    /// `ibc-core-client-types` crate
27    pub mod client {
28        #[doc(inline)]
29        pub use ibc_core_client_types::*;
30    }
31    /// Re-exports ICS-03 connection data structures from the
32    /// `ibc-core-connection-types` crate
33    pub mod connection {
34        #[doc(inline)]
35        pub use ibc_core_connection_types::*;
36    }
37    /// Re-exports ICS-04 channel data structures from the
38    /// `ibc-core-channel-types` crate
39    pub mod channel {
40        #[doc(inline)]
41        pub use ibc_core_channel_types::*;
42    }
43    /// Re-exports ICS-23 commitment data structures from the
44    /// `ibc-core-commitment-types` crate
45    pub mod commitment {
46        #[doc(inline)]
47        pub use ibc_core_commitment_types::*;
48    }
49    /// Re-exports ICS-24 host data structures from the `ibc-core-host-types`
50    /// crate
51    pub mod host {
52        #[doc(inline)]
53        pub use ibc_core_host_types::*;
54    }
55    /// Re-exports ICS-25 handler data structures from the
56    /// `ibc-core-handler-types` crate
57    pub mod handler {
58        #[doc(inline)]
59        pub use ibc_core_handler_types::*;
60    }
61    /// Re-exports ICS-26 routing data structures from the
62    /// `ibc-core-router-types` crate
63    pub mod router {
64        #[doc(inline)]
65        pub use ibc_core_router_types::*;
66    }
67}
68
69pub mod clients {
70    /// Re-exports ICS-07 tendermint client data structures from the
71    /// `ibc-client-tendermint-types` crate
72    pub mod tendermint {
73        #[doc(inline)]
74        pub use ibc_client_tendermint_types::*;
75    }
76    /// Re-exports ICS-08 wasm client data structures from the
77    /// `ibc-client-wasm-types` crate
78    pub mod wasm {
79        #[doc(inline)]
80        pub use ibc_client_wasm_types::*;
81    }
82}
83
84/// Re-exports data structures of various IBC applications
85pub mod apps {
86    /// Re-exports ICS-27 client update data structures from the
87    /// `ibc-core-client-types` crate
88    pub mod transfer {
89        #[doc(inline)]
90        pub use ibc_app_transfer_types::*;
91    }
92}