Cargo Features

ibc-types-core-channel = { version = "0.13.0", default-features = false, features = ["std", "parity-scale-codec", "borsh", "with_serde", "upgrade_client", "mocks", "mocks-no-std"] }
default = std

The std feature is set by default whenever ibc-types-core-channel is added without default-features = false somewhere in the dependency tree.

std default

Enables clock and std of tendermint ^0.34.0, std of tracing and std of bytes, displaydoc, ibc-proto, ibc-types-core-client, ibc-types-core-connection, ibc-types-identifier, ibc-types-timestamp, ics23, num-traits, prost, serde, serde_json, sha2, and subtle-encoding


Proto definitions for all IBC-related interfaces, e.g., connections or channels.


Enables parity-scale-codec and scale-info


for codec encode or decode


Enables borsh ^0.10.0

for borsh encode or decode

with_serde = serde, serde_derive, serde_json

This feature is required for token transfer (ICS-20)

Enables serde of ibc-proto


This feature guards the unfinished implementation of the UpgradeClient handler.

mocks = cfg-if, parking_lot, tendermint-testgen

This feature grants access to development-time mocking libraries, such as MockContext or MockHeader. Depends on the testgen suite for generating Tendermint light blocks.

Enables clock of tendermint ^0.34.0

mocks-no-std = cfg-if

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

cfg-if mocks? mocks-no-std?
parking_lot mocks?
serde std with_serde?
serde_derive with_serde?
serde_json std with_serde?
tendermint-testgen mocks?

Enables tendermint-testgen ^0.34.0