Static Readonly abi
abi: [{ inputs: []; name: "entryPoint"; outputs: [{ internalType: "contract IEntryPoint"; name: ""; type: "address" }]; stateMutability: "view"; type: "function" }, { inputs: []; name: "getNonce"; outputs: [{ internalType: "uint256"; name: ""; type: "uint256" }]; stateMutability: "view"; type: "function" }, { inputs: [{ components: [{ internalType: "address"; name: "sender"; type: "address" }, { internalType: "uint256"; name: "nonce"; type: "uint256" }, { internalType: "bytes"; name: "initCode"; type: "bytes" }, { internalType: "bytes"; name: "callData"; type: "bytes" }, { internalType: "uint256"; name: "callGasLimit"; type: "uint256" }, { internalType: "uint256"; name: "verificationGasLimit"; type: "uint256" }, { internalType: "uint256"; name: "preVerificationGas"; type: "uint256" }, { internalType: "uint256"; name: "maxFeePerGas"; type: "uint256" }, { internalType: "uint256"; name: "maxPriorityFeePerGas"; type: "uint256" }, { internalType: "bytes"; name: "paymasterAndData"; type: "bytes" }, { internalType: "bytes"; name: "signature"; type: "bytes" }]; internalType: "struct UserOperation"; name: "userOp"; type: "tuple" }, { internalType: "bytes32"; name: "userOpHash"; type: "bytes32" }, { internalType: "uint256"; name: "missingAccountFunds"; type: "uint256" }]; name: "validateUserOp"; outputs: [{ internalType: "uint256"; name: "validationData"; type: "uint256" }]; stateMutability: "nonpayable"; type: "function" }] = _abi