From f652fff351552c1a8a7de3b6471bea40665e9593 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Tue, 10 Sep 2024 13:43:45 +0200 Subject: [PATCH 1/2] Improve speed of `tx_search` query by using single query clause on sequence number --- crates/relayer/src/chain/cosmos/query.rs | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/query.rs b/crates/relayer/src/chain/cosmos/query.rs index ad6a2c91b8..013db7dd96 100644 --- a/crates/relayer/src/chain/cosmos/query.rs +++ b/crates/relayer/src/chain/cosmos/query.rs @@ -34,22 +34,6 @@ pub struct QueryResponse { pub fn packet_query(request: &QueryPacketEventDataRequest, seq: Sequence) -> Query { Query::eq( - format!("{}.packet_src_channel", request.event_id.as_str()), - request.source_channel_id.to_string(), - ) - .and_eq( - format!("{}.packet_src_port", request.event_id.as_str()), - request.source_port_id.to_string(), - ) - .and_eq( - format!("{}.packet_dst_channel", request.event_id.as_str()), - request.destination_channel_id.to_string(), - ) - .and_eq( - format!("{}.packet_dst_port", request.event_id.as_str()), - request.destination_port_id.to_string(), - ) - .and_eq( format!("{}.packet_sequence", request.event_id.as_str()), seq.to_string(), ) From 791c1923a9d42a7172c37a58d42eed3229272646 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Tue, 10 Sep 2024 13:54:26 +0200 Subject: [PATCH 2/2] Query more txes to ensure we fnd such txes --- crates/relayer/src/chain/cosmos/query/tx.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/query/tx.rs b/crates/relayer/src/chain/cosmos/query/tx.rs index 317ea9e6d0..871c5138f0 100644 --- a/crates/relayer/src/chain/cosmos/query/tx.rs +++ b/crates/relayer/src/chain/cosmos/query/tx.rs @@ -129,9 +129,15 @@ pub async fn query_packets_from_txs( let mut result: Vec = vec![]; for seq in &request.sequences { - // Query the latest 10 txs which include the event specified in the query request + // Query the latest 100 txs which include the event specified in the query request let response = rpc_client - .tx_search(packet_query(request, *seq), false, 1, 10, Order::Descending) + .tx_search( + packet_query(request, *seq), + false, + 1, + 100, + Order::Descending, + ) .await .map_err(|e| Error::rpc(rpc_address.clone(), e))?;