From 0a8b5a77597d4efb40f74f41c3cbffbe6b02cb5f Mon Sep 17 00:00:00 2001 From: songgaoye Date: Fri, 16 Jan 2026 15:19:41 +0800 Subject: [PATCH 1/2] perf: opt vector operations in tx query path --- crates/relayer/src/chain/cosmos/query/tx.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/query/tx.rs b/crates/relayer/src/chain/cosmos/query/tx.rs index 317ea9e6d0..3651c743c9 100644 --- a/crates/relayer/src/chain/cosmos/query/tx.rs +++ b/crates/relayer/src/chain/cosmos/query/tx.rs @@ -67,8 +67,7 @@ pub async fn query_txs( response.txs.len() <= 1, "packet_from_tx_search_response: unexpected number of txs" ); - - let tx = response.txs.remove(0); + let tx = response.txs.into_iter().next().expect("tx_search was constrained to a single result"); let event = update_client_from_tx_search_response(chain_id, &request, tx)?; Ok(event.into_iter().collect()) @@ -95,7 +94,7 @@ pub async fn query_txs( if response.txs.is_empty() { Ok(vec![]) } else { - let tx = response.txs.remove(0); + let tx = response.txs.into_iter().next().expect("tx_search was constrained to a single result"); Ok(all_ibc_events_from_tx_search_response(chain_id, tx)) } } @@ -165,7 +164,7 @@ pub async fn query_packets_from_txs( } // In either case, use the first (latest) event found for this sequence - let (first_event, _, _) = tx_events.remove(0); + let (first_event, _, _) = tx_events.into_iter().next().expect("tx_events is known to contain at least one entry"); result.push(first_event); } From a4b003c9f6b898c4d7eaabc929f2542da0595e6f Mon Sep 17 00:00:00 2001 From: songgaoye Date: Thu, 22 Jan 2026 11:21:09 +0800 Subject: [PATCH 2/2] fmt --- crates/relayer/src/chain/cosmos/query/tx.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/query/tx.rs b/crates/relayer/src/chain/cosmos/query/tx.rs index 3651c743c9..b4cf9b9c41 100644 --- a/crates/relayer/src/chain/cosmos/query/tx.rs +++ b/crates/relayer/src/chain/cosmos/query/tx.rs @@ -67,7 +67,11 @@ pub async fn query_txs( response.txs.len() <= 1, "packet_from_tx_search_response: unexpected number of txs" ); - let tx = response.txs.into_iter().next().expect("tx_search was constrained to a single result"); + let tx = response + .txs + .into_iter() + .next() + .expect("tx_search was constrained to a single result"); let event = update_client_from_tx_search_response(chain_id, &request, tx)?; Ok(event.into_iter().collect()) @@ -94,7 +98,11 @@ pub async fn query_txs( if response.txs.is_empty() { Ok(vec![]) } else { - let tx = response.txs.into_iter().next().expect("tx_search was constrained to a single result"); + let tx = response + .txs + .into_iter() + .next() + .expect("tx_search was constrained to a single result"); Ok(all_ibc_events_from_tx_search_response(chain_id, tx)) } } @@ -164,7 +172,10 @@ pub async fn query_packets_from_txs( } // In either case, use the first (latest) event found for this sequence - let (first_event, _, _) = tx_events.into_iter().next().expect("tx_events is known to contain at least one entry"); + let (first_event, _, _) = tx_events + .into_iter() + .next() + .expect("tx_events is known to contain at least one entry"); result.push(first_event); }