Skip to content

Commit ddf8e74

Browse files
registry
1 parent 7446f04 commit ddf8e74

File tree

2 files changed

+19
-36
lines changed

2 files changed

+19
-36
lines changed

executors/src/eip7702_executor/confirm.rs

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -252,25 +252,9 @@ where
252252
success_data: SuccessHookData<'_, Eip7702ConfirmationResult>,
253253
tx: &mut TransactionContext<'_>,
254254
) {
255-
// TODO: Update transaction registry when TransactionStatus enum is implemented
256-
// if let Err(e) = self
257-
// .transaction_registry
258-
// .update_transaction_status(
259-
// &job.job.data.transaction_id,
260-
// crate::transaction_registry::TransactionStatus::Confirmed {
261-
// transaction_hash: success_data.result.transaction_hash,
262-
// block_number: success_data.result.block_number,
263-
// gas_used: success_data.result.gas_used,
264-
// },
265-
// )
266-
// .await
267-
// {
268-
// tracing::error!(
269-
// transaction_id = job.job.data.transaction_id,
270-
// error = ?e,
271-
// "Failed to update transaction registry"
272-
// );
273-
// }
255+
// Remove transaction from registry since confirmation is complete
256+
self.transaction_registry
257+
.add_remove_command(tx.pipeline(), &job.job.data.transaction_id);
274258

275259
// Send webhook
276260
if let Err(e) = self.queue_success_webhook(job, success_data, tx) {
@@ -288,6 +272,7 @@ where
288272
nack_data: NackHookData<'_, Eip7702ConfirmationError>,
289273
tx: &mut TransactionContext<'_>,
290274
) {
275+
// Don't modify transaction registry on NACK - job will be retried
291276
if let Err(e) = self.queue_nack_webhook(job, nack_data, tx) {
292277
tracing::error!(
293278
transaction_id = job.job.data.transaction_id,
@@ -303,23 +288,9 @@ where
303288
fail_data: FailHookData<'_, Eip7702ConfirmationError>,
304289
tx: &mut TransactionContext<'_>,
305290
) {
306-
// TODO: Update transaction registry when TransactionStatus enum is implemented
307-
// if let Err(e) = self
308-
// .transaction_registry
309-
// .update_transaction_status(
310-
// &job.job.data.transaction_id,
311-
// crate::transaction_registry::TransactionStatus::Failed {
312-
// reason: fail_data.error.to_string(),
313-
// },
314-
// )
315-
// .await
316-
// {
317-
// tracing::error!(
318-
// transaction_id = job.job.data.transaction_id,
319-
// error = ?e,
320-
// "Failed to update transaction registry"
321-
// );
322-
// }
291+
// Remove transaction from registry since it failed permanently
292+
self.transaction_registry
293+
.add_remove_command(tx.pipeline(), &job.job.data.transaction_id);
323294

324295
if let Err(e) = self.queue_fail_webhook(job, fail_data, tx) {
325296
tracing::error!(

executors/src/eip7702_executor/send.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,13 @@ where
315315
success_data: SuccessHookData<'_, Eip7702SendResult>,
316316
tx: &mut TransactionContext<'_>,
317317
) {
318+
// Update transaction registry: move from send queue to confirm queue
319+
self.transaction_registry.add_set_command(
320+
tx.pipeline(),
321+
&job.job.data.transaction_id,
322+
"eip7702_confirm",
323+
);
324+
318325
// Send confirmation job
319326
let confirmation_job = self
320327
.confirm_queue
@@ -353,6 +360,7 @@ where
353360
nack_data: NackHookData<'_, Eip7702SendError>,
354361
tx: &mut TransactionContext<'_>,
355362
) {
363+
// Don't modify transaction registry on NACK - job will be retried
356364
if let Err(e) = self.queue_nack_webhook(job, nack_data, tx) {
357365
tracing::error!(
358366
transaction_id = job.job.data.transaction_id,
@@ -368,6 +376,10 @@ where
368376
fail_data: FailHookData<'_, Eip7702SendError>,
369377
tx: &mut TransactionContext<'_>,
370378
) {
379+
// Remove transaction from registry since it failed permanently
380+
self.transaction_registry
381+
.add_remove_command(tx.pipeline(), &job.job.data.transaction_id);
382+
371383
if let Err(e) = self.queue_fail_webhook(job, fail_data, tx) {
372384
tracing::error!(
373385
transaction_id = job.job.data.transaction_id,

0 commit comments

Comments
 (0)