Skip to content

Release ERC-4337 v0.9#609

Merged
forshtat merged 2 commits into
developfrom
release-v09
Nov 12, 2025
Merged

Release ERC-4337 v0.9#609
forshtat merged 2 commits into
developfrom
release-v09

Conversation

@forshtat

Copy link
Copy Markdown
Member

This version is ABI-compatible with v0.8 and v0.7. No breaking changes were made to the EntryPoint ABI.

Bundlers must update to join the v0.9 UserOp mempool.

Features:

  • Enable parallel Paymaster signing via 'paymasterSignature' field
  • Allow 'validAfter' & 'validUntil' to use block numbers (via high bit)
  • Ignore 'initCode' if account already exists (enables 2D nonce for first userOps)
  • Add 'getCurrentUserOpHash()' to EntryPoint
  • Improve error messages and add 'EIP7702AccountInitialized' event
  • 'BasePaymaster' constructor now accepts 'owner' (instead of hard-coded msg.sender)

This version is ABI-compatible with v0.8 and v0.7. No breaking
changes were made to the EntryPoint ABI.

Bundlers must update to join the v0.9 UserOp mempool.

Features:
* Enable parallel Paymaster signing via 'paymasterSignature' field
* Allow 'validAfter' & 'validUntil' to use block numbers (via high bit)
* Ignore 'initCode' if account already exists (enables 2D nonce for first userOps)
* Add 'getCurrentUserOpHash()' to EntryPoint
* Improve error messages and add 'EIP7702AccountInitialized' event
* 'BasePaymaster' constructor now accepts 'owner' (instead of hard-coded msg.sender)
@forshtat forshtat merged commit f54584e into develop Nov 12, 2025
6 checks passed
@forshtat forshtat deleted the release-v09 branch November 12, 2025 09:25
@livingrockrises

Copy link
Copy Markdown
Contributor

https://docs.erc4337.io/paymasters/paymaster-signature.html

does this mean paymasterAndData must not include paymaster signature anymore? (for verifying paymaster earlier it was part of paymasterAndData)

@gonzaotc

gonzaotc commented Dec 8, 2025

Copy link
Copy Markdown

From reviewing the code, I think it is also notable for the release notes that the nonReentrant modifier rework now enforces that only pure EOAs (no code) can submit bundles. Contracts and EIP-7702 delegated EOAs are now restricted from bundle submission, which I understand simplifies the security model. I think it would also make sense to annotate this restriction in the ERC/docs

@gonzaotc

gonzaotc commented Dec 8, 2025

Copy link
Copy Markdown

+1 to @livingrockrises' question. In OZ, we have a PaymasterSigner implementation that validates signatures encoded in the paymasterData field. Would you consider it a good idea to migrate this signature to the new paymasterSignature field even when parallelization isn't required, for the sake of standardization and consistency now that this field is available?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants