From a506a1f223310c8ff1d9d0381cab6723b6ffea8f Mon Sep 17 00:00:00 2001 From: liyukun Date: Mon, 30 Oct 2023 19:28:24 +0800 Subject: [PATCH 1/2] bug: solve a bug in query_unreceived_packets --- crates/relayer/src/chain/ckb4ibc.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/crates/relayer/src/chain/ckb4ibc.rs b/crates/relayer/src/chain/ckb4ibc.rs index aaed6ca5a..d23433907 100644 --- a/crates/relayer/src/chain/ckb4ibc.rs +++ b/crates/relayer/src/chain/ckb4ibc.rs @@ -1150,8 +1150,15 @@ impl ChainEndpoint for Ckb4IbcChain { .packet_commitment_sequences .into_iter() .filter(|sequence| { - if (channel.sequence.next_sequence_recvs as u64) < (*sequence).into() { - return false; + let seq: u16 = u64::from(*sequence) as u16; + if channel.order == Ordering::Ordered { + if channel.sequence.next_sequence_recvs <= seq { + return true; + } + } else if channel.order == Ordering::Unordered { + if !channel.sequence.received_sequences.contains(&seq) { + return true; + } } let Ok((packet, _)) = self.fetch_packet_cell_and_extract( &request.channel_id, From 0494f15e8501c20e4f325bf02288db7892797ea3 Mon Sep 17 00:00:00 2001 From: liyukun Date: Mon, 30 Oct 2023 19:59:19 +0800 Subject: [PATCH 2/2] chore: clippy --- crates/relayer/src/chain/ckb4ibc.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/relayer/src/chain/ckb4ibc.rs b/crates/relayer/src/chain/ckb4ibc.rs index d23433907..f2dea56e9 100644 --- a/crates/relayer/src/chain/ckb4ibc.rs +++ b/crates/relayer/src/chain/ckb4ibc.rs @@ -1151,14 +1151,14 @@ impl ChainEndpoint for Ckb4IbcChain { .into_iter() .filter(|sequence| { let seq: u16 = u64::from(*sequence) as u16; - if channel.order == Ordering::Ordered { - if channel.sequence.next_sequence_recvs <= seq { - return true; - } - } else if channel.order == Ordering::Unordered { - if !channel.sequence.received_sequences.contains(&seq) { - return true; - } + if channel.order == Ordering::Ordered && channel.sequence.next_sequence_recvs <= seq + { + return true; + } + if channel.order == Ordering::Unordered + && !channel.sequence.received_sequences.contains(&seq) + { + return true; } let Ok((packet, _)) = self.fetch_packet_cell_and_extract( &request.channel_id,