Skip to content

v4.0

Latest

Choose a tag to compare

@leekt leekt released this 07 Jul 05:49
f2a84a3

Kernel Changelog v4.0

Full restructure: 154 commits since the divergence point, src/ net −541 lines across 47 files. v4 keeps the ERC-4337 / ERC-7579 modular model but rewrites the core, splits validators out of the repo, and adds EIP-7702 support.

Added

  • EntryPoint v0.9 support — migrated from v0.7 (via v0.8). New UserOp hash calculation (breaking). EntryPoint at 0x43370900c8de573dB349BEd8DD53b4Ebd3Cce709
  • Three account variantsKernelUUPS (upgradeable proxy), KernelImmutableECDSA (ERC-1967 clone with immutable ECDSA fallback signer), and Kernel7702 (EIP-7702 EOA delegation, no init).
  • EIP-7702 as a first-class variant — the EOA is its own fallback signer; supports raw ERC-1271 signing (_erc1271RawAllowed).
  • Replayable (chain-agnostic) signatures & enable mode — new nonce vMode flags (0x40/0x48/0x4C) for chain-agnostic UserOp hashes and enable signatures; replayable nested EIP-712 for isValidSignature.
  • Enable-mode signature flow — install validators/modules atomically with the first UserOp via EnableModeSignature (nonce-protected against replay).
  • Staker contract — replaces FactoryStaker; adds EIP-712 signature-based (chain-agnostic) factory approval alongside owner approval, plus EntryPoint stake/unstake/withdraw and deployWithFactory().
  • setRoot with package install + cleanupsetRoot(Install[] pkg, bool removeCurrent, bytes uninstallData) installs a new root and uninstalls the previous one (LIFO), calling onUninstall on removed policies/signers.
  • Nonce invalidation — explicit invalidation feature to clear out validators.
  • New librarieslib/ERC1271.sol (ERC-7739 nested EIP-712, 3 signature modes), lib/Lib4337.sol, lib/Utils.sol with ValidationId helpers (parseNonce, getType, getValidator, permissionToIdentifier, calldataKeccak).
  • ModuleManager + ExecutorManager — new dedicated managers; hook-use checks; executor-installed check on executeFromExecutor.
  • ERC-5267 interface (eip712Domain) support.

Full Changelog: v3.3...v4.0