1#![no_std]
3#![forbid(unsafe_code)]
4#![cfg_attr(not(test), deny(clippy::unwrap_used))]
5#![cfg_attr(not(test), deny(clippy::disallowed_methods, clippy::disallowed_types))]
6#![deny(
7 warnings,
8 trivial_numeric_casts,
9 unused_import_braces,
10 unused_qualifications,
11 rust_2018_idioms
12)]
13
14extern crate alloc;
15
16#[cfg(feature = "std")]
17extern crate std;
18
19pub mod prelude;
20pub mod utils;
21
22mod traits;
23pub use traits::*;
24
25mod types;
26pub use types::*;
27
28#[cfg(feature = "serde")]
31pub mod serializers;
32
33pub mod proto {
34 pub use ibc_proto::google::protobuf::{Any, Duration, Timestamp};
35 pub use ibc_proto::{Error, Protobuf};
36}
37
38#[cfg(feature = "arbitrary")]
39pub fn arb_protobuf_any(
40 u: &mut arbitrary::Unstructured<'_>,
41) -> arbitrary::Result<ibc_proto::google::protobuf::Any> {
42 let type_url: std::string::String = arbitrary::Arbitrary::arbitrary(u)?;
43 let value: std::vec::Vec<u8> = arbitrary::Arbitrary::arbitrary(u)?;
44 Ok(ibc_proto::google::protobuf::Any { type_url, value })
45}