1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
//! ibc-proto library gives the developer access to the Cosmos SDK IBC proto-defined structs.

// Todo: automate the creation of this module setup based on the dots in the filenames.
//  This module setup is necessary because the generated code contains "super::" calls for dependencies.

#![deny(
    warnings,
    // missing_docs,
    trivial_casts,
    trivial_numeric_casts,
    unused_import_braces
)]
#![forbid(unsafe_code)]
#![doc(html_root_url = "https://docs.rs/ibc-proto/0.1.0")]

mod cosmos {
    pub mod base {
        pub mod v1beta1 {
            include!("prost/cosmos.base.v1beta1.rs");
        }
        pub mod query {
            pub mod v1beta1 {
                include!("prost/cosmos.base.query.v1beta1.rs");
            }
        }
        pub mod crypto {
            pub mod v1beta1 {
                include!("prost/cosmos.base.crypto.v1beta1.rs");
            }
        }
    }
    pub mod tx {
        pub mod v1beta1 {
            include!("prost/cosmos.tx.v1beta1.rs");
        }
        pub mod signing {
            pub mod v1beta1 {
                include!("prost/cosmos.tx.signing.v1beta1.rs");
            }
        }
    }
}

mod ibc {
    pub mod client {
        include!("prost/ibc.client.rs");
    }
    pub mod channel {
        include!("prost/ibc.channel.rs");
    }
    pub mod commitment {
        include!("prost/ibc.commitment.rs");
    }
    pub mod connection {
        include!("prost/ibc.connection.rs");
    }
    pub mod localhost {
        include!("prost/ibc.localhost.rs");
    }
    pub mod tendermint {
        include!("prost/ibc.tendermint.rs");
    }
    pub mod transfer {
        include!("prost/ibc.transfer.rs");
    }
    pub mod types {
        include!("prost/ibc.types.rs");
    }
}

mod ics23 {
    include!("prost/ics23.rs");
}

mod tendermint {
    pub mod crypto {
        include!("prost/tendermint.crypto.rs");
    }
    pub mod libs {
        pub mod bits {
            include!("prost/tendermint.libs.bits.rs");
        }
    }
    pub mod types {
        include!("prost/tendermint.types.rs");
    }
    pub mod version {
        include!("prost/tendermint.version.rs");
    }
}

pub use cosmos::*;
pub use ibc::*;
pub use ics23::*;
pub use tendermint::*;