UNPKG

@etherspot/prime-sdk

Version:

Etherspot Prime (Account Abstraction) SDK

699 lines (698 loc) 45 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common"; export type UserOperationStruct = { sender: PromiseOrValue<string>; nonce: PromiseOrValue<BigNumberish>; initCode: PromiseOrValue<BytesLike>; callData: PromiseOrValue<BytesLike>; callGasLimit: PromiseOrValue<BigNumberish>; verificationGasLimit: PromiseOrValue<BigNumberish>; preVerificationGas: PromiseOrValue<BigNumberish>; maxFeePerGas: PromiseOrValue<BigNumberish>; maxPriorityFeePerGas: PromiseOrValue<BigNumberish>; paymasterAndData: PromiseOrValue<BytesLike>; signature: PromiseOrValue<BytesLike>; }; export type UserOperationStructOutput = [ string, BigNumber, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { sender: string; nonce: BigNumber; initCode: string; callData: string; callGasLimit: BigNumber; verificationGasLimit: BigNumber; preVerificationGas: BigNumber; maxFeePerGas: BigNumber; maxPriorityFeePerGas: BigNumber; paymasterAndData: string; signature: string; }; export interface EtherspotWalletInterface extends utils.Interface { functions: { "addDeposit()": FunctionFragment; "addGuardian(address)": FunctionFragment; "addOwner(address)": FunctionFragment; "changeProposalTimelock(uint256)": FunctionFragment; "discardCurrentProposal()": FunctionFragment; "entryPoint()": FunctionFragment; "execute(address,uint256,bytes)": FunctionFragment; "executeBatch(address[],uint256[],bytes[])": FunctionFragment; "getDeposit()": FunctionFragment; "getNonce()": FunctionFragment; "getProposal(uint256)": FunctionFragment; "guardianCosign()": FunctionFragment; "guardianCount()": FunctionFragment; "guardianPropose(address)": FunctionFragment; "initialize(address)": FunctionFragment; "isGuardian(address)": FunctionFragment; "isOwner(address)": FunctionFragment; "isValidSignature(bytes32,bytes)": FunctionFragment; "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; "onERC721Received(address,address,uint256,bytes)": FunctionFragment; "ownerCount()": FunctionFragment; "proposalId()": FunctionFragment; "proposalTimelock()": FunctionFragment; "proxiableUUID()": FunctionFragment; "removeGuardian(address)": FunctionFragment; "removeOwner(address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "tokensReceived(address,address,address,uint256,bytes,bytes)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "validateUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": FunctionFragment; "withdrawDepositTo(address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addDeposit" | "addGuardian" | "addOwner" | "changeProposalTimelock" | "discardCurrentProposal" | "entryPoint" | "execute" | "executeBatch" | "getDeposit" | "getNonce" | "getProposal" | "guardianCosign" | "guardianCount" | "guardianPropose" | "initialize" | "isGuardian" | "isOwner" | "isValidSignature" | "onERC1155BatchReceived" | "onERC1155Received" | "onERC721Received" | "ownerCount" | "proposalId" | "proposalTimelock" | "proxiableUUID" | "removeGuardian" | "removeOwner" | "supportsInterface" | "tokensReceived" | "upgradeTo" | "upgradeToAndCall" | "validateUserOp" | "withdrawDepositTo"): FunctionFragment; encodeFunctionData(functionFragment: "addDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "addGuardian", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "addOwner", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "changeProposalTimelock", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "discardCurrentProposal", values?: undefined): string; encodeFunctionData(functionFragment: "entryPoint", values?: undefined): string; encodeFunctionData(functionFragment: "execute", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "executeBatch", values: [ PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[], PromiseOrValue<BytesLike>[] ]): string; encodeFunctionData(functionFragment: "getDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "getNonce", values?: undefined): string; encodeFunctionData(functionFragment: "getProposal", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "guardianCosign", values?: undefined): string; encodeFunctionData(functionFragment: "guardianCount", values?: undefined): string; encodeFunctionData(functionFragment: "guardianPropose", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "isGuardian", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "isOwner", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "isValidSignature", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "onERC1155BatchReceived", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[], PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "onERC1155Received", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "onERC721Received", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "ownerCount", values?: undefined): string; encodeFunctionData(functionFragment: "proposalId", values?: undefined): string; encodeFunctionData(functionFragment: "proposalTimelock", values?: undefined): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "removeGuardian", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "removeOwner", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "tokensReceived", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "validateUserOp", values: [ UserOperationStruct, PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "withdrawDepositTo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; decodeFunctionResult(functionFragment: "addDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeProposalTimelock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "discardCurrentProposal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "entryPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; decodeFunctionResult(functionFragment: "executeBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProposal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guardianCosign", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guardianCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guardianPropose", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isValidSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC1155BatchReceived", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC1155Received", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ownerCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proposalId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proposalTimelock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokensReceived", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateUserOp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawDepositTo", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "EtherspotWalletInitialized(address,address)": EventFragment; "EtherspotWalletReceived(address,uint256)": EventFragment; "GuardianAdded(address)": EventFragment; "GuardianRemoved(address)": EventFragment; "Initialized(uint8)": EventFragment; "OwnerAdded(address)": EventFragment; "OwnerRemoved(address)": EventFragment; "ProposalDiscarded(uint256,address)": EventFragment; "ProposalSubmitted(uint256,address,address)": EventFragment; "ProposalTimelockChanged(uint256)": EventFragment; "QuorumNotReached(uint256,address,uint256)": EventFragment; "Upgraded(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "EtherspotWalletInitialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "EtherspotWalletReceived"): EventFragment; getEvent(nameOrSignatureOrTopic: "GuardianAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "GuardianRemoved"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnerAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnerRemoved"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProposalDiscarded"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProposalSubmitted"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProposalTimelockChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "QuorumNotReached"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>; export interface BeaconUpgradedEventObject { beacon: string; } export type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>; export interface EtherspotWalletInitializedEventObject { entryPoint: string; owner: string; } export type EtherspotWalletInitializedEvent = TypedEvent<[ string, string ], EtherspotWalletInitializedEventObject>; export type EtherspotWalletInitializedEventFilter = TypedEventFilter<EtherspotWalletInitializedEvent>; export interface EtherspotWalletReceivedEventObject { from: string; amount: BigNumber; } export type EtherspotWalletReceivedEvent = TypedEvent<[ string, BigNumber ], EtherspotWalletReceivedEventObject>; export type EtherspotWalletReceivedEventFilter = TypedEventFilter<EtherspotWalletReceivedEvent>; export interface GuardianAddedEventObject { newGuardian: string; } export type GuardianAddedEvent = TypedEvent<[string], GuardianAddedEventObject>; export type GuardianAddedEventFilter = TypedEventFilter<GuardianAddedEvent>; export interface GuardianRemovedEventObject { removedGuardian: string; } export type GuardianRemovedEvent = TypedEvent<[ string ], GuardianRemovedEventObject>; export type GuardianRemovedEventFilter = TypedEventFilter<GuardianRemovedEvent>; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter<InitializedEvent>; export interface OwnerAddedEventObject { newOwner: string; } export type OwnerAddedEvent = TypedEvent<[string], OwnerAddedEventObject>; export type OwnerAddedEventFilter = TypedEventFilter<OwnerAddedEvent>; export interface OwnerRemovedEventObject { removedOwner: string; } export type OwnerRemovedEvent = TypedEvent<[string], OwnerRemovedEventObject>; export type OwnerRemovedEventFilter = TypedEventFilter<OwnerRemovedEvent>; export interface ProposalDiscardedEventObject { proposalId: BigNumber; discardedBy: string; } export type ProposalDiscardedEvent = TypedEvent<[ BigNumber, string ], ProposalDiscardedEventObject>; export type ProposalDiscardedEventFilter = TypedEventFilter<ProposalDiscardedEvent>; export interface ProposalSubmittedEventObject { proposalId: BigNumber; newOwnerProposed: string; proposer: string; } export type ProposalSubmittedEvent = TypedEvent<[ BigNumber, string, string ], ProposalSubmittedEventObject>; export type ProposalSubmittedEventFilter = TypedEventFilter<ProposalSubmittedEvent>; export interface ProposalTimelockChangedEventObject { newTimelock: BigNumber; } export type ProposalTimelockChangedEvent = TypedEvent<[ BigNumber ], ProposalTimelockChangedEventObject>; export type ProposalTimelockChangedEventFilter = TypedEventFilter<ProposalTimelockChangedEvent>; export interface QuorumNotReachedEventObject { proposalId: BigNumber; newOwnerProposed: string; approvalCount: BigNumber; } export type QuorumNotReachedEvent = TypedEvent<[ BigNumber, string, BigNumber ], QuorumNotReachedEventObject>; export type QuorumNotReachedEventFilter = TypedEventFilter<QuorumNotReachedEvent>; export interface UpgradedEventObject { implementation: string; } export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>; export interface EtherspotWallet extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: EtherspotWalletInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addGuardian(_newGuardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addOwner(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; changeProposalTimelock(_newTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; entryPoint(overrides?: CallOverrides): Promise<[string]>; execute(dest: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, func: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; executeBatch(dest: PromiseOrValue<string>[], value: PromiseOrValue<BigNumberish>[], func: PromiseOrValue<BytesLike>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getDeposit(overrides?: CallOverrides): Promise<[BigNumber]>; getNonce(overrides?: CallOverrides): Promise<[BigNumber]>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ string, BigNumber, string[], boolean, BigNumber ] & { ownerProposed_: string; approvalCount_: BigNumber; guardiansApproved_: string[]; resolved_: boolean; proposedAt_: BigNumber; }>; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; guardianCount(overrides?: CallOverrides): Promise<[BigNumber]>; guardianPropose(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; initialize(anOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; isGuardian(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; isOwner(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; isValidSignature(hash: PromiseOrValue<BytesLike>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; ownerCount(overrides?: CallOverrides): Promise<[BigNumber]>; proposalId(overrides?: CallOverrides): Promise<[BigNumber]>; proposalTimelock(overrides?: CallOverrides): Promise<[BigNumber]>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; removeGuardian(_guardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; removeOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>; tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[void]>; upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawDepositTo(withdrawAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addGuardian(_newGuardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; addOwner(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; changeProposalTimelock(_newTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; entryPoint(overrides?: CallOverrides): Promise<string>; execute(dest: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, func: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; executeBatch(dest: PromiseOrValue<string>[], value: PromiseOrValue<BigNumberish>[], func: PromiseOrValue<BytesLike>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getDeposit(overrides?: CallOverrides): Promise<BigNumber>; getNonce(overrides?: CallOverrides): Promise<BigNumber>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ string, BigNumber, string[], boolean, BigNumber ] & { ownerProposed_: string; approvalCount_: BigNumber; guardiansApproved_: string[]; resolved_: boolean; proposedAt_: BigNumber; }>; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; guardianCount(overrides?: CallOverrides): Promise<BigNumber>; guardianPropose(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; initialize(anOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; isGuardian(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isOwner(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isValidSignature(hash: PromiseOrValue<BytesLike>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; ownerCount(overrides?: CallOverrides): Promise<BigNumber>; proposalId(overrides?: CallOverrides): Promise<BigNumber>; proposalTimelock(overrides?: CallOverrides): Promise<BigNumber>; proxiableUUID(overrides?: CallOverrides): Promise<string>; removeGuardian(_guardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; removeOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>; upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; withdrawDepositTo(withdrawAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { addDeposit(overrides?: CallOverrides): Promise<void>; addGuardian(_newGuardian: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; addOwner(_newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; changeProposalTimelock(_newTimelock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; discardCurrentProposal(overrides?: CallOverrides): Promise<void>; entryPoint(overrides?: CallOverrides): Promise<string>; execute(dest: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, func: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>; executeBatch(dest: PromiseOrValue<string>[], value: PromiseOrValue<BigNumberish>[], func: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<void>; getDeposit(overrides?: CallOverrides): Promise<BigNumber>; getNonce(overrides?: CallOverrides): Promise<BigNumber>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ string, BigNumber, string[], boolean, BigNumber ] & { ownerProposed_: string; approvalCount_: BigNumber; guardiansApproved_: string[]; resolved_: boolean; proposedAt_: BigNumber; }>; guardianCosign(overrides?: CallOverrides): Promise<void>; guardianCount(overrides?: CallOverrides): Promise<BigNumber>; guardianPropose(_newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; initialize(anOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; isGuardian(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isOwner(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; isValidSignature(hash: PromiseOrValue<BytesLike>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; ownerCount(overrides?: CallOverrides): Promise<BigNumber>; proposalId(overrides?: CallOverrides): Promise<BigNumber>; proposalTimelock(overrides?: CallOverrides): Promise<BigNumber>; proxiableUUID(overrides?: CallOverrides): Promise<string>; removeGuardian(_guardian: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; removeOwner(_owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>; upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>; validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; withdrawDepositTo(withdrawAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter; "EtherspotWalletInitialized(address,address)"(entryPoint?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null): EtherspotWalletInitializedEventFilter; EtherspotWalletInitialized(entryPoint?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null): EtherspotWalletInitializedEventFilter; "EtherspotWalletReceived(address,uint256)"(from?: PromiseOrValue<string> | null, amount?: PromiseOrValue<BigNumberish> | null): EtherspotWalletReceivedEventFilter; EtherspotWalletReceived(from?: PromiseOrValue<string> | null, amount?: PromiseOrValue<BigNumberish> | null): EtherspotWalletReceivedEventFilter; "GuardianAdded(address)"(newGuardian?: null): GuardianAddedEventFilter; GuardianAdded(newGuardian?: null): GuardianAddedEventFilter; "GuardianRemoved(address)"(removedGuardian?: null): GuardianRemovedEventFilter; GuardianRemoved(removedGuardian?: null): GuardianRemovedEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "OwnerAdded(address)"(newOwner?: null): OwnerAddedEventFilter; OwnerAdded(newOwner?: null): OwnerAddedEventFilter; "OwnerRemoved(address)"(removedOwner?: null): OwnerRemovedEventFilter; OwnerRemoved(removedOwner?: null): OwnerRemovedEventFilter; "ProposalDiscarded(uint256,address)"(proposalId?: null, discardedBy?: null): ProposalDiscardedEventFilter; ProposalDiscarded(proposalId?: null, discardedBy?: null): ProposalDiscardedEventFilter; "ProposalSubmitted(uint256,address,address)"(proposalId?: null, newOwnerProposed?: null, proposer?: null): ProposalSubmittedEventFilter; ProposalSubmitted(proposalId?: null, newOwnerProposed?: null, proposer?: null): ProposalSubmittedEventFilter; "ProposalTimelockChanged(uint256)"(newTimelock?: null): ProposalTimelockChangedEventFilter; ProposalTimelockChanged(newTimelock?: null): ProposalTimelockChangedEventFilter; "QuorumNotReached(uint256,address,uint256)"(proposalId?: null, newOwnerProposed?: null, approvalCount?: null): QuorumNotReachedEventFilter; QuorumNotReached(proposalId?: null, newOwnerProposed?: null, approvalCount?: null): QuorumNotReachedEventFilter; "Upgraded(address)"(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter; Upgraded(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter; }; estimateGas: { addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; addGuardian(_newGuardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; addOwner(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; changeProposalTimelock(_newTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; entryPoint(overrides?: CallOverrides): Promise<BigNumber>; execute(dest: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, func: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; executeBatch(dest: PromiseOrValue<string>[], value: PromiseOrValue<BigNumberish>[], func: PromiseOrValue<BytesLike>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getDeposit(overrides?: CallOverrides): Promise<BigNumber>; getNonce(overrides?: CallOverrides): Promise<BigNumber>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; guardianCount(overrides?: CallOverrides): Promise<BigNumber>; guardianPropose(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; initialize(anOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; isGuardian(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isOwner(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; isValidSignature(hash: PromiseOrValue<BytesLike>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; ownerCount(overrides?: CallOverrides): Promise<BigNumber>; proposalId(overrides?: CallOverrides): Promise<BigNumber>; proposalTimelock(overrides?: CallOverrides): Promise<BigNumber>; proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>; removeGuardian(_guardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; removeOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>; upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; withdrawDepositTo(withdrawAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; }; populateTransaction: { addDeposit(overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; addGuardian(_newGuardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; addOwner(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; changeProposalTimelock(_newTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; discardCurrentProposal(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; entryPoint(overrides?: CallOverrides): Promise<PopulatedTransaction>; execute(dest: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, func: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; executeBatch(dest: PromiseOrValue<string>[], value: PromiseOrValue<BigNumberish>[], func: PromiseOrValue<BytesLike>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getDeposit(overrides?: CallOverrides): Promise<PopulatedTransaction>; getNonce(overrides?: CallOverrides): Promise<PopulatedTransaction>; getProposal(_proposalId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; guardianCosign(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; guardianCount(overrides?: CallOverrides): Promise<PopulatedTransaction>; guardianPropose(_newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; initialize(anOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; isGuardian(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; isOwner(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; isValidSignature(hash: PromiseOrValue<BytesLike>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; ownerCount(overrides?: CallOverrides): Promise<PopulatedTransaction>; proposalId(overrides?: CallOverrides): Promise<PopulatedTransaction>; proposalTimelock(overrides?: CallOverrides): Promise<PopulatedTransaction>; proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>; removeGuardian(_guardian: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; removeOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>; upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; withdrawDepositTo(withdrawAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; }; }