Defines the account abstraction standard for Lux Network based on ERC-4337. Users interact with smart accounts instead of externally owned accounts (EOAs). Smart accounts support social recovery, session keys, gas sponsorship via paymasters, and batched transactions. The EntryPoint contract is the singleton that processes UserOperations from bundlers.
User -> Bundler -> EntryPoint (singleton)
|-- SmartAccount.validateUserOp()
|-- Paymaster.validatePaymasterUserOp()
|-- SmartAccount.executeUserOp()
Singleton deployed on all chains at:
Address: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
Processes UserOperation bundles atomically.
Paymasters sponsor gas fees for users:
function addSessionKey(address key, uint256 validUntil, bytes4[] allowedSelectors) external;
Session keys allow dApps to submit transactions on behalf of the user within defined constraints (time window, allowed functions, spending limits) without requiring the master key for each action.
1. The EntryPoint is immutable and audited. It handles gas accounting and prevents griefing attacks.
2. Smart account validation logic is user-defined. A bug in validateUserOp can drain the account.
3. Session keys must have tight constraints. Overly permissive session keys are equivalent to giving away the private key.
4. Paymasters stake ETH/LUX in the EntryPoint to prevent DoS. Malicious paymasters lose their stake.
github.com/luxfi/standard/contracts/account/EntryPoint.sol |github.com/luxfi/standard/contracts/account/SmartAccount.sol |Copyright (C) 2024-2026, Lux Partners Limited. All rights reserved.
Licensed under the MIT License.