From 6b33c2ab44490ef88599b6ee40278f267b8c3670 Mon Sep 17 00:00:00 2001 From: sleepyqadir Date: Mon, 14 Apr 2025 14:17:52 +0500 Subject: [PATCH 1/2] chore: (iroha_torii) refine /transaction route response --- crates/iroha_torii/src/lib.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/iroha_torii/src/lib.rs b/crates/iroha_torii/src/lib.rs index d4ceb686c0..151eee66b3 100644 --- a/crates/iroha_torii/src/lib.rs +++ b/crates/iroha_torii/src/lib.rs @@ -327,10 +327,14 @@ impl Error { match self { Query(e) => Self::query_status_code(e), - AcceptTransaction(_) => StatusCode::BAD_REQUEST, + AcceptTransaction(err) => match err { + iroha_core::tx::AcceptTransactionFail::SignatureVerification(_) => StatusCode::UNAUTHORIZED, + iroha_core::tx::AcceptTransactionFail::UnexpectedGenesisAccountSignature => StatusCode::FORBIDDEN, + _ => StatusCode::BAD_REQUEST, + }, Config(_) | StatusSegmentNotFound(_) => StatusCode::NOT_FOUND, PushIntoQueue(err) => match **err { - queue::Error::Full => StatusCode::INTERNAL_SERVER_ERROR, + queue::Error::Full => StatusCode::SERVICE_UNAVAILABLE, _ => StatusCode::BAD_REQUEST, }, #[cfg(feature = "telemetry")] From 79fe95dd788dbf2d2cf080650bb4fff406e040a0 Mon Sep 17 00:00:00 2001 From: sleepyqadir Date: Mon, 14 Apr 2025 14:35:44 +0500 Subject: [PATCH 2/2] chore: (iroha_torii) 202 accept response on success --- crates/iroha_torii/src/routing.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/iroha_torii/src/routing.rs b/crates/iroha_torii/src/routing.rs index b50d3fee97..717b6eeb4c 100644 --- a/crates/iroha_torii/src/routing.rs +++ b/crates/iroha_torii/src/routing.rs @@ -24,7 +24,7 @@ pub async fn handle_transaction( queue: Arc, state: Arc, tx: SignedTransaction, -) -> Result<()> { +) -> Result { let (max_clock_drift, tx_limits) = { let state_view = state.world.view(); let params = state_view.parameters(); @@ -44,7 +44,9 @@ pub async fn handle_transaction( Box::new(err) }) - .map_err(Error::PushIntoQueue) + .map_err(Error::PushIntoQueue)?; + + Ok((StatusCode::ACCEPTED, ())) } #[iroha_futures::telemetry_future]