Changes from ERC-4337
Removal of Entrypoint Address
The Entrypoint contract used in ERC-4337 is no longer used. To maintain consistency with ERC-4337, the msg.sender
calling validation functions like validateTransaction
at wallet and is set to AA_ENTRY_POINT
, which is 0x0000000000000000000000000000000000007560
.
Wallet providers need to modify or add to the contract's permissions accordingly.
Summary of Changes in Wallets, Paymasters, and Factories
Some function interfaces, which are called inside Wallet and Paymaster contracts, will change. The summary of changes in the selectors and parameters are as follows:
ERC-4337 | RIP-7560 | |
---|---|---|
Wallet |
function validateUserOp( PackedUseroperation calldata userOp, bytes32 userOpHash, uint256 missingAccountFunds ) external returns (uint256 validationData);
|
function validateTransaction( uint256 version, bytes32 txHash, bytes transaction ) external returns (bytes32 validationData);
|
Paymaster |
function validatePaymasterUserOp( PackedUseroperation calldata userOp, bytes32 userOpHash, uint256 maxCost ) external returns (bytes memory context, uint256 validationData);
function postOp( PostOpMode mode, bytes calldata context, uint256 actualGasCost, uint256 actualUserOpFeePerGas ) external;
|
function validatePaymasterTransaction( uint256 version, bytes32 txHash, bytes transaction ) external returns (bytes32 validationData, bytes context);
function postPaymasterTransaction( bool success, uint256 actualGasCost, bytes context ) external;
|
Last updated