UNPKG

@owlprotocol/contracts-account-abstraction

Version:

ERC4337 Account Abstraction support for deploying relevant smart contracts and interacting with UserOps.

378 lines (376 loc) 14.2 kB
export const DelegateAndRevert = { inputs: [ { internalType: "bool", name: "success", type: "bool" }, { internalType: "bytes", name: "ret", type: "bytes" }, ], name: "DelegateAndRevert", type: "error", } as const; export const FailedOp = { inputs: [ { internalType: "uint256", name: "opIndex", type: "uint256" }, { internalType: "string", name: "reason", type: "string" }, ], name: "FailedOp", type: "error", } as const; export const FailedOpWithRevert = { inputs: [ { internalType: "uint256", name: "opIndex", type: "uint256" }, { internalType: "string", name: "reason", type: "string" }, { internalType: "bytes", name: "inner", type: "bytes" }, ], name: "FailedOpWithRevert", type: "error", } as const; export const PostOpReverted = { inputs: [{ internalType: "bytes", name: "returnData", type: "bytes" }], name: "PostOpReverted", type: "error", } as const; export const SenderAddressResult = { inputs: [{ internalType: "address", name: "sender", type: "address" }], name: "SenderAddressResult", type: "error", } as const; export const SignatureValidationFailed = { inputs: [{ internalType: "address", name: "aggregator", type: "address" }], name: "SignatureValidationFailed", type: "error", } as const; export const AccountDeployed = { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "userOpHash", type: "bytes32" }, { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "address", name: "factory", type: "address" }, { indexed: false, internalType: "address", name: "paymaster", type: "address" }, ], name: "AccountDeployed", type: "event", } as const; export const BeforeExecution = { anonymous: false, inputs: [], name: "BeforeExecution", type: "event" } as const; export const Deposited = { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "account", type: "address" }, { indexed: false, internalType: "uint256", name: "totalDeposit", type: "uint256" }, ], name: "Deposited", type: "event", } as const; export const PostOpRevertReason = { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "userOpHash", type: "bytes32" }, { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "uint256", name: "nonce", type: "uint256" }, { indexed: false, internalType: "bytes", name: "revertReason", type: "bytes" }, ], name: "PostOpRevertReason", type: "event", } as const; export const SignatureAggregatorChanged = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "aggregator", type: "address" }], name: "SignatureAggregatorChanged", type: "event", } as const; export const StakeLocked = { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "account", type: "address" }, { indexed: false, internalType: "uint256", name: "totalStaked", type: "uint256" }, { indexed: false, internalType: "uint256", name: "unstakeDelaySec", type: "uint256" }, ], name: "StakeLocked", type: "event", } as const; export const StakeUnlocked = { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "account", type: "address" }, { indexed: false, internalType: "uint256", name: "withdrawTime", type: "uint256" }, ], name: "StakeUnlocked", type: "event", } as const; export const StakeWithdrawn = { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "account", type: "address" }, { indexed: false, internalType: "address", name: "withdrawAddress", type: "address" }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256" }, ], name: "StakeWithdrawn", type: "event", } as const; export const UserOperationEvent = { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "userOpHash", type: "bytes32" }, { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: true, internalType: "address", name: "paymaster", type: "address" }, { indexed: false, internalType: "uint256", name: "nonce", type: "uint256" }, { indexed: false, internalType: "bool", name: "success", type: "bool" }, { indexed: false, internalType: "uint256", name: "actualGasCost", type: "uint256" }, { indexed: false, internalType: "uint256", name: "actualGasUsed", type: "uint256" }, ], name: "UserOperationEvent", type: "event", } as const; export const UserOperationPrefundTooLow = { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "userOpHash", type: "bytes32" }, { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "uint256", name: "nonce", type: "uint256" }, ], name: "UserOperationPrefundTooLow", type: "event", } as const; export const UserOperationRevertReason = { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "userOpHash", type: "bytes32" }, { indexed: true, internalType: "address", name: "sender", type: "address" }, { indexed: false, internalType: "uint256", name: "nonce", type: "uint256" }, { indexed: false, internalType: "bytes", name: "revertReason", type: "bytes" }, ], name: "UserOperationRevertReason", type: "event", } as const; export const Withdrawn = { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "account", type: "address" }, { indexed: false, internalType: "address", name: "withdrawAddress", type: "address" }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256" }, ], name: "Withdrawn", type: "event", } as const; export const addStake = { inputs: [{ internalType: "uint32", name: "_unstakeDelaySec", type: "uint32" }], name: "addStake", outputs: [], stateMutability: "payable", type: "function", } as const; export const balanceOf = { inputs: [{ internalType: "address", name: "account", type: "address" }], name: "balanceOf", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", } as const; export const delegateAndRevert = { inputs: [ { internalType: "address", name: "target", type: "address" }, { internalType: "bytes", name: "data", type: "bytes" }, ], name: "delegateAndRevert", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const depositTo = { inputs: [{ internalType: "address", name: "account", type: "address" }], name: "depositTo", outputs: [], stateMutability: "payable", type: "function", } as const; export const getDepositInfo = { inputs: [{ internalType: "address", name: "account", type: "address" }], name: "getDepositInfo", outputs: [ { components: [ { internalType: "uint256", name: "deposit", type: "uint256" }, { internalType: "bool", name: "staked", type: "bool" }, { internalType: "uint112", name: "stake", type: "uint112" }, { internalType: "uint32", name: "unstakeDelaySec", type: "uint32" }, { internalType: "uint48", name: "withdrawTime", type: "uint48" }, ], internalType: "struct IStakeManager.DepositInfo", name: "info", type: "tuple", }, ], stateMutability: "view", type: "function", } as const; export const getNonce = { inputs: [ { internalType: "address", name: "sender", type: "address" }, { internalType: "uint192", name: "key", type: "uint192" }, ], name: "getNonce", outputs: [{ internalType: "uint256", name: "nonce", type: "uint256" }], stateMutability: "view", type: "function", } as const; export const getSenderAddress = { inputs: [{ internalType: "bytes", name: "initCode", type: "bytes" }], name: "getSenderAddress", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const getUserOpHash = { 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: "bytes32", name: "accountGasLimits", type: "bytes32" }, { internalType: "uint256", name: "preVerificationGas", type: "uint256" }, { internalType: "bytes32", name: "gasFees", type: "bytes32" }, { internalType: "bytes", name: "paymasterAndData", type: "bytes" }, { internalType: "bytes", name: "signature", type: "bytes" }, ], internalType: "struct PackedUserOperation", name: "userOp", type: "tuple", }, ], name: "getUserOpHash", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function", } as const; export const handleAggregatedOps = { inputs: [ { components: [ { 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: "bytes32", name: "accountGasLimits", type: "bytes32" }, { internalType: "uint256", name: "preVerificationGas", type: "uint256" }, { internalType: "bytes32", name: "gasFees", type: "bytes32" }, { internalType: "bytes", name: "paymasterAndData", type: "bytes" }, { internalType: "bytes", name: "signature", type: "bytes" }, ], internalType: "struct PackedUserOperation[]", name: "userOps", type: "tuple[]", }, { internalType: "contract IAggregator", name: "aggregator", type: "address" }, { internalType: "bytes", name: "signature", type: "bytes" }, ], internalType: "struct IEntryPoint.UserOpsPerAggregator[]", name: "opsPerAggregator", type: "tuple[]", }, { internalType: "address payable", name: "beneficiary", type: "address" }, ], name: "handleAggregatedOps", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const handleOps = { 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: "bytes32", name: "accountGasLimits", type: "bytes32" }, { internalType: "uint256", name: "preVerificationGas", type: "uint256" }, { internalType: "bytes32", name: "gasFees", type: "bytes32" }, { internalType: "bytes", name: "paymasterAndData", type: "bytes" }, { internalType: "bytes", name: "signature", type: "bytes" }, ], internalType: "struct PackedUserOperation[]", name: "ops", type: "tuple[]", }, { internalType: "address payable", name: "beneficiary", type: "address" }, ], name: "handleOps", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const incrementNonce = { inputs: [{ internalType: "uint192", name: "key", type: "uint192" }], name: "incrementNonce", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const unlockStake = { inputs: [], name: "unlockStake", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const withdrawStake = { inputs: [{ internalType: "address payable", name: "withdrawAddress", type: "address" }], name: "withdrawStake", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const withdrawTo = { inputs: [ { internalType: "address payable", name: "withdrawAddress", type: "address" }, { internalType: "uint256", name: "withdrawAmount", type: "uint256" }, ], name: "withdrawTo", outputs: [], stateMutability: "nonpayable", type: "function", } as const; export const functions = [ addStake, balanceOf, delegateAndRevert, depositTo, getDepositInfo, getNonce, getSenderAddress, getUserOpHash, handleAggregatedOps, handleOps, incrementNonce, unlockStake, withdrawStake, withdrawTo, ] as const; export const events = [ AccountDeployed, BeforeExecution, Deposited, PostOpRevertReason, SignatureAggregatorChanged, StakeLocked, StakeUnlocked, StakeWithdrawn, UserOperationEvent, UserOperationPrefundTooLow, UserOperationRevertReason, Withdrawn, ] as const; export const errors = [ DelegateAndRevert, FailedOp, FailedOpWithRevert, PostOpReverted, SenderAddressResult, SignatureValidationFailed, ] as const; export const abi = [...functions, ...events, ...errors] as const; export const IEntryPoint = { abi, };