diff --git a/executors/src/eoa/events.rs b/executors/src/eoa/events.rs index e11b683..4eb9005 100644 --- a/executors/src/eoa/events.rs +++ b/executors/src/eoa/events.rs @@ -1,5 +1,6 @@ use std::fmt::Display; +use alloy::primitives::Address; use serde::{Deserialize, Serialize}; use twmq::job::RequeuePosition; @@ -16,6 +17,7 @@ use crate::{ pub struct EoaExecutorEvent { pub transaction_id: String, + pub address: Address, } #[derive(Serialize, Deserialize, Debug, Clone, thiserror::Error)] @@ -34,6 +36,13 @@ pub struct EoaSendAttemptNackData { pub error: EoaExecutorWorkerError, } +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct EoaSendAttemptSuccessData { + #[serde(flatten)] + pub submitted_transaction: SubmittedTransactionDehydrated, + pub eoa_address: Address, +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct EoaExecutorConfirmedTransaction { pub receipt: alloy::rpc::types::TransactionReceipt, @@ -60,15 +69,17 @@ impl EoaExecutorEvent { pub fn send_attempt_success_envelope( &self, submitted_transaction: SubmittedTransactionDehydrated, - ) -> BareWebhookNotificationEnvelope> - { + ) -> BareWebhookNotificationEnvelope> { BareWebhookNotificationEnvelope { transaction_id: self.transaction_id.clone(), executor_name: EXECUTOR_NAME.to_string(), stage_name: EoaExecutorStage::Send.to_string(), event_type: StageEvent::Success, payload: SerializableSuccessData { - result: submitted_transaction.clone(), + result: EoaSendAttemptSuccessData { + submitted_transaction: submitted_transaction.clone(), + eoa_address: self.address, + }, }, } } diff --git a/executors/src/eoa/store/atomic.rs b/executors/src/eoa/store/atomic.rs index 50a74fc..9794e4a 100644 --- a/executors/src/eoa/store/atomic.rs +++ b/executors/src/eoa/store/atomic.rs @@ -535,6 +535,7 @@ impl AtomicEoaExecutorStore { let event = EoaExecutorEvent { transaction_id: pending_transaction.transaction_id.clone(), + address: pending_transaction.user_request.from, }; let fail_envelope = event.transaction_failed_envelope(error.clone(), 1); diff --git a/executors/src/eoa/store/borrowed.rs b/executors/src/eoa/store/borrowed.rs index 825db20..7408ec7 100644 --- a/executors/src/eoa/store/borrowed.rs +++ b/executors/src/eoa/store/borrowed.rs @@ -139,6 +139,7 @@ impl SafeRedisTransaction for ProcessBorrowedTransactions<'_> { // Queue webhook event using user_request from SubmissionResult let event = EoaExecutorEvent { + address: result.transaction.user_request.from, transaction_id: transaction_id.to_string(), }; @@ -177,6 +178,7 @@ impl SafeRedisTransaction for ProcessBorrowedTransactions<'_> { // Queue webhook event using user_request from SubmissionResult let event = EoaExecutorEvent { transaction_id: transaction_id.to_string(), + address: result.transaction.user_request.from, }; let envelope = event.send_attempt_nack_envelope(nonce, err.clone(), 1); @@ -208,6 +210,7 @@ impl SafeRedisTransaction for ProcessBorrowedTransactions<'_> { // Queue webhook event using user_request from SubmissionResult let event = EoaExecutorEvent { transaction_id: transaction_id.to_string(), + address: result.transaction.user_request.from, }; let envelope = event.transaction_failed_envelope(err.clone(), 1); if !result.transaction.user_request.webhook_options.is_empty() { diff --git a/executors/src/eoa/store/submitted.rs b/executors/src/eoa/store/submitted.rs index f76df09..3f3229e 100644 --- a/executors/src/eoa/store/submitted.rs +++ b/executors/src/eoa/store/submitted.rs @@ -278,6 +278,7 @@ impl SafeRedisTransaction for CleanSubmittedTransactions<'_> { if !tx.user_request.webhook_options.is_empty() { let event = EoaExecutorEvent { transaction_id: tx.transaction_id.clone(), + address: tx.user_request.from, }; let success_envelope = @@ -309,6 +310,7 @@ impl SafeRedisTransaction for CleanSubmittedTransactions<'_> { if !tx.user_request.webhook_options.is_empty() { let event = EoaExecutorEvent { transaction_id: tx.transaction_id.clone(), + address: tx.user_request.from, }; let success_envelope = diff --git a/executors/src/eoa/worker/confirm.rs b/executors/src/eoa/worker/confirm.rs index 2017589..fbb9412 100644 --- a/executors/src/eoa/worker/confirm.rs +++ b/executors/src/eoa/worker/confirm.rs @@ -70,6 +70,7 @@ impl EoaExecutorWorker { time_since_movement = time_since_movement, stall_timeout = NONCE_STALL_TIMEOUT, current_chain_nonce = current_chain_transaction_count, + cached_transaction_count = cached_transaction_count, "Nonce has been stalled, attempting gas bump" ); @@ -85,13 +86,13 @@ impl EoaExecutorWorker { } } - tracing::debug!("No nonce progress, skipping confirm flow"); - return Ok(CleanupReport::default()); + tracing::debug!("No nonce progress, still going ahead with confirm flow"); + // return Ok(CleanupReport::default()); } tracing::info!( current_chain_nonce = current_chain_transaction_count, - cached_nonce = cached_transaction_count, + cached_transaction_count = cached_transaction_count, "Processing confirmations" ); @@ -140,7 +141,7 @@ impl EoaExecutorWorker { ConfirmedTransaction { transaction_hash: tx.transaction_hash, transaction_id: tx.transaction_id, - receipt: tx.receipt.into(), + receipt: tx.receipt, receipt_serialized: receipt_data, } })