[package]
name = "ibc-core-handler-types"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
keywords = [ "blockchain", "cosmos", "ibc", "handler", "types" ]
readme = "./../../README.md"
description = """
Maintained by `ibc-rs`, encapsulates essential ICS-25 Handler Interface data structures and domain types,
as specified in the Inter-Blockchain Communication (IBC) protocol. Designed for universal applicability
to facilitate development and integration across diverse IBC-enabled projects.
"""
[package.metadata.docs.rs]
all-features = true
[dependencies]
borsh = { workspace = true, optional = true }
derive_more = { workspace = true }
displaydoc = { workspace = true }
serde = { workspace = true, optional = true }
schemars = { workspace = true, optional = true }
subtle-encoding = { workspace = true }
ibc-core-client-types = { workspace = true }
ibc-core-connection-types = { workspace = true }
ibc-core-channel-types = { workspace = true }
ibc-core-commitment-types = { workspace = true }
ibc-core-host-types = { workspace = true }
ibc-core-router-types = { workspace = true }
ibc-primitives = { workspace = true }
ibc-proto = { workspace = true }
tendermint = { workspace = true }
parity-scale-codec = { workspace = true, optional = true }
scale-info = { workspace = true, optional = true }
[features]
default = [ "std" ]
std = [
"displaydoc/std",
"serde/std",
"subtle-encoding/std",
"ibc-core-client-types/std",
"ibc-core-connection-types/std",
"ibc-core-channel-types/std",
"ibc-core-commitment-types/std",
"ibc-core-host-types/std",
"ibc-core-router-types/std",
"ibc-primitives/std",
"ibc-proto/std",
"tendermint/std",
]
serde = [
"dep:serde",
"ibc-core-client-types/serde",
"ibc-core-connection-types/serde",
"ibc-core-channel-types/serde",
"ibc-core-commitment-types/serde",
"ibc-core-host-types/serde",
"ibc-core-router-types/serde",
"ibc-primitives/serde",
"ibc-proto/serde",
]
schema = [
"dep:schemars",
"ibc-core-client-types/schema",
"ibc-core-connection-types/schema",
"ibc-core-channel-types/schema",
"ibc-core-commitment-types/schema",
"ibc-core-host-types/schema",
"ibc-core-router-types/schema",
"ibc-primitives/schema",
"ibc-proto/json-schema",
"serde",
"std",
]
borsh = [
"dep:borsh",
"ibc-core-client-types/borsh",
"ibc-core-connection-types/borsh",
"ibc-core-channel-types/borsh",
"ibc-core-commitment-types/borsh",
"ibc-core-host-types/borsh",
"ibc-core-router-types/borsh",
"ibc-primitives/borsh",
"ibc-proto/borsh",
]
parity-scale-codec = [
"dep:parity-scale-codec",
"dep:scale-info",
"ibc-core-client-types/parity-scale-codec",
"ibc-core-connection-types/parity-scale-codec",
"ibc-core-channel-types/parity-scale-codec",
"ibc-core-commitment-types/parity-scale-codec",
"ibc-core-host-types/parity-scale-codec",
"ibc-core-router-types/parity-scale-codec",
"ibc-primitives/parity-scale-codec",
"ibc-proto/parity-scale-codec",
]