UNPKG

@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
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"; }];