From 0f2a755002a379e074dbe4b84be2efde7a23ddaa Mon Sep 17 00:00:00 2001 From: Tiago Carvalho Date: Mon, 2 Dec 2024 14:53:26 +0100 Subject: [PATCH] Move module wrapper impl --- crates/ibc/src/context/middlewares.rs | 27 ++++++++++++++++- crates/ibc/src/context/middlewares/pfm_mod.rs | 30 ++----------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/crates/ibc/src/context/middlewares.rs b/crates/ibc/src/context/middlewares.rs index 76455a48f7c..26c218c531a 100644 --- a/crates/ibc/src/context/middlewares.rs +++ b/crates/ibc/src/context/middlewares.rs @@ -9,7 +9,10 @@ use std::fmt::Debug; use std::marker::PhantomData; use std::rc::Rc; -use ibc_middleware_packet_forward::PacketForwardMiddleware; +use ibc::core::host::types::identifiers::PortId; +use ibc::core::router::module::Module; +use ibc::core::router::types::module::ModuleId; +use ibc_middleware_packet_forward::{PacketForwardMiddleware, PfmContext}; use namada_core::address::Address; use self::pfm_mod::PfmTransferModule; @@ -34,3 +37,25 @@ where _phantom: PhantomData, }) } + +impl crate::ModuleWrapper for TransferMiddlewares +where + C: IbcCommonContext + Debug, + PfmTransferModule: PfmContext, +{ + fn as_module(&self) -> &dyn Module { + self + } + + fn as_module_mut(&mut self) -> &mut dyn Module { + self + } + + fn module_id(&self) -> ModuleId { + ModuleId::new(ibc::apps::transfer::types::MODULE_ID_STR.to_string()) + } + + fn port_id(&self) -> PortId { + PortId::transfer() + } +} diff --git a/crates/ibc/src/context/middlewares/pfm_mod.rs b/crates/ibc/src/context/middlewares/pfm_mod.rs index d3df7444adf..862ec3d085b 100644 --- a/crates/ibc/src/context/middlewares/pfm_mod.rs +++ b/crates/ibc/src/context/middlewares/pfm_mod.rs @@ -24,10 +24,10 @@ use ibc::core::host::types::identifiers::{ ChannelId, ConnectionId, PortId, Sequence, }; use ibc::core::router::module::Module; -use ibc::core::router::types::module::{ModuleExtras, ModuleId}; +use ibc::core::router::types::module::ModuleExtras; use ibc::primitives::Signer; use ibc_middleware_packet_forward::{ - InFlightPacket, InFlightPacketKey, PacketForwardMiddleware, PfmContext, + InFlightPacket, InFlightPacketKey, PfmContext, }; use namada_core::address::{IBC as IBC_ADDRESS, MULTITOKEN}; use namada_state::{StorageRead, StorageWrite}; @@ -35,10 +35,7 @@ use namada_state::{StorageRead, StorageWrite}; use crate::context::transfer_mod::TransferModule; use crate::context::IbcContext; use crate::storage::inflight_packet_key; -use crate::{ - Error, IbcCommonContext, IbcStorageContext, ModuleWrapper, - TokenTransferContext, -}; +use crate::{Error, IbcCommonContext, IbcStorageContext, TokenTransferContext}; /// A wrapper around an IBC transfer module necessary to /// build execution contexts. This allows us to implement @@ -472,24 +469,3 @@ where ctx.storage_mut().delete(&key).map_err(Error::Storage) } } - -impl ModuleWrapper for PacketForwardMiddleware -where - T: Module + PfmContext, -{ - fn as_module(&self) -> &dyn Module { - self - } - - fn as_module_mut(&mut self) -> &mut dyn Module { - self - } - - fn module_id(&self) -> ModuleId { - ModuleId::new(ibc::apps::transfer::types::MODULE_ID_STR.to_string()) - } - - fn port_id(&self) -> PortId { - PortId::transfer() - } -}