@@ -12,7 +12,7 @@ use crate::eoa::{
1212 } ,
1313 worker:: error:: EoaExecutorWorkerError ,
1414} ;
15- use crate :: metrics:: { EoaMetrics , calculate_duration_seconds, current_timestamp_ms } ;
15+ use crate :: metrics:: { current_timestamp_ms , calculate_duration_seconds, EoaMetrics } ;
1616use crate :: webhook:: { WebhookJobHandler , queue_webhook_envelopes} ;
1717
1818#[ derive( Debug , Clone ) ]
@@ -41,7 +41,6 @@ pub struct ProcessBorrowedTransactions<'a> {
4141 pub keys : & ' a EoaExecutorStoreKeys ,
4242 pub webhook_queue : Arc < Queue < WebhookJobHandler > > ,
4343 pub eoa_metrics : & ' a EoaMetrics ,
44- pub failed_transaction_expiry_seconds : u64 ,
4544}
4645
4746#[ derive( Debug , Default ) ]
@@ -122,13 +121,15 @@ impl SafeRedisTransaction for ProcessBorrowedTransactions<'_> {
122121 SubmissionResultType :: Success => {
123122 // Record metrics: transaction queued to sent
124123 let sent_timestamp = current_timestamp_ms ( ) ;
125- let queued_to_sent_duration =
126- calculate_duration_seconds ( result. transaction . queued_at , sent_timestamp) ;
124+ let queued_to_sent_duration = calculate_duration_seconds (
125+ result. transaction . queued_at ,
126+ sent_timestamp
127+ ) ;
127128 // Record metrics using the clean EoaMetrics abstraction
128129 self . eoa_metrics . record_transaction_sent (
129130 self . keys . eoa ,
130131 self . keys . chain_id ,
131- queued_to_sent_duration,
132+ queued_to_sent_duration
132133 ) ;
133134
134135 // Add to submitted zset
@@ -188,7 +189,7 @@ impl SafeRedisTransaction for ProcessBorrowedTransactions<'_> {
188189 // Update transaction data status
189190 let tx_data_key = self . keys . transaction_data_key_name ( transaction_id) ;
190191 pipeline. hset ( & tx_data_key, "status" , "pending" ) ;
191-
192+
192193 // ask for this nonce to be recycled because we did not consume the nonce
193194 pipeline. zadd ( self . keys . recycled_nonces_zset_name ( ) , nonce, nonce) ;
194195
@@ -218,22 +219,12 @@ impl SafeRedisTransaction for ProcessBorrowedTransactions<'_> {
218219 report. moved_to_pending += 1 ;
219220 }
220221 SubmissionResultType :: Fail ( err) => {
221- // Mark as failed and set expiry
222+ // Mark as failed
222223 let tx_data_key = self . keys . transaction_data_key_name ( transaction_id) ;
223224 pipeline. hset ( & tx_data_key, "status" , "failed" ) ;
224225 pipeline. hset ( & tx_data_key, "completed_at" , now) ;
225226 pipeline. hset ( & tx_data_key, "failure_reason" , err. to_string ( ) ) ;
226227
227- let ttl: i64 = i64:: try_from ( self . failed_transaction_expiry_seconds )
228- . unwrap_or ( i64:: MAX )
229- . max ( 1 ) ;
230-
231- // Set expiry on all related keys for failed transactions
232- let transaction_keys = self . keys . get_all_transaction_keys ( transaction_id) ;
233- for key in transaction_keys {
234- pipeline. expire ( & key, ttl) ;
235- }
236-
237228 // ask for this nonce to be recycled because we did not consume the nonce
238229 pipeline. zadd ( self . keys . recycled_nonces_zset_name ( ) , nonce, nonce) ;
239230
0 commit comments