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}