@owlprotocol/contracts-account-abstraction
Version:
ERC4337 Account Abstraction support for deploying relevant smart contracts and interacting with UserOps.
1,308 lines (1,307 loc) • 42.6 kB
TypeScript
export declare const functions: readonly [{
readonly inputs: readonly [];
readonly name: "UPGRADE_INTERFACE_VERSION";
readonly outputs: readonly [{
readonly internalType: "string";
readonly name: "";
readonly type: "string";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "addDeposit";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "entryPoint";
readonly outputs: readonly [{
readonly internalType: "contract IEntryPoint";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "dest";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "value";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "func";
readonly type: "bytes";
}];
readonly name: "execute";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address[]";
readonly name: "dest";
readonly type: "address[]";
}, {
readonly internalType: "uint256[]";
readonly name: "value";
readonly type: "uint256[]";
}, {
readonly internalType: "bytes[]";
readonly name: "func";
readonly type: "bytes[]";
}];
readonly name: "executeBatch";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getDeposit";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getNonce";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "anOwner";
readonly type: "address";
}];
readonly name: "initialize";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "uint256[]";
readonly name: "";
readonly type: "uint256[]";
}, {
readonly internalType: "uint256[]";
readonly name: "";
readonly type: "uint256[]";
}, {
readonly internalType: "bytes";
readonly name: "";
readonly type: "bytes";
}];
readonly name: "onERC1155BatchReceived";
readonly outputs: readonly [{
readonly internalType: "bytes4";
readonly name: "";
readonly type: "bytes4";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "";
readonly type: "bytes";
}];
readonly name: "onERC1155Received";
readonly outputs: readonly [{
readonly internalType: "bytes4";
readonly name: "";
readonly type: "bytes4";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "";
readonly type: "bytes";
}];
readonly name: "onERC721Received";
readonly outputs: readonly [{
readonly internalType: "bytes4";
readonly name: "";
readonly type: "bytes4";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "owner";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "proxiableUUID";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes4";
readonly name: "interfaceId";
readonly type: "bytes4";
}];
readonly name: "supportsInterface";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newImplementation";
readonly type: "address";
}, {
readonly internalType: "bytes";
readonly name: "data";
readonly type: "bytes";
}];
readonly name: "upgradeToAndCall";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "userOp";
readonly type: "tuple";
}, {
readonly internalType: "bytes32";
readonly name: "userOpHash";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "missingAccountFunds";
readonly type: "uint256";
}];
readonly name: "validateUserOp";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "validationData";
readonly type: "uint256";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address payable";
readonly name: "withdrawAddress";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "withdrawDepositTo";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "accountImplementation";
readonly outputs: readonly [{
readonly internalType: "contract SimpleAccount";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "owner";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "salt";
readonly type: "uint256";
}];
readonly name: "createAccount";
readonly outputs: readonly [{
readonly internalType: "contract SimpleAccount";
readonly name: "ret";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "owner";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "salt";
readonly type: "uint256";
}];
readonly name: "getAddress";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint32";
readonly name: "unstakeDelaySec";
readonly type: "uint32";
}];
readonly name: "addStake";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "deposit";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "userOp";
readonly type: "tuple";
}, {
readonly internalType: "uint48";
readonly name: "validUntil";
readonly type: "uint48";
}, {
readonly internalType: "uint48";
readonly name: "validAfter";
readonly type: "uint48";
}];
readonly name: "getHash";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}];
readonly name: "parsePaymasterAndData";
readonly outputs: readonly [{
readonly internalType: "uint48";
readonly name: "validUntil";
readonly type: "uint48";
}, {
readonly internalType: "uint48";
readonly name: "validAfter";
readonly type: "uint48";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "enum IPaymaster.PostOpMode";
readonly name: "mode";
readonly type: "uint8";
}, {
readonly internalType: "bytes";
readonly name: "context";
readonly type: "bytes";
}, {
readonly internalType: "uint256";
readonly name: "actualGasCost";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "actualUserOpFeePerGas";
readonly type: "uint256";
}];
readonly name: "postOp";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "renounceOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "transferOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "unlockStake";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "userOp";
readonly type: "tuple";
}, {
readonly internalType: "bytes32";
readonly name: "userOpHash";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "maxCost";
readonly type: "uint256";
}];
readonly name: "validatePaymasterUserOp";
readonly outputs: readonly [{
readonly internalType: "bytes";
readonly name: "context";
readonly type: "bytes";
}, {
readonly internalType: "uint256";
readonly name: "validationData";
readonly type: "uint256";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "verifyingSigner";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address payable";
readonly name: "withdrawAddress";
readonly type: "address";
}];
readonly name: "withdrawStake";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address payable";
readonly name: "withdrawAddress";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "withdrawTo";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "balanceOf";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "target";
readonly type: "address";
}, {
readonly internalType: "bytes";
readonly name: "data";
readonly type: "bytes";
}];
readonly name: "delegateAndRevert";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "depositTo";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "deposits";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "deposit";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "staked";
readonly type: "bool";
}, {
readonly internalType: "uint112";
readonly name: "stake";
readonly type: "uint112";
}, {
readonly internalType: "uint32";
readonly name: "unstakeDelaySec";
readonly type: "uint32";
}, {
readonly internalType: "uint48";
readonly name: "withdrawTime";
readonly type: "uint48";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "getDepositInfo";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "deposit";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "staked";
readonly type: "bool";
}, {
readonly internalType: "uint112";
readonly name: "stake";
readonly type: "uint112";
}, {
readonly internalType: "uint32";
readonly name: "unstakeDelaySec";
readonly type: "uint32";
}, {
readonly internalType: "uint48";
readonly name: "withdrawTime";
readonly type: "uint48";
}];
readonly internalType: "struct IStakeManager.DepositInfo";
readonly name: "info";
readonly type: "tuple";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint192";
readonly name: "key";
readonly type: "uint192";
}];
readonly name: "getNonce";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}];
readonly name: "getSenderAddress";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "userOp";
readonly type: "tuple";
}];
readonly name: "getUserOpHash";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation[]";
readonly name: "userOps";
readonly type: "tuple[]";
}, {
readonly internalType: "contract IAggregator";
readonly name: "aggregator";
readonly type: "address";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct IEntryPoint.UserOpsPerAggregator[]";
readonly name: "opsPerAggregator";
readonly type: "tuple[]";
}, {
readonly internalType: "address payable";
readonly name: "beneficiary";
readonly type: "address";
}];
readonly name: "handleAggregatedOps";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation[]";
readonly name: "ops";
readonly type: "tuple[]";
}, {
readonly internalType: "address payable";
readonly name: "beneficiary";
readonly type: "address";
}];
readonly name: "handleOps";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint192";
readonly name: "key";
readonly type: "uint192";
}];
readonly name: "incrementNonce";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "verificationGasLimit";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "callGasLimit";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "paymasterVerificationGasLimit";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "paymasterPostOpGasLimit";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "paymaster";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "maxFeePerGas";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "maxPriorityFeePerGas";
readonly type: "uint256";
}];
readonly internalType: "struct EntryPoint.MemoryUserOp";
readonly name: "mUserOp";
readonly type: "tuple";
}, {
readonly internalType: "bytes32";
readonly name: "userOpHash";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "prefund";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "contextOffset";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "preOpGas";
readonly type: "uint256";
}];
readonly internalType: "struct EntryPoint.UserOpInfo";
readonly name: "opInfo";
readonly type: "tuple";
}, {
readonly internalType: "bytes";
readonly name: "context";
readonly type: "bytes";
}];
readonly name: "innerHandleOp";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "actualGasCost";
readonly type: "uint256";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "uint192";
readonly name: "";
readonly type: "uint192";
}];
readonly name: "nonceSequenceNumber";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address payable";
readonly name: "ep";
readonly type: "address";
}, {
readonly internalType: "bytes[]";
readonly name: "data";
readonly type: "bytes[]";
}];
readonly name: "simulateEntryPoint";
readonly outputs: readonly [{
readonly internalType: "bytes[]";
readonly name: "";
readonly type: "bytes[]";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "op";
readonly type: "tuple";
}];
readonly name: "simulateHandleOp";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "preOpGas";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "paid";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "accountValidationData";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "paymasterValidationData";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "targetSuccess";
readonly type: "bool";
}, {
readonly internalType: "bytes";
readonly name: "targetResult";
readonly type: "bytes";
}];
readonly internalType: "struct IEntryPointSimulations.ExecutionResult";
readonly name: "";
readonly type: "tuple";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "userOp";
readonly type: "tuple";
}];
readonly name: "simulateValidation";
readonly outputs: readonly [{
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "preOpGas";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "prefund";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "accountValidationData";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "paymasterValidationData";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "paymasterContext";
readonly type: "bytes";
}];
readonly internalType: "struct IEntryPoint.ReturnInfo";
readonly name: "returnInfo";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "stake";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "unstakeDelaySec";
readonly type: "uint256";
}];
readonly internalType: "struct IStakeManager.StakeInfo";
readonly name: "senderInfo";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "stake";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "unstakeDelaySec";
readonly type: "uint256";
}];
readonly internalType: "struct IStakeManager.StakeInfo";
readonly name: "factoryInfo";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "stake";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "unstakeDelaySec";
readonly type: "uint256";
}];
readonly internalType: "struct IStakeManager.StakeInfo";
readonly name: "paymasterInfo";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "address";
readonly name: "aggregator";
readonly type: "address";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "stake";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "unstakeDelaySec";
readonly type: "uint256";
}];
readonly internalType: "struct IStakeManager.StakeInfo";
readonly name: "stakeInfo";
readonly type: "tuple";
}];
readonly internalType: "struct IEntryPoint.AggregatorStakeInfo";
readonly name: "aggregatorInfo";
readonly type: "tuple";
}];
readonly internalType: "struct IEntryPointSimulations.ValidationResult";
readonly name: "";
readonly type: "tuple";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "nonce";
readonly type: "uint256";
}, {
readonly internalType: "bytes";
readonly name: "initCode";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "accountGasLimits";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "preVerificationGas";
readonly type: "uint256";
}, {
readonly internalType: "bytes32";
readonly name: "gasFees";
readonly type: "bytes32";
}, {
readonly internalType: "bytes";
readonly name: "paymasterAndData";
readonly type: "bytes";
}, {
readonly internalType: "bytes";
readonly name: "signature";
readonly type: "bytes";
}];
readonly internalType: "struct PackedUserOperation";
readonly name: "op";
readonly type: "tuple";
}, {
readonly internalType: "address";
readonly name: "target";
readonly type: "address";
}, {
readonly internalType: "bytes";
readonly name: "targetCallData";
readonly type: "bytes";
}];
readonly name: "simulateCallData";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "gasUsed";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "success";
readonly type: "bool";
}, {
readonly internalType: "bytes";
readonly name: "returnData";
readonly type: "bytes";
}];
readonly internalType: "struct IEntryPointSimulations.TargetCallResult";
readonly name: "";
readonly type: "tuple";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "helloWorld";
readonly outputs: readonly [{
readonly internalType: "string";
readonly name: "";
readonly type: "string";
}];
readonly stateMutability: "pure";
readonly type: "function";
}];