Skip to content

Commit 10c316d

Browse files
feat: migrate core module under the ibc crate into ibc-core
feat: migrate `core` module under the `ibc` crate into `ibc-core` feat: migrate `applications` module under the `ibc` crate into `ibc-apps` (#967) * feat: restructure and split off applications codebase into ibc-apps dir * imp: rename transfer dir to ics20_transfer * feat: add ibc-apps crate * fix: remove redundant dep + fix cargo doc * docs: add README and descriptions * docs: update main README page * nit: docstrings * nit: docstrings * imp: rename folder to ics20-transfer * chore: move serializers into ics20-transfer/types * fix: apply reviewer comments * imp: add docstring for cosmos_adr028_escrow_address * fix: add missing features + use workspace deps for ibc crates * imp: place re-exports under mod * nit: apply suggestions from code review Co-authored-by: Sean Chen <[email protected]> Signed-off-by: Farhad Shabani <[email protected]> * fix: cargo fmt --------- Signed-off-by: Farhad Shabani <[email protected]> Co-authored-by: Sean Chen <[email protected]> feat: restructure and split off applications codebase into ibc-apps dir refactor: nits from nightly clippy (#962) * use enum tuple variants directly * use first() over get(0) * use infallible conversion * rm redundant export * cargo fmt ci: spell check on GitHub workflows (#964) * typos github action * cutom config for typos * fix spelling to counterparty * fix spelling to transfer imp: rename transfer dir to ics20_transfer feat: add ibc-apps crate fix: remove redundant dep + fix cargo doc docs: add README and descriptions docs: update main README page nit: docstrings nit: docstrings imp: rename folder to ics20-transfer chore: move serializers into ics20-transfer/types fix: apply reviewer comments imp: add docstring for cosmos_adr028_escrow_address fix: add missing features + use workspace deps for ibc crates imp: place re-exports under mod feat: ibc core codebase overhaul (part-1) feat: ibc core codebase overhaul (part-2) chore: comment out ibc-query & ibc-testkit fix: add missing features nit
1 parent 68b4ca6 commit 10c316d

File tree

261 files changed

+4469
-3007
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+4469
-3007
lines changed

Cargo.toml

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22
resolver = "2"
33
members = [
44
"crates/ibc",
5+
"crates/ibc-data-types",
6+
"crates/ibc-primitives",
7+
"crates/ibc-core",
8+
"crates/ibc-core/ics02-client",
9+
"crates/ibc-core/ics02-client/types",
10+
"crates/ibc-core/ics03-connection",
11+
"crates/ibc-core/ics03-connection/types",
12+
"crates/ibc-core/ics04-channel",
13+
"crates/ibc-core/ics04-channel/types",
14+
"crates/ibc-core/ics23-commitment/types",
15+
"crates/ibc-core/ics24-host/types",
16+
"crates/ibc-core/context",
17+
"crates/ibc-core/extra",
18+
"crates/ibc-core/context/types",
19+
"crates/ibc-core/ics26-routing",
20+
"crates/ibc-core/ics26-routing/types",
521
"crates/ibc-apps",
622
"crates/ibc-apps/ics20-transfer",
723
"crates/ibc-apps/ics20-transfer/types",
@@ -35,7 +51,7 @@ parking_lot = { version = "0.12.1", default-features = false }
3551
primitive-types = { version = "0.12.2", default-features = false, features = ["serde_no_std"] }
3652
prost = { version = "0.12", default-features = false }
3753
rstest = "0.18.2"
38-
schemars = { version = "0.8.15"}
54+
schemars = { version = "0.8.15" }
3955
sha2 = { version = "0.10.8", default-features = false }
4056
serde = { version = "1.0", default-features = false }
4157
serde_derive = { version = "1.0", default-features = false }
@@ -45,14 +61,34 @@ test-log = { version = "0.2.13", features = ["trace"] }
4561
time = { version = ">=0.3.0, <0.3.31", default-features = false }
4662
tracing = { version = "0.1.40", default-features = false }
4763
tracing-subscriber = { version = "0.3.17", features = ["fmt", "env-filter", "json"] }
48-
typed-builder = { version = "0.18.0"}
64+
typed-builder = { version = "0.18.0" }
4965

5066
# ibc dependencies
51-
ibc = { version = "0.47.0", path = "./crates/ibc", default-features = false }
52-
ibc-testkit = { version = "0.47.0", path = "./crates/ibc-testkit", default-features = false}
53-
ibc-app-transfer = { version = "0.47.0", path = "./crates/ibc-apps/ics20-transfer", default-features = false }
54-
ibc-app-transfer-types = { version = "0.47.0", path = "./crates/ibc-apps/ics20-transfer/types", default-features = false }
55-
ibc-derive = { version = "0.3.0", path = "./crates/ibc-derive" }
67+
ibc = { version = "0.47.0", path = "./crates/ibc", default-features = false }
68+
ibc-apps = { version = "0.47.0", path = "./crates/ibc-apps", default-features = false }
69+
ibc-core = { version = "0.47.0", path = "./crates//ibc-core", default-features = false }
70+
ibc-primitives = { version = "0.47.0", path = "./crates/ibc-primitives", default-features = false }
71+
ibc-testkit = { version = "0.47.0", path = "./crates/ibc-testkit" }
72+
ibc-derive = { version = "0.3.0", path = "./crates/ibc-derive" }
73+
74+
ibc-core-client = { version = "0.47.0", path = "./crates/ibc-core/ics02-client", default-features = false }
75+
ibc-core-connection = { version = "0.47.0", path = "./crates/ibc-core/ics03-connection", default-features = false }
76+
ibc-core-channel = { version = "0.47.0", path = "./crates/ibc-core/ics04-channel", default-features = false }
77+
ibc-core-router = { version = "0.47.0", path = "./crates/ibc-core/ics26-routing", default-features = false }
78+
ibc-core-context = { version = "0.47.0", path = "./crates/ibc-core/context", default-features = false }
79+
ibc-core-extra = { version = "0.47.0", path = "./crates/ibc-core/extra", default-features = false }
80+
ibc-app-transfer = { version = "0.47.0", path = "./crates/ibc-apps/ics20-transfer", default-features = false }
81+
82+
ibc-core-client-context = { version = "0.47.0", path = "./crates/ibc-core/ics02-client/context", default-features = false }
83+
ibc-core-client-types = { version = "0.47.0", path = "./crates/ibc-core/ics02-client/types", default-features = false }
84+
ibc-core-channel-types = { version = "0.47.0", path = "./crates/ibc-core/ics04-channel/types", default-features = false }
85+
ibc-core-connection-types = { version = "0.47.0", path = "./crates/ibc-core/ics03-connection/types" }
86+
ibc-core-commitment-types = { version = "0.47.0", path = "./crates/ibc-core/ics23-commitment/types", default-features = false }
87+
ibc-core-host-types = { version = "0.47.0", path = "./crates/ibc-core/ics24-host/types", default-features = false }
88+
ibc-core-router-types = { version = "0.47.0", path = "./crates/ibc-core/ics26-routing/types", default-features = false }
89+
ibc-core-context-types = { version = "0.47.0", path = "./crates/ibc-core/context/types", default-features = false }
90+
ibc-app-transfer-types = { version = "0.47.0", path = "./crates/ibc-apps/ics20-transfer/types", default-features = false }
91+
5692
ibc-proto = { version = "0.38.0", default-features = false }
5793
ics23 = { version = "0.11", default-features = false }
5894

crates/ibc-apps/ics20-transfer/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ serde_json = { workspace = true, optional = true }
2222
sha2 = { workspace = true }
2323

2424
# ibc dependencies
25-
ibc = { workspace = true }
25+
ibc-core = { workspace = true }
2626
ibc-app-transfer-types = { workspace = true }
2727

2828
[dev-dependencies]
@@ -32,26 +32,26 @@ subtle-encoding = { workspace = true }
3232
default = ["std"]
3333
std = [
3434
"ibc-app-transfer-types/std",
35-
"ibc/std",
35+
"ibc-core/std",
3636
"serde_json/std",
3737
"sha2/std",
3838
]
3939
serde = [
4040
"ibc-app-transfer-types/serde",
41-
"ibc/serde",
41+
"ibc-core/serde",
4242
"serde_json"
4343
]
4444
schema = [
4545
"ibc-app-transfer-types/schema",
46-
"ibc/schema",
46+
"ibc-core/schema",
4747
"serde",
4848
"std",
4949
]
5050
borsh = [
5151
"ibc-app-transfer-types/borsh",
52-
"ibc/borsh",
52+
"ibc-core/borsh",
5353
]
5454
parity-scale-codec = [
5555
"ibc-app-transfer-types/parity-scale-codec",
56-
"ibc/parity-scale-codec",
56+
"ibc-core/parity-scale-codec",
5757
]

crates/ibc-apps/ics20-transfer/src/context.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
//! Defines the main context traits and IBC module callbacks
22
3-
use ibc::core::ics24_host::identifier::{ChannelId, PortId};
4-
use ibc::prelude::*;
5-
use ibc::Signer;
63
use ibc_app_transfer_types::error::TokenTransferError;
74
use ibc_app_transfer_types::{PrefixedCoin, PrefixedDenom, VERSION};
5+
use ibc_core::host::identifiers::{ChannelId, PortId};
6+
use ibc_core::primitives::prelude::*;
7+
use ibc_core::primitives::Signer;
88
use sha2::{Digest, Sha256};
99

1010
/// Methods required in token transfer validation, to be implemented by the host

crates/ibc-apps/ics20-transfer/src/handler/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
pub mod on_recv_packet;
33
pub mod send_transfer;
44

5-
use ibc::core::ics04_channel::packet::Packet;
6-
use ibc::prelude::*;
75
use ibc_app_transfer_types::error::TokenTransferError;
86
use ibc_app_transfer_types::is_sender_chain_source;
97
use ibc_app_transfer_types::packet::PacketData;
8+
use ibc_core::channel::types::packet::Packet;
109

1110
use crate::context::{TokenTransferExecutionContext, TokenTransferValidationContext};
1211

crates/ibc-apps/ics20-transfer/src/handler/on_recv_packet.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use ibc::core::ics04_channel::packet::Packet;
2-
use ibc::core::router::ModuleExtras;
3-
use ibc::prelude::*;
41
use ibc_app_transfer_types::error::TokenTransferError;
52
use ibc_app_transfer_types::events::DenomTraceEvent;
63
use ibc_app_transfer_types::packet::PacketData;
74
use ibc_app_transfer_types::{is_receiver_chain_source, TracePrefix};
5+
use ibc_core::channel::types::packet::Packet;
6+
use ibc_core::primitives::prelude::*;
7+
use ibc_core::router::types::module::ModuleExtras;
88

99
use crate::context::TokenTransferExecutionContext;
1010

crates/ibc-apps/ics20-transfer/src/handler/send_transfer.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
use ibc::core::events::{MessageEvent, ModuleEvent};
2-
use ibc::core::ics04_channel::context::{SendPacketExecutionContext, SendPacketValidationContext};
3-
use ibc::core::ics04_channel::handler::send_packet::{send_packet_execute, send_packet_validate};
4-
use ibc::core::ics04_channel::packet::Packet;
5-
use ibc::core::ics24_host::path::{ChannelEndPath, SeqSendPath};
6-
use ibc::prelude::*;
71
use ibc_app_transfer_types::error::TokenTransferError;
82
use ibc_app_transfer_types::events::TransferEvent;
93
use ibc_app_transfer_types::msgs::transfer::MsgTransfer;
104
use ibc_app_transfer_types::{is_sender_chain_source, MODULE_ID_STR};
5+
use ibc_core::channel::context::{SendPacketExecutionContext, SendPacketValidationContext};
6+
use ibc_core::channel::handler::{send_packet_execute, send_packet_validate};
7+
use ibc_core::channel::types::packet::Packet;
8+
use ibc_core::context::types::events::MessageEvent;
9+
use ibc_core::host::path::{ChannelEndPath, SeqSendPath};
10+
use ibc_core::primitives::prelude::*;
11+
use ibc_core::router::types::event::ModuleEvent;
1112

1213
use crate::context::{TokenTransferExecutionContext, TokenTransferValidationContext};
1314

crates/ibc-apps/ics20-transfer/src/module.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
use ibc::core::ics04_channel::acknowledgement::{Acknowledgement, AcknowledgementStatus};
2-
use ibc::core::ics04_channel::channel::{Counterparty, Order};
3-
use ibc::core::ics04_channel::packet::Packet;
4-
use ibc::core::ics04_channel::Version;
5-
use ibc::core::ics24_host::identifier::{ChannelId, ConnectionId, PortId};
6-
use ibc::core::router::ModuleExtras;
7-
use ibc::core::ContextError;
8-
use ibc::prelude::*;
9-
use ibc::Signer;
101
use ibc_app_transfer_types::error::TokenTransferError;
112
use ibc_app_transfer_types::events::{AckEvent, AckStatusEvent, RecvEvent, TimeoutEvent};
123
use ibc_app_transfer_types::packet::PacketData;
134
use ibc_app_transfer_types::{ack_success_b64, VERSION};
5+
use ibc_core::channel::types::acknowledgement::{Acknowledgement, AcknowledgementStatus};
6+
use ibc_core::channel::types::channel::{Counterparty, Order};
7+
use ibc_core::channel::types::packet::Packet;
8+
use ibc_core::channel::types::Version;
9+
use ibc_core::context::types::error::ContextError;
10+
use ibc_core::host::identifiers::{ChannelId, ConnectionId, PortId};
11+
use ibc_core::primitives::prelude::*;
12+
use ibc_core::primitives::Signer;
13+
use ibc_core::router::types::module::ModuleExtras;
1414

1515
use crate::context::{TokenTransferExecutionContext, TokenTransferValidationContext};
1616
use crate::handler::on_recv_packet::process_recv_packet_execute;

crates/ibc-apps/ics20-transfer/types/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ serde_json = { workspace = true, optional = true}
2828
uint = { version = "0.9", default-features = false }
2929

3030
# ibc dependencies
31-
ibc = { workspace = true }
31+
ibc-core = { workspace = true }
3232
ibc-proto = { workspace = true }
3333

3434
## parity dependencies
@@ -49,7 +49,7 @@ std = [
4949
"uint/std",
5050
"primitive-types/std",
5151
]
52-
borsh = ["dep:borsh", "ibc/borsh", "ibc-proto/borsh"]
53-
serde = ["dep:serde", "serde_json", "ibc/serde", "ibc-proto/serde"]
54-
schema = ["dep:schemars", "ibc/schema", "ibc-proto/json-schema", "serde", "std"]
55-
parity-scale-codec = ["dep:parity-scale-codec", "dep:scale-info", "ibc/parity-scale-codec", "ibc-proto/parity-scale-codec"]
52+
borsh = ["dep:borsh", "ibc-core/borsh", "ibc-proto/borsh"]
53+
serde = ["dep:serde", "serde_json", "ibc-core/serde", "ibc-proto/serde"]
54+
schema = ["dep:schemars", "ibc-core/schema", "ibc-proto/json-schema", "serde", "std"]
55+
parity-scale-codec = ["dep:parity-scale-codec", "dep:scale-info", "ibc-core/parity-scale-codec", "ibc-proto/parity-scale-codec"]

crates/ibc-apps/ics20-transfer/types/src/amount.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use core::ops::Deref;
33
use core::str::FromStr;
44

55
use derive_more::{Display, From, Into};
6-
use ibc::prelude::*;
6+
use ibc_core::primitives::prelude::*;
77
use primitive_types::U256;
88

99
use super::error::TokenTransferError;

crates/ibc-apps/ics20-transfer/types/src/coin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
use core::fmt::{Display, Error as FmtError, Formatter};
33
use core::str::FromStr;
44

5-
use ibc::prelude::*;
5+
use ibc_core::primitives::prelude::*;
66
use ibc_proto::cosmos::base::v1beta1::Coin as ProtoCoin;
77

88
use super::amount::Amount;

crates/ibc-apps/ics20-transfer/types/src/denom.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use core::fmt::{Display, Error as FmtError, Formatter};
33
use core::str::FromStr;
44

55
use derive_more::{Display, From};
6-
use ibc::core::ics24_host::identifier::{ChannelId, PortId};
7-
use ibc::prelude::*;
6+
use ibc_core::host::identifiers::{ChannelId, PortId};
7+
use ibc_core::primitives::prelude::*;
88
use ibc_proto::ibc::applications::transfer::v1::DenomTrace as RawDenomTrace;
99

1010
use super::error::TokenTransferError;

crates/ibc-apps/ics20-transfer/types/src/error.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ use core::convert::Infallible;
33
use core::str::Utf8Error;
44

55
use displaydoc::Display;
6-
use ibc::core::ics04_channel::acknowledgement::StatusValue;
7-
use ibc::core::ics04_channel::channel::Order;
8-
use ibc::core::ics24_host::identifier::{ChannelId, IdentifierError, PortId};
9-
use ibc::core::ContextError;
10-
use ibc::prelude::*;
6+
use ibc_core::channel::types::acknowledgement::StatusValue;
7+
use ibc_core::channel::types::channel::Order;
8+
use ibc_core::context::types::error::ContextError;
9+
use ibc_core::host::error::IdentifierError;
10+
use ibc_core::host::identifiers::{ChannelId, PortId};
11+
use ibc_core::primitives::prelude::*;
1112
use uint::FromDecStrErr;
1213

1314
#[derive(Display, Debug)]

crates/ibc-apps/ics20-transfer/types/src/events.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//! Defines all token transfer event types
2-
use ibc::core::events::ModuleEvent;
3-
use ibc::core::ics04_channel::acknowledgement::AcknowledgementStatus;
4-
use ibc::prelude::*;
5-
use ibc::Signer;
2+
use ibc_core::channel::types::acknowledgement::AcknowledgementStatus;
3+
use ibc_core::primitives::prelude::*;
4+
use ibc_core::primitives::Signer;
5+
use ibc_core::router::types::event::ModuleEvent;
66

77
use super::Memo;
88
use crate::{Amount, PrefixedDenom, MODULE_ID_STR};
@@ -22,7 +22,7 @@ pub enum Event {
2222
Transfer(TransferEvent),
2323
}
2424

25-
/// Event emitted in the `onRecvPacket` module callback to indicate that the
25+
/// Event emitted by the `onRecvPacket` module callback to indicate the that the
2626
/// `RecvPacket` message was processed
2727
pub struct RecvEvent {
2828
pub sender: Signer,
@@ -58,7 +58,7 @@ impl From<RecvEvent> for ModuleEvent {
5858
}
5959
}
6060

61-
/// Event emitted by the `onAcknowledgePacket` module callback
61+
/// Event emitted in the `onAcknowledgePacket` module callback
6262
pub struct AckEvent {
6363
pub sender: Signer,
6464
pub receiver: Signer,
@@ -93,7 +93,7 @@ impl From<AckEvent> for ModuleEvent {
9393
}
9494
}
9595

96-
/// Event emitted by the `onAcknowledgePacket` module callback to indicate
96+
/// Event emitted in the `onAcknowledgePacket` module callback to indicate
9797
/// whether the acknowledgement is a success or a failure
9898
pub struct AckStatusEvent {
9999
pub acknowledgement: AcknowledgementStatus,
@@ -114,7 +114,7 @@ impl From<AckStatusEvent> for ModuleEvent {
114114
}
115115
}
116116

117-
/// Event emitted by the `onTimeoutPacket` module callback
117+
/// Event emitted in the `onTimeoutPacket` module callback
118118
pub struct TimeoutEvent {
119119
pub refund_receiver: Signer,
120120
pub refund_denom: PrefixedDenom,
@@ -143,7 +143,7 @@ impl From<TimeoutEvent> for ModuleEvent {
143143
}
144144
}
145145

146-
/// Event emitted by the `onRecvPacket` module callback when new tokens are minted
146+
/// Event emitted in the `onRecvPacket` module callback when new tokens are minted
147147
pub struct DenomTraceEvent {
148148
pub trace_hash: Option<String>,
149149
pub denom: PrefixedDenom,

crates/ibc-apps/ics20-transfer/types/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ pub const VERSION: &str = "ics20-1";
6161
/// equivalent to `base64::encode(0x01)`.
6262
pub const ACK_SUCCESS_B64: &str = "AQ==";
6363

64-
use ibc::core::ics04_channel::acknowledgement::StatusValue;
64+
use ibc_core::channel::types::acknowledgement::StatusValue;
6565

6666
/// Returns a successful acknowledgement status for the token transfer application.
6767
pub fn ack_success_b64() -> StatusValue {

crates/ibc-apps/ics20-transfer/types/src/memo.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use core::fmt::{
77
};
88
use core::str::FromStr;
99

10-
use ibc::prelude::*;
10+
use ibc_core::primitives::prelude::*;
1111

1212
/// Represents the token transfer memo
1313
#[cfg_attr(

crates/ibc-apps/ics20-transfer/types/src/msgs/transfer.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
//! Defines the token transfer message type
2-
use ibc::core::ics04_channel::error::PacketError;
3-
use ibc::core::ics04_channel::timeout::TimeoutHeight;
4-
use ibc::core::ics24_host::identifier::{ChannelId, PortId};
5-
use ibc::core::timestamp::Timestamp;
6-
use ibc::core::{ContextError, Msg};
7-
use ibc::prelude::*;
2+
3+
use ibc_core::channel::types::error::PacketError;
4+
use ibc_core::channel::types::timeout::TimeoutHeight;
5+
use ibc_core::context::types::error::ContextError;
6+
use ibc_core::host::identifiers::{ChannelId, PortId};
7+
use ibc_core::primitives::prelude::*;
8+
use ibc_core::primitives::{Msg, Timestamp};
89
use ibc_proto::google::protobuf::Any;
910
use ibc_proto::ibc::applications::transfer::v1::MsgTransfer as RawMsgTransfer;
1011
use ibc_proto::Protobuf;

crates/ibc-apps/ics20-transfer/types/src/packet.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
use core::convert::TryFrom;
44
use core::str::FromStr;
55

6-
use ibc::prelude::*;
7-
use ibc::Signer;
6+
use ibc_core::primitives::prelude::*;
7+
use ibc_core::primitives::Signer;
88
use ibc_proto::ibc::applications::transfer::v2::FungibleTokenPacketData as RawPacketData;
99

1010
use super::error::TokenTransferError;

crates/ibc-apps/ics20-transfer/types/src/serializers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use core::fmt::Display;
22
use core::str::FromStr;
33

4-
use ibc::prelude::*;
4+
use ibc_core::primitives::prelude::*;
55
use serde::{de, Deserialize, Deserializer, Serializer};
66

77
// Note: This method serializes to a String instead of a str

0 commit comments

Comments
 (0)