Skip to content

Commit

Permalink
updete ibc-middleware
Browse files Browse the repository at this point in the history
  • Loading branch information
yito88 committed Jan 17, 2025
1 parent 9c53fa5 commit 7f5345e
Show file tree
Hide file tree
Showing 11 changed files with 502 additions and 314 deletions.
135 changes: 99 additions & 36 deletions Cargo.lock

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,11 @@ flume = "0.11.1"
fs_extra = "1.2.0"
futures = "0.3"
git2 = { version = "0.18.1", default-features = false }
# branch tiago/optional-ack-rebased
ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", branch = "tiago/optional-ack-rebased", features = ["serde"] }
ibc-derive = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", branch = "tiago/optional-ack-rebased" }
ibc-middleware-packet-forward = { git = "https://github.com/heliaxdev/ibc-middleware", tag = "pfm/v0.8.0", features = ["borsh"] }
ibc-testkit = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", branch = "tiago/optional-ack-rebased", default-features = false }
# branch tiago/signer-parsing-from-ctx
ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "12ffb4bd01e962b86e2db00b10ef60921a9b8500", features = ["serde"] }
ibc-derive = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "12ffb4bd01e962b86e2db00b10ef60921a9b8500" }
ibc-middleware-packet-forward = { git = "https://github.com/heliaxdev/ibc-middleware", branch = "yuji/upgrade-ibc-rs", features = ["borsh"] }
ibc-testkit = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "12ffb4bd01e962b86e2db00b10ef60921a9b8500", default-features = false }
ics23 = "0.12.0"
usize-set = { version = "0.10.3", features = ["serialize-borsh", "serialize-serde"] }
indexmap = { git = "https://github.com/heliaxdev/indexmap", tag = "2.2.4-heliax-1", features = ["borsh-schema", "serde"] }
Expand Down
7 changes: 1 addition & 6 deletions crates/ibc/src/context/common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -552,12 +552,7 @@ pub trait IbcCommonContext: IbcStorageContext {
let key = storage::receipt_key(port_id, channel_id, sequence);
match self.storage().read_bytes(&key)? {
Some(_) => Ok(Receipt::Ok),
None => Err(HostError::FailedToRetrieve {
description: format!(
"No packet receipt: port {port_id}, channel {channel_id}, \
sequence {sequence}"
),
}),
None => Ok(Receipt::None),
}
}

Expand Down
20 changes: 10 additions & 10 deletions crates/ibc/src/context/middlewares/pfm_mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use ibc::core::channel::handler::{
};
use ibc::core::channel::types::acknowledgement::Acknowledgement;
use ibc::core::channel::types::channel::{Counterparty, Order};
use ibc::core::channel::types::error::{ChannelError, PacketError};
use ibc::core::channel::types::error::ChannelError;
use ibc::core::channel::types::packet::Packet;
use ibc::core::channel::types::timeout::TimeoutTimestamp;
use ibc::core::channel::types::Version;
Expand Down Expand Up @@ -249,7 +249,7 @@ where
packet: &Packet,
acknowledgement: &Acknowledgement,
relayer: &Signer,
) -> Result<(), PacketError> {
) -> Result<(), ChannelError> {
self.transfer_module.on_acknowledgement_packet_validate(
packet,
acknowledgement,
Expand All @@ -262,7 +262,7 @@ where
packet: &Packet,
acknowledgement: &Acknowledgement,
relayer: &Signer,
) -> (ModuleExtras, Result<(), PacketError>) {
) -> (ModuleExtras, Result<(), ChannelError>) {
self.transfer_module.on_acknowledgement_packet_execute(
packet,
acknowledgement,
Expand All @@ -274,7 +274,7 @@ where
&self,
packet: &Packet,
relayer: &Signer,
) -> Result<(), PacketError> {
) -> Result<(), ChannelError> {
self.transfer_module
.on_timeout_packet_validate(packet, relayer)
}
Expand All @@ -283,7 +283,7 @@ where
&mut self,
packet: &Packet,
relayer: &Signer,
) -> (ModuleExtras, Result<(), PacketError>) {
) -> (ModuleExtras, Result<(), ChannelError>) {
self.transfer_module
.on_timeout_packet_execute(packet, relayer)
}
Expand All @@ -306,7 +306,7 @@ where
.inner
.borrow()
.get_next_sequence_send(&msg.port_id_on_a, &msg.chan_id_on_a)
.map_err(|e| Error::Context(Box::new(e)))?;
.map_err(|e| Error::TokenTransfer(e.into()))?;
tracing::debug!(?seq, ?msg, "PFM send_transfer_execute");

let mut ctx = IbcContext::<C, Params>::new(
Expand Down Expand Up @@ -381,7 +381,7 @@ where
&coin,
&String::new().into(),
)
.map_err(Error::TokenTransfer)
.map_err(|e| Error::TokenTransfer(e.into()))
} else {
let coin = {
let mut c = packet_data.token;
Expand All @@ -394,7 +394,7 @@ where

token_transfer_ctx
.burn_coins_execute(&IBC_ADDRESS, &coin, &String::new().into())
.map_err(Error::TokenTransfer)
.map_err(|e| Error::TokenTransfer(e.into()))
}
}

Expand All @@ -408,13 +408,13 @@ where
self.transfer_module.ctx.inner.clone(),
);
commit_packet_acknowledgment(&mut ctx, packet, acknowledgement)
.map_err(|e| Error::Context(Box::new(e)))?;
.map_err(|e| Error::TokenTransfer(e.into()))?;
emit_packet_acknowledgement_event(
&mut ctx,
packet.clone(),
acknowledgement.clone(),
)
.map_err(|e| Error::Context(Box::new(e)))
.map_err(|e| Error::TokenTransfer(e.into()))
}

fn override_receiver(
Expand Down
3 changes: 2 additions & 1 deletion crates/ibc/src/context/nft_transfer_mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,8 @@ where
packet: &Packet,
_relayer: &Signer,
) -> (ModuleExtras, Option<Acknowledgement>) {
on_recv_packet_execute(&mut self.ctx, packet)
let (extras, ack) = on_recv_packet_execute(&mut self.ctx, packet);
(extras, Some(ack))
}

fn on_acknowledgement_packet_validate(
Expand Down
3 changes: 2 additions & 1 deletion crates/ibc/src/context/transfer_mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,8 @@ where
packet: &Packet,
_relayer: &Signer,
) -> (ModuleExtras, Option<Acknowledgement>) {
on_recv_packet_execute(&mut self.ctx, packet)
let (extras, ack) = on_recv_packet_execute(&mut self.ctx, packet);
(extras, Some(ack))
}

fn on_acknowledgement_packet_validate(
Expand Down
10 changes: 5 additions & 5 deletions crates/ibc/src/context/validation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ use ibc::core::channel::types::channel::ChannelEnd;
use ibc::core::channel::types::commitment::{
AcknowledgementCommitment, PacketCommitment,
};
use ibc::core::channel::types::error::PacketError;
use ibc::core::channel::types::packet::Receipt;
use ibc::core::client::context::{
ClientValidationContext, ExtClientValidationContext,
Expand Down Expand Up @@ -267,10 +266,11 @@ where
path.sequence,
)?;

maybe_ack.ok_or_else(|| {
HostError::Other {
description: format!("No packet acknowledgement: port {}, channel {}, sequence {}" path.port_id, path.channel_id, path.sequence)
}
maybe_ack.ok_or_else(|| HostError::Other {
description: format!(
"No packet acknowledgement: port {}, channel {}, sequence {}",
path.port_id, path.channel_id, path.sequence
),
})
}

Expand Down
2 changes: 1 addition & 1 deletion crates/tests/src/e2e/ibc_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2159,7 +2159,7 @@ fn try_invalid_transfers(
&"channel-42".parse().unwrap(),
None,
None,
Some("IBC token transfer error: context error: `ICS04 Channel error"),
Some("No channel end: port transfer, channel channel-42"),
false,
)?;

Expand Down
2 changes: 1 addition & 1 deletion crates/tests/src/e2e/setup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1124,7 +1124,7 @@ where
// Root cargo workspace manifest path
let (bin_name, log_level) = match bin {
Bin::Namada => ("namada", "info"),
Bin::Node => ("namadan", "info"),
Bin::Node => ("namadan", "debug"),
Bin::Client => (
"namadac",
if is_shielded_sync {
Expand Down
Loading

0 comments on commit 7f5345e

Please sign in to comment.