Account Abstraction ERC-4337
Integrate ERC-4337 account abstraction flows with clear user operation lifecycle and fallback handling.
#Purpose
Covers userOperation submission, bundling lifecycle, confirmation, and fallback handling patterns.
#Integration prerequisites
- Smart-account support and signer policies are implemented.
- Gas and sponsorship assumptions are defined for target environment.
- Monitoring exists for mempool acceptance and execution confirmations.
#Request and response patterns
- Submission requests return userOperation hash and acceptance context.
- Status polling returns queued, bundled, executed, reverted, or dropped progression.
- Terminal failures include executable context for corrective action.
#Lifecycle and state model
- Construct userOperation with validated nonce, gas, and call data.
- Submit operation and persist operation hash for tracking.
- Monitor inclusion lifecycle through bundler acceptance and on-chain execution.
- Apply fallback handling when operation is dropped or non-executable.
#Error and failure taxonomy
- Validation failure before bundling due to nonce, signature, or policy checks.
- Bundling delay or drop due to market conditions or capacity limits.
- Execution revert due to contract-level logic or state conditions.
#Retry and idempotency guidance
Retain one logical operation identity and apply nonce-safe retry logic to avoid duplicate execution intent.
#Observability and debugging entry points
- Track time from submission to inclusion and final execution status.
- Alert on stuck queued operations beyond defined SLA windows.
- Log userOperation hash, account identifier, and failure class for every terminal failure.