ERC-4337 Account Abstraction Flashcards

(13 cards)

1
Q

What is Account Abstraction (ERC-4337)

A

A system that enables the use of smart contract wallets with arbitrary logic instead of EOAs, without changing the blockchain.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a UserOperation

A

A structure describing a user’s transaction, including calldata, gas info, signature, and more. It allows complex instructions from a smart contract wallet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the EntryPoint contract in ERC-4337

A

A singleton smart contract that validates and executes bundles of UserOperations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Who or what is a Bundler

A

A node that collects UserOperations, creates a transaction with handleOps(), and submits it to the blockchain via the EntryPoint.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a Paymaster

A

A smart contract that sponsors the gas fee for a UserOperation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a Factory in ERC-4337?

A

A contract that deploys smart accounts using CREATE2, allowing precomputed addresses and wallet creation on demand.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is an Aggregator

A

A contract that validates aggregated signatures from multiple UserOperations using the same scheme.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does CREATE2 enable in wallet creation?

A

Deployment of smart wallets at predictable addresses, enabling users to receive funds before wallet deployment (counterfactual address).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What happens in the Verification phase of handleOps()?

A
  • Create the sender Smart Contract Account if it does not yet exist.
  • Calculate the fee the sender must add to its “deposit” in the EntryPoint
  • Call validateUserOp on the sender contract
  • When using paymaster: check that the paymaster has enough ETH deposited with the EntryPoint to pay for the UserOperation, and then call validatePaymasterUserOp on the paymaster to verify that the paymaster is willing to pay for the UserOperation.
  • Validate the account’s deposit in the EntryPoint is high enough to cover the max possible cost
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What happens in the Execution phase?

A
  • Call the account with the UserOperation’s calldata.
  • After the call, refund the account’s deposit with the excess gas cost that was pre-charged.
  • After the execution of all calls, pay the collected fees from all UserOperations to the beneficiary address provided by the bundler.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How does a Paymaster handle post-execution logic?

A

It can use the postOp() function to adjust based on actual gas used (e.g., deduct tokens like USDC).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are Smart Contract Wallets in ERC-4337?

A

Wallets powered by smart contracts with custom logic (e.g. Soul Wallet, Candide).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What restrictions are placed on validateUserOp to prevent simulation attacks?

A

Limited storage access and restricted opcodes to avoid interference or falsification.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly