-
Notifications
You must be signed in to change notification settings - Fork 7
Pb/silence more webhooks #71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Added logic to update health timestamps for nonce movement and confirmations in both the EoaExecutorWorker and ResetNoncesTransaction implementations. - Ensured health data reflects the latest nonce movement even when confirmations are ahead of the latest state.
- Added a new error variant for pending transaction hashes to improve clarity in error reporting. - Updated the error handling logic to return the new error when a transaction hash is not yet available, enhancing the overall robustness of the confirmation process. - Adjusted webhook queuing logic to account for the new pending state, ensuring efficient handling of transaction confirmations.
WalkthroughIntroduces a new TransactionHashPending error for EIP-7702 confirmation and adjusts NACK/webhook handling. Updates EOA components to record health timestamps (last_nonce_movement_at, last_confirmation_at) on nonce reset validation and after confirmations in the worker. No public API changes except the new error variant. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Caller
participant Confirm as EIP-7702 Confirm
participant Bundler
participant Webhook as Webhook Queue
Caller->>Confirm: confirm()
Confirm->>Bundler: getStatus()
alt Bundler: Success
Bundler-->>Confirm: Receipt/Hash available
Confirm-->>Caller: Ok
else Bundler: Pending
Bundler-->>Confirm: Pending
Note right of Confirm: Return new error variant
Confirm-->>Caller: Err(TransactionHashPending)
Note over Confirm,Webhook: Do not enqueue webhook for pending hash
else Bundler: NACK / Error
Bundler-->>Confirm: NACK/Error
Confirm->>Webhook: Queue (except Pending/ReceiptNotAvailable)
Confirm-->>Caller: Err(...)
end
sequenceDiagram
autonumber
actor Worker
participant Chain as Chain/Provider
participant Store as EOA Store
participant Health as Health Data
rect rgba(200,230,255,0.25)
Worker->>Chain: Confirm transactions
Chain-->>Worker: Results (success/failure)
Worker->>Worker: Build report
end
alt Any successes
Worker->>Health: fetch()
Health-->>Worker: current health
Worker->>Store: update_health_data(last_nonce_movement_at=now, last_confirmation_at=now)
Store-->>Worker: Ok / Err
opt On error
Worker->>Worker: log warning
end
else No successes
Worker->>Worker: skip health update
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (3)
🧰 Additional context used🧬 Code graph analysis (2)executors/src/eoa/store/atomic.rs (1)
executors/src/eoa/worker/confirm.rs (1)
🔇 Additional comments (5)
Comment |
Summary by CodeRabbit