Skip to content

Commit

Permalink
Adjust handlers to add {Channel,Port}Capability bound to context
Browse files Browse the repository at this point in the history
  • Loading branch information
hu55a1n1 committed Apr 8, 2022
1 parent a93f689 commit a7b3b48
Show file tree
Hide file tree
Showing 10 changed files with 33 additions and 29 deletions.
5 changes: 3 additions & 2 deletions modules/src/core/ics04_channel/handler/acknowledgement.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::State;
use crate::core::ics04_channel::channel::{Counterparty, Order};
use crate::core::ics04_channel::context::ChannelCapabilityReader;
use crate::core::ics04_channel::events::AcknowledgePacket;
use crate::core::ics04_channel::handler::verify::verify_packet_acknowledgement_proofs;
use crate::core::ics04_channel::msgs::acknowledgement::MsgAcknowledgement;
Expand All @@ -20,8 +21,8 @@ pub struct AckPacketResult {
pub seq_number: Option<Sequence>,
}

pub fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgAcknowledgement,
channel_cap: ChannelCapability,
) -> HandlerResult<PacketResult, Error> {
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/chan_close_confirm.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Protocol logic specific to ICS4 messages of type `MsgChannelCloseConfirm`.
use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::{ChannelEnd, Counterparty, State};
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::Attributes;
use crate::core::ics04_channel::handler::verify::verify_channel_proofs;
Expand All @@ -12,8 +12,8 @@ use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};
use crate::prelude::*;

pub(crate) fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgChannelCloseConfirm,
channel_cap: ChannelCapability,
) -> HandlerResult<ChannelResult, Error> {
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/chan_close_init.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Protocol logic specific to ICS4 messages of type `MsgChannelCloseInit`.
use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::State;
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::Attributes;
use crate::core::ics04_channel::handler::{ChannelIdState, ChannelResult};
Expand All @@ -10,8 +10,8 @@ use crate::core::ics05_port::capabilities::ChannelCapability;
use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};

pub(crate) fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgChannelCloseInit,
channel_cap: ChannelCapability,
) -> HandlerResult<ChannelResult, Error> {
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/chan_open_ack.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Protocol logic specific to ICS4 messages of type `MsgChannelOpenAck`.
use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::{ChannelEnd, Counterparty, State};
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::Attributes;
use crate::core::ics04_channel::handler::verify::verify_channel_proofs;
Expand All @@ -12,8 +12,8 @@ use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};
use crate::prelude::*;

pub(crate) fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgChannelOpenAck,
channel_cap: ChannelCapability,
) -> HandlerResult<ChannelResult, Error> {
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/chan_open_confirm.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Protocol logic specific to ICS4 messages of type `MsgChannelOpenConfirm`.
use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::{ChannelEnd, Counterparty, State};
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::Attributes;
use crate::core::ics04_channel::handler::verify::verify_channel_proofs;
Expand All @@ -12,8 +12,8 @@ use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};
use crate::prelude::*;

pub(crate) fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgChannelOpenConfirm,
channel_cap: ChannelCapability,
) -> HandlerResult<ChannelResult, Error> {
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/chan_open_init.rs
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
//! Protocol logic specific to ICS4 messages of type `MsgChannelOpenInit`.

use crate::core::ics04_channel::channel::{ChannelEnd, State};
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::Attributes;
use crate::core::ics04_channel::handler::{ChannelIdState, ChannelResult};
use crate::core::ics04_channel::msgs::chan_open_init::MsgChannelOpenInit;
use crate::core::ics05_port::capabilities::PortCapability;
use crate::core::ics05_port::context::PortReader;
use crate::core::ics05_port::context::PortCapabilityReader;
use crate::core::ics24_host::identifier::ChannelId;
use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};
use crate::prelude::*;

pub(crate) fn process<Ctx: ChannelReader + PortReader>(
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader + PortCapabilityReader>(
ctx: &Ctx,
msg: &MsgChannelOpenInit,
port_cap: PortCapability,
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/chan_open_try.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::{ChannelEnd, Counterparty, State};
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::Attributes;
use crate::core::ics04_channel::handler::verify::verify_channel_proofs;
use crate::core::ics04_channel::handler::{ChannelIdState, ChannelResult};
use crate::core::ics04_channel::msgs::chan_open_try::MsgChannelOpenTry;
use crate::core::ics05_port::capabilities::PortCapability;
use crate::core::ics05_port::context::PortReader;
use crate::core::ics05_port::context::PortCapabilityReader;
use crate::core::ics24_host::identifier::ChannelId;
use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};
use crate::prelude::*;

pub(crate) fn process<Ctx: ChannelReader + PortReader>(
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader + PortCapabilityReader>(
ctx: &Ctx,
msg: &MsgChannelOpenTry,
port_cap: PortCapability,
Expand Down
6 changes: 3 additions & 3 deletions modules/src/core/ics04_channel/handler/recv_packet.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::core::ics03_connection::connection::State as ConnectionState;
use crate::core::ics04_channel::channel::{Counterparty, Order, State};
use crate::core::ics04_channel::context::ChannelReader;
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::ReceivePacket;
use crate::core::ics04_channel::handler::verify::verify_packet_recv_proofs;
Expand Down Expand Up @@ -28,8 +28,8 @@ pub enum RecvPacketResult {
NoOp,
}

pub fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgRecvPacket,
channel_cap: ChannelCapability,
) -> HandlerResult<PacketResult, Error> {
Expand Down
7 changes: 4 additions & 3 deletions modules/src/core/ics04_channel/handler/timeout.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
use crate::core::ics04_channel::channel::State;
use crate::core::ics04_channel::channel::{ChannelEnd, Counterparty, Order};
use crate::core::ics04_channel::context::{ChannelCapabilityReader, ChannelReader};
use crate::core::ics04_channel::error::Error;
use crate::core::ics04_channel::events::TimeoutPacket;
use crate::core::ics04_channel::handler::verify::{
verify_next_sequence_recv, verify_packet_receipt_absence,
};
use crate::core::ics04_channel::msgs::timeout::MsgTimeout;
use crate::core::ics04_channel::packet::{PacketResult, Sequence};
use crate::core::ics04_channel::{context::ChannelReader, error::Error};
use crate::core::ics05_port::capabilities::ChannelCapability;
use crate::core::ics24_host::identifier::{ChannelId, PortId};
use crate::events::IbcEvent;
Expand All @@ -22,8 +23,8 @@ pub struct TimeoutPacketResult {
pub channel: Option<ChannelEnd>,
}

pub fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgTimeout,
channel_cap: ChannelCapability,
) -> HandlerResult<PacketResult, Error> {
Expand Down
8 changes: 5 additions & 3 deletions modules/src/core/ics04_channel/handler/timeout_on_close.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,17 @@ use crate::core::ics04_channel::handler::verify::{
use crate::core::ics04_channel::msgs::timeout_on_close::MsgTimeoutOnClose;
use crate::core::ics04_channel::packet::PacketResult;
use crate::core::ics04_channel::{
context::ChannelReader, error::Error, handler::timeout::TimeoutPacketResult,
context::{ChannelCapabilityReader, ChannelReader},
error::Error,
handler::timeout::TimeoutPacketResult,
};
use crate::core::ics05_port::capabilities::ChannelCapability;
use crate::events::IbcEvent;
use crate::handler::{HandlerOutput, HandlerResult};
use crate::prelude::*;

pub fn process(
ctx: &dyn ChannelReader,
pub(crate) fn process<Ctx: ChannelReader + ChannelCapabilityReader>(
ctx: &Ctx,
msg: &MsgTimeoutOnClose,
channel_cap: ChannelCapability,
) -> HandlerResult<PacketResult, Error> {
Expand Down

0 comments on commit a7b3b48

Please sign in to comment.