Skip to content

Commit

Permalink
refactor get_transaction_status util
Browse files Browse the repository at this point in the history
  • Loading branch information
TomasArrachea committed Sep 27, 2024
1 parent cddff16 commit fab550c
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 23 deletions.
1 change: 0 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 3 additions & 7 deletions crates/chainio/clients/elcontracts/src/writer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -330,9 +330,7 @@ mod tests {
.register_as_operator(operator)
.await
.unwrap();
wait_transaction(http_endpoint.clone(), tx_hash)
.await
.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

let receipt = provider.get_transaction_receipt(tx_hash).await.unwrap();
assert!(receipt.unwrap().status());
Expand All @@ -355,9 +353,7 @@ mod tests {
.update_operator_details(operator_modified)
.await
.unwrap();
wait_transaction(http_endpoint.clone(), tx_hash)
.await
.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

let receipt = provider.get_transaction_receipt(tx_hash).await.unwrap();
assert!(receipt.unwrap().status());
Expand All @@ -369,7 +365,7 @@ mod tests {
.deposit_erc20_into_strategy(strategy_addr, amount)
.await
.unwrap();
wait_transaction(http_endpoint, tx_hash).await.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

let receipt = provider.get_transaction_receipt(tx_hash).await.unwrap();
assert!(receipt.unwrap().status());
Expand Down
10 changes: 4 additions & 6 deletions crates/services/bls_aggregation/src/bls_agg_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ pub mod integration_test {
)
.await
.unwrap();
wait_transaction(http_endpoint, tx_hash).await.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

// Create aggregation service
let avs_registry_service =
Expand Down Expand Up @@ -348,7 +348,7 @@ pub mod integration_test {
)
.await
.unwrap();
wait_transaction(http_endpoint, tx_hash).await.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

// Create aggregation service
let avs_registry_service =
Expand Down Expand Up @@ -528,9 +528,7 @@ pub mod integration_test {
)
.await
.unwrap();
wait_transaction(http_endpoint.clone(), tx_hash)
.await
.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

let avs_writer = AvsRegistryChainWriter::build_avs_registry_chain_writer(
// TODO: check if needed
Expand All @@ -553,7 +551,7 @@ pub mod integration_test {
)
.await
.unwrap();
wait_transaction(http_endpoint, tx_hash).await.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();

// Create aggregation service
let avs_registry_service =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -535,6 +535,6 @@ mod tests {
)
.await
.unwrap();
wait_transaction(http_endpoint, tx_hash).await.unwrap();
wait_transaction(&http_endpoint, tx_hash).await.unwrap();
}
}
1 change: 0 additions & 1 deletion testing/testing-utils/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,5 @@ eigen-utils.workspace = true
once_cell.workspace = true
serde.workspace = true
serde_json.workspace = true
tokio.workspace = true
testcontainers.workspace = true
url.workspace = true
13 changes: 6 additions & 7 deletions testing/testing-utils/src/transaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ use alloy_primitives::{FixedBytes, TxHash};
use alloy_provider::{PendingTransactionBuilder, Provider, ProviderBuilder};
use alloy_transport::{TransportErrorKind, TransportResult};
use eigen_utils::get_provider;
use tokio::time::{sleep, Duration};
use url::Url;

/// Retrieves the status of a transaction from its hash.
Expand All @@ -16,10 +15,11 @@ use url::Url;
///
/// A bool indicating wether the transaction was successful or not.
pub async fn get_transaction_status(rpc_url: String, tx_hash: FixedBytes<32>) -> bool {
// this sleep is needed so that we wait for the tx to be processed
sleep(Duration::from_millis(500)).await;
if wait_transaction(&rpc_url, tx_hash).await.is_err() {
return false;
}

get_provider(&rpc_url)
.clone()
.get_transaction_receipt(tx_hash)
.await
.unwrap_or(None)
Expand All @@ -37,9 +37,8 @@ pub async fn get_transaction_status(rpc_url: String, tx_hash: FixedBytes<32>) ->
/// # Returns
///
/// A [`TransportResult`] containing the transaction hash.
pub async fn wait_transaction(rpc_url: String, tx_hash: FixedBytes<32>) -> TransportResult<TxHash> {
let url =
Url::parse(&rpc_url).map_err(|_| TransportErrorKind::custom_str("Invalid RPC URL"))?;
pub async fn wait_transaction(rpc_url: &str, tx_hash: FixedBytes<32>) -> TransportResult<TxHash> {
let url = Url::parse(rpc_url).map_err(|_| TransportErrorKind::custom_str("Invalid RPC URL"))?;
let root_provider = ProviderBuilder::new().on_http(url);
let pending_tx = PendingTransactionBuilder::new(&root_provider, tx_hash);
pending_tx.watch().await
Expand Down

0 comments on commit fab550c

Please sign in to comment.